diff options
Diffstat (limited to 'src/server/game/Events/GameEventMgr.cpp')
-rw-r--r-- | src/server/game/Events/GameEventMgr.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/server/game/Events/GameEventMgr.cpp b/src/server/game/Events/GameEventMgr.cpp index 59ce82d1b3c..12781909151 100644 --- a/src/server/game/Events/GameEventMgr.cpp +++ b/src/server/game/Events/GameEventMgr.cpp @@ -1364,14 +1364,20 @@ void GameEventMgr::ChangeEquipOrModel(int16 event_id, bool activate) CreatureData& data2 = sObjectMgr->NewOrExistCreatureData(itr->first); if (activate) { - itr->second.modelid_prev = data2.displayid; + itr->second.modelid_prev = data2.display ? data2.display->CreatureDisplayID : 0; itr->second.equipement_id_prev = data2.equipmentId; - data2.displayid = itr->second.modelid; + if (itr->second.modelid) + data2.display.emplace(itr->second.modelid, DEFAULT_PLAYER_DISPLAY_SCALE, 1.0f); + else + data2.display.reset(); data2.equipmentId = itr->second.equipment_id; } else { - data2.displayid = itr->second.modelid_prev; + if (itr->second.modelid_prev) + data2.display.emplace(itr->second.modelid_prev, DEFAULT_PLAYER_DISPLAY_SCALE, 1.0f); + else + data2.display.reset(); data2.equipmentId = itr->second.equipement_id_prev; } } |