diff options
Diffstat (limited to 'src')
4 files changed, 117 insertions, 123 deletions
diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp index d477483b125..12f2a66e885 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp @@ -15,44 +15,45 @@ */ /* ScriptData -SDName: Boss_High_Inquisitor_Faribanks +SDName: Boss_High_Inquisitor_Fairbanks SD%Complete: 100 -SDComment: +SDComment: TODO: if this guy not involved in some special event, remove (and let ACID script) SDCategory: Scarlet Monastery EndScriptData */ #include "precompiled.h" -#define SPELL_SLEEP2 1090 -#define SPELL_CURSEOFBLOOD 16098 -#define SPELL_SMITE 6060 -#define SPELL_SHADOWWORDPAIN 2767 -#define SPELL_FLASHHEAL4 9474 -#define SPELL_RENEW6 6078 -#define SPELL_DEVOURINGPLAGUE3 19277 -#define SPELL_MINDBLAST5 8105 +enum +{ + SPELL_CURSEOFBLOOD = 8282, + SPELL_DISPELMAGIC = 15090, + SPELL_FEAR = 12096, + SPELL_HEAL = 12039, + SPELL_POWERWORDSHIELD = 11647, + SPELL_SLEEP = 8399 +}; struct TRINITY_DLL_DECL boss_high_inquisitor_fairbanksAI : public ScriptedAI { boss_high_inquisitor_fairbanksAI(Creature *c) : ScriptedAI(c) {} - uint32 Healing_Timer; - uint32 Sleep2_Timer; - uint32 Smite_Timer; - uint32 ShadowWordPain_Timer; uint32 CurseOfBlood_Timer; - uint32 DevouringPlague3_Timer; - uint32 MindBlast5_Timer; + uint32 DispelMagic_Timer; + uint32 Fear_Timer; + uint32 Heal_Timer; + uint32 Sleep_Timer; + uint32 Dispel_Timer; + bool PowerWordShield; void Reset() { - Healing_Timer = 300; - Sleep2_Timer = 45000; - Smite_Timer = 30000; - ShadowWordPain_Timer = 30000; - CurseOfBlood_Timer = 45000; - DevouringPlague3_Timer = 60000; - MindBlast5_Timer = 20000; + CurseOfBlood_Timer = 10000; + DispelMagic_Timer = 30000; + Fear_Timer = 40000; + Heal_Timer = 30000; + Sleep_Timer = 30000; + Dispel_Timer = 20000; + PowerWordShield = false; } void EnterCombat(Unit *who) @@ -64,33 +65,46 @@ struct TRINITY_DLL_DECL boss_high_inquisitor_fairbanksAI : public ScriptedAI if (!UpdateVictim()) return; - //If we are <45% hp cast Renew rank 6 or Flash heal rank 4 - if ( m_creature->GetHealth()*100 / m_creature->GetMaxHealth() <= 45 && !m_creature->IsNonMeleeSpellCasted(false) && Healing_Timer < diff) + //If we are <25% hp cast Heal + if (m_creature->GetHealth()*100 / m_creature->GetMaxHealth() <= 25 && !m_creature->IsNonMeleeSpellCasted(false) && Heal_Timer < diff) + { + DoCast(m_creature,SPELL_HEAL); + Heal_Timer = 30000; + }else Heal_Timer -= diff; + + //Fear_Timer + if (Fear_Timer < diff) { - DoCast(m_creature->getVictim(),SPELL_RENEW6 || SPELL_FLASHHEAL4); - Healing_Timer = 30000; - }else Healing_Timer -= diff; + if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,1)) + DoCast(target,SPELL_FEAR); + + Fear_Timer = 40000; + }else Fear_Timer -= diff; - //Sleep2_Timer - if (Sleep2_Timer < diff) + //Sleep_Timer + if (Sleep_Timer < diff) { - DoCast(m_creature->getVictim(),SPELL_SLEEP2); - Sleep2_Timer = 45000; - }else Sleep2_Timer -= diff; + if (Unit* target = SelectUnit(SELECT_TARGET_TOPAGGRO,0)) + DoCast(target,SPELL_SLEEP); + + Sleep_Timer = 30000; + }else Sleep_Timer -= diff; - //Smite_Timer - if (Smite_Timer < diff) + //PowerWordShield_Timer + if (!PowerWordShield && m_creature->GetHealth()*100 / m_creature->GetMaxHealth() <= 25) { - DoCast(m_creature->getVictim(),SPELL_SMITE); - Smite_Timer = 20000; - }else Smite_Timer -= diff; + DoCast(m_creature,SPELL_POWERWORDSHIELD); + PowerWordShield = true; + } - //ShadowWordPain_Timer - if (ShadowWordPain_Timer < diff) + //Dispel_Timer + if (Dispel_Timer < diff) { - DoCast(m_creature->getVictim(),SPELL_SHADOWWORDPAIN); - ShadowWordPain_Timer = 30000; - }else ShadowWordPain_Timer -= diff; + if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0)) + DoCast(target, SPELL_DISPELMAGIC); + + DispelMagic_Timer = 30000; + }else DispelMagic_Timer -= diff; //CurseOfBlood_Timer if (CurseOfBlood_Timer < diff) @@ -99,20 +113,6 @@ struct TRINITY_DLL_DECL boss_high_inquisitor_fairbanksAI : public ScriptedAI CurseOfBlood_Timer = 25000; }else CurseOfBlood_Timer -= diff; - //DevouringPlague3_Timer - if (DevouringPlague3_Timer < diff) - { - DoCast(m_creature->getVictim(),SPELL_DEVOURINGPLAGUE3); - DevouringPlague3_Timer = 35000; - }else DevouringPlague3_Timer -= diff; - - //MindBlast5_Timer - if (MindBlast5_Timer < diff) - { - DoCast(m_creature->getVictim(),SPELL_MINDBLAST5); - MindBlast5_Timer = 30000; - }else MindBlast5_Timer -= diff; - DoMeleeAttackIfReady(); } }; diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp index 370ed9aedc8..641432604af 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp @@ -23,20 +23,22 @@ EndScriptData */ #include "precompiled.h" -#define SAY_AGGRO -1189021 - -#define SPELL_SUMMONSCARLETHOUND 17164 -#define SPELL_ENRAGE 6742 +enum +{ + SAY_AGGRO = -1189021, + SPELL_SUMMONSCARLETHOUND = 17164, + SPELL_BLOODLUST = 6742 +}; struct TRINITY_DLL_DECL boss_houndmaster_lokseyAI : public ScriptedAI { boss_houndmaster_lokseyAI(Creature *c) : ScriptedAI(c) {} - uint32 Enrage_Timer; + uint32 BloodLust_Timer; void Reset() { - Enrage_Timer = 0; + BloodLust_Timer = 20000; } void EnterCombat(Unit *who) @@ -49,12 +51,11 @@ struct TRINITY_DLL_DECL boss_houndmaster_lokseyAI : public ScriptedAI if (!UpdateVictim()) return; - //If we are <25% hp, bloodlust - if (m_creature->GetHealth()*100 / m_creature->GetMaxHealth() <= 25 && Enrage_Timer < diff) + if (BloodLust_Timer < diff) { - DoCast(m_creature,SPELL_ENRAGE); - Enrage_Timer = 60000; - }else Enrage_Timer -= diff; + DoCast(m_creature,SPELL_BLOODLUST); + BloodLust_Timer = 20000; + }else BloodLust_Timer -= diff; DoMeleeAttackIfReady(); } diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp index 411df116e6c..1942b99f056 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp @@ -15,9 +15,9 @@ */ /* ScriptData -SDName: boss_darhrohan_balnazzar -SD%Complete: 75 -SDComment: Fix timers, fix spells, possibly fix summons after death +SDName: Boss_Dathrohan_Balnazzar +SD%Complete: 95 +SDComment: Possibly need to fix/improve summons after death SDCategory: Stratholme EndScriptData */ @@ -28,17 +28,16 @@ enum //Dathrohan spells SPELL_CRUSADERSHAMMER = 17286, //AOE stun SPELL_CRUSADERSTRIKE = 17281, - SPELL_MINDBLAST = 17287, SPELL_HOLYSTRIKE = 17284, //weapon dmg +3 //Transform SPELL_BALNAZZARTRANSFORM = 17288, //restore full HP/mana, trigger spell Balnazzar Transform Stun //Balnazzar spells - SPELL_SHADOWSHOCK = 20603, //AOE 740-860dmg - SPELL_PSYCHICSCREAM = 15398, //One target, might want to make a code selecting random target + SPELL_SHADOWSHOCK = 17399, + SPELL_MINDBLAST = 17287, + SPELL_PSYCHICSCREAM = 13704, SPELL_SLEEP = 12098, - SPELL_SHADOWBOLTVOLLEY = 20741, //AOE, 255-345dmg SPELL_MINDCONTROL = 15690, NPC_DATHROHAN = 10812, @@ -75,20 +74,18 @@ struct TRINITY_DLL_DECL boss_dathrohan_balnazzarAI : public ScriptedAI uint32 m_uiShadowShock_Timer; uint32 m_uiPsychicScream_Timer; uint32 m_uiDeepSleep_Timer; - uint32 m_uiShadowBoltVolley_Timer; uint32 m_uiMindControl_Timer; bool m_bTransformed; void Reset() { m_uiCrusadersHammer_Timer = 8000; - m_uiCrusaderStrike_Timer = 14000; - m_uiMindBlast_Timer = 17000; + m_uiCrusaderStrike_Timer = 12000; + m_uiMindBlast_Timer = 6000; m_uiHolyStrike_Timer = 18000; m_uiShadowShock_Timer = 4000; m_uiPsychicScream_Timer = 16000; m_uiDeepSleep_Timer = 20000; - m_uiShadowBoltVolley_Timer = 9000; m_uiMindControl_Timer = 10000; m_bTransformed = false; @@ -118,6 +115,13 @@ struct TRINITY_DLL_DECL boss_dathrohan_balnazzarAI : public ScriptedAI //START NOT TRANSFORMED if (!m_bTransformed) { + //MindBlast + if (m_uiMindBlast_Timer < uiDiff) + { + DoCast(m_creature->getVictim(),SPELL_MINDBLAST); + m_uiMindBlast_Timer = 15000 + rand()%5000; + }else m_uiMindBlast_Timer -= uiDiff; + //CrusadersHammer if (m_uiCrusadersHammer_Timer < uiDiff) { @@ -132,13 +136,6 @@ struct TRINITY_DLL_DECL boss_dathrohan_balnazzarAI : public ScriptedAI m_uiCrusaderStrike_Timer = 15000; }else m_uiCrusaderStrike_Timer -= uiDiff; - //MindBlast - if (m_uiMindBlast_Timer < uiDiff) - { - DoCast(m_creature->getVictim(),SPELL_MINDBLAST); - m_uiMindBlast_Timer = 10000; - }else m_uiMindBlast_Timer -= uiDiff; - //HolyStrike if (m_uiHolyStrike_Timer < uiDiff) { @@ -164,7 +161,7 @@ struct TRINITY_DLL_DECL boss_dathrohan_balnazzarAI : public ScriptedAI if (m_uiMindBlast_Timer < uiDiff) { DoCast(m_creature->getVictim(),SPELL_MINDBLAST); - m_uiMindBlast_Timer = 10000; + m_uiMindBlast_Timer = 15000 + rand()%5000; }else m_uiMindBlast_Timer -= uiDiff; //ShadowShock @@ -192,13 +189,6 @@ struct TRINITY_DLL_DECL boss_dathrohan_balnazzarAI : public ScriptedAI m_uiDeepSleep_Timer = 15000; }else m_uiDeepSleep_Timer -= uiDiff; - //ShadowBoltVolley - if (m_uiShadowBoltVolley_Timer < uiDiff) - { - DoCast(m_creature->getVictim(),SPELL_SHADOWBOLTVOLLEY); - m_uiShadowBoltVolley_Timer = 13000; - }else m_uiShadowBoltVolley_Timer -= uiDiff; - //MindControl if (m_uiMindControl_Timer < uiDiff) { diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp b/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp index 926a751c7cd..36b915539c9 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp +++ b/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp @@ -25,43 +25,46 @@ EndScriptData */ #include "def_zulaman.h" #include "GridNotifiers.h" -#define SAY_AGGRO -1568000 -#define SAY_FIRE_BOMBS -1568001 -#define SAY_SUMMON_HATCHER -1568002 -#define SAY_ALL_EGGS -1568003 -#define SAY_BERSERK -1568004 -#define SAY_SLAY_1 -1568005 -#define SAY_SLAY_2 -1568006 -#define SAY_DEATH -1568007 -#define SAY_EVENT_STRANGERS -1568008 -#define SAY_EVENT_FRIENDS -1568009 +enum +{ + SAY_AGGRO = -1568000, + SAY_FIRE_BOMBS = -1568001, + SAY_SUMMON_HATCHER = -1568002, + SAY_ALL_EGGS = -1568003, + SAY_BERSERK = -1568004, + SAY_SLAY_1 = -1568005, + SAY_SLAY_2 = -1568006, + SAY_DEATH = -1568007, + SAY_EVENT_STRANGERS = -1568008, + SAY_EVENT_FRIENDS = -1568009, // Jan'alai -// --Spell -#define SPELL_FLAME_BREATH 43140 -#define SPELL_FIRE_WALL 43113 -#define SPELL_ENRAGE 44779 -#define SPELL_SUMMON_PLAYERS 43097 -#define SPELL_TELE_TO_CENTER 43098 // coord -#define SPELL_HATCH_ALL 43144 -#define SPELL_BERSERK 45078 + SPELL_FLAME_BREATH = 43140, + SPELL_FIRE_WALL = 43113, + SPELL_ENRAGE = 44779, + SPELL_SUMMON_PLAYERS = 43097, + SPELL_TELE_TO_CENTER = 43098, // coord + SPELL_HATCH_ALL = 43144, + SPELL_BERSERK = 45078, + // -- Fire Bob Spells -#define SPELL_FIRE_BOMB_CHANNEL 42621 // last forever -#define SPELL_FIRE_BOMB_THROW 42628 // throw visual -#define SPELL_FIRE_BOMB_DUMMY 42629 // bomb visual -#define SPELL_FIRE_BOMB_DAMAGE 42630 + SPELL_FIRE_BOMB_CHANNEL = 42621, // last forever + SPELL_FIRE_BOMB_THROW = 42628, // throw visual + SPELL_FIRE_BOMB_DUMMY = 42629, // bomb visual + SPELL_FIRE_BOMB_DAMAGE = 42630, // --Summons -#define MOB_AMANI_HATCHER 23818 -#define MOB_HATCHLING 23598 // 42493 -#define MOB_EGG 23817 -#define MOB_FIRE_BOMB 23920 + MOB_AMANI_HATCHER = 23818, + MOB_HATCHLING = 23598, // 42493 + MOB_EGG = 23817, + MOB_FIRE_BOMB = 23920, // -- Hatcher Spells -#define SPELL_HATCH_EGG 43734 // 42471 + SPELL_HATCH_EGG = 43734, // 42471 // -- Hatchling Spells -#define SPELL_FLAMEBUFFET 43299 + SPELL_FLAMEBUFFET = 43299 +}; const int area_dx = 44; const int area_dy = 51; @@ -139,7 +142,7 @@ struct TRINITY_DLL_DECL boss_janalaiAI : public ScriptedAI BombSequenceTimer = 1000; BombCount = 0; HatcherTimer = 10000; - EnrageTimer = 300000; + EnrageTimer = MINUTE*5*IN_MILISECONDS; ResetTimer = 5000; noeggs = false; |