diff options
| author | Aokromes <aokromes@gmail.com> | 2017-03-26 13:32:28 +0200 |
|---|---|---|
| committer | Aokromes <aokromes@gmail.com> | 2017-03-26 13:32:28 +0200 |
| commit | 0999ef0b774f2c93beefa6329d1a42a13377a35b (patch) | |
| tree | 86293ced1ccfbb75d7a422e81b478ac83ef2edc6 /src/server/game/Entities/GameObject | |
| parent | de4043097e31d7ba968425f0a2ec55a9a1e5b117 (diff) | |
Core/Scripts: Add support for spawn specific C++ scripts
By Krudor
Diffstat (limited to 'src/server/game/Entities/GameObject')
| -rw-r--r-- | src/server/game/Entities/GameObject/GameObject.cpp | 8 | ||||
| -rw-r--r-- | src/server/game/Entities/GameObject/GameObject.h | 3 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 1e5e2a32458..d399de52cdf 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -1954,6 +1954,14 @@ void GameObject::EventInform(uint32 eventId, WorldObject* invoker /*= nullptr*/) bgMap->GetBG()->ProcessEvent(this, eventId, invoker); } +uint32 GameObject::GetScriptId() const +{ + if (GameObjectData const* gameObjectData = GetGOData()) + return gameObjectData->ScriptId; + + return GetGOInfo()->ScriptId; +} + // overwrite WorldObject function for proper name localization std::string const & GameObject::GetNameForLocaleIdx(LocaleConstant loc_idx) const { diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h index bad48e0693d..26982066af9 100644 --- a/src/server/game/Entities/GameObject/GameObject.h +++ b/src/server/game/Entities/GameObject/GameObject.h @@ -654,6 +654,7 @@ struct GameObjectData GOState go_state; uint8 spawnMask; uint8 artKit; + uint32 ScriptId; bool dbData; }; @@ -872,7 +873,7 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject<GameObject> void EventInform(uint32 eventId, WorldObject* invoker = NULL); - virtual uint32 GetScriptId() const { return GetGOInfo()->ScriptId; } + virtual uint32 GetScriptId() const; GameObjectAI* AI() const { return m_AI; } std::string GetAIName() const; |
