aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp10
-rw-r--r--src/server/game/Entities/Player/Player.h2
-rw-r--r--src/server/game/Handlers/NPCHandler.cpp16
-rw-r--r--src/server/game/Maps/Map.cpp4
-rw-r--r--src/server/game/Maps/Map.h2
-rw-r--r--src/server/game/Spells/Spell.cpp2
-rw-r--r--src/server/game/Spells/SpellEffects.cpp49
-rw-r--r--src/server/game/Spells/SpellMgr.cpp3
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp15
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp4
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp27
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp40
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp13
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp31
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp25
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp7
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp14
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp23
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_erekem.cpp20
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp28
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp51
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp20
-rw-r--r--src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp5
-rw-r--r--src/server/scripts/Northrend/VioletHold/violet_hold.cpp4
-rw-r--r--src/server/scripts/Northrend/sholazar_basin.cpp26
-rw-r--r--src/server/scripts/Northrend/zuldrak.cpp50
-rw-r--r--src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp57
-rw-r--r--src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp23
-rw-r--r--src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp34
-rw-r--r--src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp49
-rw-r--r--src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp55
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp21
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp53
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp58
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp17
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp63
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp62
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp147
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp25
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_supremus.cpp59
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp61
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp28
-rw-r--r--src/server/scripts/Outland/BlackTemple/illidari_council.cpp158
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp129
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp92
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp89
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp106
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp68
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp30
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp37
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp38
-rw-r--r--src/server/scripts/Outland/GruulsLair/boss_gruul.cpp26
-rw-r--r--src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp88
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp4
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp23
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp21
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp26
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp31
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp27
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp50
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp51
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp100
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp15
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp30
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp97
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp19
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp24
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp22
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp26
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp31
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp18
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp4
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp18
-rw-r--r--src/server/scripts/Outland/blades_edge_mountains.cpp25
-rw-r--r--src/server/scripts/Outland/hellfire_peninsula.cpp51
-rw-r--r--src/server/scripts/Outland/nagrand.cpp40
-rw-r--r--src/server/scripts/Outland/netherstorm.cpp101
-rw-r--r--src/server/scripts/Outland/shadowmoon_valley.cpp159
-rw-r--r--src/server/scripts/Outland/shattrath_city.cpp127
-rw-r--r--src/server/scripts/Outland/terokkar_forest.cpp36
-rw-r--r--src/server/scripts/Outland/zangarmarsh.cpp89
-rw-r--r--src/server/scripts/World/guards.cpp6
-rw-r--r--src/server/scripts/World/npcs_special.cpp119
84 files changed, 1705 insertions, 1851 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 41c46cf55d2..75845ebdb4f 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -16677,13 +16677,11 @@ bool Player::LoadPositionFromDB(uint32& mapid, float& x, float& y, float& z, flo
return true;
}
-void Player::SetHomebind(WorldLocation const& /*loc*/, uint32 /*area_id*/)
+void Player::SetHomebind(WorldLocation const& loc, uint32 areaId)
{
- m_homebindMapId = GetMapId();
- m_homebindAreaId = GetAreaId();
- m_homebindX = GetPositionX();
- m_homebindY = GetPositionY();
- m_homebindZ = GetPositionZ();
+ loc.GetPosition(m_homebindX, m_homebindY, m_homebindZ);
+ m_homebindMapId = loc.GetMapId();
+ m_homebindAreaId = areaId;
// update sql homebind
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_PLAYER_HOMEBIND);
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 7d5b0487f4d..cc08e9c2e18 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -2312,7 +2312,7 @@ class Player : public Unit, public GridObject<Player>
float m_recallO;
void SaveRecallPosition();
- void SetHomebind(WorldLocation const& loc, uint32 area_id);
+ void SetHomebind(WorldLocation const& loc, uint32 areaId);
// Homebind coordinates
uint32 m_homebindMapId;
diff --git a/src/server/game/Handlers/NPCHandler.cpp b/src/server/game/Handlers/NPCHandler.cpp
index f3b26452435..a9cb7e9b806 100644
--- a/src/server/game/Handlers/NPCHandler.cpp
+++ b/src/server/game/Handlers/NPCHandler.cpp
@@ -470,22 +470,6 @@ void WorldSession::SendBindPoint(Creature* npc)
uint32 bindspell = 3286;
- // update sql homebind
- PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_PLAYER_HOMEBIND);
- stmt->setUInt16(0, _player->GetMapId());
- stmt->setUInt16(1, _player->GetAreaId());
- stmt->setFloat (2, _player->GetPositionX());
- stmt->setFloat (3, _player->GetPositionY());
- stmt->setFloat (4, _player->GetPositionZ());
- stmt->setUInt32(5, _player->GetGUIDLow());
- CharacterDatabase.Execute(stmt);
-
- _player->m_homebindMapId = _player->GetMapId();
- _player->m_homebindAreaId = _player->GetAreaId();
- _player->m_homebindX = _player->GetPositionX();
- _player->m_homebindY = _player->GetPositionY();
- _player->m_homebindZ = _player->GetPositionZ();
-
// send spell for homebinding (3286)
npc->CastSpell(_player, bindspell, true);
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp
index 115d56a607c..831b29c2cfd 100644
--- a/src/server/game/Maps/Map.cpp
+++ b/src/server/game/Maps/Map.cpp
@@ -1098,7 +1098,7 @@ bool GridMap::loadData(char *filename)
return false;
}
// loadup height data
- if (header.heightMapOffset && !loadHeihgtData(in, header.heightMapOffset, header.heightMapSize))
+ if (header.heightMapOffset && !loadHeightData(in, header.heightMapOffset, header.heightMapSize))
{
sLog->outError(LOG_FILTER_MAPS, "Error loading map height data\n");
fclose(in);
@@ -1154,7 +1154,7 @@ bool GridMap::loadAreaData(FILE* in, uint32 offset, uint32 /*size*/)
return true;
}
-bool GridMap::loadHeihgtData(FILE* in, uint32 offset, uint32 /*size*/)
+bool GridMap::loadHeightData(FILE* in, uint32 offset, uint32 /*size*/)
{
map_heightHeader header;
fseek(in, offset, SEEK_SET);
diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h
index 4e4b638faa4..a2ce227e2ea 100644
--- a/src/server/game/Maps/Map.h
+++ b/src/server/game/Maps/Map.h
@@ -176,7 +176,7 @@ class GridMap
bool loadAreaData(FILE* in, uint32 offset, uint32 size);
- bool loadHeihgtData(FILE* in, uint32 offset, uint32 size);
+ bool loadHeightData(FILE* in, uint32 offset, uint32 size);
bool loadLiquidData(FILE* in, uint32 offset, uint32 size);
// Get height functions and pointers
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 58f9d2856da..bb51d9d0e34 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -1392,7 +1392,7 @@ void Spell::SelectImplicitCasterDestTargets(SpellEffIndex effIndex, SpellImplici
if (SpellTargetPosition const* st = sSpellMgr->GetSpellTargetPosition(m_spellInfo->Id))
{
// TODO: fix this check
- if (m_spellInfo->HasEffect(SPELL_EFFECT_TELEPORT_UNITS))
+ if (m_spellInfo->HasEffect(SPELL_EFFECT_TELEPORT_UNITS) || m_spellInfo->HasEffect(SPELL_EFFECT_BIND))
m_targets.SetDst(st->target_X, st->target_Y, st->target_Z, st->target_Orientation, (int32)st->target_mapId);
else if (st->target_mapId == m_caster->GetMapId())
m_targets.SetDst(st->target_X, st->target_Y, st->target_Z, st->target_Orientation);
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 72ef429bed0..a642d40c24d 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -6264,51 +6264,38 @@ void Spell::EffectBind(SpellEffIndex effIndex)
Player* player = unitTarget->ToPlayer();
- uint32 area_id;
- WorldLocation loc;
- if (m_spellInfo->Effects[effIndex].TargetA.GetTarget() == TARGET_DEST_DB || m_spellInfo->Effects[effIndex].TargetB.GetTarget() == TARGET_DEST_DB)
- {
- SpellTargetPosition const* st = sSpellMgr->GetSpellTargetPosition(m_spellInfo->Id);
- if (!st)
- {
- sLog->outError(LOG_FILTER_SPELLS_AURAS, "Spell::EffectBind - unknown teleport coordinates for spell ID %u", m_spellInfo->Id);
- return;
- }
+ WorldLocation homeLoc;
+ uint32 areaId = player->GetAreaId();
- loc.m_mapId = st->target_mapId;
- loc.m_positionX = st->target_X;
- loc.m_positionY = st->target_Y;
- loc.m_positionZ = st->target_Z;
- loc.m_orientation = st->target_Orientation;
- area_id = player->GetAreaId();
- }
+ if (m_spellInfo->Effects[effIndex].MiscValue)
+ areaId = m_spellInfo->Effects[effIndex].MiscValue;
+
+ if (m_targets.HasDst())
+ homeLoc.WorldRelocate(*destTarget);
else
{
- player->GetPosition(&loc);
- area_id = player->GetAreaId();
+ player->GetPosition(&homeLoc);
+ homeLoc.m_mapId = player->GetMapId();
}
- player->SetHomebind(loc, area_id);
+ player->SetHomebind(homeLoc, areaId);
// binding
WorldPacket data(SMSG_BINDPOINTUPDATE, (4+4+4+4+4));
- data << float(loc.m_positionX);
- data << float(loc.m_positionY);
- data << float(loc.m_positionZ);
- data << uint32(loc.m_mapId);
- data << uint32(area_id);
+ data << float(homeLoc.GetPositionX());
+ data << float(homeLoc.GetPositionY());
+ data << float(homeLoc.GetPositionZ());
+ data << uint32(homeLoc.GetMapId());
+ data << uint32(areaId);
player->SendDirectMessage(&data);
- sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "New homebind X : %f", loc.m_positionX);
- sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "New homebind Y : %f", loc.m_positionY);
- sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "New homebind Z : %f", loc.m_positionZ);
- sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "New homebind MapId : %u", loc.m_mapId);
- sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "New homebind AreaId : %u", area_id);
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "EffectBind: New homebind X: %f, Y: %f, Z: %f, MapId: %u, AreaId: %u",
+ homeLoc.GetPositionX(), homeLoc.GetPositionY(), homeLoc.GetPositionZ(), homeLoc.GetMapId(), areaId);
// zone update
data.Initialize(SMSG_PLAYERBOUND, 8+4);
data << uint64(player->GetGUID());
- data << uint32(area_id);
+ data << uint32(areaId);
player->SendDirectMessage(&data);
}
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index ecab3712af1..3eefd969eed 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -2978,6 +2978,9 @@ void SpellMgr::LoadDbcDataCorrections()
switch (spellInfo->Id)
{
+ case 53096: // Quetz'lun's Judgment
+ spellInfo->MaxAffectedTargets = 1;
+ break;
case 42730:
spellInfo->EffectTriggerSpell[EFFECT_1] = 42739;
break;
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp
index 4bbb4c1a5ed..b17c471c81b 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp
@@ -34,9 +34,12 @@ enum Events
enum Says
{
- SAY_AGGRO = 0,
- SAY_ENRAGE = 1,
- SAY_DEATH = 2
+ SAY_SPAWN = 0,
+ SAY_AGGRO = 1,
+ SAY_ENRAGE = 2,
+ SAY_KILL = 3,
+ SAY_DEATH = 4,
+ SAY_SHIELD = 5,
};
enum Spells
@@ -101,6 +104,11 @@ public:
DoAction(ACTION_SET_NORMAL_EVENTS);
}
+ void KilledUnit(Unit* /*victim*/)
+ {
+ Talk(SAY_KILL);
+ }
+
void EnterCombat(Unit* /*who*/)
{
_EnterCombat();
@@ -176,6 +184,7 @@ public:
events.Reset();
_phase = (me->GetHealthPct() < 60.0f && me->GetHealthPct() > 20.0f) ? PHASE_FIRST_PLANAR : PHASE_SECOND_PLANAR;
+ Talk(SAY_SHIELD);
DoCast(SPELL_PLANAR_SHIFT);
// not sure about the amount, and if we should despawn previous spawns (dragon trashs)
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
index 5699616563a..921d67d6d65 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
@@ -1176,7 +1176,7 @@ class npc_lorekeeper : public CreatureScript
if (Creature* Branz = creature->FindNearestCreature(NPC_BRANZ_BRONZBEARD, 1000, true))
{
Delorah->GetMotionMaster()->MovePoint(0, Branz->GetPositionX()-4, Branz->GetPositionY(), Branz->GetPositionZ());
- //TODO DoScriptText(xxxx, Delorah, Branz); when reached at branz
+ //TODO Delorah->AI()->Talk(xxxx, Branz->GetGUID()); when reached at branz
}
}
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
index 0d4e3aad132..82845d10b8c 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
@@ -56,7 +56,7 @@ class boss_thorim : public CreatureScript
void EnterEvadeMode()
{
- DoScriptText(SAY_WIPE, me);
+ Talk(SAY_WIPE);
_EnterEvadeMode();
}
@@ -68,7 +68,7 @@ class boss_thorim : public CreatureScript
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
_JustDied();
}
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp
index aaa95631792..4fe56b346b2 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp
@@ -29,14 +29,14 @@ EndScriptData */
enum Yells
{
//Yells Ingvar
- YELL_AGGRO_1 = -1574005,
- YELL_AGGRO_2 = -1574006,
+ YELL_AGGRO_1 = 0,
+ YELL_AGGRO_2 = 1,
- YELL_DEAD_1 = -1574007,
- YELL_DEAD_2 = -1574008,
+ YELL_DEAD_1 = 2,
+ YELL_DEAD_2 = 3,
- YELL_KILL_1 = -1574009,
- YELL_KILL_2 = -1574010,
+ YELL_KILL_1 = 4,
+ YELL_KILL_2 = 5,
};
enum Creatures
@@ -151,7 +151,7 @@ public:
events.SetPhase(PHASE_EVENT);
events.ScheduleEvent(EVENT_SUMMON_BANSHEE, 3 * IN_MILLISECONDS, 0, PHASE_EVENT);
- DoScriptText(YELL_DEAD_1, me);
+ Talk(YELL_DEAD_1);
}
if (events.GetPhaseMask() & (1 << PHASE_EVENT))
@@ -164,13 +164,13 @@ public:
me->UpdateEntry(MOB_INGVAR_UNDEAD);
events.ScheduleEvent(EVENT_JUST_TRANSFORMED, 2 * IN_MILLISECONDS, 0, PHASE_EVENT);
- DoScriptText(YELL_AGGRO_2, me);
+ Talk(YELL_AGGRO_2);
}
void EnterCombat(Unit* /*who*/)
{
if (!bIsUndead)
- DoScriptText(YELL_AGGRO_1, me);
+ Talk(YELL_AGGRO_1);
if (instance)
instance->SetData(DATA_INGVAR_EVENT, IN_PROGRESS);
@@ -180,7 +180,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(YELL_DEAD_2, me);
+ Talk(YELL_DEAD_2);
if (instance)
{
@@ -201,10 +201,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- if (bIsUndead)
- DoScriptText(YELL_KILL_1, me);
- else
- DoScriptText(YELL_KILL_2, me);
+ Talk(bIsUndead ? YELL_KILL_1 : YELL_KILL_2);
}
void UpdateAI(const uint32 diff)
@@ -329,7 +326,7 @@ public:
{
me->GetMotionMaster()->MovePoint(1, x, y, z+15);
- // DoScriptText(YELL_RESSURECT, me);
+ // Talk(YELL_RESSURECT);
}
}
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp
index 7c977250e79..aad4c9989c1 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp
@@ -29,18 +29,18 @@ EndScriptData */
enum eEnums
{
//signed for 24200, but used by 24200, 27390
- YELL_SKARVALD_AGGRO = -1574011,
- YELL_SKARVALD_DAL_DIED = -1574012,
- YELL_SKARVALD_SKA_DIEDFIRST = -1574013,
- YELL_SKARVALD_KILL = -1574014,
- YELL_SKARVALD_DAL_DIEDFIRST = -1574015,
+ YELL_SKARVALD_AGGRO = 0,
+ YELL_SKARVALD_DAL_DIED = 1,
+ YELL_SKARVALD_SKA_DIEDFIRST = 2,
+ YELL_SKARVALD_KILL = 3,
+ YELL_SKARVALD_DAL_DIEDFIRST = 4,
//signed for 24201, but used by 24201, 27389
- YELL_DALRONN_AGGRO = -1574016,
- YELL_DALRONN_SKA_DIED = -1574017,
- YELL_DALRONN_DAL_DIEDFIRST = -1574018,
- YELL_DALRONN_KILL = -1574019,
- YELL_DALRONN_SKA_DIEDFIRST = -1574020,
+ YELL_DALRONN_AGGRO = 0,
+ YELL_DALRONN_SKA_DIED = 1,
+ YELL_DALRONN_DAL_DIEDFIRST = 2,
+ YELL_DALRONN_KILL = 3,
+ YELL_DALRONN_SKA_DIEDFIRST = 4,
//Spells of Skarvald and his Ghost
MOB_SKARVALD_THE_CONSTRUCTOR = 24200,
@@ -123,7 +123,7 @@ public:
{
if (!ghost && instance)
{
- DoScriptText(YELL_SKARVALD_AGGRO, me);
+ Talk(YELL_SKARVALD_AGGRO);
Unit* dalronn = Unit::GetUnit(*me, instance->GetData64(DATA_DALRONN));
if (dalronn && dalronn->isAlive() && !dalronn->getVictim())
@@ -151,13 +151,13 @@ public:
{
if (dalronn->isDead())
{
- DoScriptText(YELL_SKARVALD_DAL_DIED, me);
+ Talk(YELL_SKARVALD_DAL_DIED);
instance->SetData(DATA_SKARVALD_DALRONN_EVENT, DONE);
}
else
{
- DoScriptText(YELL_SKARVALD_SKA_DIEDFIRST, me);
+ Talk(YELL_SKARVALD_SKA_DIEDFIRST);
me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);
//DoCast(me, SPELL_SUMMON_SKARVALD_GHOST, true);
@@ -176,7 +176,7 @@ public:
{
if (!ghost)
{
- DoScriptText(YELL_SKARVALD_KILL, me);
+ Talk(YELL_SKARVALD_KILL);
}
}
@@ -211,7 +211,7 @@ public:
{
if (Response_Timer <= diff)
{
- DoScriptText(YELL_SKARVALD_DAL_DIEDFIRST, me);
+ Talk(YELL_SKARVALD_DAL_DIEDFIRST);
Response_Timer = 0;
} else Response_Timer -= diff;
@@ -310,14 +310,14 @@ public:
{
if (skarvald->isDead())
{
- DoScriptText(YELL_DALRONN_SKA_DIED, me);
+ Talk(YELL_DALRONN_SKA_DIED);
if (instance)
instance->SetData(DATA_SKARVALD_DALRONN_EVENT, DONE);
}
else
{
- DoScriptText(YELL_DALRONN_DAL_DIEDFIRST, me);
+ Talk(YELL_DALRONN_DAL_DIEDFIRST);
me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);
//DoCast(me, SPELL_SUMMON_DALRONN_GHOST, true);
@@ -336,7 +336,7 @@ public:
{
if (!ghost)
{
- DoScriptText(YELL_DALRONN_KILL, me);
+ Talk(YELL_DALRONN_KILL);
}
}
@@ -355,7 +355,7 @@ public:
{
if (AggroYell_Timer <= diff)
{
- DoScriptText(YELL_DALRONN_AGGRO, me);
+ Talk(YELL_DALRONN_AGGRO);
AggroYell_Timer = 0;
} else AggroYell_Timer -= diff;
@@ -382,7 +382,7 @@ public:
{
if (Response_Timer <= diff)
{
- DoScriptText(YELL_DALRONN_SKA_DIEDFIRST, me);
+ Talk(YELL_DALRONN_SKA_DIEDFIRST);
Response_Timer = 0;
} else Response_Timer -= diff;
}
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp
index 8cbfe4bafb4..d2772514edf 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp
@@ -47,10 +47,9 @@ enum OrbSpells
//not in db
enum Yells
{
- SAY_AGGRO = -1575000,
- SAY_SLAY_1 = -1575001,
- SAY_SLAY_2 = -1575002,
- SAY_DEATH = -1575003
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1
+ //SAY_DEATH = 2 Missing in database
};
enum Creatures
@@ -155,7 +154,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
}
void AttackStart(Unit* who)
@@ -212,7 +211,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ //Talk(SAY_DEATH);
if (instance)
instance->SetData(DATA_GORTOK_PALEHOOF_EVENT, DONE);
Creature* temp = Unit::GetCreature((*me), instance ? instance->GetData64(DATA_MOB_ORB) : 0);
@@ -222,7 +221,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
+ Talk(SAY_SLAY);
}
void NextPhase()
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
index 63898e57c08..45bab11c46a 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
@@ -34,16 +34,13 @@ Script Data End */
//Yell
enum eYells
{
- SAY_AGGRO = -1575004,
- SAY_KILL_1 = -1575005,
- SAY_KILL_2 = -1575006,
- EMOTE_RANGE = -1575007, //Skadi
- SAY_DEATH = -1575008,
- SAY_DRAKE_DEATH = -1575009,
- EMOTE_BREATH = -1575010, //Grauf
- SAY_DRAKE_BREATH_1 = -1575011,
- SAY_DRAKE_BREATH_2 = -1575012,
- SAY_DRAKE_BREATH_3 = -1575013,
+ SAY_AGGRO = 0,
+ SAY_KILL = 1,
+ EMOTE_RANGE = 2,
+ SAY_DEATH = 3,
+ SAY_DRAKE_DEATH = 4,
+ EMOTE_BREATH = 5,
+ SAY_DRAKE_BREATH = 6
};
static Position SpawnLoc = {468.931f, -513.555f, 104.723f, 0};
@@ -230,7 +227,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
@@ -297,7 +294,7 @@ public:
}
me->GetMotionMaster()->MoveJump(Location[4].GetPositionX(), Location[4].GetPositionY(), Location[4].GetPositionZ(), 5.0f, 10.0f);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
- DoScriptText(SAY_DRAKE_DEATH, me);
+ Talk(SAY_DRAKE_DEATH);
m_uiCrushTimer = 8000;
m_uiPoisonedSpearTimer = 10000;
m_uiWhirlwindTimer = 20000;
@@ -319,7 +316,7 @@ public:
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
if (!m_bSaidEmote)
{
- DoScriptText(EMOTE_RANGE, me);
+ Talk(EMOTE_RANGE);
m_bSaidEmote = true;
}
}
@@ -360,8 +357,8 @@ public:
break;
case 3:
me->GetMotionMaster()->MovePoint(0, Location[69].GetPositionX(), Location[69].GetPositionY(), Location[69].GetPositionZ());
- DoScriptText(RAND(SAY_DRAKE_BREATH_1, SAY_DRAKE_BREATH_2), me);
- DoScriptText(EMOTE_BREATH, me);
+ Talk(SAY_DRAKE_BREATH);
+ Talk(EMOTE_BREATH);
m_uiMovementTimer = 2500;
break;
case 4:
@@ -413,7 +410,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
Summons.DespawnAll();
if (instance)
instance->SetData(DATA_SKADI_THE_RUTHLESS_EVENT, DONE);
@@ -421,7 +418,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me);
+ Talk(SAY_KILL);
}
void SpawnMobs()
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
index 0278125deb3..96cfee7c2b8 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
@@ -55,16 +55,13 @@ enum Spells
//not in db
enum Yells
{
- SAY_AGGRO = -1575028,
- SAY_SLAY_1 = -1575029,
- SAY_SLAY_2 = -1575030,
- SAY_SLAY_3 = -1575031,
- SAY_SLAY_4 = -1575032,
- SAY_DEATH = -1575033,
- SAY_SUMMON_BJORN = -1575034,
- SAY_SUMMON_HALDOR = -1575035,
- SAY_SUMMON_RANULF = -1575036,
- SAY_SUMMON_TORGYN = -1575037
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1,
+ SAY_DEATH = 2,
+ SAY_SUMMON_BJORN = 3,
+ SAY_SUMMON_HALDOR = 4,
+ SAY_SUMMON_RANULF = 5,
+ SAY_SUMMON_TORGYN = 6
};
enum Creatures
@@ -190,7 +187,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
if (instance)
instance->SetData(DATA_KING_YMIRON_EVENT, IN_PROGRESS);
@@ -216,7 +213,7 @@ public:
{
if (m_uiPause_Timer <= diff)
{
- DoScriptText(ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].say, me);
+ Talk(ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].say);
DoCast(me, SPELL_CHANNEL_YMIRON_TO_SPIRIT); // should be on spirit
if (Creature* temp = me->SummonCreature(ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].npc, ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].SpawnX, ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].SpawnY, ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].SpawnZ, ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].SpawnO, TEMPSUMMON_CORPSE_DESPAWN, 0))
{
@@ -370,7 +367,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
DespawnBoatGhosts(m_uiActivedCreatureGUID);
DespawnBoatGhosts(m_uiOrbGUID);
@@ -381,7 +378,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3, SAY_SLAY_4), me);
+ Talk(SAY_SLAY);
}
void DespawnBoatGhosts(uint64 m_uiCreatureGUID)
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp
index 96e0bc66bd1..8a5e25e4487 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp
@@ -19,7 +19,10 @@
#include "ScriptedCreature.h"
#include "vault_of_archavon.h"
-#define EMOTE_BERSERK -1590002
+enum
+{
+ EMOTE_BERSERK = 0
+};
//Spells Archavon
#define SPELL_ROCK_SHARDS 58678
@@ -109,7 +112,7 @@ class boss_archavon : public CreatureScript
break;
case EVENT_BERSERK:
DoCast(me, SPELL_BERSERK);
- DoScriptText(EMOTE_BERSERK, me);
+ Talk(EMOTE_BERSERK);
break;
default:
break;
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp
index 903280d317a..b61bb20389d 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp
@@ -37,9 +37,9 @@ enum Spells
enum BossEmotes
{
- EMOTE_OVERCHARGE = -1590000,
- EMOTE_MINION_RESPAWN = -1590001,
- EMOTE_BERSERK = -1590002,
+ EMOTE_OVERCHARGE = 0,
+ EMOTE_MINION_RESPAWN = 1,
+ EMOTE_BERSERK = 2
};
enum Events
@@ -146,14 +146,14 @@ class boss_emalon : public CreatureScript
{
minion->CastSpell(me, SPELL_OVERCHARGED, true);
minion->SetFullHealth();
- DoScriptText(EMOTE_OVERCHARGE, me);
+ Talk(EMOTE_OVERCHARGE);
events.ScheduleEvent(EVENT_OVERCHARGE, 45000);
}
}
break;
case EVENT_BERSERK:
DoCast(me, SPELL_BERSERK);
- DoScriptText(EMOTE_BERSERK, me);
+ Talk(EMOTE_BERSERK);
break;
default:
break;
@@ -198,7 +198,7 @@ class mob_tempest_minion : public CreatureScript
if (emalon->isAlive())
{
emalon->SummonCreature(MOB_TEMPEST_MINION, 0, 0, 0, 0, TEMPSUMMON_CORPSE_DESPAWN, 0);
- DoScriptText(EMOTE_MINION_RESPAWN, me);
+ Talk(EMOTE_MINION_RESPAWN);
}
}
}
@@ -244,7 +244,7 @@ class mob_tempest_minion : public CreatureScript
{
DoCast(me, SPELL_OVERCHARGED_BLAST);
me->DespawnOrUnsummon();
- DoScriptText(EMOTE_MINION_RESPAWN, me);
+ Talk(EMOTE_MINION_RESPAWN);
}
}
}
diff --git a/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp b/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp
index b4ce402e7de..7b1b9e96baf 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp
@@ -34,16 +34,13 @@ enum Spells
enum Yells
{
- SAY_AGGRO = -1608000,
- SAY_SLAY_1 = -1608001,
- SAY_SLAY_2 = -1608002,
- SAY_SLAY_3 = -1608003,
- SAY_DEATH = -1608004,
- SAY_SPAWN = -1608005,
- SAY_DISRUPTION = -1608006,
- SAY_BREATH_ATTACK = -1608007,
- SAY_SPECIAL_ATTACK_1 = -1608008,
- SAY_SPECIAL_ATTACK_2 = -1608009
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1,
+ SAY_DEATH = 2,
+ SAY_SPAWN = 3,
+ SAY_DISRUPTION = 4,
+ SAY_BREATH_ATTACK = 5,
+ SAY_SPECIAL_ATTACK = 6
};
class boss_cyanigosa : public CreatureScript
@@ -84,7 +81,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
if (instance)
instance->SetData(DATA_CYANIGOSA_EVENT, IN_PROGRESS);
@@ -144,7 +141,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
instance->SetData(DATA_CYANIGOSA_EVENT, DONE);
@@ -154,7 +151,7 @@ public:
{
if (victim == me)
return;
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me);
+ Talk(SAY_SLAY);
}
};
diff --git a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
index bd59b731c3c..15cd12140cf 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
@@ -34,14 +34,12 @@ enum Spells
enum Yells
{
- SAY_AGGRO = -1608010,
- SAY_SLAY_1 = -1608011,
- SAY_SLAY_2 = -1608012,
- SAY_SLAY_3 = -1608013,
- SAY_DEATH = -1608014,
- SAY_SPAWN = -1608015,
- SAY_ADD_KILLED = -1608016,
- SAY_BOTH_ADDS_KILLED = -1608017
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1,
+ SAY_DEATH = 2,
+ SAY_SPAWN = 3,
+ SAY_ADD_KILLED = 4,
+ SAY_BOTH_ADDS_KILLED = 5
};
class boss_erekem : public CreatureScript
@@ -125,7 +123,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
DoCast(me, SPELL_EARTH_SHIELD);
if (instance)
@@ -209,7 +207,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
{
@@ -230,7 +228,7 @@ public:
{
if (victim == me)
return;
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me);
+ Talk(SAY_SLAY);
}
uint64 GetChainHealTargetGUID()
diff --git a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
index cea00417233..fba7efe43ab 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
@@ -40,15 +40,13 @@ enum IchoronCreatures
enum Yells
{
- SAY_AGGRO = -1608018,
- SAY_SLAY_1 = -1608019,
- SAY_SLAY_2 = -1608020,
- SAY_SLAY_3 = -1608021,
- SAY_DEATH = -1608022,
- SAY_SPAWN = -1608023,
- SAY_ENRAGE = -1608024,
- SAY_SHATTER = -1608025,
- SAY_BUBBLE = -1608026
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1,
+ SAY_DEATH = 2,
+ SAY_SPAWN = 3,
+ SAY_ENRAGE = 4,
+ SAY_SHATTER = 5,
+ SAY_BUBBLE = 6
};
enum Actions
@@ -120,7 +118,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
DoCast(me, SPELL_PROTECTIVE_BUBBLE);
@@ -189,7 +187,7 @@ public:
if (!HealthBelowPct(25))
{
- DoScriptText(SAY_BUBBLE, me);
+ Talk(SAY_BUBBLE);
DoCast(me, SPELL_PROTECTIVE_BUBBLE, true);
}
@@ -214,7 +212,7 @@ public:
if (!bIsFrenzy && HealthBelowPct(25) && !bIsExploded)
{
- DoScriptText(SAY_ENRAGE, me);
+ Talk(SAY_ENRAGE);
DoCast(me, SPELL_FRENZY, true);
bIsFrenzy = true;
}
@@ -227,7 +225,7 @@ public:
{
if (!me->HasAura(SPELL_PROTECTIVE_BUBBLE, 0))
{
- DoScriptText(SAY_SHATTER, me);
+ Talk(SAY_SHATTER);
DoCast(me, SPELL_WATER_BLAST);
DoCast(me, SPELL_DRAINED);
bIsExploded = true;
@@ -277,7 +275,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (bIsExploded)
{
@@ -326,7 +324,7 @@ public:
{
if (victim == me)
return;
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me);
+ Talk(SAY_SLAY);
}
};
diff --git a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
index 58d7b59c7dd..429b2ac32ea 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
@@ -22,41 +22,38 @@
enum Spells
{
- SPELL_ARCANE_BARRAGE_VOLLEY = 54202,
- SPELL_ARCANE_BARRAGE_VOLLEY_H = 59483,
- SPELL_ARCANE_BUFFET = 54226,
- SPELL_ARCANE_BUFFET_H = 59485,
- SPELL_SUMMON_ETHEREAL_SPHERE_1 = 54102,
- SPELL_SUMMON_ETHEREAL_SPHERE_2 = 54137,
- SPELL_SUMMON_ETHEREAL_SPHERE_3 = 54138,
+ SPELL_ARCANE_BARRAGE_VOLLEY = 54202,
+ SPELL_ARCANE_BARRAGE_VOLLEY_H = 59483,
+ SPELL_ARCANE_BUFFET = 54226,
+ SPELL_ARCANE_BUFFET_H = 59485,
+ SPELL_SUMMON_ETHEREAL_SPHERE_1 = 54102,
+ SPELL_SUMMON_ETHEREAL_SPHERE_2 = 54137,
+ SPELL_SUMMON_ETHEREAL_SPHERE_3 = 54138,
};
enum NPCs
{
- NPC_ETHEREAL_SPHERE = 29271,
- //NPC_ETHEREAL_SPHERE2 = 32582, // heroic only?
+ NPC_ETHEREAL_SPHERE = 29271,
+ //NPC_ETHEREAL_SPHERE2 = 32582, // heroic only?
};
enum CreatureSpells
{
- SPELL_ARCANE_POWER = 54160,
- H_SPELL_ARCANE_POWER = 59474,
- SPELL_SUMMON_PLAYERS = 54164,
- SPELL_POWER_BALL_VISUAL = 54141,
+ SPELL_ARCANE_POWER = 54160,
+ H_SPELL_ARCANE_POWER = 59474,
+ SPELL_SUMMON_PLAYERS = 54164,
+ SPELL_POWER_BALL_VISUAL = 54141,
};
enum Yells
{
- SAY_AGGRO = -1608027,
- SAY_SLAY_1 = -1608028,
- SAY_SLAY_2 = -1608029,
- SAY_SLAY_3 = -1608030,
- SAY_DEATH = -1608031,
- SAY_SPAWN = -1608032,
- SAY_CHARGED = -1608033,
- SAY_REPEAT_SUMMON_1 = -1608034,
- SAY_REPEAT_SUMMON_2 = -1608035,
- SAY_SUMMON_ENERGY = -1608036
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1,
+ SAY_DEATH = 2,
+ SAY_SPAWN = 3,
+ SAY_CHARGED = 4,
+ SAY_REPEAT_SUMMON = 5,
+ SAY_SUMMON_ENERGY = 6
};
class boss_xevozz : public CreatureScript
@@ -139,7 +136,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
if (instance)
{
if (GameObject* pDoor = instance->instance->GetGameObject(instance->GetData64(DATA_XEVOZZ_CELL)))
@@ -182,7 +179,7 @@ public:
if (uiSummonEtherealSphere_Timer < uiDiff)
{
- DoScriptText(SAY_SPAWN, me);
+ Talk(SAY_SPAWN);
DoCast(me, SPELL_SUMMON_ETHEREAL_SPHERE_1);
if (IsHeroic()) // extra one for heroic
me->SummonCreature(NPC_ETHEREAL_SPHERE, me->GetPositionX()-5+rand()%10, me->GetPositionY()-5+rand()%10, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 40000);
@@ -197,7 +194,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
DespawnSphere();
@@ -220,7 +217,7 @@ public:
if (victim == me)
return;
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me);
+ Talk(SAY_SLAY);
}
};
diff --git a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
index 408a7083383..5216ae9f08d 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
@@ -38,14 +38,12 @@ enum ZuramatCreatures
enum Yells
{
- SAY_AGGRO = -1608037,
- SAY_SLAY_1 = -1608038,
- SAY_SLAY_2 = -1608039,
- SAY_SLAY_3 = -1608040,
- SAY_DEATH = -1608041,
- SAY_SPAWN = -1608042,
- SAY_SHIELD = -1608043,
- SAY_WHISPER = -1608044
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1,
+ SAY_DEATH = 2,
+ SAY_SPAWN = 3,
+ SAY_SHIELD = 4,
+ SAY_WHISPER = 5
};
#define DATA_VOID_DANCE 2153
@@ -106,7 +104,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
if (instance)
{
if (GameObject* pDoor = instance->instance->GetGameObject(instance->GetData64(DATA_ZURAMAT_CELL)))
@@ -168,7 +166,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
{
@@ -190,7 +188,7 @@ public:
if (victim == me)
return;
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me);
+ Talk(SAY_SLAY);
}
void JustSummoned(Creature* summon)
diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
index 5e3bbc01025..c1c93c789de 100644
--- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
@@ -16,6 +16,7 @@
*/
#include "ScriptMgr.h"
+#include "ScriptedCreature.h"
#include "InstanceScript.h"
#include "violet_hold.h"
#include "Player.h"
@@ -94,7 +95,7 @@ const Position MiddleRoomPortalSaboLocation = {1896.622925f, 804.854126f, 38.504
//Cyanigosa's prefight event data
enum Yells
{
- CYANIGOSA_SAY_SPAWN = -1608005
+ CYANIGOSA_SAY_SPAWN = 0
};
enum Spells
@@ -742,7 +743,7 @@ public:
{
case 1:
pCyanigosa->CastSpell(pCyanigosa, CYANIGOSA_BLUE_AURA, false);
- DoScriptText(CYANIGOSA_SAY_SPAWN, pCyanigosa);
+ pCyanigosa->AI()->Talk(CYANIGOSA_SAY_SPAWN);
uiCyanigosaEventTimer = 7*IN_MILLISECONDS;
++uiCyanigosaEventPhase;
break;
diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
index c73cb97f2d1..5e326af9891 100644
--- a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
@@ -125,7 +125,7 @@ enum Spells
enum eSinclari
{
- SAY_SINCLARI_1 = -1608045
+ SAY_SINCLARI_1 = 0
};
float FirstPortalWPs [6][3] =
@@ -353,7 +353,7 @@ public:
switch (uiPhase)
{
case 1:
- DoScriptText(SAY_SINCLARI_1, me);
+ Talk(SAY_SINCLARI_1);
uiTimer = 4000;
uiPhase = 2;
break;
diff --git a/src/server/scripts/Northrend/sholazar_basin.cpp b/src/server/scripts/Northrend/sholazar_basin.cpp
index a6d6cda11b1..c0635f897d9 100644
--- a/src/server/scripts/Northrend/sholazar_basin.cpp
+++ b/src/server/scripts/Northrend/sholazar_basin.cpp
@@ -722,10 +722,17 @@ class npc_adventurous_dwarf : public CreatureScript
public:
npc_adventurous_dwarf() : CreatureScript("npc_adventurous_dwarf") { }
+ struct npc_adventurous_dwarfAI : public ScriptedAI
+ {
+ npc_adventurous_dwarfAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Talk(SAY_DWARF_OUCH);
+ }
+ };
+
CreatureAI* GetAI(Creature* creature) const
{
- creature->AI()->Talk(SAY_DWARF_OUCH);
- return NULL;
+ return new npc_adventurous_dwarfAI(creature);
}
bool OnGossipHello(Player* player, Creature* creature)
@@ -750,14 +757,23 @@ public:
{
player->PlayerTalkClass->ClearMenus();
uint32 spellId = 0;
+
switch (action)
{
- case GOSSIP_ACTION_INFO_DEF + 1: spellId = SPELL_ADD_ORANGE; break;
- case GOSSIP_ACTION_INFO_DEF + 2: spellId = SPELL_ADD_BANANAS; break;
- case GOSSIP_ACTION_INFO_DEF + 3: spellId = SPELL_ADD_PAPAYA; break;
+ case GOSSIP_ACTION_INFO_DEF + 1:
+ spellId = SPELL_ADD_ORANGE;
+ break;
+ case GOSSIP_ACTION_INFO_DEF + 2:
+ spellId = SPELL_ADD_BANANAS;
+ break;
+ case GOSSIP_ACTION_INFO_DEF + 3:
+ spellId = SPELL_ADD_PAPAYA;
+ break;
}
+
if (spellId)
player->CastSpell(player, spellId, true);
+
creature->AI()->Talk(SAY_DWARF_HELP);
creature->DespawnOrUnsummon();
return true;
diff --git a/src/server/scripts/Northrend/zuldrak.cpp b/src/server/scripts/Northrend/zuldrak.cpp
index e5763e5baf6..506c34d40fb 100644
--- a/src/server/scripts/Northrend/zuldrak.cpp
+++ b/src/server/scripts/Northrend/zuldrak.cpp
@@ -121,9 +121,9 @@ enum eRageclaw
SPELL_KNEEL = 39656
};
-const char * SAY_RAGECLAW_1 = "I poop on you, trollses!";
-const char * SAY_RAGECLAW_2 = "ARRRROOOOGGGGAAAA!";
-const char * SAY_RAGECLAW_3 = "No more mister nice wolvar!";
+const char* SAY_RAGECLAW_1 = "I poop on you, trollses!";
+const char* SAY_RAGECLAW_2 = "ARRRROOOOGGGGAAAA!";
+const char* SAY_RAGECLAW_3 = "No more mister nice wolvar!";
#define SAY_RAGECLAW RAND(SAY_RAGECLAW_1, SAY_RAGECLAW_2, SAY_RAGECLAW_3)
@@ -265,14 +265,16 @@ enum eGurgthock
NPC_FIEND_FIRE = 30042,
NPC_FIEND_EARTH = 30043,
- SAY_QUEST_ACCEPT_TUSKARRMAGEDON = -1571031,
- SAY_QUEST_ACCEPT_KORRAK_1 = -1571033,
- SAY_QUEST_ACCEPT_KORRAK_2 = -1571034,
- SAY_QUEST_ACCEPT_MAGNATAUR = -1571035,
+ SAY_QUEST_ACCEPT_TUSKARRMAGEDON = 0,
+ SAY_QUEST_ACCEPT_KORRAK_1 = 1,
+ SAY_QUEST_ACCEPT_KORRAK_2 = 2,
+ SAY_QUEST_ACCEPT_MAGNATAUR = 3,
+ EMOTE_YGGDRAS_SPAWN = 4,
+ SAY_STINKBEARD_SPAWN = 5,
+ SAY_GURGTHOCK_ELEMENTAL_SPAWN = 6,
- EMOTE_YGGDRAS_SPAWN = -1571039,
- SAY_STINKBEARD_SPAWN = -1571040,
- SAY_GURGTHOCK_ELEMENTAL_SPAWN = -1571041,
+ SAY_CALL_FOR_HELP = 0,
+ SAY_RECRUIT = 0,
SPELL_CRASHING_WAVE = 55909, // water
SPELL_SHOCKWAVE = 55918, // earth
@@ -380,12 +382,12 @@ public:
switch (uiValue)
{
case QUEST_AMPHITHEATER_ANGUISH_TUSKARRMAGEDDON:
- DoScriptText(SAY_QUEST_ACCEPT_TUSKARRMAGEDON, me);
+ Talk(SAY_QUEST_ACCEPT_TUSKARRMAGEDON);
uiPhase = 1;
uiTimer = 4000;
break;
case QUEST_AMPHITHEATER_ANGUISH_KORRAK_BLOODRAGER:
- DoScriptText(SAY_QUEST_ACCEPT_KORRAK_1, me);
+ Talk(SAY_QUEST_ACCEPT_KORRAK_1);
uiPhase = 3;
uiTimer = 3000;
break;
@@ -443,7 +445,7 @@ public:
SummonGUID = 0;
break;
case 3:
- DoScriptText(SAY_QUEST_ACCEPT_KORRAK_2, me);
+ Talk(SAY_QUEST_ACCEPT_KORRAK_2);
uiTimer = 3000;
uiPhase = 4;
break;
@@ -477,7 +479,7 @@ public:
}
break;
case 8:
- DoScriptText(SAY_QUEST_ACCEPT_MAGNATAUR, me);
+ Talk(SAY_QUEST_ACCEPT_MAGNATAUR);
uiTimer = 5000;
uiPhase = 11;
break;
@@ -494,12 +496,12 @@ public:
break;
case 10:
me->SummonCreature(NPC_YGGDRAS, SpawnPosition[1], TEMPSUMMON_CORPSE_DESPAWN, 1000);
- DoScriptText(EMOTE_YGGDRAS_SPAWN, me);
+ Talk(EMOTE_YGGDRAS_SPAWN);
uiPhase = 0;
break;
case 11:
if (Creature* creature = me->SummonCreature(NPC_STINKBEARD, SpawnPosition[0], TEMPSUMMON_CORPSE_DESPAWN, 1000))
- DoScriptText(SAY_STINKBEARD_SPAWN, creature);
+ creature->AI()->Talk(SAY_STINKBEARD_SPAWN);
uiPhase = 0;
break;
case 12:
@@ -514,7 +516,7 @@ public:
}
break;
case 13:
- DoScriptText(SAY_GURGTHOCK_ELEMENTAL_SPAWN, me);
+ Talk(SAY_GURGTHOCK_ELEMENTAL_SPAWN);
uiTimer = 3000;
uiPhase = 14;
break;
@@ -575,9 +577,7 @@ enum eOrinokoTuskbreaker
SPELL_SUMMON_WHISKER = 55946,
NPC_WHISKER = 30113,
- NPC_HUNGRY_PENGUIN = 30110,
-
- SAY_CALL_FOR_HELP = -1571032
+ NPC_HUNGRY_PENGUIN = 30110
};
class npc_orinoko_tuskbreaker : public CreatureScript
@@ -659,7 +659,7 @@ public:
if (!bSummoned && !HealthAbovePct(50))
{
- DoScriptText(SAY_CALL_FOR_HELP, me);
+ Talk(SAY_CALL_FOR_HELP);
//DoCast(me->getVictim(), SPELL_SUMMON_WHISKER); petai is not working correctly???
if (Creature* pWhisker = me->SummonCreature(NPC_WHISKER, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 0))
@@ -1282,11 +1282,7 @@ enum eCrusade_recruit
QUEST_TROLL_PATROL_INTESTINAL_FORTITUDE = 12509,
- GOSSIP_CRUSADE_TEXT = 13069,
-
- SAY_RECRUIT_1 = -1571036,
- SAY_RECRUIT_2 = -1571037,
- SAY_RECRUIT_3 = -1571038
+ GOSSIP_CRUSADE_TEXT = 13069
};
#define GOSSIP_ITEM_1 "Get out there and make those Scourge wish they were never reborn!"
@@ -1325,7 +1321,7 @@ public:
// say random text
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
- DoScriptText(RAND(SAY_RECRUIT_1, SAY_RECRUIT_2, SAY_RECRUIT_3), me);
+ Talk(SAY_RECRUIT);
m_uiTimer = 3000;
m_uiPhase = 2;
break;
diff --git a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp
index a8b4b1797cb..5739aa49549 100644
--- a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp
+++ b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp
@@ -126,30 +126,23 @@ public:
};
-#define SAY_INTRO -1558000
-#define SAY_SUMMON -1558001
-
-#define SAY_AGGRO_1 -1558002
-#define SAY_AGGRO_2 -1558003
-#define SAY_AGGRO_3 -1558004
-
-#define SAY_ROAR -1558005
-#define SAY_SOUL_CLEAVE -1558006
-
-#define SAY_SLAY_1 -1558007
-#define SAY_SLAY_2 -1558008
-
-#define SAY_DEATH -1558009
-
-#define SPELL_RIBBON_OF_SOULS 32422
-#define SPELL_SOUL_SCREAM 32421
-
-#define SPELL_STOLEN_SOUL 32346
-#define SPELL_STOLEN_SOUL_VISUAL 32395
-
-#define SPELL_SUMMON_AVATAR 32424
-
-#define ENTRY_STOLEN_SOUL 18441
+enum ExarchMaladaar
+{
+ SAY_INTRO = 0,
+ SAY_SUMMON = 1,
+ SAY_AGGRO = 2,
+ SAY_ROAR = 3,
+ SAY_SLAY = 4,
+ SAY_DEATH = 5,
+
+ SPELL_RIBBON_OF_SOULS = 32422,
+ SPELL_SOUL_SCREAM = 32421,
+ SPELL_STOLEN_SOUL = 32346,
+ SPELL_STOLEN_SOUL_VISUAL = 32395,
+ SPELL_SUMMON_AVATAR = 32424,
+
+ ENTRY_STOLEN_SOUL = 18441
+};
class boss_exarch_maladaar : public CreatureScript
{
@@ -196,7 +189,7 @@ public:
{
if (!HasTaunted && me->IsWithinDistInMap(who, 150.0f))
{
- DoScriptText(SAY_INTRO, me);
+ Talk(SAY_INTRO);
HasTaunted = true;
}
@@ -205,7 +198,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
+ Talk(SAY_AGGRO);
}
void JustSummoned(Creature* summoned)
@@ -231,12 +224,12 @@ public:
if (rand()%2)
return;
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
//When Exarch Maladar is defeated D'ore appear.
me->SummonCreature(19412, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 600000);
}
@@ -251,7 +244,7 @@ public:
if (me->IsNonMeleeSpellCasted(false))
me->InterruptNonMeleeSpells(true);
- DoScriptText(SAY_SUMMON, me);
+ Talk(SAY_SUMMON);
DoCast(me, SPELL_SUMMON_AVATAR);
Avatar_summoned = true;
@@ -267,11 +260,7 @@ public:
if (me->IsNonMeleeSpellCasted(false))
me->InterruptNonMeleeSpells(true);
- uint32 i = urand(1, 2);
- if (i == 1)
- DoScriptText(SAY_ROAR, me);
- else
- DoScriptText(SAY_SOUL_CLEAVE, me);
+ Talk(SAY_ROAR);
soulmodel = target->GetDisplayId();
soulholder = target->GetGUID();
diff --git a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp
index 351f30c926f..f7a2eb87d67 100644
--- a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp
@@ -33,14 +33,11 @@ EndContentData */
enum ePrince
{
- SAY_INTRO = -1557000,
- SAY_AGGRO_1 = -1557001,
- SAY_AGGRO_2 = -1557002,
- SAY_AGGRO_3 = -1557003,
- SAY_SLAY_1 = -1557004,
- SAY_SLAY_2 = -1557005,
- SAY_SUMMON = -1557006,
- SAY_DEAD = -1557007,
+ SAY_INTRO = 0,
+ SAY_AGGRO = 1,
+ SAY_SLAY = 2,
+ SAY_SUMMON = 3,
+ SAY_DEAD = 4,
SPELL_BLINK = 34605,
SPELL_FROSTBOLT = 32364,
@@ -110,14 +107,14 @@ public:
{
if (!HasTaunted && who->GetTypeId() == TYPEID_PLAYER && me->IsWithinDistInMap(who, 100.0f))
{
- DoScriptText(SAY_INTRO, me);
+ Talk(SAY_INTRO);
HasTaunted = true;
}
}
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
+ Talk(SAY_AGGRO);
DoZoneInCombat();
summons.DoZoneInCombat();
@@ -143,12 +140,12 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEAD, me);
+ Talk(SAY_DEAD);
summons.DespawnAll();
}
@@ -203,7 +200,7 @@ public:
me->InterruptNonMeleeSpells(true);
if (!urand(0, 3))
- DoScriptText(SAY_SUMMON, me);
+ Talk(SAY_SUMMON);
DoCast(me, SPELL_ETHEREAL_BEACON, true);
diff --git a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp
index 459ba3a8f86..f174091311b 100644
--- a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp
@@ -26,21 +26,19 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
-#define SAY_AGGRO_1 -1557008
-#define SAY_AGGRO_2 -1557009
-#define SAY_AGGRO_3 -1557010
-
-#define SAY_KILL_1 -1557011
-#define SAY_KILL_2 -1557012
-
-#define SAY_DEATH -1557013
-
-#define EMOTE_DARK_SHELL -1557014
+enum Pandemonius
+{
+ SAY_AGGRO = 0,
+ SAY_KILL = 1,
+ SAY_DEATH = 2,
+ EMOTE_DARK_SHELL = 3,
+
+ SPELL_VOID_BLAST = 32325,
+ H_SPELL_VOID_BLAST = 38760,
+ SPELL_DARK_SHELL = 32358,
+ H_SPELL_DARK_SHELL = 38759
+};
-#define SPELL_VOID_BLAST 32325
-#define H_SPELL_VOID_BLAST 38760
-#define SPELL_DARK_SHELL 32358
-#define H_SPELL_DARK_SHELL 38759
class boss_pandemonius : public CreatureScript
{
@@ -71,17 +69,17 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
}
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me);
+ Talk(SAY_KILL);
}
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
+ Talk(SAY_AGGRO);
}
void UpdateAI(const uint32 diff)
@@ -112,7 +110,7 @@ public:
if (me->IsNonMeleeSpellCasted(false))
me->InterruptNonMeleeSpells(true);
- DoScriptText(EMOTE_DARK_SHELL, me);
+ Talk(EMOTE_DARK_SHELL);
DoCast(me, SPELL_DARK_SHELL);
DarkShell_Timer = 20000;
diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
index 0a85cf1dc5b..5bb396965a6 100644
--- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
+++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
@@ -26,28 +26,25 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
-#define SAY_SUMMON -1556000
-
-#define SAY_AGGRO_1 -1556001
-#define SAY_AGGRO_2 -1556002
-#define SAY_AGGRO_3 -1556003
-
-#define SAY_SLAY_1 -1556004
-#define SAY_SLAY_2 -1556005
-
-#define SAY_DEATH -1556006
-
-#define SPELL_FROST_SHOCK 21401 //37865
-#define SPELL_FLAME_SHOCK 34354
-#define SPELL_SHADOW_SHOCK 30138
-#define SPELL_ARCANE_SHOCK 37132
-
-#define SPELL_CHAIN_LIGHTNING 15659 //15305
-
-#define SPELL_SUMMON_SYTH_FIRE 33537 // Spawns 19203
-#define SPELL_SUMMON_SYTH_ARCANE 33538 // Spawns 19205
-#define SPELL_SUMMON_SYTH_FROST 33539 // Spawns 19204
-#define SPELL_SUMMON_SYTH_SHADOW 33540 // Spawns 19206
+enum DarkweaverSyth
+{
+ SAY_SUMMON = 0,
+ SAY_AGGRO = 1,
+ SAY_SLAY = 2,
+ SAY_DEATH = 3,
+
+ SPELL_FROST_SHOCK = 21401, //37865
+ SPELL_FLAME_SHOCK = 34354,
+ SPELL_SHADOW_SHOCK = 30138,
+ SPELL_ARCANE_SHOCK = 37132,
+
+ SPELL_CHAIN_LIGHTNING = 15659, //15305
+
+ SPELL_SUMMON_SYTH_FIRE = 33537, // Spawns 19203
+ SPELL_SUMMON_SYTH_ARCANE = 33538, // Spawns 19205
+ SPELL_SUMMON_SYTH_FROST = 33539, // Spawns 19204
+ SPELL_SUMMON_SYTH_SHADOW = 33540 // Spawns 19206
+};
#define SPELL_FLAME_BUFFET DUNGEON_MODE(33526, 38141)
#define SPELL_ARCANE_BUFFET DUNGEON_MODE(33527, 38138)
@@ -95,12 +92,12 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
+ Talk(SAY_AGGRO);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
}
void KilledUnit(Unit* /*victim*/)
@@ -108,7 +105,7 @@ public:
if (rand()%2)
return;
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
+ Talk(SAY_SLAY);
}
void JustSummoned(Creature* summoned)
@@ -119,7 +116,7 @@ public:
void SythSummoning()
{
- DoScriptText(SAY_SUMMON, me);
+ Talk(SAY_SUMMON);
if (me->IsNonMeleeSpellCasted(false))
me->InterruptNonMeleeSpells(false);
diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp
index ec35d6c80b3..07169f031ab 100644
--- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp
+++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp
@@ -27,31 +27,26 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "sethekk_halls.h"
-#define SAY_INTRO -1556007
-
-#define SAY_AGGRO_1 -1556008
-#define SAY_AGGRO_2 -1556009
-#define SAY_AGGRO_3 -1556010
-
-#define SAY_SLAY_1 -1556011
-#define SAY_SLAY_2 -1556012
-#define SAY_DEATH -1556013
-#define EMOTE_ARCANE_EXP -1556015
-
-#define SPELL_BLINK 38194
-#define SPELL_BLINK_TELEPORT 38203
-#define SPELL_MANA_SHIELD 38151
-#define SPELL_ARCANE_BUBBLE 9438
-#define H_SPELL_SLOW 35032
-
-#define SPELL_POLYMORPH 38245
-#define H_SPELL_POLYMORPH 43309
-
-#define SPELL_ARCANE_VOLLEY 35059
-#define H_SPELL_ARCANE_VOLLEY 40424
-
-#define SPELL_ARCANE_EXPLOSION 38197
-#define H_SPELL_ARCANE_EXPLOSION 40425
+enum TailonkingIkiss
+{
+ SAY_INTRO = 0,
+ SAY_AGGRO = 1,
+ SAY_SLAY = 2,
+ SAY_DEATH = 3,
+ EMOTE_ARCANE_EXP = 4,
+
+ SPELL_BLINK = 38194,
+ SPELL_BLINK_TELEPORT = 38203,
+ SPELL_MANA_SHIELD = 38151,
+ SPELL_ARCANE_BUBBLE = 9438,
+ H_SPELL_SLOW = 35032,
+ SPELL_POLYMORPH = 38245,
+ H_SPELL_POLYMORPH = 43309,
+ SPELL_ARCANE_VOLLEY = 35059,
+ H_SPELL_ARCANE_VOLLEY = 40424,
+ SPELL_ARCANE_EXPLOSION = 38197,
+ H_SPELL_ARCANE_EXPLOSION = 40425
+};
class boss_talon_king_ikiss : public CreatureScript
{
@@ -99,7 +94,7 @@ public:
if (!Intro && me->IsWithinDistInMap(who, 100))
{
Intro = true;
- DoScriptText(SAY_INTRO, me);
+ Talk(SAY_INTRO);
}
if (!me->CanFly() && me->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE)
@@ -116,12 +111,12 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
+ Talk(SAY_AGGRO);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
instance->SetData(DATA_IKISSDOOREVENT, DONE);
@@ -129,7 +124,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
+ Talk(SAY_SLAY);
}
void UpdateAI(const uint32 diff)
@@ -183,7 +178,7 @@ public:
if (Blink_Timer <= diff)
{
- DoScriptText(EMOTE_ARCANE_EXP, me);
+ Talk(EMOTE_ARCANE_EXP);
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
{
diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp
index a109e3738b1..c93143c1c5c 100644
--- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp
@@ -30,14 +30,11 @@ EndScriptData */
enum eEnums
{
- SAY_INTRO = -1555000,
- SAY_AGGRO1 = -1555001,
- SAY_AGGRO2 = -1555002,
- SAY_AGGRO3 = -1555003,
- SAY_HELP = -1555004,
- SAY_SLAY1 = -1555005,
- SAY_SLAY2 = -1555006,
- SAY_DEATH = -1555007,
+ SAY_INTRO = 0,
+ SAY_AGGRO = 1,
+ SAY_HELP = 2,
+ SAY_SLAY = 3,
+ SAY_DEATH = 4,
SPELL_BANISH = 30231,
SPELL_CORROSIVE_ACID = 33551,
@@ -119,7 +116,7 @@ public:
{
if (instance->GetData(TYPE_HELLMAW) != FAIL)
{
- DoScriptText(SAY_INTRO, me);
+ Talk(SAY_INTRO);
Start(true, false, 0, NULL, false, true);
}
@@ -129,17 +126,17 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(RAND(SAY_AGGRO1, SAY_AGGRO2, SAY_AGGRO3), me);
+ Talk(SAY_AGGRO);
}
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
instance->SetData(TYPE_HELLMAW, DONE);
diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp
index e7063e479ee..eb06cce87fc 100644
--- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp
@@ -27,33 +27,26 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "shadow_labyrinth.h"
-#define SPELL_INCITE_CHAOS 33676
-#define SPELL_INCITE_CHAOS_B 33684 //debuff applied to each member of party
-#define SPELL_CHARGE 33709
-#define SPELL_WAR_STOMP 33707
-
-#define SAY_INTRO1 -1555008 //not used
-#define SAY_INTRO2 -1555009 //not used
-#define SAY_INTRO3 -1555010 //not used
-#define SAY_AGGRO1 -1555011
-#define SAY_AGGRO2 -1555012
-#define SAY_AGGRO3 -1555013
-#define SAY_SLAY1 -1555014
-#define SAY_SLAY2 -1555015
-#define SAY_HELP -1555016 //not used
-#define SAY_DEATH -1555017
-
-//below, not used
-#define SAY2_INTRO1 -1555018
-#define SAY2_INTRO2 -1555019
-#define SAY2_INTRO3 -1555020
-#define SAY2_AGGRO1 -1555021
-#define SAY2_AGGRO2 -1555022
-#define SAY2_AGGRO3 -1555023
-#define SAY2_SLAY1 -1555024
-#define SAY2_SLAY2 -1555025
-#define SAY2_HELP -1555026
-#define SAY2_DEATH -1555027
+enum BlackheartTheInciter
+{
+ SPELL_INCITE_CHAOS = 33676,
+ SPELL_INCITE_CHAOS_B = 33684, //debuff applied to each member of party
+ SPELL_CHARGE = 33709,
+ SPELL_WAR_STOMP = 33707,
+
+ SAY_INTRO = 0,
+ SAY_AGGRO = 1,
+ SAY_SLAY = 2,
+ SAY_HELP = 3,
+ SAY_DEATH = 4,
+
+ //below, not used
+ SAY2_INTRO = 5,
+ SAY2_AGGRO = 6,
+ SAY2_SLAY = 7,
+ SAY2_HELP = 8,
+ SAY2_DEATH = 9
+};
class boss_blackheart_the_inciter : public CreatureScript
{
@@ -94,12 +87,12 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
instance->SetData(DATA_BLACKHEARTTHEINCITEREVENT, DONE);
@@ -107,7 +100,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(RAND(SAY_AGGRO1, SAY_AGGRO2, SAY_AGGRO3), me);
+ Talk(SAY_AGGRO);
if (instance)
instance->SetData(DATA_BLACKHEARTTHEINCITEREVENT, IN_PROGRESS);
diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp
index 303a30bea8f..d7dbb8ef722 100644
--- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp
@@ -28,30 +28,30 @@ EndScriptData */
#include "shadow_labyrinth.h"
#include "Player.h"
-#define SAY_INTRO -1555028
-#define SAY_AGGRO1 -1555029
-#define SAY_AGGRO2 -1555030
-#define SAY_AGGRO3 -1555031
-#define SAY_HELP -1555032
-#define SAY_SLAY1 -1555033
-#define SAY_SLAY2 -1555034
-#define SAY_DEATH -1555035
-
-#define SPELL_RAIN_OF_FIRE 33617
-#define H_SPELL_RAIN_OF_FIRE 39363
-
-#define SPELL_DRAW_SHADOWS 33563
-#define SPELL_SHADOWBOLT_VOLLEY 33841
-#define SPELL_BANISH 38791
-
-#define MOB_VOID_TRAVELER 19226
-#define SPELL_SACRIFICE 33587
-#define SPELL_SHADOW_NOVA 33846
-#define SPELL_EMPOWERING_SHADOWS 33783
-#define H_SPELL_EMPOWERING_SHADOWS 39364
-
-#define MOB_VOID_PORTAL 19224
-#define SPELL_VOID_PORTAL_VISUAL 33569
+enum GrandmasterVorpil
+{
+ SAY_INTRO = 0,
+ SAY_AGGRO = 1,
+ SAY_HELP = 2,
+ SAY_SLAY = 3,
+ SAY_DEATH = 4,
+
+ SPELL_RAIN_OF_FIRE = 33617,
+ H_SPELL_RAIN_OF_FIRE = 39363,
+
+ SPELL_DRAW_SHADOWS = 33563,
+ SPELL_SHADOWBOLT_VOLLEY = 33841,
+ SPELL_BANISH = 38791,
+
+ MOB_VOID_TRAVELER = 19226,
+ SPELL_SACRIFICE = 33587,
+ SPELL_SHADOW_NOVA = 33846,
+ SPELL_EMPOWERING_SHADOWS = 33783,
+ H_SPELL_EMPOWERING_SHADOWS = 39364,
+
+ MOB_VOID_PORTAL = 19224,
+ SPELL_VOID_PORTAL_VISUAL = 33569
+};
float VorpilPosition[3] = {-252.8820f, -264.3030f, 17.1f};
@@ -219,7 +219,7 @@ public:
me->SummonCreature(MOB_VOID_TRAVELER, VoidPortalCoords[pos][0], VoidPortalCoords[pos][1], VoidPortalCoords[pos][2], 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000);
if (!HelpYell)
{
- DoScriptText(SAY_HELP, me);
+ Talk(SAY_HELP);
HelpYell = true;
}
}
@@ -232,12 +232,12 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
destroyPortals();
if (instance)
@@ -246,7 +246,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(RAND(SAY_AGGRO1, SAY_AGGRO2, SAY_AGGRO3), me);
+ Talk(SAY_AGGRO);
summonPortals();
if (instance)
@@ -259,7 +259,7 @@ public:
if (!Intro && me->IsWithinLOSInMap(who)&& me->IsWithinDistInMap(who, 100) && me->IsValidAttackTarget(who))
{
- DoScriptText(SAY_INTRO, me);
+ Talk(SAY_INTRO);
Intro = true;
}
}
diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp
index 1503c9f7234..9ca9f7d089c 100644
--- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp
@@ -28,15 +28,20 @@ EndScriptData */
#include "shadow_labyrinth.h"
#include "SpellInfo.h"
-#define EMOTE_SONIC_BOOM -1555036
+enum Murmur
+{
+ SPELL_RESONANCE = 33657,
+ SPELL_MAGNETIC_PULL = 33689,
+ SPELL_SONIC_SHOCK = 38797,
+ SPELL_THUNDERING_STORM = 39365,
+ EMOTE_SONIC_BOOM = 0
+};
#define SPELL_SONIC_BOOM_CAST DUNGEON_MODE(33923, 38796)
#define SPELL_SONIC_BOOM_EFFECT DUNGEON_MODE(33666, 38795)
-#define SPELL_RESONANCE 33657
+
#define SPELL_MURMURS_TOUCH DUNGEON_MODE(33711, 38794)
-#define SPELL_MAGNETIC_PULL 33689
-#define SPELL_SONIC_SHOCK 38797
-#define SPELL_THUNDERING_STORM 39365
+
class boss_murmur : public CreatureScript
{
@@ -123,7 +128,7 @@ public:
}
if (SonicBoom_Timer <= diff)
{
- DoScriptText(EMOTE_SONIC_BOOM, me);
+ Talk(EMOTE_SONIC_BOOM);
DoCast(me, SPELL_SONIC_BOOM_CAST);
SonicBoom_Timer = 30000;
SonicBoom = true;
diff --git a/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp b/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp
index fd775df3392..427c23bafa6 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp
@@ -27,32 +27,33 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "black_temple.h"
-//Speech'n'Sound
-#define SAY_AGGRO -1564029
-#define SAY_SLAY1 -1564030
-#define SAY_SLAY2 -1564031
-#define SAY_SPECIAL1 -1564032
-#define SAY_SPECIAL2 -1564033
-#define SAY_ENRAGE1 -1564034
-#define SAY_ENRAGE2 -1564035
-#define SAY_DEATH -1564036
-
-//Spells
-#define SPELL_ACID_GEYSER 40630
-#define SPELL_ACIDIC_WOUND 40481
-#define SPELL_ARCING_SMASH 40599
-#define SPELL_BLOODBOIL 42005 // This spell is AoE whereas it shouldn't be
-#define SPELL_FEL_ACID 40508
-#define SPELL_FEL_RAGE_SELF 40594
-#define SPELL_FEL_RAGE_TARGET 40604
-#define SPELL_FEL_RAGE_2 40616
-#define SPELL_FEL_RAGE_3 41625
-#define SPELL_BEWILDERING_STRIKE 40491
-#define SPELL_EJECT1 40486 // 1000 Physical damage + knockback + script effect (should handle threat reduction I think)
-#define SPELL_EJECT2 40597 // 1000 Physical damage + Stun (used in phase 2?)
-#define SPELL_TAUNT_GURTOGG 40603
-#define SPELL_INSIGNIFIGANCE 40618
-#define SPELL_BERSERK 45078
+enum Bloodboil
+{
+ //Speech'n'Sound
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1,
+ SAY_SPECIAL = 2,
+ SAY_ENRAGE = 3,
+ SAY_DEATH = 4,
+
+ //Spells
+ SPELL_ACID_GEYSER = 40630,
+ SPELL_ACIDIC_WOUND = 40481,
+ SPELL_ARCING_SMASH = 40599,
+ SPELL_BLOODBOIL = 42005, // This spell is AoE whereas it shouldn't be
+ SPELL_FEL_ACID = 40508,
+ SPELL_FEL_RAGE_SELF = 40594,
+ SPELL_FEL_RAGE_TARGET = 40604,
+ SPELL_FEL_RAGE_2 = 40616,
+ SPELL_FEL_RAGE_3 = 41625,
+ SPELL_BEWILDERING_STRIKE = 40491,
+ SPELL_EJECT1 = 40486, // 1000 Physical damage + knockback + script effect (should handle threat reduction I think)
+ SPELL_EJECT2 = 40597, // 1000 Physical damage + Stun (used in phase 2?)
+ SPELL_TAUNT_GURTOGG = 40603,
+ SPELL_INSIGNIFIGANCE = 40618,
+ SPELL_BERSERK = 45078
+};
+
//This is used to sort the players by distance in preparation for the Bloodboil cast.
@@ -121,14 +122,14 @@ public:
void EnterCombat(Unit* /*who*/)
{
DoZoneInCombat();
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
if (instance)
instance->SetData(DATA_GURTOGGBLOODBOILEVENT, IN_PROGRESS);
}
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
@@ -136,7 +137,7 @@ public:
if (instance)
instance->SetData(DATA_GURTOGGBLOODBOILEVENT, DONE);
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
}
// Note: This seems like a very complicated fix. The fix needs to be handled by the core, as implementation of limited-target AoE spells are still not limited.
@@ -219,7 +220,7 @@ public:
if (EnrageTimer <= diff)
{
DoCast(me, SPELL_BERSERK);
- DoScriptText(RAND(SAY_ENRAGE1, SAY_ENRAGE2), me);
+ Talk(SAY_ENRAGE);
} else EnrageTimer -= diff;
}
@@ -302,7 +303,7 @@ public:
//Cast this without triggered so that it appears in combat logs and shows visual.
DoCast(me, SPELL_FEL_RAGE_SELF);
- DoScriptText(RAND(SAY_SPECIAL1, SAY_SPECIAL2), me);
+ Talk(SAY_SPECIAL);
AcidGeyserTimer = 1000;
PhaseChangeTimer = 30000;
diff --git a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
index ec25a8f9f60..88e7c063c69 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
@@ -27,31 +27,29 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "black_temple.h"
-//Speech'n'Sounds
-#define SAY_TAUNT1 -1564018
-#define SAY_TAUNT2 -1564019
-#define SAY_TAUNT3 -1564020
-#define SAY_AGGRO -1564021
-#define SAY_SPELL1 -1564022
-#define SAY_SPELL2 -1564023
-#define SAY_SPELL3 -1564024
-#define SAY_SLAY1 -1564025
-#define SAY_SLAY2 -1564026
-#define SAY_ENRAGE -1564027
-#define SAY_DEATH -1564028
-
-//Spells
-#define SPELL_BEAM_SINISTER 40859
-#define SPELL_BEAM_VILE 40860
-#define SPELL_BEAM_WICKED 40861
-#define SPELL_BEAM_SINFUL 40827
-#define SPELL_ATTRACTION 40871
-#define SPELL_SILENCING_SHRIEK 40823
-#define SPELL_ENRAGE 23537
-#define SPELL_SABER_LASH 40810//43267
-#define SPELL_SABER_LASH_IMM 43690
-#define SPELL_TELEPORT_VISUAL 40869
-#define SPELL_BERSERK 45078
+enum MotherShahraz
+{
+ //Speech'n'Sounds
+ SAY_TAUNT = 0,
+ SAY_AGGRO = 1,
+ SAY_SPELL = 2,
+ SAY_SLAY = 3,
+ SAY_ENRAGE = 4,
+ SAY_DEATH = 5,
+
+ //Spells
+ SPELL_BEAM_SINISTER = 40859,
+ SPELL_BEAM_VILE = 40860,
+ SPELL_BEAM_WICKED = 40861,
+ SPELL_BEAM_SINFUL = 40827,
+ SPELL_ATTRACTION = 40871,
+ SPELL_SILENCING_SHRIEK = 40823,
+ SPELL_ENRAGE = 23537,
+ SPELL_SABER_LASH = 40810,//43267
+ SPELL_SABER_LASH_IMM = 43690,
+ SPELL_TELEPORT_VISUAL = 40869,
+ SPELL_BERSERK = 45078
+};
uint32 PrismaticAuras[]=
{
@@ -142,12 +140,12 @@ public:
instance->SetData(DATA_MOTHERSHAHRAZEVENT, IN_PROGRESS);
DoZoneInCombat();
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
}
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
@@ -155,7 +153,7 @@ public:
if (instance)
instance->SetData(DATA_MOTHERSHAHRAZEVENT, DONE);
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
}
void TeleportPlayers()
@@ -185,7 +183,7 @@ public:
{
Enraged = true;
DoCast(me, SPELL_ENRAGE, true);
- DoScriptText(SAY_ENRAGE, me);
+ Talk(SAY_ENRAGE);
}
//Randomly cast one beam.
@@ -236,7 +234,7 @@ public:
TeleportPlayers();
- DoScriptText(RAND(SAY_SPELL2, SAY_SPELL3), me);
+ Talk(SAY_SPELL);
FatalAttractionExplodeTimer = 2000;
FatalAttractionTimer = urand(40, 71) * 1000;
} else FatalAttractionTimer -= diff;
@@ -284,14 +282,14 @@ public:
if (EnrageTimer <= diff)
{
DoCast(me, SPELL_BERSERK);
- DoScriptText(SAY_ENRAGE, me);
+ Talk(SAY_ENRAGE);
} else EnrageTimer -= diff;
}
//Random taunts
if (RandomYellTimer <= diff)
{
- DoScriptText(RAND(SAY_TAUNT1, SAY_TAUNT2, SAY_TAUNT3), me);
+ Talk(SAY_TAUNT);
RandomYellTimer = urand(60, 151) * 1000;
} else RandomYellTimer -= diff;
diff --git a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp
index 5ab9dcab667..00ea405e109 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp
@@ -28,64 +28,61 @@ EndScriptData */
#include "black_temple.h"
#include "Spell.h"
-//Sound'n'speech
-//Suffering
-#define SUFF_SAY_FREED -1564047
-#define SUFF_SAY_AGGRO -1564048
-#define SUFF_SAY_SLAY1 -1564049
-#define SUFF_SAY_SLAY2 -1564050
-#define SUFF_SAY_SLAY3 -1564051
-#define SUFF_SAY_RECAP -1564052
-#define SUFF_SAY_AFTER -1564053
-#define SUFF_EMOTE_ENRAGE -1564054
-
-//Desire
-#define DESI_SAY_FREED -1564055
-#define DESI_SAY_SLAY1 -1564056
-#define DESI_SAY_SLAY2 -1564057
-#define DESI_SAY_SLAY3 -1564058
-#define DESI_SAY_SPEC -1564059
-#define DESI_SAY_RECAP -1564060
-#define DESI_SAY_AFTER -1564061
-
-//Anger
-#define ANGER_SAY_FREED -1564062
-#define ANGER_SAY_FREED2 -1564063
-#define ANGER_SAY_SLAY1 -1564064
-#define ANGER_SAY_SLAY2 -1564065
-#define ANGER_SAY_SPEC -1564066
-#define ANGER_SAY_BEFORE -1564067
-#define ANGER_SAY_DEATH -1564068
-
-//Spells
-#define AURA_OF_SUFFERING 41292
-#define AURA_OF_SUFFERING_ARMOR 42017 // linked aura, need core support
-#define ESSENCE_OF_SUFFERING_PASSIVE 41296 // periodic trigger 41294
-#define ESSENCE_OF_SUFFERING_PASSIVE2 41623
-#define SPELL_FIXATE_TARGET 41294 // dummy, select target
-#define SPELL_FIXATE_TAUNT 41295 // force taunt
-#define SPELL_ENRAGE 41305
-#define SPELL_SOUL_DRAIN 41303
-
-#define AURA_OF_DESIRE 41350
-#define AURA_OF_DESIRE_DAMAGE 41352
-#define SPELL_RUNE_SHIELD 41431
-#define SPELL_DEADEN 41410
-#define SPELL_SOUL_SHOCK 41426
-
-#define AURA_OF_ANGER 41337
-#define SPELL_SELF_SEETHE 41364 // force cast 41520
-#define SPELL_ENEMY_SEETHE 41520
-#define SPELL_SOUL_SCREAM 41545
-#define SPELL_SPITE_TARGET 41376 // cast 41377 after 6 sec
-#define SPELL_SPITE_DAMAGE 41377
-
-#define ENSLAVED_SOUL_PASSIVE 41535
-#define SPELL_SOUL_RELEASE 41542
-#define SPELL_SUBMERGE 37550 //dropout 'head'
-
-#define CREATURE_ENSLAVED_SOUL 23469
-#define NUMBER_ENSLAVED_SOUL 8
+enum ReliquaryOfSouls
+{
+ //Sound'n'speech
+ //Suffering
+ SUFF_SAY_FREED = 0,
+ SUFF_SAY_AGGRO = 1,
+ SUFF_SAY_SLAY = 2,
+ SUFF_SAY_RECAP = 3,
+ SUFF_SAY_AFTER = 4,
+ SUFF_EMOTE_ENRAGE = 5,
+
+ //Desire
+ DESI_SAY_FREED = 0,
+ DESI_SAY_SLAY = 1,
+ DESI_SAY_SPEC = 2,
+ DESI_SAY_RECAP = 3,
+ DESI_SAY_AFTER = 4,
+
+ //Anger
+ ANGER_SAY_FREED = 0,
+ ANGER_SAY_SLAY = 1,
+ ANGER_SAY_SPEC = 2,
+ ANGER_SAY_BEFORE = 3,
+ ANGER_SAY_DEATH = 4,
+
+ //Spells
+ AURA_OF_SUFFERING = 41292,
+ AURA_OF_SUFFERING_ARMOR = 42017, // linked aura, need core support
+ ESSENCE_OF_SUFFERING_PASSIVE = 41296, // periodic trigger 41294
+ ESSENCE_OF_SUFFERING_PASSIVE2 = 41623,
+ SPELL_FIXATE_TARGET = 41294, // dummy, select target
+ SPELL_FIXATE_TAUNT = 41295, // force taunt
+ SPELL_ENRAGE = 41305,
+ SPELL_SOUL_DRAIN = 41303,
+
+ AURA_OF_DESIRE = 41350,
+ AURA_OF_DESIRE_DAMAGE = 41352,
+ SPELL_RUNE_SHIELD = 41431,
+ SPELL_DEADEN = 41410,
+ SPELL_SOUL_SHOCK = 41426,
+
+ AURA_OF_ANGER = 41337,
+ SPELL_SELF_SEETHE = 41364, // force cast 41520
+ SPELL_ENEMY_SEETHE = 41520,
+ SPELL_SOUL_SCREAM = 41545,
+ SPELL_SPITE_TARGET = 41376, // cast 41377 after 6 sec
+ SPELL_SPITE_DAMAGE = 41377,
+
+ ENSLAVED_SOUL_PASSIVE = 41535,
+ SPELL_SOUL_RELEASE = 41542,
+ SPELL_SUBMERGE = 37550, //dropout 'head'
+
+ CREATURE_ENSLAVED_SOUL = 23469,
+ NUMBER_ENSLAVED_SOUL = 8
+};
struct Position2d
{
@@ -337,11 +334,11 @@ public:
case 5:
if (Phase == 1)
{
- DoScriptText(SUFF_SAY_AFTER, Essence);
+ Essence->AI()->Talk(SUFF_SAY_AFTER);
}
else
{
- DoScriptText(DESI_SAY_AFTER, Essence);
+ Essence->AI()->Talk(DESI_SAY_AFTER);
}
Essence->DespawnOrUnsummon();
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, 0);
@@ -425,7 +422,7 @@ public:
damage = 0;
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->Yell(SUFF_SAY_RECAP, LANG_UNIVERSAL, 0);
- DoScriptText(SUFF_SAY_RECAP, me);
+ Talk(SUFF_SAY_RECAP);
me->SetReactState(REACT_PASSIVE);
}
}
@@ -434,7 +431,7 @@ public:
{
if (!me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE))
{
- DoScriptText(SUFF_SAY_FREED, me);
+ Talk(SUFF_SAY_FREED);
DoZoneInCombat();
DoCast(me, AURA_OF_SUFFERING, true); // linked aura need core support
DoCast(me, ESSENCE_OF_SUFFERING_PASSIVE, true);
@@ -445,7 +442,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SUFF_SAY_SLAY1, SUFF_SAY_SLAY2, SUFF_SAY_SLAY3), me);
+ Talk(SUFF_SAY_SLAY);
}
void CastFixate()
@@ -483,7 +480,7 @@ public:
FixateTimer = 5000;
if (!(rand()%16))
{
- DoScriptText(SUFF_SAY_AGGRO, me);
+ Talk(SUFF_SAY_AGGRO);
}
} else FixateTimer -= diff;
}
@@ -496,7 +493,7 @@ public:
{
DoCast(me, SPELL_ENRAGE);
EnrageTimer = 60000;
- DoScriptText(SUFF_EMOTE_ENRAGE, me);
+ Talk(SUFF_EMOTE_ENRAGE);
} else EnrageTimer -= diff;
if (SoulDrainTimer <= diff)
@@ -545,7 +542,7 @@ public:
{
damage = 0;
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- DoScriptText(SUFF_SAY_RECAP, me);
+ Talk(SUFF_SAY_RECAP);
me->SetReactState(REACT_PASSIVE);
}
else
@@ -567,14 +564,14 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(DESI_SAY_FREED, me);
+ Talk(DESI_SAY_FREED);
DoZoneInCombat();
DoCast(me, AURA_OF_DESIRE, true);
}
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(DESI_SAY_SLAY1, DESI_SAY_SLAY2, DESI_SAY_SLAY3), me);
+ Talk(DESI_SAY_SLAY);
}
void UpdateAI(const uint32 diff)
@@ -604,7 +601,7 @@ public:
DeadenTimer = urand(25000, 35000);
if (!(rand()%2))
{
- DoScriptText(DESI_SAY_SPEC, me);
+ Talk(DESI_SAY_SPEC);
}
} else DeadenTimer -= diff;
@@ -652,7 +649,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(RAND(ANGER_SAY_FREED, ANGER_SAY_FREED2), me);
+ Talk(ANGER_SAY_FREED);
DoZoneInCombat();
DoCast(me, AURA_OF_ANGER, true);
@@ -660,12 +657,12 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(ANGER_SAY_DEATH, me);
+ Talk(ANGER_SAY_DEATH);
}
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(ANGER_SAY_SLAY1, ANGER_SAY_SLAY2), me);
+ Talk(ANGER_SAY_SLAY);
}
void UpdateAI(const uint32 diff)
@@ -684,7 +681,7 @@ public:
{
if (me->getVictim()->GetGUID() != AggroTargetGUID)
{
- DoScriptText(ANGER_SAY_BEFORE, me);
+ Talk(ANGER_SAY_BEFORE);
DoCast(me, SPELL_SELF_SEETHE, true);
AggroTargetGUID = me->getVictim()->GetGUID();
}
@@ -697,7 +694,7 @@ public:
SoulScreamTimer = urand(9000, 11000);
if (!(rand()%3))
{
- DoScriptText(ANGER_SAY_SPEC, me);
+ Talk(ANGER_SAY_SPEC);
}
} else SoulScreamTimer -= diff;
@@ -705,7 +702,7 @@ public:
{
DoCast(me, SPELL_SPITE_TARGET);
SpiteTimer = 30000;
- DoScriptText(ANGER_SAY_SPEC, me);
+ Talk(ANGER_SAY_SPEC);
} else SpiteTimer -= diff;
DoMeleeAttackIfReady();
diff --git a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
index 6e770249cf0..0180281cde3 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
@@ -29,12 +29,15 @@ EndScriptData */
#include "black_temple.h"
#include "Player.h"
-#define SAY_DEATH -1564013
-#define SAY_LOW_HEALTH -1564014
-// Ending cinematic text
-#define SAY_FREE -1564015
-#define SAY_BROKEN_FREE_01 -1564016
-#define SAY_BROKEN_FREE_02 -1564017
+enum ShadeOfAkama
+{
+ SAY_DEATH = 0,
+ SAY_LOW_HEALTH = 1,
+ // Ending cinematic text
+ SAY_FREE = 2,
+ SAY_BROKEN_FREE_01 = 0,
+ SAY_BROKEN_FREE_02 = 1
+};
#define GOSSIP_ITEM "We are ready to fight alongside you, Akama"
@@ -704,7 +707,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
EventBegun = false;
ShadeHasDied = false;
StartCombat = false;
@@ -729,7 +732,7 @@ public:
if (HealthBelowPct(15) && !HasYelledOnce)
{
- DoScriptText(SAY_LOW_HEALTH, me);
+ Talk(SAY_LOW_HEALTH);
HasYelledOnce = true;
}
@@ -825,7 +828,7 @@ public:
SummonBrokenTimer = 1;
break;
case 1:
- DoScriptText(SAY_FREE, me);
+ Talk(SAY_FREE);
++EndingTalkCount;
SoulRetrieveTimer = 25000;
break;
@@ -838,7 +841,7 @@ public:
{
if (!Yelled)
{
- DoScriptText(SAY_BROKEN_FREE_01, unit);
+ unit->AI()->Talk(SAY_BROKEN_FREE_01);
Yelled = true;
}
unit->HandleEmoteCommand(EMOTE_ONESHOT_KNEEL);
@@ -863,7 +866,7 @@ public:
{
for (std::list<uint64>::const_iterator itr = BrokenList.begin(); itr != BrokenList.end(); ++itr)
if (Creature* unit = Unit::GetCreature((*me), *itr))
- unit->MonsterYell(SAY_BROKEN_FREE_02, LANG_UNIVERSAL, 0);
+ unit->AI()->Talk(SAY_BROKEN_FREE_02);
}
SoulRetrieveTimer = 0;
break;
diff --git a/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp b/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
index 77d1c86951b..388052f0a5e 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
@@ -28,32 +28,35 @@ EndScriptData */
#include "PassiveAI.h"
#include "black_temple.h"
-#define EMOTE_NEW_TARGET -1564010
-#define EMOTE_PUNCH_GROUND -1564011 //DoScriptText(EMOTE_PUNCH_GROUND, me);
-#define EMOTE_GROUND_CRACK -1564012
-
-//Spells
-#define SPELL_MOLTEN_PUNCH 40126
-#define SPELL_HATEFUL_STRIKE 41926
-#define SPELL_MOLTEN_FLAME 40980
-#define SPELL_VOLCANIC_ERUPTION 40117
-#define SPELL_VOLCANIC_SUMMON 40276
-#define SPELL_BERSERK 45078
-
-#define CREATURE_VOLCANO 23085
-#define CREATURE_STALKER 23095
-
-#define PHASE_STRIKE 1
-#define PHASE_CHASE 2
-
-#define EVENT_BERSERK 1
-#define EVENT_SWITCH_PHASE 2
-#define EVENT_FLAME 3
-#define EVENT_VOLCANO 4
-#define EVENT_SWITCH_TARGET 5
-#define EVENT_HATEFUL_STRIKE 6
-
-#define GCD_CAST 1
+enum Supremus
+{
+ EMOTE_NEW_TARGET = 0,
+ EMOTE_PUNCH_GROUND = 1, //Talk(EMOTE_PUNCH_GROUND);
+ EMOTE_GROUND_CRACK = 2,
+
+ //Spells
+ SPELL_MOLTEN_PUNCH = 40126,
+ SPELL_HATEFUL_STRIKE = 41926,
+ SPELL_MOLTEN_FLAME = 40980,
+ SPELL_VOLCANIC_ERUPTION = 40117,
+ SPELL_VOLCANIC_SUMMON = 40276,
+ SPELL_BERSERK = 45078,
+
+ CREATURE_VOLCANO = 23085,
+ CREATURE_STALKER = 23095,
+
+ PHASE_STRIKE = 1,
+ PHASE_CHASE = 2,
+
+ EVENT_BERSERK = 1,
+ EVENT_SWITCH_PHASE = 2,
+ EVENT_FLAME = 3,
+ EVENT_VOLCANO = 4,
+ EVENT_SWITCH_TARGET = 5,
+ EVENT_HATEFUL_STRIKE = 6,
+
+ GCD_CAST = 1
+};
class molten_flame : public CreatureScript
{
@@ -230,7 +233,7 @@ public:
{
DoResetThreat();
me->AddThreat(target, 5000000.0f);
- DoScriptText(EMOTE_NEW_TARGET, me);
+ Talk(EMOTE_NEW_TARGET);
}
events.ScheduleEvent(EVENT_SWITCH_TARGET, 10000, 0, PHASE_CHASE);
break;
@@ -242,7 +245,7 @@ public:
{
//DoCast(target, SPELL_VOLCANIC_SUMMON);//movement bugged
me->SummonCreature(CREATURE_VOLCANO, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 30000);
- DoScriptText(EMOTE_GROUND_CRACK, me);
+ Talk(EMOTE_GROUND_CRACK);
events.DelayEvents(1500, GCD_CAST);
}
events.ScheduleEvent(EVENT_VOLCANO, 10000, GCD_CAST, PHASE_CHASE);
diff --git a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
index 9a200d07d2b..ce17ac48cf5 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
@@ -27,30 +27,29 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "black_temple.h"
- //Speech'n'sound
-#define SAY_INTRO -1564037
-#define SAY_AGGRO -1564038
-#define SAY_SLAY1 -1564039
-#define SAY_SLAY2 -1564040
-#define SAY_SPELL1 -1564041
-#define SAY_SPELL2 -1564042
-#define SAY_SPECIAL1 -1564043
-#define SAY_SPECIAL2 -1564044
-#define SAY_ENRAGE -1564045
-#define SAY_DEATH -1564046
-
-//Spells
-#define SPELL_INCINERATE 40239
-#define SPELL_CRUSHING_SHADOWS 40243
-#define SPELL_SHADOWBOLT 40185
-#define SPELL_PASSIVE_SHADOWFORM 40326
-#define SPELL_SHADOW_OF_DEATH 40251
-#define SPELL_BERSERK 45078
-
-#define SPELL_ATROPHY 40327 // Shadowy Constructs use this when they get within melee range of a player
-
-#define CREATURE_DOOM_BLOSSOM 23123
-#define CREATURE_SHADOWY_CONSTRUCT 23111
+enum DoomBlossom
+{
+ //Speech'n'sound
+ SAY_INTRO = 0,
+ SAY_AGGRO = 1,
+ SAY_SLAY = 2,
+ SAY_SPELL = 3,
+ SAY_SPECIAL = 4,
+ SAY_ENRAGE = 5,
+ SAY_DEATH = 6,
+
+ //Spells
+ SPELL_INCINERATE = 40239,
+ SPELL_CRUSHING_SHADOWS = 40243,
+ SPELL_SHADOWBOLT = 40185,
+ SPELL_PASSIVE_SHADOWFORM = 40326,
+ SPELL_SHADOW_OF_DEATH = 40251,
+ SPELL_BERSERK = 45078,
+ SPELL_ATROPHY = 40327, // Shadowy Constructs use this when they get within melee range of a player
+
+ CREATURE_DOOM_BLOSSOM = 23123,
+ CREATURE_SHADOWY_CONSTRUCT = 23111
+};
class mob_doom_blossom : public CreatureScript
{
@@ -278,7 +277,7 @@ public:
me->GetMotionMaster()->Clear(false);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- DoScriptText(SAY_INTRO, me);
+ Talk(SAY_INTRO);
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_TALK);
AggroTargetGUID = who->GetGUID();
Intro = true;
@@ -290,7 +289,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
@@ -298,7 +297,7 @@ public:
if (instance)
instance->SetData(DATA_TERONGOREFIENDEVENT, DONE);
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
}
float CalculateRandomLocation(float Loc, uint32 radius)
@@ -387,7 +386,7 @@ public:
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_NONE);
Done = true;
if (AggroTargetGUID)
@@ -461,7 +460,7 @@ public:
if (target)
{
- DoScriptText(RAND(SAY_SPECIAL1, SAY_SPECIAL2), me);
+ Talk(SAY_SPECIAL);
DoCast(target, SPELL_INCINERATE);
IncinerateTimer = urand(20, 51) * 1000;
}
@@ -494,7 +493,7 @@ public:
if (RandomYellTimer <= diff)
{
- DoScriptText(RAND(SAY_SPELL1, SAY_SPELL2), me);
+ Talk(SAY_SPELL);
RandomYellTimer = urand(50, 101) * 1000;
} else RandomYellTimer -= diff;
@@ -503,7 +502,7 @@ public:
if (EnrageTimer <= diff)
{
DoCast(me, SPELL_BERSERK);
- DoScriptText(SAY_ENRAGE, me);
+ Talk(SAY_ENRAGE);
} else EnrageTimer -= diff;
}
diff --git a/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp b/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
index 9924bf1ffab..f56d55c36e3 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
@@ -31,16 +31,12 @@ EndScriptData */
enum eEnums
{
- SAY_AGGRO = -1564000,
- SAY_NEEDLE1 = -1564001,
- SAY_NEEDLE2 = -1564002,
- SAY_SLAY1 = -1564003,
- SAY_SLAY2 = -1564004,
- SAY_SPECIAL1 = -1564005,
- SAY_SPECIAL2 = -1564006,
- SAY_ENRAGE1 = -1564007, //is this text actually in use?
- SAY_ENRAGE2 = -1564008,
- SAY_DEATH = -1564009,
+ SAY_AGGRO = 0,
+ SAY_NEEDLE = 1,
+ SAY_SLAY = 2,
+ SAY_SPECIAL = 3,
+ SAY_ENRAGE = 4,
+ SAY_DEATH = 5,
//Spells
SPELL_NEEDLE_SPINE = 39992,
@@ -97,7 +93,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(urand(0, 1) ? SAY_SLAY1 : SAY_SLAY2, me);
+ Talk(SAY_SLAY);
events.DelayEvents(5000, GCD_YELL);
}
@@ -106,7 +102,7 @@ public:
if (instance)
instance->SetData(DATA_HIGHWARLORDNAJENTUSEVENT, DONE);
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
}
void SpellHit(Unit* /*caster*/, const SpellInfo* spell)
@@ -124,7 +120,7 @@ public:
if (instance)
instance->SetData(DATA_HIGHWARLORDNAJENTUSEVENT, IN_PROGRESS);
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
DoZoneInCombat();
events.ScheduleEvent(EVENT_BERSERK, 480000, GCD_CAST);
events.ScheduleEvent(EVENT_YELL, 45000 + (rand()%76)*1000, GCD_YELL);
@@ -166,7 +162,7 @@ public:
ResetTimer(45000);
break;
case EVENT_BERSERK:
- DoScriptText(SAY_ENRAGE2, me);
+ Talk(SAY_ENRAGE);
DoCast(me, SPELL_BERSERK, true);
events.DelayEvents(15000, GCD_YELL);
break;
@@ -180,7 +176,7 @@ public:
SpineTargetGUID = target->GetGUID();
//must let target summon, otherwise you cannot click the spine
target->SummonGameObject(GOBJECT_SPINE, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), me->GetOrientation(), 0, 0, 0, 0, 30);
- DoScriptText(urand(0, 1) ? SAY_NEEDLE1 : SAY_NEEDLE2, me);
+ Talk(SAY_NEEDLE);
events.DelayEvents(1500, GCD_CAST);
events.DelayEvents(15000, GCD_YELL);
}
@@ -199,7 +195,7 @@ public:
return;
}
case EVENT_YELL:
- DoScriptText(RAND(SAY_SPECIAL1, SAY_SPECIAL2), me);
+ Talk(SAY_SPECIAL);
events.ScheduleEvent(EVENT_YELL, urand(25000, 100000), GCD_YELL);
events.DelayEvents(15000, GCD_YELL);
break;
diff --git a/src/server/scripts/Outland/BlackTemple/illidari_council.cpp b/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
index 673d4bcc96f..5a9b6e5a94e 100644
--- a/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
+++ b/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
@@ -29,35 +29,69 @@ EndScriptData */
#include "SpellAuraEffects.h"
#include "black_temple.h"
-//Speech'n'Sounds
-#define SAY_GATH_SLAY -1564085
-#define SAY_GATH_SLAY_COMNT -1564089
-#define SAY_GATH_DEATH -1564093
-#define SAY_GATH_SPECIAL1 -1564077
-#define SAY_GATH_SPECIAL2 -1564081
-
-#define SAY_VERA_SLAY -1564086
-#define SAY_VERA_COMNT -1564089 //signed for 22949
-#define SAY_VERA_DEATH -1564094
-#define SAY_VERA_SPECIAL1 -1564078
-#define SAY_VERA_SPECIAL2 -1564082
-
-#define SAY_MALA_SLAY -1564087
-#define SAY_MALA_COMNT -1564090
-#define SAY_MALA_DEATH -1564095
-#define SAY_MALA_SPECIAL1 -1564079
-#define SAY_MALA_SPECIAL2 -1564083
-
-#define SAY_ZERE_SLAY -1564088
-#define SAY_ZERE_COMNT -1564091
-#define SAY_ZERE_DEATH -1564096
-#define SAY_ZERE_SPECIAL1 -1564080
-#define SAY_ZERE_SPECIAL2 -1564084
+enum IllidariCouncil
+{
+ //Speech'n'Sounds
+ SAY_GATH_SPECIAL1 = 2,
+ SAY_GATH_SPECIAL2 = 3,
+ SAY_GATH_SLAY = 4,
+ SAY_GATH_COMNT = 5,
+ SAY_GATH_DEATH = 6,
+
+ SAY_MALA_SPECIAL1 = 2,
+ SAY_MALA_SPECIAL2 = 3,
+ SAY_MALA_SLAY = 4,
+ SAY_MALA_COMNT = 5,
+ SAY_MALA_DEATH = 6,
+
+ SAY_ZERE_SPECIAL1 = 2,
+ SAY_ZERE_SPECIAL2 = 3,
+ SAY_ZERE_SLAY = 4,
+ SAY_ZERE_COMNT = 5,
+ SAY_ZERE_DEATH = 6,
+
+ SAY_VERA_SPECIAL1 = 2,
+ SAY_VERA_SPECIAL2 = 3,
+ SAY_VERA_SLAY = 4,
+ SAY_VERA_COMNT = 5,
+ SAY_VERA_DEATH = 6,
+
+ AKAMAID = 23089,
+
+ // High Nethermancer Zerevor's spells
+ SPELL_FLAMESTRIKE = 41481,
+ SPELL_BLIZZARD = 41482,
+ SPELL_ARCANE_BOLT = 41483,
+ SPELL_ARCANE_EXPLOSION = 41524,
+ SPELL_DAMPEN_MAGIC = 41478,
+
+ // Lady Malande's spells
+ SPELL_EMPOWERED_SMITE = 41471,
+ SPELL_CIRCLE_OF_HEALING = 41455,
+ SPELL_REFLECTIVE_SHIELD = 41475,
+ SPELL_REFLECTIVE_SHIELD_T = 33619,
+ SPELL_DIVINE_WRATH = 41472,
+ SPELL_HEAL_VISUAL = 24171,
+
+ // Gathios the Shatterer's spells
+ SPELL_BLESS_PROTECTION = 41450,
+ SPELL_BLESS_SPELLWARD = 41451,
+ SPELL_CONSECRATION = 41541,
+ SPELL_HAMMER_OF_JUSTICE = 41468,
+ SPELL_SEAL_OF_COMMAND = 41469,
+ SPELL_SEAL_OF_BLOOD = 41459,
+ SPELL_CHROMATIC_AURA = 41453,
+ SPELL_DEVOTION_AURA = 41452,
+
+ // Veras Darkshadow's spells
+ SPELL_DEADLY_POISON = 41485,
+ SPELL_ENVENOM = 41487,
+ SPELL_VANISH = 41479,
+ SPELL_BERSERK = 45078
+};
#define ERROR_INST_DATA "SD2 ERROR: Instance Data for Black Temple not set properly; Illidari Council event will not function properly."
-#define AKAMAID 23089
-
struct CouncilYells
{
int32 entry;
@@ -66,53 +100,21 @@ struct CouncilYells
static CouncilYells CouncilAggro[]=
{
- {-1564069, 5000}, // Gathios
- {-1564070, 5500}, // Veras
- {-1564071, 5000}, // Malande
- {-1564072, 0}, // Zerevor
+ {0, 5000}, // Gathios
+ {0, 5500}, // Veras
+ {0, 5000}, // Malande
+ {0, 0}, // Zerevor
};
// Need to get proper timers for this later
static CouncilYells CouncilEnrage[]=
{
- {-1564073, 2000}, // Gathios
- {-1564074, 6000}, // Veras
- {-1564075, 5000}, // Malande
- {-1564076, 0}, // Zerevor
+ {1, 2000}, // Gathios
+ {1, 6000}, // Veras
+ {1, 5000}, // Malande
+ {1, 0}, // Zerevor
};
-// High Nethermancer Zerevor's spells
-#define SPELL_FLAMESTRIKE 41481
-#define SPELL_BLIZZARD 41482
-#define SPELL_ARCANE_BOLT 41483
-#define SPELL_ARCANE_EXPLOSION 41524
-#define SPELL_DAMPEN_MAGIC 41478
-
-// Lady Malande's spells
-#define SPELL_EMPOWERED_SMITE 41471
-#define SPELL_CIRCLE_OF_HEALING 41455
-#define SPELL_REFLECTIVE_SHIELD 41475
-#define SPELL_REFLECTIVE_SHIELD_T 33619
-#define SPELL_DIVINE_WRATH 41472
-#define SPELL_HEAL_VISUAL 24171
-
-// Gathios the Shatterer's spells
-#define SPELL_BLESS_PROTECTION 41450
-#define SPELL_BLESS_SPELLWARD 41451
-#define SPELL_CONSECRATION 41541
-#define SPELL_HAMMER_OF_JUSTICE 41468
-#define SPELL_SEAL_OF_COMMAND 41469
-#define SPELL_SEAL_OF_BLOOD 41459
-#define SPELL_CHROMATIC_AURA 41453
-#define SPELL_DEVOTION_AURA 41452
-
-// Veras Darkshadow's spells
-#define SPELL_DEADLY_POISON 41485
-#define SPELL_ENVENOM 41487
-#define SPELL_VANISH 41479
-
-#define SPELL_BERSERK 45078
-
class mob_blood_elf_council_voice_trigger : public CreatureScript
{
public:
@@ -179,9 +181,9 @@ public:
{
if (AggroYellTimer <= diff)
{
- if (Unit* pMember = Unit::GetUnit(*me, Council[YellCounter]))
+ if (Creature* pMember = Creature::GetCreature(*me, Council[YellCounter]))
{
- DoScriptText(CouncilAggro[YellCounter].entry, pMember);
+ pMember->AI()->Talk(CouncilAggro[YellCounter].entry);
AggroYellTimer = CouncilAggro[YellCounter].timer;
}
++YellCounter;
@@ -194,10 +196,10 @@ public:
{
if (EnrageTimer <= diff)
{
- if (Unit* pMember = Unit::GetUnit(*me, Council[YellCounter]))
+ if (Creature* pMember = Creature::GetCreature(*me, Council[YellCounter]))
{
pMember->CastSpell(pMember, SPELL_BERSERK, true);
- DoScriptText(CouncilEnrage[YellCounter].entry, pMember);
+ pMember->AI()->Talk(CouncilEnrage[YellCounter].entry);
EnrageTimer = CouncilEnrage[YellCounter].timer;
}
++YellCounter;
@@ -497,12 +499,12 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(SAY_GATH_SLAY, me);
+ Talk(SAY_GATH_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_GATH_DEATH, me);
+ Talk(SAY_GATH_DEATH);
}
Unit* SelectCouncilMember()
@@ -631,12 +633,12 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(SAY_ZERE_SLAY, me);
+ Talk(SAY_ZERE_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_ZERE_DEATH, me);
+ Talk(SAY_ZERE_DEATH);
}
void UpdateAI(const uint32 diff)
@@ -731,12 +733,12 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(SAY_MALA_SLAY, me);
+ Talk(SAY_MALA_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_MALA_DEATH, me);
+ Talk(SAY_MALA_DEATH);
}
void UpdateAI(const uint32 diff)
@@ -817,12 +819,12 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(SAY_VERA_SLAY, me);
+ Talk(SAY_VERA_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_VERA_DEATH, me);
+ Talk(SAY_VERA_DEATH);
}
void UpdateAI(const uint32 diff)
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp
index a5737714e71..5a26ffd9acd 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp
@@ -28,64 +28,62 @@ EndScriptData */
#include "serpent_shrine.h"
#include "ScriptedEscortAI.h"
-#define SAY_AGGRO -1548021
-#define SAY_GAIN_BLESSING -1548022
-#define SAY_GAIN_ABILITY1 -1548023
-#define SAY_GAIN_ABILITY2 -1548024
-#define SAY_GAIN_ABILITY3 -1548025
-#define SAY_SLAY1 -1548026
-#define SAY_SLAY2 -1548027
-#define SAY_SLAY3 -1548028
-#define SAY_DEATH -1548029
-
-//Karathress spells
-#define SPELL_CATACLYSMIC_BOLT 38441
-#define SPELL_POWER_OF_SHARKKIS 38455
-#define SPELL_POWER_OF_TIDALVESS 38452
-#define SPELL_POWER_OF_CARIBDIS 38451
-#define SPELL_ENRAGE 24318
-#define SPELL_SEAR_NOVA 38445
-#define SPELL_BLESSING_OF_THE_TIDES 38449
-
-//Sharkkis spells
-#define SPELL_LEECHING_THROW 29436
-#define SPELL_THE_BEAST_WITHIN 38373
-#define SPELL_MULTISHOT 38366
-#define SPELL_SUMMON_FATHOM_LURKER 38433
-#define SPELL_SUMMON_FATHOM_SPOREBAT 38431
-#define SPELL_PET_ENRAGE 19574
-
-//Tidalvess spells
-#define SPELL_FROST_SHOCK 38234
-#define SPELL_SPITFIRE_TOTEM 38236
-#define SPELL_POISON_CLEANSING_TOTEM 38306
-// Spell obsolete
-// #define SPELL_POISON_CLEANSING_EFFECT 8167
-#define SPELL_EARTHBIND_TOTEM 38304
-#define SPELL_EARTHBIND_TOTEM_EFFECT 6474
-#define SPELL_WINDFURY_WEAPON 38184
-
-//Caribdis Spells
-#define SPELL_WATER_BOLT_VOLLEY 38335
-#define SPELL_TIDAL_SURGE 38358
-#define SPELL_TIDAL_SURGE_FREEZE 38357
-#define SPELL_HEAL 38330
-#define SPELL_SUMMON_CYCLONE 38337
-#define SPELL_CYCLONE_CYCLONE 29538
-
-//Yells and Quotes
-#define SAY_GAIN_BLESSING_OF_TIDES "Your overconfidence will be your undoing! Guards, lend me your strength!"
-#define SOUND_GAIN_BLESSING_OF_TIDES 11278
-#define SAY_MISC "Alana be'lendor!" //don't know what use this
-#define SOUND_MISC 11283
-
-//Summoned Unit GUIDs
-#define CREATURE_CYCLONE 22104
-#define CREATURE_FATHOM_SPOREBAT 22120
-#define CREATURE_FATHOM_LURKER 22119
-#define CREATURE_SPITFIRE_TOTEM 22091
-#define CREATURE_EARTHBIND_TOTEM 22486
-#define CREATURE_POISON_CLEANSING_TOTEM 22487
+enum FathomlordKarathress
+{
+ SAY_AGGRO = 0,
+ SAY_GAIN_BLESSING = 1,
+ SAY_GAIN_ABILITY1 = 2,
+ SAY_GAIN_ABILITY2 = 3,
+ SAY_GAIN_ABILITY3 = 4,
+ SAY_SLAY = 5,
+ SAY_DEATH = 6,
+
+ //Karathress spells
+ SPELL_CATACLYSMIC_BOLT = 38441,
+ SPELL_POWER_OF_SHARKKIS = 38455,
+ SPELL_POWER_OF_TIDALVESS = 38452,
+ SPELL_POWER_OF_CARIBDIS = 38451,
+ SPELL_ENRAGE = 24318,
+ SPELL_SEAR_NOVA = 38445,
+ SPELL_BLESSING_OF_THE_TIDES = 38449,
+
+ //Sharkkis spells
+ SPELL_LEECHING_THROW = 29436,
+ SPELL_THE_BEAST_WITHIN = 38373,
+ SPELL_MULTISHOT = 38366,
+ SPELL_SUMMON_FATHOM_LURKER = 38433,
+ SPELL_SUMMON_FATHOM_SPOREBAT = 38431,
+ SPELL_PET_ENRAGE = 19574,
+
+ //Tidalvess spells
+ SPELL_FROST_SHOCK = 38234,
+ SPELL_SPITFIRE_TOTEM = 38236,
+ SPELL_POISON_CLEANSING_TOTEM = 38306,
+ // Spell obsolete
+ SPELL_EARTHBIND_TOTEM = 38304,
+ SPELL_EARTHBIND_TOTEM_EFFECT = 6474,
+ SPELL_WINDFURY_WEAPON = 38184,
+
+ //Caribdis Spells
+ SPELL_WATER_BOLT_VOLLEY = 38335,
+ SPELL_TIDAL_SURGE = 38358,
+ SPELL_TIDAL_SURGE_FREEZE = 38357,
+ SPELL_HEAL = 38330,
+ SPELL_SUMMON_CYCLONE = 38337,
+ SPELL_CYCLONE_CYCLONE = 29538,
+
+ //Yells and Quotes
+ SOUND_GAIN_BLESSING_OF_TIDES = 11278,
+ SOUND_MISC = 11283,
+
+ //Summoned Unit GUIDs
+ CREATURE_CYCLONE = 22104,
+ CREATURE_FATHOM_SPOREBAT = 22120,
+ CREATURE_FATHOM_LURKER = 22119,
+ CREATURE_SPITFIRE_TOTEM = 22091,
+ CREATURE_EARTHBIND_TOTEM = 22486,
+ CREATURE_POISON_CLEANSING_TOTEM = 22487,
+};
//entry and position for Seer Olum
#define SEER_OLUM 22820
@@ -94,6 +92,9 @@ EndScriptData */
#define OLUM_Z -7.54773f
#define OLUM_O 0.401581f
+#define SAY_GAIN_BLESSING_OF_TIDES "Your overconfidence will be your undoing! Guards, lend me your strength!"
+#define SAY_MISC "Alana be'lendor!" //don't know what use this
+
#define MAX_ADVISORS 3
//Fathom-Lord Karathress AI
class boss_fathomlord_karathress : public CreatureScript
@@ -160,19 +161,19 @@ public:
void EventSharkkisDeath()
{
- DoScriptText(SAY_GAIN_ABILITY1, me);
+ Talk(SAY_GAIN_ABILITY1);
DoCast(me, SPELL_POWER_OF_SHARKKIS);
}
void EventTidalvessDeath()
{
- DoScriptText(SAY_GAIN_ABILITY2, me);
+ Talk(SAY_GAIN_ABILITY2);
DoCast(me, SPELL_POWER_OF_TIDALVESS);
}
void EventCaribdisDeath()
{
- DoScriptText(SAY_GAIN_ABILITY3, me);
+ Talk(SAY_GAIN_ABILITY3);
DoCast(me, SPELL_POWER_OF_CARIBDIS);
}
@@ -193,7 +194,7 @@ public:
GetAdvisors();
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
DoZoneInCombat();
instance->SetData64(DATA_KARATHRESSEVENT_STARTER, who->GetGUID());
@@ -202,12 +203,12 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
instance->SetData(DATA_FATHOMLORDKARATHRESSEVENT, DONE);
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp
index bad10752db3..c8589cc05d8 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp
@@ -27,43 +27,45 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "serpent_shrine.h"
-#define SAY_AGGRO -1548000
-#define SAY_SWITCH_TO_CLEAN -1548001
-#define SAY_CLEAN_SLAY1 -1548002
-#define SAY_CLEAN_SLAY2 -1548003
-#define SAY_CLEAN_DEATH -1548004
-#define SAY_SWITCH_TO_CORRUPT -1548005
-#define SAY_CORRUPT_SLAY1 -1548006
-#define SAY_CORRUPT_SLAY2 -1548007
-#define SAY_CORRUPT_DEATH -1548008
-
-#define SWITCH_RADIUS 18
-
-#define MODEL_CORRUPT 20609
-#define MODEL_CLEAN 20162
-
-#define SPELL_WATER_TOMB 38235
-#define SPELL_MARK_OF_HYDROSS1 38215
-#define SPELL_MARK_OF_HYDROSS2 38216
-#define SPELL_MARK_OF_HYDROSS3 38217
-#define SPELL_MARK_OF_HYDROSS4 38218
-#define SPELL_MARK_OF_HYDROSS5 38231
-#define SPELL_MARK_OF_HYDROSS6 40584
-#define SPELL_MARK_OF_CORRUPTION1 38219
-#define SPELL_MARK_OF_CORRUPTION2 38220
-#define SPELL_MARK_OF_CORRUPTION3 38221
-#define SPELL_MARK_OF_CORRUPTION4 38222
-#define SPELL_MARK_OF_CORRUPTION5 38230
-#define SPELL_MARK_OF_CORRUPTION6 40583
-#define SPELL_VILE_SLUDGE 38246
-#define SPELL_ENRAGE 27680 //this spell need verification
-#define SPELL_SUMMON_WATER_ELEMENT 36459 //not in use yet(in use ever?)
-#define SPELL_ELEMENTAL_SPAWNIN 25035
-#define SPELL_BLUE_BEAM 40227 //channeled Hydross Beam Helper (not in use yet)
-
-#define ENTRY_PURE_SPAWN 22035
-#define ENTRY_TAINTED_SPAWN 22036
-#define ENTRY_BEAM_DUMMY 21934
+enum HydrossTheUnstable
+{
+ SAY_AGGRO = 0,
+ SAY_SWITCH_TO_CLEAN = 1,
+ SAY_CLEAN_SLAY = 2,
+ SAY_CLEAN_DEATH = 3,
+ SAY_SWITCH_TO_CORRUPT = 4,
+ SAY_CORRUPT_SLAY = 5,
+ SAY_CORRUPT_DEATH = 6,
+
+ SWITCH_RADIUS = 18,
+
+ MODEL_CORRUPT = 20609,
+ MODEL_CLEAN = 20162,
+
+ SPELL_WATER_TOMB = 38235,
+ SPELL_MARK_OF_HYDROSS1 = 38215,
+ SPELL_MARK_OF_HYDROSS2 = 38216,
+ SPELL_MARK_OF_HYDROSS3 = 38217,
+ SPELL_MARK_OF_HYDROSS4 = 38218,
+ SPELL_MARK_OF_HYDROSS5 = 38231,
+ SPELL_MARK_OF_HYDROSS6 = 40584,
+ SPELL_MARK_OF_CORRUPTION1 = 38219,
+ SPELL_MARK_OF_CORRUPTION2 = 38220,
+ SPELL_MARK_OF_CORRUPTION3 = 38221,
+ SPELL_MARK_OF_CORRUPTION4 = 38222,
+ SPELL_MARK_OF_CORRUPTION5 = 38230,
+ SPELL_MARK_OF_CORRUPTION6 = 40583,
+ SPELL_VILE_SLUDGE = 38246,
+ SPELL_ENRAGE = 27680, //this spell need verification
+ SPELL_SUMMON_WATER_ELEMENT = 36459, //not in use yet(in use ever?)
+ SPELL_ELEMENTAL_SPAWNIN = 25035,
+ SPELL_BLUE_BEAM = 40227, //channeled Hydross Beam Helper (not in use yet)
+
+ ENTRY_PURE_SPAWN = 22035,
+ ENTRY_TAINTED_SPAWN = 22036,
+ ENTRY_BEAM_DUMMY = 21934
+};
+
#define HYDROSS_X -239.439f
#define HYDROSS_Y -363.481f
@@ -169,7 +171,7 @@ public:
}
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
if (instance)
instance->SetData(DATA_HYDROSSTHEUNSTABLEEVENT, IN_PROGRESS);
@@ -177,10 +179,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- if (CorruptedForm)
- DoScriptText(RAND(SAY_CORRUPT_SLAY1, SAY_CORRUPT_SLAY2), me);
- else
- DoScriptText(RAND(SAY_CLEAN_SLAY1, SAY_CLEAN_SLAY2), me);
+ Talk(CorruptedForm ? SAY_CORRUPT_SLAY : SAY_CLEAN_SLAY);
}
void JustSummoned(Creature* summoned)
@@ -206,10 +205,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- if (CorruptedForm)
- DoScriptText(SAY_CORRUPT_DEATH, me);
- else
- DoScriptText(SAY_CLEAN_DEATH, me);
+ Talk(CorruptedForm ? SAY_CORRUPT_DEATH : SAY_CLEAN_DEATH);
if (instance)
instance->SetData(DATA_HYDROSSTHEUNSTABLEEVENT, DONE);
@@ -293,7 +289,7 @@ public:
CorruptedForm = false;
MarkOfHydross_Count = 0;
- DoScriptText(SAY_SWITCH_TO_CLEAN, me);
+ Talk(SAY_SWITCH_TO_CLEAN);
DoResetThreat();
SummonBeams();
@@ -377,7 +373,7 @@ public:
MarkOfCorruption_Count = 0;
CorruptedForm = true;
- DoScriptText(SAY_SWITCH_TO_CORRUPT, me);
+ Talk(SAY_SWITCH_TO_CORRUPT);
DoResetThreat();
DeSummonBeams();
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
index a934d03349c..6c4c51b03fe 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
@@ -30,48 +30,47 @@ EndScriptData */
#include "Player.h"
#include "WorldSession.h"
-#define SAY_INTRO -1548042
-#define SAY_AGGRO1 -1548043
-#define SAY_AGGRO2 -1548044
-#define SAY_AGGRO3 -1548045
-#define SAY_AGGRO4 -1548046
-#define SAY_PHASE1 -1548047
-#define SAY_PHASE2 -1548048
-#define SAY_PHASE3 -1548049
-#define SAY_BOWSHOT1 -1548050
-#define SAY_BOWSHOT2 -1548051
-#define SAY_SLAY1 -1548052
-#define SAY_SLAY2 -1548053
-#define SAY_SLAY3 -1548054
-#define SAY_DEATH -1548055
-
-#define SPELL_SURGE 38044
-#define SPELL_MULTI_SHOT 38310
-#define SPELL_SHOCK_BLAST 38509
-#define SPELL_ENTANGLE 38316
-#define SPELL_STATIC_CHARGE_TRIGGER 38280
-#define SPELL_FORKED_LIGHTNING 40088
-#define SPELL_SHOOT 40873
-#define SPELL_POISON_BOLT 40095
-#define SPELL_TOXIC_SPORES 38575
-#define SPELL_MAGIC_BARRIER 38112
-
-#define MIDDLE_X 30.134f
-#define MIDDLE_Y -923.65f
-#define MIDDLE_Z 42.9f
-
-#define SPOREBAT_X 30.977156f
+enum LadyVashj
+{
+ SAY_INTRO = 0,
+ SAY_AGGRO = 1,
+ SAY_PHASE1 = 2,
+ SAY_PHASE2 = 3,
+ SAY_PHASE3 = 4,
+ SAY_BOWSHOT = 5,
+ SAY_SLAY = 6,
+ SAY_DEATH = 7,
+
+ SPELL_SURGE = 38044,
+ SPELL_MULTI_SHOT = 38310,
+ SPELL_SHOCK_BLAST = 38509,
+ SPELL_ENTANGLE = 38316,
+ SPELL_STATIC_CHARGE_TRIGGER = 38280,
+ SPELL_FORKED_LIGHTNING = 40088,
+ SPELL_SHOOT = 40873,
+ SPELL_POISON_BOLT = 40095,
+ SPELL_TOXIC_SPORES = 38575,
+ SPELL_MAGIC_BARRIER = 38112,
+
+ SHIED_GENERATOR_CHANNEL = 19870,
+ ENCHANTED_ELEMENTAL = 21958,
+ TAINTED_ELEMENTAL = 22009,
+ COILFANG_STRIDER = 22056,
+ COILFANG_ELITE = 22055,
+ TOXIC_SPOREBAT = 22140,
+ TOXIC_SPORES_TRIGGER = 22207
+};
+
+#define MIDDLE_X 30.134f
+#define MIDDLE_Y -923.65f
+#define MIDDLE_Z 42.9f
+
+#define SPOREBAT_X 30.977156f
#define SPOREBAT_Y -925.297761f
#define SPOREBAT_Z 77.176567f
#define SPOREBAT_O 5.223932f
-#define SHIED_GENERATOR_CHANNEL 19870
-#define ENCHANTED_ELEMENTAL 21958
-#define TAINTED_ELEMENTAL 22009
-#define COILFANG_STRIDER 22056
-#define COILFANG_ELITE 22055
-#define TOXIC_SPOREBAT 22140
-#define TOXIC_SPORES_TRIGGER 22207
+
#define TEXT_NOT_INITIALIZED "Instance script not initialized"
#define TEXT_ALREADY_DEACTIVATED "Already deactivated"
@@ -226,12 +225,12 @@ public:
}
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
instance->SetData(DATA_LADYVASHJEVENT, DONE);
@@ -239,7 +238,7 @@ public:
void StartEvent()
{
- DoScriptText(RAND(SAY_AGGRO1, SAY_AGGRO2, SAY_AGGRO3, SAY_AGGRO4), me);
+ Talk(SAY_AGGRO);
Phase = 1;
@@ -269,7 +268,7 @@ public:
if (!Intro)
{
Intro = true;
- DoScriptText(SAY_INTRO, me);
+ Talk(SAY_INTRO);
}
if (!CanAttack)
return;
@@ -307,7 +306,7 @@ public:
}
if (rand()%3)
{
- DoScriptText(RAND(SAY_BOWSHOT1, SAY_BOWSHOT2), me);
+ Talk(SAY_BOWSHOT);
}
}
@@ -397,7 +396,7 @@ public:
if (Creature* creature = me->SummonCreature(SHIED_GENERATOR_CHANNEL, ShieldGeneratorChannelPos[i][0], ShieldGeneratorChannelPos[i][1], ShieldGeneratorChannelPos[i][2], ShieldGeneratorChannelPos[i][3], TEMPSUMMON_CORPSE_DESPAWN, 0))
ShieldGeneratorChannel[i] = creature->GetGUID();
- DoScriptText(SAY_PHASE2, me);
+ Talk(SAY_PHASE2);
}
}
// Phase 3
@@ -527,7 +526,7 @@ public:
me->RemoveAurasDueToSpell(SPELL_MAGIC_BARRIER);
- DoScriptText(SAY_PHASE3, me);
+ Talk(SAY_PHASE3);
Phase = 3;
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp
index 1221e59b96e..6fe1e86551a 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp
@@ -28,47 +28,46 @@ EndScriptData */
#include "serpent_shrine.h"
#include "Player.h"
-// --- Spells used by Leotheras The Blind
-#define SPELL_WHIRLWIND 37640
-#define SPELL_CHAOS_BLAST 37674
-#define SPELL_BERSERK 26662
-#define SPELL_INSIDIOUS_WHISPER 37676
-#define SPELL_DUAL_WIELD 42459
-
-// --- Spells used in banish phase ---
-#define BANISH_BEAM 38909
-#define AURA_BANISH 37833
-
-// --- Spells used by Greyheart Spellbinders
-#define SPELL_EARTHSHOCK 39076
-#define SPELL_MINDBLAST 37531
-
-// --- Spells used by Inner Demons and Creature ID
-#define INNER_DEMON_ID 21857
-#define AURA_DEMONIC_ALIGNMENT 37713
-#define SPELL_SHADOWBOLT 39309
-#define SPELL_SOUL_LINK 38007
-#define SPELL_CONSUMING_MADNESS 37749 //not supported by core yet
-
-//Misc.
-#define MODEL_DEMON 20125
-#define MODEL_NIGHTELF 20514
-#define DEMON_FORM 21875
-#define MOB_SPELLBINDER 21806
-#define INNER_DEMON_VICTIM 1
-
-#define SAY_AGGRO -1548009
-#define SAY_SWITCH_TO_DEMON -1548010
-#define SAY_INNER_DEMONS -1548011
-#define SAY_DEMON_SLAY1 -1548012
-#define SAY_DEMON_SLAY2 -1548013
-#define SAY_DEMON_SLAY3 -1548014
-#define SAY_NIGHTELF_SLAY1 -1548015
-#define SAY_NIGHTELF_SLAY2 -1548016
-#define SAY_NIGHTELF_SLAY3 -1548017
-#define SAY_FINAL_FORM -1548018
-#define SAY_FREE -1548019
-#define SAY_DEATH -1548020
+enum LeotherasTheBlind
+{
+ // Spells used by Leotheras The Blind
+ SPELL_WHIRLWIND = 37640,
+ SPELL_CHAOS_BLAST = 37674,
+ SPELL_BERSERK = 26662,
+ SPELL_INSIDIOUS_WHISPER = 37676,
+ SPELL_DUAL_WIELD = 42459,
+
+ // Spells used in banish phase
+ BANISH_BEAM = 38909,
+ AURA_BANISH = 37833,
+
+ // Spells used by Greyheart Spellbinders
+ SPELL_EARTHSHOCK = 39076,
+ SPELL_MINDBLAST = 37531,
+
+ // Spells used by Inner Demons and Creature ID
+ INNER_DEMON_ID = 21857,
+ AURA_DEMONIC_ALIGNMENT = 37713,
+ SPELL_SHADOWBOLT = 39309,
+ SPELL_SOUL_LINK = 38007,
+ SPELL_CONSUMING_MADNESS = 37749,
+
+ //Misc.
+ MODEL_DEMON = 20125,
+ MODEL_NIGHTELF = 20514,
+ DEMON_FORM = 21875,
+ MOB_SPELLBINDER = 21806,
+ INNER_DEMON_VICTIM = 1,
+
+ SAY_AGGRO = 0,
+ SAY_SWITCH_TO_DEMON = 1,
+ SAY_INNER_DEMONS = 2,
+ SAY_DEMON_SLAY = 3,
+ SAY_NIGHTELF_SLAY = 4,
+ SAY_FINAL_FORM = 5,
+ SAY_FREE = 6,
+ SAY_DEATH = 7
+};
class mob_inner_demon : public CreatureScript
{
@@ -289,7 +288,7 @@ public:
void StartEvent()
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
if (instance)
instance->SetData(DATA_LEOTHERASTHEBLINDEVENT, IN_PROGRESS);
}
@@ -388,20 +387,13 @@ public:
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
-
- if (DemonForm)
- {
- DoScriptText(RAND(SAY_DEMON_SLAY1, SAY_DEMON_SLAY2, SAY_DEMON_SLAY3), me);
- }
- else
- {
- DoScriptText(RAND(SAY_NIGHTELF_SLAY1, SAY_NIGHTELF_SLAY2, SAY_NIGHTELF_SLAY3), me);
- }
+
+ Talk(DemonForm ? SAY_DEMON_SLAY : SAY_NIGHTELF_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
//despawn copy
if (Demon)
@@ -493,7 +485,7 @@ public:
//switch to demon form
me->RemoveAurasDueToSpell(SPELL_WHIRLWIND, 0);
me->SetDisplayId(MODEL_DEMON);
- DoScriptText(SAY_SWITCH_TO_DEMON, me);
+ Talk(SAY_SWITCH_TO_DEMON);
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID , 0);
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID+1, 0);
DemonForm = true;
@@ -556,7 +548,7 @@ public:
}
}
}
- DoScriptText(SAY_INNER_DEMONS, me);
+ Talk(SAY_INNER_DEMONS);
InnerDemons_Timer = 999999;
} else InnerDemons_Timer -= diff;
@@ -595,7 +587,7 @@ public:
IsFinalForm = true;
DemonForm = false;
- DoScriptText(SAY_FINAL_FORM, me);
+ Talk(SAY_FINAL_FORM);
me->SetDisplayId(MODEL_NIGHTELF);
me->LoadEquipment(me->GetEquipmentId());
}
@@ -629,7 +621,7 @@ public:
void StartEvent()
{
- DoScriptText(SAY_FREE, me);
+ Talk(SAY_FREE);
}
void KilledUnit(Unit* victim)
@@ -637,7 +629,7 @@ public:
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
- DoScriptText(RAND(SAY_DEMON_SLAY1, SAY_DEMON_SLAY2, SAY_DEMON_SLAY3), me);
+ Talk(SAY_DEMON_SLAY);
}
void JustDied(Unit* /*killer*/)
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp
index 32f03d4d1f9..9c7fdadc18a 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp
@@ -30,37 +30,33 @@ EndScriptData */
enum eEnums
{
// Yell
- SAY_AGGRO = -1548030,
- SAY_SUMMON1 = -1548031,
- SAY_SUMMON2 = -1548032,
- SAY_SUMMON_BUBL1 = -1548033,
- SAY_SUMMON_BUBL2 = -1548034,
- SAY_SLAY1 = -1548035,
- SAY_SLAY2 = -1548036,
- SAY_SLAY3 = -1548037,
- SAY_DEATH = -1548038,
+ SAY_AGGRO = 0,
+ SAY_SUMMON = 1,
+ SAY_SUMMON_BUBL = 2,
+ SAY_SLAY = 3,
+ SAY_DEATH = 4,
// Emotes
- EMOTE_WATERY_GRAVE = -1548039,
- EMOTE_EARTHQUAKE = -1548040,
- EMOTE_WATERY_GLOBULES = -1548041,
+ EMOTE_WATERY_GRAVE = 5,
+ EMOTE_EARTHQUAKE = 6,
+ EMOTE_WATERY_GLOBULES = 7,
// Spells
- SPELL_TIDAL_WAVE = 37730,
- SPELL_WATERY_GRAVE = 38049,
- SPELL_EARTHQUAKE = 37764,
- SPELL_WATERY_GRAVE_EXPLOSION = 37852,
-
- SPELL_WATERY_GRAVE_1 = 38023,
- SPELL_WATERY_GRAVE_2 = 38024,
- SPELL_WATERY_GRAVE_3 = 38025,
- SPELL_WATERY_GRAVE_4 = 37850,
-
- SPELL_SUMMON_WATER_GLOBULE_1 = 37854,
- SPELL_SUMMON_WATER_GLOBULE_2 = 37858,
- SPELL_SUMMON_WATER_GLOBULE_3 = 37860,
- SPELL_SUMMON_WATER_GLOBULE_4 = 37861,
+ SPELL_TIDAL_WAVE = 37730,
+ SPELL_WATERY_GRAVE = 38049,
+ SPELL_EARTHQUAKE = 37764,
+ SPELL_WATERY_GRAVE_EXPLOSION = 37852,
+
+ SPELL_WATERY_GRAVE_1 = 38023,
+ SPELL_WATERY_GRAVE_2 = 38024,
+ SPELL_WATERY_GRAVE_3 = 38025,
+ SPELL_WATERY_GRAVE_4 = 37850,
+
+ SPELL_SUMMON_WATER_GLOBULE_1 = 37854,
+ SPELL_SUMMON_WATER_GLOBULE_2 = 37858,
+ SPELL_SUMMON_WATER_GLOBULE_3 = 37860,
+ SPELL_SUMMON_WATER_GLOBULE_4 = 37861,
// Creatures
- NPC_WATER_GLOBULE = 21913,
- NPC_TIDEWALKER_LURKER = 21920,
+ NPC_WATER_GLOBULE = 21913,
+ NPC_TIDEWALKER_LURKER = 21920
};
float MurlocCords[10][4] =
@@ -130,7 +126,7 @@ public:
void StartEvent()
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
if (instance)
instance->SetData(DATA_MOROGRIMTIDEWALKEREVENT, IN_PROGRESS);
@@ -138,12 +134,12 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
instance->SetData(DATA_MOROGRIMTIDEWALKEREVENT, DONE);
@@ -184,7 +180,7 @@ public:
}
else
{
- DoScriptText(RAND(SAY_SUMMON1, SAY_SUMMON2), me);
+ Talk(SAY_SUMMON);
for (uint8 i = 0; i < 10; ++i)
{
@@ -193,7 +189,7 @@ public:
if (target && Murloc)
Murloc->AI()->AttackStart(target);
}
- DoScriptText(EMOTE_EARTHQUAKE, me);
+ Talk(EMOTE_EARTHQUAKE);
Earthquake = false;
Earthquake_Timer = 40000+rand()%5000;
}
@@ -235,9 +231,9 @@ public:
}
}
- DoScriptText(RAND(SAY_SUMMON_BUBL1, SAY_SUMMON_BUBL2), me);
+ Talk(SAY_SUMMON_BUBL);
- DoScriptText(EMOTE_WATERY_GRAVE, me);
+ Talk(EMOTE_WATERY_GRAVE);
WateryGrave_Timer = 30000;
} else WateryGrave_Timer -= diff;
@@ -271,7 +267,7 @@ public:
pGlobuleTarget->CastSpell(pGlobuleTarget, globulespell[g], true);
}
}
- DoScriptText(EMOTE_WATERY_GLOBULES, me);
+ Talk(EMOTE_WATERY_GLOBULES);
WateryGlobules_Timer = 25000;
} else WateryGlobules_Timer -= diff;
}
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp
index 038300213a4..e2d581128fd 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp
@@ -32,20 +32,20 @@ EndContentData */
#include "ScriptedCreature.h"
#include "steam_vault.h"
-#define SAY_SUMMON -1545000
-#define SAY_AGGRO_1 -1545001
-#define SAY_AGGRO_2 -1545002
-#define SAY_AGGRO_3 -1545003
-#define SAY_SLAY_1 -1545004
-#define SAY_SLAY_2 -1545005
-#define SAY_DEAD -1545006
+enum HydromancerThespia
+{
+ SAY_SUMMON = 0,
+ SAY_AGGRO = 1,
+ SAY_SLAY = 2,
+ SAY_DEAD = 3,
-#define SPELL_LIGHTNING_CLOUD 25033
-#define SPELL_LUNG_BURST 31481
-#define SPELL_ENVELOPING_WINDS 31718
+ SPELL_LIGHTNING_CLOUD = 25033,
+ SPELL_LUNG_BURST = 31481,
+ SPELL_ENVELOPING_WINDS = 31718,
-#define SPELL_WATER_BOLT_VOLLEY 34449
-#define H_SPELL_WATER_BOLT_VOLLEY 37924
+ SPELL_WATER_BOLT_VOLLEY = 34449,
+ H_SPELL_WATER_BOLT_VOLLEY = 37924
+};
class boss_hydromancer_thespia : public CreatureScript
{
@@ -82,7 +82,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEAD, me);
+ Talk(SAY_DEAD);
if (instance)
instance->SetData(TYPE_HYDROMANCER_THESPIA, DONE);
@@ -90,12 +90,12 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
+ Talk(SAY_SLAY);
}
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
+ Talk(SAY_AGGRO);
if (instance)
instance->SetData(TYPE_HYDROMANCER_THESPIA, IN_PROGRESS);
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp
index 50cc913c669..6a70cb97759 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp
@@ -32,22 +32,19 @@ EndContentData */
#include "ScriptedCreature.h"
#include "steam_vault.h"
-#define SAY_MECHANICS -1545007
-#define SAY_AGGRO_1 -1545008
-#define SAY_AGGRO_2 -1545009
-#define SAY_AGGRO_3 -1545010
-#define SAY_AGGRO_4 -1545011
-#define SAY_SLAY_1 -1545012
-#define SAY_SLAY_2 -1545013
-#define SAY_SLAY_3 -1545014
-#define SAY_DEATH -1545015
-
-#define SPELL_SUPER_SHRINK_RAY 31485
-#define SPELL_SAW_BLADE 31486
-#define SPELL_ELECTRIFIED_NET 35107
-#define H_SPELL_ENRAGE 1 //corrent enrage spell not known
-
-#define ENTRY_STREAMRIGGER_MECHANIC 17951
+enum MekgineerSteamrigger
+{
+ SAY_MECHANICS = 0,
+ SAY_AGGRO = 1,
+ SAY_SLAY = 2,
+ SAY_DEATH = 3,
+
+ SPELL_SUPER_SHRINK_RAY = 31485,
+ SPELL_SAW_BLADE = 31486,
+ SPELL_ELECTRIFIED_NET = 35107,
+
+ ENTRY_STREAMRIGGER_MECHANIC = 17951
+};
class boss_mekgineer_steamrigger : public CreatureScript
{
@@ -91,7 +88,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
instance->SetData(TYPE_MEKGINEER_STEAMRIGGER, DONE);
@@ -99,12 +96,12 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me);
+ Talk(SAY_SLAY);
}
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
+ Talk(SAY_AGGRO);
if (instance)
instance->SetData(TYPE_MEKGINEER_STEAMRIGGER, IN_PROGRESS);
@@ -113,7 +110,7 @@ public:
//no known summon spells exist
void SummonMechanichs()
{
- DoScriptText(SAY_MECHANICS, me);
+ Talk(SAY_MECHANICS);
DoSpawnCreature(ENTRY_STREAMRIGGER_MECHANIC, 5, 5, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 240000);
DoSpawnCreature(ENTRY_STREAMRIGGER_MECHANIC, -5, 5, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 240000);
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
index ac730292545..51c477365a3 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
@@ -28,21 +28,21 @@ EndScriptData */
#include "steam_vault.h"
#include "SpellInfo.h"
-#define SAY_INTRO -1545016
-#define SAY_REGEN -1545017
-#define SAY_AGGRO1 -1545018
-#define SAY_AGGRO2 -1545019
-#define SAY_AGGRO3 -1545020
-#define SAY_SLAY1 -1545021
-#define SAY_SLAY2 -1545022
-#define SAY_DEATH -1545023
-
-#define SPELL_SPELL_REFLECTION 31534
-#define SPELL_IMPALE 39061
-#define SPELL_WARLORDS_RAGE 37081
-#define SPELL_WARLORDS_RAGE_NAGA 31543
-
-#define SPELL_WARLORDS_RAGE_PROC 36453
+enum NagaDistiller
+{
+ SAY_INTRO = 0,
+ SAY_REGEN = 1,
+ SAY_AGGRO = 2,
+ SAY_SLAY = 3,
+ SAY_DEATH = 4,
+
+ SPELL_SPELL_REFLECTION = 31534,
+ SPELL_IMPALE = 39061,
+ SPELL_WARLORDS_RAGE = 37081,
+ SPELL_WARLORDS_RAGE_NAGA = 31543,
+
+ SPELL_WARLORDS_RAGE_PROC = 36453
+};
class mob_naga_distiller : public CreatureScript
{
@@ -139,7 +139,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(RAND(SAY_AGGRO1, SAY_AGGRO2, SAY_AGGRO3), me);
+ Talk(SAY_AGGRO);
if (instance)
instance->SetData(TYPE_WARLORD_KALITHRESH, IN_PROGRESS);
@@ -147,7 +147,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me);
+ Talk(SAY_SLAY);
}
void SpellHit(Unit* /*caster*/, const SpellInfo* spell)
@@ -161,7 +161,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
instance->SetData(TYPE_WARLORD_KALITHRESH, DONE);
@@ -176,7 +176,7 @@ public:
{
if (Creature* distiller = me->FindNearestCreature(17954, 100.0f))
{
- DoScriptText(SAY_REGEN, me);
+ Talk(SAY_REGEN);
DoCast(me, SPELL_WARLORDS_RAGE);
CAST_AI(mob_naga_distiller::mob_naga_distillerAI, distiller->AI())->StartRageGen(me);
}
diff --git a/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp b/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp
index 3443103fa70..797d0f0d799 100644
--- a/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp
+++ b/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp
@@ -30,17 +30,13 @@ EndScriptData */
enum eEnums
{
- SAY_AGGRO = -1565010,
- SAY_SLAM1 = -1565011,
- SAY_SLAM2 = -1565012,
- SAY_SHATTER1 = -1565013,
- SAY_SHATTER2 = -1565014,
- SAY_SLAY1 = -1565015,
- SAY_SLAY2 = -1565016,
- SAY_SLAY3 = -1565017,
- SAY_DEATH = -1565018,
-
- EMOTE_GROW = -1565019,
+ SAY_AGGRO = 0,
+ SAY_SLAM = 1,
+ SAY_SHATTER = 2,
+ SAY_SLAY = 3,
+ SAY_DEATH = 4,
+
+ EMOTE_GROW = 5,
SPELL_GROWTH = 36300,
SPELL_CAVE_IN = 36240,
@@ -100,7 +96,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
if (instance)
instance->SetData(DATA_GRUULEVENT, IN_PROGRESS);
@@ -108,12 +104,12 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
{
@@ -172,7 +168,7 @@ public:
// Gruul can cast this spell up to 30 times
if (m_uiGrowth_Timer <= uiDiff)
{
- DoScriptText(EMOTE_GROW, me);
+ Talk(EMOTE_GROW);
DoCast(me, SPELL_GROWTH);
m_uiGrowth_Timer = 30000;
}
diff --git a/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp b/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp
index 03089d646f9..2d2c36104a2 100644
--- a/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp
+++ b/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp
@@ -27,46 +27,44 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "gruuls_lair.h"
-#define SAY_AGGRO -1565000
-#define SAY_ENRAGE -1565001
-#define SAY_OGRE_DEATH1 -1565002
-#define SAY_OGRE_DEATH2 -1565003
-#define SAY_OGRE_DEATH3 -1565004
-#define SAY_OGRE_DEATH4 -1565005
-#define SAY_SLAY1 -1565006
-#define SAY_SLAY2 -1565007
-#define SAY_SLAY3 -1565008
-#define SAY_DEATH -1565009
-
-// High King Maulgar
-#define SPELL_ARCING_SMASH 39144
-#define SPELL_MIGHTY_BLOW 33230
-#define SPELL_WHIRLWIND 33238
-#define SPELL_BERSERKER_C 26561
-#define SPELL_ROAR 16508
-#define SPELL_FLURRY 33232
-#define SPELL_DUAL_WIELD 29651 //used in phase
-
-// Olm the Summoner
-#define SPELL_DARK_DECAY 33129
-#define SPELL_DEATH_COIL 33130
-#define SPELL_SUMMON_WFH 33131
-
-//Kiggler the Craed
-#define SPELL_GREATER_POLYMORPH 33173
-#define SPELL_LIGHTNING_BOLT 36152
-#define SPELL_ARCANE_SHOCK 33175
-#define SPELL_ARCANE_EXPLOSION 33237
-
-//Blindeye the Seer
-#define SPELL_GREATER_PW_SHIELD 33147
-#define SPELL_HEAL 33144
-#define SPELL_PRAYER_OH 33152
-
-//Krosh Firehand
-#define SPELL_GREATER_FIREBALL 33051
-#define SPELL_SPELLSHIELD 33054
-#define SPELL_BLAST_WAVE 33061
+enum HighKingMaulgar
+{
+ SAY_AGGRO = 0,
+ SAY_ENRAGE = 1,
+ SAY_OGRE_DEATH = 2,
+ SAY_SLAY = 3,
+ SAY_DEATH = 4,
+
+ // High King Maulgar
+ SPELL_ARCING_SMASH = 39144,
+ SPELL_MIGHTY_BLOW = 33230,
+ SPELL_WHIRLWIND = 33238,
+ SPELL_BERSERKER_C = 26561,
+ SPELL_ROAR = 16508,
+ SPELL_FLURRY = 33232,
+ SPELL_DUAL_WIELD = 29651,
+
+ // Olm the Summoner
+ SPELL_DARK_DECAY = 33129,
+ SPELL_DEATH_COIL = 33130,
+ SPELL_SUMMON_WFH = 33131,
+
+ //Kiggler the Craed
+ SPELL_GREATER_POLYMORPH = 33173,
+ SPELL_LIGHTNING_BOLT = 36152,
+ SPELL_ARCANE_SHOCK = 33175,
+ SPELL_ARCANE_EXPLOSION = 33237,
+
+ //Blindeye the Seer
+ SPELL_GREATER_PW_SHIELD = 33147,
+ SPELL_HEAL = 33144,
+ SPELL_PRAYER_OH = 33152,
+
+ //Krosh Firehand
+ SPELL_GREATER_FIREBALL = 33051,
+ SPELL_SPELLSHIELD = 33054,
+ SPELL_BLAST_WAVE = 33061
+};
bool CheckAllBossDied(InstanceScript* instance, Creature* me)
{
@@ -171,12 +169,12 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (CheckAllBossDied(instance, me))
instance->SetData(DATA_MAULGAREVENT, DONE);
@@ -184,7 +182,7 @@ public:
void AddDeath()
{
- DoScriptText(RAND(SAY_OGRE_DEATH1, SAY_OGRE_DEATH2, SAY_OGRE_DEATH3, SAY_OGRE_DEATH4), me);
+ Talk(SAY_OGRE_DEATH);
}
void EnterCombat(Unit* who)
@@ -211,7 +209,7 @@ public:
GetCouncil();
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
instance->SetData64(DATA_MAULGAREVENT_TANK, who->GetGUID());
instance->SetData(DATA_MAULGAREVENT, IN_PROGRESS);
@@ -269,7 +267,7 @@ public:
if (!Phase2 && HealthBelowPct(50))
{
Phase2 = true;
- DoScriptText(SAY_ENRAGE, me);
+ Talk(SAY_ENRAGE);
DoCast(me, SPELL_DUAL_WIELD, true);
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID, 0);
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
index b42641c5171..4b364d1c0a8 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
@@ -29,7 +29,7 @@ EndScriptData */
enum eEnums
{
- SAY_AGGRO = -1542008,
+ SAY_AGGRO = 0,
SPELL_SLIME_SPRAY = 30913,
SPELL_POISON_CLOUD = 30916,
@@ -73,7 +73,7 @@ class boss_broggok : public CreatureScript
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
}
void JustSummoned(Creature* summoned)
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp
index 3c07862e0f6..2fe95e1bf4d 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp
@@ -35,14 +35,11 @@ EndContentData */
enum eKelidan
{
- SAY_WAKE = -1542000,
- SAY_ADD_AGGRO_1 = -1542001,
- SAY_ADD_AGGRO_2 = -1542002,
- SAY_ADD_AGGRO_3 = -1542003,
- SAY_KILL_1 = -1542004,
- SAY_KILL_2 = -1542005,
- SAY_NOVA = -1542006,
- SAY_DIE = -1542007,
+ SAY_WAKE = 0,
+ SAY_ADD_AGGRO = 1,
+ SAY_KILL = 2,
+ SAY_NOVA = 3,
+ SAY_DIE = 4,
SPELL_CORRUPTION = 30938,
SPELL_EVOCATION = 30935,
@@ -117,7 +114,7 @@ class boss_kelidan_the_breaker : public CreatureScript
void EnterCombat(Unit* who)
{
- DoScriptText(SAY_WAKE, me);
+ Talk(SAY_WAKE);
if (me->IsNonMeleeSpellCasted(false))
me->InterruptNonMeleeSpells(true);
DoStartMovement(who);
@@ -130,7 +127,7 @@ class boss_kelidan_the_breaker : public CreatureScript
if (rand()%2)
return;
- DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me);
+ Talk(SAY_KILL);
}
void ChannelerEngaged(Unit* who)
@@ -138,7 +135,7 @@ class boss_kelidan_the_breaker : public CreatureScript
if (who && !addYell)
{
addYell = true;
- DoScriptText(RAND(SAY_ADD_AGGRO_1, SAY_ADD_AGGRO_2, SAY_ADD_AGGRO_3), me);
+ Talk(SAY_ADD_AGGRO);
}
for (uint8 i=0; i<5; ++i)
{
@@ -194,7 +191,7 @@ class boss_kelidan_the_breaker : public CreatureScript
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DIE, me);
+ Talk(SAY_DIE);
if (!instance)
return;
@@ -254,7 +251,7 @@ class boss_kelidan_the_breaker : public CreatureScript
if (me->IsNonMeleeSpellCasted(false))
me->InterruptNonMeleeSpells(true);
- DoScriptText(SAY_NOVA, me);
+ Talk(SAY_NOVA);
if (SpellInfo const* nova = sSpellMgr->GetSpellInfo(SPELL_BURNING_NOVA))
{
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp
index df9aefabe15..4dfd7e8a8e8 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp
@@ -29,17 +29,14 @@ EndScriptData */
enum eEnums
{
- SAY_AGGRO_1 = -1542009,
- SAY_AGGRO_2 = -1542010,
- SAY_AGGRO_3 = -1542011,
- SAY_KILL_1 = -1542012,
- SAY_KILL_2 = -1542013,
- SAY_DIE = -1542014,
-
- SPELL_ACID_SPRAY = 38153, // heroic 38973 ??? 38153
+ SAY_AGGRO = 0,
+ SAY_KILL = 1,
+ SAY_DIE = 2,
+
+ SPELL_ACID_SPRAY = 38153,
SPELL_EXPLODING_BREAKER = 30925,
SPELL_KNOCKDOWN = 20276,
- SPELL_DOMINATION = 25772 // ???
+ SPELL_DOMINATION = 25772
};
class boss_the_maker : public CreatureScript
@@ -81,7 +78,7 @@ class boss_the_maker : public CreatureScript
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
+ Talk(SAY_AGGRO);
if (!instance)
return;
@@ -92,12 +89,12 @@ class boss_the_maker : public CreatureScript
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me);
+ Talk(SAY_KILL);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DIE, me);
+ Talk(SAY_DIE);
if (!instance)
return;
diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp
index 56365216be5..a40c2e480bd 100644
--- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp
@@ -29,14 +29,12 @@ EndScriptData */
enum eSays
{
- SAY_AGGRO_1 = -1543009,
- SAY_AGGRO_2 = -1543010,
- SAY_AGGRO_3 = -1543011,
- SAY_SUMMON = -1543012,
- SAY_CURSE = -1543013,
- SAY_KILL_1 = -1543014,
- SAY_DIE = -1543015,
- SAY_WIPE = -1543016,
+ SAY_AGGRO = 0,
+ SAY_SUMMON = 1,
+ SAY_CURSE = 2,
+ SAY_KILL_1 = 3,
+ SAY_DIE = 4,
+ SAY_WIPE = 5,
};
enum eSpells
@@ -79,7 +77,7 @@ class boss_omor_the_unscarred : public CreatureScript
void Reset()
{
- DoScriptText(SAY_WIPE, me);
+ Talk(SAY_WIPE);
OrbitalStrike_Timer = 25000;
ShadowWhip_Timer = 2000;
@@ -94,7 +92,7 @@ class boss_omor_the_unscarred : public CreatureScript
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
+ Talk(SAY_AGGRO);
}
void KilledUnit(Unit* /*victim*/)
@@ -102,12 +100,12 @@ class boss_omor_the_unscarred : public CreatureScript
if (rand()%2)
return;
- DoScriptText(SAY_KILL_1, me);
+ Talk(SAY_KILL_1);
}
void JustSummoned(Creature* summoned)
{
- DoScriptText(SAY_SUMMON, me);
+ Talk(SAY_SUMMON);
if (Unit* random = SelectTarget(SELECT_TARGET_RANDOM, 0))
summoned->AI()->AttackStart(random);
@@ -117,7 +115,7 @@ class boss_omor_the_unscarred : public CreatureScript
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DIE, me);
+ Talk(SAY_DIE);
}
void UpdateAI(const uint32 diff)
@@ -192,7 +190,7 @@ class boss_omor_the_unscarred : public CreatureScript
if (Aura_Timer <= diff)
{
- DoScriptText(SAY_CURSE, me);
+ Talk(SAY_CURSE);
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
{
diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp
index f0c4330c9a3..7fa476100d5 100644
--- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp
@@ -39,7 +39,7 @@ enum eSpells
SPELL_REVENGE = 19130,
SPELL_REVENGE_H = 40392,
SPELL_KIDNEY_SHOT = 30621,
- SPELL_FIRE_NOVA_VISUAL = 19823,
+ SPELL_FIRE_NOVA_VISUAL = 19823
};
enum eUnits
@@ -50,20 +50,17 @@ enum eUnits
ENTRY_NAZAN = 17536,
ENTRY_LIQUID_FIRE = 22515,
ENTRY_REINFORCED_FEL_IRON_CHEST = 185168,
- ENTRY_REINFORCED_FEL_IRON_CHEST_H = 185169,
+ ENTRY_REINFORCED_FEL_IRON_CHEST_H = 185169
};
enum eSays
{
- SAY_INTRO = -1543017,
- SAY_WIPE = -1543018,
- SAY_AGGRO_1 = -1543019,
- SAY_AGGRO_2 = -1543020,
- SAY_AGGRO_3 = -1543021,
- SAY_KILL_1 = -1543022,
- SAY_KILL_2 = -1543023,
- SAY_DIE = -1543024,
- EMOTE = -1543025,
+ SAY_INTRO = 0,
+ SAY_WIPE = 1,
+ SAY_AGGRO = 2,
+ SAY_KILL = 3,
+ SAY_DIE = 4,
+ EMOTE = 5
};
const float VazrudenMiddle[3] = {-1406.5f, 1746.5f, 81.2f};
@@ -153,7 +150,7 @@ class boss_nazan : public CreatureScript
if (Unit* victim = SelectTarget(SELECT_TARGET_NEAREST, 0))
me->AI()->AttackStart(victim);
DoStartMovement(me->getVictim());
- DoScriptText(EMOTE, me);
+ Talk(EMOTE);
return;
}
else
@@ -229,19 +226,19 @@ class boss_vazruden : public CreatureScript
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
+ Talk(SAY_AGGRO);
}
void KilledUnit(Unit* who)
{
if (who && who->GetEntry() != ENTRY_VAZRUDEN)
- DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me);
+ Talk(SAY_KILL);
}
void JustDied(Unit* killer)
{
if (killer && killer != me)
- DoScriptText(SAY_DIE, me);
+ Talk(SAY_DIE);
}
void UpdateAI(const uint32 diff)
@@ -252,7 +249,7 @@ class boss_vazruden : public CreatureScript
{
if (!WipeSaid)
{
- DoScriptText(SAY_WIPE, me);
+ Talk(SAY_WIPE);
WipeSaid = true;
}
me->DisappearAndDie();
@@ -364,7 +361,7 @@ class boss_vazruden_the_herald : public CreatureScript
{
phase = 1;
check = 0;
- DoScriptText(SAY_INTRO, me);
+ Talk(SAY_INTRO);
}
}
diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp
index 1d2ecccf3c7..156d5cbae2c 100644
--- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp
@@ -28,15 +28,12 @@ EndScriptData */
enum eSays
{
- SAY_TAUNT = -1543000,
- SAY_HEAL = -1543001,
- SAY_SURGE = -1543002,
- SAY_AGGRO_1 = -1543003,
- SAY_AGGRO_2 = -1543004,
- SAY_AGGRO_3 = -1543005,
- SAY_KILL_1 = -1543006,
- SAY_KILL_2 = -1543007,
- SAY_DIE = -1543008,
+ SAY_TAUNT = 0,
+ SAY_HEAL = 1,
+ SAY_SURGE = 2,
+ SAY_AGGRO = 3,
+ SAY_KILL = 4,
+ SAY_DIE = 5
};
enum eSpells
@@ -81,7 +78,7 @@ class boss_watchkeeper_gargolmar : public CreatureScript
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
+ Talk(SAY_AGGRO);
}
void MoveInLineOfSight(Unit* who)
@@ -99,7 +96,7 @@ class boss_watchkeeper_gargolmar : public CreatureScript
}
else if (!HasTaunted && me->IsWithinDistInMap(who, 60.0f))
{
- DoScriptText(SAY_TAUNT, me);
+ Talk(SAY_TAUNT);
HasTaunted = true;
}
}
@@ -107,12 +104,12 @@ class boss_watchkeeper_gargolmar : public CreatureScript
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me);
+ Talk(SAY_KILL);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DIE, me);
+ Talk(SAY_DIE);
}
void UpdateAI(const uint32 diff)
@@ -130,7 +127,7 @@ class boss_watchkeeper_gargolmar : public CreatureScript
if (Surge_Timer <= diff)
{
- DoScriptText(SAY_SURGE, me);
+ Talk(SAY_SURGE);
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
DoCast(target, SPELL_SURGE);
@@ -155,7 +152,7 @@ class boss_watchkeeper_gargolmar : public CreatureScript
{
if (HealthBelowPct(40))
{
- DoScriptText(SAY_HEAL, me);
+ Talk(SAY_HEAL);
YelledForHeal = true;
}
}
diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
index 94272e4a50f..c5f79a2babd 100644
--- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
@@ -29,36 +29,22 @@ EndScriptData */
#include "Player.h"
#include "SpellInfo.h"
-struct Yell
-{
- int32 id;
-};
-
-static Yell RandomTaunt[]=
-{
- {-1544000},
- {-1544001},
- {-1544002},
- {-1544003},
- {-1544004},
- {-1544005},
-};
-
enum eSays
{
- SAY_FREED = -1544006,
- SAY_AGGRO = -1544007,
- SAY_BANISH = -1544008,
- SAY_CHAMBER_DESTROY = -1544009,
- SAY_PLAYER_KILLED = -1544010,
- SAY_DEATH = -1544011,
+ SAY_TAUNT = 0,
+ SAY_FREED = 1,
+ SAY_AGGRO = 2,
+ SAY_BANISH = 3,
+ SAY_CHAMBER_DESTROY = 4,
+ SAY_PLAYER_KILLED = 5,
+ SAY_DEATH = 6
};
enum eEmotes
{
- EMOTE_BERSERK = -1544012,
- EMOTE_BLASTNOVA = -1544013,
- EMOTE_BEGIN = -1544014,
+ EMOTE_BERSERK = 7,
+ EMOTE_BLASTNOVA = 8,
+ EMOTE_BEGIN = 9
};
enum eCreatures
@@ -309,7 +295,7 @@ class boss_magtheridon : public CreatureScript
// if 5 clickers from other cubes apply shadow cage
if (ClickerNum >= CLICKERS_COUNT && !me->HasAura(SPELL_SHADOW_CAGE))
{
- DoScriptText(SAY_BANISH, me);
+ Talk(SAY_BANISH);
DoCast(me, SPELL_SHADOW_CAGE, true);
}
else
@@ -322,7 +308,7 @@ class boss_magtheridon : public CreatureScript
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(SAY_PLAYER_KILLED, me);
+ Talk(SAY_PLAYER_KILLED);
}
void JustDied(Unit* /*killer*/)
@@ -330,7 +316,7 @@ class boss_magtheridon : public CreatureScript
if (instance)
instance->SetData(DATA_MAGTHERIDON_EVENT, DONE);
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
}
void MoveInLineOfSight(Unit* /*who*/) {}
@@ -350,7 +336,7 @@ class boss_magtheridon : public CreatureScript
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->RemoveAurasDueToSpell(SPELL_SHADOW_CAGE_C);
- DoScriptText(SAY_FREED, me);
+ Talk(SAY_FREED);
}
void UpdateAI(const uint32 diff)
@@ -359,7 +345,7 @@ class boss_magtheridon : public CreatureScript
{
if (RandChat_Timer <= diff)
{
- DoScriptText(RandomTaunt[rand()%6].id, me);
+ Talk(SAY_TAUNT);
RandChat_Timer = 90000;
}
else
@@ -374,7 +360,7 @@ class boss_magtheridon : public CreatureScript
if (Berserk_Timer <= diff)
{
DoCast(me, SPELL_BERSERK, true);
- DoScriptText(EMOTE_BERSERK, me);
+ Talk(EMOTE_BERSERK);
Berserk_Timer = 60000;
}
else
@@ -393,7 +379,7 @@ class boss_magtheridon : public CreatureScript
// to avoid earthquake interruption
if (!me->HasUnitState(UNIT_STATE_STUNNED))
{
- DoScriptText(EMOTE_BLASTNOVA, me);
+ Talk(EMOTE_BLASTNOVA);
DoCast(me, SPELL_BLASTNOVA);
BlastNova_Timer = 60000;
}
@@ -437,7 +423,7 @@ class boss_magtheridon : public CreatureScript
&& !me->HasUnitState(UNIT_STATE_STUNNED)) // shadow cage and earthquake
{
Phase3 = true;
- DoScriptText(SAY_CHAMBER_DESTROY, me);
+ Talk(SAY_CHAMBER_DESTROY);
DoCast(me, SPELL_CAMERA_SHAKE, true);
DoCast(me, SPELL_DEBRIS_KNOCKDOWN, true);
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
index c6434d9a989..e5b6ea71eb0 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
@@ -33,38 +33,15 @@ EndContentData */
#include "ScriptedCreature.h"
#include "shattered_halls.h"
-struct Say
-{
- int32 id;
-};
-
-static Say PeonAttacked[]=
-{
- {-1540001},
- {-1540002},
- {-1540003},
- {-1540004},
-};
-static Say PeonDies[]=
-{
- {-1540005},
- {-1540006},
- {-1540007},
- {-1540008},
-};
-
enum eSays
{
- SAY_INTRO = -1540000,
- SAY_TAUNT_1 = -1540009,
- SAY_TAUNT_2 = -1540010,
- SAY_TAUNT_3 = -1540011,
- SAY_AGGRO_1 = -1540012,
- SAY_AGGRO_2 = -1540013,
- SAY_AGGRO_3 = -1540014,
- SAY_SLAY_1 = -1540015,
- SAY_SLAY_2 = -1540016,
- SAY_DIE = -1540017,
+ SAY_INTRO = 0,
+ SAY_PEON_ATTACKED = 1,
+ SAY_PEON_DIES = 2,
+ SAY_TAUNT = 3,
+ SAY_AGGRO = 4,
+ SAY_SLAY = 5,
+ SAY_DIE = 6
};
enum eSpells
@@ -137,7 +114,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript
if (PeonEngagedCount >= 4)
return;
- DoScriptText(PeonAttacked[PeonEngagedCount].id, me);
+ Talk(SAY_PEON_ATTACKED);
++PeonEngagedCount;
}
@@ -146,7 +123,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript
if (PeonKilledCount >= 4)
return;
- DoScriptText(PeonDies[PeonKilledCount].id, me);
+ Talk(SAY_PEON_DIES);
++PeonKilledCount;
if (PeonKilledCount == 4)
@@ -159,7 +136,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript
void DoTauntPeons()
{
- DoScriptText(RAND(SAY_TAUNT_1, SAY_TAUNT_2, SAY_TAUNT_3), me);
+ Talk(SAY_TAUNT);
//TODO: kill the peons first
IsIntroEvent = false;
@@ -190,7 +167,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript
if (who->GetTypeId() != TYPEID_PLAYER)
return;
- DoScriptText(SAY_INTRO, me);
+ Talk(SAY_INTRO);
IntroOnce = true;
IsIntroEvent = true;
@@ -206,7 +183,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
+ Talk(SAY_AGGRO);
}
void JustSummoned(Creature* summoned)
@@ -222,12 +199,12 @@ class boss_grand_warlock_nethekurse : public CreatureScript
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DIE, me);
+ Talk(SAY_DIE);
if (!instance)
return;
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp
index 3d2d39e9817..5d3ff2abcc5 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp
@@ -34,9 +34,9 @@ EndContentData */
enum eEnums
{
- YELL_DIE_L = -1540039,
- YELL_DIE_R = -1540040,
- EMOTE_ENRAGE = -1540041,
+ YELL_DIE_L = 0,
+ YELL_DIE_R = 1,
+ EMOTE_ENRAGE = 2,
SPELL_BLAST_WAVE = 30600,
SPELL_FEAR = 30584,
@@ -57,49 +57,49 @@ struct Yell
static Yell GoCombat[]=
{
- {-1540018, NPC_LEFT_HEAD},
- {-1540019, NPC_LEFT_HEAD},
- {-1540020, NPC_LEFT_HEAD},
+ {0, NPC_LEFT_HEAD},
+ {1, NPC_LEFT_HEAD},
+ {2, NPC_LEFT_HEAD},
};
static Yell GoCombatDelay[]=
{
- {-1540021, NPC_RIGHT_HEAD},
- {-1540022, NPC_RIGHT_HEAD},
- {-1540023, NPC_RIGHT_HEAD},
+ {0, NPC_RIGHT_HEAD},
+ {1, NPC_RIGHT_HEAD},
+ {2, NPC_RIGHT_HEAD},
};
static Yell Threat[]=
{
- {-1540024, NPC_LEFT_HEAD},
- {-1540025, NPC_RIGHT_HEAD},
- {-1540026, NPC_LEFT_HEAD},
- {-1540027, NPC_LEFT_HEAD},
+ {3, NPC_LEFT_HEAD},
+ {3, NPC_RIGHT_HEAD},
+ {4, NPC_LEFT_HEAD},
+ {5, NPC_LEFT_HEAD},
};
static Yell ThreatDelay1[]=
{
- {-1540028, NPC_RIGHT_HEAD},
- {-1540029, NPC_LEFT_HEAD},
- {-1540030, NPC_RIGHT_HEAD},
- {-1540031, NPC_RIGHT_HEAD},
+ {4, NPC_RIGHT_HEAD},
+ {6, NPC_LEFT_HEAD},
+ {5, NPC_RIGHT_HEAD},
+ {6, NPC_RIGHT_HEAD},
};
static Yell ThreatDelay2[]=
{
- {-1540032, NPC_LEFT_HEAD},
- {-1540033, NPC_RIGHT_HEAD},
- {-1540034, NPC_LEFT_HEAD},
- {-1540035, NPC_LEFT_HEAD},
+ {7, NPC_LEFT_HEAD},
+ {7, NPC_RIGHT_HEAD},
+ {8, NPC_LEFT_HEAD},
+ {9, NPC_LEFT_HEAD},
};
static Yell Killing[]=
{
- {-1540036, NPC_LEFT_HEAD},
- {-1540037, NPC_RIGHT_HEAD},
+ {10, NPC_LEFT_HEAD},
+ {8, NPC_RIGHT_HEAD},
};
static Yell KillingDelay[]=
{
- {-1540038, NPC_RIGHT_HEAD},
- {-1000000, NPC_LEFT_HEAD},
+ {9, NPC_RIGHT_HEAD},
+ {11, NPC_LEFT_HEAD},
};
class mob_omrogg_heads : public CreatureScript
@@ -137,7 +137,7 @@ class mob_omrogg_heads : public CreatureScript
if (Death_Timer <= diff)
{
- DoScriptText(YELL_DIE_R, me);
+ Talk(YELL_DIE_R);
Death_Timer = false;
me->setDeathState(JUST_DIED);
} else Death_Timer -= diff;
@@ -222,17 +222,17 @@ class boss_warbringer_omrogg : public CreatureScript
void DoYellForThreat()
{
- Unit* pLeftHead = Unit::GetUnit(*me, LeftHeadGUID);
- Unit* pRightHead = Unit::GetUnit(*me, RightHeadGUID);
+ Creature* pLeftHead = Creature::GetCreature(*me, LeftHeadGUID);
+ Creature* pRightHead = Unit::GetCreature(*me, RightHeadGUID);
if (!pLeftHead || !pRightHead)
return;
ithreat = rand()%4;
- Unit* source = (pLeftHead->GetEntry() == Threat[ithreat].creature ? pLeftHead : pRightHead);
+ Creature* source = (pLeftHead->GetEntry() == Threat[ithreat].creature ? pLeftHead : pRightHead);
- DoScriptText(Threat[ithreat].id, source);
+ source->AI()->Talk(Threat[ithreat].id);
Delay_Timer = 3500;
ThreatYell = true;
@@ -243,11 +243,11 @@ class boss_warbringer_omrogg : public CreatureScript
me->SummonCreature(NPC_LEFT_HEAD, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_DEAD_DESPAWN, 0);
me->SummonCreature(NPC_RIGHT_HEAD, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_DEAD_DESPAWN, 0);
- if (Unit* pLeftHead = Unit::GetUnit(*me, LeftHeadGUID))
+ if (Creature* pLeftHead = Creature::GetCreature(*me, LeftHeadGUID))
{
iaggro = rand()%3;
- DoScriptText(GoCombat[iaggro].id, pLeftHead);
+ pLeftHead->AI()->Talk(GoCombat[iaggro].id);
Delay_Timer = 3500;
AggroYell = true;
@@ -272,25 +272,25 @@ class boss_warbringer_omrogg : public CreatureScript
void KilledUnit(Unit* /*victim*/)
{
- Unit* pLeftHead = Unit::GetUnit(*me, LeftHeadGUID);
- Unit* pRightHead = Unit::GetUnit(*me, RightHeadGUID);
+ Creature* pLeftHead = Creature::GetCreature(*me, LeftHeadGUID);
+ Creature* pRightHead = Creature::GetCreature(*me, RightHeadGUID);
if (!pLeftHead || !pRightHead)
return;
ikilling = rand()%2;
- Unit* source = (pLeftHead->GetEntry() == Killing[ikilling].creature ? pLeftHead : pRightHead);
+ Creature* source = (pLeftHead->GetEntry() == Killing[ikilling].creature ? pLeftHead : pRightHead);
switch (ikilling)
{
case 0:
- DoScriptText(Killing[ikilling].id, source);
+ source->AI()->Talk(Killing[ikilling].id);
Delay_Timer = 3500;
KillingYell = true;
break;
case 1:
- DoScriptText(Killing[ikilling].id, source);
+ source->AI()->Talk(Killing[ikilling].id);
KillingYell = false;
break;
}
@@ -298,13 +298,13 @@ class boss_warbringer_omrogg : public CreatureScript
void JustDied(Unit* /*killer*/)
{
- Unit* pLeftHead = Unit::GetUnit(*me, LeftHeadGUID);
- Unit* pRightHead = Unit::GetUnit(*me, RightHeadGUID);
+ Creature* pLeftHead = Creature::GetCreature(*me, LeftHeadGUID);
+ Creature* pRightHead = Creature::GetCreature(*me, RightHeadGUID);
if (!pLeftHead || !pRightHead)
return;
- DoScriptText(YELL_DIE_L, pLeftHead);
+ pLeftHead->AI()->Talk(YELL_DIE_L);
CAST_AI(mob_omrogg_heads::mob_omrogg_headsAI, CAST_CRE(pRightHead)->AI())->DoDeathYell();
@@ -318,40 +318,40 @@ class boss_warbringer_omrogg : public CreatureScript
{
Delay_Timer = 3500;
- Unit* pLeftHead = Unit::GetUnit(*me, LeftHeadGUID);
- Unit* pRightHead = Unit::GetUnit(*me, RightHeadGUID);
+ Creature* pLeftHead = Creature::GetCreature(*me, LeftHeadGUID);
+ Creature* pRightHead = Creature::GetCreature(*me, RightHeadGUID);
if (!pLeftHead || !pRightHead)
return;
if (AggroYell)
{
- DoScriptText(GoCombatDelay[iaggro].id, pRightHead);
+ pRightHead->AI()->Talk(GoCombatDelay[iaggro].id);
AggroYell = false;
}
if (ThreatYell2)
{
- Unit* source = (pLeftHead->GetEntry() == ThreatDelay2[ithreat].creature ? pLeftHead : pRightHead);
+ Creature* source = (pLeftHead->GetEntry() == ThreatDelay2[ithreat].creature ? pLeftHead : pRightHead);
- DoScriptText(ThreatDelay2[ithreat].id, source);
+ source->AI()->Talk(ThreatDelay2[ithreat].id);
ThreatYell2 = false;
}
if (ThreatYell)
{
- Unit* source = (pLeftHead->GetEntry() == ThreatDelay1[ithreat].creature ? pLeftHead : pRightHead);
+ Creature* source = (pLeftHead->GetEntry() == ThreatDelay1[ithreat].creature ? pLeftHead : pRightHead);
- DoScriptText(ThreatDelay1[ithreat].id, source);
+ source->AI()->Talk(ThreatDelay1[ithreat].id);
ThreatYell = false;
ThreatYell2 = true;
}
if (KillingYell)
{
- Unit* source = (pLeftHead->GetEntry() == KillingDelay[ikilling].creature ? pLeftHead : pRightHead);
+ Creature* source = (pLeftHead->GetEntry() == KillingDelay[ikilling].creature ? pLeftHead : pRightHead);
- DoScriptText(KillingDelay[ikilling].id, source);
+ source->AI()->Talk(KillingDelay[ikilling].id);
KillingYell = false;
}
} else Delay_Timer -= diff;
@@ -373,7 +373,7 @@ class boss_warbringer_omrogg : public CreatureScript
if (BurningMaul_Timer <= diff)
{
- DoScriptText(EMOTE_ENRAGE, me);
+ Talk(EMOTE_ENRAGE);
DoCast(me, SPELL_BURNING_MAUL);
BurningMaul_Timer = 40000;
BlastWave_Timer = 16000;
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp
index 99f7c69aff2..37cd5666f73 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp
@@ -32,12 +32,9 @@ EndContentData */
enum eSays
{
- SAY_AGGRO1 = -1540042,
- SAY_AGGRO2 = -1540043,
- SAY_AGGRO3 = -1540044,
- SAY_SLAY1 = -1540045,
- SAY_SLAY2 = -1540046,
- SAY_DEATH = -1540047,
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1,
+ SAY_DEATH = 2
};
enum eSpells
@@ -111,7 +108,7 @@ class boss_warchief_kargath_bladefist : public CreatureScript
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(RAND(SAY_AGGRO1, SAY_AGGRO2, SAY_AGGRO3), me);
+ Talk(SAY_AGGRO);
}
void JustSummoned(Creature* summoned)
@@ -134,13 +131,13 @@ class boss_warchief_kargath_bladefist : public CreatureScript
{
if (victim->GetTypeId() == TYPEID_PLAYER)
{
- DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me);
+ Talk(SAY_SLAY);
}
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
removeAdds();
}
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp
index 5b5c3ff2326..91ff608a6c7 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp
@@ -32,15 +32,13 @@ EndScriptData */
enum eEnums
{
- SAY_AGGRO = -1550007,
- SAY_SUMMON1 = -1550008,
- SAY_SUMMON2 = -1550009,
- SAY_KILL1 = -1550010,
- SAY_KILL2 = -1550011,
- SAY_KILL3 = -1550012,
- SAY_DEATH = -1550013,
- SAY_VOIDA = -1550014,
- SAY_VOIDB = -1550015,
+ SAY_AGGRO = 0,
+ SAY_SUMMON1 = 1,
+ SAY_SUMMON2 = 2,
+ SAY_KILL = 3,
+ SAY_DEATH = 4,
+ SAY_VOIDA = 5,
+ SAY_VOIDB = 6,
SPELL_ARCANE_MISSILES = 33031,
SPELL_WRATH_OF_THE_ASTROMANCER = 42783,
@@ -149,21 +147,21 @@ class boss_high_astromancer_solarian : public CreatureScript
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_KILL1, SAY_KILL2, SAY_KILL3), me);
+ Talk(SAY_KILL);
}
void JustDied(Unit* /*killer*/)
{
me->SetObjectScale(defaultsize);
me->SetDisplayId(MODEL_HUMAN);
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
instance->SetData(DATA_HIGHASTROMANCERSOLARIANEVENT, DONE);
}
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
DoZoneInCombat();
if (instance)
@@ -333,7 +331,7 @@ class boss_high_astromancer_solarian : public CreatureScript
for (int j=1; j <= 4; j++)
SummonMinion(NPC_SOLARIUM_AGENT, Portals[i][0], Portals[i][1], Portals[i][2]);
- DoScriptText(SAY_SUMMON1, me);
+ Talk(SAY_SUMMON1);
Phase2_Timer = 10000;
}
else
@@ -360,7 +358,7 @@ class boss_high_astromancer_solarian : public CreatureScript
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetVisible(true);
- DoScriptText(SAY_SUMMON2, me);
+ Talk(SAY_SUMMON2);
AppearDelay = true;
Phase3_Timer = 15000;
}
@@ -394,8 +392,8 @@ class boss_high_astromancer_solarian : public CreatureScript
//To make sure she wont be invisible or not selecatble
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetVisible(true);
- DoScriptText(SAY_VOIDA, me);
- DoScriptText(SAY_VOIDB, me);
+ Talk(SAY_VOIDA);
+ Talk(SAY_VOIDB);
me->SetArmor(WV_ARMOR);
me->SetDisplayId(MODEL_VOIDWALKER);
me->SetObjectScale(defaultsize*2.5f);
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
index 2dbfb7b46c5..e87009737f1 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
@@ -32,42 +32,37 @@ EndScriptData */
enum eEnums
{
//kael'thas Speech
- SAY_INTRO = -1550016,
- SAY_INTRO_CAPERNIAN = -1550017,
- SAY_INTRO_TELONICUS = -1550018,
- SAY_INTRO_THALADRED = -1550019,
- SAY_INTRO_SANGUINAR = -1550020,
- SAY_PHASE2_WEAPON = -1550021,
- SAY_PHASE3_ADVANCE = -1550022,
- SAY_PHASE4_INTRO2 = -1550023,
- SAY_PHASE5_NUTS = -1550024,
- SAY_SLAY1 = -1550025,
- SAY_SLAY2 = -1550026,
- SAY_SLAY3 = -1550027,
- SAY_MINDCONTROL1 = -1550028,
- SAY_MINDCONTROL2 = -1550029,
- SAY_GRAVITYLAPSE1 = -1550030,
- SAY_GRAVITYLAPSE2 = -1550031,
- SAY_SUMMON_PHOENIX1 = -1550032,
- SAY_SUMMON_PHOENIX2 = -1550033,
- SAY_DEATH = -1550034,
+ SAY_INTRO = 0,
+ SAY_INTRO_CAPERNIAN = 1,
+ SAY_INTRO_TELONICUS = 2,
+ SAY_INTRO_THALADRED = 3,
+ SAY_INTRO_SANGUINAR = 4,
+ SAY_PHASE2_WEAPON = 5,
+ SAY_PHASE3_ADVANCE = 6,
+ SAY_PHASE4_INTRO2 = 7,
+ SAY_PHASE5_NUTS = 8,
+ SAY_SLAY = 9,
+ SAY_MINDCONTROL = 10,
+ SAY_GRAVITYLAPSE = 11,
+ SAY_SUMMON_PHOENIX = 12,
+ SAY_DEATH = 13,
//Thaladred the Darkener speech
- SAY_THALADRED_AGGRO = -1550035,
- SAY_THALADRED_DEATH = -1550036,
- EMOTE_THALADRED_GAZE = -1550037,
+ SAY_THALADRED_AGGRO = 0,
+ SAY_THALADRED_DEATH = 1,
+ EMOTE_THALADRED_GAZE = 2,
//Lord Sanguinar speech
- SAY_SANGUINAR_AGGRO = -1550038,
- SAY_SANGUINAR_DEATH = -1550039,
+ SAY_SANGUINAR_AGGRO = 0,
+ SAY_SANGUINAR_DEATH = 1,
//Grand Astromancer Capernian speech
- SAY_CAPERNIAN_AGGRO = -1550040,
- SAY_CAPERNIAN_DEATH = -1550041,
+ SAY_CAPERNIAN_AGGRO = 0,
+ SAY_CAPERNIAN_DEATH = 1,
//Master Engineer Telonicus speech
- SAY_TELONICUS_AGGRO = -1550042,
- SAY_TELONICUS_DEATH = -1550043,
+ SAY_TELONICUS_AGGRO = 0,
+ SAY_TELONICUS_DEATH = 1,
//Phase 2 spells
SPELL_SUMMON_WEAPONS = 36976,
@@ -369,7 +364,7 @@ class boss_kaelthas : public CreatureScript
{
sLog->outError(LOG_FILTER_TSCR, "Kael'Thas One or more advisors missing, Skipping Phases 1-3");
- DoScriptText(SAY_PHASE4_INTRO2, me);
+ Talk(SAY_PHASE4_INTRO2);
Phase = 4;
@@ -385,7 +380,7 @@ class boss_kaelthas : public CreatureScript
{
PrepareAdvisors();
- DoScriptText(SAY_INTRO, me);
+ Talk(SAY_INTRO);
instance->SetData(DATA_KAELTHASEVENT, 1);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
@@ -431,7 +426,7 @@ class boss_kaelthas : public CreatureScript
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me);
+ Talk(SAY_SLAY);
}
void JustSummoned(Creature* summoned)
@@ -456,7 +451,7 @@ class boss_kaelthas : public CreatureScript
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
summons.DespawnAll();
@@ -487,7 +482,7 @@ class boss_kaelthas : public CreatureScript
case 0:
if (Phase_Timer <= diff)
{
- DoScriptText(SAY_INTRO_THALADRED, me);
+ Talk(SAY_INTRO_THALADRED);
//start advisor within 7 seconds
Phase_Timer = 7000;
@@ -521,7 +516,7 @@ class boss_kaelthas : public CreatureScript
if (Advisor && (Advisor->getStandState() == UNIT_STAND_STATE_DEAD))
{
- DoScriptText(SAY_INTRO_SANGUINAR, me);
+ Talk(SAY_INTRO_SANGUINAR);
//start advisor within 12.5 seconds
Phase_Timer = 12500;
@@ -555,7 +550,7 @@ class boss_kaelthas : public CreatureScript
if (Advisor && (Advisor->getStandState() == UNIT_STAND_STATE_DEAD))
{
- DoScriptText(SAY_INTRO_CAPERNIAN, me);
+ Talk(SAY_INTRO_CAPERNIAN);
//start advisor within 7 seconds
Phase_Timer = 7000;
@@ -589,7 +584,7 @@ class boss_kaelthas : public CreatureScript
if (Advisor && (Advisor->getStandState() == UNIT_STAND_STATE_DEAD))
{
- DoScriptText(SAY_INTRO_TELONICUS, me);
+ Talk(SAY_INTRO_TELONICUS);
//start advisor within 8.4 seconds
Phase_Timer = 8400;
@@ -628,7 +623,7 @@ class boss_kaelthas : public CreatureScript
if (instance)
instance->SetData(DATA_KAELTHASEVENT, 2);
- DoScriptText(SAY_PHASE2_WEAPON, me);
+ Talk(SAY_PHASE2_WEAPON);
PhaseSubphase = 0;
Phase_Timer = 3500;
@@ -669,7 +664,7 @@ class boss_kaelthas : public CreatureScript
{
if (Phase_Timer <= diff)
{
- DoScriptText(SAY_PHASE3_ADVANCE, me);
+ Talk(SAY_PHASE3_ADVANCE);
if (instance)
instance->SetData(DATA_KAELTHASEVENT, 3);
Phase = 3;
@@ -705,7 +700,7 @@ class boss_kaelthas : public CreatureScript
if (Phase_Timer <= diff)
{
- DoScriptText(SAY_PHASE4_INTRO2, me);
+ Talk(SAY_PHASE4_INTRO2);
Phase = 4;
if (instance)
@@ -801,7 +796,7 @@ class boss_kaelthas : public CreatureScript
if (Phoenix_Timer <= diff)
{
DoCast(me, SPELL_PHOENIX_ANIMATION);
- DoScriptText(RAND(SAY_SUMMON_PHOENIX1, SAY_SUMMON_PHOENIX2), me);
+ Talk(SAY_SUMMON_PHOENIX);
Phoenix_Timer = 60000;
}
@@ -818,7 +813,7 @@ class boss_kaelthas : public CreatureScript
Phase = 5;
Phase_Timer = 10000;
- DoScriptText(SAY_PHASE5_NUTS, me);
+ Talk(SAY_PHASE5_NUTS);
me->StopMoving();
me->GetMotionMaster()->Clear();
@@ -913,7 +908,7 @@ class boss_kaelthas : public CreatureScript
break;
case 1:
- DoScriptText(RAND(SAY_GRAVITYLAPSE1, SAY_GRAVITYLAPSE2), me);
+ Talk(SAY_GRAVITYLAPSE);
// 2) At that point he will put a Gravity Lapse debuff on everyone
for (i = threatlist.begin(); i != threatlist.end(); ++i)
@@ -1041,14 +1036,14 @@ class boss_thaladred_the_darkener : public CreatureScript
if (!who || FakeDeath)
return;
- DoScriptText(SAY_THALADRED_AGGRO, me);
+ Talk(SAY_THALADRED_AGGRO);
me->AddThreat(who, 5000000.0f);
}
void JustDied(Unit* /*killer*/)
{
if (instance && instance->GetData(DATA_KAELTHASEVENT) == 3)
- DoScriptText(SAY_THALADRED_DEATH, me);
+ Talk(SAY_THALADRED_DEATH);
}
void UpdateAI(const uint32 diff)
@@ -1070,7 +1065,7 @@ class boss_thaladred_the_darkener : public CreatureScript
{
DoResetThreat();
me->AddThreat(target, 5000000.0f);
- DoScriptText(EMOTE_THALADRED_GAZE, me, target);
+ Talk(EMOTE_THALADRED_GAZE, target->GetGUID());
Gaze_Timer = 8500;
}
}
@@ -1134,13 +1129,13 @@ class boss_lord_sanguinar : public CreatureScript
if (!who || FakeDeath)
return;
- DoScriptText(SAY_SANGUINAR_AGGRO, me);
+ Talk(SAY_SANGUINAR_AGGRO);
}
void JustDied(Unit* /*killer*/)
{
if (instance && instance->GetData(DATA_KAELTHASEVENT) == 3)
- DoScriptText(SAY_SANGUINAR_DEATH, me);
+ Talk(SAY_SANGUINAR_DEATH);
}
void UpdateAI(const uint32 diff)
@@ -1205,7 +1200,7 @@ class boss_grand_astromancer_capernian : public CreatureScript
void JustDied(Unit* /*killer*/)
{
if (instance && instance->GetData(DATA_KAELTHASEVENT) == 3)
- DoScriptText(SAY_CAPERNIAN_DEATH, me);
+ Talk(SAY_CAPERNIAN_DEATH);
}
void AttackStart(Unit* who)
@@ -1249,7 +1244,7 @@ class boss_grand_astromancer_capernian : public CreatureScript
{
if (Yell_Timer <= diff)
{
- DoScriptText(SAY_CAPERNIAN_AGGRO, me);
+ Talk(SAY_CAPERNIAN_AGGRO);
Yell = true;
}
else
@@ -1344,7 +1339,7 @@ class boss_master_engineer_telonicus : public CreatureScript
void JustDied(Unit* /*killer*/)
{
if (instance && instance->GetData(DATA_KAELTHASEVENT) == 3)
- DoScriptText(SAY_TELONICUS_DEATH, me);
+ Talk(SAY_TELONICUS_DEATH);
}
void EnterCombat(Unit* who)
@@ -1355,7 +1350,7 @@ class boss_master_engineer_telonicus : public CreatureScript
if (!who || FakeDeath)
return;
- DoScriptText(SAY_TELONICUS_AGGRO, me);
+ Talk(SAY_TELONICUS_AGGRO);
}
void UpdateAI(const uint32 diff)
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp
index 2c778485131..14895f1d898 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp
@@ -29,13 +29,10 @@ EndScriptData */
enum eEnums
{
- SAY_AGGRO = -1550000,
- SAY_SLAY1 = -1550001,
- SAY_SLAY2 = -1550002,
- SAY_SLAY3 = -1550003,
- SAY_DEATH = -1550004,
- SAY_POUNDING1 = -1550005,
- SAY_POUNDING2 = -1550006,
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1,
+ SAY_DEATH = 2,
+ SAY_POUNDING = 3,
SPELL_POUNDING = 34162,
SPELL_ARCANE_ORB = 34172,
@@ -83,12 +80,12 @@ class boss_void_reaver : public CreatureScript
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
DoZoneInCombat();
if (instance)
@@ -97,7 +94,7 @@ class boss_void_reaver : public CreatureScript
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
if (instance)
instance->SetData(DATA_VOIDREAVEREVENT, IN_PROGRESS);
@@ -111,7 +108,7 @@ class boss_void_reaver : public CreatureScript
if (Pounding_Timer <= diff)
{
DoCast(me->getVictim(), SPELL_POUNDING);
- DoScriptText(RAND(SAY_POUNDING1, SAY_POUNDING2), me);
+ Talk(SAY_POUNDING);
Pounding_Timer = 15000; //cast time(3000) + cooldown time(12000)
}
else
diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp
index 83acc1258be..15241e35a4a 100644
--- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp
@@ -28,13 +28,11 @@ EndScriptData */
enum eSays
{
- SAY_AGGRO_1 = -1554006,
- SAY_HAMMER_1 = -1554007,
- SAY_HAMMER_2 = -1554008,
- SAY_SLAY_1 = -1554009,
- SAY_SLAY_2 = -1554010,
- SAY_DEATH_1 = -1554011,
- EMOTE_HAMMER = -1554012,
+ SAY_AGGRO = 0,
+ SAY_HAMMER = 1,
+ SAY_SLAY = 2,
+ SAY_DEATH = 3,
+ EMOTE_HAMMER = 4
};
enum eSpells
@@ -76,7 +74,7 @@ class boss_gatewatcher_iron_hand : public CreatureScript
}
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO_1, me);
+ Talk(SAY_AGGRO);
}
void KilledUnit(Unit* /*victim*/)
@@ -84,12 +82,12 @@ class boss_gatewatcher_iron_hand : public CreatureScript
if (rand()%2)
return;
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH_1, me);
+ Talk(SAY_DEATH);
//TODO: Add door check/open code
}
@@ -112,14 +110,14 @@ class boss_gatewatcher_iron_hand : public CreatureScript
if (Jackhammer_Timer <= diff)
{
//TODO: expect cast this about 5 times in a row (?), announce it by emote only once
- DoScriptText(EMOTE_HAMMER, me);
+ Talk(EMOTE_HAMMER);
DoCast(me->getVictim(), SPELL_JACKHAMMER);
//chance to yell, but not same time as emote (after spell in fact casted)
if (rand()%2)
- return;
+ return;
- DoScriptText(RAND(SAY_HAMMER_1, SAY_HAMMER_2), me);
+ Talk(SAY_HAMMER);
Jackhammer_Timer = 30000;
}
else
diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp
index 02be844711d..1602ea56d93 100644
--- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp
@@ -29,13 +29,11 @@ EndScriptData */
enum eSays
{
- SAY_AGGRO = -1554013,
- SAY_SUMMON = -1554014,
- SAY_DRAGONS_BREATH_1 = -1554015,
- SAY_DRAGONS_BREATH_2 = -1554016,
- SAY_SLAY1 = -1554017,
- SAY_SLAY2 = -1554018,
- SAY_DEATH = -1554019,
+ SAY_AGGRO = 0,
+ SAY_SUMMON = 1,
+ SAY_DRAGONS_BREATH = 2,
+ SAY_SLAY = 3,
+ SAY_DEATH = 4
};
enum eSpells
@@ -92,19 +90,19 @@ class boss_nethermancer_sepethrea : public CreatureScript
if (instance)
instance->SetData(DATA_NETHERMANCER_EVENT, IN_PROGRESS);
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
DoCast(who, SPELL_SUMMON_RAGIN_FLAMES);
- DoScriptText(SAY_SUMMON, me);
+ Talk(SAY_SUMMON);
}
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
instance->SetData(DATA_NETHERMANCER_EVENT, DONE);
}
@@ -140,7 +138,7 @@ class boss_nethermancer_sepethrea : public CreatureScript
{
if (rand()%2)
return;
- DoScriptText(RAND(SAY_DRAGONS_BREATH_1, SAY_DRAGONS_BREATH_2), me);
+ Talk(SAY_DRAGONS_BREATH);
}
dragons_breath_Timer = urand(12000, 22000);
}
diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp
index 622e6e6d7e6..adf1aac0639 100644
--- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp
@@ -28,14 +28,12 @@ EndScriptData */
enum eSays
{
- SAY_AGGRO = -1554020,
- SAY_DOMINATION_1 = -1554021,
- SAY_DOMINATION_2 = -1554022,
- SAY_SUMMON = -1554023,
- SAY_ENRAGE = -1554024,
- SAY_SLAY_1 = -1554025,
- SAY_SLAY_2 = -1554026,
- SAY_DEATH = -1554027,
+ SAY_AGGRO = 0,
+ SAY_DOMINATION = 1,
+ SAY_SUMMON = 2,
+ SAY_ENRAGE = 3,
+ SAY_SLAY = 4,
+ SAY_DEATH = 5
};
// Spells to be casted
enum eSpells
@@ -96,17 +94,17 @@ class boss_pathaleon_the_calculator : public CreatureScript
}
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
}
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
summons.DespawnAll();
}
@@ -135,7 +133,7 @@ class boss_pathaleon_the_calculator : public CreatureScript
if (target && Wraith)
Wraith->AI()->AttackStart(target);
}
- DoScriptText(SAY_SUMMON, me);
+ Talk(SAY_SUMMON);
Summon_Timer = urand(30000, 45000);
}
else
@@ -161,7 +159,7 @@ class boss_pathaleon_the_calculator : public CreatureScript
{
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1))
{
- DoScriptText(RAND(SAY_DOMINATION_1, SAY_DOMINATION_2), me);
+ Talk(SAY_DOMINATION);
DoCast(target, SPELL_DOMINATION);
}
Domination_Timer = urand(25000, 30000);
@@ -184,7 +182,7 @@ class boss_pathaleon_the_calculator : public CreatureScript
if (!Enraged && HealthBelowPct(21))
{
DoCast(me, SPELL_FRENZY);
- DoScriptText(SAY_ENRAGE, me);
+ Talk(SAY_ENRAGE);
Enraged = true;
}
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
index 730bab7e626..8a107090a28 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
@@ -34,16 +34,13 @@ EndContentData */
enum eSays
{
- SAY_INTRO = -1552000,
- SAY_AGGRO = -1552001,
- SAY_KILL_1 = -1552002,
- SAY_KILL_2 = -1552003,
- SAY_MIND_1 = -1552004,
- SAY_MIND_2 = -1552005,
- SAY_FEAR_1 = -1552006,
- SAY_FEAR_2 = -1552007,
- SAY_IMAGE = -1552008,
- SAY_DEATH = -1552009,
+ SAY_INTRO = 0,
+ SAY_AGGRO = 1,
+ SAY_KILL = 2,
+ SAY_MIND = 3,
+ SAY_FEAR = 4,
+ SAY_IMAGE = 5,
+ SAY_DEATH = 6
};
enum eSpells
@@ -115,7 +112,7 @@ class boss_harbinger_skyriss : public CreatureScript
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
instance->SetData(TYPE_HARBINGERSKYRISS, DONE);
}
@@ -139,7 +136,7 @@ class boss_harbinger_skyriss : public CreatureScript
if (victim->GetEntry() == 21436)
return;
- DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me);
+ Talk(SAY_KILL);
}
void DoSplit(uint32 val)
@@ -147,7 +144,7 @@ class boss_harbinger_skyriss : public CreatureScript
if (me->IsNonMeleeSpellCasted(false))
me->InterruptNonMeleeSpells(false);
- DoScriptText(SAY_IMAGE, me);
+ Talk(SAY_IMAGE);
if (val == 66)
DoCast(me, SPELL_66_ILLUSION);
@@ -167,13 +164,13 @@ class boss_harbinger_skyriss : public CreatureScript
switch (Intro_Phase)
{
case 1:
- DoScriptText(SAY_INTRO, me);
+ Talk(SAY_INTRO);
instance->HandleGameObject(instance->GetData64(DATA_SPHERE_SHIELD), true);
++Intro_Phase;
Intro_Timer = 25000;
break;
case 2:
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
if (Unit* mellic = Unit::GetUnit(*me, instance->GetData64(DATA_MELLICHAR)))
{
//should have a better way to do this. possibly spell exist.
@@ -224,7 +221,7 @@ class boss_harbinger_skyriss : public CreatureScript
if (me->IsNonMeleeSpellCasted(false))
return;
- DoScriptText(RAND(SAY_FEAR_1, SAY_FEAR_2), me);
+ Talk(SAY_FEAR);
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1))
DoCast(target, SPELL_FEAR);
@@ -241,7 +238,7 @@ class boss_harbinger_skyriss : public CreatureScript
if (me->IsNonMeleeSpellCasted(false))
return;
- DoScriptText(RAND(SAY_MIND_1, SAY_MIND_2), me);
+ Talk(SAY_MIND);
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1))
DoCast(target, SPELL_DOMINATION);
diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp
index a53f62c96f4..4288061860e 100644
--- a/src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp
+++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp
@@ -28,12 +28,10 @@ EndScriptData */
enum eSays
{
- SAY_AGGRO = -1553000,
- SAY_KILL_1 = -1553001,
- SAY_KILL_2 = -1553002,
- SAY_TREE_1 = -1553003,
- SAY_TREE_2 = -1553004,
- SAY_DEATH = -1553005,
+ SAY_AGGRO = 0,
+ SAY_KILL = 1,
+ SAY_TREE = 2,
+ SAY_DEATH = 3
};
enum eSpells
@@ -83,7 +81,7 @@ class boss_high_botanist_freywinn : public CreatureScript
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
}
void JustSummoned(Creature* summoned)
@@ -105,12 +103,12 @@ class boss_high_botanist_freywinn : public CreatureScript
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me);
+ Talk(SAY_KILL);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
}
void UpdateAI(const uint32 diff)
@@ -120,7 +118,7 @@ class boss_high_botanist_freywinn : public CreatureScript
if (TreeForm_Timer <= diff)
{
- DoScriptText(RAND(SAY_TREE_1, SAY_TREE_2), me);
+ Talk(SAY_TREE);
if (me->IsNonMeleeSpellCasted(false))
me->InterruptNonMeleeSpells(true);
diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp
index ed04c42edc7..3bda920fdeb 100644
--- a/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp
+++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp
@@ -42,7 +42,7 @@ enum eSpells
};
enum eOthers
{
- EMOTE_SUMMON = -1553006,
+ EMOTE_SUMMON = 0,
MODEL_DEFAULT = 13109,
MODEL_ARCANE = 14213,
MODEL_FIRE = 13110,
@@ -175,7 +175,7 @@ class boss_laj : public CreatureScript
{
if (Summon_Timer <= diff)
{
- DoScriptText(EMOTE_SUMMON, me);
+ Talk(EMOTE_SUMMON);
DoSummons();
Summon_Timer = 2500;
}
diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp
index 2937a5b9987..74f10f97754 100644
--- a/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp
+++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp
@@ -28,12 +28,10 @@ EndScriptData */
enum eSays
{
- SAY_AGGRO = -1553007,
- SAY_SLAY_1 = -1553008,
- SAY_SLAY_2 = -1553009,
- SAY_SUMMON_1 = -1553010,
- SAY_SUMMON_2 = -1553011,
- SAY_DEATH = -1553012,
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1,
+ SAY_SUMMON = 2,
+ SAY_DEATH = 3
};
enum eSpells
@@ -162,17 +160,17 @@ class boss_warp_splinter : public CreatureScript
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
}
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
}
void SummonTreants()
@@ -188,7 +186,7 @@ class boss_warp_splinter : public CreatureScript
if (Creature* pTreant = me->SummonCreature(CREATURE_TREANT, treant_pos[i][0], treant_pos[i][1], treant_pos[i][2], O, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 25000))
CAST_AI(mob_warp_splinter_treant::mob_warp_splinter_treantAI, pTreant->AI())->WarpGuid = me->GetGUID();
}
- DoScriptText(RAND(SAY_SUMMON_1, SAY_SUMMON_2), me);
+ Talk(SAY_SUMMON);
}
void UpdateAI(const uint32 diff)
diff --git a/src/server/scripts/Outland/blades_edge_mountains.cpp b/src/server/scripts/Outland/blades_edge_mountains.cpp
index c263ac85ef5..3932b96ad07 100644
--- a/src/server/scripts/Outland/blades_edge_mountains.cpp
+++ b/src/server/scripts/Outland/blades_edge_mountains.cpp
@@ -87,11 +87,12 @@ public:
enum eNetherdrake
{
- SAY_NIHIL_1 = -1000169, //signed for 5955
- SAY_NIHIL_2 = -1000170, //signed for 5955
- SAY_NIHIL_3 = -1000171, //signed for 5955
- SAY_NIHIL_4 = -1000172, //signed for 20021, used by 20021, 21817, 21820, 21821, 21823
- SAY_NIHIL_INTERRUPT = -1000173, //signed for 20021, used by 20021, 21817, 21820, 21821, 21823
+ //Used by 20021, 21817, 21820, 21821, 21823 but not existing in database
+ SAY_NIHIL_1 = 0,
+ SAY_NIHIL_2 = 1,
+ SAY_NIHIL_3 = 2,
+ SAY_NIHIL_4 = 3,
+ SAY_NIHIL_INTERRUPT = 4,
ENTRY_WHELP = 20021,
ENTRY_PROTO = 21821,
@@ -176,7 +177,7 @@ public:
//we are nihil, so say before transform
if (me->GetEntry() == ENTRY_NIHIL)
{
- DoScriptText(SAY_NIHIL_INTERRUPT, me);
+ Talk(SAY_NIHIL_INTERRUPT);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
IsNihil = false;
}
@@ -203,19 +204,19 @@ public:
switch (NihilSpeech_Phase)
{
case 0:
- DoScriptText(SAY_NIHIL_1, me);
+ Talk(SAY_NIHIL_1);
++NihilSpeech_Phase;
break;
case 1:
- DoScriptText(SAY_NIHIL_2, me);
+ Talk(SAY_NIHIL_2);
++NihilSpeech_Phase;
break;
case 2:
- DoScriptText(SAY_NIHIL_3, me);
+ Talk(SAY_NIHIL_3);
++NihilSpeech_Phase;
break;
case 3:
- DoScriptText(SAY_NIHIL_4, me);
+ Talk(SAY_NIHIL_4);
++NihilSpeech_Phase;
break;
case 4:
@@ -266,7 +267,7 @@ public:
enum eDaranelle
{
- SAY_SPELL_INFLUENCE = -1000174,
+ SAY_SPELL_INFLUENCE = 0,
SPELL_LASHHAN_CHANNEL = 36904
};
@@ -294,7 +295,7 @@ public:
{
if (who->HasAura(SPELL_LASHHAN_CHANNEL) && me->IsWithinDistInMap(who, 10.0f))
{
- DoScriptText(SAY_SPELL_INFLUENCE, me, who);
+ Talk(SAY_SPELL_INFLUENCE, who->GetGUID());
//TODO: Move the below to updateAI and run if this statement == true
DoCast(who, 37028, true);
}
diff --git a/src/server/scripts/Outland/hellfire_peninsula.cpp b/src/server/scripts/Outland/hellfire_peninsula.cpp
index 4da98281eb2..7ac90320347 100644
--- a/src/server/scripts/Outland/hellfire_peninsula.cpp
+++ b/src/server/scripts/Outland/hellfire_peninsula.cpp
@@ -46,8 +46,8 @@ EndContentData */
enum eAeranas
{
- SAY_SUMMON = -1000138,
- SAY_FREE = -1000139,
+ SAY_SUMMON = 0,
+ SAY_FREE = 1,
FACTION_HOSTILE = 16,
FACTION_FRIENDLY = 35,
@@ -85,7 +85,7 @@ public:
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
me->setFaction(FACTION_FRIENDLY);
- DoScriptText(SAY_SUMMON, me);
+ Talk(SAY_SUMMON);
}
void UpdateAI(const uint32 diff)
@@ -109,7 +109,7 @@ public:
me->RemoveAllAuras();
me->DeleteThreatList();
me->CombatStop(true);
- DoScriptText(SAY_FREE, me);
+ Talk(SAY_FREE);
return;
}
@@ -136,9 +136,9 @@ public:
enum eAncestralWolf
{
- EMOTE_WOLF_LIFT_HEAD = -1000496,
- EMOTE_WOLF_HOWL = -1000497,
- SAY_WOLF_WELCOME = -1000498,
+ EMOTE_WOLF_LIFT_HEAD = 0,
+ EMOTE_WOLF_HOWL = 1,
+ SAY_WOLF_WELCOME = 2,
SPELL_ANCESTRAL_WOLF_BUFF = 29981,
@@ -168,7 +168,7 @@ public:
Reset();
}
- Unit* pRyga;
+ Creature* pRyga;
void Reset()
{
@@ -178,8 +178,9 @@ public:
void MoveInLineOfSight(Unit* who)
{
- if (!pRyga && who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == NPC_RYGA && me->IsWithinDistInMap(who, 15.0f))
- pRyga = who;
+ if (!pRyga && who->GetEntry() == NPC_RYGA && me->IsWithinDistInMap(who, 15.0f))
+ if (Creature* temp = who->ToCreature())
+ pRyga = temp;
npc_escortAI::MoveInLineOfSight(who);
}
@@ -189,14 +190,14 @@ public:
switch (waypointId)
{
case 0:
- DoScriptText(EMOTE_WOLF_LIFT_HEAD, me);
+ Talk(EMOTE_WOLF_LIFT_HEAD);
break;
case 2:
- DoScriptText(EMOTE_WOLF_HOWL, me);
+ Talk(EMOTE_WOLF_HOWL);
break;
case 50:
if (pRyga && pRyga->isAlive() && !pRyga->isInCombat())
- DoScriptText(SAY_WOLF_WELCOME, pRyga);
+ pRyga->AI()->Talk(SAY_WOLF_WELCOME);
break;
}
}
@@ -368,12 +369,12 @@ public:
enum eWoundedBloodElf
{
- SAY_ELF_START = -1000117,
- SAY_ELF_SUMMON1 = -1000118,
- SAY_ELF_RESTING = -1000119,
- SAY_ELF_SUMMON2 = -1000120,
- SAY_ELF_COMPLETE = -1000121,
- SAY_ELF_AGGRO = -1000122,
+ SAY_ELF_START = 0,
+ SAY_ELF_SUMMON1 = 1,
+ SAY_ELF_RESTING = 2,
+ SAY_ELF_SUMMON2 = 3,
+ SAY_ELF_COMPLETE = 4,
+ SAY_ELF_AGGRO = 5,
QUEST_ROAD_TO_FALCON_WATCH = 9375
};
@@ -415,25 +416,25 @@ public:
switch (waypointId)
{
case 0:
- DoScriptText(SAY_ELF_START, me, player);
+ Talk(SAY_ELF_START, player->GetGUID());
break;
case 9:
- DoScriptText(SAY_ELF_SUMMON1, me, player);
+ Talk(SAY_ELF_SUMMON1, player->GetGUID());
// Spawn two Haal'eshi Talonguard
DoSpawnCreature(16967, -15, -15, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
DoSpawnCreature(16967, -17, -17, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
break;
case 13:
- DoScriptText(SAY_ELF_RESTING, me, player);
+ Talk(SAY_ELF_RESTING, player->GetGUID());
break;
case 14:
- DoScriptText(SAY_ELF_SUMMON2, me, player);
+ Talk(SAY_ELF_SUMMON2, player->GetGUID());
// Spawn two Haal'eshi Windwalker
DoSpawnCreature(16966, -15, -15, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
DoSpawnCreature(16966, -17, -17, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
break;
case 27:
- DoScriptText(SAY_ELF_COMPLETE, me, player);
+ Talk(SAY_ELF_COMPLETE, player->GetGUID());
// Award quest credit
player->GroupEventHappens(QUEST_ROAD_TO_FALCON_WATCH, me);
break;
@@ -445,7 +446,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
if (HasEscortState(STATE_ESCORT_ESCORTING))
- DoScriptText(SAY_ELF_AGGRO, me);
+ Talk(SAY_ELF_AGGRO);
}
void JustSummoned(Creature* summoned)
diff --git a/src/server/scripts/Outland/nagrand.cpp b/src/server/scripts/Outland/nagrand.cpp
index 0c9a60603f5..54565553e94 100644
--- a/src/server/scripts/Outland/nagrand.cpp
+++ b/src/server/scripts/Outland/nagrand.cpp
@@ -149,13 +149,13 @@ public:
enum eMagharCaptive
{
- SAY_MAG_START = -1000482,
- SAY_MAG_NO_ESCAPE = -1000483,
- SAY_MAG_MORE = -1000484,
- SAY_MAG_MORE_REPLY = -1000485,
- SAY_MAG_LIGHTNING = -1000486,
- SAY_MAG_SHOCK = -1000487,
- SAY_MAG_COMPLETE = -1000488,
+ SAY_MAG_START = 0,
+ SAY_MAG_NO_ESCAPE = 0,
+ SAY_MAG_MORE = 1,
+ SAY_MAG_MORE_REPLY = 0,
+ SAY_MAG_LIGHTNING = 2,
+ SAY_MAG_SHOCK = 3,
+ SAY_MAG_COMPLETE = 4,
SPELL_CHAIN_LIGHTNING = 16006,
SPELL_EARTHBIND_TOTEM = 15786,
@@ -189,7 +189,7 @@ public:
pEscortAI->Start(true, false, player->GetGUID(), quest);
- DoScriptText(SAY_MAG_START, creature);
+ creature->AI()->Talk(SAY_MAG_START);
creature->SummonCreature(NPC_MURK_RAIDER, m_afAmbushA[0]+2.5f, m_afAmbushA[1]-2.5f, m_afAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
creature->SummonCreature(NPC_MURK_PUTRIFIER, m_afAmbushA[0]-2.5f, m_afAmbushA[1]+2.5f, m_afAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
@@ -229,17 +229,17 @@ public:
switch (waypointId)
{
case 7:
- DoScriptText(SAY_MAG_MORE, me);
+ Talk(SAY_MAG_MORE);
if (Creature* temp = me->SummonCreature(NPC_MURK_PUTRIFIER, m_afAmbushB[0], m_afAmbushB[1], m_afAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000))
- DoScriptText(SAY_MAG_MORE_REPLY, temp);
+ temp->AI()->Talk(SAY_MAG_MORE_REPLY);
me->SummonCreature(NPC_MURK_PUTRIFIER, m_afAmbushB[0]-2.5f, m_afAmbushB[1]-2.5f, m_afAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
me->SummonCreature(NPC_MURK_SCAVENGER, m_afAmbushB[0]+2.5f, m_afAmbushB[1]+2.5f, m_afAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
me->SummonCreature(NPC_MURK_SCAVENGER, m_afAmbushB[0]+2.5f, m_afAmbushB[1]-2.5f, m_afAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
break;
case 16:
- DoScriptText(SAY_MAG_COMPLETE, me);
+ Talk(SAY_MAG_COMPLETE);
if (Player* player = GetPlayerForEscort())
player->GroupEventHappens(QUEST_TOTEM_KARDASH_H, me);
@@ -252,7 +252,7 @@ public:
void JustSummoned(Creature* summoned)
{
if (summoned->GetEntry() == NPC_MURK_BRUTE)
- DoScriptText(SAY_MAG_NO_ESCAPE, summoned);
+ summoned->AI()->Talk(SAY_MAG_NO_ESCAPE);
if (summoned->isTotem())
return;
@@ -270,7 +270,7 @@ public:
if (rand()%10)
return;
- DoScriptText(SAY_MAG_LIGHTNING, me);
+ Talk(SAY_MAG_LIGHTNING);
}
}
@@ -367,18 +367,18 @@ enum CorkiData
NPC_CORKI = 18445,
NPC_CORKI_CREDIT_1 = 18369,
GO_CORKIS_PRISON = 182349,
- CORKI_SAY_THANKS = -1800071,
+ CORKI_SAY_THANKS = 0,
// 2nd quest
QUEST_CORKIS_GONE_MISSING_AGAIN = 9924,
NPC_CORKI_2 = 20812,
GO_CORKIS_PRISON_2 = 182350,
- CORKI_SAY_PROMISE = -1800072,
+ CORKI_SAY_PROMISE = 0,
// 3rd quest
QUEST_CHOWAR_THE_PILLAGER = 9955,
NPC_CORKI_3 = 18369,
NPC_CORKI_CREDIT_3 = 18444,
GO_CORKIS_PRISON_3 = 182521,
- CORKI_SAY_LAST = -1800073
+ CORKI_SAY_LAST = 0
};
class go_corkis_prison : public GameObjectScript
@@ -468,11 +468,11 @@ public:
Say_Timer = 5000;
ReleasedFromCage = true;
if (me->GetEntry() == NPC_CORKI)
- DoScriptText(CORKI_SAY_THANKS, me);
+ Talk(CORKI_SAY_THANKS);
if (me->GetEntry() == NPC_CORKI_2)
- DoScriptText(CORKI_SAY_PROMISE, me);
+ Talk(CORKI_SAY_PROMISE);
if (me->GetEntry() == NPC_CORKI_3)
- DoScriptText(CORKI_SAY_LAST, me);
+ Talk(CORKI_SAY_LAST);
}
};
};
@@ -521,7 +521,7 @@ public:
{
creature->SetStandState(UNIT_STAND_STATE_STAND);
EscortAI->Start(true, false, player->GetGUID(), quest);
- DoScriptText(SAY_KUR_START, creature);
+ creature->AI()->Talk(SAY_KUR_START);
creature->SummonCreature(NPC_KUR_MURK_RAIDER, kurenaiAmbushA[0]+2.5f, kurenaiAmbushA[1]-2.5f, kurenaiAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
creature->SummonCreature(NPC_KUR_MURK_BRUTE, kurenaiAmbushA[0]-2.5f, kurenaiAmbushA[1]+2.5f, kurenaiAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
diff --git a/src/server/scripts/Outland/netherstorm.cpp b/src/server/scripts/Outland/netherstorm.cpp
index eaea4960712..96f707b06f1 100644
--- a/src/server/scripts/Outland/netherstorm.cpp
+++ b/src/server/scripts/Outland/netherstorm.cpp
@@ -45,12 +45,12 @@ EndContentData */
//used by 20209, 20417, 20418, 20440, signed for 20209
enum eManaforgeConsoleData
{
- EMOTE_START = -1000211,
- EMOTE_60 = -1000212,
- EMOTE_30 = -1000213,
- EMOTE_10 = -1000214,
- EMOTE_COMPLETE = -1000215,
- EMOTE_ABORT = -1000216,
+ EMOTE_START = 0,
+ EMOTE_60 = 1,
+ EMOTE_30 = 2,
+ EMOTE_10 = 3,
+ EMOTE_COMPLETE = 4,
+ EMOTE_ABORT = 5,
ENTRY_BNAAR_C_CONSOLE = 20209,
ENTRY_CORUU_C_CONSOLE = 20417,
@@ -114,7 +114,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(EMOTE_ABORT, me);
+ Talk(EMOTE_ABORT);
if (someplayer)
{
@@ -247,31 +247,32 @@ public:
if (someplayer)
{
Unit* u = Unit::GetUnit(*me, someplayer);
- if (u && u->GetTypeId() == TYPEID_PLAYER) DoScriptText(EMOTE_START, me, u);
+ if (u && u->GetTypeId() == TYPEID_PLAYER)
+ Talk(EMOTE_START, u->GetGUID());
}
Event_Timer = 60000;
Wave = true;
++Phase;
break;
case 2:
- DoScriptText(EMOTE_60, me);
+ Talk(EMOTE_60);
Event_Timer = 30000;
++Phase;
break;
case 3:
- DoScriptText(EMOTE_30, me);
+ Talk(EMOTE_30);
Event_Timer = 20000;
DoFinalSpawnForCreature(me);
++Phase;
break;
case 4:
- DoScriptText(EMOTE_10, me);
+ Talk(EMOTE_10);
Event_Timer = 10000;
Wave = false;
++Phase;
break;
case 5:
- DoScriptText(EMOTE_COMPLETE, me);
+ Talk(EMOTE_COMPLETE);
if (someplayer)
{
Unit* u = Unit::GetUnit(*me, someplayer);
@@ -361,18 +362,20 @@ public:
// The Speech of Dawnforge, Ardonis & Pathaleon
enum eCommanderDawnforgeData
{
- SAY_COMMANDER_DAWNFORGE_1 = -1000128,
- SAY_ARCANIST_ARDONIS_1 = -1000129,
- SAY_COMMANDER_DAWNFORGE_2 = -1000130,
- SAY_PATHALEON_CULATOR_IMAGE_1 = -1000131,
- SAY_COMMANDER_DAWNFORGE_3 = -1000132,
- SAY_PATHALEON_CULATOR_IMAGE_2 = -1000133,
- SAY_PATHALEON_CULATOR_IMAGE_2_1 = -1000134,
- SAY_PATHALEON_CULATOR_IMAGE_2_2 = -1000135,
- SAY_COMMANDER_DAWNFORGE_4 = -1000136,
- SAY_ARCANIST_ARDONIS_2 = -1000136,
- SAY_COMMANDER_DAWNFORGE_5 = -1000137,
-
+ SAY_COMMANDER_DAWNFORGE_1 = 0,
+ SAY_COMMANDER_DAWNFORGE_2 = 1,
+ SAY_COMMANDER_DAWNFORGE_3 = 2,
+ SAY_COMMANDER_DAWNFORGE_4 = 3,
+ SAY_COMMANDER_DAWNFORGE_5 = 4,
+
+ SAY_ARCANIST_ARDONIS_1 = 0,
+ SAY_ARCANIST_ARDONIS_2 = 1,
+
+ SAY_PATHALEON_CULATOR_IMAGE_1 = 0,
+ SAY_PATHALEON_CULATOR_IMAGE_2 = 1,
+ SAY_PATHALEON_CULATOR_IMAGE_2_1 = 2,
+ SAY_PATHALEON_CULATOR_IMAGE_2_2 = 3,
+
QUEST_INFO_GATHERING = 10198,
SPELL_SUNFURY_DISGUISE = 34603,
};
@@ -516,8 +519,8 @@ public:
return;
}
- Unit* ardonis = Unit::GetUnit(*me, ardonisGUID);
- Unit* pathaleon = Unit::GetUnit(*me, pathaleonGUID);
+ Creature* ardonis = Creature::GetCreature(*me, ardonisGUID);
+ Creature* pathaleon = Creature::GetCreature(*me, pathaleonGUID);
Player* player = Unit::GetPlayer(*me, PlayerGUID);
if (!ardonis || !player)
@@ -536,19 +539,19 @@ public:
switch (Phase)
{
case 1:
- DoScriptText(SAY_COMMANDER_DAWNFORGE_1, me);
+ Talk(SAY_COMMANDER_DAWNFORGE_1);
++Phase;
Phase_Timer = 16000;
break;
//Phase 2 Ardonis say
case 2:
- DoScriptText(SAY_ARCANIST_ARDONIS_1, ardonis);
+ ardonis->AI()->Talk(SAY_ARCANIST_ARDONIS_1);
++Phase;
Phase_Timer = 16000;
break;
//Phase 3 Dawnforge say
case 3:
- DoScriptText(SAY_COMMANDER_DAWNFORGE_2, me);
+ Talk(SAY_COMMANDER_DAWNFORGE_2);
++Phase;
Phase_Timer = 16000;
break;
@@ -561,7 +564,7 @@ public:
break;
//Phase 5 Pathaleon say
case 5:
- DoScriptText(SAY_PATHALEON_CULATOR_IMAGE_1, pathaleon);
+ pathaleon->AI()->Talk(SAY_PATHALEON_CULATOR_IMAGE_1);
++Phase;
Phase_Timer = 6000;
break;
@@ -577,7 +580,7 @@ public:
break;
//Subphase 2 Dawnforge say
case 1:
- DoScriptText(SAY_COMMANDER_DAWNFORGE_3, me);
+ Talk(SAY_COMMANDER_DAWNFORGE_3);
PhaseSubphase = 0;
++Phase;
Phase_Timer = 8000;
@@ -590,19 +593,19 @@ public:
{
//Subphase 1
case 0:
- DoScriptText(SAY_PATHALEON_CULATOR_IMAGE_2, pathaleon);
+ pathaleon->AI()->Talk(SAY_PATHALEON_CULATOR_IMAGE_2);
++PhaseSubphase;
Phase_Timer = 12000;
break;
//Subphase 2
case 1:
- DoScriptText(SAY_PATHALEON_CULATOR_IMAGE_2_1, pathaleon);
+ pathaleon->AI()->Talk(SAY_PATHALEON_CULATOR_IMAGE_2_1);
++PhaseSubphase;
Phase_Timer = 16000;
break;
//Subphase 3
case 2:
- DoScriptText(SAY_PATHALEON_CULATOR_IMAGE_2_2, pathaleon);
+ pathaleon->AI()->Talk(SAY_PATHALEON_CULATOR_IMAGE_2_2);
PhaseSubphase = 0;
++Phase;
Phase_Timer = 10000;
@@ -611,8 +614,8 @@ public:
break;
//Phase 8 Dawnforge & Ardonis say
case 8:
- DoScriptText(SAY_COMMANDER_DAWNFORGE_4, me);
- DoScriptText(SAY_ARCANIST_ARDONIS_2, ardonis);
+ Talk(SAY_COMMANDER_DAWNFORGE_4);
+ ardonis->AI()->Talk(SAY_ARCANIST_ARDONIS_2);
++Phase;
Phase_Timer = 4000;
break;
@@ -627,7 +630,7 @@ public:
break;
//Phase 10 Dawnforge say
case 10:
- DoScriptText(SAY_COMMANDER_DAWNFORGE_5, me);
+ Talk(SAY_COMMANDER_DAWNFORGE_5);
player->AreaExploredOrEventHappens(QUEST_INFO_GATHERING);
Reset();
break;
@@ -667,7 +670,7 @@ enum eProfessorDabiriData
{
SPELL_PHASE_DISTRUPTOR = 35780,
- WHISPER_DABIRI = -1000522,
+ //WHISPER_DABIRI = 0, not existing in database
QUEST_DIMENSIUS = 10439,
QUEST_ON_NETHERY_WINGS = 10438,
@@ -680,13 +683,9 @@ class npc_professor_dabiri : public CreatureScript
public:
npc_professor_dabiri() : CreatureScript("npc_professor_dabiri") { }
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest)
- {
- if (quest->GetQuestId() == QUEST_DIMENSIUS)
- DoScriptText(WHISPER_DABIRI, creature, player);
-
- return true;
- }
+ //OnQuestAccept:
+ //if (quest->GetQuestId() == QUEST_DIMENSIUS)
+ //creature->AI()->Talk(WHISPER_DABIRI, player->GetGUID());
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
{
@@ -725,7 +724,7 @@ enum ePhaseHunterData
NPC_PHASE_HUNTER_ENTRY = 18879,
NPC_DRAINED_PHASE_HUNTER_ENTRY = 19595,
- EMOTE_WEAK = -1000303,
+ EMOTE_WEAK = 0,
// Spells
SPELL_RECHARGING_BATTERY = 34219,
@@ -827,7 +826,7 @@ public:
if (!Weak && HealthBelowPct(WeakPercent)
&& player->GetQuestStatus(QUEST_RECHARGING_THE_BATTERIES) == QUEST_STATUS_INCOMPLETE)
{
- DoScriptText(EMOTE_WEAK, me);
+ Talk(EMOTE_WEAK);
Weak = true;
}
if (Weak && !Drained && me->HasAura(SPELL_RECHARGING_BATTERY))
@@ -857,8 +856,8 @@ enum eBessyData
N_THADELL = 20464,
SPAWN_FIRST = 20512,
SPAWN_SECOND = 19881,
- SAY_THADELL_1 = -1000524,
- SAY_THADELL_2 = -1000525,
+ SAY_THADELL_1 = 0,
+ SAY_THADELL_2 = 1,
};
class npc_bessy : public CreatureScript
@@ -912,11 +911,11 @@ public:
case 12:
player->GroupEventHappens(Q_ALMABTRIEB, me);
if (me->FindNearestCreature(N_THADELL, 30))
- DoScriptText(SAY_THADELL_1, me);
+ Talk(SAY_THADELL_1);
break;
case 13:
if (me->FindNearestCreature(N_THADELL, 30))
- DoScriptText(SAY_THADELL_2, me, player);
+ Talk(SAY_THADELL_2, player->GetGUID());
break;
}
}
diff --git a/src/server/scripts/Outland/shadowmoon_valley.cpp b/src/server/scripts/Outland/shadowmoon_valley.cpp
index dc91fb2c14f..55fce0c4a8d 100644
--- a/src/server/scripts/Outland/shadowmoon_valley.cpp
+++ b/src/server/scripts/Outland/shadowmoon_valley.cpp
@@ -55,7 +55,7 @@ EndContentData */
enum eMatureNetherwing
{
- SAY_JUST_EATEN = -1000175,
+ SAY_JUST_EATEN = 0,
SPELL_PLACE_CARCASS = 38439,
SPELL_JUST_EATEN = 38502,
@@ -152,7 +152,7 @@ public:
else if (bIsEating)
{
DoCast(me, SPELL_JUST_EATEN);
- DoScriptText(SAY_JUST_EATEN, me);
+ Talk(SAY_JUST_EATEN);
if (Player* pPlr = Unit::GetPlayer(*me, uiPlayerGUID))
{
@@ -674,25 +674,25 @@ enum eOverlordData
SPELL_THREE = 40216, // Dragonaw Faction
SPELL_FOUR = 42016, // Dragonaw Trasform
- OVERLORD_SAY_1 = -1000606,
- OVERLORD_SAY_2 = -1000607,
- OVERLORD_SAY_3 = -1000608, //signed for 28315
- OVERLORD_SAY_4 = -1000609,
- OVERLORD_SAY_5 = -1000610,
- OVERLORD_SAY_6 = -1000611,
-
- OVERLORD_YELL_1 = -1000612,
- OVERLORD_YELL_2 = -1000613,
-
- LORD_ILLIDAN_SAY_1 = -1000614,
- LORD_ILLIDAN_SAY_2 = -1000615,
- LORD_ILLIDAN_SAY_3 = -1000616,
- LORD_ILLIDAN_SAY_4 = -1000617,
- LORD_ILLIDAN_SAY_5 = -1000618,
- LORD_ILLIDAN_SAY_6 = -1000619,
- LORD_ILLIDAN_SAY_7 = -1000620,
-
- YARZILL_THE_MERC_SAY = -1000621,
+ OVERLORD_SAY_1 = 0,
+ OVERLORD_SAY_2 = 1,
+ //OVERLORD_SAY_3 = 2,
+ OVERLORD_SAY_4 = 3,
+ OVERLORD_SAY_5 = 4,
+ OVERLORD_SAY_6 = 5,
+
+ OVERLORD_YELL_1 = 6,
+ OVERLORD_YELL_2 = 7,
+
+ LORD_ILLIDAN_SAY_1 = 0,
+ LORD_ILLIDAN_SAY_2 = 1,
+ LORD_ILLIDAN_SAY_3 = 2,
+ LORD_ILLIDAN_SAY_4 = 3,
+ LORD_ILLIDAN_SAY_5 = 4,
+ LORD_ILLIDAN_SAY_6 = 5,
+ LORD_ILLIDAN_SAY_7 = 6,
+
+ YARZILL_THE_MERC_SAY = 0
};
class npc_overlord_morghor : public CreatureScript
@@ -754,7 +754,7 @@ public:
{
Player* player = Unit::GetPlayer(*me, PlayerGUID);
if (player)
- DoScriptText(OVERLORD_SAY_1, me, player);
+ Talk(OVERLORD_SAY_1, player->GetGUID());
}
ConversationTimer = 4200;
Step = 0;
@@ -764,7 +764,7 @@ public:
uint32 NextStep(uint32 Step)
{
Player* player = Unit::GetPlayer(*me, PlayerGUID);
- Unit* Illi = Unit::GetUnit(*me, IllidanGUID);
+ Creature* Illi = Creature::GetCreature(*me, IllidanGUID);
if (!player || !Illi)
{
@@ -782,7 +782,7 @@ public:
return 9000;
break;
case 2:
- DoScriptText(OVERLORD_YELL_1, me, player);
+ Talk(OVERLORD_YELL_1, player->GetGUID());
return 4500;
break;
case 3:
@@ -790,7 +790,7 @@ public:
return 3200;
break;
case 4:
- DoScriptText(OVERLORD_SAY_2, me, player);
+ Talk(OVERLORD_SAY_2, player->GetGUID());
return 2000;
break;
case 5:
@@ -805,31 +805,27 @@ public:
return 2000;
break;
case 7:
- DoScriptText(OVERLORD_YELL_2, me);
+ Talk(OVERLORD_YELL_2);
return 4500;
break;
case 8:
me->SetUInt32Value(UNIT_FIELD_BYTES_1, 8);
- return 2500;
- break;
- case 9:
- DoScriptText(OVERLORD_SAY_3, me);
- return 6500;
+ return 9000;
break;
case 10:
- DoScriptText(LORD_ILLIDAN_SAY_1, Illi);
+ Illi->AI()->Talk(LORD_ILLIDAN_SAY_1);
return 5000;
break;
case 11:
- DoScriptText(OVERLORD_SAY_4, me, player);
+ Talk(OVERLORD_SAY_4, player->GetGUID());
return 6000;
break;
case 12:
- DoScriptText(LORD_ILLIDAN_SAY_2, Illi);
+ Illi->AI()->Talk(LORD_ILLIDAN_SAY_2);
return 5500;
break;
case 13:
- DoScriptText(LORD_ILLIDAN_SAY_3, Illi);
+ Illi->AI()->Talk(LORD_ILLIDAN_SAY_3);
return 4000;
break;
case 14:
@@ -837,7 +833,7 @@ public:
return 1500;
break;
case 15:
- DoScriptText(LORD_ILLIDAN_SAY_4, Illi);
+ Illi->AI()->Talk(LORD_ILLIDAN_SAY_4);
return 1500;
break;
case 16:
@@ -847,15 +843,15 @@ public:
return 5000;
break;
case 17:
- DoScriptText(LORD_ILLIDAN_SAY_5, Illi);
+ Illi->AI()->Talk(LORD_ILLIDAN_SAY_5);
return 5000;
break;
case 18:
- DoScriptText(LORD_ILLIDAN_SAY_6, Illi);
+ Illi->AI()->Talk(LORD_ILLIDAN_SAY_6);
return 5000;
break;
case 19:
- DoScriptText(LORD_ILLIDAN_SAY_7, Illi);
+ Illi->AI()->Talk(LORD_ILLIDAN_SAY_7);
return 5000;
break;
case 20:
@@ -864,7 +860,7 @@ public:
return 500;
break;
case 21:
- DoScriptText(OVERLORD_SAY_5, me);
+ Talk(OVERLORD_SAY_5);
return 500;
break;
case 22:
@@ -881,7 +877,7 @@ public:
return 5000;
break;
case 25:
- DoScriptText(OVERLORD_SAY_6, me);
+ Talk(OVERLORD_SAY_6);
return 2000;
break;
case 26:
@@ -905,24 +901,21 @@ public:
break;
case 29:
{
- Unit* Yarzill = me->FindNearestCreature(C_YARZILL, 50);
- if (Yarzill)
- DoScriptText(YARZILL_THE_MERC_SAY, Yarzill, player);
+ if (Creature* Yarzill = me->FindNearestCreature(C_YARZILL, 50.0f))
+ Yarzill->AI()->Talk(YARZILL_THE_MERC_SAY, player->GetGUID());
return 5000;
}
break;
case 30:
{
- Unit* Yarzill = me->FindNearestCreature(C_YARZILL, 50);
- if (Yarzill)
+ if (Creature* Yarzill = me->FindNearestCreature(C_YARZILL, 50.0f))
Yarzill->SetTarget(0);
return 5000;
}
break;
case 31:
{
- Unit* Yarzill = me->FindNearestCreature(C_YARZILL, 50);
- if (Yarzill)
+ if (Creature* Yarzill = me->FindNearestCreature(C_YARZILL, 50.0f))
Yarzill->CastSpell(player, 41540, true);
return 1000;
}
@@ -960,16 +953,13 @@ public:
enum eEarthmender
{
- SAY_WIL_START = -1000381,
- SAY_WIL_AGGRO1 = -1000382,
- SAY_WIL_AGGRO2 = -1000383,
- SAY_WIL_PROGRESS1 = -1000384,
- SAY_WIL_PROGRESS2 = -1000385,
- SAY_WIL_FIND_EXIT = -1000386,
- SAY_WIL_PROGRESS4 = -1000387,
- SAY_WIL_PROGRESS5 = -1000388,
- SAY_WIL_JUST_AHEAD = -1000389,
- SAY_WIL_END = -1000390,
+ SAY_WIL_START = 0,
+ SAY_WIL_AGGRO = 1,
+ SAY_WIL_PROGRESS1 = 2,
+ SAY_WIL_PROGRESS2 = 3,
+ SAY_WIL_FIND_EXIT = 4,
+ SAY_WIL_JUST_AHEAD = 5,
+ SAY_WIL_END = 6,
SPELL_CHAIN_LIGHTNING = 16006,
SPELL_EARTHBING_TOTEM = 15786,
@@ -990,7 +980,7 @@ public:
{
if (quest->GetQuestId() == QUEST_ESCAPE_COILSCAR)
{
- DoScriptText(SAY_WIL_START, creature, player);
+ creature->AI()->Talk(SAY_WIL_START, player->GetGUID());
creature->setFaction(FACTION_EARTHEN);
if (npc_earthmender_wildaAI* pEscortAI = CAST_AI(npc_earthmender_wilda::npc_earthmender_wildaAI, creature->AI()))
@@ -1024,14 +1014,14 @@ public:
switch (waypointId)
{
case 13:
- DoScriptText(SAY_WIL_PROGRESS1, me, player);
+ Talk(SAY_WIL_PROGRESS1, player->GetGUID());
DoSpawnAssassin();
break;
case 14:
DoSpawnAssassin();
break;
case 15:
- DoScriptText(SAY_WIL_FIND_EXIT, me, player);
+ Talk(SAY_WIL_FIND_EXIT, player->GetGUID());
break;
case 19:
DoRandomSay();
@@ -1058,7 +1048,7 @@ public:
DoSpawnAssassin();
break;
case 39:
- DoScriptText(SAY_WIL_JUST_AHEAD, me, player);
+ Talk(SAY_WIL_JUST_AHEAD, player->GetGUID());
break;
case 43:
DoRandomSay();
@@ -1067,7 +1057,7 @@ public:
DoSpawnAssassin();
break;
case 50:
- DoScriptText(SAY_WIL_END, me, player);
+ Talk(SAY_WIL_END, player->GetGUID());
player->GroupEventHappens(QUEST_ESCAPE_COILSCAR, me);
break;
}
@@ -1082,7 +1072,7 @@ public:
//this is very unclear, random say without no real relevance to script/event
void DoRandomSay()
{
- DoScriptText(RAND(SAY_WIL_PROGRESS2, SAY_WIL_PROGRESS4, SAY_WIL_PROGRESS5), me);
+ Talk(SAY_WIL_PROGRESS2);
}
void DoSpawnAssassin()
@@ -1102,7 +1092,7 @@ public:
{
//appears to be random
if (urand(0, 1))
- DoScriptText(RAND(SAY_WIL_AGGRO1, SAY_WIL_AGGRO2), who);
+ Talk(SAY_WIL_AGGRO);
}
}
@@ -1140,28 +1130,25 @@ npc_lord_illidan_stormrage : Creature that controls the event.
go_crystal_prison : GameObject that begins the event and hands out quest
EndContentData */
-#define END_TEXT -1000366 //signed for 10646
-
#define QUEST_BATTLE_OF_THE_CRIMSON_WATCH 10781
#define EVENT_AREA_RADIUS 65 //65yds
#define EVENT_COOLDOWN 30000 //in ms. appear after event completed or failed (should be = Adds despawn time)
struct TorlothCinematic
{
- int32 TextId;
uint32 creature, Timer;
};
// Creature 0 - Torloth, 1 - Illidan
static TorlothCinematic TorlothAnim[]=
{
- {-1000367, 0, 2000},
- {-1000368, 1, 7000},
- {-1000369, 0, 3000},
- {0, 0, 2000}, // Torloth stand
- {-1000370, 0, 1000},
- {0, 0, 3000},
- {0, 0, 0}
+ {0, 2000},
+ {1, 7000},
+ {0, 3000},
+ {0, 2000}, // Torloth stand
+ {0, 1000},
+ {0, 3000},
+ {0, 0}
};
struct Location
@@ -1195,15 +1182,14 @@ struct WaveData
{
uint8 SpawnCount, UsedSpawnPoint;
uint32 CreatureId, SpawnTimer, YellTimer;
- int32 WaveTextId;
};
static WaveData WavesInfo[]=
{
- {9, 0, 22075, 10000, 7000, -1000371}, //Illidari Soldier
- {2, 9, 22074, 10000, 7000, -1000372}, //Illidari Mind Breaker
- {4, 11, 19797, 10000, 7000, -1000373}, //Illidari Highlord
- {1, 15, 22076, 10000, 7000, -1000374} //Torloth The Magnificent
+ {9, 0, 22075, 10000, 7000}, //Illidari Soldier
+ {2, 9, 22074, 10000, 7000}, //Illidari Mind Breaker
+ {4, 11, 19797, 10000, 7000}, //Illidari Highlord
+ {1, 15, 22076, 10000, 7000} //Torloth The Magnificent
};
struct SpawnSpells
@@ -1278,9 +1264,6 @@ public:
return;
}
- if (TorlothAnim[AnimationCount].TextId)
- DoScriptText(TorlothAnim[AnimationCount].TextId, creature);
-
AnimationTimer = TorlothAnim[AnimationCount].Timer;
switch (AnimationCount)
@@ -1377,7 +1360,6 @@ public:
if (Creature* LordIllidan = (Unit::GetCreature(*me, LordIllidanGUID)))
{
- DoScriptText(END_TEXT, LordIllidan, killer);
LordIllidan->AI()->EnterEvadeMode();
}
}
@@ -1512,14 +1494,17 @@ public:
{
if (!Announced && AnnounceTimer <= diff)
{
- DoScriptText(WavesInfo[WaveCount].WaveTextId, me);
Announced = true;
- } else AnnounceTimer -= diff;
+ }
+ else
+ AnnounceTimer -= diff;
if (WaveTimer <= diff)
{
SummonNextWave();
- } else WaveTimer -= diff;
+ }
+ else
+ WaveTimer -= diff;
}
CheckEventFail();
diff --git a/src/server/scripts/Outland/shattrath_city.cpp b/src/server/scripts/Outland/shattrath_city.cpp
index 76cffa9e1fe..c45ad519d39 100644
--- a/src/server/scripts/Outland/shattrath_city.cpp
+++ b/src/server/scripts/Outland/shattrath_city.cpp
@@ -286,28 +286,32 @@ public:
# npc_kservant
######*/
-#define SAY1 -1000234
-#define WHISP1 -1000235
-#define WHISP2 -1000236
-#define WHISP3 -1000237
-#define WHISP4 -1000238
-#define WHISP5 -1000239
-#define WHISP6 -1000240
-#define WHISP7 -1000241
-#define WHISP8 -1000242
-#define WHISP9 -1000243
-#define WHISP10 -1000244
-#define WHISP11 -1000245
-#define WHISP12 -1000246
-#define WHISP13 -1000247
-#define WHISP14 -1000248
-#define WHISP15 -1000249
-#define WHISP16 -1000250
-#define WHISP17 -1000251
-#define WHISP18 -1000252
-#define WHISP19 -1000253
-#define WHISP20 -1000254
-#define WHISP21 -1000255
+enum KServant
+{
+ SAY1 = 0,
+ WHISP1 = 1,
+ WHISP2 = 2,
+ WHISP3 = 3,
+ WHISP4 = 4,
+ WHISP5 = 5,
+ WHISP6 = 6,
+ WHISP7 = 7,
+ WHISP8 = 8,
+ WHISP9 = 9,
+ WHISP10 = 10,
+ WHISP11 = 11,
+ WHISP12 = 12,
+ WHISP13 = 13,
+ WHISP14 = 14,
+ WHISP15 = 15,
+ WHISP16 = 16,
+ WHISP17 = 17,
+ WHISP18 = 18,
+ WHISP19 = 19,
+ WHISP20 = 20,
+ WHISP21 = 21
+};
+
class npc_kservant : public CreatureScript
{
public:
@@ -332,70 +336,70 @@ public:
switch (waypointId)
{
case 0:
- DoScriptText(SAY1, me, player);
+ Talk(SAY1, player->GetGUID());
break;
case 4:
- DoScriptText(WHISP1, me, player);
+ Talk(WHISP1, player->GetGUID());
break;
case 6:
- DoScriptText(WHISP2, me, player);
+ Talk(WHISP2, player->GetGUID());
break;
case 7:
- DoScriptText(WHISP3, me, player);
+ Talk(WHISP3, player->GetGUID());
break;
case 8:
- DoScriptText(WHISP4, me, player);
+ Talk(WHISP4, player->GetGUID());
break;
case 17:
- DoScriptText(WHISP5, me, player);
+ Talk(WHISP5, player->GetGUID());
break;
case 18:
- DoScriptText(WHISP6, me, player);
+ Talk(WHISP6, player->GetGUID());
break;
case 19:
- DoScriptText(WHISP7, me, player);
+ Talk(WHISP7, player->GetGUID());
break;
case 33:
- DoScriptText(WHISP8, me, player);
+ Talk(WHISP8, player->GetGUID());
break;
case 34:
- DoScriptText(WHISP9, me, player);
+ Talk(WHISP9, player->GetGUID());
break;
case 35:
- DoScriptText(WHISP10, me, player);
+ Talk(WHISP10, player->GetGUID());
break;
case 36:
- DoScriptText(WHISP11, me, player);
+ Talk(WHISP11, player->GetGUID());
break;
case 43:
- DoScriptText(WHISP12, me, player);
+ Talk(WHISP12, player->GetGUID());
break;
case 44:
- DoScriptText(WHISP13, me, player);
+ Talk(WHISP13, player->GetGUID());
break;
case 49:
- DoScriptText(WHISP14, me, player);
+ Talk(WHISP14, player->GetGUID());
break;
case 50:
- DoScriptText(WHISP15, me, player);
+ Talk(WHISP15, player->GetGUID());
break;
case 51:
- DoScriptText(WHISP16, me, player);
+ Talk(WHISP16, player->GetGUID());
break;
case 52:
- DoScriptText(WHISP17, me, player);
+ Talk(WHISP17, player->GetGUID());
break;
case 53:
- DoScriptText(WHISP18, me, player);
+ Talk(WHISP18, player->GetGUID());
break;
case 54:
- DoScriptText(WHISP19, me, player);
+ Talk(WHISP19, player->GetGUID());
break;
case 55:
- DoScriptText(WHISP20, me, player);
+ Talk(WHISP20, player->GetGUID());
break;
case 56:
- DoScriptText(WHISP21, me, player);
+ Talk(WHISP21, player->GetGUID());
player->GroupEventHappens(10211, me);
break;
}
@@ -429,16 +433,19 @@ public:
#define GOSSIP_BOOK "Ezekiel said that you might have a certain book..."
-#define SAY_1 -1000274
-#define SAY_2 -1000275
-#define SAY_3 -1000276
-#define SAY_4 -1000277
-#define SAY_5 -1000278
-#define SAY_GIVEUP -1000279
-
-#define QUEST_WBI 10231
-#define NPC_CREEPJACK 19726
-#define NPC_MALONE 19725
+enum DirtyLarry
+{
+ SAY_1 = 0,
+ SAY_2 = 1,
+ SAY_3 = 2,
+ SAY_4 = 3,
+ SAY_5 = 4,
+ SAY_GIVEUP = 5,
+
+ QUEST_WBI = 10231,
+ NPC_CREEPJACK = 19726,
+ NPC_MALONE = 19725
+};
class npc_dirty_larry : public CreatureScript
{
@@ -500,11 +507,11 @@ public:
if (Malone)
Malone->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); }return 2000;
- case 1: DoScriptText(SAY_1, me, player); return 3000;
- case 2: DoScriptText(SAY_2, me, player); return 5000;
- case 3: DoScriptText(SAY_3, me, player); return 2000;
- case 4: DoScriptText(SAY_4, me, player); return 2000;
- case 5: DoScriptText(SAY_5, me, player); return 2000;
+ case 1: Talk(SAY_1, player->GetGUID()); return 3000;
+ case 2: Talk(SAY_2, player->GetGUID()); return 5000;
+ case 3: Talk(SAY_3, player->GetGUID()); return 2000;
+ case 4: Talk(SAY_4, player->GetGUID()); return 2000;
+ case 5: Talk(SAY_5, player->GetGUID()); return 2000;
case 6: Attack = true; return 2000;
default: return 0;
}
@@ -572,7 +579,7 @@ public:
}
me->setFaction(1194);
Done = true;
- DoScriptText(SAY_GIVEUP, me, NULL);
+ Talk(SAY_GIVEUP);
me->DeleteThreatList();
me->CombatStop();
me->GetMotionMaster()->MoveTargetedHome();
diff --git a/src/server/scripts/Outland/terokkar_forest.cpp b/src/server/scripts/Outland/terokkar_forest.cpp
index 2298f676692..d1f37dd5bfc 100644
--- a/src/server/scripts/Outland/terokkar_forest.cpp
+++ b/src/server/scripts/Outland/terokkar_forest.cpp
@@ -45,14 +45,16 @@ EndContentData */
## mob_unkor_the_ruthless
######*/
-#define SAY_SUBMIT -1000194
+enum UnkorTheRuthless
+{
+ SAY_SUBMIT = 0,
-#define FACTION_HOSTILE 45
-#define FACTION_FRIENDLY 35
-#define QUEST_DONTKILLTHEFATONE 9889
+ FACTION_HOSTILE = 45,
+ FACTION_FRIENDLY = 35,
+ QUEST_DONTKILLTHEFATONE = 9889,
-#define SPELL_PULVERIZE 2676
-//#define SPELL_QUID9889 32174
+ SPELL_PULVERIZE = 2676
+};
class mob_unkor_the_ruthless : public CreatureScript
{
@@ -85,7 +87,7 @@ public:
void DoNice()
{
- DoScriptText(SAY_SUBMIT, me);
+ Talk(SAY_SUBMIT);
me->setFaction(FACTION_FRIENDLY);
me->SetStandState(UNIT_STAND_STATE_SIT);
me->RemoveAllAuras();
@@ -344,7 +346,7 @@ public:
enum eFloon
{
- SAY_FLOON_ATTACK = -1000195,
+ SAY_FLOON_ATTACK = 0,
SPELL_SILENCE = 6726,
SPELL_FROSTBOLT = 9672,
@@ -371,7 +373,7 @@ public:
{
player->CLOSE_GOSSIP_MENU();
creature->setFaction(FACTION_HOSTILE_FL);
- DoScriptText(SAY_FLOON_ATTACK, creature, player);
+ creature->AI()->Talk(SAY_FLOON_ATTACK, player->GetGUID());
creature->AI()->AttackStart(player);
}
return true;
@@ -447,10 +449,10 @@ public:
######*/
enum eIslaStarmaneData
{
- SAY_PROGRESS_1 = -1000571,
- SAY_PROGRESS_2 = -1000572,
- SAY_PROGRESS_3 = -1000573,
- SAY_PROGRESS_4 = -1000574,
+ SAY_PROGRESS_1 = 0,
+ SAY_PROGRESS_2 = 1,
+ SAY_PROGRESS_3 = 2,
+ SAY_PROGRESS_4 = 3,
QUEST_EFTW_H = 10052,
QUEST_EFTW_A = 10051,
@@ -480,16 +482,16 @@ public:
Cage->SetGoState(GO_STATE_ACTIVE);
break;
case 2:
- DoScriptText(SAY_PROGRESS_1, me, player);
+ Talk(SAY_PROGRESS_1, player->GetGUID());
break;
case 5:
- DoScriptText(SAY_PROGRESS_2, me, player);
+ Talk(SAY_PROGRESS_2, player->GetGUID());
break;
case 6:
- DoScriptText(SAY_PROGRESS_3, me, player);
+ Talk(SAY_PROGRESS_3, player->GetGUID());
break;
case 29:
- DoScriptText(SAY_PROGRESS_4, me, player);
+ Talk(SAY_PROGRESS_4, player->GetGUID());
if (player->GetTeam() == ALLIANCE)
player->GroupEventHappens(QUEST_EFTW_A, me);
else if (player->GetTeam() == HORDE)
diff --git a/src/server/scripts/Outland/zangarmarsh.cpp b/src/server/scripts/Outland/zangarmarsh.cpp
index 03e40b8d7dc..1fbb8a48324 100644
--- a/src/server/scripts/Outland/zangarmarsh.cpp
+++ b/src/server/scripts/Outland/zangarmarsh.cpp
@@ -45,9 +45,24 @@ EndContentData */
#define GOSSIP_ITEM_BLESS_ASH "Grant me your mark, wise ancient."
#define GOSSIP_ITEM_BLESS_KEL "Grant me your mark, mighty ancient."
-//signed for 17900 but used by 17900, 17901
-#define GOSSIP_REWARD_BLESS -1000359
-//#define TEXT_BLESSINGS "<You need higher standing with Cenarion Expedition to recive a blessing.>"
+
+enum AshyenAndKeleth
+{
+ GOSSIP_REWARD_BLESS = 0,
+
+ NPC_ASHYEN = 17900,
+ NPC_KELETH = 17901,
+
+ SPELL_BLESS_ASH_EXA = 31815,
+ SPELL_BLESS_ASH_REV = 31811,
+ SPELL_BLESS_ASH_HON = 31810,
+ SPELL_BLESS_ASH_FRI = 31808,
+
+ SPELL_BLESS_KEL_EXA = 31814,
+ SPELL_BLESS_KEL_REV = 31813,
+ SPELL_BLESS_KEL_HON = 31812,
+ SPELL_BLESS_KEL_FRI = 31807
+};
class npcs_ashyen_and_keleth : public CreatureScript
{
@@ -58,10 +73,10 @@ public:
{
if (player->GetReputationRank(942) > REP_NEUTRAL)
{
- if (creature->GetEntry() == 17900)
+ if (creature->GetEntry() == NPC_ASHYEN)
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_BLESS_ASH, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
- if (creature->GetEntry() == 17901)
+ if (creature->GetEntry() == NPC_KELETH)
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_BLESS_KEL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
}
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
@@ -78,54 +93,60 @@ public:
creature->SetMaxPower(POWER_MANA, 200); //set a "fake" mana value, we can't depend on database doing it in this case
creature->SetPower(POWER_MANA, 200);
- if (creature->GetEntry() == 17900) //check which Creature we are dealing with
+ if (creature->GetEntry() == NPC_ASHYEN) //check which Creature we are dealing with
{
+ uint32 spell = 0;
switch (player->GetReputationRank(942))
{ //mark of lore
case REP_FRIENDLY:
- creature->CastSpell(player, 31808, true);
- DoScriptText(GOSSIP_REWARD_BLESS, creature);
+ spell = SPELL_BLESS_ASH_FRI;
break;
case REP_HONORED:
- creature->CastSpell(player, 31810, true);
- DoScriptText(GOSSIP_REWARD_BLESS, creature);
+ spell = SPELL_BLESS_ASH_HON;
break;
case REP_REVERED:
- creature->CastSpell(player, 31811, true);
- DoScriptText(GOSSIP_REWARD_BLESS, creature);
+ spell = SPELL_BLESS_ASH_REV;
break;
case REP_EXALTED:
- creature->CastSpell(player, 31815, true);
- DoScriptText(GOSSIP_REWARD_BLESS, creature);
+ spell = SPELL_BLESS_ASH_EXA;
break;
default:
break;
}
+
+ if (spell)
+ {
+ creature->CastSpell(player, spell, true);
+ creature->AI()->Talk(GOSSIP_REWARD_BLESS);
+ }
}
- if (creature->GetEntry() == 17901)
+ if (creature->GetEntry() == NPC_KELETH)
{
+ uint32 spell = 0;
switch (player->GetReputationRank(942)) //mark of war
{
case REP_FRIENDLY:
- creature->CastSpell(player, 31807, true);
- DoScriptText(GOSSIP_REWARD_BLESS, creature);
+ spell = SPELL_BLESS_KEL_FRI;
break;
case REP_HONORED:
- creature->CastSpell(player, 31812, true);
- DoScriptText(GOSSIP_REWARD_BLESS, creature);
+ spell = SPELL_BLESS_KEL_HON;
break;
case REP_REVERED:
- creature->CastSpell(player, 31813, true);
- DoScriptText(GOSSIP_REWARD_BLESS, creature);
+ spell = SPELL_BLESS_KEL_REV;
break;
case REP_EXALTED:
- creature->CastSpell(player, 31814, true);
- DoScriptText(GOSSIP_REWARD_BLESS, creature);
+ spell = SPELL_BLESS_KEL_EXA;
break;
default:
break;
}
+
+ if (spell)
+ {
+ creature->CastSpell(player, spell, true);
+ creature->AI()->Talk(GOSSIP_REWARD_BLESS);
+ }
}
player->CLOSE_GOSSIP_MENU();
player->TalkedToCreature(creature->GetEntry(), creature->GetGUID());
@@ -304,12 +325,11 @@ public:
enum eKayra
{
- SAY_START = -1000343,
- SAY_AMBUSH1 = -1000344,
- SAY_PROGRESS = -1000345,
- SAY_AMBUSH2 = -1000346,
- SAY_NEAR_END = -1000347,
- SAY_END = -1000348, //this is signed for 10646
+ SAY_START = 0,
+ SAY_AMBUSH1 = 1,
+ SAY_PROGRESS = 2,
+ SAY_AMBUSH2 = 3,
+ SAY_END = 4,
QUEST_ESCAPE_FROM = 9752,
NPC_SLAVEBINDER = 18042
@@ -335,25 +355,24 @@ public:
switch (waypointId)
{
case 4:
- DoScriptText(SAY_AMBUSH1, me, player);
+ Talk(SAY_AMBUSH1, player->GetGUID());
DoSpawnCreature(NPC_SLAVEBINDER, -10.0f, -5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
DoSpawnCreature(NPC_SLAVEBINDER, -8.0f, 5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
break;
case 5:
- DoScriptText(SAY_PROGRESS, me, player);
+ Talk(SAY_PROGRESS, player->GetGUID());
SetRun();
break;
case 16:
- DoScriptText(SAY_AMBUSH2, me, player);
+ Talk(SAY_AMBUSH2, player->GetGUID());
DoSpawnCreature(NPC_SLAVEBINDER, -10.0f, -5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
DoSpawnCreature(NPC_SLAVEBINDER, -8.0f, 5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
break;
case 17:
SetRun(false);
- DoScriptText(SAY_NEAR_END, me, player);
break;
case 25:
- DoScriptText(SAY_END, me, player);
+ Talk(SAY_END, player->GetGUID());
player->GroupEventHappens(QUEST_ESCAPE_FROM, me);
break;
}
@@ -364,7 +383,7 @@ public:
{
if (quest->GetQuestId() == QUEST_ESCAPE_FROM)
{
- DoScriptText(SAY_START, creature, player);
+ creature->AI()->Talk(SAY_START, player->GetGUID());
if (npc_escortAI* pEscortAI = CAST_AI(npc_kayra_longmane::npc_kayra_longmaneAI, creature->AI()))
pEscortAI->Start(false, false, player->GetGUID());
diff --git a/src/server/scripts/World/guards.cpp b/src/server/scripts/World/guards.cpp
index 951c0ed9688..8fc63a1eacf 100644
--- a/src/server/scripts/World/guards.cpp
+++ b/src/server/scripts/World/guards.cpp
@@ -39,9 +39,7 @@ enum GuardGeneric
{
GENERIC_CREATURE_COOLDOWN = 5000,
- SAY_GUARD_SIL_AGGRO1 = -1070001,
- SAY_GUARD_SIL_AGGRO2 = -1070002,
- SAY_GUARD_SIL_AGGRO3 = -1070003,
+ SAY_GUARD_SIL_AGGRO = 0,
NPC_CENARION_HOLD_INFANTRY = 15184,
NPC_STORMWIND_CITY_GUARD = 68,
@@ -67,7 +65,7 @@ public:
void EnterCombat(Unit* who)
{
if (me->GetEntry() == NPC_CENARION_HOLD_INFANTRY)
- DoScriptText(RAND(SAY_GUARD_SIL_AGGRO1, SAY_GUARD_SIL_AGGRO2, SAY_GUARD_SIL_AGGRO3), me, who);
+ Talk(SAY_GUARD_SIL_AGGRO, who->GetGUID());
if (SpellInfo const* spell = me->reachWithSpellAttack(who))
DoCast(who, spell->Id);
}
diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp
index 5ed799bbec1..76d2c230808 100644
--- a/src/server/scripts/World/npcs_special.cpp
+++ b/src/server/scripts/World/npcs_special.cpp
@@ -313,12 +313,16 @@ public:
# npc_chicken_cluck
#########*/
-#define EMOTE_HELLO -1070004
-#define EMOTE_CLUCK_TEXT -1070006
+enum ChickenCluck
+{
+ EMOTE_HELLO_A = 0,
+ EMOTE_HELLO_H = 1,
+ EMOTE_CLUCK_TEXT = 2,
-#define QUEST_CLUCK 3861
-#define FACTION_FRIENDLY 35
-#define FACTION_CHICKEN 31
+ QUEST_CLUCK = 3861,
+ FACTION_FRIENDLY = 35,
+ FACTION_CHICKEN = 31
+};
class npc_chicken_cluck : public CreatureScript
{
@@ -367,7 +371,7 @@ public:
{
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
me->setFaction(FACTION_FRIENDLY);
- DoScriptText(EMOTE_HELLO, me);
+ Talk(player->GetTeam() == HORDE ? EMOTE_HELLO_H : EMOTE_HELLO_A);
}
break;
case TEXT_EMOTE_CHEER:
@@ -375,7 +379,7 @@ public:
{
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
me->setFaction(FACTION_FRIENDLY);
- DoScriptText(EMOTE_CLUCK_TEXT, me);
+ Talk(EMOTE_CLUCK_TEXT);
}
break;
}
@@ -500,15 +504,15 @@ public:
## Triage quest
######*/
-//signed for 9623
-#define SAY_DOC1 -1000201
-#define SAY_DOC2 -1000202
-#define SAY_DOC3 -1000203
+enum Doctor
+{
+ SAY_DOC = 0,
-#define DOCTOR_ALLIANCE 12939
-#define DOCTOR_HORDE 12920
-#define ALLIANCE_COORDS 7
-#define HORDE_COORDS 6
+ DOCTOR_ALLIANCE = 12939,
+ DOCTOR_HORDE = 12920,
+ ALLIANCE_COORDS = 7,
+ HORDE_COORDS = 6
+};
struct Location
{
@@ -773,7 +777,7 @@ public:
//stand up
me->SetUInt32Value(UNIT_FIELD_BYTES_1, UNIT_STAND_STATE_STAND);
- DoScriptText(RAND(SAY_DOC1, SAY_DOC2, SAY_DOC3), me);
+ Talk(SAY_DOC);
uint32 mobId = me->GetEntry();
me->SetWalk(false);
@@ -879,7 +883,7 @@ void npc_doctor::npc_doctorAI::UpdateAI(uint32 const diff)
//TODO: get text for each NPC
-enum eGarments
+enum Garments
{
SPELL_LESSER_HEAL_R2 = 2052,
SPELL_FORTITUDE_R1 = 1243,
@@ -896,18 +900,10 @@ enum eGarments
ENTRY_KORJA = 12430,
ENTRY_DG_KEL = 12428,
- //used by 12429, 12423, 12427, 12430, 12428, but signed for 12429
- SAY_COMMON_HEALED = -1000164,
- SAY_DG_KEL_THANKS = -1000165,
- SAY_DG_KEL_GOODBYE = -1000166,
- SAY_ROBERTS_THANKS = -1000167,
- SAY_ROBERTS_GOODBYE = -1000168,
- SAY_KORJA_THANKS = -1000169,
- SAY_KORJA_GOODBYE = -1000170,
- SAY_DOLF_THANKS = -1000171,
- SAY_DOLF_GOODBYE = -1000172,
- SAY_SHAYA_THANKS = -1000173,
- SAY_SHAYA_GOODBYE = -1000174, //signed for 21469
+ // used by 12429, 12423, 12427, 12430, 12428, but signed for 12429
+ SAY_THANKS = 0,
+ SAY_GOODBYE = 1,
+ SAY_HEALED = 2,
};
class npc_garments_of_quests : public CreatureScript
@@ -917,7 +913,10 @@ public:
struct npc_garments_of_questsAI : public npc_escortAI
{
- npc_garments_of_questsAI(Creature* creature) : npc_escortAI(creature) {Reset();}
+ npc_garments_of_questsAI(Creature* creature) : npc_escortAI(creature)
+ {
+ Reset();
+ }
uint64 CasterGUID;
@@ -936,15 +935,15 @@ public:
RunAwayTimer = 5000;
me->SetStandState(UNIT_STAND_STATE_KNEEL);
- //expect database to have RegenHealth=0
+ // expect database to have RegenHealth=0
me->SetHealth(me->CountPctFromMaxHealth(70));
}
- void EnterCombat(Unit* /*who*/) {}
+ void EnterCombat(Unit* /*who*/) { }
- void SpellHit(Unit* caster, SpellInfo const* Spell)
+ void SpellHit(Unit* caster, SpellInfo const* spell)
{
- if (Spell->Id == SPELL_LESSER_HEAL_R2 || Spell->Id == SPELL_FORTITUDE_R1)
+ if (spell->Id == SPELL_LESSER_HEAL_R2 || spell->Id == SPELL_FORTITUDE_R1)
{
//not while in combat
if (me->isInCombat())
@@ -961,16 +960,16 @@ public:
case ENTRY_SHAYA:
if (player->GetQuestStatus(QUEST_MOON) == QUEST_STATUS_INCOMPLETE)
{
- if (IsHealed && !CanRun && Spell->Id == SPELL_FORTITUDE_R1)
+ if (IsHealed && !CanRun && spell->Id == SPELL_FORTITUDE_R1)
{
- DoScriptText(SAY_SHAYA_THANKS, me, caster);
+ Talk(SAY_THANKS, caster->GetGUID());
CanRun = true;
}
- else if (!IsHealed && Spell->Id == SPELL_LESSER_HEAL_R2)
+ else if (!IsHealed && spell->Id == SPELL_LESSER_HEAL_R2)
{
CasterGUID = caster->GetGUID();
me->SetStandState(UNIT_STAND_STATE_STAND);
- DoScriptText(SAY_COMMON_HEALED, me, caster);
+ Talk(SAY_HEALED, caster->GetGUID());
IsHealed = true;
}
}
@@ -978,16 +977,16 @@ public:
case ENTRY_ROBERTS:
if (player->GetQuestStatus(QUEST_LIGHT_1) == QUEST_STATUS_INCOMPLETE)
{
- if (IsHealed && !CanRun && Spell->Id == SPELL_FORTITUDE_R1)
+ if (IsHealed && !CanRun && spell->Id == SPELL_FORTITUDE_R1)
{
- DoScriptText(SAY_ROBERTS_THANKS, me, caster);
+ Talk(SAY_THANKS, caster->GetGUID());
CanRun = true;
}
- else if (!IsHealed && Spell->Id == SPELL_LESSER_HEAL_R2)
+ else if (!IsHealed && spell->Id == SPELL_LESSER_HEAL_R2)
{
CasterGUID = caster->GetGUID();
me->SetStandState(UNIT_STAND_STATE_STAND);
- DoScriptText(SAY_COMMON_HEALED, me, caster);
+ Talk(SAY_HEALED, caster->GetGUID());
IsHealed = true;
}
}
@@ -995,16 +994,16 @@ public:
case ENTRY_DOLF:
if (player->GetQuestStatus(QUEST_LIGHT_2) == QUEST_STATUS_INCOMPLETE)
{
- if (IsHealed && !CanRun && Spell->Id == SPELL_FORTITUDE_R1)
+ if (IsHealed && !CanRun && spell->Id == SPELL_FORTITUDE_R1)
{
- DoScriptText(SAY_DOLF_THANKS, me, caster);
+ Talk(SAY_THANKS, caster->GetGUID());
CanRun = true;
}
- else if (!IsHealed && Spell->Id == SPELL_LESSER_HEAL_R2)
+ else if (!IsHealed && spell->Id == SPELL_LESSER_HEAL_R2)
{
CasterGUID = caster->GetGUID();
me->SetStandState(UNIT_STAND_STATE_STAND);
- DoScriptText(SAY_COMMON_HEALED, me, caster);
+ Talk(SAY_HEALED, caster->GetGUID());
IsHealed = true;
}
}
@@ -1012,16 +1011,16 @@ public:
case ENTRY_KORJA:
if (player->GetQuestStatus(QUEST_SPIRIT) == QUEST_STATUS_INCOMPLETE)
{
- if (IsHealed && !CanRun && Spell->Id == SPELL_FORTITUDE_R1)
+ if (IsHealed && !CanRun && spell->Id == SPELL_FORTITUDE_R1)
{
- DoScriptText(SAY_KORJA_THANKS, me, caster);
+ Talk(SAY_THANKS, caster->GetGUID());
CanRun = true;
}
- else if (!IsHealed && Spell->Id == SPELL_LESSER_HEAL_R2)
+ else if (!IsHealed && spell->Id == SPELL_LESSER_HEAL_R2)
{
CasterGUID = caster->GetGUID();
me->SetStandState(UNIT_STAND_STATE_STAND);
- DoScriptText(SAY_COMMON_HEALED, me, caster);
+ Talk(SAY_HEALED, caster->GetGUID());
IsHealed = true;
}
}
@@ -1029,23 +1028,23 @@ public:
case ENTRY_DG_KEL:
if (player->GetQuestStatus(QUEST_DARKNESS) == QUEST_STATUS_INCOMPLETE)
{
- if (IsHealed && !CanRun && Spell->Id == SPELL_FORTITUDE_R1)
+ if (IsHealed && !CanRun && spell->Id == SPELL_FORTITUDE_R1)
{
- DoScriptText(SAY_DG_KEL_THANKS, me, caster);
+ Talk(SAY_THANKS, caster->GetGUID());
CanRun = true;
}
- else if (!IsHealed && Spell->Id == SPELL_LESSER_HEAL_R2)
+ else if (!IsHealed && spell->Id == SPELL_LESSER_HEAL_R2)
{
CasterGUID = caster->GetGUID();
me->SetStandState(UNIT_STAND_STATE_STAND);
- DoScriptText(SAY_COMMON_HEALED, me, caster);
+ Talk(SAY_HEALED, caster->GetGUID());
IsHealed = true;
}
}
break;
}
- //give quest credit, not expect any special quest objectives
+ // give quest credit, not expect any special quest objectives
if (CanRun)
player->TalkedToCreature(me->GetEntry(), me->GetGUID());
}
@@ -1068,19 +1067,19 @@ public:
switch (me->GetEntry())
{
case ENTRY_SHAYA:
- DoScriptText(SAY_SHAYA_GOODBYE, me, unit);
+ Talk(SAY_GOODBYE, unit->GetGUID());
break;
case ENTRY_ROBERTS:
- DoScriptText(SAY_ROBERTS_GOODBYE, me, unit);
+ Talk(SAY_GOODBYE, unit->GetGUID());
break;
case ENTRY_DOLF:
- DoScriptText(SAY_DOLF_GOODBYE, me, unit);
+ Talk(SAY_GOODBYE, unit->GetGUID());
break;
case ENTRY_KORJA:
- DoScriptText(SAY_KORJA_GOODBYE, me, unit);
+ Talk(SAY_GOODBYE, unit->GetGUID());
break;
case ENTRY_DG_KEL:
- DoScriptText(SAY_DG_KEL_GOODBYE, me, unit);
+ Talk(SAY_GOODBYE, unit->GetGUID());
break;
}