*Merge.
--HG-- branch : trunk
This commit is contained in:
+58
-58
@@ -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->getVictim(),SPELL_RENEW6 || SPELL_FLASHHEAL4);
|
||||
Healing_Timer = 30000;
|
||||
}else Healing_Timer -= diff;
|
||||
DoCast(m_creature,SPELL_HEAL);
|
||||
Heal_Timer = 30000;
|
||||
}else Heal_Timer -= diff;
|
||||
|
||||
//Sleep2_Timer
|
||||
if (Sleep2_Timer < diff)
|
||||
//Fear_Timer
|
||||
if (Fear_Timer < diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SLEEP2);
|
||||
Sleep2_Timer = 45000;
|
||||
}else Sleep2_Timer -= diff;
|
||||
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,1))
|
||||
DoCast(target,SPELL_FEAR);
|
||||
|
||||
//Smite_Timer
|
||||
if (Smite_Timer < diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SMITE);
|
||||
Smite_Timer = 20000;
|
||||
}else Smite_Timer -= diff;
|
||||
Fear_Timer = 40000;
|
||||
}else Fear_Timer -= diff;
|
||||
|
||||
//ShadowWordPain_Timer
|
||||
if (ShadowWordPain_Timer < diff)
|
||||
//Sleep_Timer
|
||||
if (Sleep_Timer < diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SHADOWWORDPAIN);
|
||||
ShadowWordPain_Timer = 30000;
|
||||
}else ShadowWordPain_Timer -= diff;
|
||||
if (Unit* target = SelectUnit(SELECT_TARGET_TOPAGGRO,0))
|
||||
DoCast(target,SPELL_SLEEP);
|
||||
|
||||
Sleep_Timer = 30000;
|
||||
}else Sleep_Timer -= diff;
|
||||
|
||||
//PowerWordShield_Timer
|
||||
if (!PowerWordShield && m_creature->GetHealth()*100 / m_creature->GetMaxHealth() <= 25)
|
||||
{
|
||||
DoCast(m_creature,SPELL_POWERWORDSHIELD);
|
||||
PowerWordShield = true;
|
||||
}
|
||||
|
||||
//Dispel_Timer
|
||||
if (Dispel_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();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user