Jump to content
  • 0

[Apparent Bug] Ancient Memory gets ditched as soon as you cast your 1st invocation


colfirefly

Question

25 answers to this question

Recommended Posts

  • 0

Could you attach a saved game that exhibits the issue and your output log file?

QA will request those anyway ;)

"Time is not your enemy. Forever is."

— Fall-From-Grace, Planescape: Torment

"It's the questions we can't answer that teach us the most. They teach us how to think. If you give a man an answer, all he gains is a little fact. But give him a question, and he'll look for his own answers."

— Kvothe, The Wise Man's Fears

My Deadfire mods: Brilliant Mod | Faster Deadfire | Deadfire Unnerfed | Helwalker Rekke | Permanent Per-Rest Bonuses | PoE Items for Deadfire | No Recyled Icons | Soul Charged Nautilus

 

Link to comment
Share on other sites

  • 0

Sorry, I respecced my character out of the talent once I experienced how bad it was.

 

I'll respec back when I have the chance.

 

This issue goes to the mechanics of Chanters though.  I noticed that Invocations always interrupt the chanting of phrases since the original release.  You can see clearly in Chanter logs that after an Invocation they start chanting all over again.

Link to comment
Share on other sites

  • 0

I just tested this and I'm getting the same results as colfirefly (at least according to the combat log). The chanter will start his first chant and soon afterwards Ancient Memory starts affecting the party (log mentions this every time it affects the party). After his third chant he casts his spell and when that spell goes off the log specifically states he stop stops his chant.  The log will say when he starts the chant again, but for the remainder of the fight Ancient Memory does NOT affect the party.  Here's the save file prior to a combat - attack the trolls to the NW to test.

 

https://www.dropbox.com/s/z7kr2805n6ju9bk/84e63f4e-14fa-44ff-b518-a0ea818ca7c2%20quicksave.savegame?dl=0

 

Here's the output log

 

https://www.dropbox.com/s/n6lacgnoi9ki6q4/output_log.txt?dl=0

  • Like 1
Link to comment
Share on other sites

  • 0

This remains current as of 2.0.1, making the Ancient Memory talent completely useless.

 

It is the result of things working as designed in the 2.0 revamp of systems and can be seen in any game using a Chanter with Ancient Memory, though it is certainly not working as intended at the moment, being an innocent victim of an oversight of unintended consequences, no doubt,

 

The talent is supposed to: "Invokes a primal energy, causing allies within range to benefit from constant endurance regeneration while the Chanter is chanting." but that's not how the 2.0 implementation does it.

 

Ancient Memory is currently:

  • Once per encounter, activated by chanting, and
  • Stopped whenever you stop chanting, such as when you use an invocation.

 

It should take less than a second to realize the logical consequences thereof, and, indeed, the game is working exactly as it should given those premises.

 

 

To make it somewhat worthwhile having* and return to 1.0 functionality, it needs to either:

  • Be unlimited in number of activations, or
  • Not stop when you stop chanting.

 

* Well, not really; It is an exceptionally weak talent. But at least in 1.0 it did what its flavour text said.

When I said death before dishonour, I meant it alphabetically.

Link to comment
Share on other sites

  • 0

Year later and this is still not fixed :/

Did Obsidian give up on fixing this talent?

 

Funny how most of the people on the forums praise how great is this talent, not realising it turns off after 10 seconds (stil true as of 3.0.3)

Link to comment
Share on other sites

  • 0

Year later and this is still not fixed :/

Did Obsidian give up on fixing this talent?

 

Funny how most of the people on the forums praise how great is this talent, not realising it turns off after 10 seconds (stil true as of 3.0.3)

 

Yeah wow, I didn't believe you at first so just tested this there now and I can confirm that this bug is still in the game ... and it applies when you swap chants as well!

 

Given the love that this talent seems to have been getting it's really surprising how this went by unnoticed.

 

You can observe it pretty easily by watching for Ancient Memory ticks on damaged characters before and after you cast an invocation/switch chants. Looks like this is a total junk skill until it gets fixed!

Edited by Livegood118
Link to comment
Share on other sites

  • 0

Yeah, it's caused by it being set to "once per encounter". If you stop chanting (due to invocation, being disabled, switching songs) the ability turns of, and won't turn on again that encounter. The reason for this, one assumes, is that it has a finite duration and there isn't a good mechanism (for GenericAbility's) to have a fixed duration across multiple activations. See also my post here: https://forums.obsidian.net/topic/88003-ancient-memory-turning-off-after-spellcasting/?hl=%2Bancient+%2Bmemory

Edited by Loren Tyr
Link to comment
Share on other sites

  • 0

Yeah, it's caused by it being set to "once per encounter". If you stop chanting (due to invocation, being disabled, switching songs) the ability turns of, and won't turn on again that encounter. The reason for this, one assumes, is that it has a finite duration and there isn't a good mechanism (for GenericAbility's) to have a fixed duration across multiple activations. See also my post here: https://forums.obsidian.net/topic/88003-ancient-memory-turning-off-after-spellcasting/?hl=%2Bancient+%2Bmemory

 

