refactor(Core/Unit): clean MonsterText methods (#6957)

This commit is contained in:
Kitzunu
2021-10-15 10:25:29 +02:00
committed by GitHub
parent 3c42a7d72d
commit bc82f36f1f
75 changed files with 750 additions and 672 deletions

View File

@@ -181,7 +181,7 @@ public:
break;
case EVENT_SPELL_RADIANCE:
me->CastSpell((Unit*)nullptr, SPELL_RADIANCE, false);
me->MonsterTextEmote(TEXT_RADIATE, 0, true);
me->TextEmote(TEXT_RADIATE, nullptr, true);
events.RepeatEvent(16000);
break;
case EVENT_SPELL_HAMMER_RIGHTEOUS:
@@ -189,7 +189,7 @@ public:
{
char buffer[100];
sprintf(buffer, "Eadric the Pure targets %s with the Hammer of the Righteous!", target->GetName().c_str());
me->MonsterTextEmote(buffer, 0, true);
me->TextEmote(buffer, nullptr, true);
Talk(TEXT_EADRIC_HAMMER);
me->CastSpell(target, SPELL_HAMMER_JUSTICE, true);
me->CastSpell(target, SPELL_HAMMER_RIGHTEOUS, false);

View File

@@ -249,7 +249,7 @@ public:
case EVENT_ANNOUNCER_SAY_ZOMBIE:
if( pInstance && !summons.empty() )
if( Creature* ghoul = pInstance->instance->GetCreature(*summons.begin()) )
ghoul->MonsterYell("[Zombie] .... . Brains ....", LANG_UNIVERSAL, 0);
ghoul->Yell("[Zombie] .... . Brains ....", LANG_UNIVERSAL);
break;
case EVENT_SPELL_PLAGUE_STRIKE:

View File

@@ -650,7 +650,7 @@ public:
{
char buffer[50];
sprintf(buffer, "%s is trampled!", me->GetName().c_str());
me->MonsterTextEmote(buffer, 0);
me->TextEmote(buffer);
}
break;
}

View File

@@ -878,7 +878,7 @@ public:
{
if( Creature* c = instance->GetCreature(NPC_JaraxxusGUID) )
{
c->MonsterYell("Banished to the Nether!", LANG_UNIVERSAL, 0);
c->Yell("Banished to the Nether!", LANG_UNIVERSAL);
c->PlayDirectSound(16146, 0);
if( Creature* f = instance->GetCreature(NPC_FizzlebangGUID) )
{

View File

@@ -1029,7 +1029,7 @@ public:
a->SetDuration(8000);
}
pMarwyn->MonsterTextEmote("Spirits appear and surround the altar!", 0, true);
pMarwyn->TextEmote("Spirits appear and surround the altar!", nullptr, true);
}
++ResumeFirstEventStep;
ResumeFirstEventTimer = 7500;

View File

@@ -834,7 +834,7 @@ public:
_bFordringMustFallYell = true;
if (Creature* tirion = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_HIGHLORD_TIRION_FORDRING)))
{
tirion->MonsterYell("The Lich King must fall!", LANG_UNIVERSAL, 0);
tirion->Yell("The Lich King must fall!", LANG_UNIVERSAL);
tirion->PlayDirectSound(17389);
}
}

View File

@@ -1640,7 +1640,7 @@ public:
std::string const& text = sCreatureTextMgr->GetLocalizedChatString(NPC_THE_LICH_KING_LH, 0, 20 + id, 0, LOCALE_enUS);
WorldPacket data;
ChatHandler::BuildChatPacket(data, CHAT_MSG_MONSTER_WHISPER, LANG_UNIVERSAL, ObjectGuid::Empty, player->GetGUID(), text, CHAT_TAG_NONE, "The Lich King");
player->SendPlaySound(17235 + id, true);
player->PlayDirectSound(17235 + id);
player->SendDirectMessage(&data);
}
}

View File

@@ -142,7 +142,7 @@ public:
case EVENT_MAGIC_PULL:
{
Talk(SAY_PULL);
//me->MonsterTextEmote(TEXT_MAGIC_PULL, 0, true);
//me->TextEmote(TEXT_MAGIC_PULL, nullptr, true);
me->CastSpell(me, SPELL_MAGIC_PULL, false);
events.RepeatEvent(urand(15000, 25000));

View File

@@ -219,7 +219,7 @@ public:
}
break;
case EVENT_SPELL_PLANAR_SHIFT:
//me->MonsterYell(TEXT_PLANAR_SHIFT_SAY, LANG_UNIVERSAL, 0);
//me->Yell(TEXT_PLANAR_SHIFT_SAY, LANG_UNIVERSAL);
Talk(SAY_SHIELD);
me->CastSpell(me, SPELL_PLANAR_SHIFT, false);
for( uint8 i = 0; i < 3; ++i )

View File

@@ -220,7 +220,7 @@ public:
if (pInstance)
if (Creature* brann = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_BRANN)))
{
brann->MonsterYell("What in the name o' Madoran did THAT do? Oh! Wait: I just about got it...", LANG_UNIVERSAL, 0);
brann->Yell("What in the name o' Madoran did THAT do? Oh! Wait: I just about got it...", LANG_UNIVERSAL);
brann->PlayDirectSound(14276);
}
}
@@ -229,7 +229,7 @@ public:
{
if (Creature* brann = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_BRANN)))
{
brann->MonsterYell("Ha, that did it! Help's a-comin'! Take this, ya glowin' iron brute!", LANG_UNIVERSAL, 0);
brann->Yell("Ha, that did it! Help's a-comin'! Take this, ya glowin' iron brute!", LANG_UNIVERSAL);
brann->PlayDirectSound(14277);
}
SummonPhase = PHASE_SUMMON_FRIENDLY_DWARFES;
@@ -276,7 +276,7 @@ public:
{
if (Creature* brann = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_BRANN)))
{
brann->MonsterYell("This is a wee bit trickier that before... Oh, bloody--incomin'!", LANG_UNIVERSAL, 0);
brann->Yell("This is a wee bit trickier that before... Oh, bloody--incomin'!", LANG_UNIVERSAL);
brann->PlayDirectSound(14275);
}

View File

@@ -357,12 +357,12 @@ public:
break;
case ACTION_START_SJONNIR_FIGHT:
me->setFaction(35);
me->MonsterYell("Don't worry! Ol' Brann's got yer back! Keep that metal monstrosity busy, and I'll see if I can't sweet talk this machine into helping ye!", LANG_UNIVERSAL, 0);
me->Yell("Don't worry! Ol' Brann's got yer back! Keep that metal monstrosity busy, and I'll see if I can't sweet talk this machine into helping ye!", LANG_UNIVERSAL);
me->PlayDirectSound(14274);
SetEscortPaused(false);
break;
case ACTION_SJONNIR_DEAD:
me->MonsterYell("Loken? That's downright bothersome... We might've neutralized the iron dwarves, but I'd lay odds there's another machine somewhere else churnin' out a whole mess o' these iron vrykul!", LANG_UNIVERSAL, 0);
me->Yell("Loken? That's downright bothersome... We might've neutralized the iron dwarves, but I'd lay odds there's another machine somewhere else churnin' out a whole mess o' these iron vrykul!", LANG_UNIVERSAL);
me->PlayDirectSound(14278);
events.ScheduleEvent(EVENT_END, 14000);
break;
@@ -538,7 +538,7 @@ public:
pInstance->SetData(BRANN_BRONZEBEARD, 6);
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
me->MonsterYell("I'll use the forge to make batches o' earthen to stand guard... But our greatest challenge still remains: find and stop Loken!", LANG_UNIVERSAL, 0);
me->Yell("I'll use the forge to make batches o' earthen to stand guard... But our greatest challenge still remains: find and stop Loken!", LANG_UNIVERSAL);
me->PlayDirectSound(14279);
break;
}
@@ -568,7 +568,7 @@ public:
if (cs)
{
cs->MonsterYell(Conversation[SpeechCount].text, LANG_UNIVERSAL, 0);
cs->Yell(Conversation[SpeechCount].text, LANG_UNIVERSAL);
cs->PlayDirectSound(Conversation[SpeechCount].sound);
}

View File

@@ -186,7 +186,7 @@ public:
summons.DoZoneInCombat(NPC_SANCTUM_SENTRY);
me->MonsterYell("Some things are better left alone!", LANG_UNIVERSAL, 0);
me->Yell("Some things are better left alone!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_AGGRO);
me->setActive(true);
}
@@ -198,12 +198,12 @@ public:
if (urand(0, 1))
{
me->MonsterYell("The secret dies with you!", LANG_UNIVERSAL, 0);
me->Yell("The secret dies with you!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_SLAY1);
}
else
{
me->MonsterYell("There is no escape!", LANG_UNIVERSAL, 0);
me->Yell("There is no escape!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_SLAY2);
}
}
@@ -216,7 +216,7 @@ public:
EntryCheckPredicate pred(NPC_FERAL_DEFENDER);
summons.DoAction(ACTION_DESPAWN_ADDS, pred);
summons.DespawnAll();
me->MonsterTextEmote("Auriaya screams in agony.", 0);
me->TextEmote("Auriaya screams in agony.", nullptr, true);
me->PlayDirectSound(SOUND_DEATH);
}
@@ -240,7 +240,7 @@ public:
switch (events.ExecuteEvent())
{
case EVENT_SUMMON_FERAL_DEFENDER:
me->MonsterTextEmote("Auriaya begins to activate Feral Defender.", 0, true);
me->TextEmote("Auriaya begins to activate Feral Defender.", nullptr, true);
me->CastSpell(me, SPELL_ACTIVATE_FERAL_DEFENDER, true);
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_INTERRUPT_CAST, true);
events.ScheduleEvent(EVENT_REMOVE_IMMUNE, 3000);
@@ -249,7 +249,7 @@ public:
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_INTERRUPT_CAST, false);
break;
case EVENT_TERRIFYING_SCREECH:
me->MonsterTextEmote("Auriaya begins to cast Terrifying Screech.", 0, true);
me->TextEmote("Auriaya begins to cast Terrifying Screech.", nullptr, true);
me->CastSpell(me, SPELL_TERRIFYING_SCREECH, false);
events.RepeatEvent(35000);
break;
@@ -273,7 +273,7 @@ public:
break;
}
case EVENT_ENRAGE:
me->MonsterTextEmote("You waste my time!", 0);
me->TextEmote("You waste my time!", nullptr, true);
me->PlayDirectSound(SOUND_BERSERK);
me->CastSpell(me, SPELL_ENRAGE, true);
break;

View File

