diff options
| author | Sebastian Valle <s.v.h21@hotmail.com> | 2013-10-29 13:13:37 -0500 |
|---|---|---|
| committer | Sebastian Valle <s.v.h21@hotmail.com> | 2013-10-29 13:13:37 -0500 |
| commit | bb057ae40be2733f3f582a93e585b8bb67cf1520 (patch) | |
| tree | 76a7f9727dc33d068b3c2433189bee42a7edcde1 /src/server/game/Scripting | |
| parent | 4ce12dc481323c11b4830d06f8080412d855cc64 (diff) | |
| parent | 3d5a317b755f4b6eb2d9a29fd7d9291415dfa6eb (diff) | |
Merge branch 'master' of github.com:TrinityCore/TrinityCore into mmaps_rw
Conflicts:
src/server/collision/Management/MMapManager.h
Diffstat (limited to 'src/server/game/Scripting')
| -rw-r--r-- | src/server/game/Scripting/MapScripts.cpp | 20 | ||||
| -rw-r--r-- | src/server/game/Scripting/ScriptMgr.cpp | 12 | ||||
| -rw-r--r-- | src/server/game/Scripting/ScriptMgr.h | 10 | ||||
| -rw-r--r-- | src/server/game/Scripting/ScriptSystem.h | 4 |
4 files changed, 23 insertions, 23 deletions
diff --git a/src/server/game/Scripting/MapScripts.cpp b/src/server/game/Scripting/MapScripts.cpp index c37cdf80730..ff133272724 100644 --- a/src/server/game/Scripting/MapScripts.cpp +++ b/src/server/game/Scripting/MapScripts.cpp @@ -315,6 +315,7 @@ void Map::ScriptsProcess() case HIGHGUID_PLAYER: source = HashMapHolder<Player>::Find(step.sourceGUID); break; + case HIGHGUID_TRANSPORT: case HIGHGUID_GAMEOBJECT: source = HashMapHolder<GameObject>::Find(step.sourceGUID); break; @@ -322,15 +323,11 @@ void Map::ScriptsProcess() source = HashMapHolder<Corpse>::Find(step.sourceGUID); break; case HIGHGUID_MO_TRANSPORT: - for (MapManager::TransportSet::iterator itr2 = sMapMgr->m_Transports.begin(); itr2 != sMapMgr->m_Transports.end(); ++itr2) - { - if ((*itr2)->GetGUID() == step.sourceGUID) - { - source = *itr2; - break; - } - } + { + GameObject* go = HashMapHolder<GameObject>::Find(step.sourceGUID); + source = go ? go->ToTransport() : NULL; break; + } default: TC_LOG_ERROR(LOG_FILTER_TSCR, "%s source with unsupported high guid (GUID: " UI64FMTD ", high guid: %u).", step.script->GetDebugInfo().c_str(), step.sourceGUID, GUID_HIPART(step.sourceGUID)); @@ -353,12 +350,19 @@ void Map::ScriptsProcess() case HIGHGUID_PLAYER: // empty GUID case also target = HashMapHolder<Player>::Find(step.targetGUID); break; + case HIGHGUID_TRANSPORT: case HIGHGUID_GAMEOBJECT: target = HashMapHolder<GameObject>::Find(step.targetGUID); break; case HIGHGUID_CORPSE: target = HashMapHolder<Corpse>::Find(step.targetGUID); break; + case HIGHGUID_MO_TRANSPORT: + { + GameObject* go = HashMapHolder<GameObject>::Find(step.targetGUID); + target = go ? go->ToTransport() : NULL; + break; + } default: TC_LOG_ERROR(LOG_FILTER_TSCR, "%s target with unsupported high guid (GUID: " UI64FMTD ", high guid: %u).", step.script->GetDebugInfo().c_str(), step.targetGUID, GUID_HIPART(step.targetGUID)); diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index fb96c327b05..c74cf1735ff 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -176,13 +176,9 @@ struct TSpellSummary } *SpellSummary; ScriptMgr::ScriptMgr() - : _scriptCount(0), _scheduledScripts(0) -{ -} + : _scriptCount(0), _scheduledScripts(0) { } -ScriptMgr::~ScriptMgr() -{ -} +ScriptMgr::~ScriptMgr() { } void ScriptMgr::Initialize() { @@ -1363,12 +1359,12 @@ void ScriptMgr::OnGroupDisband(Group* group) } // Unit -void ScriptMgr::OnHeal(Unit* healer, Unit* reciever, uint32 gain) +void ScriptMgr::OnHeal(Unit* healer, Unit* reciever, uint32& gain) { FOREACH_SCRIPT(UnitScript)->OnHeal(healer, reciever, gain); } -void ScriptMgr::OnDamage(Unit* attacker, Unit* victim, uint32 damage) +void ScriptMgr::OnDamage(Unit* attacker, Unit* victim, uint32& damage) { FOREACH_SCRIPT(UnitScript)->OnDamage(attacker, victim, damage); } diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index a3eff880bb9..37a95c77254 100644 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -396,11 +396,11 @@ class UnitScript : public ScriptObject UnitScript(const char* name, bool addToScripts = true); public: - // Called when a unit deals damage to another unit - virtual void OnHeal(Unit* /*healer*/, Unit* /*reciever*/, uint32 /*gain*/) { } + // Called when a unit deals healing to another unit + virtual void OnHeal(Unit* /*healer*/, Unit* /*reciever*/, uint32& /*gain*/) { } // Called when a unit deals damage to another unit - virtual void OnDamage(Unit* /*attacker*/, Unit* /*victim*/, uint32 /*damage*/) { } + virtual void OnDamage(Unit* /*attacker*/, Unit* /*victim*/, uint32& /*damage*/) { } // Called when DoT's Tick Damage is being Dealt virtual void ModifyPeriodicDamageAurasTick(Unit* /*target*/, Unit* /*attacker*/, uint32& /*damage*/) { } @@ -1060,8 +1060,8 @@ class ScriptMgr public: /* UnitScript */ - void OnHeal(Unit* healer, Unit* reciever, uint32 gain); - void OnDamage(Unit* attacker, Unit* victim, uint32 damage); + void OnHeal(Unit* healer, Unit* reciever, uint32& gain); + void OnDamage(Unit* attacker, Unit* victim, uint32& damage); void ModifyPeriodicDamageAurasTick(Unit* target, Unit* attacker, uint32& damage); void ModifyMeleeDamage(Unit* target, Unit* attacker, uint32& damage); void ModifySpellDamageTaken(Unit* target, Unit* attacker, int32& damage); diff --git a/src/server/game/Scripting/ScriptSystem.h b/src/server/game/Scripting/ScriptSystem.h index 0641cebd18f..af2e50bae36 100644 --- a/src/server/game/Scripting/ScriptSystem.h +++ b/src/server/game/Scripting/ScriptSystem.h @@ -49,8 +49,8 @@ typedef std::vector<ScriptPointMove> ScriptPointVector; class SystemMgr { friend class ACE_Singleton<SystemMgr, ACE_Null_Mutex>; - SystemMgr() {} - ~SystemMgr() {} + SystemMgr() { } + ~SystemMgr() { } public: typedef UNORDERED_MAP<uint32, ScriptPointVector> PointMoveMap; |
