aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Scripting
diff options
context:
space:
mode:
authorSebastian Valle <s.v.h21@hotmail.com>2013-10-29 13:13:37 -0500
committerSebastian Valle <s.v.h21@hotmail.com>2013-10-29 13:13:37 -0500
commitbb057ae40be2733f3f582a93e585b8bb67cf1520 (patch)
tree76a7f9727dc33d068b3c2433189bee42a7edcde1 /src/server/game/Scripting
parent4ce12dc481323c11b4830d06f8080412d855cc64 (diff)
parent3d5a317b755f4b6eb2d9a29fd7d9291415dfa6eb (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.cpp20
-rw-r--r--src/server/game/Scripting/ScriptMgr.cpp12
-rw-r--r--src/server/game/Scripting/ScriptMgr.h10
-rw-r--r--src/server/game/Scripting/ScriptSystem.h4
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;