@@ -437,27 +437,27 @@ public:
if (Unit* seat = vehicle->GetPassenger(i))
if (seat->GetTypeId() == TYPEID_UNIT)
seat->ToCreature()->AI()->EnterEvadeMode();
me->MonsterTextEmote("Flame Leviathan reactivated. Resumming combat functions.", 0, true);
me->TextEmote("Flame Leviathan reactivated. Resumming combat functions.", nullptr, true);
return;
case EVENT_THORIMS_HAMMER:
SummonTowerHelpers(TOWER_OF_STORMS);
events.RepeatEvent(60000 + rand() % 60000);
me->MonsterTextEmote("Flame Leviathan activates Thorim's Hammer.", 0, true);
me->TextEmote("Flame Leviathan activates Thorim's Hammer.", nullptr, true);
Talk(FLAME_LEVIATHAN_SAY_TOWER_STORM);
return;
case EVENT_FREYA:
SummonTowerHelpers(TOWER_OF_LIFE);
me->MonsterTextEmote("Flame Leviathan activates Freya's Ward.", 0, true);
me->TextEmote("Flame Leviathan activates Freya's Ward.", nullptr, true);
Talk(FLAME_LEVIATHAN_SAY_TOWER_NATURE);
return;
case EVENT_MIMIRONS_INFERNO:
SummonTowerHelpers(TOWER_OF_FLAMES);
me->MonsterTextEmote("Flame Leviathan activates Mimiron's Inferno.", 0, true);
me->TextEmote("Flame Leviathan activates Mimiron's Inferno.", nullptr, true);
Talk(FLAME_LEVIATHAN_SAY_TOWER_FLAME);
return;
case EVENT_HODIRS_FURY:
SummonTowerHelpers(TOWER_OF_FROST);
me->MonsterTextEmote("Flame Leviathan activates Hodir's Fury.", 0, true);
me->TextEmote("Flame Leviathan activates Hodir's Fury.", nullptr, true);
Talk(FLAME_LEVIATHAN_SAY_TOWER_FROST);
return;
}
@@ -1523,11 +1523,11 @@ public:
if (!vehicle)
return;
Player* driver = vehicle->GetPassenger(0) ? vehicle->GetPassenger(0)->ToPlayer() : nullptr;
Unit* driver = vehicle->GetPassenger(0);
if (!driver)
return;
driver->MonsterTextEmote("Automatic repair sequence initiated.", driver, true);
driver->TextEmote("Automatic repair sequence initiated.", driver, true);
// Actually should/could use basepoints (100) for this spell effect as percentage of health, but oh well.
vehicle->GetBase()->SetFullHealth();

View File