Are there any possible workarounds for this in the Unity Asset Bundle Extractor? E.g. going in to the Ancient Memory/Beloved Spirits pre-fab and changing something?

Link to comment
Share on other sites

  • 0

I've never tried that to be honest, so not sure how easy it is to actually modify them. If it is though, I would expect setting the CooldownType on the GenericAbility Monoscript to 0 should do it (it's at 1 now, which means "per encounter"). This would allow it to activate an unlimited number of times per encounter.

Link to comment
Share on other sites

  • 0

I've never tried that to be honest, so not sure how easy it is to actually modify them. If it is though, I would expect setting the CooldownType on the GenericAbility Monoscript to 0 should do it (it's at 1 now, which means "per encounter"). This would allow it to activate an unlimited number of times per encounter.

 

 

Yep - just fixed it. It's the monobehaviour file that's 260 bytes. Changed cooldowntype from 1 to 0 and ancient memory now works after invocations are cast.

 

I'd happily upload the file here for others to use in the mean time if they want to, providing that isn't again Obsidian's TOS.

Edited by Livegood118
Link to comment
Share on other sites

  • 0

Should prolly make backups before you try this. Guidelines are for ancient memory only:

 

1. Find the prefab you want to change and open it in the asset bundle extractor.

2. Export that prefab to a safe location. Save it as whatever1.

3. Open "whatever1" in the asset bundle extractor.

