chadvandy / cbfm_wh3

Community Bug-Fix Mod for Warhammer III. Please feel free to make pull requests, issues, etc!
40 stars 32 forks source link

Oxyotl's Silent Sanctum ability Sotek's Sanctum deals insane damage #1923

Open allenhu0912 opened 1 month ago

allenhu0912 commented 1 month ago

I'm not sure how or why it happens, but it will often delete entire infantry units almost instantly (<5 seconds) which is way more damage than what the tooltip suggests (75-150 to 25+ entity units). A post on the CA bug report forum blames this on the contact effect continuously refreshing and immediately applying the first tick of damage when a unit stands on top of the poison. From my personal observation the damage seems to be normal when the enemy unit walks out of the poison, but if they still have living entities standing inside they take insane damage, the more entities the greater the damage.

mfvreeland commented 1 month ago

Can you link to the bug report on the forum?

allenhu0912 commented 1 month ago

https://community.creative-assembly.com/total-war/total-war-warhammer/bugs/3058-poison-of-sotek-damage-bug?page=1

mfvreeland commented 1 month ago

Are you using a unit scale lower than ultra? According to CA_Liam on that report, improper damage scaling with unit size may be the crux of the issue, in which case we will need to wait for CA to fix this.

allenhu0912 commented 1 month ago

No I'm playing at ultra. I suspect that there might be some sort of confusion in that post, since there are multiple similar abilities. Tehenhauin's faction can get a similar army ability (I haven't tried it out yet in WH3), Ark of Sotek Bastiladons get a weaker version of the ability (did not seem buggy when I tried it in my campaign), and Oxyotl can get an army ability with his Silent Sanctums (instantly annihilates anything that stays standing within the poison, normal damage if they walk out of it). All of them are called something similar to "Sotek's poison" and the bug report on CA's forum is pretty ambiguous about which one they're referring to. I can make a few screenshots if it's not clear.

There have been other bug reports about damaging effects not working under ultra (e.g. Treeman mortis engine effect from wood elf tech tree doing no damage) on their forums so I guess CA might have just jumped to an assumption.

mfvreeland commented 1 month ago

Looking through the DB, I can't tell why this ability would be acting the way it's being described. It sets up an immobile vortex that does no direct damage at all but instead applies a contact effect to any unit in the vortex. This contact effect should apply 8 damage to up to 25 entities (per unit) every two seconds. The Jungle Swarm ability, which IIRC is common to all Lizardmen after using a certain rite, is set up almost exactly the same, except that the damage profile for its contact effect is only 5 damage to up to 15 entities every two seconds. Is it possible that Oxyotl's version is just overtuned?

It may be worth checking the unit card for any unit that is currently being affected by this contact effect. My only thought would be that maybe it keeps getting reapplied, so it stacks multiple versions of the same contact effect, but I don't know of any other contact effect that works this way.

allenhu0912 commented 1 month ago

Jungle Swarm is the ability Tehenhauin can buy with sacrifices IIRC. I'm not sure about Jungle Swarm but I don't think Oxyotl's ability is numerically overtuned since it should have similar damage output to Flock of Doom, but it's incredibly obvious that it deals way more damage. I have been looking at the unit card, basically if there are living entities standing in the poison the contact effect gets refreshed constantly (visually, it looks like the duration is stuck at 11 seconds remaining). My best guess is that somehow the damage effect deals one tick of damage immediately upon applying the contact effect, and since the contact effect is continuously and rapidly reapplied if there's living entities standing in the poison, they get annihilated instantly. I can't think of any way to prove or disprove this guess though.

mfvreeland commented 1 month ago

If you have the ability to test this easily, can you try with the below .pack active? Just move to data folder and change the extension from .patch to .pack. All I've done is change the active time on the ability to 28 seconds, which matches the duration of the vortex. This is how the jungle swarm ability is set up, but Oxyotl's version for some reason had a mismatch of 20 seconds active for a 28-second vortex. This is just a hunch, but it may be what's causing this to trip out while jungle swarm works ok.

sotek_test.patch

allenhu0912 commented 1 month ago

Screenshots before and after installing the pack file

Before: Start of cast 20240729175218_1 2 seconds later 20240729175228_1 4 seconds later 20240729175400_1

After: Start of cast 20240729182041_1 2 seconds later 20240729182049_1 6 seconds later 20240729182105_1 12 seconds later 20240729182113_1

I don't think the pack file made a difference. In both cases I used the feral cold ones summon to keep the chaos knights in place but this far exceeds what damage they could possibly do. The damage the knights take are a bit different but this is mostly due to different number of entities caught in the poison AoE. In either case you can see that even with AI trying to run out of the AoE the knights are taking ridiculous damage.

Note that after the knights leave the AoE the damage is what you would expect. Here they take ~100 damage over one second. 20240729182544_1 20240729182546_1

mfvreeland commented 1 month ago

So much for my hunch. I see what you mean -- it definitely looks bugged -- but honestly I have no idea why. I don't see how this could be bugged when the regular "jungle swarm" ability is not, as they both work in exactly the same way just with slightly different numbers. I am at a loss.

The damage is supposed to only apply once every two seconds. Is it doing that (just in huge chunks), or does it seem to go down constantly?

allenhu0912 commented 1 month ago

During the buggy portion the HP drops extremely fast (i.e. much faster than once per second), the non-buggy portion at the end is one second per tick as expected.

It also might be worth noting that I remember this ability being fine in WH2, but it's been bugged ever since IE released.