Core/Script: Add some talks for Zul'Gurub

This commit is contained in:
Vincent_Michael
2012-12-24 21:35:34 +01:00
parent f43b9df400
commit d3d9dfd734
7 changed files with 163 additions and 70 deletions

View File

@@ -22,6 +22,22 @@
enum Yells
{
// Jin'do the Godbreaker
SAY_INTRO = 0,
SAY_AGGRO = 1,
EMOTE_SHADOWS_OF_HAKKAR = 2, // ID - 97172 Shadows of Hakkar
SAY_JINDO_SPIRIT_PHASE = 3,
//SAY_PLAYER_KILL = 4, // missing data
// Spirit of Hakkar
SAY_SPIRIT_SPIRIT_PHASE = 0,
SAY_SPIRIT_DEFEATED = 1,
// Jin'do the Godbreaker - Trigger
SAY_JINDO_DEFEATED = 0,
// Shadow of Hakkar
SAY_SHADOW_DEFEATED = 0,
};
enum Spells
@@ -39,16 +55,17 @@ class boss_jindo_the_godbreaker : public CreatureScript
struct boss_jindo_the_godbreakerAI : public BossAI
{
boss_jindo_the_godbreakerAI(Creature* creature) : BossAI(creature, DATA_JINDO)
{
}
boss_jindo_the_godbreakerAI(Creature* creature) : BossAI(creature, DATA_JINDO) { }
void Reset()
{
_Reset();
}
void EnterCombat(Unit* /*who*/)
{
_EnterCombat();
Talk(SAY_AGGRO);
}
void JustDied(Unit* /*killer*/)

View File

@@ -23,6 +23,12 @@
enum Yells
{
SAY_AGGRO = 0,
SAY_WAVE_OF_AGONY = 1, // ID - 96457 Wave of Agony
SAY_TRANSFROM_1 = 2,
SAY_TRANSFROM_2 = 3,
SAY_PLAYER_KILL = 4,
SAY_DEATH = 5
};
enum Spells
@@ -40,20 +46,29 @@ class boss_kilnara : public CreatureScript
struct boss_kilnaraAI : public BossAI
{
boss_kilnaraAI(Creature* creature) : BossAI(creature, DATA_KILNARA)
{
}
boss_kilnaraAI(Creature* creature) : BossAI(creature, DATA_KILNARA) { }
void Reset()
{
_Reset();
}
void EnterCombat(Unit* /*who*/)
{
_EnterCombat();
Talk(SAY_AGGRO);
}
void JustDied(Unit* /*killer*/)
{
_JustDied();
Talk(SAY_DEATH);
}
void KilledUnit(Unit* victim)
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_PLAYER_KILL);
}
void UpdateAI(uint32 const diff)

View File

@@ -22,6 +22,14 @@
enum Yells
{
SAY_AGGRO = 0,
SAY_PLAYER_KILL = 1,
SAY_DISMOUNT_OHGAN = 2,
EMOTE_DEVASTATING_SLAM = 3, // ID - 96739 Devastating Slam
SAY_REANIMATE_OHGAN = 4, // ID - 96724 Reanimate Ohgan
EMOTE_FRENZY = 5, // ID - 96800 Frenzy
SAY_FRENZY = 6, // ID - 96800 Frenzy
SAY_DEATH = 7
};
enum Spells
@@ -44,18 +52,25 @@ class boss_mandokir : public CreatureScript
void Reset()
{
}
void KilledUnit(Unit* /*victim*/)
{
_Reset();
}
void EnterCombat(Unit* /*who*/)
{
_EnterCombat();
Talk(SAY_AGGRO);
}
void JustDied(Unit* /*killer*/)
{
_JustDied();
Talk(SAY_DEATH);
}
void KilledUnit(Unit* victim)
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_PLAYER_KILL);
}
void UpdateAI(uint32 const diff)

View File

@@ -24,6 +24,14 @@
enum Yells
{
SAY_AGGRO = 0,
SAY_BLOODVENOM = 1, // ID - 96842 Venomous Effusion
SAY_TRANSFROM = 2, // ID - 97354 Blessing of the Snake God
SAY_WORD_OF_HETHISS = 3, // ID - 96560 Word of Hethiss
EMOTE_BLOODVENOM = 4, // ID - 96842 Bloodvenom
EMOTE_VENOM_WITHDRAWAL = 5, // ID - 96653 Venom Withdrawal
SAY_PLAYER_KILL = 6,
SAY_DEATH = 7
};
enum Spells
@@ -41,24 +49,29 @@ class boss_venoxis : public CreatureScript
struct boss_venoxisAI : public BossAI
{
boss_venoxisAI(Creature* creature) : BossAI(creature, DATA_VENOXIS)
{
}
boss_venoxisAI(Creature* creature) : BossAI(creature, DATA_VENOXIS) { }
void Reset()
{
_Reset();
}
void EnterCombat(Unit* /*who*/)
{
}
void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/)
{
_EnterCombat();
Talk(SAY_AGGRO);
}
void JustDied(Unit* /*killer*/)
{
_JustDied();
Talk(SAY_DEATH);
}
void KilledUnit(Unit* victim)
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_PLAYER_KILL);
}
void UpdateAI(uint32 const diff)

View File

