The group “T01 Dragons” has Voarag, Waervaer, and 2 lizardmen elites. When the dragon-group is finished off ->
Group “T01 Field” has Lazlo, Pitney, and Ginni (set in the ClientEnter script). Lazlo should try to initiate dialog. But if ‘bDragonDeal’ is true, Lazlo is set scripthidden and the gate opens automatically.
else, Lazlo’s dialog, t01_fieldlazlo, has nodes that (a) unlock the door inside WestHarbor to the player’s trading post and (b) fires t01_a_destroy_fieldgroup, which executes script t01_a_gate_open but doesn’t destroy the fieldgroup. :|
long story short, i don’t want to change anything without knowing exactly where it failed. My best guess is GroupOnDeath* or GroupResurrect … while i have seen group-functs fail (pseudo-randomly), it also seems odd that GroupResurrect() assigns the command to the dead party member, to resurrect itself
Yeah, Lazy Lazlo pushed up daisies for about ten real-time minutes while I was taking screenshots and looking to see if it had happened to anyone else. I wanted to use a Raise Dead scroll the monk carried, but his UMD isn’t high enough, yet.
Did anyone ever fix the problem with the Siege Towers some time screwing up?
(" . . . Towers land on the wall, but don’t discharge any enemies (they are supposed to “produce” a lot of undead). You can’t destroy them - you can damage them only till the “Near Death” condition. That’s it.")
I don’t think the siege towers have been modified (yet). Personally i haven’t seen the immortal undead… but i have seen a tower or two stop before it gets to the wall – both of which strike me as game-breaking
Note that this change does NOT fix scripts that have already been compiled.
I did a search over all the scripts in the stock game (inlcuding all modules and campaigns, I have them all unpacked) and there’s only one script that uses that function: ga_take_item. It’s worth recompiling it.
In the link it says, “… this is done to prevent the damage immunity overflow bug that turns them into vulnerabilities once they go past 100%”. Can you elaborate on this for me, as it may have bearing on some of my own coding for module 2?
I mean could you give an example of how this happens. For instance, if a creature has 100% damage immunity, how can it go past/higher than 100% to cause a problem? Or are we talking about 100% of something else?
In some of my testing for module 2 (where I need to apply this at various percentages at different times), the effect appears to work fine. (I remove it and add a new level as required.) So, again, I am not fully understanding where and how this is a problem.
EDIT REMOVED AS I HAD SET IT AT 95% (This was to allow additonal types of damage to work that required a minimum of 1 HP “normal” damage to acknowledge any damage is done at all.)
i haven’t looked into it for a long time, so maybe @Clangeddin could give better examples
the bug should/will manifest once you start stacking damage immunities and/or vulnerabilities from multiple items or various sources. (ips and effects?)
a simple example would be trying to stack something with 90% and 20% (of the same immunity type?) – you could end up with only 10% immunity, or a vulnerability instead … I put some effort into trying to figure out exactly what the borked algorithm is (because ya kinda have to know that in order to fix it) but that’s a year ago and i put it on hold
So … changing the Di/Dv to DResist could be a suitable workaround…
(ofc i’m prepared to admit it actually works fine if it turns out it does)
Thanks for the quick response. (I have to shut down my computer in a minute so this may be last post for a while.)
Oh, I see, a kind of stacking issue … So, if that is the case, I would have thought it better to have some kind of “stack level” check in place that simply keeps track of how much the stack is at, or if it does go above 100%, then simply limit to 100% - even if the check involves removing and adding back a new effect.
But maybe that would be too involved … I don’t know for sure.
So, when I get the time, I could check if this bug should manifests if I tried to apply 70% plus 70% immunity, which would result in only a 40% immunity instead?
As I say above, any response to your post will be a bit later today.