*fix some boss pull/kill exploits

- Hexlord (zulaman)
- Janalai (zulaman)
- Delrissa (magister)

--HG--
branch : trunk
This commit is contained in:
Rat
2009-04-15 19:28:01 +02:00
parent c61ab4c9a0
commit 4439ae690f
3 changed files with 33 additions and 4 deletions
@@ -114,6 +114,7 @@ struct TRINITY_DLL_DECL boss_priestess_delrissaAI : public ScriptedAI
uint32 ShieldTimer; uint32 ShieldTimer;
uint32 SWPainTimer; uint32 SWPainTimer;
uint32 DispelTimer; uint32 DispelTimer;
uint32 ResetTimer;
uint32 CombatPulseTimer; // Periodically puts all players in the instance in combat uint32 CombatPulseTimer; // Periodically puts all players in the instance in combat
@@ -130,6 +131,7 @@ struct TRINITY_DLL_DECL boss_priestess_delrissaAI : public ScriptedAI
ShieldTimer = 2000; ShieldTimer = 2000;
SWPainTimer = 5000; SWPainTimer = 5000;
DispelTimer = 7500; DispelTimer = 7500;
ResetTimer = 5000;
CombatPulseTimer = 5000; CombatPulseTimer = 5000;
@@ -255,6 +257,18 @@ struct TRINITY_DLL_DECL boss_priestess_delrissaAI : public ScriptedAI
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
if(ResetTimer < diff)
{
float x, y, z, o;
m_creature->GetHomePosition(x, y, z, o);
if(m_creature->GetPositionZ() >= z+10)
{
EnterEvadeMode();
return;
}
ResetTimer = 5000;
}else ResetTimer -= diff;
if(HealTimer < diff) if(HealTimer < diff)
{ {
uint32 health = m_creature->GetHealth(); uint32 health = m_creature->GetHealth();
@@ -217,6 +217,7 @@ struct TRINITY_DLL_DECL boss_hex_lord_malacrassAI : public ScriptedAI
uint32 SiphonSoul_Timer; uint32 SiphonSoul_Timer;
uint32 PlayerAbility_Timer; uint32 PlayerAbility_Timer;
uint32 CheckAddState_Timer; uint32 CheckAddState_Timer;
uint32 ResetTimer;
uint32 PlayerClass; uint32 PlayerClass;
@@ -232,6 +233,7 @@ struct TRINITY_DLL_DECL boss_hex_lord_malacrassAI : public ScriptedAI
SiphonSoul_Timer = 100000; SiphonSoul_Timer = 100000;
PlayerAbility_Timer = 99999; PlayerAbility_Timer = 99999;
CheckAddState_Timer = 5000; CheckAddState_Timer = 5000;
ResetTimer = 5000;
SpawnAdds(); SpawnAdds();
@@ -333,6 +335,16 @@ struct TRINITY_DLL_DECL boss_hex_lord_malacrassAI : public ScriptedAI
if(!UpdateVictim() ) if(!UpdateVictim() )
return; return;
if(ResetTimer < diff)
{
if(m_creature->GetDistance(119.223,1035.45,29.4481) <= 10)
{
EnterEvadeMode();
return;
}
ResetTimer = 5000;
}else ResetTimer -= diff;
if(CheckAddState_Timer < diff) if(CheckAddState_Timer < diff)
{ {
for(uint8 i = 0; i < 4; ++i) for(uint8 i = 0; i < 4; ++i)
@@ -419,10 +419,13 @@ struct TRINITY_DLL_DECL boss_janalaiAI : public ScriptedAI
if(ResetTimer < diff) if(ResetTimer < diff)
{ {
/*float x, y, z; float x, y, z, o;
m_creature->GetPosition(x, y, z); m_creature->GetHomePosition(x, y, z, o);
if(x < -70 || x > 0 || y > 1176 || y < 1121 || z < 18) if(m_creature->GetPositionZ() <= z-7)
EnterEvadeMode();*/ {
EnterEvadeMode();
return;
}
ResetTimer = 5000; ResetTimer = 5000;
}else ResetTimer -= diff; }else ResetTimer -= diff;