fix(Script/Quest): A Pawn on the Eternal Board freezing world (#11616)

This commit is contained in:
Charlton Lau
2022-05-05 12:04:53 +09:00
committed by GitHub
parent 290f5fb776
commit 6a58d1ee69
+14 -8
View File
@@ -532,21 +532,26 @@ public:
break; break;
case 51: case 51:
{ {
uint32 entries[4] = { 15423, 15424, 15414, 15422 }; std::list<Creature*> constructList;
for (uint8 i = 0; i < 4; ++i)
me->GetCreatureListWithEntryInGrid(constructList, 15423, 100.0f);
me->GetCreatureListWithEntryInGrid(constructList, 15424, 100.0f);
me->GetCreatureListWithEntryInGrid(constructList, 15414, 100.0f);
me->GetCreatureListWithEntryInGrid(constructList, 15422, 100.0f);
if (!constructList.empty())
{ {
Unit* mob = player->FindNearestCreature(entries[i], 50, me); for (std::list<Creature*>::const_iterator itr = constructList.begin(); itr != constructList.end(); ++itr)
while (mob)
{ {
mob->RemoveFromWorld(); (*itr)->RemoveFromWorld();
mob = player->FindNearestCreature(15423, 50, me);
} }
} }
break; break;
} }
case 52: case 52:
Fandral->GetMotionMaster()->MoveCharge(-8028.75f, 1538.795f, 2.61f, 4); Fandral->GetMotionMaster()->MoveCharge(-8028.75f, 1538.795f, 2.61f, 4);
Fandral->AI()->Talk(ANACHRONOS_SAY_9, me); Talk(ANACHRONOS_SAY_9);
break; break;
case 53: case 53:
Fandral->AI()->Talk(FANDRAL_SAY_6); Fandral->AI()->Talk(FANDRAL_SAY_6);
@@ -555,7 +560,8 @@ public:
Talk(ANACHRONOS_EMOTE_2); Talk(ANACHRONOS_EMOTE_2);
break; break;
case 55: case 55:
Fandral->SetVisible(false); //Fandral should not dispear atm.
//Fandral->SetVisible(false);
break; break;
case 56: case 56:
Talk(ANACHRONOS_EMOTE_3); Talk(ANACHRONOS_EMOTE_3);