mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-16 02:20:27 +00:00
fix(Scripts/Ignis): Move hardcoded text/gossips to DB (#11655)
* ignis * cs * revert victim
This commit is contained in:
@@ -57,26 +57,17 @@
|
||||
#define NPC_SCORCHED_GROUND 33123
|
||||
#define NPC_WATER_TRIGGER 22515
|
||||
|
||||
#define TEXT_AGGRO "Insolent whelps! Your blood will temper the weapons used to reclaim this world!"
|
||||
#define TEXT_ACTIVATE_CONSTRUCT "Arise, soldiers of the Iron Crucible! The Makers' will be done!"
|
||||
#define TEXT_SCORCH_1 "Let the inferno consume you!"
|
||||
#define TEXT_SCORCH_2 "BURN! Burn in the makers fire!"
|
||||
#define TEXT_SLAG_POT "I will burn away your impurities!"
|
||||
#define TEXT_SLAY_1 "More scraps for the scrapheap!"
|
||||
#define TEXT_SLAY_2 "Your bones will serve as kindling!"
|
||||
#define TEXT_BERSERK "Let it be finished!"
|
||||
#define TEXT_DEATH "I. Have. Failed."
|
||||
#define TEXT_FLAME_JETS "Ignis The Furnace Master begins to cast Flame Jets!"
|
||||
|
||||
#define SOUND_AGGRO 15564
|
||||
#define SOUND_ACTIVATE_CONSTRUCT 15565
|
||||
#define SOUND_SLAG_POT 15566
|
||||
#define SOUND_SCORCH_1 15567
|
||||
#define SOUND_SCORCH_2 15568
|
||||
#define SOUND_SLAY_1 15569
|
||||
#define SOUND_SLAY_2 15570
|
||||
#define SOUND_BERSERK 15571
|
||||
#define SOUND_DEATH 15572
|
||||
enum Texts
|
||||
{
|
||||
SAY_AGGRO = 0,
|
||||
SAY_SUMMON = 1,
|
||||
SAY_SLAG_POT = 2,
|
||||
SAY_SCORCH = 3,
|
||||
SAY_SLAY = 4,
|
||||
SAY_BERSERK = 5,
|
||||
SAY_DEATH = 6,
|
||||
EMOTE_JETS = 7,
|
||||
};
|
||||
|
||||
#define ACHIEV_STOKIN_THE_FURNACE_EVENT 20951
|
||||
|
||||
@@ -260,8 +251,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_SPELL_FLAME_JETS, 32000);
|
||||
events.ScheduleEvent(EVENT_GRAB, 25000);
|
||||
|
||||
me->Yell(TEXT_AGGRO, LANG_UNIVERSAL);
|
||||
me->PlayDirectSound(SOUND_AGGRO);
|
||||
Talk(SAY_AGGRO);
|
||||
DoZoneInCombat();
|
||||
|
||||
if( InstanceScript* m_pInstance = me->GetInstanceScript() )
|
||||
@@ -296,24 +286,15 @@ public:
|
||||
me->setActive(false);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* /*victim*/) override
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if( rand() % 2 )
|
||||
{
|
||||
me->Yell(TEXT_SLAY_1, LANG_UNIVERSAL);
|
||||
me->PlayDirectSound(SOUND_SLAY_1);
|
||||
}
|
||||
else
|
||||
{
|
||||
me->Yell(TEXT_SLAY_2, LANG_UNIVERSAL);
|
||||
me->PlayDirectSound(SOUND_SLAY_2);
|
||||
}
|
||||
if (victim->GetTypeId() == TYPEID_PLAYER)
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
me->Yell(TEXT_DEATH, LANG_UNIVERSAL);
|
||||
me->PlayDirectSound(SOUND_DEATH);
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
if( me->GetInstanceScript() )
|
||||
me->GetInstanceScript()->SetData(TYPE_IGNIS, DONE);
|
||||
@@ -357,27 +338,18 @@ public:
|
||||
case 0:
|
||||
break;
|
||||
case EVENT_ACTIVATE_CONSTRUCT:
|
||||
Talk(SAY_SUMMON);
|
||||
me->CastCustomSpell(SPELL_ACTIVATE_CONSTRUCT, SPELLVALUE_MAX_TARGETS, 1, (Unit*)nullptr, false);
|
||||
if (++counter >= 20)
|
||||
{
|
||||
me->Yell(TEXT_BERSERK, LANG_UNIVERSAL);
|
||||
me->PlayDirectSound(SOUND_BERSERK);
|
||||
Talk(SAY_BERSERK);
|
||||
me->CastSpell(me, SPELL_BERSERK, true);
|
||||
break;
|
||||
}
|
||||
events.RepeatEvent(RAID_MODE(40000, 30000));
|
||||
break;
|
||||
case EVENT_SPELL_SCORCH:
|
||||
if( rand() % 2 )
|
||||
{
|
||||
me->Yell(TEXT_SCORCH_1, LANG_UNIVERSAL);
|
||||
me->PlayDirectSound(SOUND_SCORCH_1);
|
||||
}
|
||||
else
|
||||
{
|
||||
me->Yell(TEXT_SCORCH_2, LANG_UNIVERSAL);
|
||||
me->PlayDirectSound(SOUND_SCORCH_2);
|
||||
}
|
||||
Talk(SAY_SCORCH);
|
||||
me->SetControlled(true, UNIT_STATE_ROOT);
|
||||
me->DisableRotate(true);
|
||||
me->SendMovementFlagUpdate();
|
||||
@@ -390,7 +362,7 @@ public:
|
||||
me->DisableRotate(false);
|
||||
break;
|
||||
case EVENT_SPELL_FLAME_JETS:
|
||||
me->TextEmote(TEXT_FLAME_JETS, nullptr, true);
|
||||
Talk(EMOTE_JETS);
|
||||
me->CastSpell(me->GetVictim(), S_FLAME_JETS, false);
|
||||
events.RepeatEvent(25000);
|
||||
break;
|
||||
@@ -429,8 +401,7 @@ public:
|
||||
int8 pos = urand(0, playerGUIDs.size() - 1);
|
||||
if( Player* pTarget = ObjectAccessor::GetPlayer(*me, playerGUIDs.at(pos)) )
|
||||
{
|
||||
me->Yell(TEXT_SLAG_POT, LANG_UNIVERSAL);
|
||||
me->PlayDirectSound(SOUND_SLAG_POT);
|
||||
Talk(SAY_SLAG_POT);
|
||||
me->CastSpell(pTarget, SPELL_GRAB, false);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user