@@ -324,12 +324,12 @@ public:
if (urand(0, 1))
{
me->MonsterYell("Forgive me.", LANG_UNIVERSAL, 0);
me->Yell("Forgive me.", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_SLAY1);
}
else
{
me->MonsterYell("From your death springs life anew!", LANG_UNIVERSAL, 0);
me->Yell("From your death springs life anew!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_SLAY2);
}
}
@@ -339,7 +339,7 @@ public:
// kaboom!
if (damage >= me->GetHealth())
{
me->MonsterYell("His hold on me dissipates. I can see clearly once more. Thank you, heroes.", LANG_UNIVERSAL, 0);
me->Yell("His hold on me dissipates. I can see clearly once more. Thank you, heroes.", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_DEATH);
damage = 0;
@@ -398,7 +398,7 @@ public:
// Wave of three
if (_waveNumber == 1)
{
me->MonsterYell("Children, assist me!", LANG_UNIVERSAL, 0);
me->Yell("Children, assist me!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_TRIO);
me->SummonCreature(NPC_ANCIENT_WATER_SPIRIT, me->GetPositionX() + urand(5, 15), me->GetPositionY() + urand(5, 15), me->GetMapHeight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()));
me->SummonCreature(NPC_STORM_LASHER, me->GetPositionX() + urand(5, 15), me->GetPositionY() + urand(5, 15), me->GetMapHeight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()));
@@ -407,14 +407,14 @@ public:
// Ancient Conservator
else if (_waveNumber == 2)
{
me->MonsterYell("Eonar, your servant requires aid!", LANG_UNIVERSAL, 0);
me->Yell("Eonar, your servant requires aid!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_CONSERVATOR);
me->SummonCreature(NPC_ANCIENT_CONSERVATOR, me->GetPositionX() + urand(5, 15), me->GetPositionY() + urand(5, 15), me->GetMapHeight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()), 0, TEMPSUMMON_CORPSE_DESPAWN);
}
// Detonating Lashers
else if (_waveNumber == 3)
{
me->MonsterYell("The swarm of the elements shall overtake you!", LANG_UNIVERSAL, 0);
me->Yell("The swarm of the elements shall overtake you!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_DETONATING);
for (uint8 i = 0; i < 10; ++i)
me->SummonCreature(NPC_DETONATING_LASHER, me->GetPositionX() + urand(5, 20), me->GetPositionY() + urand(5, 20), me->GetMapHeight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()), 0, TEMPSUMMON_CORPSE_DESPAWN);
@@ -550,12 +550,12 @@ public:
if (_elderGUID[0] || _elderGUID[1] || _elderGUID[2])
{
me->MonsterYell("Elders, grant me your strength!", LANG_UNIVERSAL, 0);
me->Yell("Elders, grant me your strength!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_ELDERS);
}
else
{
me->MonsterYell("The Conservatory must be protected!", LANG_UNIVERSAL, 0);
me->Yell("The Conservatory must be protected!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_AGGRO);
}
}
@@ -640,7 +640,7 @@ public:
break;
}
case EVENT_FREYA_BERSERK:
me->MonsterYell("You have strayed too far, wasted too much time!", LANG_UNIVERSAL, 0);
me->Yell("You have strayed too far, wasted too much time!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_BERSERK);
me->CastSpell(me, SPELL_BERSERK, true);
break;
@@ -706,12 +706,12 @@ public:
if (urand(0, 1))
{
me->MonsterTextEmote("Angry roar", 0);
me->TextEmote("Angry roar");
me->PlayDirectSound(SOUND_STONEBARK_SLAY1);
}
else
{
me->MonsterYell("Such a waste.", LANG_UNIVERSAL, 0);
me->Yell("Such a waste.", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_STONEBARK_SLAY2);
}
}
@@ -720,7 +720,7 @@ public:
{
if (me->GetEntry() == killer->GetEntry())
return;
me->MonsterYell("Matron, flee! They are ruthless....", LANG_UNIVERSAL, 0);
me->Yell("Matron, flee! They are ruthless....", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_STONEBARK_DEATH);
// Lumberjacked
@@ -735,7 +735,7 @@ public:
events.ScheduleEvent(EVENT_STONEBARK_GROUND_TREMOR, 5000);
events.ScheduleEvent(EVENT_STONEBARK_PETRIFIED_BARK, 20000);
me->MonsterYell("This place will serve as your graveyard.", LANG_UNIVERSAL, 0);
me->Yell("This place will serve as your graveyard.", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_STONEBARK_AGGRO);
}
@@ -812,12 +812,12 @@ public:
if (urand(0, 1))
{
me->MonsterYell("Fertilizer.", LANG_UNIVERSAL, 0);
me->Yell("Fertilizer.", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_BRIGHTLEAF_SLAY1);
}
else
{
me->MonsterYell("Your corpse will nourish the soil!", LANG_UNIVERSAL, 0);
me->Yell("Your corpse will nourish the soil!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_BRIGHTLEAF_SLAY2);
}
}
@@ -826,7 +826,7 @@ public:
{
if (me->GetEntry() == killer->GetEntry())
return;
me->MonsterYell("Matron, one has fallen!", LANG_UNIVERSAL, 0);
me->Yell("Matron, one has fallen!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_BRIGHTLEAF_DEATH);
// Lumberjacked
@@ -841,7 +841,7 @@ public:
events.ScheduleEvent(EVENT_BRIGHTLEAF_SOLAR_FLARE, 5000);
events.ScheduleEvent(EVENT_BRIGHTLEAF_UNSTABLE_SUN_BEAM, 8000);
me->MonsterYell("Matron, the Conservatory has been breached!", LANG_UNIVERSAL, 0);
me->Yell("Matron, the Conservatory has been breached!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_BRIGHTLEAF_AGGRO);
}
@@ -933,12 +933,12 @@ public:
if (urand(0, 1))
{
me->MonsterYell("I return you whence you came!", LANG_UNIVERSAL, 0);
me->Yell("I return you whence you came!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_IRONBRANCH_SLAY1);
}
else
{
me->MonsterYell("BEGONE!", LANG_UNIVERSAL, 0);
me->Yell("BEGONE!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_IRONBRANCH_SLAY2);
}
}
@@ -947,7 +947,7 @@ public:
{
if (me->GetEntry() == killer->GetEntry())
return;
me->MonsterYell("Freya! They come for you.", LANG_UNIVERSAL, 0);
me->Yell("Freya! They come for you.", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_IRONBRANCH_DEATH);
// Lumberjacked
@@ -962,7 +962,7 @@ public:
events.ScheduleEvent(EVENT_IRONBRANCH_IRON_ROOT, 15000);
events.ScheduleEvent(EVENT_IRONBRANCH_THORN_SWARM, 3000);
me->MonsterYell("Mortals have no place here!", LANG_UNIVERSAL, 0);
me->Yell("Mortals have no place here!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_IRONBRANCH_AGGRO);
}

View File

@@ -165,7 +165,7 @@ public:
events.RescheduleEvent(EVENT_SPELL_SUMMON_SARONITE_VAPORS, 30000);
events.RescheduleEvent(EVENT_BERSERK, 600000);
me->MonsterYell(TEXT_VEZAX_AGGRO, LANG_UNIVERSAL, 0);
me->Yell(TEXT_VEZAX_AGGRO, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_VEZAX_AGGRO, 0);
if (pInstance)
@@ -226,7 +226,7 @@ public:
case EVENT_BERSERK:
berserk = true;
me->CastSpell(me, SPELL_VEZAX_BERSERK, true);
me->MonsterYell(TEXT_VEZAX_BERSERK, LANG_UNIVERSAL, 0);
me->Yell(TEXT_VEZAX_BERSERK, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_VEZAX_BERSERK, 0);
break;
case EVENT_SPELL_VEZAX_SHADOW_CRASH:
@@ -261,7 +261,7 @@ public:
events.RepeatEvent( me->GetMap()->Is25ManRaid() ? 8000 : 15000 );
break;
case EVENT_SPELL_SURGE_OF_DARKNESS:
me->MonsterYell(TEXT_VEZAX_SURGE, LANG_UNIVERSAL, 0);
me->Yell(TEXT_VEZAX_SURGE, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_VEZAX_SURGE, 0);
me->CastSpell(me, SPELL_SURGE_OF_DARKNESS, false);
events.RepeatEvent(63000);
@@ -298,7 +298,7 @@ public:
{
vaporsCount++;
me->CastSpell(me, SPELL_SUMMON_SARONITE_VAPORS, false);
me->MonsterTextEmote("A cloud of saronite vapors coalesces nearby!", 0, true);
me->TextEmote("A cloud of saronite vapors coalesces nearby!", nullptr, true);
if( vaporsCount < 6 || !hardmodeAvailable )
events.RepeatEvent(30000);
@@ -321,7 +321,7 @@ public:
case EVENT_SARONITE_VAPORS_SWIRL:
if (summons.size())
{
me->MonsterTextEmote("The saronite vapors mass and swirl violently, merging into a monstrous form!", 0, true);
me->TextEmote("The saronite vapors mass and swirl violently, merging into a monstrous form!", nullptr, true);
if( Creature* sv = ObjectAccessor::GetCreature(*me, *(summons.begin())) )
sv->CastSpell(sv, SPELL_SARONITE_ANIMUS_FORMATION_VISUAL, true);
@@ -332,8 +332,8 @@ public:
case EVENT_SPELL_SUMMON_SARONITE_ANIMUS:
if (summons.size())
{
me->MonsterTextEmote("A saronite barrier appears around General Vezax!", 0, true);
me->MonsterYell(TEXT_VEZAX_HARDMODE, LANG_UNIVERSAL, 0);
me->TextEmote("A saronite barrier appears around General Vezax!", nullptr, true);
me->Yell(TEXT_VEZAX_HARDMODE, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_VEZAX_HARDMODE, 0);
me->CastSpell(me, SPELL_SARONITE_BARRIER, true);
@@ -358,7 +358,7 @@ public:
if (pInstance)
pInstance->SetData(TYPE_VEZAX, DONE);
me->MonsterYell(TEXT_VEZAX_DEATH, LANG_UNIVERSAL, 0);
me->Yell(TEXT_VEZAX_DEATH, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_VEZAX_DEATH, 0);
if( GameObject* door = me->FindNearestGameObject(GO_VEZAX_DOOR, 500.0f) )
@@ -375,12 +375,12 @@ public:
{
if( urand(0, 1) )
{
me->MonsterYell(TEXT_VEZAX_SLAIN_1, LANG_UNIVERSAL, 0);
me->Yell(TEXT_VEZAX_SLAIN_1, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_VEZAX_SLAIN_1, 0);
}
else
{
me->MonsterYell(TEXT_VEZAX_SLAIN_2, LANG_UNIVERSAL, 0);
me->Yell(TEXT_VEZAX_SLAIN_2, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_VEZAX_SLAIN_2, 0);
}
}

View File

@@ -259,7 +259,7 @@ public:
events.ScheduleEvent(EVENT_SPELL_FLAME_JETS, 32000);
events.ScheduleEvent(EVENT_GRAB, 25000);
me->MonsterYell(TEXT_AGGRO, LANG_UNIVERSAL, 0);
me->Yell(TEXT_AGGRO, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_AGGRO);
DoZoneInCombat();
@@ -299,19 +299,19 @@ public:
{
if( rand() % 2 )
{
me->MonsterYell(TEXT_SLAY_1, LANG_UNIVERSAL, 0);
me->Yell(TEXT_SLAY_1, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_SLAY_1);
}
else
{
me->MonsterYell(TEXT_SLAY_2, LANG_UNIVERSAL, 0);
me->Yell(TEXT_SLAY_2, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_SLAY_2);
}
}
void JustDied(Unit* /*victim*/) override
{
me->MonsterYell(TEXT_DEATH, LANG_UNIVERSAL, 0);
me->Yell(TEXT_DEATH, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_DEATH);
if( me->GetInstanceScript() )
@@ -359,7 +359,7 @@ public:
me->CastCustomSpell(SPELL_ACTIVATE_CONSTRUCT, SPELLVALUE_MAX_TARGETS, 1, (Unit*)nullptr, false);
if (++counter >= 20)
{
me->MonsterYell(TEXT_BERSERK, LANG_UNIVERSAL, 0);
me->Yell(TEXT_BERSERK, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_BERSERK);
me->CastSpell(me, SPELL_BERSERK, true);
break;
@@ -369,12 +369,12 @@ public:
case EVENT_SPELL_SCORCH:
if( rand() % 2 )
{
me->MonsterYell(TEXT_SCORCH_1, LANG_UNIVERSAL, 0);
me->Yell(TEXT_SCORCH_1, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_SCORCH_1);
}
else
{
me->MonsterYell(TEXT_SCORCH_2, LANG_UNIVERSAL, 0);
me->Yell(TEXT_SCORCH_2, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_SCORCH_2);
}
me->SetControlled(true, UNIT_STATE_ROOT);
@@ -389,7 +389,7 @@ public:
me->DisableRotate(false);
break;
case EVENT_SPELL_FLAME_JETS:
me->MonsterTextEmote(TEXT_FLAME_JETS, 0, true);
me->TextEmote(TEXT_FLAME_JETS, nullptr, true);
me->CastSpell(me->GetVictim(), S_FLAME_JETS, false);
events.RepeatEvent(25000);
break;
@@ -428,7 +428,7 @@ public:
int8 pos = urand(0, playerGUIDs.size() - 1);
if( Player* pTarget = ObjectAccessor::GetPlayer(*me, playerGUIDs.at(pos)) )
{
me->MonsterYell(TEXT_SLAG_POT, LANG_UNIVERSAL, 0);
me->Yell(TEXT_SLAG_POT, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_SLAG_POT);
me->CastSpell(pTarget, SPELL_GRAB, false);
}

View File

@@ -381,7 +381,7 @@ public:
if (!hardmode)
{
me->MonsterYell(TEXT_LMK2_ACTIVATE, LANG_UNIVERSAL, 0);
me->Yell(TEXT_LMK2_ACTIVATE, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_TANK_ACTIVE);
events.ScheduleEvent(EVENT_SIT_LMK2, 6000);
events.ScheduleEvent(EVENT_BERSERK, 900000);
@@ -447,7 +447,7 @@ public:
computer->AI()->Talk(minutesTalkNum++);
break;
case EVENT_MIMIRON_SAY_HARDMODE:
me->MonsterYell(TEXT_HARDMODE, LANG_UNIVERSAL, 0);
me->Yell(TEXT_HARDMODE, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_TANK_HARD_INTRO);
events.ScheduleEvent(EVENT_SPAWN_FLAMES_INITIAL, 0);
events.ScheduleEvent(EVENT_SIT_LMK2, 4000);
@@ -484,7 +484,7 @@ public:
break;
case EVENT_BERSERK:
berserk = true;
me->MonsterYell(TEXT_BERSERK, LANG_UNIVERSAL, 0);
me->Yell(TEXT_BERSERK, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_BERSERK);
if( hardmode )
me->SummonCreature(33576, 2744.78f, 2569.47f, 364.32f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 120000);
@@ -532,7 +532,7 @@ public:
if (Creature* LMK2 = GetLMK2())
{
me->EnterVehicle(LMK2, 1);
me->MonsterYell(TEXT_LMK2_DEATH, LANG_UNIVERSAL, 0);
me->Yell(TEXT_LMK2_DEATH, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_TANK_DEATH);
LMK2->SetFacingTo(3.58f);
events.ScheduleEvent(EVENT_ELEVATOR_INTERVAL_0, 6000);
@@ -573,7 +573,7 @@ public:
EnterEvadeMode();
break;
case EVENT_SITTING_ON_VX001:
me->MonsterYell(TEXT_VX001_ACTIVATE, LANG_UNIVERSAL, 0);
me->Yell(TEXT_VX001_ACTIVATE, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_TORSO_ACTIVE);
events.ScheduleEvent(EVENT_ENTER_VX001, 5000);
break;
@@ -631,7 +631,7 @@ public:
break;
case EVENT_SAY_VX001_DEAD:
changeAllowedFlameSpreadTime = true;
me->MonsterYell(TEXT_VX001_DEATH, LANG_UNIVERSAL, 0);
me->Yell(TEXT_VX001_DEATH, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_TORSO_DEATH);
events.ScheduleEvent(EVENT_ENTER_ACU, 7000);
break;
@@ -645,7 +645,7 @@ public:
EnterEvadeMode();
break;
case EVENT_SAY_ACU_ACTIVATE:
me->MonsterYell(TEXT_ACU_ACTIVATE, LANG_UNIVERSAL, 0);
me->Yell(TEXT_ACU_ACTIVATE, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_HEAD_ACTIVE);
events.ScheduleEvent(EVENT_ACU_START_ATTACK, 4000);
break;
@@ -661,7 +661,7 @@ public:
EnterEvadeMode();
break;
case EVENT_SAY_ACU_DEAD:
me->MonsterYell(TEXT_ACU_DEATH, LANG_UNIVERSAL, 0);
me->Yell(TEXT_ACU_DEATH, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_HEAD_DEATH);
events.ScheduleEvent(EVENT_LEVIATHAN_COME_CLOSER, 5000);
break;
@@ -720,7 +720,7 @@ public:
ACU->SetDisableGravity(false);
ACU->EnterVehicle(VX001, 3);
me->EnterVehicle(VX001, 1);
me->MonsterYell(TEXT_VOLTRON_ACTIVATE, LANG_UNIVERSAL, 0);
me->Yell(TEXT_VOLTRON_ACTIVATE, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_VOLTRON_ACTIVE);
events.ScheduleEvent(EVENT_START_PHASE4, 10000);
}
@@ -815,7 +815,7 @@ public:
}
break;
case EVENT_SAY_VOLTRON_DEAD:
me->MonsterYell(TEXT_VOLTRON_DEATH, LANG_UNIVERSAL, 0);
me->Yell(TEXT_VOLTRON_DEATH, LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_VOLTRON_DEATH);
// spawn chest
if( uint32 chestId = (hardmode ? RAID_MODE(GO_MIMIRON_CHEST_HARD, GO_MIMIRON_CHEST_HERO_HARD) : RAID_MODE(GO_MIMIRON_CHEST, GO_MIMIRON_CHEST_HERO)) )
@@ -1163,7 +1163,7 @@ public:
case EVENT_SPELL_PLASMA_BLAST:
if (Unit* victim = me->GetVictim())
{
me->MonsterTextEmote("Leviathan Mk II begins to cast Plasma Blast!", 0, true);
me->TextEmote("Leviathan Mk II begins to cast Plasma Blast!", nullptr, true);
cannon->CastSpell(victim, SPELL_PLASMA_BLAST, false);
}
events.RepeatEvent(22000);
@@ -1196,12 +1196,12 @@ public:
{
if( rand() % 2 )
{
c->MonsterYell(TEXT_LMK2_SLAIN_1, LANG_UNIVERSAL, 0);
c->Yell(TEXT_LMK2_SLAIN_1, LANG_UNIVERSAL);
c->PlayDirectSound(SOUND_TANK_SLAY_1);
}
else
{
c->MonsterYell(TEXT_LMK2_SLAIN_2, LANG_UNIVERSAL, 0);
c->Yell(TEXT_LMK2_SLAIN_2, LANG_UNIVERSAL);
c->PlayDirectSound(SOUND_TANK_SLAY_2);
}
}
@@ -1209,12 +1209,12 @@ public:
{
if( rand() % 2 )
{
c->MonsterYell(TEXT_VOLTRON_SLAIN_1, LANG_UNIVERSAL, 0);
c->Yell(TEXT_VOLTRON_SLAIN_1, LANG_UNIVERSAL);
c->PlayDirectSound(SOUND_VOLTRON_SLAY_1);
}
else
{
c->MonsterYell(TEXT_VOLTRON_SLAIN_2, LANG_UNIVERSAL, 0);
c->Yell(TEXT_VOLTRON_SLAIN_2, LANG_UNIVERSAL);
c->PlayDirectSound(SOUND_VOLTRON_SLAY_2);
}
}
@@ -1551,12 +1551,12 @@ public:
{
if( rand() % 2 )
{
c->MonsterYell(TEXT_VX001_SLAIN_1, LANG_UNIVERSAL, 0);
c->Yell(TEXT_VX001_SLAIN_1, LANG_UNIVERSAL);
c->PlayDirectSound(SOUND_TORSO_SLAY_1);
}
else
{
c->MonsterYell(TEXT_VX001_SLAIN_2, LANG_UNIVERSAL, 0);
c->Yell(TEXT_VX001_SLAIN_2, LANG_UNIVERSAL);
c->PlayDirectSound(SOUND_TORSO_SLAY_2);
}
}
@@ -1564,12 +1564,12 @@ public:
{
if( rand() % 2 )
{
c->MonsterYell(TEXT_VOLTRON_SLAIN_1, LANG_UNIVERSAL, 0);
c->Yell(TEXT_VOLTRON_SLAIN_1, LANG_UNIVERSAL);
c->PlayDirectSound(SOUND_VOLTRON_SLAY_1);
}
else
{
c->MonsterYell(TEXT_VOLTRON_SLAIN_2, LANG_UNIVERSAL, 0);
c->Yell(TEXT_VOLTRON_SLAIN_2, LANG_UNIVERSAL);
c->PlayDirectSound(SOUND_VOLTRON_SLAY_2);
}
}
@@ -1874,12 +1874,12 @@ public:
{
if( rand() % 2 )
{
c->MonsterYell(TEXT_ACU_SLAIN_1, LANG_UNIVERSAL, 0);
c->Yell(TEXT_ACU_SLAIN_1, LANG_UNIVERSAL);
c->PlayDirectSound(SOUND_HEAD_SLAY_1);
}
else
{
c->MonsterYell(TEXT_ACU_SLAIN_2, LANG_UNIVERSAL, 0);
c->Yell(TEXT_ACU_SLAIN_2, LANG_UNIVERSAL);
c->PlayDirectSound(SOUND_HEAD_SLAY_2);
}
}
@@ -1887,12 +1887,12 @@ public:
{
if( rand() % 2 )
{
c->MonsterYell(TEXT_VOLTRON_SLAIN_1, LANG_UNIVERSAL, 0);
c->Yell(TEXT_VOLTRON_SLAIN_1, LANG_UNIVERSAL);
c->PlayDirectSound(SOUND_VOLTRON_SLAY_1);
}
else
{
c->MonsterYell(TEXT_VOLTRON_SLAIN_2, LANG_UNIVERSAL, 0);
c->Yell(TEXT_VOLTRON_SLAIN_2, LANG_UNIVERSAL);
c->PlayDirectSound(SOUND_VOLTRON_SLAY_2);
}
}

View File

@@ -195,7 +195,7 @@ public:
break;
ExpeditionEngineerGUIDs[i] = (*itr)->GetGUID();
if (!i)
(*itr)->MonsterYell(TEXT_EE_AGGRO, LANG_UNIVERSAL, 0);
(*itr)->Yell(TEXT_EE_AGGRO, LANG_UNIVERSAL);
++i;
}
if (Creature* c = me->FindNearestCreature(NPC_EXPEDITION_COMMANDER, 300.0f, true))
@@ -360,7 +360,7 @@ public:
if (Creature* c = ObjectAccessor::GetCreature(*me, ExpeditionEngineerGUIDs[i]))
{
if (!i)
c->MonsterYell(TEXT_EE_MOVE_OUT, LANG_UNIVERSAL, 0);
c->Yell(TEXT_EE_MOVE_OUT, LANG_UNIVERSAL);
c->AI()->SetData(1, 0); // start repairing
}
break;
@@ -454,7 +454,7 @@ public:
}
break;
case EVENT_WARN_DEEP_BREATH:
me->MonsterTextEmote(TEXT_DEEP_BREATH, 0, true);
me->TextEmote(TEXT_DEEP_BREATH, nullptr, true);
me->RemoveAura(62794);
events.ScheduleEvent(EVENT_PHASE2_FLAME_BREATH, 2500);
break;
@@ -527,7 +527,7 @@ public:
if (Creature* c = ObjectAccessor::GetCreature(*me, ExpeditionEngineerGUIDs[i]))
{
if (!i)
c->MonsterYell(TEXT_EE_FIRES_OUT, LANG_UNIVERSAL, 0);
c->Yell(TEXT_EE_FIRES_OUT, LANG_UNIVERSAL);
c->AI()->SetData(1, 0); // start repairing
}
break;
@@ -758,7 +758,7 @@ public:
if( GameObject* wh = me->SummonGameObject(GetHarpoonGunIdForThisHFS(), me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 3 * M_PI / 2, 0.0f, 0.0f, 0.0f, 0.0f, 0) )
{
me->RemoveGameObject(wh, false);
me->MonsterTextEmote(TEXT_TURRET_READY, 0, true);
me->TextEmote(TEXT_TURRET_READY, nullptr, true);
}
}
}

View File

@@ -505,12 +505,12 @@ public:
if (urand(0, 1))
{
me->MonsterYell("Can't you at least put up a fight!?", LANG_UNIVERSAL, 0);
me->Yell("Can't you at least put up a fight!?", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_SLAY1);
}
else
{
me->MonsterYell("Pathetic!", LANG_UNIVERSAL, 0);
me->Yell("Pathetic!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_SLAY2);
}
}
@@ -544,7 +544,7 @@ public:
me->GetMotionMaster()->MoveJump(Middle.GetPositionX(), Middle.GetPositionY(), Middle.GetPositionZ(), 20, 20);
me->RemoveAura(SPELL_SHEATH_OF_LIGHTNING);
me->MonsterYell("Impertinent whelps! You dare challenge me atop my pedestal! I will crush you myself!", LANG_UNIVERSAL, 0);
me->Yell("Impertinent whelps! You dare challenge me atop my pedestal! I will crush you myself!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_JUMPDOWN);
// Hard Mode
@@ -577,7 +577,7 @@ public:
events.Reset();
DisableThorim(true);
me->MonsterYell("Stay your arms! I yield!", LANG_UNIVERSAL, 0);
me->Yell("Stay your arms! I yield!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_DEFEATED);
events.SetPhase(EVENT_PHASE_OUTRO);
@@ -647,15 +647,15 @@ public:
switch (urand(0, 2))
{
case 0:
me->MonsterYell("Behold the power of the storms and despair!", LANG_UNIVERSAL, 0);
me->Yell("Behold the power of the storms and despair!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_SPECIAL1);
break;
case 1:
me->MonsterYell("Do not hold back! Destroy them!", LANG_UNIVERSAL, 0);
me->Yell("Do not hold back! Destroy them!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_SPECIAL2);
break;
case 2:
me->MonsterYell("Have you begun to regret your intrusion? ", LANG_UNIVERSAL, 0);
me->Yell("Have you begun to regret your intrusion? ", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_SPECIAL3);
break;
}
@@ -683,7 +683,7 @@ public:
switch (events.ExecuteEvent())
{
case EVENT_THORIM_AGGRO:
me->MonsterYell("Interlopers! You mortals who dare to interfere with my sport will pay... Wait--you...", LANG_UNIVERSAL, 0);
me->Yell("Interlopers! You mortals who dare to interfere with my sport will pay... Wait--you...", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_AGGRO1);
events.ScheduleEvent(EVENT_THORIM_AGGRO2, 9000);
@@ -693,7 +693,7 @@ public:
break;
case EVENT_THORIM_AGGRO2:
{
me->MonsterYell("I remember you... In the mountains... But you... what is this? Where am--", LANG_UNIVERSAL, 0);
me->Yell("I remember you... In the mountains... But you... what is this? Where am--", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_AGGRO2);
EntryCheckPredicate pred(NPC_SIF);
@@ -732,7 +732,7 @@ public:
}
// No players found
me->MonsterYell("Failures! Weaklings!", LANG_UNIVERSAL, 0);
me->Yell("Failures! Weaklings!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_AWIPE);
me->SummonCreature(NPC_LIGHTNING_ORB, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ());
@@ -765,13 +765,13 @@ public:
break;
case EVENT_THORIM_BERSERK:
me->CastSpell(me, SPELL_BERSERK, true);
me->MonsterYell("My patience has reached its limit!", LANG_UNIVERSAL, 0);
me->Yell("My patience has reached its limit!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_BERSERK);
break;
case EVENT_THORIM_OUTRO1:
if (_hardMode)
{
me->MonsterYell("You! Fiend! You are not my beloved! Be gone!", LANG_UNIVERSAL, 0);
me->Yell("You! Fiend! You are not my beloved! Be gone!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_HARD1);
events.ScheduleEvent(EVENT_THORIM_OUTRO2, 5000, 0, 3);
EntryCheckPredicate pred(NPC_SIF);
@@ -779,7 +779,7 @@ public:
}
else
{
me->MonsterYell("I feel as though I am awakening from a nightmare, but the shadows in this place yet linger.", LANG_UNIVERSAL, 0);
me->Yell("I feel as though I am awakening from a nightmare, but the shadows in this place yet linger.", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_NORM1);
events.ScheduleEvent(EVENT_THORIM_OUTRO2, 9000, 0, 3);
}
@@ -787,13 +787,13 @@ public:
case EVENT_THORIM_OUTRO2:
if (_hardMode)
{
me->MonsterYell("Behold the hand behind all the evil that has befallen Ulduar! Left my kingdom in ruins, corrupted my brother and slain my wife!", LANG_UNIVERSAL, 0);
me->Yell("Behold the hand behind all the evil that has befallen Ulduar! Left my kingdom in ruins, corrupted my brother and slain my wife!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_HARD2);
events.ScheduleEvent(EVENT_THORIM_OUTRO3, 12000, 0, 3);
}
else
{
me->MonsterYell("Sif... was Sif here? Impossible--she died by my brother's hand. A dark nightmare indeed....", LANG_UNIVERSAL, 0);
me->Yell("Sif... was Sif here? Impossible--she died by my brother's hand. A dark nightmare indeed....", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_NORM2);
events.ScheduleEvent(EVENT_THORIM_OUTRO3, 10000, 0, 3);
}
@@ -801,12 +801,12 @@ public:
case EVENT_THORIM_OUTRO3:
if (_hardMode)
{
me->MonsterYell("And now it falls to you, champions, to avenge us all! The task before you is great, but I will lend you my aid as I am able. You must prevail!", LANG_UNIVERSAL, 0);
me->Yell("And now it falls to you, champions, to avenge us all! The task before you is great, but I will lend you my aid as I am able. You must prevail!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_HARD3);
}
else
{
me->MonsterYell("I need time to reflect.... I will aid your cause if you should require it. I owe you at least that much. Farewell.", LANG_UNIVERSAL, 0);
me->Yell("I need time to reflect.... I will aid your cause if you should require it. I owe you at least that much. Farewell.", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_NORM3);
}
@@ -889,16 +889,16 @@ public:
{
case EVENT_SIF_FINISH_DOMINION:
me->PlayDirectSound(SOUND_SIF_DESPAWN);
me->MonsterYell("This pathetic morons are harmless. Relive my station, dispose of them!", LANG_UNIVERSAL, 0);
me->Yell("This pathetic morons are harmless. Relive my station, dispose of them!", LANG_UNIVERSAL);
me->DespawnOrUnsummon(5000);
break;
case EVENT_SIF_START_TALK:
me->MonsterYell("Thorim, my lord, why else would these invaders have come into your sanctum but to slay you? They must be stopped!", LANG_UNIVERSAL, 0);
me->Yell("Thorim, my lord, why else would these invaders have come into your sanctum but to slay you? They must be stopped!", LANG_UNIVERSAL);
me->PlayDirectSound(SOUND_SIF_START);
break;
case EVENT_SIF_JOIN_TALK:
me->PlayDirectSound(SOUND_SIF_EVENT);
me->MonsterYell("Impossible! Lord Thorim, I will bring your foes a frigid death!", LANG_UNIVERSAL, 0);
me->Yell("Impossible! Lord Thorim, I will bring your foes a frigid death!", LANG_UNIVERSAL);
events.ScheduleEvent(EVENT_SIF_FROST_NOVA_START, 1000);
events.ScheduleEvent(EVENT_SIF_FROSTBOLT_VALLEY, 11000);
events.ScheduleEvent(EVENT_SIF_BLIZZARD, 15000);
@@ -1491,7 +1491,7 @@ public:
break;
case EVENT_RC_RUNIC_BARRIER:
me->CastSpell(me, SPELL_RUNIC_BARRIER, false);
me->MonsterTextEmote("Runic Colossus surrounds itself with a crackling Runic Barrier!", 0, true);
me->TextEmote("Runic Colossus surrounds itself with a crackling Runic Barrier!", nullptr, true);
events.RepeatEvent(20000);
break;
case EVENT_RC_SMASH:
@@ -1541,7 +1541,7 @@ public:
events.ScheduleEvent(EVENT_ARG_STOMP, 8000);
me->CastSpell(me, SPELL_RUNIC_FORTIFICATION, false);
me->MonsterTextEmote("Ancient Rune Giant fortifies nearby allies with runic might", 0, true);
me->TextEmote("Ancient Rune Giant fortifies nearby allies with runic might", nullptr, true);
}
void JustDied(Unit*) override

View File

@@ -203,7 +203,7 @@ public:
RescheduleEvents(); // Other events are scheduled here
me->setActive(true);
me->MonsterYell("New toys? For me? I promise I won't break them this time!", LANG_UNIVERSAL, 0);
me->Yell("New toys? For me? I promise I won't break them this time!", LANG_UNIVERSAL);
me->PlayDirectSound(XT_SOUND_AGGRO);
if (m_pInstance)
@@ -225,12 +225,12 @@ public:
{
if (urand(0, 1))
{
me->MonsterYell("I... I think I broke it.", LANG_UNIVERSAL, 0);
me->Yell("I... I think I broke it.", LANG_UNIVERSAL);
me->PlayDirectSound(XT_SOUND_SLAY1);
}
else
{
me->MonsterYell("I guess it doesn't bend that way.", LANG_UNIVERSAL, 0);
me->Yell("I guess it doesn't bend that way.", LANG_UNIVERSAL);
me->PlayDirectSound(XT_SOUND_SLAY2);
}
}
@@ -238,7 +238,7 @@ public:
void JustDied(Unit* /*victim*/) override
{
me->MonsterYell("You are bad... Toys... Very... Baaaaad!", LANG_UNIVERSAL, 0);
me->Yell("You are bad... Toys... Very... Baaaaad!", LANG_UNIVERSAL);
me->PlayDirectSound(XT_SOUND_DEATH);
if (m_pInstance)
@@ -279,7 +279,7 @@ public:
me->CastSpell(me, SPELL_HEARTBREAK, true);
me->MonsterTextEmote("XT-002 Deconstructor's heart is severed from his body.", 0, true);
me->TextEmote("XT-002 Deconstructor's heart is severed from his body.", nullptr, true);
events.ScheduleEvent(EVENT_REMOVE_EMOTE, 4000);
return;
}
@@ -329,7 +329,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->MonsterYell("So tired. I will rest for just a moment!", LANG_UNIVERSAL, 0);
me->Yell("So tired. I will rest for just a moment!", LANG_UNIVERSAL);
me->PlayDirectSound(XT_SOUND_HEART_OPEN);
events.CancelEventGroup(1);
@@ -355,21 +355,21 @@ public:
events.ScheduleEvent(EVENT_GRAVITY_BOMB, 10000, 1);
break;
case EVENT_TYMPANIC_TANTARUM:
me->MonsterTextEmote("XT-002 Deconstructor begins to cause the earth to quake.", 0, true);
me->MonsterYell("NO! NO! NO! NO! NO!", LANG_UNIVERSAL, 0);
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);
me->CastSpell(me, SPELL_TYMPANIC_TANTARUM, true);
events.RepeatEvent(60000);
return;
case EVENT_ENRAGE:
me->MonsterYell("I'm tired of these toys. I don't want to play anymore!", LANG_UNIVERSAL, 0);
me->Yell("I'm tired of these toys. I don't want to play anymore!", LANG_UNIVERSAL);
me->PlayDirectSound(XT_SOUND_ENRAGE);
me->CastSpell(me, SPELL_XT002_ENRAGE, true);
break;
// Animation events
case EVENT_START_SECOND_PHASE:
me->MonsterTextEmote("XT-002 Deconstructor's heart is exposed and leaking energy.", 0, true);
me->TextEmote("XT-002 Deconstructor's heart is exposed and leaking energy.", nullptr, true);
me->SetFlag(UNIT_FIELD_FLAGS, 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,7 +383,7 @@ public:
return;
}
me->MonsterYell("I'm ready to play!", LANG_UNIVERSAL, 0);
me->Yell("I'm ready to play!", LANG_UNIVERSAL);
me->PlayDirectSound(XT_SOUND_HEART_CLOSED);
me->SetByteValue(UNIT_FIELD_BYTES_1, UNIT_BYTES_1_OFFSET_STAND_STATE, UNIT_STAND_STATE_STAND); // emerge
@@ -619,7 +619,7 @@ public:
}
if (!urand(0, 2))
me->MonsterTextEmote("XT-002 Deconstructor consumes scrap bot to repair himself.", 0, true);
me->TextEmote("XT-002 Deconstructor consumes scrap bot to repair himself.", nullptr, true);
me->DespawnOrUnsummon(1);
}

View File

@@ -484,7 +484,7 @@ public:
events.ScheduleEvent(EVENT_SARA_P1_SUMMON, 0, 0, EVENT_PHASE_ONE);
events.SetPhase(EVENT_PHASE_ONE);
me->MonsterYell("The time to strike at the head of the beast will soon be upon us! Focus your anger and hatred on his minions!", LANG_UNIVERSAL, 0);
me->Yell("The time to strike at the head of the beast will soon be upon us! Focus your anger and hatred on his minions!", LANG_UNIVERSAL);
me->PlayDirectSound(SARA_AGGRO);
me->setActive(true);
}
@@ -584,12 +584,12 @@ public:
if (urand(0, 1))
{
me->MonsterYell(_secondPhase ? "Tremble, mortals, before the coming of the end!" : "Yes! YES! Show them no mercy! Give no pause to your attacks!", LANG_UNIVERSAL, 0);
me->Yell(_secondPhase ? "Tremble, mortals, before the coming of the end!" : "Yes! YES! Show them no mercy! Give no pause to your attacks!", LANG_UNIVERSAL);
me->PlayDirectSound(_secondPhase ? SARA_P2_CAST2 : SARA_P1_CAST1);
}
else
{
me->MonsterYell(_secondPhase ? "Suffocate upon your own hate!" : "Let hatred and rage guide your blows!", LANG_UNIVERSAL, 0);
me->Yell(_secondPhase ? "Suffocate upon your own hate!" : "Let hatred and rage guide your blows!", LANG_UNIVERSAL);
me->PlayDirectSound(_secondPhase ? SARA_P2_CAST1 : SARA_P1_CAST2);
}
}
@@ -601,12 +601,12 @@ public:
if (urand(0, 1))
{
me->MonsterYell("Could they have been saved?", LANG_UNIVERSAL, 0);
me->Yell("Could they have been saved?", LANG_UNIVERSAL);
me->PlayDirectSound(SARA_P1_KILL2);
}
else
{
me->MonsterYell("Powerless to act...", LANG_UNIVERSAL, 0);
me->Yell("Powerless to act...", LANG_UNIVERSAL);
me->PlayDirectSound(SARA_P1_KILL1);
}
}
@@ -706,7 +706,7 @@ public:
cr->SetVisible(false);
_p2TalkTimer++;
me->MonsterYell("I am the lucid dream.", LANG_UNIVERSAL, 0);
me->Yell("I am the lucid dream.", LANG_UNIVERSAL);
me->PlayDirectSound(SARA_P2_START);
}
return;
@@ -747,18 +747,18 @@ public:
{
EntryCheckPredicate pred(NPC_OMINOUS_CLOUD);
summons.DoAction(ACTION_UNSUMMON_CLOUDS, pred);
me->MonsterYell("The monster in your nightmares.", LANG_UNIVERSAL, 0);
me->Yell("The monster in your nightmares.", LANG_UNIVERSAL);
_p2TalkTimer = 20000;
}
else if (_p2TalkTimer >= 25000 && _p2TalkTimer < 40000)
{
summons.DespawnEntry(NPC_OMINOUS_CLOUD);
me->MonsterYell("The fiend of a thousand faces.", LANG_UNIVERSAL, 0);
me->Yell("The fiend of a thousand faces.", LANG_UNIVERSAL);
_p2TalkTimer = 40000;
}
else if (_p2TalkTimer >= 44500 && _p2TalkTimer < 60000)
{
me->MonsterYell("Cower before my true form.", LANG_UNIVERSAL, 0);
me->Yell("Cower before my true form.", LANG_UNIVERSAL);
_p2TalkTimer = 60000;
}
else if (_p2TalkTimer >= 64000)
@@ -1079,7 +1079,7 @@ public:
summons.DespawnAll();
events.Reset();
me->MonsterYell("Your fate is sealed. The end of days is finally upon you and ALL who inhabit this miserable little seedling. Uulwi ifis halahs gag erh'ongg w'ssh.", LANG_UNIVERSAL, 0);
me->Yell("Your fate is sealed. The end of days is finally upon you and ALL who inhabit this miserable little seedling. Uulwi ifis halahs gag erh'ongg w'ssh.", LANG_UNIVERSAL);
me->PlayDirectSound(YS_P3_DEATH);
if (m_pInstance)
@@ -1116,11 +1116,11 @@ public:
}
else if (param == ACTION_YOGG_SARON_START_YELL)
{
me->MonsterYell("BOW DOWN BEFORE THE GOD OF DEATH!", LANG_UNIVERSAL, 0);
me->Yell("BOW DOWN BEFORE THE GOD OF DEATH!", LANG_UNIVERSAL);
}
else if (param == ACTION_YOGG_SARON_OPEN_PORTAL_YELL)
{
me->MonsterYell("MADNESS WILL CONSUME YOU!", LANG_UNIVERSAL, 0);
me->Yell("MADNESS WILL CONSUME YOU!", LANG_UNIVERSAL);
me->PlayDirectSound(YS_OPEN_PORTALS);
}
else if (param == ACTION_YOGG_SARON_START_P3)
@@ -1135,7 +1135,7 @@ public:
events.ScheduleEvent(EVENT_YS_SUMMON_GUARDIAN, 0);
_thirdPhase = true;
me->MonsterYell("Look upon the true face of death and know that your end comes soon!", LANG_UNIVERSAL, 0);
me->Yell("Look upon the true face of death and know that your end comes soon!", LANG_UNIVERSAL);
me->PlayDirectSound(YS_P3_START);
}
else if (param == ACTION_YOGG_SARON_HARD_MODE)
@@ -1181,14 +1181,14 @@ public:
switch (events.ExecuteEvent())
{
case EVENT_YS_LUNATIC_GAZE:
me->MonsterYell("Hoohehehahahaha... AHAHAHAHAHAHA!", LANG_UNIVERSAL, 0);
me->Yell("Hoohehehahahaha... AHAHAHAHAHAHA!", LANG_UNIVERSAL);
me->PlayDirectSound(YS_P3_LUNATIC_GAZE);
me->CastSpell(me, SPELL_LUNATIC_GAZE_YS, true);
events.RepeatEvent(12000);
break;
case EVENT_YS_DEAFENING_ROAR:
me->MonsterTextEmote("Yogg-Saron opens his mouth wide!", 0, true);
me->MonsterYell("Eternal suffering awaits!", LANG_UNIVERSAL, 0);
me->TextEmote("Yogg-Saron opens his mouth wide!", nullptr, true);
me->Yell("Eternal suffering awaits!", LANG_UNIVERSAL);
me->PlayDirectSound(YS_P3_DEAFENING_ROAR);
me->CastSpell(me, SPELL_DEAFENING_ROAR, false);
events.RepeatEvent(50000);
@@ -2274,7 +2274,7 @@ public:
if (Player* player = ObjectAccessor::GetPlayer(*me, _guid))
{
me->PlayDirectSound(15760, player);
me->MonsterWhisper("Destroy them minion, your master commands it!", player, false);
me->Whisper("Destroy them minion, your master commands it!", LANG_UNIVERSAL, player);
}
break;
}
@@ -2680,7 +2680,7 @@ public:
Unit* caster = GetCaster();
caster->PlayDirectSound(VOYS_INSANE1, target);
caster->MonsterWhisper("Your will is no longer you own...", target, false);
caster->Whisper("Your will is no longer you own...", LANG_UNIVERSAL, target);
caster->CastSpell(target, SPELL_INSANE1, true);
target->CastSpell(target, SPELL_INSANE2, true);
}

View File

@@ -795,7 +795,7 @@ public:
case DATA_BRANN_MEMOTESAY:
if (Creature* cr = instance->GetCreature(m_brannBronzebeardBaseCamp))
{
cr->MonsterTextEmote("Go to your vehicles!", 0, true);
cr->TextEmote("Go to your vehicles!", nullptr, true);
}
break;
case DATA_BRANN_EASY_MODE:

View File

@@ -42,22 +42,22 @@ public:
switch (creature->GetEntry())
{
case NPC_FREYA_GOSSIP:
creature->MonsterYell("Eonar, your servant calls for your blessing!", LANG_UNIVERSAL, 0);
creature->Yell("Eonar, your servant calls for your blessing!", LANG_UNIVERSAL);
creature->PlayDirectSound(15535);
_keeper = KEEPER_FREYA;
break;
case NPC_HODIR_GOSSIP:
creature->MonsterYell("The veil of winter will protect you, champions!", LANG_UNIVERSAL, 0);
creature->Yell("The veil of winter will protect you, champions!", LANG_UNIVERSAL);
creature->PlayDirectSound(15559);
_keeper = KEEPER_HODIR;
break;
case NPC_MIMIRON_GOSSIP:
creature->MonsterYell("Combat matrix enhanced. Behold wonderous rapidity!", LANG_UNIVERSAL, 0);
creature->Yell("Combat matrix enhanced. Behold wonderous rapidity!", LANG_UNIVERSAL);
creature->PlayDirectSound(15630);
_keeper = KEEPER_MIMIRON;
break;
case NPC_THORIM_GOSSIP:
creature->MonsterYell("Golganneth, lend me your strengh! Grant my mortal allies the power of thunder!", LANG_UNIVERSAL, 0);
creature->Yell("Golganneth, lend me your strengh! Grant my mortal allies the power of thunder!", LANG_UNIVERSAL);
creature->PlayDirectSound(15750);
_keeper = KEEPER_THORIM;
break;

View File

@@ -320,7 +320,7 @@ public:
void JustDied(Unit* /*pKiller*/) override
{
me->SendPlaySound(SOUND_DEATH, false);
me->PlayDirectSound(SOUND_DEATH);
if(m_pInstance)
m_pInstance->SetData(DATA_GORTOK_PALEHOOF, DONE);
}

View File

@@ -365,7 +365,7 @@ public:
if (m_pInstance)
m_pInstance->SetData(SKADI_IN_RANGE, 1);
me->MonsterTextEmote(EMOTE_IN_RANGE, 0, true);
me->TextEmote(EMOTE_IN_RANGE, nullptr, true);
me->SetFacingTo(M_PI);
break;
}

View File

@@ -153,7 +153,7 @@ class boss_archavon : public CreatureScript
{
char buffer[100];
sprintf(buffer, "Archavon the Stone Watcher lunges for %s!", me->GetVictim()->GetName().c_str());
me->MonsterTextEmote(buffer, 0);
me->TextEmote(buffer);
DoCastVictim(RAID_MODE(SPELL_STOMP_10, SPELL_STOMP_25));

View File

@@ -81,7 +81,7 @@ public:
if (!PlayerList.isEmpty())
for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
if (Player* player = i->GetSource())
player->MonsterTextEmote("This instance will reset in 15 minutes.", 0, true);
player->TextEmote("This instance will reset in 15 minutes.", nullptr, true);
}
else if (bf->GetTimer() <= (10 * MINUTE * IN_MILLISECONDS) && bf->GetTimer() >= (9 * MINUTE * IN_MILLISECONDS))
{
@@ -105,7 +105,7 @@ public:
if (!PlayerList.isEmpty())
for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
if (Player* player = i->GetSource())
player->MonsterTextEmote("This instance is about to reset. Prepare to be removed.", 0, true);
player->TextEmote("This instance is about to reset. Prepare to be removed.", nullptr, true);
}
else if (bf->GetTimer() <= MINUTE * IN_MILLISECONDS)
{

View File

@@ -116,7 +116,7 @@ public:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 60.0f, true))
{
me->CastSpell(target, SPELL_VOID_SHIFT, false);
me->MonsterWhisper("Gaze... into the void.", target->ToPlayer(), false);
me->Whisper("Gaze... into the void.", LANG_UNIVERSAL, target->ToPlayer());
}
events.RepeatEvent(urand(18000, 22000));
break;

View File

@@ -104,9 +104,9 @@ public:
}
if (yell)
c->MonsterYell(text.c_str(), LANG_UNIVERSAL, player);
c->Yell(text.c_str(), LANG_UNIVERSAL, player);
else
c->MonsterWhisper(text.c_str(), player, false);
c->Whisper(text.c_str(), LANG_UNIVERSAL, player);
}
void DespawnOachanoa()
@@ -359,12 +359,12 @@ public:
{
case EVENT_START_EVENT:
if (Creature* cr = getFuture())
cr->MonsterWhisper(IsFuture() ? "Hey there, $N, don't be alarmed. It's me... you... from the future. I'm here to help." : "Whoa! You're me, but from the future! Hey, my equipment got an upgrade! Cool!", getSummoner());
cr->Whisper(IsFuture() ? "Hey there, $N, don't be alarmed. It's me... you... from the future. I'm here to help." : "Whoa! You're me, but from the future! Hey, my equipment got an upgrade! Cool!", LANG_UNIVERSAL, getSummoner());
events.ScheduleEvent(EVENT_FIGHT_1, 7000);
break;
case EVENT_FIGHT_1:
if (Creature* cr = getFuture())
cr->MonsterWhisper(IsFuture() ? "Heads up... here they come. I'll help as much as I can. Let's just keep them off the hourglass!" : "Here come the Infinites! I've got to keep the hourglass safe. Can you help?", getSummoner());
cr->Whisper(IsFuture() ? "Heads up... here they come. I'll help as much as I can. Let's just keep them off the hourglass!" : "Here come the Infinites! I've got to keep the hourglass safe. Can you help?", LANG_UNIVERSAL, getSummoner());
events.ScheduleEvent(EVENT_FIGHT_2, 6000);
break;
case EVENT_FIGHT_2:
@@ -415,13 +415,13 @@ public:
if (Player* player = getSummoner())
player->GroupEventHappens(IsFuture() ? QUEST_MYSTERY_OF_THE_INFINITE : QUEST_MYSTERY_OF_THE_INFINITE_REDUX, me);
me->MonsterWhisper(IsFuture() ? "Look, $N, the hourglass has revealed Nozdormu!" : "What the heck? Nozdormu is up there!", getSummoner());
me->Whisper(IsFuture() ? "Look, $N, the hourglass has revealed Nozdormu!" : "What the heck? Nozdormu is up there!", LANG_UNIVERSAL, getSummoner());
events.ScheduleEvent(EVENT_FINISH_EVENT, 6000);
break;
}
case EVENT_FINISH_EVENT:
{
me->MonsterWhisper(IsFuture() ? "Farewell, $N. Keep us alive and get some better equipment!" : "I feel like I'm being pulled away through time. Thanks for the help....", getSummoner());
me->Whisper(IsFuture() ? "Farewell, $N. Keep us alive and get some better equipment!" : "I feel like I'm being pulled away through time. Thanks for the help....", LANG_UNIVERSAL, getSummoner());
me->DespawnOrUnsummon(500);
if (getFuture())
getFuture()->DespawnOrUnsummon(500);
@@ -462,7 +462,7 @@ public:
}
if (Creature* cr = getFuture())
cr->MonsterWhisper(text.c_str(), getSummoner());
cr->Whisper(text, LANG_UNIVERSAL, getSummoner());
}
};
};

View File

@@ -119,16 +119,16 @@ public:
switch (newPhase)
{
case 1:
me->MonsterWhisper("You think that you can get rid of me through meditation?", summoner->ToPlayer());
me->Whisper("You think that you can get rid of me through meditation?", LANG_UNIVERSAL, summoner->ToPlayer());
return;
case 2:
me->MonsterWhisper("Fool! I will destroy you and finally become that which has been building inside of you all these years!", summoner->ToPlayer());
me->Whisper("Fool! I will destroy you and finally become that which has been building inside of you all these years!", LANG_UNIVERSAL, summoner->ToPlayer());
return;
case 3:
me->MonsterWhisper("You cannot defeat me. I'm an inseparable part of you!", summoner->ToPlayer());
me->Whisper("You cannot defeat me. I'm an inseparable part of you!", LANG_UNIVERSAL, summoner->ToPlayer());
return;
case 4:
me->MonsterWhisper("NOOOOOOOoooooooooo!", summoner->ToPlayer());
me->Whisper("NOOOOOOOoooooooooo!", LANG_UNIVERSAL, summoner->ToPlayer());
me->SetLevel(summoner->getLevel());
me->setFaction(14);
if (me->GetExactDist(summoner) < 50.0f)

View File

@@ -200,22 +200,22 @@ public:
switch (quest)
{
case QUEST_BFV_FALLEN_HEROES:
me->MonsterYell("$N has defeated the fallen heroes of Valhalas battles past. This is only a beginning, but it will suffice.", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
me->Yell("$N has defeated the fallen heroes of Valhalas battles past. This is only a beginning, but it will suffice.", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
break;
case QUEST_BFV_DARK_MASTER:
me->MonsterYell("Khit'rix the Dark Master has been defeated by $N and his band of companions. Let the next challenge be issued!", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
me->Yell("Khit'rix the Dark Master has been defeated by $N and his band of companions. Let the next challenge be issued!", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
break;
case QUEST_BFV_SIGRID:
me->MonsterYell("$N has defeated Sigrid Iceborn for a second time. Well, this time he did it with the help of his friends, but a win is a win!", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
me->Yell("$N has defeated Sigrid Iceborn for a second time. Well, this time he did it with the help of his friends, but a win is a win!", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
break;
case QUEST_BFV_CARNAGE:
me->MonsterYell("The horror known as Carnage is no more. Could it be that $N is truly worthy of battle in Valhalas? We shall see.", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
me->Yell("The horror known as Carnage is no more. Could it be that $N is truly worthy of battle in Valhalas? We shall see.", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
break;
case QUEST_BFV_THANE:
me->MonsterYell("Thane Banahogg the Deathblow has fallen to $N and his fighting companions. He has but one challenge ahead of him. Who will it be?", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
me->Yell("Thane Banahogg the Deathblow has fallen to $N and his fighting companions. He has but one challenge ahead of him. Who will it be?", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
break;
case QUEST_BFV_FINAL:
me->MonsterYell("The unthinkable has happened... $N has slain Prince Sandoval!", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
me->Yell("The unthinkable has happened... $N has slain Prince Sandoval!", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
break;
}
player->GroupEventHappens(quest, player);
@@ -250,27 +250,27 @@ public:
{
case QUEST_BFV_FALLEN_HEROES:
events.ScheduleEvent(EVENT_VALHALAS_SECOND, 8000);
me->MonsterYell("$N and comrades in arms have chosen to accept honorable combat within the sacred confines of Valhalas.", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
me->Yell("$N and comrades in arms have chosen to accept honorable combat within the sacred confines of Valhalas.", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
break;
case QUEST_BFV_DARK_MASTER:
events.ScheduleEvent(EVENT_VALHALAS_SECOND, 8000);
me->MonsterYell("$N has accepted the challenge of Khit'rix the Dark Master. May the gods show mercy upon him for Khit'rix surely will not.", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
me->Yell("$N has accepted the challenge of Khit'rix the Dark Master. May the gods show mercy upon him for Khit'rix surely will not.", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
break;
case QUEST_BFV_SIGRID:
PrepareSummons();
me->MonsterTextEmote("Circling Valhalas, Sigrid Iceborn approaches to seek her revenge!", nullptr, true);
me->TextEmote("Circling Valhalas, Sigrid Iceborn approaches to seek her revenge!", nullptr, true);
break;
case QUEST_BFV_CARNAGE:
events.ScheduleEvent(EVENT_VALHALAS_SECOND, 8000);
me->MonsterYell("From the bowels of the Underhalls comes Carnage. Brave and foolish $N has accepted the challenge. $N and his group stand ready to face the monstrosity.", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
me->Yell("From the bowels of the Underhalls comes Carnage. Brave and foolish $N has accepted the challenge. $N and his group stand ready to face the monstrosity.", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
break;
case QUEST_BFV_THANE:
events.ScheduleEvent(EVENT_VALHALAS_SECOND, 8000);
me->MonsterYell("Thane Banahogg returns to Valhalas for the first time in ages to prove that the vrykul are the only beings worthy to fight within its sacred ring. Will $N prove him wrong?", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
me->Yell("Thane Banahogg returns to Valhalas for the first time in ages to prove that the vrykul are the only beings worthy to fight within its sacred ring. Will $N prove him wrong?", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
break;
case QUEST_BFV_FINAL:
events.ScheduleEvent(EVENT_VALHALAS_SECOND, 8000);
me->MonsterYell("From the depths of Icecrown Citadel, one of the Lich King's chosen comes to put an end to the existence of $N and his friends.", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
me->Yell("From the depths of Icecrown Citadel, one of the Lich King's chosen comes to put an end to the existence of $N and his friends.", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
break;
}
@@ -283,21 +283,21 @@ public:
switch (currentQuest)
{
case QUEST_BFV_FALLEN_HEROES:
me->MonsterYell("There can only be one outcome to such a battle: death for one side or the other. Let $n prove himself upon the bones of these outsiders who have fallen before!", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
me->MonsterTextEmote("The fallen heroes of Valhalas emerge from the ground to do battle once more!", nullptr, true);
me->Yell("There can only be one outcome to such a battle: death for one side or the other. Let $n prove himself upon the bones of these outsiders who have fallen before!", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
me->TextEmote("The fallen heroes of Valhalas emerge from the ground to do battle once more!", nullptr, true);
break;
case QUEST_BFV_DARK_MASTER:
me->MonsterTextEmote("Khit'rix the Dark Master skitters into Valhalas from the southeast!", nullptr, true);
me->TextEmote("Khit'rix the Dark Master skitters into Valhalas from the southeast!", nullptr, true);
break;
case QUEST_BFV_CARNAGE:
me->MonsterTextEmote("Lumbering in from the south, the smell of Carnage precedes him!", nullptr, true);
me->TextEmote("Lumbering in from the south, the smell of Carnage precedes him!", nullptr, true);
break;
case QUEST_BFV_THANE:
me->MonsterTextEmote("Thane Banahogg appears upon the overlook to the southeast!", nullptr, true);
me->TextEmote("Thane Banahogg appears upon the overlook to the southeast!", nullptr, true);
break;
case QUEST_BFV_FINAL:
me->MonsterYell("Warriors of Jotunheim, I present to you, Blood Prince Sandoval!", LANG_UNIVERSAL, nullptr);
me->MonsterTextEmote("Without warning, Prince Sandoval magically appears within Valhalas!", nullptr, true);
me->Yell("Warriors of Jotunheim, I present to you, Blood Prince Sandoval!", LANG_UNIVERSAL);
me->TextEmote("Without warning, Prince Sandoval magically appears within Valhalas!", nullptr, true);
break;
}
@@ -306,13 +306,13 @@ public:
}
case EVENT_VALHALAS_THIRD:
{
me->MonsterYell("In defeating him, he and his fighting companions have proven themselves worthy of battle in this most sacred place of vrykul honor.", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
me->Yell("In defeating him, he and his fighting companions have proven themselves worthy of battle in this most sacred place of vrykul honor.", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID));
events.ScheduleEvent(EVENT_VALHALAS_THIRD + 2, 7000);
break;
}
case EVENT_VALHALAS_THIRD+2:
{
me->MonsterYell("ALL HAIL $N, CHAMPION OF VALHALAS! ", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID2));
me->Yell("ALL HAIL $N, CHAMPION OF VALHALAS! ", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID2));
break;
}
case EVENT_VALHALAS_CHECK_PLAYER:
@@ -347,22 +347,22 @@ public:
switch (quest->GetQuestId())
{
case QUEST_BFV_FALLEN_HEROES:
creature->MonsterSay("Valhalas is yours to win or die in, $N. But whatever you do, stay within the bounds of the arena. To flee is to lose and be dishonored.", LANG_UNIVERSAL, player);
creature->Say("Valhalas is yours to win or die in, $N. But whatever you do, stay within the bounds of the arena. To flee is to lose and be dishonored.", LANG_UNIVERSAL, player);
break;
case QUEST_BFV_DARK_MASTER:
creature->MonsterSay("Prepare yourself. Khit'rix will be entering Valhalas from the southeast. Remember, do not leave the ring or you will lose the battle.", LANG_UNIVERSAL, player);
creature->Say("Prepare yourself. Khit'rix will be entering Valhalas from the southeast. Remember, do not leave the ring or you will lose the battle.", LANG_UNIVERSAL, player);
break;
case QUEST_BFV_SIGRID:
creature->MonsterYell("Sigrid Iceborn has returned to the heights of Jotunheim to prove herself against $N. When last they met, $N bester her in personal combat. Let us see the outcome of this match.", LANG_UNIVERSAL, player);
creature->Yell("Sigrid Iceborn has returned to the heights of Jotunheim to prove herself against $N. When last they met, $N bester her in personal combat. Let us see the outcome of this match.", LANG_UNIVERSAL, player);
break;
case QUEST_BFV_CARNAGE:
creature->MonsterSay("Carnage is coming! Remember, no matter what you do, do NOT leave the battle ring or I will disqualify you and your group.", LANG_UNIVERSAL, 0);
creature->Say("Carnage is coming! Remember, no matter what you do, do NOT leave the battle ring or I will disqualify you and your group.", LANG_UNIVERSAL);
break;
case QUEST_BFV_THANE:
creature->MonsterSay("Look to the southeast and you will see the thane upon the platform near Gjonner the Merciless when he shows himself. Let him come down. Stay within the ring of Valhalas.", LANG_UNIVERSAL, 0);
creature->Say("Look to the southeast and you will see the thane upon the platform near Gjonner the Merciless when he shows himself. Let him come down. Stay within the ring of Valhalas.", LANG_UNIVERSAL);
break;
case QUEST_BFV_FINAL:
creature->MonsterSay("It's too late to run now. Do not leave the ring. Die bravely, $N!", LANG_UNIVERSAL, 0);
creature->Say("It's too late to run now. Do not leave the ring. Die bravely, $N!", LANG_UNIVERSAL);
break;
}
@@ -1323,7 +1323,7 @@ public:
if (Unit* passenger = kit->GetPassenger(SEAT_ENGINEERING))
if (init && !passenger->HasAura(SPELL_BURNING))
{
me->MonsterTextEmote("Your Vehicle is burning!", GetSummoner(), true);
me->TextEmote("Your Vehicle is burning!", GetSummoner(), true);
passenger->AddAura(SPELL_BURNING, passenger);
}

View File

@@ -156,7 +156,7 @@ public:
void EnterCombat(Unit* /*who*/) override
{
me->MonsterYell("Ah, the heroes. Your little friends said you would come. This certainly saves me the trouble of hunting you down myself.", LANG_UNIVERSAL, 0);
me->Yell("Ah, the heroes. Your little friends said you would come. This certainly saves me the trouble of hunting you down myself.", LANG_UNIVERSAL);
me->CastSpell(me, SPELL_ARTRUIS_ICY_VEINS, true);
events.RescheduleEvent(EVENT_CAST_FROST_BOLT, 4000);
events.RescheduleEvent(EVENT_CAST_FROST_NOVA, 15000);
@@ -200,7 +200,7 @@ public:
}
else if (action == ACTION_MAKE_FRIENDLY && me->GetVictim())
{
minion->MonsterSay("Now you not catch us with back turned! Now we hurt you bad undead. BAD!", LANG_UNIVERSAL, 0);
minion->Say("Now you not catch us with back turned! Now we hurt you bad undead. BAD!", LANG_UNIVERSAL);
minion->RemoveAurasDueToSpell(SPELL_ARTRUIS_BINDING);
minion->setFaction(me->GetVictim()->getFaction());
minion->AddThreat(me, 100000.0f);
@@ -228,21 +228,21 @@ public:
if (me->GetHealthPct() <= 30)
{
me->SetControlled(true, UNIT_STATE_STUNNED);
me->MonsterTextEmote("Artruis is shielded. You must choose your side quickly to break his spell.", 0, true);
me->TextEmote("Artruis is shielded. You must choose your side quickly to break his spell.", nullptr, true);
SummonsAction(ACTION_BIND_MINIONS);
break;
}
events.RepeatEvent(1000);
break;
case EVENT_ARTRUIS_TALK1:
me->MonsterYell("I have weathered a hundred years of war and suffering. Do you truly think it wise to pit your mortal bodies against a being that cannot die? I'd venture you have more to lose.", LANG_UNIVERSAL, 0);
me->Yell("I have weathered a hundred years of war and suffering. Do you truly think it wise to pit your mortal bodies against a being that cannot die? I'd venture you have more to lose.", LANG_UNIVERSAL);
events.RescheduleEvent(EVENT_ARTRUIS_TALK2, 10000);
break;
case EVENT_ARTRUIS_TALK2:
me->MonsterYell("Even shattered into countless pieces, the crystals all around weaken me... perhaps i should not have underestimated the titans so...", LANG_UNIVERSAL, 0);
me->Yell("Even shattered into countless pieces, the crystals all around weaken me... perhaps i should not have underestimated the titans so...", LANG_UNIVERSAL);
break;
case EVENT_ARTRUIS_TALK3:
me->MonsterYell("Arthas once mustered strength... of the very same sort... perhaps he is the path that you will follow.", LANG_UNIVERSAL, 0);
me->Yell("Arthas once mustered strength... of the very same sort... perhaps he is the path that you will follow.", LANG_UNIVERSAL);
break;
case EVENT_CAST_FROST_BOLT:
me->CastSpell(me->GetVictim(), SPELL_ARTRUIS_FROSTBOLT, false);
@@ -340,7 +340,7 @@ public:
void Say(const char* text)
{
if (Creature* th = ObjectAccessor::GetCreature(*me, thunderbrewGUID))
th->MonsterSay(text, LANG_UNIVERSAL, 0);
th->Say(text, LANG_UNIVERSAL);
else
Reset();
}
@@ -841,9 +841,10 @@ public:
## npc_jungle_punch_target
#####*/
constexpr auto SAY_OFFER = "Care to try Grimbooze Thunderbrew's new jungle punch?";
enum JunglePunch
{
SAY_OFFER = 28558,
ITEM_TANKARD = 2705,
NPC_HEMET = 27986,
@@ -1025,7 +1026,7 @@ public:
continue;
player->KilledMonsterCredit(me->GetEntry());
player->MonsterSay(SAY_OFFER, LANG_UNIVERSAL, me);
player->Say(SAY_OFFER, LANG_UNIVERSAL);
sayStep = 1;
break;
}
@@ -1476,15 +1477,15 @@ public:
void HandleScript(SpellEffIndex /*effIndex*/)
{
if (Player* player = GetHitUnit()->ToPlayer())
if (Unit* target = GetHitUnit())
{
switch (GetSpellInfo()->Id)
{
case SPELL_CORRECT_TRACKS:
player->MonsterSay(sObjectMgr->GetAcoreStringForDBCLocale(SAY_CORRECT_TRACKS), LANG_UNIVERSAL, player);
target->Say(SAY_CORRECT_TRACKS, target);
break;
case SPELL_INCORRECT_TRACKS:
player->MonsterSay(sObjectMgr->GetAcoreStringForDBCLocale(SAY_INCORRECT_TRACKS), LANG_UNIVERSAL, player);
target->Say(SAY_INCORRECT_TRACKS, target);
break;
default:
break;

View File

@@ -85,10 +85,10 @@ public:
switch (waypointId)
{
case 0:
me->MonsterTextEmote("You've been seen! Use the net and Freezing elixir to keep the dwarves away!", 0, true);
me->TextEmote("You've been seen! Use the net and Freezing elixir to keep the dwarves away!", nullptr, true);
break;
case 19:
me->MonsterTextEmote("The frosthound has located the thief's hiding place. Confront him!", 0, true);
me->TextEmote("The frosthound has located the thief's hiding place. Confront him!", 0, true);
if (Unit* summoner = me->ToTempSummon()->GetSummonerUnit())
summoner->ToPlayer()->KilledMonsterCredit(29677);
break;

View File

@@ -132,33 +132,33 @@ public:
switch (counter)
{
case 1:
me->MonsterTextEmote("Quickly, get me some...", player, true);
me->MonsterTextEmote(itemName, player, true);
me->TextEmote("Quickly, get me some...", player, true);
me->TextEmote(itemName, player, true);
me->CastSpell(player, auraId, true);
break;
case 2:
me->MonsterTextEmote("Find me some...", player, true);
me->MonsterTextEmote(itemName, player, true);
me->TextEmote("Find me some...", player, true);
me->TextEmote(itemName, player, true);
me->CastSpell(player, auraId, true);
break;
case 3:
me->MonsterTextEmote("I think it needs...", player, true);
me->MonsterTextEmote(itemName, player, true);
me->TextEmote("I think it needs...", player, true);
me->TextEmote(itemName, player, true);
me->CastSpell(player, auraId, true);
break;
case 4:
me->MonsterTextEmote("Alright, now fetch me some...", player, true);
me->MonsterTextEmote(itemName, player, true);
me->TextEmote("Alright, now fetch me some...", player, true);
me->TextEmote(itemName, player, true);
me->CastSpell(player, auraId, true);
break;
case 5:
me->MonsterTextEmote("Before it thickens, we must add...", player, true);
me->MonsterTextEmote(itemName, player, true);
me->TextEmote("Before it thickens, we must add...", player, true);
me->TextEmote(itemName, player, true);
me->CastSpell(player, auraId, true);
break;
case 6:
me->MonsterTextEmote("It's thickening! Quickly get me some...", player, true);
me->MonsterTextEmote(itemName, player, true);
me->TextEmote("It's thickening! Quickly get me some...", player, true);
me->TextEmote(itemName, player, true);
me->CastSpell(player, auraId, true);
break;
}