mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-23 05:36:23 +00:00
fix(Script/PitOfSaron): Pit of Saron - Remove hardcode and duplicated texts in DB (#15160)
This commit is contained in:
@@ -27,18 +27,16 @@
|
||||
|
||||
enum Yells
|
||||
{
|
||||
SAY_AGGRO = 14,
|
||||
SAY_SLAY_1 = 15,
|
||||
SAY_DEATH = 17,
|
||||
SAY_FORGE_1 = 18,
|
||||
SAY_FORGE_2 = 19,
|
||||
|
||||
SAY_BOULDER_HIT = 16,
|
||||
EMOTE_DEEP_FREEZE = 23,
|
||||
SAY_AGGRO = 0,
|
||||
SAY_HP_66 = 1,
|
||||
SAY_HP_33 = 2,
|
||||
SAY_DEATH = 3,
|
||||
SAY_SLAY = 4,
|
||||
SAY_BOULDER_HIT = 5,
|
||||
WHISPER_BOULDER = 6,
|
||||
EMOTE_DEEP_FREEZE = 7,
|
||||
};
|
||||
|
||||
#define EMOTE_THROW_SARONITE "%s hurls a massive saronite boulder at you!"
|
||||
|
||||
enum MiscData
|
||||
{
|
||||
EQUIP_ID_SWORD = 49345,
|
||||
@@ -158,14 +156,14 @@ public:
|
||||
{
|
||||
me->SetControlled(true, UNIT_STATE_ROOT);
|
||||
me->CastSpell(me, SPELL_FORGE_BLADE, false);
|
||||
Talk(SAY_FORGE_1);
|
||||
Talk(SAY_HP_66);
|
||||
}
|
||||
else if (phase == 2)
|
||||
{
|
||||
me->SetControlled(true, UNIT_STATE_ROOT);
|
||||
me->RemoveAurasDueToSpell(SPELL_FORGE_BLADE);
|
||||
me->CastSpell(me, SPELL_FORGE_MACE, false);
|
||||
Talk(SAY_FORGE_2);
|
||||
Talk(SAY_HP_33);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -244,9 +242,7 @@ public:
|
||||
bCanSayBoulderHit = true;
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 140.0f, true))
|
||||
{
|
||||
WorldPacket data;
|
||||
ChatHandler::BuildChatPacket(data, CHAT_MSG_RAID_BOSS_EMOTE, LANG_UNIVERSAL, me, nullptr, EMOTE_THROW_SARONITE);
|
||||
target->ToPlayer()->GetSession()->SendPacket(&data);
|
||||
Talk(WHISPER_BOULDER, target);
|
||||
me->CastSpell(target, SPELL_THROW_SARONITE, false);
|
||||
}
|
||||
events.RepeatEvent(urand(12500, 20000));
|
||||
@@ -286,7 +282,7 @@ public:
|
||||
void KilledUnit(Unit* who) override
|
||||
{
|
||||
if (who->GetTypeId() == TYPEID_PLAYER)
|
||||
Talk(SAY_SLAY_1);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void EnterEvadeMode(EvadeReason why) override
|
||||
|
||||
@@ -28,19 +28,18 @@
|
||||
|
||||
enum Yells
|
||||
{
|
||||
SAY_AGGRO = 24,
|
||||
SAY_SLAY_1 = 25,
|
||||
SAY_SLAY_2 = 26,
|
||||
SAY_ORDER_STOP = 27,
|
||||
SAY_ORDER_BLOW = 28,
|
||||
SAY_TARGET_1 = 29,
|
||||
SAY_TARGET_2 = 30,
|
||||
SAY_TARGET_3 = 31,
|
||||
EMOTE_KRICK_MINES = 32,
|
||||
EMOTE_ICK_POISON = 33,
|
||||
};
|
||||
// Ick
|
||||
EMOTE_ICK_POISON_NOVA = 0,
|
||||
EMOTE_ICK_CHASE = 1,
|
||||
|
||||
#define EMOTE_ICK_CHASING "%s is chasing you!"
|
||||
// Krick
|
||||
SAY_AGGRO = 0,
|
||||
SAY_SLAY = 1,
|
||||
SAY_BARRAGE_1 = 2,
|
||||
SAY_BARRAGE_2 = 3,
|
||||
SAY_POISON_NOVA = 4,
|
||||
SAY_CHASE = 5,
|
||||
};
|
||||
|
||||
enum Spells
|
||||
{
|
||||
@@ -119,11 +118,7 @@ public:
|
||||
return;
|
||||
if (spell->Id == SPELL_PURSUIT && target->GetTypeId() == TYPEID_PLAYER)
|
||||
{
|
||||
WorldPacket data;
|
||||
|
||||
ChatHandler::BuildChatPacket(data, CHAT_MSG_RAID_BOSS_EMOTE, LANG_UNIVERSAL, me, nullptr, EMOTE_ICK_CHASING);
|
||||
target->ToPlayer()->GetSession()->SendPacket(&data);
|
||||
|
||||
Talk(EMOTE_ICK_CHASE, target);
|
||||
AttackStart(target);
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
events.RescheduleEvent(EVENT_SET_REACT_AGGRESSIVE, 12000);
|
||||
@@ -222,23 +217,23 @@ public:
|
||||
{
|
||||
case 0: // Pursuit
|
||||
if (Creature* k = GetKrick())
|
||||
k->AI()->Talk(RAND(SAY_TARGET_1, SAY_TARGET_2, SAY_TARGET_3));
|
||||
k->AI()->Talk(SAY_CHASE);
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 70.0f, true))
|
||||
me->CastSpell(target, SPELL_PURSUIT, false);
|
||||
break;
|
||||
case 1: // Poison Nova
|
||||
if (Creature* k = GetKrick())
|
||||
{
|
||||
k->AI()->Talk(SAY_ORDER_BLOW);
|
||||
Talk(EMOTE_ICK_POISON);
|
||||
k->AI()->Talk(SAY_POISON_NOVA);
|
||||
Talk(EMOTE_ICK_POISON_NOVA);
|
||||
}
|
||||
me->CastSpell(me, SPELL_POISON_NOVA, false);
|
||||
break;
|
||||
case 2: // Explosive Barrage
|
||||
if (Creature* k = GetKrick())
|
||||
{
|
||||
k->AI()->Talk(SAY_ORDER_STOP);
|
||||
k->AI()->Talk(EMOTE_KRICK_MINES);
|
||||
k->AI()->Talk(SAY_BARRAGE_1);
|
||||
k->AI()->Talk(SAY_BARRAGE_2);
|
||||
k->InterruptNonMeleeSpells(false);
|
||||
me->InterruptNonMeleeSpells(false);
|
||||
k->CastSpell(k, SPELL_EXPLOSIVE_BARRAGE_KRICK, false);
|
||||
@@ -270,7 +265,7 @@ public:
|
||||
|
||||
if (who->GetTypeId() == TYPEID_PLAYER)
|
||||
if (Creature* k = GetKrick())
|
||||
k->AI()->Talk(RAND(SAY_SLAY_1, SAY_SLAY_2));
|
||||
k->AI()->Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* /*summon*/) override
|
||||
|
||||
@@ -22,14 +22,13 @@
|
||||
|
||||
enum Texts
|
||||
{
|
||||
SAY_AGGRO = 53,
|
||||
SAY_SLAY_1 = 54,
|
||||
SAY_SLAY_2 = 55,
|
||||
SAY_DEATH = 56,
|
||||
SAY_MARK = 57,
|
||||
SAY_SMASH = 58,
|
||||
EMOTE_RIMEFANG_ICEBOLT = 59,
|
||||
EMOTE_SMASH = 60,
|
||||
SAY_AGGRO = 2,
|
||||
SAY_SLAY = 3,
|
||||
SAY_DEATH = 4,
|
||||
SAY_MARK = 5,
|
||||
EMOTE_MARK = 6,
|
||||
SAY_DARK_MIGHT = 7,
|
||||
EMOTE_DARK_MIGHT = 8,
|
||||
};
|
||||
|
||||
enum Spells
|
||||
@@ -166,8 +165,8 @@ public:
|
||||
events.RepeatEvent(3000);
|
||||
break;
|
||||
case EVENT_SPELL_UNHOLY_POWER:
|
||||
Talk(SAY_SMASH);
|
||||
Talk(EMOTE_SMASH);
|
||||
Talk(SAY_DARK_MIGHT);
|
||||
Talk(EMOTE_DARK_MIGHT);
|
||||
me->CastSpell(me, SPELL_UNHOLY_POWER, false);
|
||||
|
||||
events.ScheduleEvent(EVENT_SPELL_FORCEFUL_SMASH, urand(40000, 48000));
|
||||
@@ -188,7 +187,7 @@ public:
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_RIMEFANG_GUID)))
|
||||
{
|
||||
Talk(SAY_MARK);
|
||||
c->AI()->Talk(EMOTE_RIMEFANG_ICEBOLT, target);
|
||||
Talk(EMOTE_MARK, target);
|
||||
c->CastSpell(target, RIMEFANG_SPELL_HOARFROST, false);
|
||||
}
|
||||
events.RepeatEvent(25000);
|
||||
@@ -211,7 +210,7 @@ public:
|
||||
void KilledUnit(Unit* who) override
|
||||
{
|
||||
if (who->GetTypeId() == TYPEID_PLAYER)
|
||||
Talk(RAND(SAY_SLAY_1, SAY_SLAY_2));
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
bool CanAIAttack(Unit const* who) const override
|
||||
|
||||
@@ -175,7 +175,7 @@ public:
|
||||
|
||||
events.RescheduleEvent(7, 5000);
|
||||
break;
|
||||
case 7:
|
||||
case 7: /// @todo: (Initial RP, when zoning in the instance) is not complete.
|
||||
if (pInstance)
|
||||
{
|
||||
if (Creature* n1 = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_NECROLYTE_1_GUID)))
|
||||
@@ -929,7 +929,7 @@ public:
|
||||
if (pInstance)
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_TYRANNUS_GUID)))
|
||||
{
|
||||
c->AI()->Talk(SAY_PREFIGHT_1);
|
||||
c->AI()->Talk(SAY_BOSS_TYRANNUS_INTRO_1);
|
||||
c->SetImmuneToPC(false);
|
||||
c->SetReactState(REACT_AGGRESSIVE);
|
||||
//c->ClearUnitState(UNIT_STATE_ONVEHICLE);
|
||||
@@ -1034,7 +1034,7 @@ public:
|
||||
case 3:
|
||||
if (pInstance)
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_TYRANNUS_GUID)))
|
||||
c->AI()->Talk(SAY_PREFIGHT_2);
|
||||
c->AI()->Talk(SAY_BOSS_TYRANNUS_INTRO_2);
|
||||
|
||||
me->SetFacingTo(5.26f);
|
||||
me->SetOrientation(5.26f);
|
||||
@@ -1203,7 +1203,9 @@ public:
|
||||
break;
|
||||
case 1:
|
||||
if (me->GetEntry() == NPC_JAINA_PART2)
|
||||
{
|
||||
Talk(SAY_JAINA_OUTRO_3);
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
|
||||
@@ -145,16 +145,17 @@ enum eSpells
|
||||
*** INTRO:
|
||||
************/
|
||||
|
||||
enum eIntroTexts
|
||||
// Tyrannus speaker - NPC_TYRANNUS_EVENT
|
||||
enum eIntroTexts // Before Cave
|
||||
{
|
||||
SAY_TYRANNUS_INTRO_1 = 1,
|
||||
SAY_TYRANNUS_INTRO_1 = 4,
|
||||
SAY_JAINA_INTRO_1 = 2,
|
||||
SAY_SYLVANAS_INTRO_1 = 3,
|
||||
SAY_TYRANNUS_INTRO_2 = 4,
|
||||
SAY_TYRANNUS_INTRO_3 = 5,
|
||||
SAY_TYRANNUS_INTRO_2 = 5,
|
||||
SAY_TYRANNUS_INTRO_3 = 6,
|
||||
SAY_JAINA_INTRO_2 = 6,
|
||||
SAY_SYLVANAS_INTRO_2 = 7,
|
||||
SAY_TYRANNUS_INTRO_4 = 8,
|
||||
SAY_TYRANNUS_INTRO_4 = 7,
|
||||
SAY_JAINA_INTRO_3 = 9,
|
||||
SAY_JAINA_INTRO_4 = 10,
|
||||
SAY_SYLVANAS_INTRO_3 = 11,
|
||||
@@ -206,7 +207,7 @@ const ChampionPosition introPositions[] =
|
||||
enum eFBSTexts
|
||||
{
|
||||
SAY_GENERAL_GARFROST = 21,
|
||||
SAY_TYRANNUS_GARFROST = 20,
|
||||
SAY_TYRANNUS_GARFROST = 0,
|
||||
};
|
||||
|
||||
const Position FBSSpawnPos = {695.685f, -118.825f, 513.877f, 3 * M_PI / 2};
|
||||
@@ -240,18 +241,18 @@ const Position SBSTyrannusStartPos = {781.127f, 265.825f, 552.31f, 0.0f};
|
||||
const Position SBSLeaderStartPos = {772.716f, 111.517f, 510.81f, 0.0f};
|
||||
const Position SBSLeaderEndPos = {823.2f, -4.4497f, 509.49f, 0.86f};
|
||||
|
||||
enum eSBSTexts
|
||||
enum eSBSTexts // Ick outro
|
||||
{
|
||||
SAY_OUTRO_KRICK_1 = 35,
|
||||
SAY_OUTRO_KRICK_1 = 6,
|
||||
SAY_JAINA_KRICK_1 = 36,
|
||||
SAY_SYLVANAS_KRICK_1 = 37,
|
||||
SAY_OUTRO_KRICK_2 = 38,
|
||||
SAY_OUTRO_KRICK_2 = 7,
|
||||
SAY_JAINA_KRICK_2 = 39,
|
||||
SAY_SYLVANAS_KRICK_2 = 40,
|
||||
SAY_OUTRO_KRICK_3 = 41,
|
||||
SAY_TYRANNUS_KRICK_1 = 42,
|
||||
SAY_OUTRO_KRICK_4 = 43,
|
||||
SAY_TYRANNUS_KRICK_2 = 44,
|
||||
SAY_OUTRO_KRICK_3 = 8,
|
||||
SAY_TYRANNUS_KRICK_1 = 0,
|
||||
SAY_OUTRO_KRICK_4 = 9,
|
||||
SAY_TYRANNUS_KRICK_2 = 1,
|
||||
SAY_JAINA_KRICK_3 = 45,
|
||||
SAY_SYLVANAS_KRICK_3 = 46,
|
||||
};
|
||||
@@ -266,9 +267,9 @@ const Position PTSTyrannusWaitPos3 = {1117.93f, -125.16f, 760.34f, 0.10f};
|
||||
|
||||
enum ePTSTexts
|
||||
{
|
||||
SAY_TYRANNUS_AMBUSH_1 = 47,
|
||||
SAY_TYRANNUS_AMBUSH_2 = 48,
|
||||
SAY_TYRANNUS_TRAP_TUNNEL = 49,
|
||||
SAY_TYRANNUS_AMBUSH_1 = 2, // NPC_TYRANNUS_EVENT
|
||||
SAY_TYRANNUS_AMBUSH_2 = 3, // NPC_TYRANNUS_EVENT
|
||||
SAY_TYRANNUS_TRAP_TUNNEL = 1, // NPC_TYRANNUS_VOICE
|
||||
};
|
||||
|
||||
/************
|
||||
@@ -313,10 +314,9 @@ const TSPosition TSData[] =
|
||||
|
||||
enum eTSTexts
|
||||
{
|
||||
SAY_PREFIGHT_1 = 50,
|
||||
SAY_BOSS_TYRANNUS_INTRO_1 = 0,
|
||||
SAY_GENERAL_HORDE_TRASH = 51,
|
||||
SAY_PREFIGHT_2 = 52,
|
||||
SAY_PREFIGHT_AGGRO = 53,
|
||||
SAY_BOSS_TYRANNUS_INTRO_2 = 1,
|
||||
|
||||
SAY_GENERAL_HORDE_OUTRO_1 = 61,
|
||||
SAY_GENERAL_OUTRO_2 = 62,
|
||||
|
||||
Reference in New Issue
Block a user