*Update THANKS and some clean with spaces in scripts.
--HG-- branch : trunk
This commit is contained in:
@@ -1,52 +1,57 @@
|
||||
= TrinityCore -- Thanks/credits file =
|
||||
|
||||
TrinityCore is a derivation/rewrite of MaNGOS, which was originally written
|
||||
by Team Python and the WoW Daemon Team. Many people further helped Trinity Core
|
||||
by submitting bug reports, code patches, and suggestions. Thanks to the
|
||||
community!
|
||||
|
||||
Special thanks should go out to the WowwoW team. We have gained help from
|
||||
them many times in the creation of this project. Keep up the good work guys.
|
||||
|
||||
Thanks to the ScriptDev2 team (http://www.scriptdev2.com) for scripts.
|
||||
|
||||
Thanks to the WCell team (especially Ralek) for research on realm reconnect
|
||||
sequence, item scaling stats algorithm, gameobject rotation issues.
|
||||
|
||||
Thanks go out to the following people for various patches/code (listed in the
|
||||
order they were added): w12x, dythzer, XEQT, death420, balrok, TOM_RUS,
|
||||
runningnak3d, Seline, KingPin, raczman, bogie, Neo2003, NoFantasy, Derex,
|
||||
freghar, toilet1, megamage, MadJack, WarHead, gvcoman, Ntsc, arrai, jrkpote,
|
||||
Seraphim, vagoth, KerchumA222, Rognar, Blaymoira, DragonHunter, Molius, ApoC,
|
||||
SeT, hunuza, Wyk3d, VladimirMangos, rj686, Arthorius, QAston, Muhaha, dereka,
|
||||
Kaldorei, NuRRi, Biglad, Machiavelli, Nivelo, Paradox, Aokromes, EleGoS,
|
||||
Visagalis, reno, Cybrax, GriffonHeart, fgenesis, rilex, XTElite1, Anubisss, eL,
|
||||
Iskander, arclite, Bladex, EIFEL, Klaimmore, XTZGZoReX, panaut0lordv, DearScorpion,
|
||||
BlueSteel, AlexDereka, Drahy, krz, Xeptor, Sethoso, Sarjuuk, pasdVn, nissen,
|
||||
Triply, `win, Fog, emsy, McBitter, Lukaasm, maikash, Wormheart, DonTomika,
|
||||
DiSlord, Tiretunderl, Ramses_II, cccyril, Cha0S2, miebaik, Trazom, KiriX,
|
||||
darkEvil, Sorken, Kudlaty, Charlie2025, Medwise, Rat, Lutik, domingo,
|
||||
TrullyONE, rastikzzz, Tassader, Lightguard, KAPATEJIb, Tux`Volant, zhanhang03,
|
||||
Asael, Elron, False, nos4r2zod, Disassembler, thumsoul, rvnth, throneinc,
|
||||
MrTux, Luniz2k1, Dani, BroodWyrm, raven_coda, Bagsac, Thraxx, Trogvar,
|
||||
teacher4, zhenya, Albrecht de Endrau, Phacops, Naicisum, thenecromancer, shax,
|
||||
cryingcloud, freeganja, Foks, daveh, Az@zel, evilstar, Corfen, Astellar, Maxxie,
|
||||
DEN_North, StarJoker, Nezemnoy, X-Savior, subhuman_bob, Ambal, Brueggus, sparc,
|
||||
jojo, Trojan, tvaroh, Genars, BombermaG, Bulkin, nesocip, xILOSWag, SilverIce,
|
||||
Uruviel, timmit, SeT, Seizerkiller, Stokrotka, JoN0, Tanatos, Hunteee, Alyen,
|
||||
Farah, Them, DaGNU, arthurcik, BudIcePenguin, Amok, Amit86, onkelz28, Azrael,
|
||||
Larva, Roland, DerDyddye, Vicos, PSZ, CRAZyBUg, irish, Sephiroth1984, hunuza,
|
||||
mike753, Xlybriem, Paytheo, ArticDevil, FearX, Beaste, bufferoverflow, Jeniczek,
|
||||
Den, bobaz, crackm, seirge, D_Skywalk, mknjc, Christyan, Saeba, Nevan, tlexii,
|
||||
liszt, duckman, Joro, Charlie, smellbee, bigjohnson4, maxdestroyer, Destalker,
|
||||
ckegg, Drethek, yad02, Win32, NetSky, Zcuron, Necroo, ogeraisi, Coldblooded,
|
||||
Edder, riddick, Craker, NeoLithicX, srounet, SLG, Tidus, neo0608, SyRiOCoP,
|
||||
F636y623, Patro, mobel, simak, hectolight, Riccardo, GodsdoG, Gomez, kamir86, fredi,
|
||||
qubix, Deafboy, Authorius, DarkRabbit, mrbungle, netoya, peldor, eumario, Alex,
|
||||
Moandor, ebx, DasBlub, guenex, Brats, Lucy, arcx, Enril, oiler2112,
|
||||
Wizz, Elminster, 123qwe, NeatElves, Turk3y, deicide, vladonix, nugu100,
|
||||
Skystar, Reve, jorooo, FrozenDB, miranda.conrado, Tequila, Gommes, Zerg2000,
|
||||
aerione_alt, Rastik, FrenchW, wilibald09, Velorien, kancaras, fisherman,
|
||||
Aviram, Mufik, loop69, multiplexer, Koani, rechapa79, kozelo, MeanMachine,
|
||||
fregh, adrycasillo, IncoGnito, Alez, Itch, Kuteur, MaS0n, peaceman, manuel,
|
||||
Gendalph, Lynx3d, raftom, Infinity, Ebrithil, Sorya, HP1, Prince, redcore.
|
||||
= TrinityCore -- Thanks/credits file =
|
||||
|
||||
TrinityCore is a derivation/rewrite of MaNGOS, which was originally written
|
||||
by Team Python and the WoW Daemon Team. Many people further helped Trinity Core
|
||||
by submitting bug reports, code patches, and suggestions. Thanks to the
|
||||
community!
|
||||
|
||||
Special thanks should go out to the WowwoW team. We have gained help from
|
||||
them many times in the creation of this project. Keep up the good work guys.
|
||||
|
||||
Thanks to the ScriptDev2 team (http://www.scriptdev2.com) for scripts.
|
||||
|
||||
Thanks to the WCell team (especially Ralek) for research on realm reconnect
|
||||
sequence, item scaling stats algorithm, gameobject rotation issues.
|
||||
|
||||
Thanks go out to the following people for various patches/code (listed in the
|
||||
order they were added): w12x, dythzer, XEQT, death420, balrok, TOM_RUS,
|
||||
runningnak3d, Seline, KingPin, raczman, bogie, Neo2003, NoFantasy, Derex,
|
||||
freghar, toilet1, megamage, MadJack, WarHead, gvcoman, Ntsc, arrai, jrkpote,
|
||||
Seraphim, vagoth, KerchumA222, Rognar, Blaymoira, DragonHunter, Molius, ApoC,
|
||||
SeT, hunuza, Wyk3d, VladimirMangos, rj686, Arthorius, QAston, Muhaha, dereka,
|
||||
Kaldorei, NuRRi, Biglad, Machiavelli, Nivelo, Paradox, Aokromes, EleGoS,
|
||||
Visagalis, reno, Cybrax, GriffonHeart, fgenesis, rilex, XTElite1, Anubisss, eL,
|
||||
Iskander, arclite, Bladex, EIFEL, Klaimmore, XTZGZoReX, panaut0lordv, DearScorpion,
|
||||
BlueSteel, AlexDereka, Drahy, krz, Xeptor, Sethoso, Sarjuuk, pasdVn, nissen,
|
||||
Triply, `win, Fog, emsy, McBitter, Lukaasm, maikash, Wormheart, DonTomika,
|
||||
DiSlord, Tiretunderl, Ramses_II, cccyril, Cha0S2, miebaik, Trazom, KiriX,
|
||||
darkEvil, Sorken, Kudlaty, Charlie2025, Medwise, Rat, Lutik, domingo,
|
||||
TrullyONE, rastikzzz, Tassader, Lightguard, KAPATEJIb, Tux`Volant, zhanhang03,
|
||||
Asael, Elron, False, nos4r2zod, Disassembler, thumsoul, rvnth, throneinc,
|
||||
MrTux, Luniz2k1, Dani, BroodWyrm, raven_coda, Bagsac, Thraxx, Trogvar,
|
||||
teacher4, zhenya, Albrecht de Endrau, Phacops, Naicisum, thenecromancer, shax,
|
||||
cryingcloud, freeganja, Foks, daveh, Az@zel, evilstar, Corfen, Astellar, Maxxie,
|
||||
DEN_North, StarJoker, Nezemnoy, X-Savior, subhuman_bob, Ambal, Brueggus, sparc,
|
||||
jojo, Trojan, tvaroh, Genars, BombermaG, Bulkin, nesocip, xILOSWag, SilverIce,
|
||||
Uruviel, timmit, SeT, Seizerkiller, Stokrotka, JoN0, Tanatos, Hunteee, Alyen,
|
||||
Farah, Them, DaGNU, arthurcik, BudIcePenguin, Amok, Amit86, onkelz28, Azrael,
|
||||
Larva, Roland, DerDyddye, Vicos, PSZ, CRAZyBUg, irish, Sephiroth1984, hunuza,
|
||||
mike753, Xlybriem, Paytheo, ArticDevil, FearX, Beaste, bufferoverflow, Jeniczek,
|
||||
Den, bobaz, crackm, seirge, D_Skywalk, mknjc, Christyan, Saeba, Nevan, tlexii,
|
||||
liszt, duckman, Joro, Charlie, smellbee, bigjohnson4, maxdestroyer, Destalker,
|
||||
ckegg, Drethek, yad02, Win32, NetSky, Zcuron, Necroo, ogeraisi, Coldblooded,
|
||||
Edder, riddick, Craker, NeoLithicX, srounet, SLG, Tidus, neo0608, SyRiOCoP,
|
||||
F636y623, Patro, mobel, simak, hectolight, Riccardo, GodsdoG, Gomez, kamir86, fredi,
|
||||
qubix, Deafboy, Authorius, DarkRabbit, mrbungle, netoya, peldor, eumario, Alex,
|
||||
Moandor, ebx, DasBlub, guenex, Brats, Lucy, arcx, Enril, oiler2112,
|
||||
Wizz, Elminster, 123qwe, NeatElves, Turk3y, deicide, vladonix, nugu100,
|
||||
Skystar, Reve, jorooo, FrozenDB, miranda.conrado, Tequila, Gommes, Zerg2000,
|
||||
aerione_alt, Rastik, FrenchW, wilibald09, Velorien, kancaras, fisherman,
|
||||
Aviram, Mufik, loop69, multiplexer, Koani, rechapa79, kozelo, MeanMachine,
|
||||
fregh, adrycasillo, IncoGnito, Alez, Itch, Kuteur, MaS0n, peaceman, manuel,
|
||||
Gendalph, Lynx3d, raftom, Infinity, Ebrithil, Sorya, HP1, Prince, redcore,
|
||||
Boogie, Necro, Thyros, simon, MrSmite, horogandris, Stryker, MaXiMiUS, kaell,
|
||||
totoro, Forgiven, Big, Oculus, Lorac, Nemesis, Epsik, iadus3, durotar, hoshie,
|
||||
fukifat, imbecile, Nafsih, Meldanor, Turok, Naturamen, Themris, Sundark,
|
||||
Azuritus, jotapdiez, EnderGT, Curuad, oc_redfox, rockzOr, Darkshines,
|
||||
BlackYoghurt, McLovin, Gyullo, kaxap.
|
||||
|
||||
@@ -15,10 +15,10 @@ pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_FLIGHT, GOSSIP_SENDER_MAIN, GO
|
||||
bool GossipSelect_npc_acherus_taxi(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction)
|
||||
{
|
||||
if (uiAction == GOSSIP_ACTION_INFO_DEF + 1)
|
||||
{
|
||||
if (pPlayer->GetPositionZ() >=316)
|
||||
{
|
||||
if (pPlayer->GetPositionZ() >=316)
|
||||
{
|
||||
pPlayer->GetSession()->SendDoFlight(24446, 1053);
|
||||
pPlayer->GetSession()->SendDoFlight(24446, 1053);
|
||||
}else{
|
||||
pPlayer->GetSession()->SendDoFlight(24446, 1054);
|
||||
}
|
||||
|
||||
@@ -14,18 +14,18 @@ pPlayer->SetTaxiCheater(true);
|
||||
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_UP, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DOWN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
|
||||
pPlayer->SEND_GOSSIP_MENU(12887, pCreature->GetGUID());
|
||||
|
||||
pPlayer->SEND_GOSSIP_MENU(12887, pCreature->GetGUID());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool GossipSelect_npc_wyrmresttempel_middle_taxi(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction)
|
||||
{
|
||||
if (uiAction == GOSSIP_ACTION_INFO_DEF + 1)
|
||||
{
|
||||
{
|
||||
pPlayer->GetSession()->SendDoFlight(6376, 881);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (uiAction == GOSSIP_ACTION_INFO_DEF + 2)
|
||||
{
|
||||
@@ -42,7 +42,7 @@ pPlayer->SetTaxiCheater(true);
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_TOP, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_MIDDLE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
|
||||
pPlayer->SEND_GOSSIP_MENU(12713, pCreature->GetGUID());
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -51,10 +51,10 @@ pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_MIDDLE, GOSSIP_SENDER_MAIN, GO
|
||||
bool GossipSelect_npc_wyrmresttempel_bottom_taxi(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction)
|
||||
{
|
||||
if (uiAction == GOSSIP_ACTION_INFO_DEF + 4)
|
||||
{
|
||||
{
|
||||
pPlayer->GetSession()->SendDoFlight(6376, 878);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (uiAction == GOSSIP_ACTION_INFO_DEF + 3)
|
||||
{
|
||||
@@ -78,7 +78,7 @@ pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ONEDOWN, GOSSIP_SENDER_MAIN, G
|
||||
bool GossipSelect_npc_wyrmresttempel_top_taxi(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction)
|
||||
{
|
||||
if (uiAction == GOSSIP_ACTION_INFO_DEF + 5)
|
||||
{
|
||||
{
|
||||
pPlayer->GetSession()->SendDoFlight(6376, 879);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ enum
|
||||
TYPE_TOMB_OF_SEVEN = 4,
|
||||
TYPE_LYCEUM = 5,
|
||||
TYPE_IRON_HALL = 6,
|
||||
|
||||
|
||||
DATA_EMPEROR = 10,
|
||||
DATA_PHALANX = 11,
|
||||
|
||||
|
||||
+6
-6
@@ -47,7 +47,7 @@ enum
|
||||
NPC_SEETHREL = 9038,
|
||||
NPC_GLOOMREL = 9037,
|
||||
NPC_DOOMREL = 9039,
|
||||
|
||||
|
||||
GO_ARENA1 = 161525,
|
||||
GO_ARENA2 = 161522,
|
||||
GO_ARENA3 = 161524,
|
||||
@@ -65,7 +65,7 @@ enum
|
||||
GO_GOLEM_ROOM_N = 170573,
|
||||
GO_GOLEM_ROOM_S = 170574,
|
||||
GO_THONE_ROOM = 170575,
|
||||
|
||||
|
||||
GO_SPECTRAL_CHALICE = 164869,
|
||||
GO_CHEST_SEVEN = 169243
|
||||
};
|
||||
@@ -174,7 +174,7 @@ struct TRINITY_DLL_DECL instance_blackrock_depths : public ScriptedInstance
|
||||
case GO_BAR_KEG_TRAP: GoBarKegTrapGUID = pGo->GetGUID(); break;
|
||||
case GO_BAR_DOOR: GoBarDoorGUID = pGo->GetGUID(); break;
|
||||
case GO_TOMB_ENTER: GoTombEnterGUID = pGo->GetGUID(); break;
|
||||
case GO_TOMB_EXIT:
|
||||
case GO_TOMB_EXIT:
|
||||
GoTombExitGUID = pGo->GetGUID();
|
||||
if (GhostKillCount >= 7)
|
||||
HandleGameObject(0, true, pGo);
|
||||
@@ -346,7 +346,7 @@ struct TRINITY_DLL_DECL instance_blackrock_depths : public ScriptedInstance
|
||||
if (Unit* target = boss->SelectNearestTarget(500))
|
||||
boss->AI()->AttackStart(target);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void TombOfSevenReset()
|
||||
@@ -367,7 +367,7 @@ struct TRINITY_DLL_DECL instance_blackrock_depths : public ScriptedInstance
|
||||
boss->GetMotionMaster()->MoveTargetedHome();
|
||||
boss->SetLootRecipient(NULL);
|
||||
}
|
||||
boss->setFaction(FACTION_FRIEND);
|
||||
boss->setFaction(FACTION_FRIEND);
|
||||
}
|
||||
}
|
||||
GhostKillCount = 0;
|
||||
@@ -386,7 +386,7 @@ struct TRINITY_DLL_DECL instance_blackrock_depths : public ScriptedInstance
|
||||
|
||||
void TombOfSevenEnd()
|
||||
{
|
||||
DoRespawnGameObject(GoChestGUID,DAY);
|
||||
DoRespawnGameObject(GoChestGUID,DAY);
|
||||
HandleGameObject(GoTombExitGUID,true);//event done, open exit door
|
||||
HandleGameObject(GoTombEnterGUID,true);//event done, open entrance door
|
||||
TombEventStarterGUID = 0;
|
||||
|
||||
@@ -187,7 +187,7 @@ struct TRINITY_DLL_DECL boss_moroesAI : public ScriptedAI
|
||||
{
|
||||
for(uint8 i = 0; i < 4; ++i)
|
||||
{
|
||||
Creature *pCreature = m_creature->SummonCreature(AddId[i], Locations[i][0], Locations[i][1], POS_Z, Locations[i][2], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000);
|
||||
Creature *pCreature = m_creature->SummonCreature(AddId[i], Locations[i][0], Locations[i][1], POS_Z, Locations[i][2], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000);
|
||||
if (pCreature)
|
||||
{
|
||||
AddGUID[i] = pCreature->GetGUID();
|
||||
|
||||
@@ -63,7 +63,7 @@ struct TRINITY_DLL_DECL boss_netherspiteAI : public ScriptedAI
|
||||
pInstance = c->GetInstanceData();
|
||||
|
||||
for(int i=0; i<3; ++i)
|
||||
{
|
||||
{
|
||||
PortalGUID[i] = 0;
|
||||
BeamTarget[i] = 0;
|
||||
BeamerGUID[i] = 0;
|
||||
@@ -176,7 +176,7 @@ struct TRINITY_DLL_DECL boss_netherspiteAI : public ScriptedAI
|
||||
if(Map* map = m_creature->GetMap())
|
||||
{
|
||||
Map::PlayerList const& players = map->GetPlayers();
|
||||
|
||||
|
||||
// get the best suitable target
|
||||
for(Map::PlayerList::const_iterator i = players.begin(); i!=players.end(); ++i)
|
||||
{
|
||||
@@ -303,7 +303,7 @@ struct TRINITY_DLL_DECL boss_netherspiteAI : public ScriptedAI
|
||||
m_creature->AddAura(SPELL_NETHERBURN_AURA, m_creature);
|
||||
EmpowermentTimer = 90000;
|
||||
}else EmpowermentTimer -= diff;
|
||||
|
||||
|
||||
if(PhaseTimer < diff)
|
||||
{
|
||||
if(!m_creature->IsNonMeleeSpellCasted(false))
|
||||
@@ -345,7 +345,7 @@ CreatureAI* GetAI_boss_netherspite(Creature *_Creature)
|
||||
void AddSC_boss_netherspite()
|
||||
{
|
||||
Script *newscript;
|
||||
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name="boss_netherspite";
|
||||
newscript->GetAI = GetAI_boss_netherspite;
|
||||
|
||||
@@ -141,7 +141,7 @@ struct TRINITY_DLL_DECL boss_aranAI : public ScriptedAI
|
||||
{
|
||||
// Not in progress
|
||||
pInstance->SetData(TYPE_ARAN, NOT_STARTED);
|
||||
pInstance->HandleGameObject(pInstance->GetData64(DATA_GO_LIBRARY_DOOR), true);
|
||||
pInstance->HandleGameObject(pInstance->GetData64(DATA_GO_LIBRARY_DOOR), true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1053,7 +1053,7 @@ struct TRINITY_DLL_DECL boss_romuloAI : public ScriptedAI
|
||||
EntryYellTimer = 8000;
|
||||
AggroYellTimer = 15000;
|
||||
}
|
||||
|
||||
|
||||
ScriptedInstance* pInstance;
|
||||
|
||||
uint64 JulianneGUID;
|
||||
@@ -1286,7 +1286,7 @@ void boss_julianneAI::UpdateAI(const uint32 diff)
|
||||
DrinkPoisonTimer = 0;
|
||||
}else DrinkPoisonTimer -= diff;
|
||||
}
|
||||
|
||||
|
||||
if (Phase == PHASE_ROMULO && !SummonedRomulo)
|
||||
{
|
||||
if (SummonRomuloTimer < diff)
|
||||
@@ -1319,7 +1319,7 @@ void boss_julianneAI::UpdateAI(const uint32 diff)
|
||||
ResurrectTimer = 1000;
|
||||
}else ResurrectSelfTimer -= diff;
|
||||
}
|
||||
|
||||
|
||||
if (!UpdateVictim() || IsFakingDeath)
|
||||
return;
|
||||
|
||||
|
||||
+2
-2
@@ -143,7 +143,7 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI
|
||||
|
||||
if (!pInstance)
|
||||
return;
|
||||
|
||||
|
||||
pInstance->HandleGameObject(pInstance->GetData64(DATA_KAEL_DOOR), true);
|
||||
// Open the encounter door
|
||||
}
|
||||
@@ -158,7 +158,7 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI
|
||||
{
|
||||
if (!pInstance)
|
||||
return;
|
||||
|
||||
|
||||
pInstance->HandleGameObject(pInstance->GetData64(DATA_KAEL_DOOR), false);
|
||||
//Close the encounter door, open it in JustDied/Reset
|
||||
}
|
||||
|
||||
+3
-3
@@ -612,7 +612,7 @@ struct TRINITY_DLL_DECL boss_ellris_duskhallowAI : public boss_priestess_lackey_
|
||||
{
|
||||
DoCast(m_creature,SPELL_SUMMON_IMP);
|
||||
}
|
||||
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
@@ -960,7 +960,7 @@ enum
|
||||
SPELL_MULTI_SHOT = 31942,
|
||||
SPELL_WING_CLIP = 44286,
|
||||
SPELL_FREEZING_TRAP = 44136,
|
||||
|
||||
|
||||
NPC_SLIVER = 24552
|
||||
};
|
||||
|
||||
@@ -1163,7 +1163,7 @@ CreatureAI* GetAI_apoko(Creature* pCreature)
|
||||
{
|
||||
return new boss_apokoAI(pCreature);
|
||||
}
|
||||
|
||||
|
||||
enum
|
||||
{
|
||||
SPELL_GOBLIN_DRAGON_GUN = 44272,
|
||||
|
||||
@@ -376,7 +376,7 @@ struct TRINITY_DLL_DECL npc_death_knight_initiateAI : public SpellAI
|
||||
{
|
||||
if (pDoneBy->GetGUID() != m_uiDuelerGUID && pDoneBy->GetOwnerGUID() != m_uiDuelerGUID) // other players cannot help
|
||||
uiDamage = 0;
|
||||
else if (uiDamage >= m_creature->GetHealth())
|
||||
else if (uiDamage >= m_creature->GetHealth())
|
||||
{
|
||||
uiDamage = 0;
|
||||
|
||||
@@ -541,7 +541,7 @@ struct TRINITY_DLL_DECL npc_dark_rider_of_acherusAI : public ScriptedAI
|
||||
}
|
||||
|
||||
void InitDespawnHorse(Unit *who)
|
||||
{
|
||||
{
|
||||
if (!who)
|
||||
return;
|
||||
|
||||
@@ -900,7 +900,7 @@ bool GOHello_go_inconspicuous_mine_car(Player* pPlayer, GameObject* pGO)
|
||||
return true;
|
||||
}
|
||||
|
||||
// npc 28912 quest 17217 boss 29001 mob 29007 go 191092
|
||||
// npc 28912 quest 17217 boss 29001 mob 29007 go 191092
|
||||
|
||||
void AddSC_the_scarlet_enclave_c1()
|
||||
{
|
||||
@@ -970,7 +970,7 @@ void AddSC_the_scarlet_enclave_c1()
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
/*
|
||||
/*
|
||||
DELETE FROM `script_texts` WHERE `entry` IN(-1609301, -1609302);
|
||||
INSERT INTO `script_texts` (`entry`,`content_default`,`type`,`language`,`emote`,`comment`) VALUES
|
||||
(-1609301, 'Come, weakling! Strike me down!', 0, 0, 0, 'SAY_DEATH_RIDER_FINAL'),
|
||||
|
||||
@@ -100,7 +100,7 @@ struct TRINITY_DLL_DECL npc_crusade_persuadedAI : public ScriptedAI
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (uiSpeech_counter)
|
||||
{
|
||||
@@ -135,7 +135,7 @@ struct TRINITY_DLL_DECL npc_crusade_persuadedAI : public ScriptedAI
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if(!UpdateVictim())
|
||||
return;
|
||||
|
||||
@@ -381,7 +381,7 @@ struct TRINITY_DLL_DECL mob_scarlet_courierAI : public ScriptedAI
|
||||
uiStage = 2;
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if(uiStage && !me->isInCombat())
|
||||
{
|
||||
@@ -459,7 +459,7 @@ struct TRINITY_DLL_DECL mob_high_inquisitor_valrothAI : public ScriptedAI
|
||||
DoCast(who, SPELL_VALROTH_SMITE);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (uiRenew_timer < diff)
|
||||
{
|
||||
@@ -647,7 +647,7 @@ struct TRINITY_DLL_DECL npc_a_special_surpriseAI : public ScriptedAI
|
||||
PlayerGUID = pWho->GetGUID();
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (PlayerGUID && !me->getVictim() && me->isAlive())
|
||||
{
|
||||
|
||||
+1
-1
@@ -86,7 +86,7 @@ struct TRINITY_DLL_DECL npc_valkyr_battle_maidenAI : public PassiveAI
|
||||
case 3:
|
||||
me->DisappearAndDie();
|
||||
break;
|
||||
default:
|
||||
default:
|
||||
//Nothing To DO
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ bool GossipHello_npc_shadowfang_prisoner(Player* pPlayer, Creature* pCreature)
|
||||
|
||||
if (pInstance && pInstance->GetData(TYPE_FREE_NPC) != DONE && pInstance->GetData(TYPE_RETHILGORE) == DONE)
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_DOOR, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
|
||||
|
||||
|
||||
pPlayer->SEND_GOSSIP_MENU(pCreature->GetNpcTextId(), pCreature->GetGUID());
|
||||
|
||||
return true;
|
||||
|
||||
@@ -102,7 +102,7 @@ struct TRINITY_DLL_DECL boss_baron_rivendareAI : public ScriptedAI
|
||||
pInstance->SetData(TYPE_BARON,NOT_STARTED);
|
||||
}
|
||||
|
||||
void AttackStart(Unit* who)
|
||||
void AttackStart(Unit* who)
|
||||
{
|
||||
if (pInstance)//can't use entercombat(), boss' dmg aura sets near players in combat, before entering the room's door
|
||||
pInstance->SetData(TYPE_BARON,IN_PROGRESS);
|
||||
|
||||
@@ -156,13 +156,13 @@ struct TRINITY_DLL_DECL instance_stratholme : public ScriptedInstance
|
||||
case GO_ZIGGURAT1: ziggurat1GUID = pGo->GetGUID(); break;
|
||||
case GO_ZIGGURAT2: ziggurat2GUID = pGo->GetGUID(); break;
|
||||
case GO_ZIGGURAT3: ziggurat3GUID = pGo->GetGUID(); break;
|
||||
case GO_ZIGGURAT4:
|
||||
ziggurat4GUID = pGo->GetGUID();
|
||||
case GO_ZIGGURAT4:
|
||||
ziggurat4GUID = pGo->GetGUID();
|
||||
if (TYPE_BARON == DONE || TYPE_RAMSTEIN == DONE)
|
||||
HandleGameObject(0, true, pGo);
|
||||
break;
|
||||
case GO_ZIGGURAT5:
|
||||
ziggurat5GUID = pGo->GetGUID();
|
||||
case GO_ZIGGURAT5:
|
||||
ziggurat5GUID = pGo->GetGUID();
|
||||
if (TYPE_BARON == DONE || TYPE_RAMSTEIN == DONE)
|
||||
HandleGameObject(0, true, pGo);
|
||||
break;
|
||||
@@ -313,7 +313,7 @@ struct TRINITY_DLL_DECL instance_stratholme : public ScriptedInstance
|
||||
std::ostringstream saveStream;
|
||||
saveStream << Encounter[0] << " " << Encounter[1] << " " << Encounter[2] << " "
|
||||
<< Encounter[3] << " " << Encounter[4] << " " << Encounter[5];
|
||||
|
||||
|
||||
OUT_SAVE_INST_DATA_COMPLETE;
|
||||
return saveStream.str();
|
||||
}
|
||||
|
||||
@@ -145,7 +145,7 @@ struct TRINITY_DLL_DECL boss_sacrolashAI : public ScriptedAI
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_EREDAR_TWINS_EVENT, NOT_STARTED);
|
||||
}
|
||||
|
||||
|
||||
void EnterCombat(Unit *who)
|
||||
{
|
||||
DoZoneInCombat();
|
||||
@@ -408,7 +408,7 @@ struct TRINITY_DLL_DECL boss_alythessAI : public Scripted_NoMovementAI
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_EREDAR_TWINS_EVENT, NOT_STARTED);
|
||||
}
|
||||
|
||||
|
||||
void EnterCombat(Unit *who)
|
||||
{
|
||||
DoZoneInCombat();
|
||||
|
||||
@@ -131,7 +131,7 @@ struct TRINITY_DLL_DECL boss_kalecgosAI : public ScriptedAI
|
||||
{
|
||||
SathGUID = pInstance->GetData64(DATA_SATHROVARR);
|
||||
DoorGUID = pInstance->GetData64(DATA_GO_FORCEFIELD);
|
||||
|
||||
|
||||
if (GameObject *Door = pInstance->instance->GetGameObject(pInstance->GetData64(DoorGUID)))
|
||||
Door->SetLootState(GO_JUST_DEACTIVATED);
|
||||
}
|
||||
|
||||
@@ -231,7 +231,7 @@ struct TRINITY_DLL_DECL boss_muruAI : public Scripted_NoMovementAI
|
||||
Timer[TIMER_HUMANOIDES] = 10000;
|
||||
Timer[TIMER_PHASE] = 2000;
|
||||
Timer[TIMER_SENTINEL] = 31500;
|
||||
|
||||
|
||||
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
m_creature->SetVisibility(VISIBILITY_ON);
|
||||
|
||||
@@ -485,7 +485,7 @@ struct TRINITY_DLL_DECL npc_dark_fiendAI : public ScriptedAI
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
|
||||
if (m_creature->IsWithinDist(m_creature->getVictim(), 5))
|
||||
{
|
||||
DoCastAOE(SPELL_DARKFIEND_AOE, false);
|
||||
|
||||
@@ -70,7 +70,7 @@ struct TRINITY_DLL_DECL boss_renatakiAI : public ScriptedAI
|
||||
|
||||
SetEquipmentSlots(false, EQUIP_UNEQUIP, EQUIP_NO_CHANGE, EQUIP_NO_CHANGE);
|
||||
m_creature->SetDisplayId(11686);
|
||||
|
||||
|
||||
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
Invisible = true;
|
||||
|
||||
|
||||
@@ -199,7 +199,7 @@ struct TRINITY_DLL_DECL npc_engineer_spark_overgrindAI : public ScriptedAI
|
||||
NpcFlags = c->GetUInt32Value(UNIT_NPC_FLAGS);
|
||||
|
||||
if (c->GetAreaId() == AREA_COVE || c->GetAreaId() == AREA_ISLE)
|
||||
IsTreeEvent = true;
|
||||
IsTreeEvent = true;
|
||||
}
|
||||
|
||||
uint32 NormFaction;
|
||||
|
||||
+1
-1
@@ -62,7 +62,7 @@ struct TRINITY_DLL_DECL instance_blackfathom_deeps : public ScriptedInstance
|
||||
|
||||
void OnCreatureCreate(Creature* pCreature, bool add)
|
||||
{
|
||||
if (pCreature->GetEntry() == 4832)
|
||||
if (pCreature->GetEntry() == 4832)
|
||||
m_uiTwilightLordKelrisGUID = pCreature->GetGUID();
|
||||
}
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ enum
|
||||
#define GOSSIP_ITEM_POTION "Teach me the alchemy recipe"
|
||||
|
||||
bool GossipHello_npc_henry_stern (Player* pPlayer, Creature* pCreature)
|
||||
{
|
||||
{
|
||||
if (pPlayer->GetBaseSkillValue(SKILL_COOKING) >= 175 && !pPlayer->HasSpell(SPELL_GOLDTHORN_TEA))
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_TEA, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
|
||||
#ifndef DEF_RAZORFEN_KRAUL_H
|
||||
#define DEF_RAZORFEN_KRAUL_H
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ struct TRINITY_DLL_DECL instance_razorfen_kraul : public ScriptedInstance
|
||||
WardCheck_Timer = 4000;
|
||||
}else
|
||||
WardCheck_Timer -= diff;
|
||||
}
|
||||
}
|
||||
|
||||
void SetData(uint32 type, uint32 data)
|
||||
{
|
||||
|
||||
@@ -184,7 +184,7 @@ void AddSC_razorfen_kraul()
|
||||
newscript->GetAI = &GetAI_npc_willix;
|
||||
newscript->pQuestAccept = &QuestAccept_npc_willix;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "npc_deaths_head_ward_keeper";
|
||||
newscript->GetAI = &GetAI_npc_deaths_head_ward_keeper;
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
/* ScriptData
|
||||
SDName: The_Barrens
|
||||
SD%Complete: 90
|
||||
SDComment: Quest support: 863, 898, 1719, 2458, 4921, 6981,
|
||||
SDComment: Quest support: 863, 898, 1719, 2458, 4921, 6981,
|
||||
SDCategory: Barrens
|
||||
EndScriptData */
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@ struct TRINITY_DLL_DECL instance_wailing_caverns : public ScriptedInstance
|
||||
saveStream << m_auiEncounter[0] << " " << m_auiEncounter[1] << " " << m_auiEncounter[2] << " "
|
||||
<< m_auiEncounter[3] << " " << m_auiEncounter[4] << " " << m_auiEncounter[5] << " "
|
||||
<< m_auiEncounter[6] << " " << m_auiEncounter[7] << " " << m_auiEncounter[8];
|
||||
|
||||
|
||||
OUT_SAVE_INST_DATA_COMPLETE;
|
||||
return saveStream.str();
|
||||
}
|
||||
|
||||
@@ -124,7 +124,7 @@ struct TRINITY_DLL_DECL npc_disciple_of_naralexAI : public npc_escortAI
|
||||
|
||||
void Reset()
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
@@ -149,11 +149,11 @@ struct TRINITY_DLL_DECL npc_disciple_of_naralexAI : public npc_escortAI
|
||||
}
|
||||
|
||||
void EnterEvadeMode()
|
||||
{
|
||||
{
|
||||
m_creature->RemoveAllAuras();
|
||||
m_creature->DeleteThreatList();
|
||||
m_creature->CombatStop(false);//do not interrupt channeling
|
||||
m_creature->SetLootRecipient(NULL);
|
||||
m_creature->SetLootRecipient(NULL);
|
||||
if (GetIsBeingEscorted())
|
||||
{
|
||||
SetReturning(true);
|
||||
@@ -161,7 +161,7 @@ struct TRINITY_DLL_DECL npc_disciple_of_naralexAI : public npc_escortAI
|
||||
debug_log("TSCR: EscortAI (EnterEvadeMode() Override) has left combat and is now returning to last point");
|
||||
}
|
||||
else
|
||||
m_creature->GetMotionMaster()->MoveTargetedHome();
|
||||
m_creature->GetMotionMaster()->MoveTargetedHome();
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -192,7 +192,7 @@ struct TRINITY_DLL_DECL npc_disciple_of_naralexAI : public npc_escortAI
|
||||
{
|
||||
eventProgress++;
|
||||
DoScriptText(SAY_BANISH_THE_SPIRITS, m_creature);
|
||||
DoCast(m_creature, SPELL_SERPENTINE_CLEANSING);
|
||||
DoCast(m_creature, SPELL_SERPENTINE_CLEANSING);
|
||||
//CAST_AI(npc_escortAI, m_creature->AI())->SetCanDefend(false);
|
||||
eventTimer = 30000;
|
||||
m_creature->SummonCreature(NPC_DEVIATE_VIPER, -61.5261, 273.676, -92.8442, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000);
|
||||
@@ -279,7 +279,7 @@ struct TRINITY_DLL_DECL npc_disciple_of_naralexAI : public npc_escortAI
|
||||
Map::PlayerList const &players = pMap->GetPlayers();
|
||||
for(Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
|
||||
itr->getSource()->CompletedAchievement(AchievWC);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (m_creature->HasAura(SPELL_NARALEXS_AWAKENING))
|
||||
m_creature->RemoveAura(SPELL_NARALEXS_AWAKENING);
|
||||
|
||||
@@ -120,8 +120,8 @@ struct TRINITY_DLL_DECL boss_elder_nadoxAI : public ScriptedAI
|
||||
Map::PlayerList const &players = pMap->GetPlayers();
|
||||
for(Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
|
||||
itr->getSource()->CompletedAchievement(AchievRespectYourElders);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (pInstance)
|
||||
|
||||
@@ -232,12 +232,12 @@ struct TRINITY_DLL_DECL npc_sinkhole_kill_creditAI : public ScriptedAI
|
||||
DoCast(m_creature, SPELL_EXPLODE_CART, true);
|
||||
DoCast(m_creature, SPELL_SUMMON_CART, true);
|
||||
if (GameObject* cart = m_creature->FindNearestGameObject(188160,3))
|
||||
cart->SetUInt32Value(GAMEOBJECT_FACTION, 14);
|
||||
cart->SetUInt32Value(GAMEOBJECT_FACTION, 14);
|
||||
Phase_Timer = 3000;
|
||||
Phase = 2;
|
||||
break;
|
||||
case 2:
|
||||
if (GameObject* cart = m_creature->FindNearestGameObject(188160,3))
|
||||
if (GameObject* cart = m_creature->FindNearestGameObject(188160,3))
|
||||
cart->UseDoorOrButton();
|
||||
DoCast(m_creature, SPELL_EXPLODE_CART, true);
|
||||
Phase_Timer = 3000;
|
||||
@@ -278,7 +278,7 @@ struct TRINITY_DLL_DECL npc_sinkhole_kill_creditAI : public ScriptedAI
|
||||
break;
|
||||
}
|
||||
} else Phase_Timer -= diff;
|
||||
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
@@ -42,7 +42,7 @@ struct TRINITY_DLL_DECL npc_plaguehound_trackerAI : public npc_escortAI
|
||||
{
|
||||
npc_plaguehound_trackerAI(Creature* pCreature) : npc_escortAI(pCreature) { }
|
||||
|
||||
|
||||
|
||||
void Reset()
|
||||
{
|
||||
InitScriptData();
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
#define SPELL_POSION_BOLT_VOLLEY HEROIC(28796,54098)
|
||||
#define SPELL_RAIN_OF_FIRE HEROIC(28794,54099)
|
||||
#define SPELL_FRENZY HEROIC(28798,54100)
|
||||
#define SPELL_FRENZY HEROIC(28798,54100)
|
||||
#define SPELL_WIDOWS_EMBRACE HEROIC(28732,54097)
|
||||
|
||||
enum Events
|
||||
@@ -97,7 +97,7 @@ struct TRINITY_DLL_DECL boss_faerlinaAI : public BossAI
|
||||
events.ScheduleEvent(EVENT_FIRE, 5000 + rand()%15000);
|
||||
return;
|
||||
case EVENT_FRENZY:
|
||||
DoCast(me,SPELL_FRENZY);
|
||||
DoCast(me,SPELL_FRENZY);
|
||||
events.ScheduleEvent(EVENT_FRENZY, 60000 + rand()%20000);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -254,7 +254,7 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public BossAI
|
||||
}
|
||||
|
||||
events.RepeatEvent(20000);
|
||||
return;
|
||||
return;
|
||||
}
|
||||
case EVENT_FISSURE:
|
||||
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0))
|
||||
|
||||
@@ -111,7 +111,7 @@ struct TRINITY_DLL_DECL boss_maexxnaAI : public BossAI
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!enraged && HealthBelowPct(30))
|
||||
{
|
||||
|
||||
@@ -160,7 +160,7 @@ struct TRINITY_DLL_DECL instance_naxxramas : public InstanceData
|
||||
{
|
||||
if (!InstanceData::SetBossState(id, state))
|
||||
return false;
|
||||
|
||||
|
||||
if (id == BOSS_HORSEMEN && state == DONE && HorsemenChest)
|
||||
HorsemenChest->SetRespawnTime(HorsemenChest->GetRespawnDelay());
|
||||
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
|
||||
/* ScriptData
|
||||
SDName: Boss_Anomalus
|
||||
SD%Complete:
|
||||
SDComment:
|
||||
SD%Complete:
|
||||
SDComment:
|
||||
SDCategory: The Nexus, The Nexus
|
||||
EndScriptData */
|
||||
|
||||
@@ -73,11 +73,11 @@ struct TRINITY_DLL_DECL boss_anomalusAI : public ScriptedAI
|
||||
bool HeroicMode;
|
||||
|
||||
uint8 Phase;
|
||||
uint32 SPELL_SPARK_Timer;
|
||||
uint32 SPELL_SPARK_Timer;
|
||||
uint32 SPELL_CREATE_RIFT_Timer;
|
||||
uint64 ChaoticRiftGUID;
|
||||
|
||||
void Reset()
|
||||
void Reset()
|
||||
{
|
||||
Phase = 0;
|
||||
SPELL_SPARK_Timer = 5000;
|
||||
@@ -90,7 +90,7 @@ struct TRINITY_DLL_DECL boss_anomalusAI : public ScriptedAI
|
||||
pInstance->SetData(DATA_ANOMALUS_EVENT, NOT_STARTED);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
void EnterCombat(Unit* who)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, m_creature);
|
||||
|
||||
@@ -98,7 +98,7 @@ struct TRINITY_DLL_DECL boss_anomalusAI : public ScriptedAI
|
||||
pInstance->SetData(DATA_ANOMALUS_EVENT, IN_PROGRESS);
|
||||
}
|
||||
|
||||
void JustDied(Unit* killer)
|
||||
void JustDied(Unit* killer)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, m_creature);
|
||||
|
||||
@@ -121,7 +121,7 @@ struct TRINITY_DLL_DECL boss_anomalusAI : public ScriptedAI
|
||||
pInstance->SetData(DATA_ANOMALUS_EVENT, DONE);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
@@ -214,7 +214,7 @@ struct TRINITY_DLL_DECL boss_anomalusAI : public ScriptedAI
|
||||
SPELL_CREATE_RIFT_Timer = 25000;
|
||||
}else SPELL_CREATE_RIFT_Timer -=diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -250,7 +250,7 @@ struct TRINITY_DLL_DECL mob_chaotic_riftAI : public Scripted_NoMovementAI
|
||||
DeadChaoticRift = true;
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
@@ -294,7 +294,7 @@ void AddSC_boss_anomalus()
|
||||
newscript->Name="boss_anomalus";
|
||||
newscript->GetAI = &GetAI_boss_anomalus;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name="mob_chaotic_rift";
|
||||
newscript->GetAI = &GetAI_mob_chaotic_rift;
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
|
||||
/* ScriptData
|
||||
SDName: Boss_Keristrasza
|
||||
SD%Complete:
|
||||
SDComment:
|
||||
SD%Complete:
|
||||
SDComment:
|
||||
SDCategory: The Nexus, The Nexus
|
||||
EndScriptData */
|
||||
|
||||
@@ -70,7 +70,7 @@ struct TRINITY_DLL_DECL boss_keristraszaAI : public ScriptedAI
|
||||
uint32 CheckIntenseColdTimer;
|
||||
bool MoreThanTwoIntenseCold; // needed for achievement: Intense Cold(2036)
|
||||
|
||||
void Reset()
|
||||
void Reset()
|
||||
{
|
||||
CRYSTALFIRE_BREATH_Timer = 14000;
|
||||
CRYSTAL_CHAINS_CRYSTALIZE_Timer = HeroicMode ? 30000 : 11000;
|
||||
@@ -88,7 +88,7 @@ struct TRINITY_DLL_DECL boss_keristraszaAI : public ScriptedAI
|
||||
pInstance->SetData(DATA_KERISTRASZA_EVENT, NOT_STARTED);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
void EnterCombat(Unit* who)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, m_creature);
|
||||
DoCastAOE(SPELL_INTENSE_COLD);
|
||||
@@ -97,7 +97,7 @@ struct TRINITY_DLL_DECL boss_keristraszaAI : public ScriptedAI
|
||||
pInstance->SetData(DATA_KERISTRASZA_EVENT, IN_PROGRESS);
|
||||
}
|
||||
|
||||
void JustDied(Unit* killer)
|
||||
void JustDied(Unit* killer)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, m_creature);
|
||||
|
||||
@@ -166,7 +166,7 @@ struct TRINITY_DLL_DECL boss_keristraszaAI : public ScriptedAI
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
@@ -220,7 +220,7 @@ struct TRINITY_DLL_DECL boss_keristraszaAI : public ScriptedAI
|
||||
CRYSTAL_CHAINS_CRYSTALIZE_Timer = HeroicMode ? 30000 : 11000;
|
||||
}else CRYSTAL_CHAINS_CRYSTALIZE_Timer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -253,7 +253,7 @@ void AddSC_boss_keristrasza()
|
||||
newscript->Name = "boss_keristrasza";
|
||||
newscript->GetAI = &GetAI_boss_keristrasza;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "containment_sphere";
|
||||
newscript->pGOHello = &GOHello_containment_sphere;
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
|
||||
/* ScriptData
|
||||
SDName: Boss_Magus_Telestra
|
||||
SD%Complete:
|
||||
SDComment:
|
||||
SD%Complete:
|
||||
SDComment:
|
||||
SDCategory: The Nexus, The Nexus
|
||||
EndScriptData */
|
||||
|
||||
@@ -59,7 +59,7 @@ float CenterOfRoom[1][4] =
|
||||
|
||||
struct TRINITY_DLL_DECL boss_magus_telestraAI : public ScriptedAI
|
||||
{
|
||||
boss_magus_telestraAI(Creature* c) : ScriptedAI(c)
|
||||
boss_magus_telestraAI(Creature* c) : ScriptedAI(c)
|
||||
{
|
||||
pInstance = c->GetInstanceData();
|
||||
HeroicMode = c->GetMap()->IsHeroic();
|
||||
@@ -80,8 +80,8 @@ struct TRINITY_DLL_DECL boss_magus_telestraAI : public ScriptedAI
|
||||
|
||||
uint8 Phase;
|
||||
|
||||
uint32 SPELL_ICE_NOVA_Timer;
|
||||
uint32 SPELL_FIREBOMB_Timer;
|
||||
uint32 SPELL_ICE_NOVA_Timer;
|
||||
uint32 SPELL_FIREBOMB_Timer;
|
||||
uint32 SPELL_GRAVITY_WELL_Timer;
|
||||
uint32 Cooldown;
|
||||
|
||||
@@ -89,8 +89,8 @@ struct TRINITY_DLL_DECL boss_magus_telestraAI : public ScriptedAI
|
||||
{
|
||||
Phase = 0;
|
||||
//These times are probably wrong
|
||||
SPELL_ICE_NOVA_Timer = 7000;
|
||||
SPELL_FIREBOMB_Timer = 0;
|
||||
SPELL_ICE_NOVA_Timer = 7000;
|
||||
SPELL_FIREBOMB_Timer = 0;
|
||||
SPELL_GRAVITY_WELL_Timer = 15000;
|
||||
Cooldown = 0;
|
||||
|
||||
@@ -107,7 +107,7 @@ struct TRINITY_DLL_DECL boss_magus_telestraAI : public ScriptedAI
|
||||
pInstance->SetData(DATA_MAGUS_TELESTRA_EVENT, NOT_STARTED);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
void EnterCombat(Unit* who)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, m_creature);
|
||||
|
||||
@@ -157,8 +157,8 @@ struct TRINITY_DLL_DECL boss_magus_telestraAI : public ScriptedAI
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
//Return since we have no target
|
||||
if (!UpdateVictim())
|
||||
@@ -217,13 +217,13 @@ struct TRINITY_DLL_DECL boss_magus_telestraAI : public ScriptedAI
|
||||
}
|
||||
|
||||
if ((Phase == 0) && (m_creature->GetHealth() <= (m_creature->GetMaxHealth() * 0.5)))
|
||||
{
|
||||
{
|
||||
Phase = 1;
|
||||
m_creature->CastStop();
|
||||
m_creature->SetVisibility(VISIBILITY_OFF);
|
||||
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
FireMagusGUID = SplitPersonality(MOB_FIRE_MAGUS);
|
||||
FrostMagusGUID = SplitPersonality(MOB_FROST_MAGUS);
|
||||
FrostMagusGUID = SplitPersonality(MOB_FROST_MAGUS);
|
||||
ArcaneMagusGUID = SplitPersonality(MOB_ARCANE_MAGUS);
|
||||
FireMagusDead = false;
|
||||
FrostMagusDead = false;
|
||||
@@ -236,14 +236,14 @@ struct TRINITY_DLL_DECL boss_magus_telestraAI : public ScriptedAI
|
||||
return;
|
||||
}
|
||||
|
||||
if (HeroicMode && (Phase == 2) && (m_creature->GetHealth() <= (m_creature->GetMaxHealth() * 0.1)))
|
||||
{
|
||||
if (HeroicMode && (Phase == 2) && (m_creature->GetHealth() <= (m_creature->GetMaxHealth() * 0.1)))
|
||||
{
|
||||
Phase = 3;
|
||||
m_creature->CastStop();
|
||||
m_creature->SetVisibility(VISIBILITY_OFF);
|
||||
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
FireMagusGUID = SplitPersonality(MOB_FIRE_MAGUS);
|
||||
FrostMagusGUID = SplitPersonality(MOB_FROST_MAGUS);
|
||||
FrostMagusGUID = SplitPersonality(MOB_FROST_MAGUS);
|
||||
ArcaneMagusGUID = SplitPersonality(MOB_ARCANE_MAGUS);
|
||||
FireMagusDead = false;
|
||||
FrostMagusDead = false;
|
||||
@@ -263,7 +263,7 @@ struct TRINITY_DLL_DECL boss_magus_telestraAI : public ScriptedAI
|
||||
else
|
||||
{
|
||||
Cooldown -= diff;
|
||||
return;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -297,7 +297,7 @@ struct TRINITY_DLL_DECL boss_magus_telestraAI : public ScriptedAI
|
||||
SPELL_FIREBOMB_Timer = 2000;
|
||||
}else SPELL_FIREBOMB_Timer -=diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
|
||||
/* ScriptData
|
||||
SDName: Boss_Ormorok
|
||||
SD%Complete:
|
||||
SDComment:
|
||||
SD%Complete:
|
||||
SDComment:
|
||||
SDCategory: The Nexus, The Nexus
|
||||
EndScriptData */
|
||||
|
||||
@@ -55,7 +55,7 @@ enum
|
||||
|
||||
struct TRINITY_DLL_DECL boss_ormorokAI : public ScriptedAI
|
||||
{
|
||||
boss_ormorokAI(Creature *c) : ScriptedAI(c)
|
||||
boss_ormorokAI(Creature *c) : ScriptedAI(c)
|
||||
{
|
||||
pInstance = c->GetInstanceData();
|
||||
HeroicMode = c->GetMap()->IsHeroic();
|
||||
@@ -79,9 +79,9 @@ struct TRINITY_DLL_DECL boss_ormorokAI : public ScriptedAI
|
||||
uint32 SPELL_SPELL_REFLECTION_Timer;
|
||||
uint32 SPELL_SUMMON_CRYSTALLINE_TANGLER_Timer;
|
||||
|
||||
void Reset()
|
||||
void Reset()
|
||||
{
|
||||
SPELL_CRYSTAL_SPIKES_Timer = 12000;
|
||||
SPELL_CRYSTAL_SPIKES_Timer = 12000;
|
||||
SPELL_TRAMPLE_Timer = 10000;
|
||||
SPELL_SPELL_REFLECTION_Timer = 30000;
|
||||
SPELL_SUMMON_CRYSTALLINE_TANGLER_Timer = 17000;
|
||||
@@ -92,7 +92,7 @@ struct TRINITY_DLL_DECL boss_ormorokAI : public ScriptedAI
|
||||
pInstance->SetData(DATA_ORMOROK_EVENT, NOT_STARTED);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
void EnterCombat(Unit* who)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, m_creature);
|
||||
|
||||
@@ -100,7 +100,7 @@ struct TRINITY_DLL_DECL boss_ormorokAI : public ScriptedAI
|
||||
pInstance->SetData(DATA_ORMOROK_EVENT, IN_PROGRESS);
|
||||
}
|
||||
|
||||
void JustDied(Unit* killer)
|
||||
void JustDied(Unit* killer)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, m_creature);
|
||||
|
||||
@@ -113,7 +113,7 @@ struct TRINITY_DLL_DECL boss_ormorokAI : public ScriptedAI
|
||||
DoScriptText(SAY_KILL, m_creature);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
{
|
||||
@@ -209,7 +209,7 @@ struct TRINITY_DLL_DECL boss_ormorokAI : public ScriptedAI
|
||||
SPELL_SUMMON_CRYSTALLINE_TANGLER_Timer = 17000;
|
||||
}else SPELL_SUMMON_CRYSTALLINE_TANGLER_Timer -=diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -235,7 +235,7 @@ struct TRINITY_DLL_DECL mob_crystal_spikeAI : public Scripted_NoMovementAI
|
||||
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); //
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (SPELL_CRYSTAL_SPIKE_PREVISUAL_Timer < diff)
|
||||
{
|
||||
@@ -248,8 +248,8 @@ struct TRINITY_DLL_DECL mob_crystal_spikeAI : public Scripted_NoMovementAI
|
||||
DoCast(m_creature, HeroicMode ? SPELL_CRYSTALL_SPIKE_DAMAGE_H : SPELL_CRYSTALL_SPIKE_DAMAGE_N);
|
||||
SPELL_CRYSTALL_SPIKE_DAMAGE_Timer = 10000;
|
||||
}else SPELL_CRYSTALL_SPIKE_DAMAGE_Timer -=diff;
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
struct TRINITY_DLL_DECL mob_crystalline_tanglerAI : public ScriptedAI
|
||||
{
|
||||
@@ -262,7 +262,7 @@ struct TRINITY_DLL_DECL mob_crystalline_tanglerAI : public ScriptedAI
|
||||
SPELL_ROOTS_Timer = 1000;
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (SPELL_ROOTS_Timer < diff)
|
||||
{
|
||||
@@ -272,8 +272,8 @@ struct TRINITY_DLL_DECL mob_crystalline_tanglerAI : public ScriptedAI
|
||||
SPELL_ROOTS_Timer = 15000;
|
||||
}
|
||||
}else SPELL_ROOTS_Timer -=diff;
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI_mob_crystal_spike(Creature* pCreature)
|
||||
{
|
||||
|
||||
@@ -96,7 +96,7 @@ struct TRINITY_DLL_DECL instance_nexus : public ScriptedInstance
|
||||
pCreature->SetDisplayId(24352);
|
||||
break;
|
||||
}
|
||||
case 26796:
|
||||
case 26796:
|
||||
{
|
||||
//26798
|
||||
pCreature->setFaction(16);
|
||||
|
||||
@@ -87,7 +87,7 @@ enum
|
||||
//Shadron
|
||||
//In portal is a disciple, when disciple killed remove Power_of_vesperon, portal open multiple times
|
||||
NPC_ACOLYTE_OF_SHADRON = 31218, // Acolyte of Shadron
|
||||
SPELL_POWER_OF_SHADRON = 58105, // Shadron's presence increases Fire damage taken by all enemies by 100%.
|
||||
SPELL_POWER_OF_SHADRON = 58105, // Shadron's presence increases Fire damage taken by all enemies by 100%.
|
||||
SPELL_GIFT_OF_TWILIGTH_SHA = 57835, // TARGET_SCRIPT shadron
|
||||
SPELL_GIFT_OF_TWILIGTH_SAR = 58766, // TARGET_SCRIPT sartharion
|
||||
|
||||
@@ -191,7 +191,7 @@ struct TRINITY_DLL_DECL boss_sartharionAI : public ScriptedAI
|
||||
bool m_bHasCalledShadron;
|
||||
bool m_bHasCalledVesperon;
|
||||
|
||||
void Reset()
|
||||
void Reset()
|
||||
{
|
||||
m_bIsBerserk = false;
|
||||
m_bIsSoftEnraged = false;
|
||||
@@ -349,7 +349,7 @@ struct TRINITY_DLL_DECL boss_sartharionAI : public ScriptedAI
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 uiDiff)
|
||||
void UpdateAI(const uint32 uiDiff)
|
||||
{
|
||||
//Return since we have no target
|
||||
if (!UpdateVictim())
|
||||
@@ -731,7 +731,7 @@ struct TRINITY_DLL_DECL mob_tenebronAI : public dummy_dragonAI
|
||||
m_uiHatchEggTimer = 30000;
|
||||
}
|
||||
|
||||
void Aggro(Unit* pWho)
|
||||
void Aggro(Unit* pWho)
|
||||
{
|
||||
DoScriptText(SAY_TENEBRON_AGGRO, m_creature);
|
||||
DoZoneInCombat();
|
||||
@@ -811,7 +811,7 @@ struct TRINITY_DLL_DECL mob_shadronAI : public dummy_dragonAI
|
||||
m_creature->RemoveAurasDueToSpell(SPELL_GIFT_OF_TWILIGTH_SHA);
|
||||
}
|
||||
|
||||
void Aggro(Unit* pWho)
|
||||
void Aggro(Unit* pWho)
|
||||
{
|
||||
DoScriptText(SAY_SHADRON_AGGRO,m_creature);
|
||||
DoZoneInCombat();
|
||||
@@ -885,7 +885,7 @@ struct TRINITY_DLL_DECL mob_vesperonAI : public dummy_dragonAI
|
||||
m_uiAcolyteVesperonTimer = 60000;
|
||||
}
|
||||
|
||||
void Aggro(Unit* pWho)
|
||||
void Aggro(Unit* pWho)
|
||||
{
|
||||
DoScriptText(SAY_VESPERON_AGGRO,m_creature);
|
||||
DoZoneInCombat();
|
||||
|
||||
@@ -38,7 +38,7 @@ EndContentData */
|
||||
#define GOSSIP_ITEM1 "I am ready to travel to your village now."
|
||||
|
||||
enum
|
||||
{
|
||||
{
|
||||
SAY_START_IRO = -1571000,
|
||||
SAY_QUEST_ACCEPT_IRO = -1571001,
|
||||
SAY_END_IRO = -1571002,
|
||||
@@ -83,13 +83,13 @@ struct TRINITY_DLL_DECL npc_injured_rainspeaker_oracleAI : public npc_escortAI
|
||||
case 15:
|
||||
case 16:
|
||||
case 17:
|
||||
case 18:
|
||||
case 18:
|
||||
m_creature->RemoveUnitMovementFlag(MOVEMENTFLAG_SWIMMING);
|
||||
m_creature->RemoveUnitMovementFlag(MOVEMENTFLAG_JUMPING);
|
||||
m_creature->SetSpeed(MOVE_SWIM, 0.85f, true);
|
||||
m_creature->AddUnitMovementFlag(MOVEMENTFLAG_SWIMMING + MOVEMENTFLAG_LEVITATING);
|
||||
break;
|
||||
case 19:
|
||||
case 19:
|
||||
m_creature->SetUnitMovementFlags(MOVEMENTFLAG_JUMPING);
|
||||
break;
|
||||
case 28:
|
||||
@@ -108,7 +108,7 @@ struct TRINITY_DLL_DECL npc_injured_rainspeaker_oracleAI : public npc_escortAI
|
||||
return;
|
||||
|
||||
if (Player* pPlayer = GetPlayerForEscort())
|
||||
{
|
||||
{
|
||||
if (pPlayer->GetQuestStatus(QUEST_FORTUNATE_MISUNDERSTANDINGS) != QUEST_STATUS_COMPLETE)
|
||||
pPlayer->FailQuest(QUEST_FORTUNATE_MISUNDERSTANDINGS);
|
||||
}
|
||||
@@ -225,10 +225,10 @@ bool GossipSelect_npc_vekjik(Player* pPlayer, Creature* pCreature, uint32 uiSend
|
||||
#define GOSSIP_ITEM_AOF3 "I will not fail."
|
||||
|
||||
enum
|
||||
{
|
||||
{
|
||||
QUEST_FREYA_PACT = 12621,
|
||||
|
||||
SPELL_FREYA_CONVERSATION = 52045,
|
||||
SPELL_FREYA_CONVERSATION = 52045,
|
||||
|
||||
GOSSIP_TEXTID_AVATAR1 = 13303,
|
||||
GOSSIP_TEXTID_AVATAR2 = 13304,
|
||||
|
||||
@@ -34,7 +34,7 @@ enum
|
||||
struct TRINITY_DLL_DECL npc_agnetta_tyrsdottarAI : public ScriptedAI
|
||||
{
|
||||
npc_agnetta_tyrsdottarAI(Creature* pCreature) : ScriptedAI(pCreature) { }
|
||||
|
||||
|
||||
void Reset()
|
||||
{
|
||||
me->RestoreFaction();
|
||||
@@ -83,8 +83,8 @@ enum
|
||||
|
||||
|
||||
bool GossipHello_npc_frostborn_scout(Player* pPlayer, Creature* pCreature)
|
||||
{
|
||||
|
||||
{
|
||||
|
||||
if (pPlayer->GetQuestStatus(QUEST_MISSING_SCOUTS) == QUEST_STATUS_INCOMPLETE)
|
||||
{
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
|
||||
|
||||
@@ -138,12 +138,12 @@ struct TRINITY_DLL_DECL boss_lokenAI : public ScriptedAI
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 uiDiff)
|
||||
void UpdateAI(const uint32 uiDiff)
|
||||
{
|
||||
//Return since we have no target
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
|
||||
if (EncounterTimer)
|
||||
EncounterTimer += uiDiff;
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ EndScriptData */
|
||||
#define SPELL_LIGHTNING_TENDRILS 61887
|
||||
#define SPELL_LIGHTNING_TENDRILS_H 63486
|
||||
#define SPELL_STORMSHIELD 64187
|
||||
|
||||
|
||||
|
||||
|
||||
enum
|
||||
@@ -84,7 +84,7 @@ enum
|
||||
EVENT_LIGHTNING_TENDRILS,
|
||||
EVENT_STORMSHIELD,
|
||||
MAX_EVENT
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -93,18 +93,18 @@ bool IsEncounterComplete(ScriptedInstance* pInstance, Creature* m_creature)
|
||||
{
|
||||
if (!pInstance || !m_creature)
|
||||
return false;
|
||||
|
||||
|
||||
for(uint8 i = 0; i < 3; ++i)
|
||||
{
|
||||
uint64 guid = pInstance->GetData64(DATA_STEELBREAKER+i);
|
||||
if(!guid)
|
||||
return false;
|
||||
|
||||
|
||||
if(Creature *boss = (Unit::GetCreature((*m_creature), guid)))
|
||||
{
|
||||
if(boss->isAlive())
|
||||
return false;
|
||||
|
||||
|
||||
continue;
|
||||
}
|
||||
else
|
||||
@@ -119,7 +119,7 @@ struct TRINITY_DLL_DECL boss_steelbreakerAI : public ScriptedAI
|
||||
{
|
||||
pInstance = c->GetInstanceData();
|
||||
}
|
||||
|
||||
|
||||
void Reset()
|
||||
{
|
||||
events.Reset();
|
||||
@@ -128,7 +128,7 @@ struct TRINITY_DLL_DECL boss_steelbreakerAI : public ScriptedAI
|
||||
if(pInstance)
|
||||
pInstance->SetData(DATA_ASSEMBLY, NOT_STARTED);
|
||||
}
|
||||
|
||||
|
||||
EventMap events;
|
||||
ScriptedInstance* pInstance;
|
||||
uint32 phase;
|
||||
@@ -140,7 +140,7 @@ struct TRINITY_DLL_DECL boss_steelbreakerAI : public ScriptedAI
|
||||
events.ScheduleEvent(EVENT_ENRAGE, 900000);
|
||||
UpdatePhase();
|
||||
}
|
||||
|
||||
|
||||
void UpdatePhase()
|
||||
{
|
||||
++phase;
|
||||
@@ -151,7 +151,7 @@ struct TRINITY_DLL_DECL boss_steelbreakerAI : public ScriptedAI
|
||||
if(phase >= 3)
|
||||
events.RescheduleEvent(EVENT_OVERWHELMING_POWER, rand()%5000);
|
||||
}
|
||||
|
||||
|
||||
void DamageTaken(Unit* pKiller, uint32 &damage)
|
||||
{
|
||||
if(damage >= m_creature->GetHealth())
|
||||
@@ -161,7 +161,7 @@ struct TRINITY_DLL_DECL boss_steelbreakerAI : public ScriptedAI
|
||||
{
|
||||
Brundir->SetHealth(Brundir->GetMaxHealth());
|
||||
}
|
||||
|
||||
|
||||
if(Creature* Molgeim = Unit::GetCreature(*m_creature, pInstance ? pInstance->GetData64(DATA_RUNEMASTER_MOLGEIM) : 0))
|
||||
if(Molgeim->isAlive())
|
||||
{
|
||||
@@ -170,25 +170,25 @@ struct TRINITY_DLL_DECL boss_steelbreakerAI : public ScriptedAI
|
||||
DoCast(SPELL_SUPERCHARGE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void JustDied(Unit* Killer)
|
||||
{
|
||||
if(IsEncounterComplete(pInstance, m_creature) && pInstance)
|
||||
pInstance->SetData(DATA_ASSEMBLY, DONE);
|
||||
}
|
||||
|
||||
|
||||
void KilledUnit(Unit *who)
|
||||
{
|
||||
if(phase == 3)
|
||||
DoCast(m_creature, SPELL_ELECTRICAL_CHARGE);
|
||||
}
|
||||
|
||||
|
||||
void SpellHit(Unit *from, const SpellEntry *spell)
|
||||
{
|
||||
if(spell->Id == SPELL_SUPERCHARGE)
|
||||
UpdatePhase();
|
||||
}
|
||||
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
@@ -220,8 +220,8 @@ struct TRINITY_DLL_DECL boss_steelbreakerAI : public ScriptedAI
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -231,7 +231,7 @@ struct TRINITY_DLL_DECL boss_runemaster_molgeimAI : public ScriptedAI
|
||||
{
|
||||
pInstance = c->GetInstanceData();
|
||||
}
|
||||
|
||||
|
||||
void Reset()
|
||||
{
|
||||
if(pInstance)
|
||||
@@ -240,18 +240,18 @@ struct TRINITY_DLL_DECL boss_runemaster_molgeimAI : public ScriptedAI
|
||||
m_creature->RemoveAllAuras();
|
||||
phase = 0;
|
||||
}
|
||||
|
||||
|
||||
ScriptedInstance* pInstance;
|
||||
EventMap events;
|
||||
uint32 phase;
|
||||
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
{
|
||||
DoZoneInCombat();
|
||||
events.ScheduleEvent(EVENT_ENRAGE, 900000);
|
||||
UpdatePhase();
|
||||
}
|
||||
|
||||
|
||||
void UpdatePhase()
|
||||
{
|
||||
++phase;
|
||||
@@ -263,17 +263,17 @@ struct TRINITY_DLL_DECL boss_runemaster_molgeimAI : public ScriptedAI
|
||||
if(phase >= 3)
|
||||
events.RescheduleEvent(EVENT_RUNE_OF_SUMMONING, 20000+(rand()%10)*1000);
|
||||
}
|
||||
|
||||
|
||||
void DamageTaken(Unit* pKiller, uint32 &damage)
|
||||
{
|
||||
if(damage >= m_creature->GetHealth())
|
||||
{
|
||||
{
|
||||
if(Creature* Steelbreaker = Unit::GetCreature(*m_creature, pInstance ? pInstance->GetData64(DATA_STEELBREAKER) : 0))
|
||||
if(Steelbreaker->isAlive())
|
||||
{
|
||||
Steelbreaker->SetHealth(Steelbreaker->GetMaxHealth());
|
||||
}
|
||||
|
||||
|
||||
if(Creature* Brundir = Unit::GetCreature((*m_creature), pInstance ? pInstance->GetData64(DATA_STORMCALLER_BRUNDIR) : 0))
|
||||
if(Brundir->isAlive())
|
||||
{
|
||||
@@ -282,19 +282,19 @@ struct TRINITY_DLL_DECL boss_runemaster_molgeimAI : public ScriptedAI
|
||||
DoCast(m_creature, SPELL_SUPERCHARGE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void JustDied(Unit* Killer)
|
||||
{
|
||||
if(IsEncounterComplete(pInstance, m_creature) && pInstance)
|
||||
pInstance->SetData(DATA_ASSEMBLY, DONE);
|
||||
}
|
||||
|
||||
|
||||
void SpellHit(Unit *from, const SpellEntry *spell)
|
||||
{
|
||||
if(spell->Id == SPELL_SUPERCHARGE)
|
||||
UpdatePhase();
|
||||
}
|
||||
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
@@ -326,7 +326,7 @@ struct TRINITY_DLL_DECL boss_runemaster_molgeimAI : public ScriptedAI
|
||||
{
|
||||
Unit *target = SelectTarget(SELECT_TARGET_RANDOM);
|
||||
DoCast(target, SPELL_RUNE_OF_DEATH);
|
||||
events.ScheduleEvent(EVENT_RUNE_OF_DEATH, 30000+ (rand()%10)*1000);
|
||||
events.ScheduleEvent(EVENT_RUNE_OF_DEATH, 30000+ (rand()%10)*1000);
|
||||
}
|
||||
break;
|
||||
case EVENT_RUNE_OF_SUMMONING:
|
||||
@@ -338,8 +338,8 @@ struct TRINITY_DLL_DECL boss_runemaster_molgeimAI : public ScriptedAI
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -351,28 +351,28 @@ struct TRINITY_DLL_DECL mob_lightning_elementalAI : public ScriptedAI
|
||||
}
|
||||
|
||||
Unit* Target;
|
||||
|
||||
|
||||
void Charge()
|
||||
{
|
||||
Target = m_creature->SelectNearestTarget();
|
||||
m_creature->AddThreat(Target, 5000000.0f);
|
||||
AttackStart(Target);
|
||||
}
|
||||
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if(!m_creature->isInCombat())
|
||||
return;
|
||||
|
||||
|
||||
if(m_creature->IsWithinMeleeRange(Target))
|
||||
{
|
||||
DoCast(Target, (HeroicMode) ? SPELL_LIGHTNING_BLAST_H : SPELL_LIGHTNING_BLAST);
|
||||
m_creature->DealDamage(m_creature, m_creature->GetMaxHealth()); // hack untill spell works
|
||||
}
|
||||
|
||||
|
||||
m_creature->GetMotionMaster()->MoveChase(Target); // needed at every update?
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
|
||||
struct TRINITY_DLL_DECL mob_rune_of_summoningAI : public ScriptedAI
|
||||
@@ -395,7 +395,7 @@ struct TRINITY_DLL_DECL boss_stormcaller_brundirAI : public ScriptedAI
|
||||
{
|
||||
pInstance = c->GetInstanceData();
|
||||
}
|
||||
|
||||
|
||||
void Reset()
|
||||
{
|
||||
if(pInstance)
|
||||
@@ -404,18 +404,18 @@ struct TRINITY_DLL_DECL boss_stormcaller_brundirAI : public ScriptedAI
|
||||
events.Reset();
|
||||
phase = 0;
|
||||
}
|
||||
|
||||
|
||||
EventMap events;
|
||||
ScriptedInstance* pInstance;
|
||||
uint32 phase;
|
||||
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
{
|
||||
DoZoneInCombat();
|
||||
events.ScheduleEvent(EVENT_ENRAGE, 900000);
|
||||
UpdatePhase();
|
||||
}
|
||||
|
||||
|
||||
void UpdatePhase()
|
||||
{
|
||||
++phase;
|
||||
@@ -429,9 +429,9 @@ struct TRINITY_DLL_DECL boss_stormcaller_brundirAI : public ScriptedAI
|
||||
DoCast(m_creature, SPELL_STORMSHIELD);
|
||||
events.RescheduleEvent(EVENT_LIGHTNING_TENDRILS, 40000+ (rand()%40)*1000);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
void DamageTaken(Unit* pKiller, uint32 &damage)
|
||||
{
|
||||
if(damage >= m_creature->GetHealth())
|
||||
@@ -441,23 +441,23 @@ struct TRINITY_DLL_DECL boss_stormcaller_brundirAI : public ScriptedAI
|
||||
{
|
||||
Steelbreaker->SetHealth(Steelbreaker->GetMaxHealth());
|
||||
}
|
||||
|
||||
|
||||
if(Creature* Molgeim = Unit::GetCreature(*m_creature, pInstance ? pInstance->GetData64(DATA_RUNEMASTER_MOLGEIM) : 0))
|
||||
if(Molgeim->isAlive())
|
||||
{
|
||||
Molgeim->SetHealth(Molgeim->GetMaxHealth());
|
||||
}
|
||||
|
||||
|
||||
DoCast(SPELL_SUPERCHARGE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void JustDied(Unit* Killer)
|
||||
{
|
||||
if(IsEncounterComplete(pInstance, m_creature) && pInstance)
|
||||
pInstance->SetData(DATA_ASSEMBLY, DONE);
|
||||
}
|
||||
|
||||
|
||||
void SpellHit(Unit *from, const SpellEntry *spell)
|
||||
{
|
||||
if(spell->Id == SPELL_SUPERCHARGE)
|
||||
@@ -465,7 +465,7 @@ struct TRINITY_DLL_DECL boss_stormcaller_brundirAI : public ScriptedAI
|
||||
UpdatePhase();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
@@ -502,8 +502,8 @@ struct TRINITY_DLL_DECL boss_stormcaller_brundirAI : public ScriptedAI
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -540,7 +540,7 @@ void AddSC_boss_assembly_of_iron()
|
||||
newscript->Name="boss_steelbreaker";
|
||||
newscript->GetAI = &GetAI_boss_steelbreaker;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name="boss_runemaster_molgeim";
|
||||
newscript->GetAI = &GetAI_boss_runemaster_molgeim;
|
||||
@@ -550,15 +550,15 @@ void AddSC_boss_assembly_of_iron()
|
||||
newscript->Name="boss_stormcaller_brundir";
|
||||
newscript->GetAI = &GetAI_boss_stormcaller_brundir;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name="mob_lightning_elemental";
|
||||
newscript->GetAI = &GetAI_mob_lightning_elemental;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name="mob_rune_of_summoning";
|
||||
newscript->GetAI = &GetAI_mob_rune_of_summoning;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
|
||||
}
|
||||
@@ -22,19 +22,19 @@
|
||||
struct TRINITY_DLL_DECL instance_ulduar : public ScriptedInstance
|
||||
{
|
||||
instance_ulduar(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
|
||||
|
||||
|
||||
uint32 m_auiEncounter[MAX_ENCOUNTER];
|
||||
|
||||
|
||||
uint64 boss_assembly[3];
|
||||
|
||||
|
||||
void Initialize()
|
||||
{
|
||||
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
|
||||
|
||||
|
||||
for(uint8 i = 0; i < 3; ++i)
|
||||
boss_assembly[i] = 0;
|
||||
}
|
||||
|
||||
|
||||
bool IsEncounterInProgress() const
|
||||
{
|
||||
for(uint8 i = 0; i < MAX_ENCOUNTER; ++i)
|
||||
@@ -42,7 +42,7 @@ struct TRINITY_DLL_DECL instance_ulduar : public ScriptedInstance
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
void OnCreatureCreate(Creature* pCreature, bool add)
|
||||
{
|
||||
switch(pCreature->GetEntry())
|
||||
@@ -51,7 +51,7 @@ struct TRINITY_DLL_DECL instance_ulduar : public ScriptedInstance
|
||||
case 32927: boss_assembly[1] = pCreature->GetGUID(); break;
|
||||
case 32857: boss_assembly[2] = pCreature->GetGUID(); break;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
uint64 GetData64(uint32 identifier)
|
||||
@@ -64,7 +64,7 @@ struct TRINITY_DLL_DECL instance_ulduar : public ScriptedInstance
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
uint32 GetData(uint32 type)
|
||||
{
|
||||
switch(type)
|
||||
@@ -85,10 +85,10 @@ struct TRINITY_DLL_DECL instance_ulduar : public ScriptedInstance
|
||||
case BOSS_ALGALON:
|
||||
return m_auiEncounter[type];
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void SetData(uint32 type, uint32 data)
|
||||
{
|
||||
switch(type)
|
||||
|
||||
+1
-1
@@ -81,7 +81,7 @@ struct TRINITY_DLL_DECL instance_utgarde_keep : public ScriptedInstance
|
||||
forge_fire[i] = 0;
|
||||
forge_anvil[i] = 0;
|
||||
}
|
||||
|
||||
|
||||
portcullis[0] = 0;
|
||||
portcullis[1] = 0;
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#include "precompiled.h"
|
||||
#include "def_utgarde_keep.h"
|
||||
|
||||
uint32 entry_search[3] =
|
||||
uint32 entry_search[3] =
|
||||
{
|
||||
186609,
|
||||
186610,
|
||||
@@ -28,7 +28,7 @@ uint32 entry_search[3] =
|
||||
|
||||
struct TRINITY_DLL_DECL npc_dragonflayer_forge_masterAI : public ScriptedAI
|
||||
{
|
||||
npc_dragonflayer_forge_masterAI(Creature *c) : ScriptedAI(c)
|
||||
npc_dragonflayer_forge_masterAI(Creature *c) : ScriptedAI(c)
|
||||
{
|
||||
pInstance = c->GetInstanceData();
|
||||
fm_Type = 0;
|
||||
@@ -118,11 +118,11 @@ struct TRINITY_DLL_DECL npc_dragonflayer_forge_masterAI : public ScriptedAI
|
||||
{
|
||||
near_f = i + 1;
|
||||
diff = m_creature->GetDistance2d(temp);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
switch (near_f)
|
||||
{
|
||||
case 1: return 1;
|
||||
|
||||
@@ -13,7 +13,7 @@ UPDATE `creature_template` SET `ScriptName`='mob_archavon_warder' WHERE `entry`=
|
||||
#define SPELL_STOMP HEROIC(58663,60880)
|
||||
#define SPELL_IMPALE HEROIC(58666,60882) //Lifts an enemy off the ground with a spiked fist, inflicting 47125 to 52875 Physical damage and 9425 to 10575 additional damage each second for 8 sec.
|
||||
#define SPELL_BERSERK 47008
|
||||
//Spells Archavon Warders
|
||||
//Spells Archavon Warders
|
||||
#define SPELL_ROCK_SHOWER HEROIC(60919,60923)
|
||||
#define SPELL_SHIELD_CRUSH HEROIC(60897,60899)
|
||||
#define SPELL_WHIRL HEROIC(60902,60916)
|
||||
@@ -28,7 +28,7 @@ UPDATE `creature_template` SET `ScriptName`='mob_archavon_warder' WHERE `entry`=
|
||||
#define EVENT_CHOKING_CLOUD 2 //30s cd
|
||||
#define EVENT_STOMP 3 //45s cd
|
||||
#define EVENT_IMPALE 4
|
||||
#define EVENT_BERSERK 5 //300s cd
|
||||
#define EVENT_BERSERK 5 //300s cd
|
||||
|
||||
//mob
|
||||
#define EVENT_ROCK_SHOWER 5 //set = 20s cd,unkown cd
|
||||
@@ -37,7 +37,7 @@ UPDATE `creature_template` SET `ScriptName`='mob_archavon_warder' WHERE `entry`=
|
||||
|
||||
struct TRINITY_DLL_DECL boss_archavonAI : public ScriptedAI
|
||||
{
|
||||
boss_archavonAI(Creature *c) : ScriptedAI(c)
|
||||
boss_archavonAI(Creature *c) : ScriptedAI(c)
|
||||
{
|
||||
pInstance = c->GetInstanceData();
|
||||
}
|
||||
@@ -109,7 +109,7 @@ struct TRINITY_DLL_DECL boss_archavonAI : public ScriptedAI
|
||||
return;
|
||||
case EVENT_BERSERK:
|
||||
DoCast(m_creature, SPELL_BERSERK);
|
||||
DoScriptText(EMOTE_BERSERK, m_creature);
|
||||
DoScriptText(EMOTE_BERSERK, m_creature);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ struct TRINITY_DLL_DECL boss_emalonAI : public ScriptedAI
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_EMALON_EVENT, NOT_STARTED);
|
||||
}
|
||||
|
||||
|
||||
void DespawnAllMinions()
|
||||
{
|
||||
if(!MinionList.empty())
|
||||
@@ -155,10 +155,10 @@ struct TRINITY_DLL_DECL boss_emalonAI : public ScriptedAI
|
||||
DoScriptText(EMOTE_OVERCHARGE, m_creature);
|
||||
events.ScheduleEvent(EVENT_OVERCHARGE, 45000);
|
||||
}
|
||||
}
|
||||
}
|
||||
return;
|
||||
case EVENT_BERSERK:
|
||||
DoCast(m_creature, SPELL_BERSERK);
|
||||
DoCast(m_creature, SPELL_BERSERK);
|
||||
DoScriptText(EMOTE_BERSERK, m_creature);
|
||||
return;
|
||||
}
|
||||
@@ -173,7 +173,7 @@ struct TRINITY_DLL_DECL boss_emalonAI : public ScriptedAI
|
||||
######*/
|
||||
struct TRINITY_DLL_DECL mob_tempest_minionAI : public ScriptedAI
|
||||
{
|
||||
mob_tempest_minionAI(Creature *c) : ScriptedAI(c)
|
||||
mob_tempest_minionAI(Creature *c) : ScriptedAI(c)
|
||||
{
|
||||
pInstance = c->GetInstanceData();
|
||||
EmalonGUID = pInstance ? pInstance->GetData64(DATA_EMALON) : 0;
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
/* Script Data Start
|
||||
SDName: Boss cyanigosa
|
||||
SDAuthor: LordVanMartin
|
||||
SD%Complete:
|
||||
SDComment:
|
||||
SDCategory:
|
||||
SD%Complete:
|
||||
SDComment:
|
||||
SDCategory:
|
||||
Script Data End */
|
||||
|
||||
/*** SQL START ***
|
||||
/*** SQL START ***
|
||||
update creature_template set scriptname = '' where entry = '';
|
||||
*** SQL END ***/
|
||||
#include "precompiled.h"
|
||||
@@ -33,23 +33,23 @@ update creature_template set scriptname = '' where entry = '';
|
||||
struct TRINITY_DLL_DECL boss_cyanigosaAI : public ScriptedAI
|
||||
{
|
||||
boss_cyanigosaAI(Creature *c) : ScriptedAI(c) {}
|
||||
|
||||
|
||||
void Reset() {}
|
||||
void EnterCombat(Unit* who)
|
||||
void EnterCombat(Unit* who)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, m_creature);
|
||||
}
|
||||
void AttackStart(Unit* who) {}
|
||||
void MoveInLineOfSight(Unit* who) {}
|
||||
void UpdateAI(const uint32 diff)
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
//Return since we have no target
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
void JustDied(Unit* killer)
|
||||
void JustDied(Unit* killer)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, m_creature);
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
/* Script Data Start
|
||||
SDName: Boss erekem
|
||||
SDAuthor: LordVanMartin
|
||||
SD%Complete:
|
||||
SDComment:
|
||||
SDCategory:
|
||||
SD%Complete:
|
||||
SDComment:
|
||||
SDCategory:
|
||||
Script Data End */
|
||||
|
||||
/*** SQL START ***
|
||||
/*** SQL START ***
|
||||
update creature_template set scriptname = '' where entry = '';
|
||||
*** SQL END ***/
|
||||
#include "precompiled.h"
|
||||
@@ -35,21 +35,21 @@ struct TRINITY_DLL_DECL boss_erekemAI : public ScriptedAI
|
||||
boss_erekemAI(Creature *c) : ScriptedAI(c) {}
|
||||
|
||||
void Reset() {}
|
||||
void EnterCombat(Unit* who)
|
||||
void EnterCombat(Unit* who)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, m_creature);
|
||||
}
|
||||
void AttackStart(Unit* who) {}
|
||||
void MoveInLineOfSight(Unit* who) {}
|
||||
void UpdateAI(const uint32 diff)
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
//Return since we have no target
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
void JustDied(Unit* killer)
|
||||
void JustDied(Unit* killer)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, m_creature);
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
/* Script Data Start
|
||||
SDName: Boss ichoron
|
||||
SDAuthor: LordVanMartin
|
||||
SD%Complete:
|
||||
SDComment:
|
||||
SDCategory:
|
||||
SD%Complete:
|
||||
SDComment:
|
||||
SDCategory:
|
||||
Script Data End */
|
||||
|
||||
/*** SQL START ***
|
||||
/*** SQL START ***
|
||||
update creature_template set scriptname = '' where entry = '';
|
||||
*** SQL END ***/
|
||||
#include "precompiled.h"
|
||||
@@ -16,7 +16,7 @@ update creature_template set scriptname = '' where entry = '';
|
||||
#define SPELL_FRENZY 54312
|
||||
#define SPELL_PROTECTIVE_BUBBLE 54306
|
||||
#define SPELL_WATER_BLAST 54237
|
||||
#define SPELL_WATER_BOLT_VOLLEY 54241
|
||||
#define SPELL_WATER_BOLT_VOLLEY 54241
|
||||
|
||||
//Yells
|
||||
#define SAY_AGGRO -1608018
|
||||
@@ -34,21 +34,21 @@ struct TRINITY_DLL_DECL boss_ichoronAI : public ScriptedAI
|
||||
boss_ichoronAI(Creature *c) : ScriptedAI(c) {}
|
||||
|
||||
void Reset() {}
|
||||
void EnterCombat(Unit* who)
|
||||
void EnterCombat(Unit* who)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, m_creature);
|
||||
}
|
||||
void AttackStart(Unit* who) {}
|
||||
void MoveInLineOfSight(Unit* who) {}
|
||||
void UpdateAI(const uint32 diff)
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
//Return since we have no target
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
void JustDied(Unit* killer)
|
||||
void JustDied(Unit* killer)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, m_creature);
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
/* Script Data Start
|
||||
SDName: Boss lavanthor
|
||||
SDAuthor: LordVanMartin
|
||||
SD%Complete:
|
||||
SDComment:
|
||||
SDCategory:
|
||||
SD%Complete:
|
||||
SDComment:
|
||||
SDCategory:
|
||||
Script Data End */
|
||||
|
||||
/*** SQL START ***
|
||||
/*** SQL START ***
|
||||
update creature_template set scriptname = '' where entry = '';
|
||||
*** SQL END ***/
|
||||
#include "precompiled.h"
|
||||
@@ -25,13 +25,13 @@ struct TRINITY_DLL_DECL boss_lavanthorAI : public ScriptedAI
|
||||
void EnterCombat(Unit* who) {}
|
||||
void AttackStart(Unit* who) {}
|
||||
void MoveInLineOfSight(Unit* who) {}
|
||||
void UpdateAI(const uint32 diff)
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
//Return since we have no target
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
void JustDied(Unit* killer) {}
|
||||
};
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
/* Script Data Start
|
||||
SDName: Boss moragg
|
||||
SDAuthor: LordVanMartin
|
||||
SD%Complete:
|
||||
SDComment:
|
||||
SDCategory:
|
||||
SD%Complete:
|
||||
SDComment:
|
||||
SDCategory:
|
||||
Script Data End */
|
||||
|
||||
/*** SQL START ***
|
||||
/*** SQL START ***
|
||||
update creature_template set scriptname = '' where entry = '';
|
||||
*** SQL END ***/
|
||||
#include "precompiled.h"
|
||||
@@ -18,18 +18,18 @@ update creature_template set scriptname = '' where entry = '';
|
||||
struct TRINITY_DLL_DECL boss_moraggAI : public ScriptedAI
|
||||
{
|
||||
boss_moraggAI(Creature *c) : ScriptedAI(c) {}
|
||||
|
||||
|
||||
void Reset() {}
|
||||
void EnterCombat(Unit* who) {}
|
||||
void AttackStart(Unit* who) {}
|
||||
void MoveInLineOfSight(Unit* who) {}
|
||||
void UpdateAI(const uint32 diff)
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
//Return since we have no target
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
return;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
void JustDied(Unit* killer) {}
|
||||
};
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
/* Script Data Start
|
||||
SDName: Boss xevozz
|
||||
SDAuthor: LordVanMartin
|
||||
SD%Complete:
|
||||
SDComment:
|
||||
SDCategory:
|
||||
SD%Complete:
|
||||
SDComment:
|
||||
SDCategory:
|
||||
Script Data End */
|
||||
|
||||
/*** SQL START ***
|
||||
/*** SQL START ***
|
||||
update creature_template set scriptname = '' where entry = '';
|
||||
*** SQL END ***/
|
||||
#include "precompiled.h"
|
||||
@@ -35,21 +35,21 @@ struct TRINITY_DLL_DECL boss_xevozzAI : public ScriptedAI
|
||||
boss_xevozzAI(Creature *c) : ScriptedAI(c) {}
|
||||
|
||||
void Reset() {}
|
||||
void EnterCombat(Unit* who)
|
||||
void EnterCombat(Unit* who)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, m_creature);
|
||||
}
|
||||
void AttackStart(Unit* who) {}
|
||||
void MoveInLineOfSight(Unit* who) {}
|
||||
void UpdateAI(const uint32 diff)
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
//Return since we have no target
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
void JustDied(Unit* killer)
|
||||
void JustDied(Unit* killer)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, m_creature);
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
/* Script Data Start
|
||||
SDName: Boss zuramat
|
||||
SDAuthor: LordVanMartin
|
||||
SD%Complete:
|
||||
SDComment:
|
||||
SDCategory:
|
||||
SD%Complete:
|
||||
SDComment:
|
||||
SDCategory:
|
||||
Script Data End */
|
||||
|
||||
/*** SQL START ***
|
||||
/*** SQL START ***
|
||||
update creature_template set scriptname = '' where entry = '';
|
||||
*** SQL END ***/
|
||||
#include "precompiled.h"
|
||||
@@ -33,23 +33,23 @@ struct TRINITY_DLL_DECL boss_zuramatAI : public ScriptedAI
|
||||
boss_zuramatAI(Creature *c) : ScriptedAI(c) {}
|
||||
|
||||
uint32 void_shift;
|
||||
|
||||
|
||||
void Reset() {}
|
||||
void EnterCombat(Unit* who)
|
||||
void EnterCombat(Unit* who)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, m_creature);
|
||||
}
|
||||
void AttackStart(Unit* who) {}
|
||||
void MoveInLineOfSight(Unit* who) {}
|
||||
void UpdateAI(const uint32 diff)
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
//Return since we have no target
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
void JustDied(Unit* killer)
|
||||
void JustDied(Unit* killer)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, m_creature);
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ struct TRINITY_DLL_DECL npc_drakuru_shacklesAI : public ScriptedAI
|
||||
npc_drakuru_shacklesAI(Creature *c) : ScriptedAI(c) {}
|
||||
|
||||
Unit* Rageclaw;
|
||||
|
||||
|
||||
void Reset()
|
||||
{
|
||||
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
@@ -124,7 +124,7 @@ struct TRINITY_DLL_DECL npc_captured_rageclawAI : public ScriptedAI
|
||||
}
|
||||
|
||||
void MoveInLineOfSight(Unit *who){}
|
||||
|
||||
|
||||
void SpellHit(Unit *caster, const SpellEntry *spell)
|
||||
{
|
||||
if (spell->Id == SPELL_FREE_RAGECLAW)
|
||||
@@ -156,7 +156,7 @@ struct TRINITY_DLL_DECL npc_captured_rageclawAI : public ScriptedAI
|
||||
|
||||
if (!Despawn)
|
||||
return;
|
||||
|
||||
|
||||
if (DespawnTimer < diff)
|
||||
m_creature->setDeathState(JUST_DIED);
|
||||
else DespawnTimer-=diff;
|
||||
|
||||
@@ -33,7 +33,7 @@ EndContentData */
|
||||
#include "precompiled.h"
|
||||
|
||||
//Support for quest: You're Fired! (10821)
|
||||
bool obelisk_one, obelisk_two, obelisk_three, obelisk_four, obelisk_five;
|
||||
bool obelisk_one, obelisk_two, obelisk_three, obelisk_four, obelisk_five;
|
||||
|
||||
#define LEGION_OBELISK_ONE 185193
|
||||
#define LEGION_OBELISK_TWO 185195
|
||||
@@ -336,7 +336,7 @@ bool GossipSelect_npc_saikkal_the_elder(Player* pPlayer, Creature* pCreature, ui
|
||||
######*/
|
||||
|
||||
bool GOHello_go_legion_obelisk(Player* pPlayer, GameObject* pGo)
|
||||
{
|
||||
{
|
||||
if (pPlayer->GetQuestStatus(10821) == QUEST_STATUS_INCOMPLETE)
|
||||
{
|
||||
switch(pGo->GetEntry())
|
||||
@@ -357,7 +357,7 @@ bool GOHello_go_legion_obelisk(Player* pPlayer, GameObject* pGo)
|
||||
obelisk_five = true;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if (obelisk_one == true && obelisk_two == true && obelisk_three == true && obelisk_four == true && obelisk_five == true)
|
||||
{
|
||||
pGo->SummonCreature(19963,2943.40f,4778.20f,284.49f,0.94f,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,120000);
|
||||
@@ -369,7 +369,7 @@ bool GOHello_go_legion_obelisk(Player* pPlayer, GameObject* pGo)
|
||||
obelisk_five = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -407,7 +407,7 @@ void AddSC_blades_edge_mountains()
|
||||
newscript->pGossipHello = &GossipHello_npc_saikkal_the_elder;
|
||||
newscript->pGossipSelect = &GossipSelect_npc_saikkal_the_elder;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name="go_legion_obelisk";
|
||||
newscript->pGOHello = &GOHello_go_legion_obelisk;
|
||||
|
||||
@@ -1354,7 +1354,7 @@ struct TRINITY_DLL_DECL mob_torloth_the_magnificentAI : public ScriptedAI
|
||||
switch(slayer->GetTypeId())
|
||||
{
|
||||
case TYPEID_UNIT:
|
||||
if (Unit *owner = slayer->GetOwner())
|
||||
if (Unit *owner = slayer->GetOwner())
|
||||
if (owner->GetTypeId() == TYPEID_PLAYER)
|
||||
CAST_PLR(owner)->GroupEventHappens(QUEST_BATTLE_OF_THE_CRIMSON_WATCH, m_creature);
|
||||
break;
|
||||
|
||||
@@ -579,9 +579,9 @@ struct TRINITY_DLL_DECL npc_akunoAI : public npc_escortAI
|
||||
|
||||
if(IsWalking && !m_creature->HasUnitMovementFlag(MOVEMENTFLAG_WALK_MODE))
|
||||
m_creature->AddUnitMovementFlag(MOVEMENTFLAG_WALK_MODE);
|
||||
|
||||
|
||||
switch(i)
|
||||
|
||||
|
||||
switch(i)
|
||||
{
|
||||
case 0: m_creature->setFaction(5); break;
|
||||
case 3:
|
||||
|
||||
@@ -120,7 +120,7 @@ struct TRINITY_DLL_DECL boss_emerissAI : public ScriptedAI
|
||||
//CorruptionofEarth_Timer
|
||||
//CorruptionofEarth at 75%, 50% and 25%
|
||||
if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) <= (100-(25*m_uiCorruptionsCasted)))
|
||||
{
|
||||
{
|
||||
++m_uiCorruptionsCasted; // prevent casting twice on same hp
|
||||
DoScriptText(SAY_CASTCORRUPTION, m_creature);
|
||||
DoCast(m_creature->getVictim(), SPELL_CORRUPTIONOFEARTH);
|
||||
|
||||
@@ -27,7 +27,7 @@ enum
|
||||
{
|
||||
SAY_AGGRO = -1000399,
|
||||
SAY_SUMMONSHADE = -1000400,
|
||||
|
||||
|
||||
//Spells of Taerar
|
||||
SPELL_SLEEP = 24777,
|
||||
SPELL_NOXIOUSBREATH = 24818,
|
||||
|
||||
@@ -151,7 +151,7 @@ struct TRINITY_DLL_DECL npc_air_force_botsAI : public ScriptedAI
|
||||
|
||||
return pSummoned;
|
||||
}
|
||||
|
||||
|
||||
Creature* GetSummonedGuard()
|
||||
{
|
||||
Creature* pCreature = Unit::GetCreature(*m_creature, m_uiSpawnedGUID);
|
||||
@@ -1572,7 +1572,7 @@ CreatureAI* GetAI_npc_snake_trap_serpents(Creature* pCreature)
|
||||
}
|
||||
|
||||
struct TRINITY_DLL_DECL mob_mojoAI : public ScriptedAI
|
||||
{
|
||||
{
|
||||
mob_mojoAI(Creature *c) : ScriptedAI(c) {Reset();}
|
||||
uint32 hearts;
|
||||
uint64 victimGUID;
|
||||
@@ -1628,11 +1628,11 @@ struct TRINITY_DLL_DECL mob_mojoAI : public ScriptedAI
|
||||
victim->RemoveAura(43906);//remove polymorph frog thing
|
||||
}
|
||||
m_creature->AddAura(43906,pPlayer);//add polymorph frog thing
|
||||
victimGUID = pPlayer->GetGUID();
|
||||
victimGUID = pPlayer->GetGUID();
|
||||
m_creature->CastSpell(m_creature,20372,true);//tag.hearts
|
||||
m_creature->GetMotionMaster()->MoveFollow(pPlayer,0,0);
|
||||
hearts = 15000;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1870,7 +1870,7 @@ void AddSC_npcs_special()
|
||||
newscript->pGossipHello = &GossipHello_npc_kingdom_of_dalaran_quests;
|
||||
newscript->pGossipSelect = &GossipSelect_npc_kingdom_of_dalaran_quests;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name="npc_mount_vendor";
|
||||
newscript->pGossipHello = &GossipHello_npc_mount_vendor;
|
||||
|
||||
Reference in New Issue
Block a user