*Update THANKS and some clean with spaces in scripts.

--HG--
branch : trunk
This commit is contained in:
Anubisss
2009-08-23 01:42:57 +02:00
parent 3596edde96
commit f873179769
66 changed files with 361 additions and 356 deletions
+57 -52
View File
@@ -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);
}
@@ -17,7 +17,7 @@ enum
TYPE_TOMB_OF_SEVEN = 4,
TYPE_LYCEUM = 5,
TYPE_IRON_HALL = 6,
DATA_EMPEROR = 10,
DATA_PHALANX = 11,
@@ -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;
@@ -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
}
@@ -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())
{
@@ -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;
@@ -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)
@@ -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;