diff options
| author | Rat <none@none> | 2009-04-15 19:28:01 +0200 |
|---|---|---|
| committer | Rat <none@none> | 2009-04-15 19:28:01 +0200 |
| commit | 4439ae690f64b93c563c8960a262205f868a0bbe (patch) | |
| tree | 07c9d0a6d1eaaecd78e163ff99bbdfc45d32265f /src | |
| parent | c61ab4c9a0b68655f857670798cd9a024232b67f (diff) | |
*fix some boss pull/kill exploits
- Hexlord (zulaman)
- Janalai (zulaman)
- Delrissa (magister)
--HG--
branch : trunk
Diffstat (limited to 'src')
3 files changed, 33 insertions, 4 deletions
diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp index e45d3862867..36ec57a4e25 100644 --- a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp +++ b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp @@ -114,6 +114,7 @@ struct TRINITY_DLL_DECL boss_priestess_delrissaAI : public ScriptedAI uint32 ShieldTimer; uint32 SWPainTimer; uint32 DispelTimer; + uint32 ResetTimer; 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; SWPainTimer = 5000; DispelTimer = 7500; + ResetTimer = 5000; CombatPulseTimer = 5000; @@ -255,6 +257,18 @@ struct TRINITY_DLL_DECL boss_priestess_delrissaAI : public ScriptedAI if(!UpdateVictim()) 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) { uint32 health = m_creature->GetHealth(); diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp b/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp index 51de70ed733..8792a988c6f 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp +++ b/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp @@ -217,6 +217,7 @@ struct TRINITY_DLL_DECL boss_hex_lord_malacrassAI : public ScriptedAI uint32 SiphonSoul_Timer; uint32 PlayerAbility_Timer; uint32 CheckAddState_Timer; + uint32 ResetTimer; uint32 PlayerClass; @@ -232,6 +233,7 @@ struct TRINITY_DLL_DECL boss_hex_lord_malacrassAI : public ScriptedAI SiphonSoul_Timer = 100000; PlayerAbility_Timer = 99999; CheckAddState_Timer = 5000; + ResetTimer = 5000; SpawnAdds(); @@ -333,6 +335,16 @@ struct TRINITY_DLL_DECL boss_hex_lord_malacrassAI : public ScriptedAI if(!UpdateVictim() ) 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) { for(uint8 i = 0; i < 4; ++i) diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp b/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp index c5db3ddd8fd..c70bd007c58 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp +++ b/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp @@ -419,10 +419,13 @@ struct TRINITY_DLL_DECL boss_janalaiAI : public ScriptedAI if(ResetTimer < diff) { - /*float x, y, z; - m_creature->GetPosition(x, y, z); - if(x < -70 || x > 0 || y > 1176 || y < 1121 || z < 18) - EnterEvadeMode();*/ + float x, y, z, o; + m_creature->GetHomePosition(x, y, z, o); + if(m_creature->GetPositionZ() <= z-7) + { + EnterEvadeMode(); + return; + } ResetTimer = 5000; }else ResetTimer -= diff; |
