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