From e6dd5d3e22d92dddc841079f9108275fd0359be1 Mon Sep 17 00:00:00 2001 From: Nefertumm Date: Wed, 3 Aug 2022 09:06:51 -0300 Subject: [PATCH] fix(Core/Scripts): Ayamiss crashfix (#12610) --- .../scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp index d4e481701..f2856ab51 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp @@ -141,7 +141,7 @@ public: me->GetMotionMaster()->MovePoint(POINT_AIR, AyamissAirPos); } - void DamageTaken(Unit*, uint32& /*damage*/, DamageEffectType, SpellSchoolMask) override + void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/, DamageEffectType, SpellSchoolMask) override { if (_phase == PHASE_AIR && me->GetHealthPct() < 70.0f) { @@ -150,8 +150,11 @@ public: me->ClearUnitState(UNIT_STATE_ROOT); me->SetCanFly(false); me->SetDisableGravity(false); - Position VictimPos = me->GetVictim()->GetPosition(); - me->GetMotionMaster()->MovePoint(POINT_GROUND, VictimPos); + if (Unit* victim = me->GetVictim()) + { + Position victimPos = victim->GetPosition(); + me->GetMotionMaster()->MovePoint(POINT_GROUND, victimPos); + } events.ScheduleEvent(EVENT_LASH, urand(5000, 8000)); events.CancelEvent(EVENT_POISON_STINGER); DoResetThreat();