From c860b4422c9f64d41405a024c55ae2e1b87650a1 Mon Sep 17 00:00:00 2001 From: UltraNix <80540499+UltraNix@users.noreply.github.com> Date: Tue, 13 Apr 2021 19:42:43 +0200 Subject: [PATCH] fix(Core/GameObjects): Creating gameobject's model requires set go state. (#5188) --- .../updates/pending_db_world/rev_1617863055133088000.sql | 3 +++ src/server/game/Entities/GameObject/GameObject.cpp | 9 +++++---- 2 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 data/sql/updates/pending_db_world/rev_1617863055133088000.sql diff --git a/data/sql/updates/pending_db_world/rev_1617863055133088000.sql b/data/sql/updates/pending_db_world/rev_1617863055133088000.sql new file mode 100644 index 000000000..2098f605e --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1617863055133088000.sql @@ -0,0 +1,3 @@ +INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1617863055133088000'); + +UPDATE `gameobject` SET `phaseMask`=1|2|16|32|64|128 WHERE `id` BETWEEN 192028 AND 192033; diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 5c5c42848..b1679d029 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -298,15 +298,16 @@ bool GameObject::Create(uint32 guidlow, uint32 name_id, Map* map, uint32 phaseMa // set name for logs usage, doesn't affect anything ingame SetName(goinfo->name); - SetDisplayId(goinfo->displayId); - - if (!m_model) - m_model = GameObjectModel::Create(*this); // GAMEOBJECT_BYTES_1, index at 0, 1, 2 and 3 SetGoType(GameobjectTypes(goinfo->type)); SetGoState(go_state); SetGoArtKit(artKit); + SetDisplayId(goinfo->displayId); + + if (!m_model) + m_model = GameObjectModel::Create(*this); + switch (goinfo->type) { case GAMEOBJECT_TYPE_FISHINGHOLE: