Description:
Temporary (scripted) emote/stand states are removed completely after creature enters in combat and are never restored after reaching home
Expected behaviour:
Temporary (scripted) emote/stand states should be restored after reaching home (or evade. Thing is stand states (which are loaded from creature_addon) are restored currently after evade and not after reaching home. It's probably not correct just because it looks weird in-game. But again, just my guess)
Shown here https://youtu.be/jfj9KD_U_oA?t=70
Steps to reproduce the problem:
Branch(es): 3.3.5
TC rev. hash/commit: 48e9d1a5b685
Sorry, my mind is a bit slow to see the defined extent of this unwanted behaviour. Is this specific to waypoint path, or does it happen to non-waypoint creatures as well?
Can happen anywhere with any temporal stand\emote states, with or without waypoints
Thank you for the clarification. Also, a minor word of advice regarding "temporal" versus 'temporary':
There are two things to consider:
Stand states and emote states that are set via SAI or C++ script are NOT meant to be restored on evade by the core itself. Scripts have to handle this on their own. The reason why _addon fields are restored is because a reset applies the addon field values on the creature all over again which is why you should use _addon fields for stand states states/emotes/auras/animtiers that are suposed to be restored on an evade.
The reason why values that are set in _addon tables are being restored on evade already instead of on reaching home is because CreatureAI::EnterEvadeMode calls the reset of the template fields immediately instead of calling it on JustReachedHome. in CreatureAI::_EnterEvadeMode()
Changing the 2. point to call it on JustReachedHome instead is a mine field though because there probably are scripts that are built arround this weird reset mechanic.
Hi Trokli. And put down the pointy finger. I know my engrish can be fun at times.
Scripts have to handle this on their own.
We are talking about every single waypoint script and every single action list with emote\stand states
All I can suggest is just store current stand\emote state on aggro and add it again after reaching home
Changing the 2. point to call it on JustReachedHome instead is a mine field though because there probably are scripts that are built arround this weird reset mechanic.
Blizzard executes nothing or almost nothing on evade and only on reaching home
The reason why values that are set in _addon tables are being restored on evade already instead of on reaching home is because CreatureAI::EnterEvadeMode calls the reset of the template fields immediately instead of calling it on JustReachedHome. in CreatureAI::_EnterEvadeMode()
Changing the 2. point to call it on JustReachedHome instead is a mine field though because there probably are scripts that are built arround this weird reset mechanic.
Funny to see how root auras are restored after evade, creature just roots itself immediately and even can't reach home
Most helpful comment
There are two things to consider:
Stand states and emote states that are set via SAI or C++ script are NOT meant to be restored on evade by the core itself. Scripts have to handle this on their own. The reason why _addon fields are restored is because a reset applies the addon field values on the creature all over again which is why you should use _addon fields for stand states states/emotes/auras/animtiers that are suposed to be restored on an evade.
The reason why values that are set in _addon tables are being restored on evade already instead of on reaching home is because CreatureAI::EnterEvadeMode calls the reset of the template fields immediately instead of calling it on JustReachedHome. in CreatureAI::_EnterEvadeMode()
Changing the 2. point to call it on JustReachedHome instead is a mine field though because there probably are scripts that are built arround this weird reset mechanic.
Hi Trokli. And put down the pointy finger. I know my engrish can be fun at times.