4. Click on the mono behaviour file thats 260 bytes and do an export dump. Save as whatever2. (I'm assuming the monobehaviour file will be the same size)

5. Open that file and change Cooldowntype from 1 to 0 then save it.

6. Open up whatever1 again, select the 260 byte mono-behaviour file and this time import dump whatever 2.

7. Save whatever1 as whatever3.

8. Open the original prefab in the extractor and this time import whatever3. Make sure it's saved as the original file name and is in the original prefabs folder.

 

Then you're dunzo.

 

I'm assuming it's more or less the same process for beloved spirits as well, just the monobehaviour file will be a different size and you'll have to go looking for it.

Edited by Livegood118
Link to comment
Share on other sites

  • 0

Stuff like this gives me hope that once Obsidian are finished developing the game the Community will be able to come together to do a fan-patch that fixes all of the broken stuff that's left. Should be able to make an executable with the asset bundle extractor included that makes all the necessary changes like this one and many more. It's possible to permanently edit NPC companions stats this way as well so I'm sure with enough will someone could create an executable with that too.

Link to comment
Share on other sites

  • 0

Should be possible to more or less fix Confident Aim in this way as well, by the way (not quite, but it'll do). I think the main risk right now is what would happen when the game gets updated, certainly CA will be fixed in 3.04. For new games it'd make no difference, just a matter of restoring the original .unity3d file (if that doesn't get overridden automatically by the update anyway), but for existing saved games it would be potentially problematic (depending on how they are structured).

  • Like 1
Link to comment
Share on other sites

  • 0

Ok, so if you've fixed it this way it's probably a good idea to:

 

- turn off auto updates

- verify integrity of game cache

 

Before installing the next update?

 

At which point you then re-insert your changes.

 

Maybe it verifies the game cache off the new version ...

Link to comment
Share on other sites

  • 0

It's really really sad that two nice guys in this forum manage to fix a bug so quickly which is in the game for more than a year - and OBS can't. Come on, OBS, seriously?

 

I didn't realize that this bug is there because I mainly use tanky, passive chanters who only chant "The Dragon Thrashed" all the time and don't use invocations at all. Ok, cool, for those chanters this bug is no problem - but for any other chanter it's very bad. I don't get it why this isn't fixed.  

Deadfire Community Patch: Nexus Mods

Link to comment
Share on other sites

  • 0

I have tested and confirm that Confident Aim can (more or less) be fixed via this route. There is a slight snag though, which applies more generally: editing the confidentaim.unity3d file itself doesn't help; the confidentaim prefab is actually embedded into the fighterabilityprogressiontable prefab, it needs to be changed there. Moreover, the CA prefab is also embedded into fighter NPC prefabs, I don't think the CA prefab file itself is actually directly referenced by the game (can't be sure though, it still might do on some occasions). Obviously this is likely to apply to most other things one might want to edit as well, editing the base file will often not be enough (especially for carrying the changes over to NPCs). 

Link to comment
Share on other sites

  • 0

I have tested and confirm that Confident Aim can (more or less) be fixed via this route. There is a slight snag though, which applies more generally: editing the confidentaim.unity3d file itself doesn't help; the confidentaim prefab is actually embedded into the fighterabilityprogressiontable prefab, it needs to be changed there. Moreover, the CA prefab is also embedded into fighter NPC prefabs, I don't think the CA prefab file itself is actually directly referenced by the game (can't be sure though, it still might do on some occasions). Obviously this is likely to apply to most other things one might want to edit as well, editing the base file will often not be enough (especially for carrying the changes over to NPCs). 

 

Interesting. So – say we wanted to get confident aim to work properly on Eder – you would have to edit the Eder prefab rather than the CA prefab?

Edited by Livegood118
Link to comment
Share on other sites

  • 0

That probably depends on whether you use auto-leveling. I tested this on Eder and only edited the fighterabilityprogressiontable (I had restored the confidentaim prefab to its original state at this point), but I always have auto-level turned off. But looking at the ederabilityprogressiontable, this also contains Confident Aim, so presumably with auto-level on it'll grab that instead. 

 

The fix itself is just a matter of first finding the right Monoscript in the prefab file. Easiest is to go through the Confident Aim GameObject, it's the second component (ie. index 1). This also shows the Path ID to the corresponding Monoscript. In that Monoscript, in the second of the StatusEffects, the Value parameter needs to be changed from 1.2 to 0.2. The CA bug is essentially that for a Value = X = 1.2, on adding the talent the minimum damage multiplier Y initially gets (correctly) set to Y = 1 * X = 1.2; but on load it gets set to Y = 1 + X = 2.2. Therefore, changing it to X = 0.2 gets you an initial Y = 0.2 but Y = 1.2 after save and load.

 

Anyway, the fix isn't perfect, but it does make Confident Aim normally usable again. For enemy fighters with CA it doesn't work of course. I'm assuming that when you first encounter them they are instantiated from the prefab and should have the multiplier given there, so at that moment the correct 1.2. These will presumably be scrambled on reload to 2.2 as well, so it depends on at what point you fight them whether they get a power boost or not. Changing their embedded CA prefab would just reverse that though: they'd initially be underpowered with a multiplier of 0.2 and get the correct 1.2 if any reloading was done. 

 

Personally, I'm inclined to wait for 3.04 before implementing these kinds of changes (CA should certainly be fixed then). It's good to know we have the option, though.

Link to comment
Share on other sites

  • 0

For anyone wondering why this is happening: broken game design(can't blame Obsidian, they're more of Literature majors, not Game Design majors).

 

See, the casting of Invocations stops your character from reciting a phrase. This can be clearly observed by creating a Chanter and playing him for like 15 minutes(time it takes to meet the Grand Inquisitor). Then go to the...area before the Gilded Vale and attack that solitary female Bandit. Start reciting, stack 3 phrases and cast, say, Hely-Hyraf. You'll see something of this type:

 

< character name > applies < phrase name >

< CN > applies Ancient Memory < Additional Effects >

< CN > casts "And Hel-Hyraf crushed upon the shield" < Additional Effects >

< CN > starts using / chanting < phrase name >

 

Which means you actually stopped the previous chant and begun using a new one. Meanwhile, if you take a look at Ancient Memory, you'll notice it has "1 use per encounter" meaning once you actually stop using a Chant that activated it, for whatever reason INCLUDING using an Invocation, it is gone for good. So, it is fully intended to work like that. It is not an oversight, I assure you.

 

This reinforces the notion of just using Phrases and mostly forgetting about Invocations. My problem is twofold here:

 

1. There is no middle ground(I am kinda ok with this - forced choice if you will)

2. There is no talent / feat that promotes actual Invocations

 

One very elegant solution to problem 2 would be a feat that lets you use ONE Invocation at the start of combat. I feel that'd make Chanter not so much effective as more elegant(as opposed to merely functional) to use. Maybe then Obsidian / modders could make AM more powerful as well. Ah, it's nice to dream, innit?

Link to comment
Share on other sites

  • 0

Well yes, that was clear already. Doesn't mean it wasn't an oversight, though. As far as I know it was a later change when adding finite duration to it, the way it's implemented now is the simplest way to do that. It is very well possible that the single activation issue hadn't occurred to them, and they didn't test extensively enough to notice. 

 

This reinforces the notion of just using Phrases and mostly forgetting about Invocations. My problem is twofold here:

 

1. There is no middle ground(I am kinda ok with this - forced choice if you will)

2. There is no talent / feat that promotes actual Invocations

 

One very elegant solution to problem 2 would be a feat that lets you use ONE Invocation at the start of combat. I feel that'd make Chanter not so much effective as more elegant(as opposed to merely functional) to use. Maybe then Obsidian / modders could make AM more powerful as well. Ah, it's nice to dream, innit?

 

Invocations are plenty powerful on their own without needing additional promotion. The only issue here is with the Ancient Memory (and Beloved Spirits) talent. The elegant solution to that would simply be to remove the "once per encounter" / "finite duration" from it (essentially reverting it to its v1.0 state, if I recall correctly). An intermediate solution would be to remove the "once per encounter" but stretch the finite duration across multiple activations, but that would take considerably more work because the standard GenericAbility implementation does not support it. 

 

Absent any changes, the most sensible solution would be to simply not take Ancient Memory unless you're using the kind of tanky, long-phrase chanter Boeroer mentioned. 

Edited by Loren Tyr
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...