@@ -22,6 +22,15 @@
enum Yells
{
SAY_AGGRO = 0,
EMOTE_ZANZIL_ZOMBIES = 1, // ID - 96319 Zanzil's Resurrection Elixir
SAY_ZANZIL_ZOMBIES = 2, // ID - 96319 Zanzil's Resurrection Elixir
EMOTE_ZANZIL_GRAVEYARD_GAS = 3, // ID - 96338 Zanzil's Graveyard Gas
SAY_ZANZIL_GRAVEYARD_GAS = 4, // ID - 96338 Zanzil's Graveyard Gas
EMOTE_ZANZIL_BERSEKER = 5, // ID - 96316 Zanzil's Resurrection Elixir
SAY_ZANZIL_BERSEKER = 6, // ID - 96316 Zanzil's Resurrection Elixir
SAY_PLAYER_KILL = 7,
SAY_DEATH = 8
};
enum Spells
@@ -39,20 +48,29 @@ class boss_zanzil : public CreatureScript
struct boss_zanzilAI : public BossAI
{
boss_zanzilAI(Creature* creature) : BossAI(creature, DATA_ZANZIL)
{
}
boss_zanzilAI(Creature* creature) : BossAI(creature, DATA_ZANZIL) { }
void Reset()
{
_Reset();
}
void EnterCombat(Unit* /*who*/)
{
_EnterCombat();
Talk(SAY_AGGRO);
}
void JustDied(Unit* /*killer*/)
{
_JustDied();
Talk(SAY_DEATH);
}
void KilledUnit(Unit* victim)
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_PLAYER_KILL);
}
void UpdateAI(uint32 const diff)

View File

@@ -30,50 +30,54 @@ class instance_zulgurub : public InstanceMapScript
instance_zulgurub_InstanceMapScript(Map* map) : InstanceScript(map)
{
SetBossNumber(EncounterCount);
venoxisGUID = 0;
mandokirGUID = 0;
kilnaraGUID = 0;
zanzilGUID = 0;
jindoGUID = 0;
hazzarahGUID = 0;
renatakiGUID = 0;
wushoolayGUID = 0;
grilekGUID = 0;
venoxisGUID = 0;
mandokirGUID = 0;
kilnaraGUID = 0;
zanzilGUID = 0;
jindoGUID = 0;
hazzarahGUID = 0;
renatakiGUID = 0;
wushoolayGUID = 0;
grilekGUID = 0;
jindoTiggerGUID = 0;
}
void OnCreatureCreate(Creature* creature)
{
switch (creature->GetEntry())
{
case NPC_VENOXIS:
venoxisGUID = creature->GetGUID();
break;
case NPC_MANDOKIR:
mandokirGUID = creature->GetGUID();
break;
case NPC_KILNARA:
kilnaraGUID = creature->GetGUID();
break;
case NPC_ZANZIL:
zanzilGUID = creature->GetGUID();
break;
case NPC_JINDO:
jindoGUID = creature->GetGUID();
break;
case NPC_HAZZARAH:
hazzarahGUID = creature->GetGUID();
break;
case NPC_RENATAKI:
renatakiGUID = creature->GetGUID();
break;
case NPC_WUSHOOLAY:
wushoolayGUID = creature->GetGUID();
break;
case NPC_GRILEK:
grilekGUID = creature->GetGUID();
break;
default:
break;
case NPC_VENOXIS:
venoxisGUID = creature->GetGUID();
break;
case NPC_MANDOKIR:
mandokirGUID = creature->GetGUID();
break;
case NPC_KILNARA:
kilnaraGUID = creature->GetGUID();
break;
case NPC_ZANZIL:
zanzilGUID = creature->GetGUID();
break;
case NPC_JINDO:
jindoGUID = creature->GetGUID();
break;
case NPC_HAZZARAH:
hazzarahGUID = creature->GetGUID();
break;
case NPC_RENATAKI:
renatakiGUID = creature->GetGUID();
break;
case NPC_WUSHOOLAY:
wushoolayGUID = creature->GetGUID();
break;
case NPC_GRILEK:
grilekGUID = creature->GetGUID();
break;
case NPC_JINDO_TRIGGER:
jindoTiggerGUID = creature->GetGUID();
break;
default:
break;
}
}
@@ -84,18 +88,18 @@ class instance_zulgurub : public InstanceMapScript
switch (type)
{
case DATA_VENOXIS:
case DATA_MANDOKIR:
case DATA_KILNARA:
case DATA_ZANZIL:
case DATA_JINDO:
case DATA_HAZZARAH:
case DATA_RENATAKI:
case DATA_WUSHOOLAY:
case DATA_GRILEK:
break;
default:
break;
case DATA_VENOXIS:
case DATA_MANDOKIR:
case DATA_KILNARA:
case DATA_ZANZIL:
case DATA_JINDO:
case DATA_HAZZARAH:
case DATA_RENATAKI:
case DATA_WUSHOOLAY:
case DATA_GRILEK:
break;
default:
break;
}
return true;
@@ -141,6 +145,8 @@ class instance_zulgurub : public InstanceMapScript
return wushoolayGUID;
case DATA_GRILEK:
return grilekGUID;
case DATA_JINDOR_TRIGGER:
return jindoTiggerGUID;
default:
break;
}
@@ -202,6 +208,7 @@ class instance_zulgurub : public InstanceMapScript
uint64 renatakiGUID;
uint64 wushoolayGUID;
uint64 grilekGUID;
uint64 jindoTiggerGUID;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const

View File

@@ -36,6 +36,9 @@ enum DataTypes
DATA_RENATAKI = 6,
DATA_WUSHOOLAY = 7,
DATA_GRILEK = 8,
// Jin'do the Godbreaker
DATA_JINDOR_TRIGGER,
};
enum CreatureIds
@@ -51,6 +54,11 @@ enum CreatureIds
NPC_RENATAKI = 52269,
NPC_WUSHOOLAY = 52286,
NPC_GRILEK = 52258,
// Jin'do the Godbreaker
NPC_JINDO_TRIGGER = 52150,
NPC_SPIRIT_OF_HAKKAR = 52222,
NPC_SHADOW_OF_HAKKAR = 52650
};
template<class AI>