aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/scripts/World/npcs_special.cpp46
1 files changed, 27 insertions, 19 deletions
diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp
index fdf8b493a78..c2994777fc2 100644
--- a/src/server/scripts/World/npcs_special.cpp
+++ b/src/server/scripts/World/npcs_special.cpp
@@ -2014,6 +2014,12 @@ public:
}
};
+enum eTrainingDummy
+{
+ NPC_ADVANCED_TARGET_DUMMY = 2674,
+ NPC_TARGET_DUMMY = 2673
+};
+
class npc_training_dummy : public CreatureScript
{
public:
@@ -2021,21 +2027,22 @@ public:
struct npc_training_dummyAI : Scripted_NoMovementAI
{
- npc_training_dummyAI(Creature *c) : Scripted_NoMovementAI(c)
+ npc_training_dummyAI(Creature* pCreature) : Scripted_NoMovementAI(pCreature)
{
- m_Entry = c->GetEntry();
+ uiEntry = pCreature->GetEntry();
}
- uint64 m_Entry;
- uint32 ResetTimer;
- uint32 DespawnTimer;
+ uint32 uiEntry;
+ uint32 uiResetTimer;
+ uint32 uiDespawnTimer;
+
void Reset()
{
me->SetControlled(true,UNIT_STAT_STUNNED);//disable rotate
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_KNOCK_BACK, true);//imune to knock aways like blast wave
- me->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_STUN, true);
- ResetTimer = 10000;
- DespawnTimer = 15000;
+
+ uiResetTimer = 5000;
+ uiDespawnTimer = 15000;
}
void EnterEvadeMode()
@@ -2048,48 +2055,49 @@ public:
void DamageTaken(Unit * /*done_by*/, uint32 &damage)
{
- ResetTimer = 10000;
+ uiResetTimer = 5000;
damage = 0;
}
void EnterCombat(Unit * /*who*/)
{
- if (m_Entry != 2674 && m_Entry != 2673)
+ if (uiEntry != NPC_ADVANCED_TARGET_DUMMY && uiEntry != NPC_TARGET_DUMMY)
return;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(const uint32 uiDiff)
{
if (!UpdateVictim())
return;
+
if (!me->hasUnitState(UNIT_STAT_STUNNED))
me->SetControlled(true,UNIT_STAT_STUNNED);//disable rotate
- if (m_Entry != 2674 && m_Entry != 2673)
+ if (uiEntry != NPC_ADVANCED_TARGET_DUMMY && uiEntry != NPC_TARGET_DUMMY)
{
- if (ResetTimer <= diff)
+ if (uiResetTimer <= uiDiff)
{
EnterEvadeMode();
- ResetTimer = 10000;
+ uiResetTimer = 5000;
}
else
- ResetTimer -= diff;
+ uiResetTimer -= uiDiff;
return;
}
else
{
- if (DespawnTimer <= diff)
+ if (uiDespawnTimer <= uiDiff)
me->ForcedDespawn();
else
- DespawnTimer -= diff;
+ uiDespawnTimer -= uiDiff;
}
}
void MoveInLineOfSight(Unit * /*who*/){return;}
};
- CreatureAI *GetAI(Creature *creature) const
+ CreatureAI* GetAI(Creature* pCreature) const
{
- return new npc_training_dummyAI(creature);
+ return new npc_training_dummyAI(pCreature);
}
};