diff options
author | Vincent-Michael <Vincent_Michael@gmx.de> | 2014-04-11 23:12:12 +0200 |
---|---|---|
committer | Vincent-Michael <Vincent_Michael@gmx.de> | 2014-04-11 23:12:12 +0200 |
commit | 5454e10b52c6e8c75afba25a1cc8fb13c6ef8dcc (patch) | |
tree | 4550ff13616242169009c245277bfa454d0e4988 /src/server/game | |
parent | 4e59d0b9228789c2c17c3dc9aa52c9f498b0c0e3 (diff) | |
parent | 870d5d9c45ddf8331f7029072f44f4b1cfa3b54b (diff) |
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
Diffstat (limited to 'src/server/game')
-rw-r--r-- | src/server/game/Entities/GameObject/GameObject.cpp | 11 | ||||
-rw-r--r-- | src/server/game/Entities/GameObject/GameObject.h | 2 |
2 files changed, 10 insertions, 3 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 9cc9a1bab43..5afbdd5468a 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -52,7 +52,7 @@ GameObject::GameObject() : WorldObject(false), MapObject(), m_spellId = 0; m_cooldownTime = 0; m_goInfo = NULL; - m_ritualOwner = NULL; + m_ritualOwnerGUID = 0; m_goData = NULL; m_DBTableGuid = 0; @@ -1445,9 +1445,16 @@ void GameObject::Use(Unit* user) GameObjectTemplate const* info = GetGOInfo(); + Player* m_ritualOwner = NULL; + if (m_ritualOwnerGUID) + m_ritualOwner = ObjectAccessor::FindPlayer(m_ritualOwnerGUID); + // ritual owner is set for GO's without owner (not summoned) if (!m_ritualOwner && !owner) + { + m_ritualOwnerGUID = player->GetGUID(); m_ritualOwner = player; + } if (owner) { @@ -1518,7 +1525,7 @@ void GameObject::Use(Unit* user) else { // reset ritual for this GO - m_ritualOwner = NULL; + m_ritualOwnerGUID = 0; m_unique_users.clear(); m_usetimes = 0; } diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h index 77d36e1290c..6a411e3b4a2 100644 --- a/src/server/game/Entities/GameObject/GameObject.h +++ b/src/server/game/Entities/GameObject/GameObject.h @@ -847,7 +847,7 @@ class GameObject : public WorldObject, public GridObject<GameObject>, public Map // For traps this: spell casting cooldown, for doors/buttons: reset time. std::list<uint32> m_SkillupList; - Player* m_ritualOwner; // used for GAMEOBJECT_TYPE_SUMMONING_RITUAL where GO is not summoned (no owner) + uint64 m_ritualOwnerGUID; // used for GAMEOBJECT_TYPE_SUMMONING_RITUAL where GO is not summoned (no owner) std::set<uint64> m_unique_users; uint32 m_usetimes; |