Skip to content

Commit 707befe

Browse files
committed
GameEvent: Defer GameEventUpdateCreatureDataInMapsWorker to map itself
1 parent b96ace5 commit 707befe

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

src/game/GameEvents/GameEventMgr.cpp

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1139,14 +1139,17 @@ struct GameEventUpdateCreatureDataInMapsWorker
11391139

11401140
void operator()(Map* map)
11411141
{
1142-
if (Creature* pCreature = map->GetCreature(i_guid))
1142+
map->GetMessager().AddMessage([guid = i_guid, data = i_data, activate = i_activate, event_data = i_event_data](Map* map)
11431143
{
1144-
pCreature->UpdateEntry(i_data->id, i_data, i_activate ? i_event_data : nullptr);
1144+
if (Creature* pCreature = map->GetCreature(guid))
1145+
{
1146+
pCreature->UpdateEntry(data->id, data, activate ? event_data : nullptr);
11451147

1146-
// spells not casted for event remove case (sent nullptr into update), do it
1147-
if (!i_activate)
1148-
pCreature->ApplyGameEventSpells(i_event_data, false);
1149-
}
1148+
// spells not casted for event remove case (sent nullptr into update), do it
1149+
if (!activate)
1150+
pCreature->ApplyGameEventSpells(event_data, false);
1151+
}
1152+
});
11501153
}
11511154

11521155
ObjectGuid i_guid;

0 commit comments

Comments
 (0)