aboutsummaryrefslogtreecommitdiff
path: root/src/bindings/scripts/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/bindings/scripts/include')
-rw-r--r--src/bindings/scripts/include/sc_creature.cpp16
-rw-r--r--src/bindings/scripts/include/sc_creature.h3
2 files changed, 17 insertions, 2 deletions
diff --git a/src/bindings/scripts/include/sc_creature.cpp b/src/bindings/scripts/include/sc_creature.cpp
index 20c5600dc02..12992eedc52 100644
--- a/src/bindings/scripts/include/sc_creature.cpp
+++ b/src/bindings/scripts/include/sc_creature.cpp
@@ -711,11 +711,23 @@ void ScriptedAI::DoResetThreat()
{
Unit* pUnit = NULL;
pUnit = Unit::GetUnit((*m_creature), (*itr)->getUnitGuid());
- if(pUnit && m_creature->getThreatManager().getThreat(pUnit))
- m_creature->getThreatManager().modifyThreatPercent(pUnit, -100);
+ if(pUnit && DoGetThreat(pUnit))
+ DoModifyThreatPercent(pUnit, -100);
}
}
+float ScriptedAI::DoGetThreat(Unit* pUnit)
+{
+ if(!pUnit) return 0.0f;
+ return m_creature->getThreatManager().getThreat(pUnit);
+}
+
+void ScriptedAI::DoModifyThreatPercent(Unit *pUnit, int32 pct)
+{
+ if(!pUnit) return;
+ m_creature->getThreatManager().modifyThreatPercent(pUnit, pct);
+}
+
void ScriptedAI::DoTeleportPlayer(Unit* pUnit, float x, float y, float z, float o)
{
if(!pUnit || pUnit->GetTypeId() != TYPEID_PLAYER)
diff --git a/src/bindings/scripts/include/sc_creature.h b/src/bindings/scripts/include/sc_creature.h
index 9c7ffc022eb..12ec3f0cbf5 100644
--- a/src/bindings/scripts/include/sc_creature.h
+++ b/src/bindings/scripts/include/sc_creature.h
@@ -144,6 +144,9 @@ struct TRINITY_DLL_DECL ScriptedAI : public CreatureAI
//Drops all threat to 0%. Does not remove players from the threat list
void DoResetThreat();
+ float DoGetThreat(Unit *u);
+ void DoModifyThreatPercent(Unit *pUnit, int32 pct);
+
//Teleports a player without dropping threat (only teleports to same map)
void DoTeleportPlayer(Unit* pUnit, float x, float y, float z, float o);
void DoTeleportAll(float x, float y, float z, float o);