Description: warning: Not specified
Crash log
https://gist.github.com/HAANAAE/704f017e160faa782256d45bf01ae1c1
Branch(es): 3.3.5
TC rev. hash/commit: b33934f
Operating system: debian
Character loads with a confuse aura (rogue blind?)
MotionMaster is not initialized until after LoadFromDB finishes
Invalidate the aura while loading?
Prevent the aura from saving?
Make MotionMaster initialize before LoadFromDB?
Delay MoveConfuse until after adding to world? First two options would give you incorrect behavior
makes sense, queue everything and signal MotionMaster, neat
not too difficult to implement after the rework hehe
@ccrs could you check this issue when you have time ?
Crash reproduced
As the spell has a 9 seconds duration, one has to log back in before the spell expires to trigger the crash
MotionMaster modifications have been delayed till just after AddToWorld
new crashlog: https://github.com/TrinityCore/TrinityCore/files/3756374/unknown_worldserver.exe_.22-10_16-26-15.txt
MoveChase is still added before the default one is added as both are added to delayed actions queue, first MoveChase and then Initialize
unsigned int BaseUnitState = 0x800 --> UNIT_STATE_CONFUSED --> MotionMaster::MoveConfused() 馃槃
but damn.. this is annoying
if we just protect _defaultGenerator->Deactivate(_owner); against incorrect access we will bump into:
transform delayedActions into priority queue? 馃槰
ignore all Initialize calls done during "initializing" --> always perform one Initialize call before handling the queue --> handle the queue ??? 馃槰
Creatures in formations call MoveIdle() instead of Initialize() which make it harder to know when the initialization has been completed, see https://github.com/TrinityCore/TrinityCore/blob/3.3.5/src/server/game/Entities/Creature/Creature.cpp#L998
but damn.. this is annoying
yes xD
Most helpful comment
Crash reproduced
As the spell has a 9 seconds duration, one has to log back in before the spell expires to trigger the crash