fix(Scripts/XT002): Move hardcoded text/gossips to DB (#11652)
* xt * xt * codestyle im bad * cs * update
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user