fix(Scripts/XT002): Move hardcoded text/gossips to DB (#11652)

* xt

* xt

* codestyle

im bad

* cs

* update
This commit is contained in:
avarishd
2022-05-09 00:14:57 +03:00
committed by GitHub
parent 969cb68c35
commit 7b01b27bb2

View File

@@ -91,17 +91,20 @@ enum NPCs
NPC_PILE_TRIGGER = 33337,
};
enum Sounds
enum Texts
{
XT_SOUND_AGGRO = 15724,
XT_SOUND_HEART_OPEN = 15725,
XT_SOUND_HEART_CLOSED = 15726,
XT_SOUND_TANTARUM = 15727,
XT_SOUND_SLAY1 = 15728,
XT_SOUND_SLAY2 = 15729,
XT_SOUND_ENRAGE = 15730,
XT_SOUND_DEATH = 15731,
XT_SOUND_SUMMON = 15732,
SAY_AGGRO = 0,
SAY_HEART_OPENED = 1,
SAY_HEART_CLOSED = 2,
SAY_TYMPANIC_TANTRUM = 3,
SAY_SLAY = 4,
SAY_BERSERK = 5,
SAY_DEATH = 6,
SAY_SUMMON = 7,
EMOTE_HEART_OPENED = 8,
EMOTE_HEART_CLOSED = 9,
EMOTE_TYMPANIC_TANTRUM = 10,
EMOTE_SCRAPBOT = 11,
};
enum Misc
@@ -203,8 +206,7 @@ public:
RescheduleEvents(); // Other events are scheduled here
me->setActive(true);
me->Yell("New toys? For me? I promise I won't break them this time!", LANG_UNIVERSAL);
me->PlayDirectSound(XT_SOUND_AGGRO);
Talk(SAY_AGGRO);
if (m_pInstance)
{
@@ -223,23 +225,13 @@ public:
{
if (victim->GetTypeId() == TYPEID_PLAYER && !urand(0, 2))
{
if (urand(0, 1))
{
me->Yell("I... I think I broke it.", LANG_UNIVERSAL);
me->PlayDirectSound(XT_SOUND_SLAY1);
}
else
{
me->Yell("I guess it doesn't bend that way.", LANG_UNIVERSAL);
me->PlayDirectSound(XT_SOUND_SLAY2);
}
Talk(SAY_SLAY);
}
}
void JustDied(Unit* /*killer*/) override
{
me->Yell("You are bad... Toys... Very... Baaaaad!", LANG_UNIVERSAL);
me->PlayDirectSound(XT_SOUND_DEATH);
Talk(SAY_DEATH);
if (m_pInstance)
{
@@ -279,7 +271,7 @@ public:
me->CastSpell(me, SPELL_HEARTBREAK, true);
me->TextEmote("XT-002 Deconstructor's heart is severed from his body.", nullptr, true);
Talk(EMOTE_HEART_CLOSED);
events.ScheduleEvent(EVENT_REMOVE_EMOTE, 4000);
return;
}
@@ -329,8 +321,7 @@ public:
me->SetControlled(true, UNIT_STATE_STUNNED);
me->SetByteValue(UNIT_FIELD_BYTES_1, UNIT_BYTES_1_OFFSET_STAND_STATE, UNIT_STAND_STATE_SUBMERGED); // submerge with animation
me->Yell("So tired. I will rest for just a moment!", LANG_UNIVERSAL);
me->PlayDirectSound(XT_SOUND_HEART_OPEN);
Talk(SAY_HEART_OPENED);
events.CancelEventGroup(1);
events.ScheduleEvent(EVENT_START_SECOND_PHASE, 5000);
@@ -355,21 +346,19 @@ public:
events.ScheduleEvent(EVENT_GRAVITY_BOMB, 10000, 1);
break;
case EVENT_TYMPANIC_TANTARUM:
me->TextEmote("XT-002 Deconstructor begins to cause the earth to quake.", nullptr, true);
me->Yell("NO! NO! NO! NO! NO!", LANG_UNIVERSAL);
me->PlayDirectSound(XT_SOUND_TANTARUM);
Talk(EMOTE_TYMPANIC_TANTRUM);
Talk(SAY_TYMPANIC_TANTRUM);
me->CastSpell(me, SPELL_TYMPANIC_TANTARUM, true);
events.RepeatEvent(60000);
return;
case EVENT_ENRAGE:
me->Yell("I'm tired of these toys. I don't want to play anymore!", LANG_UNIVERSAL);
me->PlayDirectSound(XT_SOUND_ENRAGE);
Talk(SAY_BERSERK);
me->CastSpell(me, SPELL_XT002_ENRAGE, true);
break;
// Animation events
case EVENT_START_SECOND_PHASE:
me->TextEmote("XT-002 Deconstructor's heart is exposed and leaking energy.", nullptr, true);
Talk(EMOTE_HEART_OPENED);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
if (Unit* heart = me->GetVehicleKit() ? me->GetVehicleKit()->GetPassenger(HEART_VEHICLE_SEAT) : nullptr)
heart->GetAI()->DoAction(ACTION_AWAKEN_HEART);
@@ -383,8 +372,7 @@ public:
return;
}
me->Yell("I'm ready to play!", LANG_UNIVERSAL);
me->PlayDirectSound(XT_SOUND_HEART_CLOSED);
Talk(SAY_HEART_CLOSED);
me->SetByteValue(UNIT_FIELD_BYTES_1, UNIT_BYTES_1_OFFSET_STAND_STATE, UNIT_STAND_STATE_STAND); // emerge
// Hide heart
@@ -619,7 +607,7 @@ public:
}
if (!urand(0, 2))
me->TextEmote("XT-002 Deconstructor consumes scrap bot to repair himself.", nullptr, true);
pXT002->AI()->Talk(EMOTE_SCRAPBOT);
me->DespawnOrUnsummon(1);
}