diff options
author | Muhaha <none@none> | 2009-02-17 18:08:26 +0100 |
---|---|---|
committer | Muhaha <none@none> | 2009-02-17 18:08:26 +0100 |
commit | ebc3ccfe3f19a5fbfb937a03b14c4f463b09e96a (patch) | |
tree | cd21a00ebce8db0d14019dc2e374f9a25f0956f4 /src | |
parent | f271e71dc55953f9ddff9b5e33c480cbeb67dff9 (diff) |
* Merged ScriptDev2 860
--HG--
branch : trunk
Diffstat (limited to 'src')
358 files changed, 2477 insertions, 2321 deletions
diff --git a/src/bindings/scripts/CMakeLists.txt b/src/bindings/scripts/CMakeLists.txt index e482940a280..7442c8b3cda 100644 --- a/src/bindings/scripts/CMakeLists.txt +++ b/src/bindings/scripts/CMakeLists.txt @@ -20,15 +20,15 @@ SET(trinityscript_LIB_SRCS scripts/creature/mob_generic_creature.cpp scripts/creature/simple_ai.cpp scripts/creature/simple_ai.h - scripts/custom/custom_example.cpp - scripts/custom/custom_gossip_codebox.cpp - scripts/custom/test.cpp + scripts/examples/example_creature.cpp + scripts/examples/example_escort.cpp + scripts/examples/example_gossip_codebox.cpp + scripts/examples/example_misc.cpp scripts/go/go_scripts.cpp scripts/guard/guard_ai.cpp scripts/guard/guard_ai.h scripts/guard/guards.cpp scripts/item/item_scripts.cpp - scripts/item/item_test.cpp scripts/npc/npc_escortAI.cpp scripts/npc/npc_escortAI.h scripts/npc/npc_innkeeper.cpp diff --git a/src/bindings/scripts/Makefile.am b/src/bindings/scripts/Makefile.am index 0e1890ac869..13c69fa90a9 100644 --- a/src/bindings/scripts/Makefile.am +++ b/src/bindings/scripts/Makefile.am @@ -54,15 +54,15 @@ scripts/creature/mob_event_ai.h \ scripts/creature/mob_generic_creature.cpp \ scripts/creature/simple_ai.cpp \ scripts/creature/simple_ai.h \ -scripts/custom/custom_example.cpp \ -scripts/custom/custom_gossip_codebox.cpp \ -scripts/custom/test.cpp \ +scripts/examples/example_creature.cpp \ +scripts/examples/example_escort.cpp \ +scripts/examples/example_gossip_codebox.cpp \ +scripts/examples/example_misc.cpp \ scripts/go/go_scripts.cpp \ scripts/guard/guard_ai.cpp \ scripts/guard/guard_ai.h \ scripts/guard/guards.cpp \ scripts/item/item_scripts.cpp \ -scripts/item/item_test.cpp \ scripts/npc/npc_escortAI.cpp \ scripts/npc/npc_escortAI.h \ scripts/npc/npc_innkeeper.cpp \ diff --git a/src/bindings/scripts/ScriptMgr.cpp b/src/bindings/scripts/ScriptMgr.cpp index 5dc16953860..b59f07f8846 100644 --- a/src/bindings/scripts/ScriptMgr.cpp +++ b/src/bindings/scripts/ScriptMgr.cpp @@ -82,9 +82,12 @@ extern void AddSC_mob_event(); extern void AddSC_generic_creature(); // -- Custom -- -extern void AddSC_custom_example(); -extern void AddSC_custom_gossip_codebox(); -extern void AddSC_test(); + +// -- Examples -- +extern void AddSC_example_creature(); +extern void AddSC_example_escort(); +extern void AddSC_example_gossip_codebox(); +extern void AddSC_example_misc(); // -- GO -- extern void AddSC_go_scripts(); @@ -96,7 +99,6 @@ extern void AddSC_guards(); // -- Item -- extern void AddSC_item_scripts(); -extern void AddSC_item_test(); // -- NPC -- extern void AddSC_npc_professions(); @@ -666,8 +668,7 @@ void LoadDatabase() LoadTrinityStrings(TScriptDB,"eventai_texts",-1,1+(TEXT_SOURCE_RANGE)); // Gather Additional data from EventAI Texts - //result = TScriptDB.PQuery("SELECT entry, sound, type, language, emote FROM eventai_texts"); - result = TScriptDB.PQuery("SELECT entry, sound, type, language FROM eventai_texts"); + result = TScriptDB.PQuery("SELECT entry, sound, type, language, emote FROM eventai_texts"); outstring_log("TSCR: Loading EventAI Texts additional data..."); if (result) @@ -685,7 +686,7 @@ void LoadDatabase() temp.SoundId = fields[1].GetInt32(); temp.Type = fields[2].GetInt32(); temp.Language = fields[3].GetInt32(); - temp.Emote = 0;//fields[4].GetInt32(); + temp.Emote = fields[4].GetInt32(); if (i >= 0) { @@ -1146,6 +1147,8 @@ void LoadDatabase() //3rd param target case ACTION_T_SET_UNIT_FIELD: + if (temp.action[j].param1 < OBJECT_END || temp.action[j].param1 >= UNIT_END) + error_db_log("TSCR: Event %u Action %u param1 (UNIT_FIELD*). Index out of range for intended use.", i, j+1); if (temp.action[j].param3 >= TARGET_T_END) error_db_log("TSCR: Event %u Action %u uses incorrect Target type", i, j+1); break; @@ -1298,9 +1301,12 @@ void ScriptsInit() AddSC_generic_creature(); // -- Custom -- - AddSC_custom_example(); - AddSC_custom_gossip_codebox(); - AddSC_test(); + + // -- Examples -- + AddSC_example_creature(); + AddSC_example_escort(); + AddSC_example_gossip_codebox(); + AddSC_example_misc(); // -- GO -- AddSC_go_scripts(); @@ -1312,7 +1318,6 @@ void ScriptsInit() // -- Item -- AddSC_item_scripts(); - AddSC_item_test(); // -- NPC -- AddSC_npc_professions(); diff --git a/src/bindings/scripts/VC71/71ScriptDev2.vcproj b/src/bindings/scripts/VC71/71ScriptDev2.vcproj index 302d97c9736..48525d6bfb7 100644 --- a/src/bindings/scripts/VC71/71ScriptDev2.vcproj +++ b/src/bindings/scripts/VC71/71ScriptDev2.vcproj @@ -231,6 +231,22 @@ </File> </Filter> <Filter + Name="examples" + > + <File + RelativePath="..\scripts\examples\example_creature.cpp"> + </File> + <File + RelativePath="..\scripts\examples\example_escort.cpp"> + </File> + <File + RelativePath="..\scripts\examples\example_gossip_codebox.cpp"> + </File> + <File + RelativePath="..\scripts\examples\example_misc.cpp"> + </File> + </Filter> + <Filter Name="guard" > <File @@ -281,18 +297,6 @@ <Filter Name="custom" > - <File - RelativePath="..\scripts\custom\custom_example.cpp" - > - </File> - <File - RelativePath="..\scripts\custom\custom_gossip_codebox.cpp" - > - </File> - <File - RelativePath="..\scripts\custom\test.cpp" - > - </File> </Filter> <Filter Name="areatrigger" @@ -317,10 +321,6 @@ RelativePath="..\scripts\item\item_scripts.cpp" > </File> - <File - RelativePath="..\scripts\item\item_test.cpp" - > - </File> </Filter> <Filter Name="zone" @@ -1910,6 +1910,9 @@ </File> </Filter> <Filter + Name="Culling of Stratholme"> + </Filter> + <Filter Name="Old Hillsbrad" > <File @@ -2266,6 +2269,91 @@ > </File> </Filter> + <Filter + Name="Borean Tundra"> + </Filter> + <Filter + Name="Howling Fjord"> + </Filter> + <Filter + Name="Crystalsong Forest"> + </Filter> + <Filter + Name="Dalaran"> + </Filter> + <Filter + Name="Dragonblight"> + </Filter> + <Filter + Name="Grizzly Hills"> + </Filter> + <Filter + Name="Icecrown"> + </Filter> + <Filter + Name="Sholazar Basin"> + </Filter> + <Filter + Name="The Storm Peaks"> + </Filter> + <Filter + Name="Zul'Drak"> + </Filter> + <Filter + Name="Azjol-Nerub"> + <Filter + Name="Ahn'kahet"> + </Filter> + <Filter + Name="Azjol-Nerub"> + </Filter> + </Filter> + <Filter + Name="Drak'Tharon Keep"> + </Filter> + <Filter + Name="Gundrak"> + </Filter> + <Filter + Name="Nexus"> + <Filter + Name="Nexus"> + </Filter> + <Filter + Name="Oculus"> + </Filter> + <Filter + Name="Eye of Eternity"> + </Filter> + </Filter> + <Filter + Name="Violet Hold"> + </Filter> + <Filter + Name="Ulduar" + > + <Filter + Name="Halls of Stone"> + </Filter> + <Filter + Name="Halls of Lightning"> + </Filter> + </Filter> + <Filter + Name="Utgarde Keep"> + <Filter + Name="Utgarde Keep"> + </Filter> + <Filter + Name="Utgarde Pinnacle"> + </Filter> + </Filter> + <Filter + Name="Obsidian Sanctum"> + </Filter> + <Filter + Name="Vault of Archavon"> + </Filter> </Filter> </Filter> <Filter diff --git a/src/bindings/scripts/VC80/80ScriptDev2.vcproj b/src/bindings/scripts/VC80/80ScriptDev2.vcproj index 62fa4d240e6..cbea040ce08 100644 --- a/src/bindings/scripts/VC80/80ScriptDev2.vcproj +++ b/src/bindings/scripts/VC80/80ScriptDev2.vcproj @@ -408,6 +408,26 @@ </File> </Filter> <Filter + Name="examples" + > + <File + RelativePath="..\scripts\examples\example_creature.cpp" + > + </File> + <File + RelativePath="..\scripts\examples\example_escort.cpp" + > + </File> + <File + RelativePath="..\scripts\examples\example_gossip_codebox.cpp" + > + </File> + <File + RelativePath="..\scripts\examples\example_misc.cpp" + > + </File> + </Filter> + <Filter Name="guard" > <File @@ -458,18 +478,6 @@ <Filter Name="custom" > - <File - RelativePath="..\scripts\custom\custom_example.cpp" - > - </File> - <File - RelativePath="..\scripts\custom\custom_gossip_codebox.cpp" - > - </File> - <File - RelativePath="..\scripts\custom\test.cpp" - > - </File> </Filter> <Filter Name="areatrigger" @@ -494,10 +502,6 @@ RelativePath="..\scripts\item\item_scripts.cpp" > </File> - <File - RelativePath="..\scripts\item\item_test.cpp" - > - </File> </Filter> <Filter Name="zone" @@ -2190,6 +2194,10 @@ Name="Culling of Stratholme"> </Filter> <Filter + Name="Culling of Stratholme" + > + </Filter> + <Filter Name="Old Hillsbrad" > <File @@ -2442,6 +2450,118 @@ > </File> </Filter> + <Filter + Name="Borean Tundra" + > + </Filter> + <Filter + Name="Howling Fjord" + > + </Filter> + <Filter + Name="Crystalsong Forest" + > + </Filter> + <Filter + Name="Dalaran" + > + </Filter> + <Filter + Name="Dragonblight" + > + </Filter> + <Filter + Name="Grizzly Hills" + > + </Filter> + <Filter + Name="Icecrown" + > + </Filter> + <Filter + Name="Sholazar Basin" + > + </Filter> + <Filter + Name="The Storm Peaks" + > + </Filter> + <Filter + Name="Zul'Drak" + > + </Filter> + <Filter + Name="Azjol-Nerub" + > + <Filter + Name="Ahn'kahet" + > + </Filter> + <Filter + Name="Azjol-Nerub" + > + </Filter> + </Filter> + <Filter + Name="Drak'Tharon Keep" + > + </Filter> + <Filter + Name="Gundrak" + > + </Filter> + <Filter + Name="Nexus" + > + <Filter + Name="Nexus" + > + </Filter> + <Filter + Name="Oculus" + > + </Filter> + <Filter + Name="Eye of Eternity" + > + </Filter> + </Filter> + <Filter + Name="Violet Hold" + > + </Filter> + <Filter + Name="Ulduar" + > + <Filter + Name="Halls of Stone" + > + </Filter> + <Filter + Name="Halls of Lightning" + > + </Filter> + </Filter> + <Filter + Name="Utgarde Keep" + > + <Filter + Name="Utgarde Keep" + > + </Filter> + <Filter + Name="Utgarde Pinnacle" + > + </Filter> + </Filter> + <Filter + Name="Obsidian Sanctum" + > + </Filter> + <Filter + Name="Vault of Archavon" + > + </Filter> </Filter> </Filter> <Filter diff --git a/src/bindings/scripts/VC90/90ScriptDev2.vcproj b/src/bindings/scripts/VC90/90ScriptDev2.vcproj index dfb4b147848..b578085dedb 100644 --- a/src/bindings/scripts/VC90/90ScriptDev2.vcproj +++ b/src/bindings/scripts/VC90/90ScriptDev2.vcproj @@ -401,6 +401,26 @@ </File> </Filter> <Filter + Name="examples" + > + <File + RelativePath="..\scripts\examples\example_creature.cpp" + > + </File> + <File + RelativePath="..\scripts\examples\example_escort.cpp" + > + </File> + <File + RelativePath="..\scripts\examples\example_gossip_codebox.cpp" + > + </File> + <File + RelativePath="..\scripts\examples\example_misc.cpp" + > + </File> + </Filter> + <Filter Name="guard" > <File @@ -451,18 +471,6 @@ <Filter Name="custom" > - <File - RelativePath="..\scripts\custom\custom_example.cpp" - > - </File> - <File - RelativePath="..\scripts\custom\custom_gossip_codebox.cpp" - > - </File> - <File - RelativePath="..\scripts\custom\test.cpp" - > - </File> </Filter> <Filter Name="areatrigger" @@ -487,10 +495,6 @@ RelativePath="..\scripts\item\item_scripts.cpp" > </File> - <File - RelativePath="..\scripts\item\item_test.cpp" - > - </File> </Filter> <Filter Name="zone" @@ -2211,6 +2215,10 @@ > </Filter> <Filter + Name="Culling of Stratholme" + > + </Filter> + <Filter Name="Old Hillsbrad" > <File @@ -2463,6 +2471,118 @@ > </File> </Filter> + <Filter + Name="Borean Tundra" + > + </Filter> + <Filter + Name="Howling Fjord" + > + </Filter> + <Filter + Name="Crystalsong Forest" + > + </Filter> + <Filter + Name="Dalaran" + > + </Filter> + <Filter + Name="Dragonblight" + > + </Filter> + <Filter + Name="Grizzly Hills" + > + </Filter> + <Filter + Name="Icecrown" + > + </Filter> + <Filter + Name="Sholazar Basin" + > + </Filter> + <Filter + Name="The Storm Peaks" + > + </Filter> + <Filter + Name="Zul'Drak" + > + </Filter> + <Filter + Name="Azjol-Nerub" + > + <Filter + Name="Ahn'kahet" + > + </Filter> + <Filter + Name="Azjol-Nerub" + > + </Filter> + </Filter> + <Filter + Name="Drak'Tharon Keep" + > + </Filter> + <Filter + Name="Gundrak" + > + </Filter> + <Filter + Name="Nexus" + > + <Filter + Name="Nexus" + > + </Filter> + <Filter + Name="Oculus" + > + </Filter> + <Filter + Name="Eye of Eternity" + > + </Filter> + </Filter> + <Filter + Name="Violet Hold" + > + </Filter> + <Filter + Name="Ulduar" + > + <Filter + Name="Halls of Stone" + > + </Filter> + <Filter + Name="Halls of Lightning" + > + </Filter> + </Filter> + <Filter + Name="Utgarde Keep" + > + <Filter + Name="Utgarde Keep" + > + </Filter> + <Filter + Name="Utgarde Pinnacle" + > + </Filter> + </Filter> + <Filter + Name="Obsidian Sanctum" + > + </Filter> + <Filter + Name="Vault of Archavon" + > + </Filter> </Filter> </Filter> <Filter diff --git a/src/bindings/scripts/include/precompiled.cpp b/src/bindings/scripts/include/precompiled.cpp index 8863d83ac06..faeca72cd2b 100644 --- a/src/bindings/scripts/include/precompiled.cpp +++ b/src/bindings/scripts/include/precompiled.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/include/precompiled.h b/src/bindings/scripts/include/precompiled.h index 275947e0e48..ea771653483 100644 --- a/src/bindings/scripts/include/precompiled.h +++ b/src/bindings/scripts/include/precompiled.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/include/sc_gossip.h b/src/bindings/scripts/include/sc_gossip.h index ead61740cdf..1bb984f8962 100644 --- a/src/bindings/scripts/include/sc_gossip.h +++ b/src/bindings/scripts/include/sc_gossip.h @@ -16,29 +16,38 @@ #define GOSSIP_TEXT_BROWSE_GOODS "I'd like to browse your goods." #define GOSSIP_TEXT_TRAIN "Train me!" -#define GOSSIP_TEXT_BANK "The Bank" -#define GOSSIP_TEXT_WINDRIDER "Wind rider master" -#define GOSSIP_TEXT_GRYPHON "Gryphon Master" -#define GOSSIP_TEXT_BATHANDLER "Bat Handler" -#define GOSSIP_TEXT_HIPPOGRYPH "Hippogryph Master" -#define GOSSIP_TEXT_FLIGHTMASTER "Flight Master" -#define GOSSIP_TEXT_AUCTIONHOUSE "Auction House" -#define GOSSIP_TEXT_GUILDMASTER "Guild Master" -#define GOSSIP_TEXT_INN "The Inn" -#define GOSSIP_TEXT_MAILBOX "Mailbox" -#define GOSSIP_TEXT_STABLEMASTER "Stable Master" -#define GOSSIP_TEXT_WEAPONMASTER "Weapons Trainer" -#define GOSSIP_TEXT_BATTLEMASTER "Battlemaster" -#define GOSSIP_TEXT_CLASSTRAINER "Class Trainer" -#define GOSSIP_TEXT_PROFTRAINER "Profession Trainer" -#define GOSSIP_TEXT_OFFICERS "The officers` lounge" +#define GOSSIP_TEXT_BANK "The bank" +#define GOSSIP_TEXT_IRONFORGE_BANK "The bank of Ironforge" +#define GOSSIP_TEXT_STORMWIND_BANK "The bank of Stormwind" +#define GOSSIP_TEXT_WINDRIDER "The wind rider master" +#define GOSSIP_TEXT_GRYPHON "The gryphon master" +#define GOSSIP_TEXT_BATHANDLER "The bat handler" +#define GOSSIP_TEXT_HIPPOGRYPH "The hippogryph master" +#define GOSSIP_TEXT_ZEPPLINMASTER "The zeppelin master" +#define GOSSIP_TEXT_DEEPRUNTRAM "The Deeprun Tram" +#define GOSSIP_TEXT_FERRY "The Rut'theran Ferry" +#define GOSSIP_TEXT_FLIGHTMASTER "The flight master" +#define GOSSIP_TEXT_AUCTIONHOUSE "The auction house" +#define GOSSIP_TEXT_GUILDMASTER "The guild master" +#define GOSSIP_TEXT_INN "The inn" +#define GOSSIP_TEXT_MAILBOX "The mailbox" +#define GOSSIP_TEXT_STABLEMASTER "The stable master" +#define GOSSIP_TEXT_WEAPONMASTER "The weapon master" +#define GOSSIP_TEXT_OFFICERS "The officers' lounge" +#define GOSSIP_TEXT_BATTLEMASTER "The battlemaster" +#define GOSSIP_TEXT_BARBER "Barber" +#define GOSSIP_TEXT_CLASSTRAINER "A class trainer" +#define GOSSIP_TEXT_PROFTRAINER "A profession trainer" +#define GOSSIP_TEXT_LEXICON "Lexicon of Power" #define GOSSIP_TEXT_ALTERACVALLEY "Alterac Valley" #define GOSSIP_TEXT_ARATHIBASIN "Arathi Basin" #define GOSSIP_TEXT_WARSONGULCH "Warsong Gulch" #define GOSSIP_TEXT_ARENA "Arena" #define GOSSIP_TEXT_EYEOFTHESTORM "Eye of The Storm" - +#define GOSSIP_TEXT_STRANDOFANCIENT "Strand of the Ancients" + +#define GOSSIP_TEXT_DEATH_KNIGHT "Death Knight" #define GOSSIP_TEXT_DRUID "Druid" #define GOSSIP_TEXT_HUNTER "Hunter" #define GOSSIP_TEXT_PRIEST "Priest" @@ -57,18 +66,12 @@ #define GOSSIP_TEXT_FIRSTAID "First Aid" #define GOSSIP_TEXT_HERBALISM "Herbalism" #define GOSSIP_TEXT_LEATHERWORKING "Leatherworking" -#define GOSSIP_TEXT_POISONS "Poisons" #define GOSSIP_TEXT_TAILORING "Tailoring" #define GOSSIP_TEXT_MINING "Mining" #define GOSSIP_TEXT_FISHING "Fishing" #define GOSSIP_TEXT_SKINNING "Skinning" #define GOSSIP_TEXT_JEWELCRAFTING "Jewelcrafting" - -#define GOSSIP_TEXT_IRONFORGE_BANK "Bank of Ironforge" -#define GOSSIP_TEXT_STORMWIND_BANK "Bank of Stormwind" -#define GOSSIP_TEXT_DEEPRUNTRAM "Deeprun Tram" -#define GOSSIP_TEXT_ZEPPLINMASTER "Zeppelin master" -#define GOSSIP_TEXT_FERRY "Rut'theran Ferry" +#define GOSSIP_TEXT_INSCRIPTION "Inscription" // Skill defines @@ -86,6 +89,7 @@ #define TRADESKILL_FISHING 12 #define TRADESKILL_SKINNING 13 #define TRADESKILL_JEWLCRAFTING 14 +#define TRADESKILL_INSCRIPTION 15 #define TRADESKILL_LEVEL_NONE 0 #define TRADESKILL_LEVEL_APPRENTICE 1 @@ -93,6 +97,7 @@ #define TRADESKILL_LEVEL_EXPERT 3 #define TRADESKILL_LEVEL_ARTISAN 4 #define TRADESKILL_LEVEL_MASTER 5 +#define TRADESKILL_LEVEL_GRAND_MASTER 6 // Gossip defines diff --git a/src/bindings/scripts/include/sc_instance.h b/src/bindings/scripts/include/sc_instance.h index 59c19bda085..25be77f876c 100644 --- a/src/bindings/scripts/include/sc_instance.h +++ b/src/bindings/scripts/include/sc_instance.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/areatrigger/areatrigger_scripts.cpp b/src/bindings/scripts/scripts/areatrigger/areatrigger_scripts.cpp index 9c2684072b6..9208672c01f 100644 --- a/src/bindings/scripts/scripts/areatrigger/areatrigger_scripts.cpp +++ b/src/bindings/scripts/scripts/areatrigger/areatrigger_scripts.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -23,7 +23,6 @@ EndScriptData */ /* ContentData at_legion_teleporter 4560 Teleporter TO Invasion Point: Cataclysm -at_test script test only EndContentData */ #include "precompiled.h" @@ -56,12 +55,6 @@ bool AreaTrigger_at_legion_teleporter(Player *player, AreaTriggerEntry *at) return false; } -bool ATtest(Player *player, AreaTriggerEntry *at) -{ - player->Say("Hi!",LANG_UNIVERSAL); - return true; -} - void AddSC_areatrigger_scripts() { Script *newscript; @@ -70,9 +63,4 @@ void AddSC_areatrigger_scripts() newscript->Name = "at_legion_teleporter"; newscript->pAreaTrigger = &AreaTrigger_at_legion_teleporter; newscript->RegisterSelf(); - - newscript = new Script; - newscript->Name="at_test"; - newscript->pAreaTrigger = &ATtest; - newscript->RegisterSelf(); } diff --git a/src/bindings/scripts/scripts/boss/boss_emeriss.cpp b/src/bindings/scripts/scripts/boss/boss_emeriss.cpp index c22c3deb614..5f857730d9a 100644 --- a/src/bindings/scripts/scripts/boss/boss_emeriss.cpp +++ b/src/bindings/scripts/scripts/boss/boss_emeriss.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/boss/boss_lethon.cpp b/src/bindings/scripts/scripts/boss/boss_lethon.cpp index 2a6ab499c2d..612fcf596f7 100644 --- a/src/bindings/scripts/scripts/boss/boss_lethon.cpp +++ b/src/bindings/scripts/scripts/boss/boss_lethon.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/boss/boss_taerar.cpp b/src/bindings/scripts/scripts/boss/boss_taerar.cpp index ab2a9fb0ddb..cbe1cffa6b7 100644 --- a/src/bindings/scripts/scripts/boss/boss_taerar.cpp +++ b/src/bindings/scripts/scripts/boss/boss_taerar.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/boss/boss_ysondre.cpp b/src/bindings/scripts/scripts/boss/boss_ysondre.cpp index 4f8eafeb64c..c04076bc716 100644 --- a/src/bindings/scripts/scripts/boss/boss_ysondre.cpp +++ b/src/bindings/scripts/scripts/boss/boss_ysondre.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/creature/mob_event_ai.cpp b/src/bindings/scripts/scripts/creature/mob_event_ai.cpp index 93cb9aba376..e23a262ed4f 100644 --- a/src/bindings/scripts/scripts/creature/mob_event_ai.cpp +++ b/src/bindings/scripts/scripts/creature/mob_event_ai.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -720,6 +720,9 @@ struct TRINITY_DLL_DECL Mob_EventAI : public ScriptedAI { Unit* target = GetTargetByType(param3, pActionInvoker); + if (param1 < OBJECT_END || param1 >= UNIT_END) + return; + if (target) target->SetUInt32Value(param1, param2); } diff --git a/src/bindings/scripts/scripts/creature/mob_event_ai.h b/src/bindings/scripts/scripts/creature/mob_event_ai.h index d08a6b33a2b..930905158ba 100644 --- a/src/bindings/scripts/scripts/creature/mob_event_ai.h +++ b/src/bindings/scripts/scripts/creature/mob_event_ai.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/creature/mob_generic_creature.cpp b/src/bindings/scripts/scripts/creature/mob_generic_creature.cpp index be3168adbe4..b28f38516ce 100644 --- a/src/bindings/scripts/scripts/creature/mob_generic_creature.cpp +++ b/src/bindings/scripts/scripts/creature/mob_generic_creature.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/creature/simple_ai.cpp b/src/bindings/scripts/scripts/creature/simple_ai.cpp index 55fb05b195d..59d59818ef3 100644 --- a/src/bindings/scripts/scripts/creature/simple_ai.cpp +++ b/src/bindings/scripts/scripts/creature/simple_ai.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/creature/simple_ai.h b/src/bindings/scripts/scripts/creature/simple_ai.h index 49d0f0c4922..7cfdb8979d1 100644 --- a/src/bindings/scripts/scripts/creature/simple_ai.h +++ b/src/bindings/scripts/scripts/creature/simple_ai.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/custom/custom_example.cpp b/src/bindings/scripts/scripts/examples/example_creature.cpp index a36d18d28c9..708740c3b9d 100644 --- a/src/bindings/scripts/scripts/custom/custom_example.cpp +++ b/src/bindings/scripts/scripts/examples/example_creature.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -6,16 +6,16 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* ScriptData -SDName: Custom_Example +SDName: Example_Creature SD%Complete: 100 SDComment: Short custom scripting example SDCategory: Script Examples @@ -35,6 +35,24 @@ EndScriptData */ // Functions with Handled Function marked above them are functions that are called automatically by the core // Functions that are marked Custom Function are functions I've created to simplify code +//List of text id's. The text is stored in database, also in a localized version +//(if translation not exist for the textId, default english text will be used) +//Not required to define in this way, but simplify if changes are needed. +#define SAY_AGGRO -1999900 +#define SAY_RANDOM_0 -1999901 +#define SAY_RANDOM_1 -1999902 +#define SAY_RANDOM_2 -1999903 +#define SAY_RANDOM_3 -1999904 +#define SAY_RANDOM_4 -1999905 +#define SAY_BESERK -1999906 +#define SAY_PHASE -1999907 +#define SAY_DANCE -1999908 +#define SAY_SALUTE -1999909 + +//List of gossip item texts. Items will appear in the gossip window. +#define GOSSIP_ITEM "I'm looking for a fight" + +//List of spells. Not required to define them in this way, but will make it easier to maintain in case spellId change #define SPELL_BUFF 25661 #define SPELL_ONE 12555 #define SPELL_ONE_ALT 24099 @@ -43,24 +61,11 @@ EndScriptData */ #define SPELL_ENRAGE 23537 #define SPELL_BESERK 32309 -#define SAY_AGGRO "Let the games begin." -#define SAY_RANDOM_0 "I see endless suffering. I see torment. I see rage. I see everything." -#define SAY_RANDOM_1 "Muahahahaha" -#define SAY_RANDOM_2 "These mortal infedels my lord, they have invaded your sanctum and seek to steal your secrets." -#define SAY_RANDOM_3 "You are already dead." -#define SAY_RANDOM_4 "Where to go? What to do? So many choices that all end in pain, end in death." -#define SAY_BESERK "$N, I sentance you to death!" -#define SAY_PHASE "The suffering has just begun!" - -#define GOSSIP_ITEM "I'm looking for a fight" -#define SAY_DANCE "I always thought I was a good dancer" -#define SAY_SALUTE "Move out Soldier!" - -struct TRINITY_DLL_DECL custom_exampleAI : public ScriptedAI +struct TRINITY_DLL_DECL example_creatureAI : public ScriptedAI { //*** HANDLED FUNCTION *** //This is the constructor, called only once when the creature is first created - custom_exampleAI(Creature *c) : ScriptedAI(c) {Reset();} + example_creatureAI(Creature *c) : ScriptedAI(c) {Reset();} //*** CUSTOM VARIABLES **** //These variables are for use only by this individual script. @@ -92,8 +97,7 @@ struct TRINITY_DLL_DECL custom_exampleAI : public ScriptedAI void Aggro(Unit *who) { //Say some stuff - DoSay(SAY_AGGRO,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,8280); + DoScriptText(SAY_AGGRO, m_creature, who); } //*** HANDLED FUNCTION *** @@ -109,30 +113,11 @@ struct TRINITY_DLL_DECL custom_exampleAI : public ScriptedAI //Random switch between 5 outcomes switch (rand()%5) { - case 0: - DoYell(SAY_RANDOM_0,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,8831); //8831 is the index of the sound we are playing. You find these numbers in SoundEntries.dbc - break; - - case 1: - DoYell(SAY_RANDOM_1,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,8818); - break; - - case 2: - DoYell(SAY_RANDOM_2,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,8041); - break; - - case 3: - DoYell(SAY_RANDOM_3,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,8581); - break; - - case 4: - DoYell(SAY_RANDOM_4,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,8791); - break; + case 0: DoScriptText(SAY_RANDOM_0, m_creature); break; + case 1: DoScriptText(SAY_RANDOM_1, m_creature); break; + case 2: DoScriptText(SAY_RANDOM_2, m_creature); break; + case 3: DoScriptText(SAY_RANDOM_3, m_creature); break; + case 4: DoScriptText(SAY_RANDOM_4, m_creature); break; } Say_Timer = 45000; //Say something agian in 45 seconds @@ -186,8 +171,7 @@ struct TRINITY_DLL_DECL custom_exampleAI : public ScriptedAI if (Beserk_Timer < diff) { //Say our line then cast uber death spell - DoPlaySoundToSet(m_creature,8588); - DoYell(SAY_BESERK,LANG_UNIVERSAL,m_creature->getVictim()); + DoScriptText(SAY_BESERK, m_creature, m_creature->getVictim()); DoCast(m_creature->getVictim(),SPELL_BESERK); //Cast our beserk spell agian in 12 seconds if we didn't kill everyone @@ -200,7 +184,7 @@ struct TRINITY_DLL_DECL custom_exampleAI : public ScriptedAI { //Go to next phase Phase++; - DoYell(SAY_PHASE,LANG_UNIVERSAL,NULL); + DoScriptText(SAY_PHASE, m_creature); DoCast(m_creature,SPELL_ENRAGE); }else Phase_Timer -= diff; @@ -210,13 +194,13 @@ struct TRINITY_DLL_DECL custom_exampleAI : public ScriptedAI //This is the GetAI method used by all scripts that involve AI //It is called every time a new creature using this script is created -CreatureAI* GetAI_custom_example(Creature *_Creature) +CreatureAI* GetAI_example_creature(Creature *_Creature) { - return new custom_exampleAI (_Creature); + return new example_creatureAI (_Creature); } //This function is called when the player clicks an option on the gossip menu -void SendDefaultMenu_custom_example(Player *player, Creature *_Creature, uint32 action) +void SendDefaultMenu_example_creature(Player *player, Creature *_Creature, uint32 action) { if (action == GOSSIP_ACTION_INFO_DEF + 1) //Fight time { @@ -228,16 +212,16 @@ void SendDefaultMenu_custom_example(Player *player, Creature *_Creature, uint32 } //This function is called when the player clicks an option on the gossip menu -bool GossipSelect_custom_example(Player *player, Creature *_Creature, uint32 sender, uint32 action ) +bool GossipSelect_example_creature(Player *player, Creature *_Creature, uint32 sender, uint32 action ) { if (sender == GOSSIP_SENDER_MAIN) - SendDefaultMenu_custom_example(player, _Creature, action); + SendDefaultMenu_example_creature(player, _Creature, action); return true; } //This function is called when the player opens the gossip menu -bool GossipHello_custom_example(Player *player, Creature *_Creature) +bool GossipHello_example_creature(Player *player, Creature *_Creature) { player->ADD_GOSSIP_ITEM( 0, GOSSIP_ITEM , GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); player->PlayerTalkClass->SendGossipMenu(907,_Creature->GetGUID()); @@ -246,15 +230,15 @@ bool GossipHello_custom_example(Player *player, Creature *_Creature) } //Our Recive emote function -bool ReceiveEmote_custom_example(Player *player, Creature *_Creature, uint32 emote) +bool ReceiveEmote_example_creature(Player *player, Creature *_Creature, uint32 emote) { _Creature->HandleEmoteCommand(emote); if (emote == TEXTEMOTE_DANCE) - ((custom_exampleAI*)_Creature->AI())->DoSay(SAY_DANCE,LANG_UNIVERSAL,NULL); + DoScriptText(SAY_DANCE, _Creature); if (emote == TEXTEMOTE_SALUTE) - ((custom_exampleAI*)_Creature->AI())->DoSay(SAY_SALUTE,LANG_UNIVERSAL,NULL); + DoScriptText(SAY_SALUTE, _Creature); return true; } @@ -263,15 +247,15 @@ bool ReceiveEmote_custom_example(Player *player, Creature *_Creature, uint32 emo //It must define all handled functions that are to be run in this script //For example if you want this Script to handle Emotes you must include //newscript->ReciveEmote = My_Emote_Function; -void AddSC_custom_example() +void AddSC_example_creature() { Script *newscript; newscript = new Script; - newscript->Name="custom_example"; - newscript->GetAI = &GetAI_custom_example; - newscript->pGossipHello = &GossipHello_custom_example; - newscript->pGossipSelect = &GossipSelect_custom_example; - newscript->pReceiveEmote = &ReceiveEmote_custom_example; + newscript->Name = "example_creature"; + newscript->GetAI = &GetAI_example_creature; + newscript->pGossipHello = &GossipHello_example_creature; + newscript->pGossipSelect = &GossipSelect_example_creature; + newscript->pReceiveEmote = &ReceiveEmote_example_creature; newscript->RegisterSelf(); } diff --git a/src/bindings/scripts/scripts/custom/test.cpp b/src/bindings/scripts/scripts/examples/example_escort.cpp index 2add3c03ddb..56c3f5c654b 100644 --- a/src/bindings/scripts/scripts/custom/test.cpp +++ b/src/bindings/scripts/scripts/examples/example_escort.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -6,16 +6,16 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* ScriptData -SDName: Test +SDName: Example_Escort SD%Complete: 100 SDComment: Script used for testing escortAI SDCategory: Script Examples @@ -24,12 +24,29 @@ EndScriptData */ #include "precompiled.h" #include "../npc/npc_escortAI.h" -struct TRINITY_DLL_DECL npc_testAI : public npc_escortAI +#define SAY_AGGRO1 -1999910 +#define SAY_AGGRO2 -1999911 +#define SAY_WP_1 -1999912 +#define SAY_WP_2 -1999913 +#define SAY_WP_3 -1999914 +#define SAY_WP_4 -1999915 +#define SAY_DEATH_1 -1999916 +#define SAY_DEATH_2 -1999917 +#define SAY_DEATH_3 -1999918 +#define SAY_SPELL -1999919 +#define SAY_RAND_1 -1999920 +#define SAY_RAND_2 -1999921 + +#define GOSSIP_ITEM_1 "Click to Test Escort(Attack, Defend, Run)" +#define GOSSIP_ITEM_2 "Click to Test Escort(NoAttack, NoDefend, Walk)" +#define GOSSIP_ITEM_3 "Click to Test Escort(NoAttack, Defend, Walk)" + +struct TRINITY_DLL_DECL example_escortAI : public npc_escortAI { public: // CreatureAI functions - npc_testAI(Creature *c) : npc_escortAI(c) {Reset();} + example_escortAI(Creature *c) : npc_escortAI(c) {Reset();} uint32 DeathCoilTimer; uint32 ChatTimer; @@ -40,12 +57,12 @@ struct TRINITY_DLL_DECL npc_testAI : public npc_escortAI switch (i) { case 1: - m_creature->Say("Hmm a nice day for a walk alright", LANG_UNIVERSAL, 0); + DoScriptText(SAY_WP_1, m_creature); break; case 3: { - m_creature->Say("Wild Felboar attack!", LANG_UNIVERSAL, 0); + DoScriptText(SAY_WP_2, m_creature); Creature* temp = m_creature->SummonCreature(21878, m_creature->GetPositionX()+5, m_creature->GetPositionY()+7, m_creature->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 3000); temp->AI()->AttackStart(m_creature); @@ -54,25 +71,27 @@ struct TRINITY_DLL_DECL npc_testAI : public npc_escortAI case 4: { - m_creature->Say("Time for me to go! See ya around $N!", LANG_UNIVERSAL, PlayerGUID); - m_creature->HandleEmoteCommand(EMOTE_ONESHOT_WAVE); - Unit* temp = Unit::GetUnit(*m_creature, PlayerGUID); if (temp) { - temp->MonsterSay("Bye Bye!", LANG_UNIVERSAL, 0); - temp->HandleEmoteCommand(EMOTE_ONESHOT_WAVE); + //temp is the target of the text + DoScriptText(SAY_WP_3, m_creature, temp); + //temp is the source of the text + DoScriptText(SAY_WP_4, temp); } } break; } } - void Aggro(Unit*) + void Aggro(Unit* who) { if (IsBeingEscorted) - m_creature->Say("Help $N! I'm under attack!", LANG_UNIVERSAL, PlayerGUID); - else m_creature->Say("Die scum!", LANG_UNIVERSAL, 0); + { + if (Unit* temp = Unit::GetUnit(*m_creature, PlayerGUID)) + DoScriptText(SAY_AGGRO1, m_creature, temp); + } + else DoScriptText(SAY_AGGRO2, m_creature); } void Reset() @@ -85,16 +104,17 @@ struct TRINITY_DLL_DECL npc_testAI : public npc_escortAI { if (IsBeingEscorted) { + Unit *pTemp = Unit::GetUnit(*m_creature,PlayerGUID); //killer = m_creature when player got to far from creature if (killer == m_creature) { - Unit *pTemp = Unit::GetUnit(*m_creature,PlayerGUID); - if( pTemp ) - DoWhisper("How dare you leave me like that! I hate you! =*(", pTemp); + //This is actually a whisper. You control the text type in database + if (pTemp) + DoScriptText(SAY_DEATH_1, m_creature, pTemp); } - else m_creature->Say("...no...how could you let me die $N", LANG_UNIVERSAL, PlayerGUID); + else if (pTemp) DoScriptText(SAY_DEATH_2, m_creature, pTemp); } - else m_creature->Say("ugh...", LANG_UNIVERSAL, 0); + else DoScriptText(SAY_DEATH_3, m_creature); } void UpdateAI(const uint32 diff) @@ -107,7 +127,7 @@ struct TRINITY_DLL_DECL npc_testAI : public npc_escortAI { if (DeathCoilTimer < diff) { - m_creature->Say("Taste death!", LANG_UNIVERSAL, 0); + DoScriptText(SAY_SPELL, m_creature); m_creature->CastSpell(m_creature->getVictim(), 33130, false); DeathCoilTimer = 4000; @@ -120,11 +140,11 @@ struct TRINITY_DLL_DECL npc_testAI : public npc_escortAI { if (m_creature->HasAura(3593, 0)) { - m_creature->Say("Fireworks!", LANG_UNIVERSAL, 0); + DoScriptText(SAY_RAND_1, m_creature); m_creature->CastSpell(m_creature, 11540, false); }else { - m_creature->Say("Hmm, I think I could use a buff", LANG_UNIVERSAL, 0); + DoScriptText(SAY_RAND_2, m_creature); m_creature->CastSpell(m_creature, 3593, false); } @@ -134,9 +154,9 @@ struct TRINITY_DLL_DECL npc_testAI : public npc_escortAI } }; -CreatureAI* GetAI_test(Creature *_Creature) +CreatureAI* GetAI_example_escort(Creature *_Creature) { - npc_testAI* testAI = new npc_testAI(_Creature); + example_escortAI* testAI = new example_escortAI(_Creature); testAI->AddWaypoint(0, 1231, -4419, 23); testAI->AddWaypoint(1, 1198, -4440, 23, 0); @@ -147,27 +167,27 @@ CreatureAI* GetAI_test(Creature *_Creature) return (CreatureAI*)testAI; } -bool GossipHello_npc_test(Player *player, Creature *_Creature) +bool GossipHello_example_escort(Player *player, Creature *_Creature) { player->TalkedToCreature(_Creature->GetEntry(),_Creature->GetGUID()); _Creature->prepareGossipMenu(player,0); - player->ADD_GOSSIP_ITEM(0, "Click to Test Escort(Attack, Defend, Run)", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->ADD_GOSSIP_ITEM(0, "Click to Test Escort(NoAttack, NoDefend, Walk)", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); - player->ADD_GOSSIP_ITEM(0, "Click to Test Escort(NoAttack, Defend, Walk)", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3); + player->ADD_GOSSIP_ITEM(0, GOSSIP_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + player->ADD_GOSSIP_ITEM(0, GOSSIP_ITEM_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + player->ADD_GOSSIP_ITEM(0, GOSSIP_ITEM_3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3); _Creature->sendPreparedGossip( player ); return true; } -bool GossipSelect_npc_test(Player *player, Creature *_Creature, uint32 sender, uint32 action ) +bool GossipSelect_example_escort(Player *player, Creature *_Creature, uint32 sender, uint32 action ) { if (action == GOSSIP_ACTION_INFO_DEF+1) { player->CLOSE_GOSSIP_MENU(); ((npc_escortAI*)(_Creature->AI()))->Start(true, true, true, player->GetGUID()); - return true; // prevent Trinity core handling + return true; // prevent mangos core handling } if (action == GOSSIP_ACTION_INFO_DEF+2) @@ -175,7 +195,7 @@ bool GossipSelect_npc_test(Player *player, Creature *_Creature, uint32 sender, u player->CLOSE_GOSSIP_MENU(); ((npc_escortAI*)(_Creature->AI()))->Start(false, false, false, player->GetGUID()); - return true; // prevent Trinity core handling + return true; // prevent mangos core handling } if (action == GOSSIP_ACTION_INFO_DEF+3) @@ -183,18 +203,18 @@ bool GossipSelect_npc_test(Player *player, Creature *_Creature, uint32 sender, u player->CLOSE_GOSSIP_MENU(); ((npc_escortAI*)(_Creature->AI()))->Start(false, true, false, player->GetGUID()); - return true; // prevent Trinity core handling + return true; // prevent mangos core handling } return false; } -void AddSC_test() +void AddSC_example_escort() { Script *newscript; newscript = new Script; - newscript->Name="test"; - newscript->GetAI = &GetAI_test; - newscript->pGossipHello = &GossipHello_npc_test; - newscript->pGossipSelect = &GossipSelect_npc_test; + newscript->Name = "example_escort"; + newscript->GetAI = &GetAI_example_escort; + newscript->pGossipHello = &GossipHello_example_escort; + newscript->pGossipSelect = &GossipSelect_example_escort; newscript->RegisterSelf(); } diff --git a/src/bindings/scripts/scripts/custom/custom_gossip_codebox.cpp b/src/bindings/scripts/scripts/examples/example_gossip_codebox.cpp index 3963d31b98b..5d05197fd7a 100644 --- a/src/bindings/scripts/scripts/custom/custom_gossip_codebox.cpp +++ b/src/bindings/scripts/scripts/examples/example_gossip_codebox.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -6,16 +6,16 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* ScriptData -SDName: Custom_Gossip_Codebox +SDName: Example_Gossip_Codebox SD%Complete: 100 SDComment: Show a codebox in gossip option SDCategory: Script Examples @@ -24,28 +24,35 @@ EndScriptData */ #include "precompiled.h" #include <cstring> +#define SAY_NOT_INTERESTED -1999922 +#define SAY_WRONG -1999923 +#define SAY_CORRECT -1999924 + +#define GOSSIP_ITEM_1 "A quiz: what's your name?" +#define GOSSIP_ITEM_2 "I'm not interested" + //This function is called when the player opens the gossip menubool -bool GossipHello_custom_gossip_codebox(Player *player, Creature *_Creature) +bool GossipHello_example_gossip_codebox(Player *player, Creature *_Creature) { - player->ADD_GOSSIP_ITEM_EXTENDED(0, "A quiz: what's your name?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1, "", 0, true); - player->ADD_GOSSIP_ITEM(0, "I'm not interested", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1, "", 0, true); + player->ADD_GOSSIP_ITEM(0, GOSSIP_ITEM_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); player->PlayerTalkClass->SendGossipMenu(907,_Creature->GetGUID()); return true; } //This function is called when the player clicks an option on the gossip menubool -bool GossipSelect_custom_gossip_codebox(Player *player, Creature *_Creature, uint32 sender, uint32 action ) +bool GossipSelect_example_gossip_codebox(Player *player, Creature *_Creature, uint32 sender, uint32 action ) { if(action == GOSSIP_ACTION_INFO_DEF+2) { - _Creature->Say("Normal select, guess you're not interested.", LANG_UNIVERSAL, 0); + DoScriptText(SAY_NOT_INTERESTED, _Creature); player->CLOSE_GOSSIP_MENU(); } return true; } -bool GossipSelectWithCode_custom_gossip_codebox( Player *player, Creature *_Creature, uint32 sender, uint32 action, const char* sCode ) +bool GossipSelectWithCode_example_gossip_codebox( Player *player, Creature *_Creature, uint32 sender, uint32 action, const char* sCode ) { if(sender == GOSSIP_SENDER_MAIN) { @@ -53,12 +60,12 @@ bool GossipSelectWithCode_custom_gossip_codebox( Player *player, Creature *_Crea { if(std::strcmp(sCode, player->GetName())!=0) { - _Creature->Say("Wrong!", LANG_UNIVERSAL, 0); + DoScriptText(SAY_WRONG, _Creature); _Creature->CastSpell(player, 12826, true); } else { - _Creature->Say("You're right, you are allowed to see my inner secrets.", LANG_UNIVERSAL, 0); + DoScriptText(SAY_CORRECT, _Creature); _Creature->CastSpell(player, 26990, true); } player->CLOSE_GOSSIP_MENU(); @@ -68,14 +75,14 @@ bool GossipSelectWithCode_custom_gossip_codebox( Player *player, Creature *_Crea return false; } -void AddSC_custom_gossip_codebox() +void AddSC_example_gossip_codebox() { Script *newscript; newscript = new Script; - newscript->Name="custom_gossip_codebox"; - newscript->pGossipHello = &GossipHello_custom_gossip_codebox; - newscript->pGossipSelect = &GossipSelect_custom_gossip_codebox; - newscript->pGossipSelectWithCode = &GossipSelectWithCode_custom_gossip_codebox; + newscript->Name = "example_gossip_codebox"; + newscript->pGossipHello = &GossipHello_example_gossip_codebox; + newscript->pGossipSelect = &GossipSelect_example_gossip_codebox; + newscript->pGossipSelectWithCode = &GossipSelectWithCode_example_gossip_codebox; newscript->RegisterSelf(); } diff --git a/src/bindings/scripts/scripts/examples/example_misc.cpp b/src/bindings/scripts/scripts/examples/example_misc.cpp new file mode 100644 index 00000000000..63136c6bc5d --- /dev/null +++ b/src/bindings/scripts/scripts/examples/example_misc.cpp @@ -0,0 +1,65 @@ +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* ScriptData +SDName: Example_Misc +SD%Complete: 100 +SDComment: Item, Areatrigger and other small code examples +SDCategory: Script Examples +EndScriptData */ + +#include "precompiled.h" + +#define SAY_HI -1999925 + +bool AT_example_areatrigger(Player *player, AreaTriggerEntry *at) +{ + DoScriptText(SAY_HI, player); + return true; +} + +extern void LoadDatabase(); +bool ItemUse_example_item(Player *player, Item* _Item, SpellCastTargets const& targets) +{ + LoadDatabase(); + return true; +} + +bool GOHello_example_go_teleporter(Player *player, GameObject* _GO) +{ + player->TeleportTo(0, 1807.07f,336.105f,70.3975f,0.0f); + return false; +} + +void AddSC_example_misc() +{ + Script *newscript; + + newscript = new Script; + newscript->Name = "example_areatrigger"; + newscript->pAreaTrigger = &AT_example_areatrigger; + newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name = "example_item"; + newscript->pItemUse = &ItemUse_example_item; + newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name = "example_go_teleporter"; + newscript->pGOHello = &GOHello_example_go_teleporter; + newscript->RegisterSelf(); +} diff --git a/src/bindings/scripts/scripts/go/go_scripts.cpp b/src/bindings/scripts/scripts/go/go_scripts.cpp index 511e283373a..de4666ce43d 100644 --- a/src/bindings/scripts/scripts/go/go_scripts.cpp +++ b/src/bindings/scripts/scripts/go/go_scripts.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -29,8 +29,7 @@ go_barov_journal go_field_repair_bot_74A go_orb_of_command go_tablet_of_madness -go_tablet_of_the_seven -go_teleporter +go_tablet_of_the_seven EndContentData */ #include "precompiled.h" @@ -148,16 +147,6 @@ bool GOHello_go_tablet_of_the_seven(Player *player, GameObject* _GO) return true; } -/*###### -## go_teleporter -######*/ - -bool GOHello_go_teleporter(Player *player, GameObject* _GO) -{ - player->TeleportTo(0, 1807.07f,336.105f,70.3975f,0.0f); - return false; -} - void AddSC_go_scripts() { Script *newscript; @@ -201,9 +190,4 @@ void AddSC_go_scripts() newscript->Name="go_tablet_of_the_seven"; newscript->pGOHello = &GOHello_go_tablet_of_the_seven; newscript->RegisterSelf(); - - newscript = new Script; - newscript->Name="go_teleporter"; - newscript->pGOHello = &GOHello_go_teleporter; - newscript->RegisterSelf(); } diff --git a/src/bindings/scripts/scripts/guard/guard_ai.cpp b/src/bindings/scripts/scripts/guard/guard_ai.cpp index 1a27a87c108..d7d56b29bd5 100644 --- a/src/bindings/scripts/scripts/guard/guard_ai.cpp +++ b/src/bindings/scripts/scripts/guard/guard_ai.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -28,6 +28,10 @@ EndScriptData */ #define GENERIC_CREATURE_COOLDOWN 5000 +#define SAY_GUARD_SIL_AGGRO1 -1070001 +#define SAY_GUARD_SIL_AGGRO2 -1070002 +#define SAY_GUARD_SIL_AGGRO3 -1070003 + void guardAI::Reset() { GlobalCooldown = 0; @@ -40,15 +44,9 @@ void guardAI::Aggro(Unit *who) { switch(rand()%3) { - case 0: - DoSay("Taste blade, mongrel!", LANG_UNIVERSAL,NULL); - break; - case 1: - DoSay("Please tell me that you didn't just do what I think you just did. Please tell me that I'm not going to have to hurt you...", LANG_UNIVERSAL,NULL); - break; - case 2: - DoSay("As if we don't have enough problems, you go and create more!", LANG_UNIVERSAL,NULL); - break; + case 0: DoScriptText(SAY_GUARD_SIL_AGGRO1, m_creature, who); break; + case 1: DoScriptText(SAY_GUARD_SIL_AGGRO1, m_creature, who); break; + case 2: DoScriptText(SAY_GUARD_SIL_AGGRO1, m_creature, who); break; } } diff --git a/src/bindings/scripts/scripts/guard/guard_ai.h b/src/bindings/scripts/scripts/guard/guard_ai.h index 57e7bdc226b..d6fa9bb4168 100644 --- a/src/bindings/scripts/scripts/guard/guard_ai.h +++ b/src/bindings/scripts/scripts/guard/guard_ai.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/guard/guards.cpp b/src/bindings/scripts/scripts/guard/guards.cpp index f4bc70d1b00..7cb0e3376cb 100644 --- a/src/bindings/scripts/scripts/guard/guards.cpp +++ b/src/bindings/scripts/scripts/guard/guards.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -115,23 +115,23 @@ void SendDefaultMenu_guard_azuremyst(Player *player, Creature *_Creature, uint32 switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Bank - player->SEND_POI(-3918.95, -11544.7, 6, 6, 0, "Bank"); + player->SEND_POI(-3918.95, -11544.7, 7, 6, 0, "Bank"); player->SEND_GOSSIP_MENU(10067,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Hippogryph Master - player->SEND_POI(-4057.15, -11788.6, 6, 6, 0, "Stephanos"); + player->SEND_POI(-4057.15, -11788.6, 7, 6, 0, "Stephanos"); player->SEND_GOSSIP_MENU(10071,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Guild master - player->SEND_POI(-4092.43, -11626.6, 6, 6, 0, "Funaam"); + player->SEND_POI(-4092.43, -11626.6, 7, 6, 0, "Funaam"); player->SEND_GOSSIP_MENU(10073,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Inn - player->SEND_POI(-4129.43, -12469, 6, 6, 0, "Caregiver Chellan"); + player->SEND_POI(-4129.43, -12469, 7, 6, 0, "Caregiver Chellan"); player->SEND_GOSSIP_MENU(10074,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Stable Master - player->SEND_POI(-4146.42, -12492.7, 6, 6, 0, "Esbina"); + player->SEND_POI(-4146.42, -12492.7, 7, 6, 0, "Esbina"); player->SEND_GOSSIP_MENU(10075,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Class trainer @@ -168,31 +168,31 @@ void SendClassTrainerMenu_guard_azuremyst(Player *player, Creature *_Creature, u switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Druid - player->SEND_POI(-4274.81, -11495.3, 6, 6, 0, "Shalannius"); + player->SEND_POI(-4274.81, -11495.3, 7, 6, 0, "Shalannius"); player->SEND_GOSSIP_MENU(10077,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Hunter - player->SEND_POI(-4203.65, -12526.5, 6, 6, 0, "Acteon"); + player->SEND_POI(-4203.65, -12526.5, 7, 6, 0, "Acteon"); player->SEND_GOSSIP_MENU(10078,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Mage - player->SEND_POI(-4149.62, -12530.1, 6, 6, 0, "Semid"); + player->SEND_POI(-4149.62, -12530.1, 7, 6, 0, "Semid"); player->SEND_GOSSIP_MENU(10081,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Paladin - player->SEND_POI(-4138.98, -12468.5, 6, 6, 0, "Tullas"); + player->SEND_POI(-4138.98, -12468.5, 7, 6, 0, "Tullas"); player->SEND_GOSSIP_MENU(10083,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Priest - player->SEND_POI(-4131.66, -12478.6, 6, 6, 0, "Guvan"); + player->SEND_POI(-4131.66, -12478.6, 7, 6, 0, "Guvan"); player->SEND_GOSSIP_MENU(10084,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Shaman - player->SEND_POI(-4162.33, -12456.1, 6, 6, 0, "Tuluun"); + player->SEND_POI(-4162.33, -12456.1, 7, 6, 0, "Tuluun"); player->SEND_GOSSIP_MENU(10085,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Warrior - player->SEND_POI(-4165.05, -12536.4, 6, 6, 0, "Ruada"); + player->SEND_POI(-4165.05, -12536.4, 7, 6, 0, "Ruada"); player->SEND_GOSSIP_MENU(10086,_Creature->GetGUID()); break; } @@ -203,54 +203,54 @@ void SendProfTrainerMenu_guard_azuremyst(Player *player, Creature *_Creature, ui switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Alchemy - player->SEND_POI(-4191.15, -12470, 6, 6, 0, "Daedal"); + player->SEND_POI(-4191.15, -12470, 7, 6, 0, "Daedal"); player->SEND_GOSSIP_MENU(10088,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Blacksmithing - player->SEND_POI(-4726.29, -12387, 6, 6, 0, "Blacksmith Calypso"); + player->SEND_POI(-4726.29, -12387, 7, 6, 0, "Blacksmith Calypso"); player->SEND_GOSSIP_MENU(10089,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Cooking - player->SEND_POI(-4710.87, -12400.6, 6, 6, 0, "'Cookie' McWeaksauce"); + player->SEND_POI(-4710.87, -12400.6, 7, 6, 0, "'Cookie' McWeaksauce"); player->SEND_GOSSIP_MENU(10090,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Enchanting - player->SEND_POI(-3882.85, -11496.7, 6, 6, 0, "Nahogg"); + player->SEND_POI(-3882.85, -11496.7, 7, 6, 0, "Nahogg"); player->SEND_GOSSIP_MENU(10091,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Engineering - player->SEND_POI(-4157.57, -12470.2, 6, 6, 0, "Artificer Daelo"); + player->SEND_POI(-4157.57, -12470.2, 7, 6, 0, "Artificer Daelo"); player->SEND_GOSSIP_MENU(10092,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //First Aid - player->SEND_POI(-4199.11, -12469.9, 6, 6, 0, "Anchorite Fateema"); + player->SEND_POI(-4199.11, -12469.9, 7, 6, 0, "Anchorite Fateema"); player->SEND_GOSSIP_MENU(10093,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Fishing - player->SEND_POI(-4266.38, -12985.1, 6, 6, 0, "Diktynna"); + player->SEND_POI(-4266.38, -12985.1, 7, 6, 0, "Diktynna"); player->SEND_GOSSIP_MENU(10094,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Herbalism player->SEND_GOSSIP_MENU(10095,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Jewelcrafting - player->SEND_POI(-3781.55, -11541.8, 6, 6, 0, "Farii"); + player->SEND_POI(-3781.55, -11541.8, 7, 6, 0, "Farii"); player->SEND_GOSSIP_MENU(10096,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 10: //Leatherworking - player->SEND_POI(-3442.68, -12322.2, 6, 6, 0, "Moordo"); + player->SEND_POI(-3442.68, -12322.2, 7, 6, 0, "Moordo"); player->SEND_GOSSIP_MENU(10098,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 11: //Mining - player->SEND_POI(-4179.89, -12493.1, 6, 6, 0, "Dulvi"); + player->SEND_POI(-4179.89, -12493.1, 7, 6, 0, "Dulvi"); player->SEND_GOSSIP_MENU(10097,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 12: //Skinning - player->SEND_POI(-3431.17, -12316.5, 6, 6, 0, "Gurf"); + player->SEND_POI(-3431.17, -12316.5, 7, 6, 0, "Gurf"); player->SEND_GOSSIP_MENU(10098,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 13: //Tailoring - player->SEND_POI(-4711.54, -12386.7, 6, 6, 0, "Erin Kelly"); + player->SEND_POI(-4711.54, -12386.7, 7, 6, 0, "Erin Kelly"); player->SEND_GOSSIP_MENU(10099,_Creature->GetGUID()); break; } @@ -302,35 +302,35 @@ void SendDefaultMenu_guard_bluffwatcher(Player *player, Creature *_Creature, uin switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Bank - player->SEND_POI(-1257.8, 24.14, 6, 6, 0, "Thunder Bluff Bank"); + player->SEND_POI(-1257.8, 24.14, 7, 6, 0, "Thunder Bluff Bank"); player->SEND_GOSSIP_MENU(1292,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Wind master - player->SEND_POI(-1196.43, 28.26, 6, 6, 0, "Wind Rider Roost"); + player->SEND_POI(-1196.43, 28.26, 7, 6, 0, "Wind Rider Roost"); player->SEND_GOSSIP_MENU(1293,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Guild master - player->SEND_POI(-1296.5, 127.57, 6, 6, 0, "Thunder Bluff Civic Information"); + player->SEND_POI(-1296.5, 127.57, 7, 6, 0, "Thunder Bluff Civic Information"); player->SEND_GOSSIP_MENU(1291,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Inn - player->SEND_POI(-1296, 39.7, 6, 6, 0, "Thunder Bluff Inn"); + player->SEND_POI(-1296, 39.7, 7, 6, 0, "Thunder Bluff Inn"); player->SEND_GOSSIP_MENU(3153,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Mailbox - player->SEND_POI(-1263.59, 44.36, 6, 6, 0, "Thunder Bluff Mailbox"); + player->SEND_POI(-1263.59, 44.36, 7, 6, 0, "Thunder Bluff Mailbox"); player->SEND_GOSSIP_MENU(3154,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Auction House - player->SEND_POI(1381.77, -4371.16, 6, 6, 0, GOSSIP_TEXT_AUCTIONHOUSE); + player->SEND_POI(1381.77, -4371.16, 7, 6, 0, GOSSIP_TEXT_AUCTIONHOUSE); player->SEND_GOSSIP_MENU(3155,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Weapon master - player->SEND_POI(-1282.31, 89.56, 6, 6, 0, "Ansekhwa"); + player->SEND_POI(-1282.31, 89.56, 7, 6, 0, "Ansekhwa"); player->SEND_GOSSIP_MENU(4520,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Stable master - player->SEND_POI(-1270.19, 48.84, 6, 6, 0, "Bulrug"); + player->SEND_POI(-1270.19, 48.84, 7, 6, 0, "Bulrug"); player->SEND_GOSSIP_MENU(5977,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //battlemaster @@ -370,15 +370,15 @@ void SendBattleMasterMenu_guard_bluffwatcher(Player *player, Creature *_Creature switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //AV - player->SEND_POI(-1387.82, -97.55, 6, 6, 0, "Taim Ragetotem"); + player->SEND_POI(-1387.82, -97.55, 7, 6, 0, "Taim Ragetotem"); player->SEND_GOSSIP_MENU(7522,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //AB - player->SEND_POI(-997, 214.12, 6, 6, 0, "Martin Lindsey"); + player->SEND_POI(-997, 214.12, 7, 6, 0, "Martin Lindsey"); player->SEND_GOSSIP_MENU(7648,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //WSG - player->SEND_POI(-1384.94, -75.91, 6, 6, 0, "Kergul Bloodaxe"); + player->SEND_POI(-1384.94, -75.91, 7, 6, 0, "Kergul Bloodaxe"); player->SEND_GOSSIP_MENU(7523,_Creature->GetGUID()); break; } @@ -389,27 +389,27 @@ void SendClassTrainerMenu_guard_bluffwatcher(Player *player, Creature *_Creature switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Druid - player->SEND_POI(-1054.47, -285, 6, 6, 0, "Hall of Elders"); + player->SEND_POI(-1054.47, -285, 7, 6, 0, "Hall of Elders"); player->SEND_GOSSIP_MENU(1294,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Hunter - player->SEND_POI(-1416.32, -114.28, 6, 6, 0, "Hunter's Hall"); + player->SEND_POI(-1416.32, -114.28, 7, 6, 0, "Hunter's Hall"); player->SEND_GOSSIP_MENU(1295,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Mage - player->SEND_POI(-1061.2, 195.5, 6, 6, 0, "Pools of Vision"); + player->SEND_POI(-1061.2, 195.5, 7, 6, 0, "Pools of Vision"); player->SEND_GOSSIP_MENU(1296,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Priest - player->SEND_POI(-1061.2, 195.5, 6, 6, 0, "Pools of Vision"); + player->SEND_POI(-1061.2, 195.5, 7, 6, 0, "Pools of Vision"); player->SEND_GOSSIP_MENU(1297,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Shaman - player->SEND_POI(-989.54, 278.25, 6, 6, 0, "Hall of Spirits"); + player->SEND_POI(-989.54, 278.25, 7, 6, 0, "Hall of Spirits"); player->SEND_GOSSIP_MENU(1298,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Warrior - player->SEND_POI(-1416.32, -114.28, 6, 6, 0, "Hunter's Hall"); + player->SEND_POI(-1416.32, -114.28, 7, 6, 0, "Hunter's Hall"); player->SEND_GOSSIP_MENU(1299,_Creature->GetGUID()); break; } @@ -420,47 +420,47 @@ void SendProfTrainerMenu_guard_bluffwatcher(Player *player, Creature *_Creature, switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Alchemy - player->SEND_POI(-1085.56, 27.29, 6, 6, 0, "Bena's Alchemy"); + player->SEND_POI(-1085.56, 27.29, 7, 6, 0, "Bena's Alchemy"); player->SEND_GOSSIP_MENU(1332,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Blacksmithing - player->SEND_POI(-1239.75, 104.88, 6, 6, 0, "Karn's Smithy"); + player->SEND_POI(-1239.75, 104.88, 7, 6, 0, "Karn's Smithy"); player->SEND_GOSSIP_MENU(1333,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Cooking - player->SEND_POI(-1214.5, -21.23, 6, 6, 0, "Aska's Kitchen"); + player->SEND_POI(-1214.5, -21.23, 7, 6, 0, "Aska's Kitchen"); player->SEND_GOSSIP_MENU(1334,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Enchanting - player->SEND_POI(-1112.65, 48.26, 6, 6, 0, "Dawnstrider Enchanters"); + player->SEND_POI(-1112.65, 48.26, 7, 6, 0, "Dawnstrider Enchanters"); player->SEND_GOSSIP_MENU(1335,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //First Aid - player->SEND_POI(-996.58, 200.5, 6, 6, 0, "Spiritual Healing"); + player->SEND_POI(-996.58, 200.5, 7, 6, 0, "Spiritual Healing"); player->SEND_GOSSIP_MENU(1336,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Fishing - player->SEND_POI(-1169.35, -68.87, 6, 6, 0, "Mountaintop Bait & Tackle"); + player->SEND_POI(-1169.35, -68.87, 7, 6, 0, "Mountaintop Bait & Tackle"); player->SEND_GOSSIP_MENU(1337,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Herbalism - player->SEND_POI(-1137.7, -1.51, 6, 6, 0, "Holistic Herbalism"); + player->SEND_POI(-1137.7, -1.51, 7, 6, 0, "Holistic Herbalism"); player->SEND_GOSSIP_MENU(1338,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Leatherworking - player->SEND_POI(-1156.22, 66.86, 6, 6, 0, "Thunder Bluff Armorers"); + player->SEND_POI(-1156.22, 66.86, 7, 6, 0, "Thunder Bluff Armorers"); player->SEND_GOSSIP_MENU(1339,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Mining - player->SEND_POI(-1249.17, 155, 6, 6, 0, "Stonehoof Geology"); + player->SEND_POI(-1249.17, 155, 7, 6, 0, "Stonehoof Geology"); player->SEND_GOSSIP_MENU(1340,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 10: //Skinning - player->SEND_POI(-1148.56, 51.18, 6, 6, 0, "Mooranta"); + player->SEND_POI(-1148.56, 51.18, 7, 6, 0, "Mooranta"); player->SEND_GOSSIP_MENU(1343,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 11: //Tailoring - player->SEND_POI(-1156.22, 66.86, 6, 6, 0, "Thunder Bluff Armorers"); + player->SEND_POI(-1156.22, 66.86, 7, 6, 0, "Thunder Bluff Armorers"); player->SEND_GOSSIP_MENU(1341,_Creature->GetGUID()); break; } @@ -525,35 +525,35 @@ void SendDefaultMenu_guard_darnassus(Player *player, Creature *_Creature, uint32 switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Auction house - player->SEND_POI(9861.23, 2334.55, 6, 6, 0, "Darnassus Auction House"); + player->SEND_POI(9861.23, 2334.55, 7, 6, 0, "Darnassus Auction House"); player->SEND_GOSSIP_MENU(3833, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Bank - player->SEND_POI(9938.45, 2512.35, 6, 6, 0, "Darnassus Bank"); + player->SEND_POI(9938.45, 2512.35, 7, 6, 0, "Darnassus Bank"); player->SEND_GOSSIP_MENU(3017, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Wind master - player->SEND_POI(9945.65, 2618.94, 6, 6, 0, "Rut'theran Village"); + player->SEND_POI(9945.65, 2618.94, 7, 6, 0, "Rut'theran Village"); player->SEND_GOSSIP_MENU(3018, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Guild master - player->SEND_POI(10076.40, 2199.59, 6, 6, 0, "Darnassus Guild Master"); + player->SEND_POI(10076.40, 2199.59, 7, 6, 0, "Darnassus Guild Master"); player->SEND_GOSSIP_MENU(3019, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Inn - player->SEND_POI(10133.29, 2222.52, 6, 6, 0, "Darnassus Inn"); + player->SEND_POI(10133.29, 2222.52, 7, 6, 0, "Darnassus Inn"); player->SEND_GOSSIP_MENU(3020, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Mailbox - player->SEND_POI(9942.17, 2495.48, 6, 6, 0, "Darnassus Mailbox"); + player->SEND_POI(9942.17, 2495.48, 7, 6, 0, "Darnassus Mailbox"); player->SEND_GOSSIP_MENU(3021, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Stable master - player->SEND_POI(10167.20, 2522.66, 6, 6, 0, "Alassin"); + player->SEND_POI(10167.20, 2522.66, 7, 6, 0, "Alassin"); player->SEND_GOSSIP_MENU(5980, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Weapon trainer - player->SEND_POI(9907.11, 2329.70, 6, 6, 0, "Ilyenia Moonfire"); + player->SEND_POI(9907.11, 2329.70, 7, 6, 0, "Ilyenia Moonfire"); player->SEND_GOSSIP_MENU(4517, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Battlemaster @@ -590,15 +590,15 @@ void SendBattleMasterMenu_guard_darnassus(Player *player, Creature *_Creature, u switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //AV - player->SEND_POI(9923.61, 2327.43, 6, 6, 0, "Brogun Stoneshield"); + player->SEND_POI(9923.61, 2327.43, 7, 6, 0, "Brogun Stoneshield"); player->SEND_GOSSIP_MENU(7518, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //AB - player->SEND_POI(9977.37, 2324.39, 6, 6, 0, "Keras Wolfheart"); + player->SEND_POI(9977.37, 2324.39, 7, 6, 0, "Keras Wolfheart"); player->SEND_GOSSIP_MENU(7651, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //WSG - player->SEND_POI(9979.84, 2315.79, 6, 6, 0, "Aethalas"); + player->SEND_POI(9979.84, 2315.79, 7, 6, 0, "Aethalas"); player->SEND_GOSSIP_MENU(7482, _Creature->GetGUID()); break; } @@ -609,23 +609,23 @@ void SendClassTrainerMenu_guard_darnassus(Player *player, Creature *_Creature, u switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Druid - player->SEND_POI(10186, 2570.46, 6, 6, 0, "Darnassus Druid Trainer"); + player->SEND_POI(10186, 2570.46, 7, 6, 0, "Darnassus Druid Trainer"); player->SEND_GOSSIP_MENU(3024, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Hunter - player->SEND_POI(10177.29, 2511.10, 6, 6, 0, "Darnassus Hunter Trainer"); + player->SEND_POI(10177.29, 2511.10, 7, 6, 0, "Darnassus Hunter Trainer"); player->SEND_GOSSIP_MENU(3023, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Priest - player->SEND_POI(9659.12, 2524.88, 6, 6, 0, "Temple of the Moon"); + player->SEND_POI(9659.12, 2524.88, 7, 6, 0, "Temple of the Moon"); player->SEND_GOSSIP_MENU(3025, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Rogue - player->SEND_POI(10122, 2599.12, 6, 6, 0, "Darnassus Rogue Trainer"); + player->SEND_POI(10122, 2599.12, 7, 6, 0, "Darnassus Rogue Trainer"); player->SEND_GOSSIP_MENU(3026, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Warrior - player->SEND_POI(9951.91, 2280.38, 6, 6, 0, "Warrior's Terrace"); + player->SEND_POI(9951.91, 2280.38, 7, 6, 0, "Warrior's Terrace"); player->SEND_GOSSIP_MENU(3033, _Creature->GetGUID()); break; } @@ -636,39 +636,39 @@ void SendProfTrainerMenu_guard_darnassus(Player *player, Creature *_Creature, ui switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Alchemy - player->SEND_POI(10075.90, 2356.76, 6, 6, 0, "Darnassus Alchemy Trainer"); + player->SEND_POI(10075.90, 2356.76, 7, 6, 0, "Darnassus Alchemy Trainer"); player->SEND_GOSSIP_MENU(3035, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Cooking - player->SEND_POI(10088.59, 2419.21, 6, 6, 0, "Darnassus Cooking Trainer"); + player->SEND_POI(10088.59, 2419.21, 7, 6, 0, "Darnassus Cooking Trainer"); player->SEND_GOSSIP_MENU(3036, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Enchanting - player->SEND_POI(10146.09, 2313.42, 6, 6, 0, "Darnassus Enchanting Trainer"); + player->SEND_POI(10146.09, 2313.42, 7, 6, 0, "Darnassus Enchanting Trainer"); player->SEND_GOSSIP_MENU(3337, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //First Aid - player->SEND_POI(10150.09, 2390.43, 6, 6, 0, "Darnassus First Aid Trainer"); + player->SEND_POI(10150.09, 2390.43, 7, 6, 0, "Darnassus First Aid Trainer"); player->SEND_GOSSIP_MENU(3037, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Fishing - player->SEND_POI(9836.20, 2432.17, 6, 6, 0, "Darnassus Fishing Trainer"); + player->SEND_POI(9836.20, 2432.17, 7, 6, 0, "Darnassus Fishing Trainer"); player->SEND_GOSSIP_MENU(3038, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Herbalism - player->SEND_POI(9757.17, 2430.16, 6, 6, 0, "Darnassus Herbalism Trainer"); + player->SEND_POI(9757.17, 2430.16, 7, 6, 0, "Darnassus Herbalism Trainer"); player->SEND_GOSSIP_MENU(3039, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Leatherworking - player->SEND_POI(10086.59, 2255.77, 6, 6, 0, "Darnassus Leatherworking Trainer"); + player->SEND_POI(10086.59, 2255.77, 7, 6, 0, "Darnassus Leatherworking Trainer"); player->SEND_GOSSIP_MENU(3040, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Skinning - player->SEND_POI(10081.40, 2257.18, 6, 6, 0, "Darnassus Skinning Trainer"); + player->SEND_POI(10081.40, 2257.18, 7, 6, 0, "Darnassus Skinning Trainer"); player->SEND_GOSSIP_MENU(3042, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Tailoring - player->SEND_POI(10079.70, 2268.19, 6, 6, 0, "Darnassus Tailor"); + player->SEND_POI(10079.70, 2268.19, 7, 6, 0, "Darnassus Tailor"); player->SEND_GOSSIP_MENU(3044, _Creature->GetGUID()); break; } @@ -727,11 +727,11 @@ void SendDefaultMenu_guard_dunmorogh(Player *player, Creature *_Creature, uint32 player->SEND_GOSSIP_MENU(4290,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Inn - player->SEND_POI(-5582.66, -525.89, 6, 6, 0, "Thunderbrew Distillery"); + player->SEND_POI(-5582.66, -525.89, 7, 6, 0, "Thunderbrew Distillery"); player->SEND_GOSSIP_MENU(4291,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Stable Master - player->SEND_POI(-5604, -509.58, 6, 6, 0, "Shelby Stoneflint"); + player->SEND_POI(-5604, -509.58, 7, 6, 0, "Shelby Stoneflint"); player->SEND_GOSSIP_MENU(5985,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Class trainer @@ -767,31 +767,31 @@ void SendClassTrainerMenu_guard_dunmorogh(Player *player, Creature *_Creature, u switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Hunter - player->SEND_POI(-5618.29, -454.25, 6, 6, 0, "Grif Wildheart"); + player->SEND_POI(-5618.29, -454.25, 7, 6, 0, "Grif Wildheart"); player->SEND_GOSSIP_MENU(4293,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Mage - player->SEND_POI(-5585.6, -539.99, 6, 6, 0, "Magis Sparkmantle"); + player->SEND_POI(-5585.6, -539.99, 7, 6, 0, "Magis Sparkmantle"); player->SEND_GOSSIP_MENU(4294,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Paladin - player->SEND_POI(-5585.6, -539.99, 6, 6, 0, "Azar Stronghammer"); + player->SEND_POI(-5585.6, -539.99, 7, 6, 0, "Azar Stronghammer"); player->SEND_GOSSIP_MENU(4295,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Priest - player->SEND_POI(-5591.74, -525.61, 6, 6, 0, "Maxan Anvol"); + player->SEND_POI(-5591.74, -525.61, 7, 6, 0, "Maxan Anvol"); player->SEND_GOSSIP_MENU(4296,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Rogue - player->SEND_POI(-5602.75, -542.4, 6, 6, 0, "Hogral Bakkan"); + player->SEND_POI(-5602.75, -542.4, 7, 6, 0, "Hogral Bakkan"); player->SEND_GOSSIP_MENU(4297,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Warlock - player->SEND_POI(-5641.97, -523.76, 6, 6, 0, "Gimrizz Shadowcog"); + player->SEND_POI(-5641.97, -523.76, 7, 6, 0, "Gimrizz Shadowcog"); player->SEND_GOSSIP_MENU(4298,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Warrior - player->SEND_POI(-5604.79, -529.38, 6, 6, 0, "Granis Swiftaxe"); + player->SEND_POI(-5604.79, -529.38, 7, 6, 0, "Granis Swiftaxe"); player->SEND_GOSSIP_MENU(4299,_Creature->GetGUID()); break; } @@ -805,26 +805,26 @@ void SendProfTrainerMenu_guard_dunmorogh(Player *player, Creature *_Creature, ui player->SEND_GOSSIP_MENU(4301,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Blacksmithing - player->SEND_POI(-5584.72, -428.41, 6, 6, 0, "Tognus Flintfire"); + player->SEND_POI(-5584.72, -428.41, 7, 6, 0, "Tognus Flintfire"); player->SEND_GOSSIP_MENU(4302,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Cooking - player->SEND_POI(-5596.85, -541.43, 6, 6, 0, "Gremlock Pilsnor"); + player->SEND_POI(-5596.85, -541.43, 7, 6, 0, "Gremlock Pilsnor"); player->SEND_GOSSIP_MENU(4303,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Enchanting player->SEND_GOSSIP_MENU(4304,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Engineering - player->SEND_POI(-5531, -666.53, 6, 6, 0, "Bronk Guzzlegear"); + player->SEND_POI(-5531, -666.53, 7, 6, 0, "Bronk Guzzlegear"); player->SEND_GOSSIP_MENU(4305,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //First Aid - player->SEND_POI(-5603.67, -523.57, 6, 6, 0, "Thamner Pol"); + player->SEND_POI(-5603.67, -523.57, 7, 6, 0, "Thamner Pol"); player->SEND_GOSSIP_MENU(4306,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Fishing - player->SEND_POI(-5199.9, 58.58, 6, 6, 0, "Paxton Ganter"); + player->SEND_POI(-5199.9, 58.58, 7, 6, 0, "Paxton Ganter"); player->SEND_GOSSIP_MENU(4307,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Herbalism @@ -834,7 +834,7 @@ void SendProfTrainerMenu_guard_dunmorogh(Player *player, Creature *_Creature, ui player->SEND_GOSSIP_MENU(4310,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 10: //Mining - player->SEND_POI(-5531, -666.53, 6, 6, 0, "Yarr Hamerstone"); + player->SEND_POI(-5531, -666.53, 7, 6, 0, "Yarr Hamerstone"); player->SEND_GOSSIP_MENU(4311,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 11: //Skinning @@ -893,11 +893,11 @@ void SendDefaultMenu_guard_durotar(Player *player, Creature *_Creature, uint32 a player->SEND_GOSSIP_MENU(4033,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Inn - player->SEND_POI(338.7, -4688.87, 6, 6, 0, "Razor Hill Inn"); + player->SEND_POI(338.7, -4688.87, 7, 6, 0, "Razor Hill Inn"); player->SEND_GOSSIP_MENU(4034,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Stable master - player->SEND_POI(330.31, -4710.66, 6, 6, 0, "Shoja'my"); + player->SEND_POI(330.31, -4710.66, 7, 6, 0, "Shoja'my"); player->SEND_GOSSIP_MENU(5973,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Class trainer @@ -933,31 +933,31 @@ void SendClassTrainerMenu_guard_durotar(Player *player, Creature *_Creature, uin switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Hunter - player->SEND_POI(276, -4706.72, 6, 6, 0, "Thotar"); + player->SEND_POI(276, -4706.72, 7, 6, 0, "Thotar"); player->SEND_GOSSIP_MENU(4013,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Mage - player->SEND_POI(-839.33, -4935.6, 6, 6, 0, "Un'Thuwa"); + player->SEND_POI(-839.33, -4935.6, 7, 6, 0, "Un'Thuwa"); player->SEND_GOSSIP_MENU(4014,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Priest - player->SEND_POI(296.22, -4828.1, 6, 6, 0, "Tai'jin"); + player->SEND_POI(296.22, -4828.1, 7, 6, 0, "Tai'jin"); player->SEND_GOSSIP_MENU(4015,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Rogue - player->SEND_POI(265.76, -4709, 6, 6, 0, "Kaplak"); + player->SEND_POI(265.76, -4709, 7, 6, 0, "Kaplak"); player->SEND_GOSSIP_MENU(4016,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Shaman - player->SEND_POI(307.79, -4836.97, 6, 6, 0, "Swart"); + player->SEND_POI(307.79, -4836.97, 7, 6, 0, "Swart"); player->SEND_GOSSIP_MENU(4017,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Warlock - player->SEND_POI(355.88, -4836.45, 6, 6, 0, "Dhugru Gorelust"); + player->SEND_POI(355.88, -4836.45, 7, 6, 0, "Dhugru Gorelust"); player->SEND_GOSSIP_MENU(4018,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Warrior - player->SEND_POI(312.3, -4824.66, 6, 6, 0, "Tarshaw Jaggedscar"); + player->SEND_POI(312.3, -4824.66, 7, 6, 0, "Tarshaw Jaggedscar"); player->SEND_GOSSIP_MENU(4019,_Creature->GetGUID()); break; } @@ -968,11 +968,11 @@ void SendProfTrainerMenu_guard_durotar(Player *player, Creature *_Creature, uint switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Alchemy - player->SEND_POI(-800.25, -4894.33, 6, 6, 0, "Miao'zan"); + player->SEND_POI(-800.25, -4894.33, 7, 6, 0, "Miao'zan"); player->SEND_GOSSIP_MENU(4020,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Blacksmithing - player->SEND_POI(373.24, -4716.45, 6, 6, 0, "Dwukk"); + player->SEND_POI(373.24, -4716.45, 7, 6, 0, "Dwukk"); player->SEND_GOSSIP_MENU(4021,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Cooking @@ -982,26 +982,26 @@ void SendProfTrainerMenu_guard_durotar(Player *player, Creature *_Creature, uint player->SEND_GOSSIP_MENU(4023,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Engineering - player->SEND_POI(368.95, -4723.95, 6, 6, 0, "Mukdrak"); + player->SEND_POI(368.95, -4723.95, 7, 6, 0, "Mukdrak"); player->SEND_GOSSIP_MENU(4024,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //First Aid - player->SEND_POI(327.17, -4825.62, 6, 6, 0, "Rawrk"); + player->SEND_POI(327.17, -4825.62, 7, 6, 0, "Rawrk"); player->SEND_GOSSIP_MENU(4025,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Fishing - player->SEND_POI(-1065.48, -4777.43, 6, 6, 0, "Lau'Tiki"); + player->SEND_POI(-1065.48, -4777.43, 7, 6, 0, "Lau'Tiki"); player->SEND_GOSSIP_MENU(4026,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Herbalism - player->SEND_POI(-836.25, -4896.89, 6, 6, 0, "Mishiki"); + player->SEND_POI(-836.25, -4896.89, 7, 6, 0, "Mishiki"); player->SEND_GOSSIP_MENU(4027,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Leatherworking player->SEND_GOSSIP_MENU(4028,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 10: //Mining - player->SEND_POI(366.94, -4705, 6, 6, 0, "Krunn"); + player->SEND_POI(366.94, -4705, 7, 6, 0, "Krunn"); player->SEND_GOSSIP_MENU(4029,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 11: //Skinning @@ -1064,11 +1064,11 @@ void SendDefaultMenu_guard_elwynnforest(Player *player, Creature *_Creature, uin player->SEND_GOSSIP_MENU(4262,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Inn - player->SEND_POI(-9459.34, 42.08, 6, 6, 0, "Lion's Pride Inn"); + player->SEND_POI(-9459.34, 42.08, 7, 6, 0, "Lion's Pride Inn"); player->SEND_GOSSIP_MENU(4263,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Stable Master - player->SEND_POI(-9466.62, 45.87, 6, 6, 0, "Erma"); + player->SEND_POI(-9466.62, 45.87, 7, 6, 0, "Erma"); player->SEND_GOSSIP_MENU(5983,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Class trainer @@ -1111,27 +1111,27 @@ void SendClassTrainerMenu_guard_elwynnforest(Player *player, Creature *_Creature player->SEND_GOSSIP_MENU(4266,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Mage - player->SEND_POI(-9471.12, 33.44, 6, 6, 0, "Zaldimar Wefhellt"); + player->SEND_POI(-9471.12, 33.44, 7, 6, 0, "Zaldimar Wefhellt"); player->SEND_GOSSIP_MENU(4268,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Paladin - player->SEND_POI(-9469, 108.05, 6, 6, 0, "Brother Wilhelm"); + player->SEND_POI(-9469, 108.05, 7, 6, 0, "Brother Wilhelm"); player->SEND_GOSSIP_MENU(4269,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Priest - player->SEND_POI(-9461.07, 32.6, 6, 6, 0, "Priestess Josetta"); + player->SEND_POI(-9461.07, 32.6, 7, 6, 0, "Priestess Josetta"); player->SEND_GOSSIP_MENU(4267,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Rogue - player->SEND_POI(-9465.13, 13.29, 6, 6, 0, "Keryn Sylvius"); + player->SEND_POI(-9465.13, 13.29, 7, 6, 0, "Keryn Sylvius"); player->SEND_GOSSIP_MENU(4270,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Warlock - player->SEND_POI(-9473.21, -4.08, 6, 6, 0, "Maximillian Crowe"); + player->SEND_POI(-9473.21, -4.08, 7, 6, 0, "Maximillian Crowe"); player->SEND_GOSSIP_MENU(4272,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Warrior - player->SEND_POI(-9461.82, 109.50, 6, 6, 0, "Lyria Du Lac"); + player->SEND_POI(-9461.82, 109.50, 7, 6, 0, "Lyria Du Lac"); player->SEND_GOSSIP_MENU(4271,_Creature->GetGUID()); break; } @@ -1142,15 +1142,15 @@ void SendProfTrainerMenu_guard_elwynnforest(Player *player, Creature *_Creature, switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Alchemy - player->SEND_POI(-9057.04, 153.63, 6, 6, 0, "Alchemist Mallory"); + player->SEND_POI(-9057.04, 153.63, 7, 6, 0, "Alchemist Mallory"); player->SEND_GOSSIP_MENU(4274,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Blacksmithing - player->SEND_POI(-9456.58, 87.90, 6, 6, 0, "Smith Argus"); + player->SEND_POI(-9456.58, 87.90, 7, 6, 0, "Smith Argus"); player->SEND_GOSSIP_MENU(4275,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Cooking - player->SEND_POI(-9467.54, -3.16, 6, 6, 0, "Tomas"); + player->SEND_POI(-9467.54, -3.16, 7, 6, 0, "Tomas"); player->SEND_GOSSIP_MENU(4276,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Enchanting @@ -1160,30 +1160,30 @@ void SendProfTrainerMenu_guard_elwynnforest(Player *player, Creature *_Creature, player->SEND_GOSSIP_MENU(4278,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //First Aid - player->SEND_POI(-9456.82, 30.49, 6, 6, 0, "Michelle Belle"); + player->SEND_POI(-9456.82, 30.49, 7, 6, 0, "Michelle Belle"); player->SEND_GOSSIP_MENU(4279,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Fishing - player->SEND_POI(-9386.54, -118.73, 6, 6, 0, "Lee Brown"); + player->SEND_POI(-9386.54, -118.73, 7, 6, 0, "Lee Brown"); player->SEND_GOSSIP_MENU(4280,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Herbalism - player->SEND_POI(-9060.70, 149.23, 6, 6, 0, "Herbalist Pomeroy"); + player->SEND_POI(-9060.70, 149.23, 7, 6, 0, "Herbalist Pomeroy"); player->SEND_GOSSIP_MENU(4281,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Leatherworking - player->SEND_POI(-9376.12, -75.23, 6, 6, 0, "Adele Fielder"); + player->SEND_POI(-9376.12, -75.23, 7, 6, 0, "Adele Fielder"); player->SEND_GOSSIP_MENU(4282,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 10: //Mining player->SEND_GOSSIP_MENU(4283,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 11: //Skinning - player->SEND_POI(-9536.91, -1212.76, 6, 6, 0, "Helene Peltskinner"); + player->SEND_POI(-9536.91, -1212.76, 7, 6, 0, "Helene Peltskinner"); player->SEND_GOSSIP_MENU(4284,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 12: //Tailoring - player->SEND_POI(-9376.12, -75.23, 6, 6, 0, "Eldrin"); + player->SEND_POI(-9376.12, -75.23, 7, 6, 0, "Eldrin"); player->SEND_GOSSIP_MENU(4285,_Creature->GetGUID()); break; } @@ -1230,18 +1230,18 @@ void SendDefaultMenu_guard_eversong(Player *player, Creature *_Creature, uint32 switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Bat Handler - player->SEND_POI(9371.93, -7164.80, 6, 6, 0, "Skymistress Gloaming"); + player->SEND_POI(9371.93, -7164.80, 7, 6, 0, "Skymistress Gloaming"); player->SEND_GOSSIP_MENU(10181,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Guild master player->SEND_GOSSIP_MENU(10182,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Inn - player->SEND_POI(9483.74, -6844.58, 6, 6, 0, "Delaniel's inn"); + player->SEND_POI(9483.74, -6844.58, 7, 6, 0, "Delaniel's inn"); player->SEND_GOSSIP_MENU(10183,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Stable Master - player->SEND_POI(9489.62, -6829.93, 6, 6, 0, "Anathos"); + player->SEND_POI(9489.62, -6829.93, 7, 6, 0, "Anathos"); player->SEND_GOSSIP_MENU(10184,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Class trainer @@ -1280,27 +1280,27 @@ void SendClassTrainerMenu_guard_eversong(Player *player, Creature *_Creature, ui player->SEND_GOSSIP_MENU(10185,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Hunter - player->SEND_POI(9527.44, -6865.25, 6, 6, 0, "Hannovia"); + player->SEND_POI(9527.44, -6865.25, 7, 6, 0, "Hannovia"); player->SEND_GOSSIP_MENU(10186,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Mage - player->SEND_POI(9464.24, -6855.52, 6, 6, 0, "Garridel"); + player->SEND_POI(9464.24, -6855.52, 7, 6, 0, "Garridel"); player->SEND_GOSSIP_MENU(10187,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Paladin - player->SEND_POI(9517.61, -6871.04, 6, 6, 0, "Noellene"); + player->SEND_POI(9517.61, -6871.04, 7, 6, 0, "Noellene"); player->SEND_GOSSIP_MENU(10189,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Priest - player->SEND_POI(9467.39, -6845.72, 6, 6, 0, "Ponaris"); + player->SEND_POI(9467.39, -6845.72, 7, 6, 0, "Ponaris"); player->SEND_GOSSIP_MENU(10190,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Rogue - player->SEND_POI(9533.67, -6877.39, 6, 6, 0, "Tannaria"); + player->SEND_POI(9533.67, -6877.39, 7, 6, 0, "Tannaria"); player->SEND_GOSSIP_MENU(10191,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Warlock - player->SEND_POI(9468.99, -6865.60, 6, 6, 0, "Celoenus"); + player->SEND_POI(9468.99, -6865.60, 7, 6, 0, "Celoenus"); player->SEND_GOSSIP_MENU(10192,_Creature->GetGUID()); break; } @@ -1311,48 +1311,48 @@ void SendProfTrainerMenu_guard_eversong(Player *player, Creature *_Creature, uin switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Alchemy - player->SEND_POI(8659.90, -6368.12, 6, 6, 0, "Arcanist Sheynathren"); + player->SEND_POI(8659.90, -6368.12, 7, 6, 0, "Arcanist Sheynathren"); player->SEND_GOSSIP_MENU(10193,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Blacksmithing - player->SEND_POI(8984.21, -7419.21, 6, 6, 0, "Arathel Sunforge"); + player->SEND_POI(8984.21, -7419.21, 7, 6, 0, "Arathel Sunforge"); player->SEND_GOSSIP_MENU(10194,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Cooking - player->SEND_POI(9494.04, -6881.51, 6, 6, 0, "Quarelestra"); + player->SEND_POI(9494.04, -6881.51, 7, 6, 0, "Quarelestra"); player->SEND_GOSSIP_MENU(10195,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Engineering player->SEND_GOSSIP_MENU(10197,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //First Aid - player->SEND_POI(9479.46, -6879.16, 6, 6, 0, "Kanaria"); + player->SEND_POI(9479.46, -6879.16, 7, 6, 0, "Kanaria"); player->SEND_GOSSIP_MENU(10198,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Fishing player->SEND_GOSSIP_MENU(10199,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Herbalism - player->SEND_POI(8678.92, -6329.09, 6, 6, 0, "Botanist Tyniarrel"); + player->SEND_POI(8678.92, -6329.09, 7, 6, 0, "Botanist Tyniarrel"); player->SEND_GOSSIP_MENU(10200,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Jewelcrafting - player->SEND_POI(9484.32, -6874.98, 6, 6, 0, "Aleinia"); + player->SEND_POI(9484.32, -6874.98, 7, 6, 0, "Aleinia"); player->SEND_GOSSIP_MENU(10203,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Leatherworking - player->SEND_POI(9362.04, -7130.33, 6, 6, 0, "Sathein"); + player->SEND_POI(9362.04, -7130.33, 7, 6, 0, "Sathein"); player->SEND_GOSSIP_MENU(10204,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 10: //Mining player->SEND_GOSSIP_MENU(10205,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 11: //Skinning - player->SEND_POI(9362.04, -7130.33, 6, 6, 0, "Mathreyn"); + player->SEND_POI(9362.04, -7130.33, 7, 6, 0, "Mathreyn"); player->SEND_GOSSIP_MENU(10206,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 12: //Tailoring - player->SEND_POI(8680.36, -6327.51, 6, 6, 0, "Sempstress Ambershine"); + player->SEND_POI(8680.36, -6327.51, 7, 6, 0, "Sempstress Ambershine"); player->SEND_GOSSIP_MENU(10207,_Creature->GetGUID()); break; } @@ -1404,35 +1404,35 @@ void SendDefaultMenu_guard_exodar(Player *player, Creature *_Creature, uint32 ac switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Auction house - player->SEND_POI(-4023.6, -11739.3, 6, 6, 0, "Exodar Auction House"); + player->SEND_POI(-4023.6, -11739.3, 7, 6, 0, "Exodar Auction House"); player->SEND_GOSSIP_MENU(9528, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Bank - player->SEND_POI(-3923.89, -11544.5, 6, 6, 0, "Exodar Bank"); + player->SEND_POI(-3923.89, -11544.5, 7, 6, 0, "Exodar Bank"); player->SEND_GOSSIP_MENU(9529, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Guild master - player->SEND_POI(-4092.57, -11626.5, 6, 6, 0, "Exodar Guild Master"); + player->SEND_POI(-4092.57, -11626.5, 7, 6, 0, "Exodar Guild Master"); player->SEND_GOSSIP_MENU(9539, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Hippogryph master - player->SEND_POI(-4060.46, -11787.1, 6, 6, 0, "Exodar Hippogryph Master"); + player->SEND_POI(-4060.46, -11787.1, 7, 6, 0, "Exodar Hippogryph Master"); player->SEND_GOSSIP_MENU(9530, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Inn - player->SEND_POI(-3741.87, -11695.1, 6, 6, 0, "Exodar Inn"); + player->SEND_POI(-3741.87, -11695.1, 7, 6, 0, "Exodar Inn"); player->SEND_GOSSIP_MENU(9545, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Mailbox - player->SEND_POI(-3972.5, -11696.0, 6, 6, 0, "Mailbox"); + player->SEND_POI(-3972.5, -11696.0, 7, 6, 0, "Mailbox"); player->SEND_GOSSIP_MENU(10254, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Stable master - player->SEND_POI(-3786.5, -11702.5, 6, 6, 0, "Stable Master Arthaid"); + player->SEND_POI(-3786.5, -11702.5, 7, 6, 0, "Stable Master Arthaid"); player->SEND_GOSSIP_MENU(9558, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Weapon trainer - player->SEND_POI(-4215.68, -11628.9, 6, 6, 0, "Weapon Master Handiir"); + player->SEND_POI(-4215.68, -11628.9, 7, 6, 0, "Weapon Master Handiir"); player->SEND_GOSSIP_MENU(9565, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Battlemaster @@ -1477,23 +1477,23 @@ void SendBattleMasterMenu_guard_exodar(Player *player, Creature *_Creature, uint switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //AV - player->SEND_POI(-3978.1, -11357, 6, 6, 0, "Alterac Valley Battlemaster"); + player->SEND_POI(-3978.1, -11357, 7, 6, 0, "Alterac Valley Battlemaster"); player->SEND_GOSSIP_MENU(9531, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //AB - player->SEND_POI(-3998.9, -11345.2, 6, 6, 0, "Arathi Basin Battlemaster"); + player->SEND_POI(-3998.9, -11345.2, 7, 6, 0, "Arathi Basin Battlemaster"); player->SEND_GOSSIP_MENU(9531, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //A - player->SEND_POI(-3759.27, -11695.63, 6, 6, 0, "Miglik Blotstrom"); + player->SEND_POI(-3759.27, -11695.63, 7, 6, 0, "Miglik Blotstrom"); player->SEND_GOSSIP_MENU(10223, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //EOS - player->SEND_POI(-3978.1, -11357, 6, 6, 0, "Eye Of The Storm Battlemaster"); + player->SEND_POI(-3978.1, -11357, 7, 6, 0, "Eye Of The Storm Battlemaster"); player->SEND_GOSSIP_MENU(9531, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //WSG - player->SEND_POI(-3977.5, -11381.2, 6, 6, 0, "Warsong Gulch Battlemaster"); + player->SEND_POI(-3977.5, -11381.2, 7, 6, 0, "Warsong Gulch Battlemaster"); player->SEND_GOSSIP_MENU(9531, _Creature->GetGUID()); break; } @@ -1504,31 +1504,31 @@ void SendClassTrainerMenu_guard_exodar(Player *player, Creature *_Creature, uint switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Druid - player->SEND_POI(-4276.0, -11495, 6, 6, 0, "Exodar Druid Trainer"); + player->SEND_POI(-4276.0, -11495, 7, 6, 0, "Exodar Druid Trainer"); player->SEND_GOSSIP_MENU(9534, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Hunter - player->SEND_POI(-4210.6, -11575.2, 6, 6, 0, "Exodar Hunter Trainer"); + player->SEND_POI(-4210.6, -11575.2, 7, 6, 0, "Exodar Hunter Trainer"); player->SEND_GOSSIP_MENU(9544, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Mage - player->SEND_POI(-4057.32, -11556.5, 6, 6, 0, "Exodar Mage Trainer"); + player->SEND_POI(-4057.32, -11556.5, 7, 6, 0, "Exodar Mage Trainer"); player->SEND_GOSSIP_MENU(9550, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Paladin - player->SEND_POI(-4191.2, -11470.4, 6, 6, 0, "Exodar Paladin Trainer"); + player->SEND_POI(-4191.2, -11470.4, 7, 6, 0, "Exodar Paladin Trainer"); player->SEND_GOSSIP_MENU(9553, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Priest - player->SEND_POI(-3969.63, -11482.8, 6, 6, 0, "Exodar Priest Trainer"); + player->SEND_POI(-3969.63, -11482.8, 7, 6, 0, "Exodar Priest Trainer"); player->SEND_GOSSIP_MENU(9554, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Shaman - player->SEND_POI(-3805.5, -11380.7, 6, 6, 0, "Exodar Shaman Trainer"); + player->SEND_POI(-3805.5, -11380.7, 7, 6, 0, "Exodar Shaman Trainer"); player->SEND_GOSSIP_MENU(9556, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Warrior - player->SEND_POI(-4189.43, -11653.7, 6, 6, 0, "Exodar Warrior Trainer"); + player->SEND_POI(-4189.43, -11653.7, 7, 6, 0, "Exodar Warrior Trainer"); player->SEND_GOSSIP_MENU(9562, _Creature->GetGUID()); break; } @@ -1539,55 +1539,55 @@ void SendProfTrainerMenu_guard_exodar(Player *player, Creature *_Creature, uint3 switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Alchemy - player->SEND_POI(-4040.6, -11364.5, 6, 6, 0, "Exodar Alchemy Trainer"); + player->SEND_POI(-4040.6, -11364.5, 7, 6, 0, "Exodar Alchemy Trainer"); player->SEND_GOSSIP_MENU(9527, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Blacksmithing - player->SEND_POI(-4229.5, -11706, 6, 6, 0, "Exodar Blacksmithing Trainer"); + player->SEND_POI(-4229.5, -11706, 7, 6, 0, "Exodar Blacksmithing Trainer"); player->SEND_GOSSIP_MENU(9532, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Cooking - player->SEND_POI(-3798.3, -11651.7, 6, 6, 0, "Exodar Cooking Trainer"); + player->SEND_POI(-3798.3, -11651.7, 7, 6, 0, "Exodar Cooking Trainer"); player->SEND_GOSSIP_MENU(9551, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Enchanting - player->SEND_POI(-3889.3, -11495, 6, 6, 0, "Exodar Enchanting Trainer"); + player->SEND_POI(-3889.3, -11495, 7, 6, 0, "Exodar Enchanting Trainer"); player->SEND_GOSSIP_MENU(9535, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Engineering - player->SEND_POI(-4257.68, -11640.3, 6, 6, 0, "Exodar Engineering Trainer"); + player->SEND_POI(-4257.68, -11640.3, 7, 6, 0, "Exodar Engineering Trainer"); player->SEND_GOSSIP_MENU(9536, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //First Aid - player->SEND_POI(-3769.5, -11479.6, 6, 6, 0, "Exodar First Aid Trainer"); + player->SEND_POI(-3769.5, -11479.6, 7, 6, 0, "Exodar First Aid Trainer"); player->SEND_GOSSIP_MENU(9537, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Fishing - player->SEND_POI(-3725.5, -11385.2, 6, 6, 0, "Exodar Fishing Trainer"); + player->SEND_POI(-3725.5, -11385.2, 7, 6, 0, "Exodar Fishing Trainer"); player->SEND_GOSSIP_MENU(9538, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Jewelcrafting - player->SEND_POI(-3783, -11546, 6, 6, 0, "Exodar Jewelcrafting Trainer"); + player->SEND_POI(-3783, -11546, 7, 6, 0, "Exodar Jewelcrafting Trainer"); player->SEND_GOSSIP_MENU(9547, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Herbalism - player->SEND_POI(-4040.6, -11364.5, 6, 6, 0, "Exodar Herbalist Trainer"); + player->SEND_POI(-4040.6, -11364.5, 7, 6, 0, "Exodar Herbalist Trainer"); player->SEND_GOSSIP_MENU(9543, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 10: //Leatherworking - player->SEND_POI(-4140.6, -11776.7, 6, 6, 0, "Exodar Leatherworking Trainer"); + player->SEND_POI(-4140.6, -11776.7, 7, 6, 0, "Exodar Leatherworking Trainer"); player->SEND_GOSSIP_MENU(9549, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 11: //Mining - player->SEND_POI(-4228, -11697, 6, 6, 0, "Exodar Mining Trainer"); + player->SEND_POI(-4228, -11697, 7, 6, 0, "Exodar Mining Trainer"); player->SEND_GOSSIP_MENU(9552, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 12: //Skinning - player->SEND_POI(-4134.97, -11760.5, 6, 6, 0, "Exodar Skinning Trainer"); + player->SEND_POI(-4134.97, -11760.5, 7, 6, 0, "Exodar Skinning Trainer"); player->SEND_GOSSIP_MENU(9557, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 13: //Tailoring - player->SEND_POI(-4092.5, -11744.5, 6, 6, 0, "Exodar Tailor Trainer"); + player->SEND_POI(-4092.5, -11744.5, 7, 6, 0, "Exodar Tailor Trainer"); player->SEND_GOSSIP_MENU(9559, _Creature->GetGUID()); break; } @@ -1641,39 +1641,39 @@ void SendDefaultMenu_guard_ironforge(Player *player, Creature *_Creature, uint32 switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Auction House - player->SEND_POI(-4957.39, -911.6, 6, 6, 0, "Ironforge Auction House"); + player->SEND_POI(-4957.39, -911.6, 7, 6, 0, "Ironforge Auction House"); player->SEND_GOSSIP_MENU(3014, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Bank - player->SEND_POI(-4891.91, -991.47, 6, 6, 0, "The Vault"); + player->SEND_POI(-4891.91, -991.47, 7, 6, 0, "The Vault"); player->SEND_GOSSIP_MENU(2761, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Tram - player->SEND_POI(-4835.27, -1294.69, 6, 6, 0, "Deeprun Tram"); + player->SEND_POI(-4835.27, -1294.69, 7, 6, 0, "Deeprun Tram"); player->SEND_GOSSIP_MENU(3814, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Gryphon Master - player->SEND_POI(-4821.52, -1152.3, 6, 6, 0, "Ironforge Gryphon Master"); + player->SEND_POI(-4821.52, -1152.3, 7, 6, 0, "Ironforge Gryphon Master"); player->SEND_GOSSIP_MENU(2762, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Guild Master - player->SEND_POI(-5021, -996.45, 6, 6, 0, "Ironforge Visitor's Center"); + player->SEND_POI(-5021, -996.45, 7, 6, 0, "Ironforge Visitor's Center"); player->SEND_GOSSIP_MENU(2764, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Inn - player->SEND_POI(-4850.47, -872.57, 6, 6, 0, "Stonefire Tavern"); + player->SEND_POI(-4850.47, -872.57, 7, 6, 0, "Stonefire Tavern"); player->SEND_GOSSIP_MENU(2768, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Mailbox - player->SEND_POI(-4845.7, -880.55, 6, 6, 0, "Ironforge Mailbox"); + player->SEND_POI(-4845.7, -880.55, 7, 6, 0, "Ironforge Mailbox"); player->SEND_GOSSIP_MENU(2769, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Stable Master - player->SEND_POI(-5010.2, -1262, 6, 6, 0, "Ulbrek Firehand"); + player->SEND_POI(-5010.2, -1262, 7, 6, 0, "Ulbrek Firehand"); player->SEND_GOSSIP_MENU(5986, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Weapons Trainer - player->SEND_POI(-5040, -1201.88, 6, 6, 0, "Bixi and Buliwyf"); + player->SEND_POI(-5040, -1201.88, 7, 6, 0, "Bixi and Buliwyf"); player->SEND_GOSSIP_MENU(4518, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 10: //Battlemaster @@ -1716,15 +1716,15 @@ void SendBattleMasterMenu_guard_ironforge(Player *player, Creature *_Creature, u switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //AV - player->SEND_POI(-5047.87, -1263.77, 6, 6, 0, "Glordrum Steelbeard"); + player->SEND_POI(-5047.87, -1263.77, 7, 6, 0, "Glordrum Steelbeard"); player->SEND_GOSSIP_MENU(7483, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //AB - player->SEND_POI(-5038.37, -1266.39, 6, 6, 0, "Donal Osgood"); + player->SEND_POI(-5038.37, -1266.39, 7, 6, 0, "Donal Osgood"); player->SEND_GOSSIP_MENU(7649, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //WSG - player->SEND_POI(-5037.24, -1274.82, 6, 6, 0, "Lylandris"); + player->SEND_POI(-5037.24, -1274.82, 7, 6, 0, "Lylandris"); player->SEND_GOSSIP_MENU(7528, _Creature->GetGUID()); break; } @@ -1735,35 +1735,35 @@ void SendClassTrainerMenu_guard_ironforge(Player *player, Creature *_Creature, u switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Hunter - player->SEND_POI(-5023, -1253.68, 6, 6, 0, "Hall of Arms"); + player->SEND_POI(-5023, -1253.68, 7, 6, 0, "Hall of Arms"); player->SEND_GOSSIP_MENU(2770, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Mage - player->SEND_POI(-4627, -926.45, 6, 6, 0, "Hall of Mysteries"); + player->SEND_POI(-4627, -926.45, 7, 6, 0, "Hall of Mysteries"); player->SEND_GOSSIP_MENU(2771, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Paladin - player->SEND_POI(-4627.02, -926.45, 6, 6, 0, "Hall of Mysteries"); + player->SEND_POI(-4627.02, -926.45, 7, 6, 0, "Hall of Mysteries"); player->SEND_GOSSIP_MENU(2773, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Priest - player->SEND_POI(-4627, -926.45, 6, 6, 0, "Hall of Mysteries"); + player->SEND_POI(-4627, -926.45, 7, 6, 0, "Hall of Mysteries"); player->SEND_GOSSIP_MENU(2772, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Rogue - player->SEND_POI(-4647.83, -1124, 6, 6, 0, "Ironforge Rogue Trainer"); + player->SEND_POI(-4647.83, -1124, 7, 6, 0, "Ironforge Rogue Trainer"); player->SEND_GOSSIP_MENU(2774, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Warlock - player->SEND_POI(-4605, -1110.45, 6, 6, 0, "Ironforge Warlock Trainer"); + player->SEND_POI(-4605, -1110.45, 7, 6, 0, "Ironforge Warlock Trainer"); player->SEND_GOSSIP_MENU(2775, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Warrior - player->SEND_POI(-5023.08, -1253.68, 6, 6, 0, "Hall of Arms"); + player->SEND_POI(-5023.08, -1253.68, 7, 6, 0, "Hall of Arms"); player->SEND_GOSSIP_MENU(2776, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Shaman - player->SEND_POI(-4732, -1147, 6, 6, 0, "Ironforge Shaman Trainer"); + player->SEND_POI(-4732, -1147, 7, 6, 0, "Ironforge Shaman Trainer"); //incorrect id player->SEND_GOSSIP_MENU(2766, _Creature->GetGUID()); break; @@ -1775,51 +1775,51 @@ void SendProfTrainerMenu_guard_ironforge(Player *player, Creature *_Creature, ui switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Alchemy - player->SEND_POI(-4858.5, -1241.83, 6, 6, 0, "Berryfizz's Potions and Mixed Drinks"); + player->SEND_POI(-4858.5, -1241.83, 7, 6, 0, "Berryfizz's Potions and Mixed Drinks"); player->SEND_GOSSIP_MENU(2794, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Blacksmithing - player->SEND_POI(-4796.97, -1110.17, 6, 6, 0, "The Great Forge"); + player->SEND_POI(-4796.97, -1110.17, 7, 6, 0, "The Great Forge"); player->SEND_GOSSIP_MENU(2795, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Cooking - player->SEND_POI(-4767.83, -1184.59, 6, 6, 0, "The Bronze Kettle"); + player->SEND_POI(-4767.83, -1184.59, 7, 6, 0, "The Bronze Kettle"); player->SEND_GOSSIP_MENU(2796, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Enchanting - player->SEND_POI(-4803.72, -1196.53, 6, 6, 0, "Thistlefuzz Arcanery"); + player->SEND_POI(-4803.72, -1196.53, 7, 6, 0, "Thistlefuzz Arcanery"); player->SEND_GOSSIP_MENU(2797, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Engineering - player->SEND_POI(-4799.56, -1250.23, 6, 6, 0, "Springspindle's Gadgets"); + player->SEND_POI(-4799.56, -1250.23, 7, 6, 0, "Springspindle's Gadgets"); player->SEND_GOSSIP_MENU(2798, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //First Aid - player->SEND_POI(-4881.6, -1153.13, 6, 6, 0, "Ironforge Physician"); + player->SEND_POI(-4881.6, -1153.13, 7, 6, 0, "Ironforge Physician"); player->SEND_GOSSIP_MENU(2799, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Fishing - player->SEND_POI(-4597.91, -1091.93, 6, 6, 0, "Traveling Fisherman"); + player->SEND_POI(-4597.91, -1091.93, 7, 6, 0, "Traveling Fisherman"); player->SEND_GOSSIP_MENU(2800, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Herbalism - player->SEND_POI(-4876.9, -1151.92, 6, 6, 0, "Ironforge Physician"); + player->SEND_POI(-4876.9, -1151.92, 7, 6, 0, "Ironforge Physician"); player->SEND_GOSSIP_MENU(2801, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Leatherworking - player->SEND_POI(-4745, -1027.57, 6, 6, 0, "Finespindle's Leather Goods"); + player->SEND_POI(-4745, -1027.57, 7, 6, 0, "Finespindle's Leather Goods"); player->SEND_GOSSIP_MENU(2802, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 10: //Minning - player->SEND_POI(-4705.06, -1116.43, 6, 6, 0, "Deepmountain Mining Guild"); + player->SEND_POI(-4705.06, -1116.43, 7, 6, 0, "Deepmountain Mining Guild"); player->SEND_GOSSIP_MENU(2804, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 11: //Skinning - player->SEND_POI(-4745, -1027.57, 6, 6, 0, "Finespindle's Leather Goods"); + player->SEND_POI(-4745, -1027.57, 7, 6, 0, "Finespindle's Leather Goods"); player->SEND_GOSSIP_MENU(2805, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 12: //Tailoring - player->SEND_POI(-4719.60, -1056.96, 6, 6, 0, "Stonebrow's Clothier"); + player->SEND_POI(-4719.60, -1056.96, 7, 6, 0, "Stonebrow's Clothier"); player->SEND_GOSSIP_MENU(2807, _Creature->GetGUID()); break; } @@ -1873,11 +1873,11 @@ void SendDefaultMenu_guard_mulgore(Player *player, Creature *_Creature, uint32 a player->SEND_GOSSIP_MENU(4052,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Inn - player->SEND_POI(-2361.38, -349.19, 6, 6, 0, "Bloodhoof Village Inn"); + player->SEND_POI(-2361.38, -349.19, 7, 6, 0, "Bloodhoof Village Inn"); player->SEND_GOSSIP_MENU(4053,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Stable master - player->SEND_POI(-2338.86, -357.56, 6, 6, 0, "Seikwa"); + player->SEND_POI(-2338.86, -357.56, 7, 6, 0, "Seikwa"); player->SEND_GOSSIP_MENU(5976,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Class trainer @@ -1909,19 +1909,19 @@ void SendClassTrainerMenu_guard_mulgore(Player *player, Creature *_Creature, uin switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Druid - player->SEND_POI(-2312.15, -443.69, 6, 6, 0, "Gennia Runetotem"); + player->SEND_POI(-2312.15, -443.69, 7, 6, 0, "Gennia Runetotem"); player->SEND_GOSSIP_MENU(4054,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Hunter - player->SEND_POI(-2178.14, -406.14, 6, 6, 0, "Yaw Sharpmane"); + player->SEND_POI(-2178.14, -406.14, 7, 6, 0, "Yaw Sharpmane"); player->SEND_GOSSIP_MENU(4055,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Shaman - player->SEND_POI(-2301.5, -439.87, 6, 6, 0, "Narm Skychaser"); + player->SEND_POI(-2301.5, -439.87, 7, 6, 0, "Narm Skychaser"); player->SEND_GOSSIP_MENU(4056,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Warrior - player->SEND_POI(-2345.43, -494.11, 6, 6, 0, "Krang Stonehoof"); + player->SEND_POI(-2345.43, -494.11, 7, 6, 0, "Krang Stonehoof"); player->SEND_GOSSIP_MENU(4057,_Creature->GetGUID()); break; } @@ -1938,32 +1938,32 @@ void SendProfTrainerMenu_guard_mulgore(Player *player, Creature *_Creature, uint player->SEND_GOSSIP_MENU(4059,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Cooking - player->SEND_POI(-2263.34, -287.91, 6, 6, 0, "Pyall Silentstride"); + player->SEND_POI(-2263.34, -287.91, 7, 6, 0, "Pyall Silentstride"); player->SEND_GOSSIP_MENU(4060,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Enchanting player->SEND_GOSSIP_MENU(4061,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //First Aid - player->SEND_POI(-2353.52, -355.82, 6, 6, 0, "Vira Younghoof"); + player->SEND_POI(-2353.52, -355.82, 7, 6, 0, "Vira Younghoof"); player->SEND_GOSSIP_MENU(4062,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Fishing - player->SEND_POI(-2349.21, -241.37, 6, 6, 0, "Uthan Stillwater"); + player->SEND_POI(-2349.21, -241.37, 7, 6, 0, "Uthan Stillwater"); player->SEND_GOSSIP_MENU(4063,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Herbalism player->SEND_GOSSIP_MENU(4064,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Leatherworking - player->SEND_POI(-2257.12, -288.63, 6, 6, 0, "Chaw Stronghide"); + player->SEND_POI(-2257.12, -288.63, 7, 6, 0, "Chaw Stronghide"); player->SEND_GOSSIP_MENU(4065,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Mining player->SEND_GOSSIP_MENU(4066,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 10: //Skinning - player->SEND_POI(-2252.94, -291.32, 6, 6, 0, "Yonn Deepcut"); + player->SEND_POI(-2252.94, -291.32, 7, 6, 0, "Yonn Deepcut"); player->SEND_GOSSIP_MENU(4067,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 11: //Tailoring @@ -2021,43 +2021,43 @@ void SendDefaultMenu_guard_orgrimmar(Player *player, Creature *_Creature, uint32 switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Bank - player->SEND_POI(1631.51, -4375.33, 6, 6, 0, "Bank of Orgrimmar"); + player->SEND_POI(1631.51, -4375.33, 7, 6, 0, "Bank of Orgrimmar"); player->SEND_GOSSIP_MENU(2554,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //wind rider - player->SEND_POI(1676.6, -4332.72, 6, 6, 0, "The Sky Tower"); + player->SEND_POI(1676.6, -4332.72, 7, 6, 0, "The Sky Tower"); player->SEND_GOSSIP_MENU(2555,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //guild master - player->SEND_POI(1576.93, -4294.75, 6, 6, 0, "Horde Embassy"); + player->SEND_POI(1576.93, -4294.75, 7, 6, 0, "Horde Embassy"); player->SEND_GOSSIP_MENU(2556,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Inn - player->SEND_POI(1644.51, -4447.27, 6, 6, 0, "Orgrimmar Inn"); + player->SEND_POI(1644.51, -4447.27, 7, 6, 0, "Orgrimmar Inn"); player->SEND_GOSSIP_MENU(2557,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //mailbox - player->SEND_POI(1622.53, -4388.79, 6, 6, 0, "Orgrimmar Mailbox"); + player->SEND_POI(1622.53, -4388.79, 7, 6, 0, "Orgrimmar Mailbox"); player->SEND_GOSSIP_MENU(2558,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //auction house - player->SEND_POI(1679.21, -4450.1, 6, 6, 0, "Orgrimmar Auction House"); + player->SEND_POI(1679.21, -4450.1, 7, 6, 0, "Orgrimmar Auction House"); player->SEND_GOSSIP_MENU(3075,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //zeppelin - player->SEND_POI(1337.36, -4632.7, 6, 6, 0, "Orgrimmar Zeppelin Tower"); + player->SEND_POI(1337.36, -4632.7, 7, 6, 0, "Orgrimmar Zeppelin Tower"); player->SEND_GOSSIP_MENU(3173,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //weapon master - player->SEND_POI(2092.56, -4823.95, 6, 6, 0, "Sayoc & Hanashi"); + player->SEND_POI(2092.56, -4823.95, 7, 6, 0, "Sayoc & Hanashi"); player->SEND_GOSSIP_MENU(4519,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //stable master - player->SEND_POI(2133.12, -4663.93, 6, 6, 0, "Xon'cha"); + player->SEND_POI(2133.12, -4663.93, 7, 6, 0, "Xon'cha"); player->SEND_GOSSIP_MENU(5974,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 10: //officers lounge - player->SEND_POI(1633.56, -4249.37, 6, 6, 0, "Hall of Legends"); + player->SEND_POI(1633.56, -4249.37, 7, 6, 0, "Hall of Legends"); player->SEND_GOSSIP_MENU(7046,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 11: //battlemaster @@ -2100,15 +2100,15 @@ void SendBattleMasterMenu_guard_orgrimmar(Player *player, Creature *_Creature, u switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //AV - player->SEND_POI(1983.92, -4794.2, 6, 6, 0, "Hall of the Brave"); + player->SEND_POI(1983.92, -4794.2, 7, 6, 0, "Hall of the Brave"); player->SEND_GOSSIP_MENU(7484,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //AB - player->SEND_POI(1983.92, -4794.2, 6, 6, 0, "Hall of the Brave"); + player->SEND_POI(1983.92, -4794.2, 7, 6, 0, "Hall of the Brave"); player->SEND_GOSSIP_MENU(7644,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //WSG - player->SEND_POI(1983.92, -4794.2, 6, 6, 0, "Hall of the Brave"); + player->SEND_POI(1983.92, -4794.2, 7, 6, 0, "Hall of the Brave"); player->SEND_GOSSIP_MENU(7520,_Creature->GetGUID()); break; } @@ -2119,35 +2119,35 @@ void SendClassTrainerMenu_guard_orgrimmar(Player *player, Creature *_Creature, u switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Hunter - player->SEND_POI(2114.84, -4625.31, 6, 6, 0, "Orgrimmar Hunter's Hall"); + player->SEND_POI(2114.84, -4625.31, 7, 6, 0, "Orgrimmar Hunter's Hall"); player->SEND_GOSSIP_MENU(2559,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Mage - player->SEND_POI(1451.26, -4223.33, 6, 6, 0, "Darkbriar Lodge"); + player->SEND_POI(1451.26, -4223.33, 7, 6, 0, "Darkbriar Lodge"); player->SEND_GOSSIP_MENU(2560,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Priest - player->SEND_POI(1442.21, -4183.24, 6, 6, 0, "Spirit Lodge"); + player->SEND_POI(1442.21, -4183.24, 7, 6, 0, "Spirit Lodge"); player->SEND_GOSSIP_MENU(2561,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Shaman - player->SEND_POI(1925.34, -4181.89, 6, 6, 0, "Thrall's Fortress"); + player->SEND_POI(1925.34, -4181.89, 7, 6, 0, "Thrall's Fortress"); player->SEND_GOSSIP_MENU(2562,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Rogue - player->SEND_POI(1773.39, -4278.97, 6, 6, 0, "Shadowswift Brotherhood"); + player->SEND_POI(1773.39, -4278.97, 7, 6, 0, "Shadowswift Brotherhood"); player->SEND_GOSSIP_MENU(2563,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Warlock - player->SEND_POI(1849.57, -4359.68, 6, 6, 0, "Darkfire Enclave"); + player->SEND_POI(1849.57, -4359.68, 7, 6, 0, "Darkfire Enclave"); player->SEND_GOSSIP_MENU(2564,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Warrior - player->SEND_POI(1983.92, -4794.2, 6, 6, 0, "Hall of the Brave"); + player->SEND_POI(1983.92, -4794.2, 7, 6, 0, "Hall of the Brave"); player->SEND_GOSSIP_MENU(2565,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Paladin - player->SEND_POI(1906.65, -4134.26, 6, 6, 0, "Valley of Wisdom"); + player->SEND_POI(1906.65, -4134.26, 7, 6, 0, "Valley of Wisdom"); player->SEND_GOSSIP_MENU(10843,_Creature->GetGUID()); break; } @@ -2158,51 +2158,51 @@ void SendProfTrainerMenu_guard_orgrimmar(Player *player, Creature *_Creature, ui switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Alchemy - player->SEND_POI(1955.17, -4475.79, 6, 6, 0, "Yelmak's Alchemy and Potions"); + player->SEND_POI(1955.17, -4475.79, 7, 6, 0, "Yelmak's Alchemy and Potions"); player->SEND_GOSSIP_MENU(2497,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Blacksmithing - player->SEND_POI(2054.34, -4831.85, 6, 6, 0, "The Burning Anvil"); + player->SEND_POI(2054.34, -4831.85, 7, 6, 0, "The Burning Anvil"); player->SEND_GOSSIP_MENU(2499,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Cooking - player->SEND_POI(1780.96, -4481.31, 6, 6, 0, "Borstan's Firepit"); + player->SEND_POI(1780.96, -4481.31, 7, 6, 0, "Borstan's Firepit"); player->SEND_GOSSIP_MENU(2500,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Enchanting - player->SEND_POI(1917.5, -4434.95, 6, 6, 0, "Godan's Runeworks"); + player->SEND_POI(1917.5, -4434.95, 7, 6, 0, "Godan's Runeworks"); player->SEND_GOSSIP_MENU(2501,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Engineering - player->SEND_POI(2038.45, -4744.75, 6, 6, 0, "Nogg's Machine Shop"); + player->SEND_POI(2038.45, -4744.75, 7, 6, 0, "Nogg's Machine Shop"); player->SEND_GOSSIP_MENU(2653,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //First Aid - player->SEND_POI(1485.21, -4160.91, 6, 6, 0, "Survival of the Fittest"); + player->SEND_POI(1485.21, -4160.91, 7, 6, 0, "Survival of the Fittest"); player->SEND_GOSSIP_MENU(2502,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Fishing - player->SEND_POI(1994.15, -4655.7, 6, 6, 0, "Lumak's Fishing"); + player->SEND_POI(1994.15, -4655.7, 7, 6, 0, "Lumak's Fishing"); player->SEND_GOSSIP_MENU(2503,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Herbalism - player->SEND_POI(1898.61, -4454.93, 6, 6, 0, "Jandi's Arboretum"); + player->SEND_POI(1898.61, -4454.93, 7, 6, 0, "Jandi's Arboretum"); player->SEND_GOSSIP_MENU(2504,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Leatherworking - player->SEND_POI(1852.82, -4562.31, 6, 6, 0, "Kodohide Leatherworkers"); + player->SEND_POI(1852.82, -4562.31, 7, 6, 0, "Kodohide Leatherworkers"); player->SEND_GOSSIP_MENU(2513,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 10: //Mining - player->SEND_POI(2029.79, -4704, 6, 6, 0, "Red Canyon Mining"); + player->SEND_POI(2029.79, -4704, 7, 6, 0, "Red Canyon Mining"); player->SEND_GOSSIP_MENU(2515,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 11: //Skinning - player->SEND_POI(1852.82, -4562.31, 6, 6, 0, "Kodohide Leatherworkers"); + player->SEND_POI(1852.82, -4562.31, 7, 6, 0, "Kodohide Leatherworkers"); player->SEND_GOSSIP_MENU(2516,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 12: //Tailoring - player->SEND_POI(1802.66, -4560.66, 6, 6, 0, "Magar's Cloth Goods"); + player->SEND_POI(1802.66, -4560.66, 7, 6, 0, "Magar's Cloth Goods"); player->SEND_GOSSIP_MENU(2518,_Creature->GetGUID()); break; } @@ -2263,7 +2263,7 @@ void SendDefaultMenu_guard_shattrath(Player *player, Creature *_Creature, uint32 switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Tavern - player->SEND_POI(-1759.5, 5165, 6, 6, 0, "Worlds End Tavern"); + player->SEND_POI(-1759.5, 5165, 7, 6, 0, "Worlds End Tavern"); player->SEND_GOSSIP_MENU(10394, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Bank @@ -2277,7 +2277,7 @@ void SendDefaultMenu_guard_shattrath(Player *player, Creature *_Creature, uint32 player->SEND_GOSSIP_MENU(10382, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Flight master - player->SEND_POI(-1832, 5299, 6, 6, 0, "Flight Master"); + player->SEND_POI(-1832, 5299, 7, 6, 0, "Flight Master"); player->SEND_GOSSIP_MENU(10385, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Mailbox @@ -2310,11 +2310,11 @@ void SendDefaultMenu_guard_shattrath(Player *player, Creature *_Creature, uint32 player->SEND_GOSSIP_MENU(10391, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Mana Loom - player->SEND_POI(-2070, 5265.5, 6, 6, 0, "Mana Loom"); + player->SEND_POI(-2070, 5265.5, 7, 6, 0, "Mana Loom"); player->SEND_GOSSIP_MENU(10503, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 10: //Alchemy Lab - player->SEND_POI(-1648.5, 5540, 6, 6, 0, "Alchemy Lab"); + player->SEND_POI(-1648.5, 5540, 7, 6, 0, "Alchemy Lab"); player->SEND_GOSSIP_MENU(10321, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 11: //Gem Merchant @@ -2329,12 +2329,12 @@ void SendBankMenu_guard_shattrath(Player *player, Creature *_Creature, uint32 ac { if (action == GOSSIP_ACTION_INFO_DEF + 1) { - player->SEND_POI(-1730.5, 5496, 6, 6, 0, "Aldor Bank"); + player->SEND_POI(-1730.5, 5496, 7, 6, 0, "Aldor Bank"); player->SEND_GOSSIP_MENU(10380, _Creature->GetGUID()); } if (action == GOSSIP_ACTION_INFO_DEF + 2) { - player->SEND_POI(-1997.7, 5363, 6, 6, 0, "Scyers Bank"); + player->SEND_POI(-1997.7, 5363, 7, 6, 0, "Scyers Bank"); player->SEND_GOSSIP_MENU(10381, _Creature->GetGUID()); } } @@ -2343,12 +2343,12 @@ void SendInnMenu_guard_shattrath(Player *player, Creature *_Creature, uint32 act { if (action == GOSSIP_ACTION_INFO_DEF + 1) { - player->SEND_POI(-1895, 5767, 6, 6, 0, "Aldor Inn"); + player->SEND_POI(-1895, 5767, 7, 6, 0, "Aldor Inn"); player->SEND_GOSSIP_MENU(10383, _Creature->GetGUID()); } if (action == GOSSIP_ACTION_INFO_DEF + 2) { - player->SEND_POI(-2178, 5405, 6, 6, 0, "Scyers Inn"); + player->SEND_POI(-2178, 5405, 7, 6, 0, "Scyers Inn"); player->SEND_GOSSIP_MENU(10384, _Creature->GetGUID()); } } @@ -2358,19 +2358,19 @@ void SendMailboxMenu_guard_shattrath(Player *player, Creature *_Creature, uint32 switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: - player->SEND_POI(-1730.5, 5496, 6, 6, 0, "Aldor Bank"); + player->SEND_POI(-1730.5, 5496, 7, 6, 0, "Aldor Bank"); player->SEND_GOSSIP_MENU(10380, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: - player->SEND_POI(-1895, 5767, 6, 6, 0, "Aldor Inn"); + player->SEND_POI(-1895, 5767, 7, 6, 0, "Aldor Inn"); player->SEND_GOSSIP_MENU(10383, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: - player->SEND_POI(-1997.7, 5363, 6, 6, 0, "Scyers Bank"); + player->SEND_POI(-1997.7, 5363, 7, 6, 0, "Scyers Bank"); player->SEND_GOSSIP_MENU(10381, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: - player->SEND_POI(-2178, 5405, 6, 6, 0, "Scyers Inn"); + player->SEND_POI(-2178, 5405, 7, 6, 0, "Scyers Inn"); player->SEND_GOSSIP_MENU(10384, _Creature->GetGUID()); break; } @@ -2380,12 +2380,12 @@ void SendStableMasterMenu_guard_shattrath(Player *player, Creature *_Creature, u { if (action == GOSSIP_ACTION_INFO_DEF + 1) { - player->SEND_POI(-1888.5, 5761, 6, 6, 0, "Aldor Stable"); + player->SEND_POI(-1888.5, 5761, 7, 6, 0, "Aldor Stable"); player->SEND_GOSSIP_MENU(10321, _Creature->GetGUID()); } if (action == GOSSIP_ACTION_INFO_DEF + 2) { - player->SEND_POI(-2170, 5404, 6, 6, 0, "Scyers Stable"); + player->SEND_POI(-2170, 5404, 7, 6, 0, "Scyers Stable"); player->SEND_GOSSIP_MENU(10321, _Creature->GetGUID()); } } @@ -2395,15 +2395,15 @@ void SendBattleMasterMenu_guard_shattrath(Player *player, Creature *_Creature, u switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: - player->SEND_POI(-1774, 5251, 6, 6, 0, "Alliance Battlemasters"); + player->SEND_POI(-1774, 5251, 7, 6, 0, "Alliance Battlemasters"); player->SEND_GOSSIP_MENU(10389, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: - player->SEND_POI(-1963, 5263, 6, 6, 0, "Horde Battlemasters"); + player->SEND_POI(-1963, 5263, 7, 6, 0, "Horde Battlemasters"); player->SEND_GOSSIP_MENU(10390, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: - player->SEND_POI(-1960, 5175, 6, 6, 0, "Arena Battlemasters"); + player->SEND_POI(-1960, 5175, 7, 6, 0, "Arena Battlemasters"); player->SEND_GOSSIP_MENU(12510, _Creature->GetGUID()); break; } @@ -2414,35 +2414,35 @@ void SendProfTrainerMenu_guard_shattrath(Player *player, Creature *_Creature, ui switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Alchemy - player->SEND_POI(-1648.5, 5534, 6, 6, 0, "Lorokeem"); + player->SEND_POI(-1648.5, 5534, 7, 6, 0, "Lorokeem"); player->SEND_GOSSIP_MENU(10392, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Blacksmithing - player->SEND_POI(-1847, 5222, 6, 6, 0, "Kradu Grimblade and Zula Slagfury"); + player->SEND_POI(-1847, 5222, 7, 6, 0, "Kradu Grimblade and Zula Slagfury"); player->SEND_GOSSIP_MENU(10400, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Cooking - player->SEND_POI(-2067.4, 5316.5, 6, 6, 0, "Jack Trapper"); + player->SEND_POI(-2067.4, 5316.5, 7, 6, 0, "Jack Trapper"); player->SEND_GOSSIP_MENU(10393, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Enchanting - player->SEND_POI(-2263.5, 5563.5, 6, 6, 0, "High Enchanter Bardolan"); + player->SEND_POI(-2263.5, 5563.5, 7, 6, 0, "High Enchanter Bardolan"); player->SEND_GOSSIP_MENU(10395, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //First Aid - player->SEND_POI(-1591, 5265.5, 6, 6, 0, "Mildred Fletcher"); + player->SEND_POI(-1591, 5265.5, 7, 6, 0, "Mildred Fletcher"); player->SEND_GOSSIP_MENU(10396, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Jewelcrafting - player->SEND_POI(-1654, 5667.5, 6, 6, 0, "Hamanar"); + player->SEND_POI(-1654, 5667.5, 7, 6, 0, "Hamanar"); player->SEND_GOSSIP_MENU(10397, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Leatherworking - player->SEND_POI(-2060.5, 5256.5, 6, 6, 0, "Darmari"); + player->SEND_POI(-2060.5, 5256.5, 7, 6, 0, "Darmari"); player->SEND_GOSSIP_MENU(10399, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Skinning - player->SEND_POI(-2048, 5300, 6, 6, 0, "Seymour"); + player->SEND_POI(-2048, 5300, 7, 6, 0, "Seymour"); player->SEND_GOSSIP_MENU(10398, _Creature->GetGUID()); break; } @@ -2452,12 +2452,12 @@ void SendGemMerchantMenu_guard_shattrath(Player *player, Creature *_Creature, ui { if (action == GOSSIP_ACTION_INFO_DEF + 1) { - player->SEND_POI(-1645, 5669.5, 6, 6, 0, "Aldor Gem Merchant"); + player->SEND_POI(-1645, 5669.5, 7, 6, 0, "Aldor Gem Merchant"); player->SEND_GOSSIP_MENU(10698, _Creature->GetGUID()); } if (action == GOSSIP_ACTION_INFO_DEF + 2) { - player->SEND_POI(-2193, 5424.5, 6, 6, 0, "Scyers Gem Merchant"); + player->SEND_POI(-2193, 5424.5, 7, 6, 0, "Scyers Gem Merchant"); player->SEND_GOSSIP_MENU(10699, _Creature->GetGUID()); } } @@ -2573,28 +2573,28 @@ void SendDefaultMenu_guard_shattrath_aldor(Player *player, Creature *_Creature, switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Tavern - player->SEND_POI(-1759.5, 5165, 6, 6, 0, "Worlds End Tavern"); + player->SEND_POI(-1759.5, 5165, 7, 6, 0, "Worlds End Tavern"); player->SEND_GOSSIP_MENU(10394, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Bank - player->SEND_POI(-1730.5, 5496, 6, 6, 0, "Aldor Bank"); + player->SEND_POI(-1730.5, 5496, 7, 6, 0, "Aldor Bank"); player->SEND_GOSSIP_MENU(10380, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Inn - player->SEND_POI(-1895, 5767, 6, 6, 0, "Aldor Inn"); + player->SEND_POI(-1895, 5767, 7, 6, 0, "Aldor Inn"); player->SEND_GOSSIP_MENU(10525, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Flight master - player->SEND_POI(-1832, 5299, 6, 6, 0, "Shattrath Flight Master"); + player->SEND_POI(-1832, 5299, 7, 6, 0, "Shattrath Flight Master"); player->SEND_GOSSIP_MENU(10402, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Mailbox - player->SEND_POI(0, 0, 6, 6, 0, "Aldor Mailbox"); + player->SEND_POI(0, 0, 7, 6, 0, "Aldor Mailbox"); //unknown player->SEND_GOSSIP_MENU(10524, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Stable master - player->SEND_POI(-1888.5, 5761, 6, 6, 0, "Aldor Stable Master"); + player->SEND_POI(-1888.5, 5761, 7, 6, 0, "Aldor Stable Master"); player->SEND_GOSSIP_MENU(10527, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Battlemaster @@ -2615,15 +2615,15 @@ void SendDefaultMenu_guard_shattrath_aldor(Player *player, Creature *_Creature, player->SEND_GOSSIP_MENU(10391, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Mana Loom - player->SEND_POI(-2070, 5265.5, 6, 6, 0, "Mana Loom"); + player->SEND_POI(-2070, 5265.5, 7, 6, 0, "Mana Loom"); player->SEND_GOSSIP_MENU(10522, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 10: //Alchemy Lab - player->SEND_POI(-1648.5, 5540, 6, 6, 0, "Alchemy Lab"); + player->SEND_POI(-1648.5, 5540, 7, 6, 0, "Alchemy Lab"); player->SEND_GOSSIP_MENU(10696, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 11: //Gem Merchant - player->SEND_POI(-1645, 5669.5, 6, 6, 0, "Aldor Gem Merchant"); + player->SEND_POI(-1645, 5669.5, 7, 6, 0, "Aldor Gem Merchant"); player->SEND_GOSSIP_MENU(10411, _Creature->GetGUID()); break; } @@ -2634,35 +2634,35 @@ void SendProfTrainerMenu_guard_shattrath_aldor(Player *player, Creature *_Creatu switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Alchemy - player->SEND_POI(-1648.5, 5534, 6, 6, 0, "Lorokeem"); + player->SEND_POI(-1648.5, 5534, 7, 6, 0, "Lorokeem"); player->SEND_GOSSIP_MENU(10392, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Blacksmithing - player->SEND_POI(-1847, 5222, 6, 6, 0, "Kradu Grimblade and Zula Slagfury"); + player->SEND_POI(-1847, 5222, 7, 6, 0, "Kradu Grimblade and Zula Slagfury"); player->SEND_GOSSIP_MENU(10400, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Cooking - player->SEND_POI(-2067.4, 5316.5, 6, 6, 0, "Jack Trapper"); + player->SEND_POI(-2067.4, 5316.5, 7, 6, 0, "Jack Trapper"); player->SEND_GOSSIP_MENU(10393, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Enchanting - player->SEND_POI(-2263.5, 5563.5, 6, 6, 0, "High Enchanter Bardolan"); + player->SEND_POI(-2263.5, 5563.5, 7, 6, 0, "High Enchanter Bardolan"); player->SEND_GOSSIP_MENU(10528, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //First Aid - player->SEND_POI(-1591, 5265.5, 6, 6, 0, "Mildred Fletcher"); + player->SEND_POI(-1591, 5265.5, 7, 6, 0, "Mildred Fletcher"); player->SEND_GOSSIP_MENU(10396, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Jewelcrafting - player->SEND_POI(-1654, 5667.5, 6, 6, 0, "Hamanar"); + player->SEND_POI(-1654, 5667.5, 7, 6, 0, "Hamanar"); player->SEND_GOSSIP_MENU(10529, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Leatherworking - player->SEND_POI(-2060.5, 5256.5, 6, 6, 0, "Darmari"); + player->SEND_POI(-2060.5, 5256.5, 7, 6, 0, "Darmari"); player->SEND_GOSSIP_MENU(10399, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Skinning - player->SEND_POI(-2048, 5300, 6, 6, 0, "Seymour"); + player->SEND_POI(-2048, 5300, 7, 6, 0, "Seymour"); player->SEND_GOSSIP_MENU(10419, _Creature->GetGUID()); break; } @@ -2769,27 +2769,27 @@ void SendDefaultMenu_guard_shattrath_scryer(Player *player, Creature *_Creature, switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Tavern - player->SEND_POI(-1759.5, 5165, 6, 6, 0, "Worlds End Tavern"); + player->SEND_POI(-1759.5, 5165, 7, 6, 0, "Worlds End Tavern"); player->SEND_GOSSIP_MENU(10431, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Bank - player->SEND_POI(-1996.6, 5363.7, 6, 6, 0, "Scryer Bank"); + player->SEND_POI(-1996.6, 5363.7, 7, 6, 0, "Scryer Bank"); player->SEND_GOSSIP_MENU(10432, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Inn - player->SEND_POI(-2176.6, 5405.8, 6, 6, 0, "Scryer Inn"); + player->SEND_POI(-2176.6, 5405.8, 7, 6, 0, "Scryer Inn"); player->SEND_GOSSIP_MENU(10433, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Flight master - player->SEND_POI(-1832, 5299, 6, 6, 0, "Shattrath Flight Master"); + player->SEND_POI(-1832, 5299, 7, 6, 0, "Shattrath Flight Master"); player->SEND_GOSSIP_MENU(10435, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Mailbox - player->SEND_POI(-2174.3, 5411.4, 6, 6, 0, "Scryer Mailbox"); + player->SEND_POI(-2174.3, 5411.4, 7, 6, 0, "Scryer Mailbox"); player->SEND_GOSSIP_MENU(10436, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Stable master - player->SEND_POI(-2169.9, 5405.1, 6, 6, 0, "Scryer Stable Master"); + player->SEND_POI(-2169.9, 5405.1, 7, 6, 0, "Scryer Stable Master"); player->SEND_GOSSIP_MENU(10437, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Battlemaster @@ -2810,15 +2810,15 @@ void SendDefaultMenu_guard_shattrath_scryer(Player *player, Creature *_Creature, player->SEND_GOSSIP_MENU(10504, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Mana Loom - player->SEND_POI(-2070, 5265.5, 6, 6, 0, "Mana Loom"); + player->SEND_POI(-2070, 5265.5, 7, 6, 0, "Mana Loom"); player->SEND_GOSSIP_MENU(10522, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 10: //Alchemy Lab - player->SEND_POI(-1648.5, 5540, 6, 6, 0, "Alchemy Lab"); + player->SEND_POI(-1648.5, 5540, 7, 6, 0, "Alchemy Lab"); player->SEND_GOSSIP_MENU(10701, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 11: //Gem Merchant - player->SEND_POI(-1645, 5669.5, 6, 6, 0, "Scryer Gem Merchant"); + player->SEND_POI(-1645, 5669.5, 7, 6, 0, "Scryer Gem Merchant"); player->SEND_GOSSIP_MENU(10702, _Creature->GetGUID()); break; } @@ -2829,35 +2829,35 @@ void SendProfTrainerMenu_guard_shattrath_scryer(Player *player, Creature *_Creat switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Alchemy - player->SEND_POI(-1648.5, 5534, 6, 6, 0, "Lorokeem"); + player->SEND_POI(-1648.5, 5534, 7, 6, 0, "Lorokeem"); player->SEND_GOSSIP_MENU(10516, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Blacksmithing - player->SEND_POI(-1847, 5222, 6, 6, 0, "Kradu Grimblade and Zula Slagfury"); + player->SEND_POI(-1847, 5222, 7, 6, 0, "Kradu Grimblade and Zula Slagfury"); player->SEND_GOSSIP_MENU(10517, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Cooking - player->SEND_POI(-2067.4, 5316.5, 6, 6, 0, "Jack Trapper"); + player->SEND_POI(-2067.4, 5316.5, 7, 6, 0, "Jack Trapper"); player->SEND_GOSSIP_MENU(10518, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Enchanting - player->SEND_POI(-2263.5, 5563.5, 6, 6, 0, "High Enchanter Bardolan"); + player->SEND_POI(-2263.5, 5563.5, 7, 6, 0, "High Enchanter Bardolan"); player->SEND_GOSSIP_MENU(10519, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //First Aid - player->SEND_POI(-1591, 5265.5, 6, 6, 0, "Mildred Fletcher"); + player->SEND_POI(-1591, 5265.5, 7, 6, 0, "Mildred Fletcher"); player->SEND_GOSSIP_MENU(10520, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Jewelcrafting - player->SEND_POI(-1654, 5667.5, 6, 6, 0, "Hamanar"); + player->SEND_POI(-1654, 5667.5, 7, 6, 0, "Hamanar"); player->SEND_GOSSIP_MENU(10521, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Leatherworking - player->SEND_POI(-2060.5, 5256.5, 6, 6, 0, "Darmari"); + player->SEND_POI(-2060.5, 5256.5, 7, 6, 0, "Darmari"); player->SEND_GOSSIP_MENU(10523, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Skinning - player->SEND_POI(-2048, 5300, 6, 6, 0, "Seymour"); + player->SEND_POI(-2048, 5300, 7, 6, 0, "Seymour"); player->SEND_GOSSIP_MENU(10523, _Creature->GetGUID()); break; } @@ -2914,11 +2914,11 @@ void SendDefaultMenu_guard_silvermoon(Player *player, Creature *_Creature, uint3 player->SEND_GOSSIP_MENU(9317, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Bank - player->SEND_POI(9808.4, -7488.16, 6, 6, 0, "Silvermoon Bank"); + player->SEND_POI(9808.4, -7488.16, 7, 6, 0, "Silvermoon Bank"); player->SEND_GOSSIP_MENU(9322, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Guild master - player->SEND_POI(9474.97, -7345.21, 6, 6, 0, "Tandrine"); + player->SEND_POI(9474.97, -7345.21, 7, 6, 0, "Tandrine"); player->SEND_GOSSIP_MENU(9324, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Inn @@ -2927,19 +2927,19 @@ void SendDefaultMenu_guard_silvermoon(Player *player, Creature *_Creature, uint3 player->SEND_GOSSIP_MENU(9602, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Mailbox - player->SEND_POI(9658.33, -7492.17, 6, 6, 0, "Silvermoon Mailbox"); + player->SEND_POI(9658.33, -7492.17, 7, 6, 0, "Silvermoon Mailbox"); player->SEND_GOSSIP_MENU(9326, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Stable master - player->SEND_POI(9904.95, -7404.31, 6, 6, 0, "Shalenn"); + player->SEND_POI(9904.95, -7404.31, 7, 6, 0, "Shalenn"); player->SEND_GOSSIP_MENU(9327, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Weapon trainer - player->SEND_POI(9841.17, -7505.13, 6, 6, 0, "Ileda"); + player->SEND_POI(9841.17, -7505.13, 7, 6, 0, "Ileda"); player->SEND_GOSSIP_MENU(9328, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Wind master - player->SEND_POI(9378.45, -7163.94, 6, 6, 0, "Silvermoon Wind Master"); + player->SEND_POI(9378.45, -7163.94, 7, 6, 0, "Silvermoon Wind Master"); player->SEND_GOSSIP_MENU(10181, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Battlemaster @@ -2983,12 +2983,12 @@ void SendAuctionhouseMenu_guard_silvermoon(Player *player, Creature *_Creature, { if (action == GOSSIP_ACTION_INFO_DEF + 1) { - player->SEND_POI(9644.47, -7140.22, 6, 6, 0, "Western Auction House"); + player->SEND_POI(9644.47, -7140.22, 7, 6, 0, "Western Auction House"); player->SEND_GOSSIP_MENU(9318, _Creature->GetGUID()); } if (action == GOSSIP_ACTION_INFO_DEF + 2) { - player->SEND_POI(9683.27, -7521.22, 6, 6, 0, "Royal Exchange Auction House"); + player->SEND_POI(9683.27, -7521.22, 7, 6, 0, "Royal Exchange Auction House"); player->SEND_GOSSIP_MENU(9319, _Creature->GetGUID()); } } @@ -2997,12 +2997,12 @@ void SendInnMenu_guard_silvermoon(Player *player, Creature *_Creature, uint32 ac { if (action == GOSSIP_ACTION_INFO_DEF + 1) { - player->SEND_POI(9677.7, -7368, 6, 6, 0, "Silvermoon City Inn"); + player->SEND_POI(9677.7, -7368, 7, 6, 0, "Silvermoon City Inn"); player->SEND_GOSSIP_MENU(9325, _Creature->GetGUID()); } if (action == GOSSIP_ACTION_INFO_DEF + 2) { - player->SEND_POI(9561.1, -7517.5, 6, 6, 0, "Wayfarer's Rest tavern"); + player->SEND_POI(9561.1, -7517.5, 7, 6, 0, "Wayfarer's Rest tavern"); player->SEND_GOSSIP_MENU(9603, _Creature->GetGUID()); } } @@ -3012,23 +3012,23 @@ void SendBattleMasterMenu_guard_silvermoon(Player *player, Creature *_Creature, switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //AV - player->SEND_POI(9850.49, -7572.26, 6, 6, 0, "Gurak"); + player->SEND_POI(9850.49, -7572.26, 7, 6, 0, "Gurak"); player->SEND_GOSSIP_MENU(9329, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //AB - player->SEND_POI(9857.18, -7564.36, 6, 6, 0, "Karen Wentworth"); + player->SEND_POI(9857.18, -7564.36, 7, 6, 0, "Karen Wentworth"); player->SEND_GOSSIP_MENU(9329, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //A - player->SEND_POI(9850.6, -7559.25, 6, 6, 0, "Bipp Glizzitor"); + player->SEND_POI(9850.6, -7559.25, 7, 6, 0, "Bipp Glizzitor"); player->SEND_GOSSIP_MENU(9329, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //EOS - player->SEND_POI(9857.18, -7564.36, 6, 6, 0, "Karen Wentworth"); + player->SEND_POI(9857.18, -7564.36, 7, 6, 0, "Karen Wentworth"); player->SEND_GOSSIP_MENU(9329, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //WSG - player->SEND_POI(9845.45, -7562.58, 6, 6, 0, "Krukk"); + player->SEND_POI(9845.45, -7562.58, 7, 6, 0, "Krukk"); player->SEND_GOSSIP_MENU(9329, _Creature->GetGUID()); break; } @@ -3039,31 +3039,31 @@ void SendClassTrainerMenu_guard_silvermoon(Player *player, Creature *_Creature, switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Druid - player->SEND_POI(9700.55, -7262.57, 6, 6, 0, "Harene Plainwalker"); + player->SEND_POI(9700.55, -7262.57, 7, 6, 0, "Harene Plainwalker"); player->SEND_GOSSIP_MENU(9330, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Hunter - player->SEND_POI(9927.48, -7426.14, 6, 6, 0, "Zandine"); + player->SEND_POI(9927.48, -7426.14, 7, 6, 0, "Zandine"); player->SEND_GOSSIP_MENU(9332, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Mage - player->SEND_POI(9995.07, -7118.17, 6, 6, 0, "Quithas"); + player->SEND_POI(9995.07, -7118.17, 7, 6, 0, "Quithas"); player->SEND_GOSSIP_MENU(9333, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Paladin - player->SEND_POI(9850.22, -7516.93, 6, 6, 0, "Champion Bachi"); + player->SEND_POI(9850.22, -7516.93, 7, 6, 0, "Champion Bachi"); player->SEND_GOSSIP_MENU(9334, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Priest - player->SEND_POI(9926.79, -7066.66, 6, 6, 0, "Belestra"); + player->SEND_POI(9926.79, -7066.66, 7, 6, 0, "Belestra"); player->SEND_GOSSIP_MENU(9335, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Rogue - player->SEND_POI(9739.88, -7374.33, 6, 6, 0, "Zelanis"); + player->SEND_POI(9739.88, -7374.33, 7, 6, 0, "Zelanis"); player->SEND_GOSSIP_MENU(9336, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Warlock - player->SEND_POI(9787.57, -7284.63, 6, 6, 0, "Alamma"); + player->SEND_POI(9787.57, -7284.63, 7, 6, 0, "Alamma"); player->SEND_GOSSIP_MENU(9337, _Creature->GetGUID()); break; } @@ -3074,55 +3074,55 @@ void SendProfTrainerMenu_guard_silvermoon(Player *player, Creature *_Creature, u switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Alchemy - player->SEND_POI(9998.09, -7214.36, 6, 6, 0, "Silvermoon Alchemy Trainer"); + player->SEND_POI(9998.09, -7214.36, 7, 6, 0, "Silvermoon Alchemy Trainer"); player->SEND_GOSSIP_MENU(9316, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Blacksmithing - player->SEND_POI(9841.43, -7361.53, 6, 6, 0, "Silvermoon Blacksmithing Trainer"); + player->SEND_POI(9841.43, -7361.53, 7, 6, 0, "Silvermoon Blacksmithing Trainer"); player->SEND_GOSSIP_MENU(9340, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Cooking - player->SEND_POI(9577.26, -7243.6, 6, 6, 0, "Silvermoon Cooking Trainer"); + player->SEND_POI(9577.26, -7243.6, 7, 6, 0, "Silvermoon Cooking Trainer"); player->SEND_GOSSIP_MENU(9316, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Enchanting - player->SEND_POI(9962.57, -7246.18, 6, 6, 0, "Silvermoon Enchanting Trainer"); + player->SEND_POI(9962.57, -7246.18, 7, 6, 0, "Silvermoon Enchanting Trainer"); player->SEND_GOSSIP_MENU(9341, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Engineering - player->SEND_POI(9820.18, -7329.56, 6, 6, 0, "Silvermoon Engineering Trainer"); + player->SEND_POI(9820.18, -7329.56, 7, 6, 0, "Silvermoon Engineering Trainer"); player->SEND_GOSSIP_MENU(9316, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //First Aid - player->SEND_POI(9579.8, -7343.71, 6, 6, 0, "Silvermoon First Aid Trainer"); + player->SEND_POI(9579.8, -7343.71, 7, 6, 0, "Silvermoon First Aid Trainer"); player->SEND_GOSSIP_MENU(9316, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Fishing - player->SEND_POI(9602.73, -7328.3, 6, 6, 0, "Silvermoon Fishing Trainer"); + player->SEND_POI(9602.73, -7328.3, 7, 6, 0, "Silvermoon Fishing Trainer"); player->SEND_GOSSIP_MENU(9316, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Jewelcrafting - player->SEND_POI(9553.54, -7506.43, 6, 6, 0, "Silvermoon Jewelcrafting Trainer"); + player->SEND_POI(9553.54, -7506.43, 7, 6, 0, "Silvermoon Jewelcrafting Trainer"); player->SEND_GOSSIP_MENU(9346, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Herbalism - player->SEND_POI(10004.4, -7216.86, 6, 6, 0, "Silvermoon Herbalism Trainer"); + player->SEND_POI(10004.4, -7216.86, 7, 6, 0, "Silvermoon Herbalism Trainer"); player->SEND_GOSSIP_MENU(9316, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 10: //Leatherworking - player->SEND_POI(9503.72, -7430.16, 6, 6, 0, "Silvermoon Leatherworking Trainer"); + player->SEND_POI(9503.72, -7430.16, 7, 6, 0, "Silvermoon Leatherworking Trainer"); player->SEND_GOSSIP_MENU(9347, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 11: //Mining - player->SEND_POI(9805.1, -7355.56, 6, 6, 0, "Silvermoon Mining Trainer"); + player->SEND_POI(9805.1, -7355.56, 7, 6, 0, "Silvermoon Mining Trainer"); player->SEND_GOSSIP_MENU(9348, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 12: //Skinning - player->SEND_POI(9513.37, -7429.4, 6, 6, 0, "Silvermoon Skinning Trainer"); + player->SEND_POI(9513.37, -7429.4, 7, 6, 0, "Silvermoon Skinning Trainer"); player->SEND_GOSSIP_MENU(9316, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 13: //Tailoring - player->SEND_POI(9750.55, -7095.28, 6, 6, 0, "Silvermoon Tailor"); + player->SEND_POI(9750.55, -7095.28, 7, 6, 0, "Silvermoon Tailor"); player->SEND_GOSSIP_MENU(9350, _Creature->GetGUID()); break; } @@ -3179,43 +3179,43 @@ void SendDefaultMenu_guard_stormwind(Player *player, Creature *_Creature, uint32 switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Auction House - player->SEND_POI(-8811.46, 667.46, 6, 6, 0, "Stormwind Auction House"); + player->SEND_POI(-8811.46, 667.46, 7, 6, 0, "Stormwind Auction House"); player->SEND_GOSSIP_MENU(3834,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Bank - player->SEND_POI(-8916.87, 622.87, 6, 6, 0, "Stormwind Bank"); + player->SEND_POI(-8916.87, 622.87, 7, 6, 0, "Stormwind Bank"); player->SEND_GOSSIP_MENU(764,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Deeprun tram - player->SEND_POI(-8378.88, 554.23, 6, 6, 0, "The Deeprun Tram"); + player->SEND_POI(-8378.88, 554.23, 7, 6, 0, "The Deeprun Tram"); player->SEND_GOSSIP_MENU(3813,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Inn - player->SEND_POI(-8869.0, 675.4, 6, 6, 0, "The Gilded Rose"); + player->SEND_POI(-8869.0, 675.4, 7, 6, 0, "The Gilded Rose"); player->SEND_GOSSIP_MENU(3860,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Gryphon Master - player->SEND_POI(-8837.0, 493.5, 6, 6, 0, "Stormwind Gryphon Master"); + player->SEND_POI(-8837.0, 493.5, 7, 6, 0, "Stormwind Gryphon Master"); player->SEND_GOSSIP_MENU(879,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Guild Master - player->SEND_POI(-8894.0, 611.2, 6, 6, 0, "Stormwind Vistor`s Center"); + player->SEND_POI(-8894.0, 611.2, 7, 6, 0, "Stormwind Vistor`s Center"); player->SEND_GOSSIP_MENU(882,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Mailbox - player->SEND_POI(-8876.48, 649.18, 6, 6, 0, "Stormwind Mailbox"); + player->SEND_POI(-8876.48, 649.18, 7, 6, 0, "Stormwind Mailbox"); player->SEND_GOSSIP_MENU(3861,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Stable Master - player->SEND_POI(-8433.0, 554.7, 6, 6, 0, "Jenova Stoneshield"); + player->SEND_POI(-8433.0, 554.7, 7, 6, 0, "Jenova Stoneshield"); player->SEND_GOSSIP_MENU(5984,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Weapon Trainer - player->SEND_POI(-8797.0, 612.8, 6, 6, 0, "Woo Ping"); + player->SEND_POI(-8797.0, 612.8, 7, 6, 0, "Woo Ping"); player->SEND_GOSSIP_MENU(4516,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 10: //Officers Lounge - player->SEND_POI(-8759.92, 399.69, 6, 6, 0, "Champions` Hall"); + player->SEND_POI(-8759.92, 399.69, 7, 6, 0, "Champions` Hall"); player->SEND_GOSSIP_MENU(7047,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 11: //Battlemasters @@ -3259,15 +3259,15 @@ void SendBattleMasterMenu_guard_stormwind(Player *player, Creature *_Creature, u switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //AV - player->SEND_POI(-8443.88, 335.99, 6, 6, 0, "Thelman Slatefist"); + player->SEND_POI(-8443.88, 335.99, 7, 6, 0, "Thelman Slatefist"); player->SEND_GOSSIP_MENU(7500, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //AB - player->SEND_POI(-8443.88, 335.99, 6, 6, 0, "Lady Hoteshem"); + player->SEND_POI(-8443.88, 335.99, 7, 6, 0, "Lady Hoteshem"); player->SEND_GOSSIP_MENU(7650, _Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //WSG - player->SEND_POI(-8443.88, 335.99, 6, 6, 0, "Elfarran"); + player->SEND_POI(-8443.88, 335.99, 7, 6, 0, "Elfarran"); player->SEND_GOSSIP_MENU(7501, _Creature->GetGUID()); break; } @@ -3278,39 +3278,39 @@ void SendClassTrainerMenu_guard_stormwind(Player *player, Creature *_Creature, u switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Mage - player->SEND_POI(-9012.0, 867.6, 6, 6, 0, "Wizard`s Sanctum"); + player->SEND_POI(-9012.0, 867.6, 7, 6, 0, "Wizard`s Sanctum"); player->SEND_GOSSIP_MENU(899,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Rogue - player->SEND_POI(-8753.0, 367.8, 6, 6, 0, "Stormwind - Rogue House"); + player->SEND_POI(-8753.0, 367.8, 7, 6, 0, "Stormwind - Rogue House"); player->SEND_GOSSIP_MENU(900,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Warrior - player->SEND_POI(-8624.54, 402.61, 6, 6, 0, "Pig and Whistle Tavern"); + player->SEND_POI(-8624.54, 402.61, 7, 6, 0, "Pig and Whistle Tavern"); player->SEND_GOSSIP_MENU(901,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Druid - player->SEND_POI(-8751.0, 1124.5, 6, 6, 0, "The Park"); + player->SEND_POI(-8751.0, 1124.5, 7, 6, 0, "The Park"); player->SEND_GOSSIP_MENU(902,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Priest - player->SEND_POI(-8512.0, 862.4, 6, 6, 0, "Catedral Of Light"); + player->SEND_POI(-8512.0, 862.4, 7, 6, 0, "Catedral Of Light"); player->SEND_GOSSIP_MENU(903,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Paladin - player->SEND_POI(-8577.0, 881.7, 6, 6, 0, "Catedral Of Light"); + player->SEND_POI(-8577.0, 881.7, 7, 6, 0, "Catedral Of Light"); player->SEND_GOSSIP_MENU(904,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Hunter - player->SEND_POI(-8413.0, 541.5, 6, 6, 0, "Hunter Lodge"); + player->SEND_POI(-8413.0, 541.5, 7, 6, 0, "Hunter Lodge"); player->SEND_GOSSIP_MENU(905,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Warlock - player->SEND_POI(-8948.91, 998.35, 6, 6, 0, "The Slaughtered Lamb"); + player->SEND_POI(-8948.91, 998.35, 7, 6, 0, "The Slaughtered Lamb"); player->SEND_GOSSIP_MENU(906,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Shaman - player->SEND_POI(-9033, 550, 6, 6, 0, "Valley Of Heroes"); + player->SEND_POI(-9033, 550, 7, 6, 0, "Valley Of Heroes"); //incorrect id player->SEND_GOSSIP_MENU(2593,_Creature->GetGUID()); break; @@ -3322,51 +3322,51 @@ void SendProfTrainerMenu_guard_stormwind(Player *player, Creature *_Creature, ui switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Alchemy - player->SEND_POI(-8988.0, 759.60, 6, 6, 0, "Alchemy Needs"); + player->SEND_POI(-8988.0, 759.60, 7, 6, 0, "Alchemy Needs"); player->SEND_GOSSIP_MENU(919,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Blacksmithing - player->SEND_POI(-8424.0, 616.9, 6, 6, 0, "Therum Deepforge"); + player->SEND_POI(-8424.0, 616.9, 7, 6, 0, "Therum Deepforge"); player->SEND_GOSSIP_MENU(920,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Cooking - player->SEND_POI(-8611.0, 364.6, 6, 6, 0, "Pig and Whistle Tavern"); + player->SEND_POI(-8611.0, 364.6, 7, 6, 0, "Pig and Whistle Tavern"); player->SEND_GOSSIP_MENU(921,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Enchanting - player->SEND_POI(-8858.0, 803.7, 6, 6, 0, "Lucan Cordell"); + player->SEND_POI(-8858.0, 803.7, 7, 6, 0, "Lucan Cordell"); player->SEND_GOSSIP_MENU(941,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Engineering - player->SEND_POI(-8347.0, 644.1, 6, 6, 0, "Lilliam Sparkspindle"); + player->SEND_POI(-8347.0, 644.1, 7, 6, 0, "Lilliam Sparkspindle"); player->SEND_GOSSIP_MENU(922,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //First Aid - player->SEND_POI(-8513.0, 801.8, 6, 6, 0, "Shaina Fuller"); + player->SEND_POI(-8513.0, 801.8, 7, 6, 0, "Shaina Fuller"); player->SEND_GOSSIP_MENU(923,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Fishing - player->SEND_POI(-8803.0, 767.5, 6, 6, 0, "Arnold Leland"); + player->SEND_POI(-8803.0, 767.5, 7, 6, 0, "Arnold Leland"); player->SEND_GOSSIP_MENU(940,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Herbalism - player->SEND_POI(-8967.0, 779.5, 6, 6, 0, "Alchemy Needs"); + player->SEND_POI(-8967.0, 779.5, 7, 6, 0, "Alchemy Needs"); player->SEND_GOSSIP_MENU(924,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Leatherworking - player->SEND_POI(-8726.0, 477.4, 6, 6, 0, "The Protective Hide"); + player->SEND_POI(-8726.0, 477.4, 7, 6, 0, "The Protective Hide"); player->SEND_GOSSIP_MENU(925,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 10: //Mining - player->SEND_POI(-8434.0, 692.8, 6, 6, 0, "Gelman Stonehand"); + player->SEND_POI(-8434.0, 692.8, 7, 6, 0, "Gelman Stonehand"); player->SEND_GOSSIP_MENU(927,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 11: //Skinning - player->SEND_POI(-8716.0, 469.4, 6, 6, 0, "The Protective Hide"); + player->SEND_POI(-8716.0, 469.4, 7, 6, 0, "The Protective Hide"); player->SEND_GOSSIP_MENU(928,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 12: //Tailoring - player->SEND_POI(-8938.0, 800.7, 6, 6, 0, "Duncan`s Textiles"); + player->SEND_POI(-8938.0, 800.7, 7, 6, 0, "Duncan`s Textiles"); player->SEND_GOSSIP_MENU(929,_Creature->GetGUID()); break; } @@ -3431,11 +3431,11 @@ void SendDefaultMenu_guard_teldrassil(Player *player, Creature *_Creature, uint3 player->SEND_GOSSIP_MENU(4319,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Inn - player->SEND_POI(9821.49, 960.13, 6, 6, 0, "Dolanaar Inn"); + player->SEND_POI(9821.49, 960.13, 7, 6, 0, "Dolanaar Inn"); player->SEND_GOSSIP_MENU(4320,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //stable master - player->SEND_POI(9808.37, 931.1, 6, 6, 0, "Seriadne"); + player->SEND_POI(9808.37, 931.1, 7, 6, 0, "Seriadne"); player->SEND_GOSSIP_MENU(5982,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //class trainer @@ -3466,23 +3466,23 @@ void SendClassTrainerMenu_guard_teldrassil(Player *player, Creature *_Creature, switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Druid - player->SEND_POI(9741.58, 963.7, 6, 6, 0, "Kal"); + player->SEND_POI(9741.58, 963.7, 7, 6, 0, "Kal"); player->SEND_GOSSIP_MENU(4323,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Hunter - player->SEND_POI(9815.12, 926.28, 6, 6, 0, "Dazalar"); + player->SEND_POI(9815.12, 926.28, 7, 6, 0, "Dazalar"); player->SEND_GOSSIP_MENU(4324,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Priest - player->SEND_POI(9906.16, 986.63, 6, 6, 0, "Laurna Morninglight"); + player->SEND_POI(9906.16, 986.63, 7, 6, 0, "Laurna Morninglight"); player->SEND_GOSSIP_MENU(4325,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Rogue - player->SEND_POI(9789, 942.86, 6, 6, 0, "Jannok Breezesong"); + player->SEND_POI(9789, 942.86, 7, 6, 0, "Jannok Breezesong"); player->SEND_GOSSIP_MENU(4326,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Warrior - player->SEND_POI(9821.96, 950.61, 6, 6, 0, "Kyra Windblade"); + player->SEND_POI(9821.96, 950.61, 7, 6, 0, "Kyra Windblade"); player->SEND_GOSSIP_MENU(4327,_Creature->GetGUID()); break; } @@ -3493,34 +3493,34 @@ void SendProfTrainerMenu_guard_teldrassil(Player *player, Creature *_Creature, u switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Alchemy - player->SEND_POI(9767.59, 878.81, 6, 6, 0, "Cyndra Kindwhisper"); + player->SEND_POI(9767.59, 878.81, 7, 6, 0, "Cyndra Kindwhisper"); player->SEND_GOSSIP_MENU(4329,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Cooking - player->SEND_POI(9751.19, 906.13, 6, 6, 0, "Zarrin"); + player->SEND_POI(9751.19, 906.13, 7, 6, 0, "Zarrin"); player->SEND_GOSSIP_MENU(4330,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Enchanting - player->SEND_POI(10677.59, 1946.56, 6, 6, 0, "Alanna Raveneye"); + player->SEND_POI(10677.59, 1946.56, 7, 6, 0, "Alanna Raveneye"); player->SEND_GOSSIP_MENU(4331,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //First Aid - player->SEND_POI(9903.12, 999, 6, 6, 0, "Byancie"); + player->SEND_POI(9903.12, 999, 7, 6, 0, "Byancie"); player->SEND_GOSSIP_MENU(4332,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Fishing player->SEND_GOSSIP_MENU(4333,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Herbalism - player->SEND_POI(9773.78, 875.88, 6, 6, 0, "Malorne Bladeleaf"); + player->SEND_POI(9773.78, 875.88, 7, 6, 0, "Malorne Bladeleaf"); player->SEND_GOSSIP_MENU(4334,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Leatherworking - player->SEND_POI(10152.59, 1681.46, 6, 6, 0, "Nadyia Maneweaver"); + player->SEND_POI(10152.59, 1681.46, 7, 6, 0, "Nadyia Maneweaver"); player->SEND_GOSSIP_MENU(4335,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Skinning - player->SEND_POI(10135.59, 1673.18, 6, 6, 0, "Radnaal Maneweaver"); + player->SEND_POI(10135.59, 1673.18, 7, 6, 0, "Radnaal Maneweaver"); player->SEND_GOSSIP_MENU(4336,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Tailoring @@ -3576,11 +3576,11 @@ void SendDefaultMenu_guard_tirisfal(Player *player, Creature *_Creature, uint32 player->SEND_GOSSIP_MENU(4075,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Inn - player->SEND_POI(2246.68, 241.89, 6, 6, 0, "Gallows` End Tavern"); + player->SEND_POI(2246.68, 241.89, 7, 6, 0, "Gallows` End Tavern"); player->SEND_GOSSIP_MENU(4076,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Stable Master - player->SEND_POI(2267.66, 319.32, 6, 6, 0, "Morganus"); + player->SEND_POI(2267.66, 319.32, 7, 6, 0, "Morganus"); player->SEND_GOSSIP_MENU(5978,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Class trainer @@ -3614,23 +3614,23 @@ void SendClassTrainerMenu_guard_tirisfal(Player *player, Creature *_Creature, ui switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Mage - player->SEND_POI(2259.18, 240.93, 6, 6, 0, "Cain Firesong"); + player->SEND_POI(2259.18, 240.93, 7, 6, 0, "Cain Firesong"); player->SEND_GOSSIP_MENU(4077,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Priest - player->SEND_POI(2259.18, 240.93, 6, 6, 0, "Dark Cleric Beryl"); + player->SEND_POI(2259.18, 240.93, 7, 6, 0, "Dark Cleric Beryl"); player->SEND_GOSSIP_MENU(4078,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Rogue - player->SEND_POI(2259.18, 240.93, 6, 6, 0, "Marion Call"); + player->SEND_POI(2259.18, 240.93, 7, 6, 0, "Marion Call"); player->SEND_GOSSIP_MENU(4079,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Warlock - player->SEND_POI(2259.18, 240.93, 6, 6, 0, "Rupert Boch"); + player->SEND_POI(2259.18, 240.93, 7, 6, 0, "Rupert Boch"); player->SEND_GOSSIP_MENU(4080,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Warrior - player->SEND_POI(2256.48, 240.32, 6, 6, 0, "Austil de Mon"); + player->SEND_POI(2256.48, 240.32, 7, 6, 0, "Austil de Mon"); player->SEND_GOSSIP_MENU(4081,_Creature->GetGUID()); break; } @@ -3641,7 +3641,7 @@ void SendProfTrainerMenu_guard_tirisfal(Player *player, Creature *_Creature, uin switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Alchemy - player->SEND_POI(2263.25, 344.23, 6, 6, 0, "Carolai Anise"); + player->SEND_POI(2263.25, 344.23, 7, 6, 0, "Carolai Anise"); player->SEND_GOSSIP_MENU(4082,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Blacksmithing @@ -3651,37 +3651,37 @@ void SendProfTrainerMenu_guard_tirisfal(Player *player, Creature *_Creature, uin player->SEND_GOSSIP_MENU(4084,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Enchanting - player->SEND_POI(2250.35, 249.12, 6, 6, 0, "Vance Undergloom"); + player->SEND_POI(2250.35, 249.12, 7, 6, 0, "Vance Undergloom"); player->SEND_GOSSIP_MENU(4085,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Engineering player->SEND_GOSSIP_MENU(4086,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //First Aid - player->SEND_POI(2246.68, 241.89, 6, 6, 0, "Nurse Neela"); + player->SEND_POI(2246.68, 241.89, 7, 6, 0, "Nurse Neela"); player->SEND_GOSSIP_MENU(4087,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Fishing - player->SEND_POI(2292.37, -10.72, 6, 6, 0, "Clyde Kellen"); + player->SEND_POI(2292.37, -10.72, 7, 6, 0, "Clyde Kellen"); player->SEND_GOSSIP_MENU(4088,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Herbalism - player->SEND_POI(2268.21, 331.69, 6, 6, 0, "Faruza"); + player->SEND_POI(2268.21, 331.69, 7, 6, 0, "Faruza"); player->SEND_GOSSIP_MENU(4089,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Leatherworking - player->SEND_POI(2027, 78.72, 6, 6, 0, "Shelene Rhobart"); + player->SEND_POI(2027, 78.72, 7, 6, 0, "Shelene Rhobart"); player->SEND_GOSSIP_MENU(4090,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 10: //Mining player->SEND_GOSSIP_MENU(4091,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 11: //Skinning - player->SEND_POI(2027, 78.72, 6, 6, 0, "Rand Rhobart"); + player->SEND_POI(2027, 78.72, 7, 6, 0, "Rand Rhobart"); player->SEND_GOSSIP_MENU(4092,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 12: //Tailoring - player->SEND_POI(2160.45, 659.93, 6, 6, 0, "Bowen Brisboise"); + player->SEND_POI(2160.45, 659.93, 7, 6, 0, "Bowen Brisboise"); player->SEND_GOSSIP_MENU(4093,_Creature->GetGUID()); break; } @@ -3734,39 +3734,39 @@ void SendDefaultMenu_guard_undercity(Player *player, Creature *_Creature, uint32 switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Bank - player->SEND_POI(1595.64, 232.45, 6, 6, 0, "Undercity Bank"); + player->SEND_POI(1595.64, 232.45, 7, 6, 0, "Undercity Bank"); player->SEND_GOSSIP_MENU(3514,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Bat handler - player->SEND_POI(1565.9, 271.43, 6, 6, 0, "Undercity Bat Handler"); + player->SEND_POI(1565.9, 271.43, 7, 6, 0, "Undercity Bat Handler"); player->SEND_GOSSIP_MENU(3515,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Guild master - player->SEND_POI(1594.17, 205.57, 6, 6, 0, "Undercity Guild Master"); + player->SEND_POI(1594.17, 205.57, 7, 6, 0, "Undercity Guild Master"); player->SEND_GOSSIP_MENU(3516,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Inn - player->SEND_POI(1639.43, 220.99, 6, 6, 0, "Undercity Inn"); + player->SEND_POI(1639.43, 220.99, 7, 6, 0, "Undercity Inn"); player->SEND_GOSSIP_MENU(3517,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Mailbox - player->SEND_POI(1632.68, 219.4, 6, 6, 0, "Undercity Mailbox"); + player->SEND_POI(1632.68, 219.4, 7, 6, 0, "Undercity Mailbox"); player->SEND_GOSSIP_MENU(3518,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //Auction House - player->SEND_POI(1647.9, 258.49, 6, 6, 0, "Undercity Auction House"); + player->SEND_POI(1647.9, 258.49, 7, 6, 0, "Undercity Auction House"); player->SEND_GOSSIP_MENU(3519,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Zeppelin - player->SEND_POI(2059, 274.86, 6, 6, 0, "Undercity Zeppelin"); + player->SEND_POI(2059, 274.86, 7, 6, 0, "Undercity Zeppelin"); player->SEND_GOSSIP_MENU(3520,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Weapon Master - player->SEND_POI(1670.31, 324.66, 6, 6, 0, "Archibald"); + player->SEND_POI(1670.31, 324.66, 7, 6, 0, "Archibald"); player->SEND_GOSSIP_MENU(4521,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Stable master - player->SEND_POI(1634.18, 226.76, 6, 6, 0, "Anya Maulray"); + player->SEND_POI(1634.18, 226.76, 7, 6, 0, "Anya Maulray"); player->SEND_GOSSIP_MENU(5979,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 10: //Battlemaster @@ -3806,15 +3806,15 @@ void SendBattleMasterMenu_guard_undercity(Player *player, Creature *_Creature, u switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //AV - player->SEND_POI(1329, 333.92, 6, 6, 0, "Grizzle Halfmane"); + player->SEND_POI(1329, 333.92, 7, 6, 0, "Grizzle Halfmane"); player->SEND_GOSSIP_MENU(7525,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //AB - player->SEND_POI(1283.3, 287.16, 6, 6, 0, "Sir Malory Wheeler"); + player->SEND_POI(1283.3, 287.16, 7, 6, 0, "Sir Malory Wheeler"); player->SEND_GOSSIP_MENU(7646,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //WSG - player->SEND_POI(1265, 351.18, 6, 6, 0, "Kurden Bloodclaw"); + player->SEND_POI(1265, 351.18, 7, 6, 0, "Kurden Bloodclaw"); player->SEND_GOSSIP_MENU(7526,_Creature->GetGUID()); break; } @@ -3825,23 +3825,23 @@ void SendClassTrainerMenu_guard_undercity(Player *player, Creature *_Creature, u switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Mage - player->SEND_POI(1781, 53, 6, 6, 0, "Undercity Mage Trainers"); + player->SEND_POI(1781, 53, 7, 6, 0, "Undercity Mage Trainers"); player->SEND_GOSSIP_MENU(3513,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Priest - player->SEND_POI(1758.33, 401.5, 6, 6, 0, "Undercity Priest Trainers"); + player->SEND_POI(1758.33, 401.5, 7, 6, 0, "Undercity Priest Trainers"); player->SEND_GOSSIP_MENU(3521,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Rogue - player->SEND_POI(1418.56, 65, 6, 6, 0, "Undercity Rogue Trainers"); + player->SEND_POI(1418.56, 65, 7, 6, 0, "Undercity Rogue Trainers"); player->SEND_GOSSIP_MENU(3524,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Warlock - player->SEND_POI(1780.92, 53.16, 6, 6, 0, "Undercity Warlock Trainers"); + player->SEND_POI(1780.92, 53.16, 7, 6, 0, "Undercity Warlock Trainers"); player->SEND_GOSSIP_MENU(3526,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Warrior - player->SEND_POI(1775.59, 418.19, 6, 6, 0, "Undercity Warrior Trainers"); + player->SEND_POI(1775.59, 418.19, 7, 6, 0, "Undercity Warrior Trainers"); player->SEND_GOSSIP_MENU(3527,_Creature->GetGUID()); break; } @@ -3852,51 +3852,51 @@ void SendProfTrainerMenu_guard_undercity(Player *player, Creature *_Creature, ui switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: //Alchemy - player->SEND_POI(1419.82, 417.19, 6, 6, 0, "The Apothecarium"); + player->SEND_POI(1419.82, 417.19, 7, 6, 0, "The Apothecarium"); player->SEND_GOSSIP_MENU(3528,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: //Blacksmithing - player->SEND_POI(1696, 285, 6, 6, 0, "Undercity Blacksmithing Trainer"); + player->SEND_POI(1696, 285, 7, 6, 0, "Undercity Blacksmithing Trainer"); player->SEND_GOSSIP_MENU(3529,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: //Cooking - player->SEND_POI(1596.34, 274.68, 6, 6, 0, "Undercity Cooking Trainer"); + player->SEND_POI(1596.34, 274.68, 7, 6, 0, "Undercity Cooking Trainer"); player->SEND_GOSSIP_MENU(3530,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: //Enchanting - player->SEND_POI(1488.54, 280.19, 6, 6, 0, "Undercity Enchanting Trainer"); + player->SEND_POI(1488.54, 280.19, 7, 6, 0, "Undercity Enchanting Trainer"); player->SEND_GOSSIP_MENU(3531,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: //Engineering - player->SEND_POI(1408.58, 143.43, 6, 6, 0, "Undercity Engineering Trainer"); + player->SEND_POI(1408.58, 143.43, 7, 6, 0, "Undercity Engineering Trainer"); player->SEND_GOSSIP_MENU(3532,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: //First Aid - player->SEND_POI(1519.65, 167.19, 6, 6, 0, "Undercity First Aid Trainer"); + player->SEND_POI(1519.65, 167.19, 7, 6, 0, "Undercity First Aid Trainer"); player->SEND_GOSSIP_MENU(3533,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 7: //Fishing - player->SEND_POI(1679.9, 89, 6, 6, 0, "Undercity Fishing Trainer"); + player->SEND_POI(1679.9, 89, 7, 6, 0, "Undercity Fishing Trainer"); player->SEND_GOSSIP_MENU(3534,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 8: //Herbalism - player->SEND_POI(1558, 349.36, 6, 6, 0, "Undercity Herbalism Trainer"); + player->SEND_POI(1558, 349.36, 7, 6, 0, "Undercity Herbalism Trainer"); player->SEND_GOSSIP_MENU(3535,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 9: //Leatherworking - player->SEND_POI(1498.76, 196.43, 6, 6, 0, "Undercity Leatherworking Trainer"); + player->SEND_POI(1498.76, 196.43, 7, 6, 0, "Undercity Leatherworking Trainer"); player->SEND_GOSSIP_MENU(3536,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 10: //Mining - player->SEND_POI(1642.88, 335.58, 6, 6, 0, "Undercity Mining Trainer"); + player->SEND_POI(1642.88, 335.58, 7, 6, 0, "Undercity Mining Trainer"); player->SEND_GOSSIP_MENU(3537,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 11: //Skinning - player->SEND_POI(1498.6, 196.46, 6, 6, 0, "Undercity Skinning Trainer"); + player->SEND_POI(1498.6, 196.46, 7, 6, 0, "Undercity Skinning Trainer"); player->SEND_GOSSIP_MENU(3538,_Creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 12: //Tailoring - player->SEND_POI(1689.55, 193, 6, 6, 0, "Undercity Tailoring Trainer"); + player->SEND_POI(1689.55, 193, 7, 6, 0, "Undercity Tailoring Trainer"); player->SEND_GOSSIP_MENU(3539,_Creature->GetGUID()); break; } diff --git a/src/bindings/scripts/scripts/item/item_scripts.cpp b/src/bindings/scripts/scripts/item/item_scripts.cpp index 7fd6e7679c8..53f00ae5e85 100644 --- a/src/bindings/scripts/scripts/item/item_scripts.cpp +++ b/src/bindings/scripts/scripts/item/item_scripts.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/item/item_test.cpp b/src/bindings/scripts/scripts/item/item_test.cpp deleted file mode 100644 index dd41ae1028e..00000000000 --- a/src/bindings/scripts/scripts/item/item_test.cpp +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -/* ScriptData -SDName: Item_Test -SD%Complete: 100 -SDComment: Used for Testing Item Scripts -SDCategory: Items -EndScriptData */ - -#include "precompiled.h" - -extern void LoadDatabase(); - -bool ItemUse_item_test(Player *player, Item* _Item, SpellCastTargets const& targets) -{ - LoadDatabase(); - return true; -} - -void AddSC_item_test() -{ - Script *newscript; - - newscript = new Script; - newscript->Name="item_test"; - newscript->pItemUse = &ItemUse_item_test; - newscript->RegisterSelf(); -} diff --git a/src/bindings/scripts/scripts/npc/npc_escortAI.cpp b/src/bindings/scripts/scripts/npc/npc_escortAI.cpp index fefe9278322..ba321886496 100644 --- a/src/bindings/scripts/scripts/npc/npc_escortAI.cpp +++ b/src/bindings/scripts/scripts/npc/npc_escortAI.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/npc/npc_escortAI.h b/src/bindings/scripts/scripts/npc/npc_escortAI.h index a805bdd45bb..e617a1cef4e 100644 --- a/src/bindings/scripts/scripts/npc/npc_escortAI.h +++ b/src/bindings/scripts/scripts/npc/npc_escortAI.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/npc/npc_innkeeper.cpp b/src/bindings/scripts/scripts/npc/npc_innkeeper.cpp index efc5e4b7b3a..f3be85c5c2d 100644 --- a/src/bindings/scripts/scripts/npc/npc_innkeeper.cpp +++ b/src/bindings/scripts/scripts/npc/npc_innkeeper.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/npc/npc_professions.cpp b/src/bindings/scripts/scripts/npc/npc_professions.cpp index 5061f195910..21e0c55aec8 100644 --- a/src/bindings/scripts/scripts/npc/npc_professions.cpp +++ b/src/bindings/scripts/scripts/npc/npc_professions.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -634,8 +634,6 @@ void SendActionMenu_npc_prof_blacksmith(Player *player, Creature *_Creature, uin { //unknown textID (TALK_MUST_UNLEARN_WEAPON) player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); - //Temporary, not offilike - _Creature->MonsterSay(TALK_MUST_UNLEARN_WEAPON,0,player->GetGUID()); } else if( EquippedOk(player,S_UNLEARN_WEAPON) ) { diff --git a/src/bindings/scripts/scripts/npc/npcs_special.cpp b/src/bindings/scripts/scripts/npc/npcs_special.cpp index ba315b6f866..7b4111b2280 100644 --- a/src/bindings/scripts/scripts/npc/npcs_special.cpp +++ b/src/bindings/scripts/scripts/npc/npcs_special.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -40,10 +40,11 @@ EndContentData */ # npc_chicken_cluck #########*/ +#define EMOTE_A_HELLO -1070004 +#define EMOTE_H_HELLO -1070005 +#define EMOTE_CLUCK_TEXT2 -1070006 + #define QUEST_CLUCK 3861 -#define EMOTE_A_HELLO "looks up at you quizzically. Maybe you should inspect it?" -#define EMOTE_H_HELLO "looks at you unexpectadly." -#define CLUCK_TEXT2 "starts pecking at the feed." #define FACTION_FRIENDLY 84 #define FACTION_CHICKEN 31 @@ -95,18 +96,17 @@ bool ReceiveEmote_npc_chicken_cluck( Player *player, Creature *_Creature, uint32 { _Creature->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); _Creature->setFaction(FACTION_FRIENDLY); - _Creature->MonsterTextEmote(EMOTE_A_HELLO, 0); + DoScriptText(EMOTE_A_HELLO, _Creature); } } - } else - _Creature->MonsterTextEmote(EMOTE_H_HELLO,0); + } else DoScriptText(EMOTE_H_HELLO,_Creature); } if( emote == TEXTEMOTE_CHEER && player->GetTeam() == ALLIANCE ) if( player->GetQuestStatus(QUEST_CLUCK) == QUEST_STATUS_COMPLETE ) { _Creature->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); _Creature->setFaction(FACTION_FRIENDLY); - _Creature->MonsterTextEmote(CLUCK_TEXT2, 0); + DoScriptText(EMOTE_CLUCK_TEXT2, _Creature); } return true; @@ -211,9 +211,9 @@ bool ReceiveEmote_npc_dancing_flames( Player *player, Creature *flame, uint32 em ## Triage quest ######*/ -#define SAY_DOC1 "I'm saved! Thank you, doctor!" -#define SAY_DOC2 "HOORAY! I AM SAVED!" -#define SAY_DOC3 "Sweet, sweet embrace... take me..." +#define SAY_DOC1 -1000201 +#define SAY_DOC2 -1000202 +#define SAY_DOC3 -1000203 struct Location { @@ -393,7 +393,13 @@ struct TRINITY_DLL_DECL npc_injured_patientAI : public ScriptedAI m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IN_COMBAT); //stand up m_creature->SetUInt32Value(UNIT_FIELD_BYTES_1, UNIT_STAND_STATE_STAND); - DoSay(SAY_DOC1,LANG_UNIVERSAL,NULL); + + switch(rand()%3) + { + case 0: DoScriptText(SAY_DOC1,m_creature); break; + case 1: DoScriptText(SAY_DOC2,m_creature); break; + case 2: DoScriptText(SAY_DOC3,m_creature); break; + } uint32 mobId = m_creature->GetEntry(); m_creature->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); diff --git a/src/bindings/scripts/scripts/zone/alterac_mountains/alterac_mountains.cpp b/src/bindings/scripts/scripts/zone/alterac_mountains/alterac_mountains.cpp index a56d23ec6ec..f1dfcf13859 100644 --- a/src/bindings/scripts/scripts/zone/alterac_mountains/alterac_mountains.cpp +++ b/src/bindings/scripts/scripts/zone/alterac_mountains/alterac_mountains.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/arathi_highlands/arathi_highlands.cpp b/src/bindings/scripts/scripts/zone/arathi_highlands/arathi_highlands.cpp index 86f4ab7a06a..fbde7783b67 100644 --- a/src/bindings/scripts/scripts/zone/arathi_highlands/arathi_highlands.cpp +++ b/src/bindings/scripts/scripts/zone/arathi_highlands/arathi_highlands.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/ashenvale_forest/ashenvale.cpp b/src/bindings/scripts/scripts/zone/ashenvale_forest/ashenvale.cpp index 5af8088a0b6..e98fb43cdb6 100644 --- a/src/bindings/scripts/scripts/zone/ashenvale_forest/ashenvale.cpp +++ b/src/bindings/scripts/scripts/zone/ashenvale_forest/ashenvale.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -108,6 +108,9 @@ struct TRINITY_DLL_DECL npc_torekAI : public npc_escortAI void JustDied(Unit* killer) { + if (killer->GetEntry() == m_creature->GetEntry()) + return; + if (PlayerGUID && !Completed) { if (Unit* player = Unit::GetUnit((*m_creature), PlayerGUID)) diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_exarch_maladaar.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_exarch_maladaar.cpp index fd880dca50c..1a9c3b49e76 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_exarch_maladaar.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_exarch_maladaar.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -300,7 +300,7 @@ CreatureAI* GetAI_boss_exarch_maladaar(Creature *_Creature) } #define SPELL_AV_MORTAL_STRIKE 16856 -#define SPELL_AV_MORTAL_STRIKE 16856 +#define SPELL_AV_SUNDER_ARMOR 16145 struct TRINITY_DLL_DECL mob_avatar_of_martyredAI : public ScriptedAI { diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp index 8802cbf5e4e..4d9879151ce 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp index e6d5897f57b..e5cd5ecbe07 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_pandemonius.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_pandemonius.cpp index 6bf52dabf14..6434ca5ce3b 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_pandemonius.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_pandemonius.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_darkweaver_syth.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_darkweaver_syth.cpp index 1b03590e7d9..dd534ed9c9e 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_darkweaver_syth.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_darkweaver_syth.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp index 0dc5aa4aaa1..572497a482f 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -148,7 +148,7 @@ struct TRINITY_DLL_DECL boss_talon_king_ikissAI : public ScriptedAI if (ArcaneVolley_Timer < diff) { DoCast(m_creature,HeroicMode ? H_SPELL_ARCANE_VOLLEY : SPELL_ARCANE_VOLLEY); - ArcaneVolley_Timer = 10000+rand()%5000; + ArcaneVolley_Timer = 7000+rand()%5000; }else ArcaneVolley_Timer -= diff; if (Sheep_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/def_sethekk_halls.h b/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/def_sethekk_halls.h index f609ecac1f2..8c4bc572541 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/def_sethekk_halls.h +++ b/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/def_sethekk_halls.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/instance_sethekk_halls.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/instance_sethekk_halls.cpp index 07027f7f85e..718edc2cfc9 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/instance_sethekk_halls.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/instance_sethekk_halls.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp index 2e28b2a7661..730546cc4c7 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -38,7 +38,7 @@ EndScriptData */ #define SAY_DEATH -1555007 #define SPELL_BANISH 30231 -#define SPELL_CORROSIVE_ACID 23313 +#define SPELL_CORROSIVE_ACID 33551 #define SPELL_FEAR 33547 #define SPELL_ENRAGE 0 //need to find proper spell @@ -169,14 +169,14 @@ struct TRINITY_DLL_DECL boss_ambassador_hellmawAI : public ScriptedAI if (CorrosiveAcid_Timer < diff) { - DoCast(m_creature,SPELL_CORROSIVE_ACID); - CorrosiveAcid_Timer = 25000; + DoCast(m_creature->getVictim(),SPELL_CORROSIVE_ACID); + CorrosiveAcid_Timer = 15000 + rand()%10000; }else CorrosiveAcid_Timer -= diff; if (Fear_Timer < diff) { DoCast(m_creature,SPELL_FEAR); - Fear_Timer = 35000; + Fear_Timer = 20000 + rand()%15000; }else Fear_Timer -= diff; /*if (HeroicMode) diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp index cd4ba800caf..d586955c3a8 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -149,14 +149,14 @@ struct TRINITY_DLL_DECL boss_blackheart_the_inciterAI : public ScriptedAI { if (Unit *target = SelectUnit(SELECT_TARGET_RANDOM, 0)) DoCast(target, SPELL_CHARGE); - Charge_Timer = 25000; + Charge_Timer = 15000 + rand()%10000; }else Charge_Timer -= diff; //Knockback_Timer if (Knockback_Timer < diff) { DoCast(m_creature, SPELL_WAR_STOMP); - Knockback_Timer = 20000; + Knockback_Timer = 18000 + rand()%6000; }else Knockback_Timer -= diff; DoMeleeAttackIfReady(); diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp index 0d04fc57f23..e6c8783d50c 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp @@ -152,7 +152,7 @@ struct TRINITY_DLL_DECL boss_grandmaster_vorpilAI : public ScriptedAI void Reset() { - ShadowBoltVolley_Timer = 15000; + ShadowBoltVolley_Timer = 7000 + rand()%7000; DrawShadows_Timer = 45000; summonTraveler_Timer = 90000; banish_Timer = 17000; @@ -260,7 +260,7 @@ struct TRINITY_DLL_DECL boss_grandmaster_vorpilAI : public ScriptedAI if (ShadowBoltVolley_Timer < diff) { DoCast(m_creature,SPELL_SHADOWBOLT_VOLLEY); - ShadowBoltVolley_Timer = 15000; + ShadowBoltVolley_Timer = 15000 + rand()%15000;; }else ShadowBoltVolley_Timer -= diff; if (HeroicMode && banish_Timer < diff) @@ -288,7 +288,7 @@ struct TRINITY_DLL_DECL boss_grandmaster_vorpilAI : public ScriptedAI DoCast(m_creature,HeroicMode?H_SPELL_RAIN_OF_FIRE:SPELL_RAIN_OF_FIRE); ShadowBoltVolley_Timer = 6000; - DrawShadows_Timer = 30000; + DrawShadows_Timer = 3000; }else DrawShadows_Timer -= diff; if ( summonTraveler_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp index d2dfce16577..79747210c5e 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp @@ -53,9 +53,9 @@ struct TRINITY_DLL_DECL boss_murmurAI : public Scripted_NoMovementAI void Reset() { SonicBoom_Timer = 30000; - MurmursTouch_Timer = 20000; - Resonance_Timer = 10000; - MagneticPull_Timer = 20000; + MurmursTouch_Timer = 8000 + rand()%12000; + Resonance_Timer = 5000; + MagneticPull_Timer = 15000 + rand()%15000; ThunderingStorm_Timer = 15000; SonicShock_Timer = 10000; SonicBoom = false; @@ -65,6 +65,23 @@ struct TRINITY_DLL_DECL boss_murmurAI : public Scripted_NoMovementAI if (hp) m_creature->SetHealth(hp); } + void SonicBoomEffect() + { + std::list<HostilReference *> t_list = m_creature->getThreatManager().getThreatList(); + for( std::list<HostilReference *>::iterator itr = t_list.begin(); itr!= t_list.end(); ++itr ) + { + Unit* target = Unit::GetUnit(*m_creature, (*itr)->getUnitGuid()); + if (target && target->GetTypeId() == TYPEID_PLAYER) + { + if (m_creature->IsWithinDistInMap(target, 34)) + { + target->SetHealth(target->GetMaxHealth() - target->GetMaxHealth() * 0.8); + } + } + } + + } + void Aggro(Unit *who) { } // Sonic Boom instant damage (needs core fix instead of this) @@ -84,6 +101,8 @@ struct TRINITY_DLL_DECL boss_murmurAI : public Scripted_NoMovementAI if(SonicBoom) { DoCast(m_creature, SPELL_SONIC_BOOM_EFFECT, true); + SonicBoomEffect(); + SonicBoom = false; Resonance_Timer = 1500; } @@ -101,16 +120,18 @@ struct TRINITY_DLL_DECL boss_murmurAI : public Scripted_NoMovementAI { if(Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0,80,true)) DoCast(target, SPELL_MURMURS_TOUCH); - MurmursTouch_Timer = 30000; + MurmursTouch_Timer = 25000 + rand()%10000; }else MurmursTouch_Timer -= diff; // Resonance - if (Resonance_Timer < diff) + if (!SonicBoom && !(m_creature->IsWithinMeleeRange(m_creature->getVictim()))) { - if (!m_creature->IsWithinMeleeRange(SelectUnit(SELECT_TARGET_NEAREST,0,20,true))) + if (Resonance_Timer < diff) + { DoCast(m_creature, SPELL_RESONANCE); - Resonance_Timer = 5000; - }else Resonance_Timer -= diff; + Resonance_Timer = 5000; + }else Resonance_Timer -= diff; + } // Magnetic Pull if (MagneticPull_Timer < diff) @@ -119,7 +140,7 @@ struct TRINITY_DLL_DECL boss_murmurAI : public Scripted_NoMovementAI if (target->GetTypeId() == TYPEID_PLAYER && target->isAlive()) { DoCast(target, SPELL_MAGNETIC_PULL); - MagneticPull_Timer = 20000+rand()%15000; + MagneticPull_Timer = 15000+rand()%15000; return; } MagneticPull_Timer = 500; diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/def_shadow_labyrinth.h b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/def_shadow_labyrinth.h index 3331999c83a..f2284e3bdb3 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/def_shadow_labyrinth.h +++ b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/def_shadow_labyrinth.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp index f94254f277d..6c0f768a924 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -80,7 +80,7 @@ struct TRINITY_DLL_DECL instance_shadow_labyrinth : public ScriptedInstance void OnCreatureCreate(Creature *creature, uint32 creature_entry) { - switch(creature_entry) + switch(creature->GetEntry()) { case 18732: GrandmasterVorpil = creature->GetGUID(); diff --git a/src/bindings/scripts/scripts/zone/azshara/azshara.cpp b/src/bindings/scripts/scripts/zone/azshara/azshara.cpp index adcb8fbf005..e1a95a6c68e 100644 --- a/src/bindings/scripts/scripts/zone/azshara/azshara.cpp +++ b/src/bindings/scripts/scripts/zone/azshara/azshara.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/azshara/boss_azuregos.cpp b/src/bindings/scripts/scripts/zone/azshara/boss_azuregos.cpp index 9b58b553d0a..9ee612e6f3f 100644 --- a/src/bindings/scripts/scripts/zone/azshara/boss_azuregos.cpp +++ b/src/bindings/scripts/scripts/zone/azshara/boss_azuregos.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/azuremyst_isle/azuremyst_isle.cpp b/src/bindings/scripts/scripts/zone/azuremyst_isle/azuremyst_isle.cpp index 87fcfaf0130..109268bd0e7 100644 --- a/src/bindings/scripts/scripts/zone/azuremyst_isle/azuremyst_isle.cpp +++ b/src/bindings/scripts/scripts/zone/azuremyst_isle/azuremyst_isle.cpp @@ -1,4 +1,4 @@ - /* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> + /* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp b/src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp index ceab92a1107..8567da0859e 100644 --- a/src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp +++ b/src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -357,7 +357,6 @@ struct TRINITY_DLL_DECL npc_twiggy_flatheadAI : public ScriptedAI //pCreature->GetMotionMaster()->MovePoint(0, -1693, -4343, 4.32); //pCreature->GetMotionMaster()->MovePoint(1, -1684, -4333, 2.78); pCreature->GetMotionMaster()->MovePoint(2, -1682, -4329, 2.79); - //pCreature->HandleEmoteCommand(EMOTE_ONESHOT_ROAR); pCreature->HandleEmoteCommand(EMOTE_STATE_READYUNARMED); EventBigWill = true; Wave_Timer = 1000; diff --git a/src/bindings/scripts/scripts/zone/black_temple/black_temple.cpp b/src/bindings/scripts/scripts/zone/black_temple/black_temple.cpp index 3a198183175..54eebea4144 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/black_temple.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/black_temple.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_bloodboil.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_bloodboil.cpp index d483b4ec1be..48dcbc9bd35 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_bloodboil.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/boss_bloodboil.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp index 4c796293aa3..f49929c431b 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -368,6 +368,10 @@ struct TRINITY_DLL_DECL boss_illidan_stormrageAI : public ScriptedAI pInstance = ((ScriptedInstance*)c->GetInstanceData()); m_creature->CastSpell(m_creature, SPELL_DUAL_WIELD, true); Reset(); + + SpellEntry *TempSpell = (SpellEntry*)GetSpellStore()->LookupEntry(SPELL_SHADOWFIEND_PASSIVE); + if(TempSpell) + TempSpell->EffectApplyAuraName[0] = 4; // proc debuff, and summon infinite fiends } ScriptedInstance* pInstance; @@ -1789,7 +1793,7 @@ struct TRINITY_DLL_DECL blade_of_azzinothAI : public NullCreatureAI void SpellHit(Unit *caster, const SpellEntry *spell) { if(spell->Id == SPELL_THROW_GLAIVE2 || spell->Id == SPELL_THROW_GLAIVE) - me->SetUInt32Value(UNIT_FIELD_DISPLAYID, 21431);//appear when hit by Illidan's glaive + m_creature->SetUInt32Value(UNIT_FIELD_DISPLAYID, 21431);//appear when hit by Illidan's glaive } }; diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_mother_shahraz.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_mother_shahraz.cpp index 36dcd1ff58e..e8434ca7c99 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_mother_shahraz.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/boss_mother_shahraz.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp index 231a8410724..561dd72dee2 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_shade_of_akama.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_shade_of_akama.cpp index 7315c7b3490..a99121588f3 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_shade_of_akama.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/boss_shade_of_akama.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_teron_gorefiend.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_teron_gorefiend.cpp index 35f17986e88..c776d9e7ba4 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_teron_gorefiend.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/boss_teron_gorefiend.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_warlord_najentus.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_warlord_najentus.cpp index 1b1099e7948..ea2a7523b5a 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_warlord_najentus.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/boss_warlord_najentus.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/black_temple/def_black_temple.h b/src/bindings/scripts/scripts/zone/black_temple/def_black_temple.h index 53e099f7835..b2ba677bd2e 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/def_black_temple.h +++ b/src/bindings/scripts/scripts/zone/black_temple/def_black_temple.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp b/src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp index eecdd70dc30..3b3701ba4da 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/black_temple/instance_black_temple.cpp b/src/bindings/scripts/scripts/zone/black_temple/instance_black_temple.cpp index 23f36badb62..6f20c1394b4 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/instance_black_temple.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/instance_black_temple.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -42,6 +42,9 @@ struct TRINITY_DLL_DECL instance_black_temple : public ScriptedInstance { instance_black_temple(Map *map) : ScriptedInstance(map) {Initialize();}; + uint32 Encounters[ENCOUNTERS]; + std::string str_data; + uint64 Najentus; uint64 Akama; // This is the Akama that starts the Illidan encounter. uint64 Akama_Shade; // This is the Akama that starts the Shade of Akama encounter. @@ -68,9 +71,6 @@ struct TRINITY_DLL_DECL instance_black_temple : public ScriptedInstance uint64 IllidanGate; uint64 IllidanDoor[2]; - uint32 Encounters[ENCOUNTERS]; - std::string str_data; - void Initialize() { Najentus = 0; @@ -145,7 +145,7 @@ struct TRINITY_DLL_DECL instance_black_temple : public ScriptedInstance void OnCreatureCreate(Creature *creature, uint32 creature_entry) { - switch(creature_entry) + switch(creature->GetEntry()) { case 22887: Najentus = creature->GetGUID(); break; case 23089: Akama = creature->GetGUID(); break; diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/blackrock_depths.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/blackrock_depths.cpp index 44b668f7aca..23c40eb59cb 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/blackrock_depths.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/blackrock_depths.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_ambassador_flamelash.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_ambassador_flamelash.cpp index 51a35f3f64f..df25607cdad 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_ambassador_flamelash.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_ambassador_flamelash.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_anubshiah.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_anubshiah.cpp index ca7b76d5628..50cba319326 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_anubshiah.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_anubshiah.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_emperor_dagran_thaurissan.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_emperor_dagran_thaurissan.cpp index 790e0676962..a901465b9a2 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_emperor_dagran_thaurissan.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_emperor_dagran_thaurissan.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -23,12 +23,12 @@ EndScriptData */ #include "precompiled.h" +#define SAY_AGGRO -1230001 +#define SAY_SLAY -1230002 + #define SPELL_HANDOFTHAURISSAN 17492 #define SPELL_AVATAROFFLAME 15636 -#define SAY_AGGRO "Come to aid the Throne!" -#define SAY_SLAY "Hail to the king, baby!" - struct TRINITY_DLL_DECL boss_draganthaurissanAI : public ScriptedAI { boss_draganthaurissanAI(Creature *c) : ScriptedAI(c) {Reset();} @@ -46,12 +46,12 @@ struct TRINITY_DLL_DECL boss_draganthaurissanAI : public ScriptedAI void Aggro(Unit *who) { - DoYell(SAY_AGGRO,LANG_UNIVERSAL,NULL); + DoScriptText(SAY_AGGRO, m_creature); } void KilledUnit(Unit* victim) { - DoYell(SAY_SLAY, LANG_UNIVERSAL, NULL); + DoScriptText(SAY_SLAY, m_creature); } void UpdateAI(const uint32 diff) @@ -62,9 +62,8 @@ struct TRINITY_DLL_DECL boss_draganthaurissanAI : public ScriptedAI if (HandOfThaurissan_Timer < diff) { - Unit* target = NULL; - target = SelectUnit(SELECT_TARGET_RANDOM,0); - if (target) DoCast(target,SPELL_HANDOFTHAURISSAN); + if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0)) + DoCast(target,SPELL_HANDOFTHAURISSAN); //3 Hands of Thaurissan will be casted //if (Counter < 3) @@ -89,6 +88,7 @@ struct TRINITY_DLL_DECL boss_draganthaurissanAI : public ScriptedAI DoMeleeAttackIfReady(); } }; + CreatureAI* GetAI_boss_draganthaurissan(Creature *_Creature) { return new boss_draganthaurissanAI (_Creature); diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_general_angerforge.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_general_angerforge.cpp index d31a0e5927e..62a9f26b635 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_general_angerforge.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_general_angerforge.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_gorosh_the_dervish.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_gorosh_the_dervish.cpp index 81cc6713f8c..ca1a418be3d 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_gorosh_the_dervish.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_gorosh_the_dervish.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_grizzle.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_grizzle.cpp index ea3dea480c2..85d79c0aaba 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_grizzle.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_grizzle.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -23,6 +23,8 @@ EndScriptData */ #include "precompiled.h" +#define EMOTE_GENERIC_FRENZY_KILL -1000001 + #define SPELL_GROUNDTREMOR 6524 #define SPELL_FRENZY 28371 @@ -62,7 +64,7 @@ struct TRINITY_DLL_DECL boss_grizzleAI : public ScriptedAI if (Frenzy_Timer < diff) { DoCast(m_creature,SPELL_FRENZY); - DoTextEmote("goes into a killing frenzy!",NULL); + DoScriptText(EMOTE_GENERIC_FRENZY_KILL, m_creature); Frenzy_Timer = 15000; }else Frenzy_Timer -= diff; diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_high_interrogator_gerstahn.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_high_interrogator_gerstahn.cpp index dc7b7b4669d..6156ae84de7 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_high_interrogator_gerstahn.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_high_interrogator_gerstahn.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_magmus.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_magmus.cpp index 826c4962643..0913f18ee73 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_magmus.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_magmus.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_moira_bronzebeard.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_moira_bronzebeard.cpp index c7416a8d84a..99bccbd1fb0 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_moira_bronzebeard.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_moira_bronzebeard.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/instance_blackrock_depths.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/instance_blackrock_depths.cpp index 3ae0b910d07..62267fc63dd 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/instance_blackrock_depths.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/instance_blackrock_depths.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_drakkisath.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_drakkisath.cpp index 48f64249581..c358973f9b1 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_drakkisath.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_drakkisath.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_gyth.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_gyth.cpp index 732e367eee6..4374295a84a 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_gyth.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_gyth.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_halycon.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_halycon.cpp index 7c4cb2bad95..6562a3a55ef 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_halycon.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_halycon.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_highlord_omokk.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_highlord_omokk.cpp index cbed894bc0d..eba93f971b4 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_highlord_omokk.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_highlord_omokk.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_mother_smolderweb.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_mother_smolderweb.cpp index b8c79f281bb..ccefc6a4de6 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_mother_smolderweb.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_mother_smolderweb.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_overlord_wyrmthalak.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_overlord_wyrmthalak.cpp index 85f9e29af79..88156799b72 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_overlord_wyrmthalak.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_overlord_wyrmthalak.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_pyroguard_emberseer.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_pyroguard_emberseer.cpp index f436ffeb87d..b85b08cf06f 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_pyroguard_emberseer.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_pyroguard_emberseer.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_quartermaster_zigris.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_quartermaster_zigris.cpp index f51b8d19b66..3202efe3746 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_quartermaster_zigris.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_quartermaster_zigris.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_rend_blackhand.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_rend_blackhand.cpp index 5be92c57c33..d11105e1b73 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_rend_blackhand.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_rend_blackhand.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_shadow_hunter_voshgajin.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_shadow_hunter_voshgajin.cpp index 13c92c27d27..bb9c8f4805c 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_shadow_hunter_voshgajin.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_shadow_hunter_voshgajin.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_the_beast.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_the_beast.cpp index 3d4f7673aaa..df3f42ce9e9 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_the_beast.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_the_beast.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_warmaster_voone.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_warmaster_voone.cpp index 12cd27c6e3c..7ca629a0ec9 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_warmaster_voone.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_warmaster_voone.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp index 64757ad1321..e8261e65720 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_chromaggus.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_chromaggus.cpp index 09dd9ec53a4..d6bf9ba5429 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_chromaggus.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_chromaggus.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_ebonroc.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_ebonroc.cpp index 87770b7250f..bfc108e63e6 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_ebonroc.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_ebonroc.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_firemaw.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_firemaw.cpp index 609a1d08c53..77e74c3666b 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_firemaw.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_firemaw.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_flamegor.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_flamegor.cpp index 32c7ae2aef6..bf40552d656 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_flamegor.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_flamegor.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_nefarian.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_nefarian.cpp index 2c60d7fa72d..c7f06dd78c9 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_nefarian.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_nefarian.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_razorgore.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_razorgore.cpp index e3b73bc9b1c..764e3bac587 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_razorgore.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_razorgore.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_vaelastrasz.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_vaelastrasz.cpp index 2515d41740a..7ba48f84029 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_vaelastrasz.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_vaelastrasz.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_victor_nefarius.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_victor_nefarius.cpp index d6940c38742..83303fa49d1 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_victor_nefarius.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_victor_nefarius.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/instance_blackwing_lair.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/instance_blackwing_lair.cpp index 0384e40a651..78eb73673aa 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/instance_blackwing_lair.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/instance_blackwing_lair.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blades_edge_mountains/blades_edge_mountains.cpp b/src/bindings/scripts/scripts/zone/blades_edge_mountains/blades_edge_mountains.cpp index f56bd53e8fa..4c215eb4ad0 100644 --- a/src/bindings/scripts/scripts/zone/blades_edge_mountains/blades_edge_mountains.cpp +++ b/src/bindings/scripts/scripts/zone/blades_edge_mountains/blades_edge_mountains.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blasted_lands/blasted_lands.cpp b/src/bindings/scripts/scripts/zone/blasted_lands/blasted_lands.cpp index 0d89f711148..9d6be6e6471 100644 --- a/src/bindings/scripts/scripts/zone/blasted_lands/blasted_lands.cpp +++ b/src/bindings/scripts/scripts/zone/blasted_lands/blasted_lands.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/blasted_lands/boss_kruul.cpp b/src/bindings/scripts/scripts/zone/blasted_lands/boss_kruul.cpp index 3e09371466e..8c77b4f314c 100644 --- a/src/bindings/scripts/scripts/zone/blasted_lands/boss_kruul.cpp +++ b/src/bindings/scripts/scripts/zone/blasted_lands/boss_kruul.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/burning_steppes/burning_steppes.cpp b/src/bindings/scripts/scripts/zone/burning_steppes/burning_steppes.cpp index e61ce75c92c..2f5e4b98e81 100644 --- a/src/bindings/scripts/scripts/zone/burning_steppes/burning_steppes.cpp +++ b/src/bindings/scripts/scripts/zone/burning_steppes/burning_steppes.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_aeonus.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_aeonus.cpp index d2d5f53e37c..cf698736945 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_aeonus.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_aeonus.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp index 106a330ec5e..e99ba2284c3 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp index d55a4c61f98..ddb8ac093f3 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/dark_portal.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/dark_portal.cpp index 9c408475503..6da6dd631e7 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/dark_portal.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/dark_portal.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -157,7 +157,7 @@ struct TRINITY_DLL_DECL npc_medivh_bmAI : public ScriptedAI if (SpellCorrupt_Timer) { - if (SpellCorrupt_Timer < diff) + if (SpellCorrupt_Timer <= diff) { pInstance->SetData(TYPE_MEDIVH,SPECIAL); @@ -172,7 +172,7 @@ struct TRINITY_DLL_DECL npc_medivh_bmAI : public ScriptedAI if (Check_Timer) { - if (Check_Timer < diff) + if (Check_Timer <= diff) { uint32 pct = pInstance->GetData(DATA_SHIELD); diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/def_dark_portal.h b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/def_dark_portal.h index 4fa7c14c5ed..21d999cb554 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/def_dark_portal.h +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/def_dark_portal.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/instance_dark_portal.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/instance_dark_portal.cpp index 36740b0ed34..9be48dd8e53 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/instance_dark_portal.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/instance_dark_portal.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -302,11 +302,10 @@ struct TRINITY_DLL_DECL instance_dark_portal : public ScriptedInstance if (Unit *medivh = Unit::GetUnit(*player,MedivhGUID)) { - for(uint8 i = 0; i < 4; i++) - { - int tmp = rand()%4; - if (tmp != CurrentRiftId) - { + int tmp = rand()%(4-1); + + if (tmp >= CurrentRiftId) + tmp++; debug_log("SD2: Instance Dark Portal: Creating Time Rift at locationId %i (old locationId was %u).",tmp,CurrentRiftId); CurrentRiftId = tmp; @@ -334,9 +333,6 @@ struct TRINITY_DLL_DECL instance_dark_portal : public ScriptedInstance } } } - break; - } - } } } @@ -354,7 +350,7 @@ struct TRINITY_DLL_DECL instance_dark_portal : public ScriptedInstance if (NextPortal_Timer) { - if (NextPortal_Timer < diff) + if (NextPortal_Timer <= diff) { ++mRiftPortalCount; UpdateBMWorldState(WORLD_STATE_BM_RIFT,mRiftPortalCount); diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp index 295da36df23..d822a3a43e1 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/def_hyjal.h b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/def_hyjal.h index 164d26223b9..66245ce0845 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/def_hyjal.h +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/def_hyjal.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal.cpp index 11d74508537..5d033206dfa 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal.cpp @@ -1,4 +1,4 @@ - /* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> + /* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp index b4064b437a4..c605bc78540 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -149,7 +149,7 @@ void hyjalAI::EnterEvadeMode() void hyjalAI::Aggro(Unit *who) { - for(uint8 i = 0; i < 2; ++i) + for(uint8 i = 0; i < 3; ++i) if(Spell[i].Cooldown) SpellTimer[i] = Spell[i].Cooldown; diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.h b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.h index cd6341a0544..34895aedae2 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.h +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp index e3b1c5ea0ec..51fd3c5be2c 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp @@ -1,4 +1,4 @@ - /* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> + /* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -38,6 +38,9 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance { instance_mount_hyjal(Map *map) : ScriptedInstance(map) {Initialize();}; + uint32 Encounters[ENCOUNTERS]; + std::string str_data; + uint64 RageWinterchill; uint64 Anetheron; uint64 Kazrogal; @@ -48,7 +51,6 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance uint64 TyrandeWhisperwind; uint32 Trash; - uint32 Encounters[ENCOUNTERS]; void Initialize() { @@ -76,7 +78,7 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance void OnCreatureCreate(Creature *creature, uint32 creature_entry) { - switch(creature_entry) + switch(creature->GetEntry()) { case 17767: RageWinterchill = creature->GetGUID(); break; case 17808: Anetheron = creature->GetGUID(); break; @@ -127,7 +129,19 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance debug_log("SD2: Instance Hyjal: Instance data updated for event %u (Data=%u)",type,data); if(data == DONE) + { + OUT_SAVE_INST_DATA; + + std::ostringstream saveStream; + saveStream << Encounters[0] << " " << Encounters[1] << " " << Encounters[2] << " " + << Encounters[3] << " " << Encounters[4]; + + str_data = saveStream.str(); + SaveToDB(); + OUT_SAVE_INST_DATA_COMPLETE; + } + } uint32 GetData(uint32 type) @@ -160,19 +174,7 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance const char* Save() { - OUT_SAVE_INST_DATA; - std::ostringstream stream; - stream << Encounters[0] << " " << Encounters[1] << " " << Encounters[2] << " " - << Encounters[3] << " " << Encounters[4]; - char* out = new char[stream.str().length() + 1]; - strcpy(out, stream.str().c_str()); - if(out) - { - OUT_SAVE_INST_DATA_COMPLETE; - return out; - } - - return NULL; + return str_data.c_str(); } void Load(const char* in) @@ -184,8 +186,7 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance } OUT_LOAD_INST_DATA(in); - std::istringstream loadStream; - loadStream.str(in); + std::istringstream loadStream(in); loadStream >> Encounters[0] >> Encounters[1] >> Encounters[2] >> Encounters[3] >> Encounters[4]; for(uint8 i = 0; i < ENCOUNTERS; ++i) if(Encounters[i] == IN_PROGRESS) // Do not load an encounter as IN_PROGRESS - reset it instead. diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp index 2c6737a16ce..8c8a8e1eef0 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -57,9 +57,9 @@ struct TRINITY_DLL_DECL boss_captain_skarlocAI : public ScriptedAI void Reset() { - Holy_Light_Timer = 30000; + Holy_Light_Timer = 20000 + rand()%10000; Cleanse_Timer = 10000; - HammerOfJustice_Timer = 60000; + HammerOfJustice_Timer = 20000 + rand()%15000; HolyShield_Timer = 240000; DevotionAura_Timer = 3000; Consecration_Timer = 8000; @@ -127,14 +127,14 @@ struct TRINITY_DLL_DECL boss_captain_skarlocAI : public ScriptedAI if (DevotionAura_Timer < diff) { DoCast(m_creature, SPELL_DEVOTION_AURA); - DevotionAura_Timer = 60000; + DevotionAura_Timer = 45000 + rand()%10000; }else DevotionAura_Timer -= diff; //Consecration if (Consecration_Timer < diff) { //DoCast(m_creature->getVictim(), SPELL_CONSECRATION); - Consecration_Timer = 8000; + Consecration_Timer = 5000 + rand()%5000; }else Consecration_Timer -= diff; DoMeleeAttackIfReady(); diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp index 706b804da6c..b0ddea1e1bd 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -57,8 +57,8 @@ struct TRINITY_DLL_DECL boss_epoch_hunterAI : public ScriptedAI void Reset() { - SandBreath_Timer = 25000; - ImpendingDeath_Timer = 30000; + SandBreath_Timer = 8000 + rand()%8000; + ImpendingDeath_Timer = 25000 + rand()%5000; WingBuffet_Timer = 35000; Mda_Timer = 40000; } @@ -109,13 +109,13 @@ struct TRINITY_DLL_DECL boss_epoch_hunterAI : public ScriptedAI case 1: DoScriptText(SAY_BREATH2, m_creature); break; } - SandBreath_Timer = 25000+rand()%5000; + SandBreath_Timer = 10000 + rand()%10000; }else SandBreath_Timer -= diff; if (ImpendingDeath_Timer < diff) { DoCast(m_creature->getVictim(),SPELL_IMPENDING_DEATH); - ImpendingDeath_Timer = 30000+rand()%5000; + ImpendingDeath_Timer = 25000+rand()%5000; }else ImpendingDeath_Timer -= diff; if (WingBuffet_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp index 86214a50704..6a0214a7505 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -159,7 +159,7 @@ struct TRINITY_DLL_DECL boss_lieutenant_drakeAI : public ScriptedAI { DoScriptText(SAY_SHOUT, m_creature); DoCast(m_creature->getVictim(), SPELL_FRIGHTENING_SHOUT); - Fear_Timer = 30000+rand()%10000; + Fear_Timer = 25000+rand()%10000; }else Fear_Timer -= diff; //Mortal Strike @@ -167,7 +167,7 @@ struct TRINITY_DLL_DECL boss_lieutenant_drakeAI : public ScriptedAI { DoScriptText(SAY_MORTAL, m_creature); DoCast(m_creature->getVictim(), SPELL_MORTAL_STRIKE); - MortalStrike_Timer = 45000+rand()%5000; + MortalStrike_Timer = 20000+rand()%10000; }else MortalStrike_Timer -= diff; DoMeleeAttackIfReady(); diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/def_old_hillsbrad.h b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/def_old_hillsbrad.h index b8dbc693da5..91f4ee1e3bb 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/def_old_hillsbrad.h +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/def_old_hillsbrad.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/instance_old_hillsbrad.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/instance_old_hillsbrad.cpp index 02689a7aa11..92e0d0bc161 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/instance_old_hillsbrad.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/instance_old_hillsbrad.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -95,7 +95,7 @@ struct TRINITY_DLL_DECL instance_old_hillsbrad : public ScriptedInstance void OnCreatureCreate(Creature *creature, uint32 creature_entry) { - switch(creature_entry) + switch(creature->GetEntry()) { case THRALL_ENTRY: ThrallGUID = creature->GetGUID(); diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp index 11462385674..e69699d46f8 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp @@ -1,4 +1,4 @@ - /* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> + /* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -278,7 +278,6 @@ struct TRINITY_DLL_DECL npc_thrall_old_hillsbradAI : public npc_escortAI break; case 31: DoScriptText(SAY_TH_MOUNTS_UP, m_creature); - m_creature->HandleEmoteCommand(EMOTE_ONESHOT_TALK); DoMount(); break; case 37: @@ -347,11 +346,9 @@ struct TRINITY_DLL_DECL npc_thrall_old_hillsbradAI : public npc_escortAI break; case 96: DoScriptText(SAY_TH_EPOCH_WONDER, m_creature); - m_creature->HandleEmoteCommand(EMOTE_ONESHOT_TALK); break; case 97: DoScriptText(SAY_TH_EPOCH_KILL_TARETHA, m_creature); - m_creature->HandleEmoteCommand(EMOTE_ONESHOT_EXCLAMATION); m_creature->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); break; case 98: diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp index d8416e37a50..e20c3f3429c 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp index e9809b0a60f..f4c1979bb13 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp index eec977a7520..7631a2efe97 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp index 4827de39a7a..47e3a97621a 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp index 1489f128dbd..04a4d6d6316 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp index febabd896cd..71c1b8a388e 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h index 989ab4689e5..ddcde2ffed2 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp index 5b4085335c3..c0b14b639ae 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -142,7 +142,7 @@ struct TRINITY_DLL_DECL instance_serpentshrine_cavern : public ScriptedInstance void OnCreatureCreate(Creature *creature, uint32 creature_entry) { - switch(creature_entry) + switch(creature->GetEntry()) { case 21212: LadyVashj = creature->GetGUID(); break; case 21214: Karathress = creature->GetGUID(); break; diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp index 388a0704685..6f75a8fd96e 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp index 938cb732ee5..890c589555d 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp index 23985bdbdff..e38cfa26bc7 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/def_steam_vault.h b/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/def_steam_vault.h index 0f8ae80fe2c..48127523f21 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/def_steam_vault.h +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/def_steam_vault.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/instance_steam_vault.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/instance_steam_vault.cpp index 8771cf2abdd..57cddb74a56 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/instance_steam_vault.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/instance_steam_vault.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_hungarfen.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_hungarfen.cpp index ac04981d99b..cd54681e65b 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_hungarfen.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_hungarfen.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/darkshore/darkshore.cpp b/src/bindings/scripts/scripts/zone/darkshore/darkshore.cpp index 01a76b6d00c..449f772e0d6 100644 --- a/src/bindings/scripts/scripts/zone/darkshore/darkshore.cpp +++ b/src/bindings/scripts/scripts/zone/darkshore/darkshore.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/deadmines/deadmines.cpp b/src/bindings/scripts/scripts/zone/deadmines/deadmines.cpp index dfa3540857e..beb7c1800f0 100644 --- a/src/bindings/scripts/scripts/zone/deadmines/deadmines.cpp +++ b/src/bindings/scripts/scripts/zone/deadmines/deadmines.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/dun_morogh/dun_morogh.cpp b/src/bindings/scripts/scripts/zone/dun_morogh/dun_morogh.cpp index 634a05d3ebe..14d5170b35e 100644 --- a/src/bindings/scripts/scripts/zone/dun_morogh/dun_morogh.cpp +++ b/src/bindings/scripts/scripts/zone/dun_morogh/dun_morogh.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/dustwallow_marsh/dustwallow_marsh.cpp b/src/bindings/scripts/scripts/zone/dustwallow_marsh/dustwallow_marsh.cpp index 03a5e88165b..d247878d4ac 100644 --- a/src/bindings/scripts/scripts/zone/dustwallow_marsh/dustwallow_marsh.cpp +++ b/src/bindings/scripts/scripts/zone/dustwallow_marsh/dustwallow_marsh.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/eastern_plaguelands/eastern_plaguelands.cpp b/src/bindings/scripts/scripts/zone/eastern_plaguelands/eastern_plaguelands.cpp index f0b073f5aa0..2e1fc4082f2 100644 --- a/src/bindings/scripts/scripts/zone/eastern_plaguelands/eastern_plaguelands.cpp +++ b/src/bindings/scripts/scripts/zone/eastern_plaguelands/eastern_plaguelands.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/elwynn_forest/elwynn_forest.cpp b/src/bindings/scripts/scripts/zone/elwynn_forest/elwynn_forest.cpp index 4e18572260f..fa14ab3ac20 100644 --- a/src/bindings/scripts/scripts/zone/elwynn_forest/elwynn_forest.cpp +++ b/src/bindings/scripts/scripts/zone/elwynn_forest/elwynn_forest.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/eversong_woods/eversong_woods.cpp b/src/bindings/scripts/scripts/zone/eversong_woods/eversong_woods.cpp index a0f0c57fdf9..8cd8d4c76ff 100644 --- a/src/bindings/scripts/scripts/zone/eversong_woods/eversong_woods.cpp +++ b/src/bindings/scripts/scripts/zone/eversong_woods/eversong_woods.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/felwood/felwood.cpp b/src/bindings/scripts/scripts/zone/felwood/felwood.cpp index 4aa752add77..ca27106e20e 100644 --- a/src/bindings/scripts/scripts/zone/felwood/felwood.cpp +++ b/src/bindings/scripts/scripts/zone/felwood/felwood.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/feralas/feralas.cpp b/src/bindings/scripts/scripts/zone/feralas/feralas.cpp index 0abd9fdf34f..666b08934a2 100644 --- a/src/bindings/scripts/scripts/zone/feralas/feralas.cpp +++ b/src/bindings/scripts/scripts/zone/feralas/feralas.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/ghostlands/ghostlands.cpp b/src/bindings/scripts/scripts/zone/ghostlands/ghostlands.cpp index c61a9318bdb..7a518bb8a23 100644 --- a/src/bindings/scripts/scripts/zone/ghostlands/ghostlands.cpp +++ b/src/bindings/scripts/scripts/zone/ghostlands/ghostlands.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/gruuls_lair/boss_gruul.cpp b/src/bindings/scripts/scripts/zone/gruuls_lair/boss_gruul.cpp index 3588552fb46..6af7883fa94 100644 --- a/src/bindings/scripts/scripts/zone/gruuls_lair/boss_gruul.cpp +++ b/src/bindings/scripts/scripts/zone/gruuls_lair/boss_gruul.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -6,12 +6,12 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* ScriptData @@ -24,7 +24,6 @@ EndScriptData */ #include "precompiled.h" #include "def_gruuls_lair.h" -/* Yells & Quotes */ #define SAY_AGGRO -1565010 #define SAY_SLAM1 -1565011 #define SAY_SLAM2 -1565012 @@ -36,17 +35,18 @@ EndScriptData */ #define SAY_DEATH -1565018 #define EMOTE_GROW -1565019 -/* Spells */ -#define SPELL_GROWTH 36300 -#define SPELL_CAVE_IN 36240 -#define SPELL_GROUND_SLAM 33525 // AoE Ground Slam applying Ground Slam to everyone with a script effect (most likely the knock back, we can code it to a set knockback) -#define SPELL_REVERBERATION 36297 //AoE Silence -#define SPELL_SHATTER 33654 -#define SPELL_MAGNETIC_PULL 28337 -#define SPELL_KNOCK_BACK 24199 //Knockback spell until correct implementation is made +#define SPELL_GROWTH 36300 +#define SPELL_CAVE_IN 36240 +#define SPELL_GROUND_SLAM 33525 //AoE Ground Slam applying Ground Slam to everyone with a script effect (most likely the knock back, we can code it to a set knockback) +#define SPELL_REVERBERATION 36297 //AoE Silence +#define SPELL_SHATTER 33654 + #define SPELL_SHATTER_EFFECT 33671 #define SPELL_HURTFUL_STRIKE 33813 #define SPELL_STONED 33652 //Spell is self cast +#define SPELL_MAGNETIC_PULL 28337 +#define SPELL_KNOCK_BACK 24199 //Knockback spell until correct implementation is made + #define SPELL_GRONN_LORDS_GRASP 33572 //Triggered by Ground Slam struct TRINITY_DLL_DECL boss_gruulAI : public ScriptedAI @@ -61,6 +61,7 @@ struct TRINITY_DLL_DECL boss_gruulAI : public ScriptedAI uint32 Growth_Timer; uint32 CaveIn_Timer; + uint32 CaveIn_StaticTimer; uint32 GroundSlamTimer; uint32 GroundSlamStage; uint32 PerformingGroundSlam; @@ -70,62 +71,60 @@ struct TRINITY_DLL_DECL boss_gruulAI : public ScriptedAI void Reset() { Growth_Timer= 30000; - CaveIn_Timer= 40000; + CaveIn_Timer= 27000; + CaveIn_StaticTimer = 30000; GroundSlamTimer= 35000; GroundSlamStage= 0; PerformingGroundSlam= false; HurtfulStrike_Timer= 8000; Reverberation_Timer= 60000+45000; - if(pInstance) + if (pInstance) { pInstance->SetData(DATA_GRUULEVENT, NOT_STARTED); + GameObject* EncounterDoor = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GRUULDOOR)); + if (EncounterDoor) + EncounterDoor->SetGoState(0); // Open the encounter door + }else error_log(ERROR_INST_DATA); - GameObject* Door = NULL; - Door = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GRUULDOOR)); - if(Door) - Door->SetGoState(0); - } - } - - void JustDied(Unit* Killer) - { - DoScriptText(SAY_DEATH, m_creature); - - if(pInstance) - { - pInstance->SetData(DATA_GRUULEVENT, DONE); - - GameObject* Door = NULL; - Door = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GRUULDOOR)); - if(Door) - Door->SetGoState(0); - } + m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true); + m_creature->ApplySpellImmune(0, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true); } void Aggro(Unit *who) { DoScriptText(SAY_AGGRO, m_creature); - DoZoneInCombat(); - if(pInstance) - { + if (pInstance) + { pInstance->SetData(DATA_GRUULEVENT, IN_PROGRESS); - - GameObject* Door = NULL; - Door = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GRUULDOOR)); - if(Door) - Door->SetGoState(1); - } + GameObject* EncounterDoor = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_GRUULDOOR)); + if (EncounterDoor) + EncounterDoor->SetGoState(1); //Close the encounter door, open it in JustDied/Reset + } } void KilledUnit() { switch(rand()%3) { - case 0: DoScriptText(SAY_SLAY1, m_creature); break; - case 1: DoScriptText(SAY_SLAY2, m_creature); break; - case 2: DoScriptText(SAY_SLAY3, m_creature); break; + case 0: DoScriptText(SAY_SLAY1, m_creature); break; + case 1: DoScriptText(SAY_SLAY2, m_creature); break; + case 2: DoScriptText(SAY_SLAY3, m_creature); break; + } + } + + void JustDied(Unit* Killer) + { + DoScriptText(SAY_DEATH, m_creature); + + if(pInstance) + { + pInstance->SetData(DATA_GRUULEVENT, DONE); + + GameObject* EncounterDoor = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GRUULDOOR)); + if (EncounterDoor) + EncounterDoor->SetGoState(0); // Open the encounter door } } @@ -139,14 +138,14 @@ struct TRINITY_DLL_DECL boss_gruulAI : public ScriptedAI // Gruul can cast this spell up to 30 times if (Growth_Timer < diff) { - DoCast(m_creature,SPELL_GROWTH); DoScriptText(EMOTE_GROW, m_creature); + DoCast(m_creature,SPELL_GROWTH); Growth_Timer = 30000; }else Growth_Timer -= diff; - if(PerformingGroundSlam) + if (PerformingGroundSlam) { - if(GroundSlamTimer < diff) + if (GroundSlamTimer < diff) { switch(GroundSlamStage) { @@ -162,7 +161,7 @@ struct TRINITY_DLL_DECL boss_gruulAI : public ScriptedAI { Unit *target = Unit::GetUnit(*m_creature, (*itr)->getUnitGuid()); - if(target && target->GetTypeId() == TYPEID_PLAYER) + if (target && target->GetTypeId() == TYPEID_PLAYER) knockback_targets.push_back(target); } @@ -172,7 +171,7 @@ struct TRINITY_DLL_DECL boss_gruulAI : public ScriptedAI Unit *target = *itr; Unit *target2 = *(knockback_targets.begin() + rand()%knockback_targets.size()); - if(target && target2) + if (target && target2) { switch(rand()%2) { @@ -183,7 +182,7 @@ struct TRINITY_DLL_DECL boss_gruulAI : public ScriptedAI } GroundSlamTimer = 7000; - break; + break; } case 1: @@ -203,18 +202,15 @@ struct TRINITY_DLL_DECL boss_gruulAI : public ScriptedAI } GroundSlamTimer = 5000; - - break; + break; } case 2: { //The dummy shatter spell is cast DoCast(m_creature, SPELL_SHATTER); - GroundSlamTimer = 1000; - - break; + break; } case 3: @@ -239,20 +235,20 @@ struct TRINITY_DLL_DECL boss_gruulAI : public ScriptedAI m_creature->GetMotionMaster()->Clear(); Unit *victim = m_creature->getVictim(); - if(victim) + if (victim) { m_creature->GetMotionMaster()->MoveChase(victim); m_creature->SetUInt64Value(UNIT_FIELD_TARGET, victim->GetGUID()); } PerformingGroundSlam = false; - GroundSlamTimer =120000; HurtfulStrike_Timer= 8000; - if(Reverberation_Timer < 10000) //Give a little time to the players to undo the damage from shatter + + if (Reverberation_Timer < 10000) //Give a little time to the players to undo the damage from shatter Reverberation_Timer += 10000; - break; + break; } } @@ -281,7 +277,7 @@ struct TRINITY_DLL_DECL boss_gruulAI : public ScriptedAI if (Reverberation_Timer < diff) { DoCast(m_creature->getVictim(), SPELL_REVERBERATION, true); - Reverberation_Timer = 30000; + Reverberation_Timer = 15000 + rand()%10000; }else Reverberation_Timer -= diff; // Cave In @@ -290,7 +286,11 @@ struct TRINITY_DLL_DECL boss_gruulAI : public ScriptedAI if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0)) DoCast(target,SPELL_CAVE_IN); - CaveIn_Timer = 20000; + if(CaveIn_StaticTimer >= 4000) + CaveIn_StaticTimer -= 2000; + + CaveIn_Timer = CaveIn_StaticTimer; + }else CaveIn_Timer -= diff; // Ground Slam, Gronn Lord's Grasp, Stoned, Shatter diff --git a/src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp b/src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp index 63f9becac3f..461c2a941a0 100644 --- a/src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp +++ b/src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -448,7 +448,7 @@ struct TRINITY_DLL_DECL boss_kiggler_the_crazedAI : public ScriptedAI if(target) DoCast(target, SPELL_GREATER_POLYMORPH); - GreaterPolymorph_Timer = 20000; + GreaterPolymorph_Timer = 15000 + rand()%5000; }else GreaterPolymorph_Timer -= diff; //LightningBolt_Timer @@ -487,13 +487,15 @@ struct TRINITY_DLL_DECL boss_blindeye_the_seerAI : public ScriptedAI uint32 GreaterPowerWordShield_Timer; uint32 Heal_Timer; + uint32 PrayerofHealing_Timer; ScriptedInstance* pInstance; void Reset() { GreaterPowerWordShield_Timer = 5000; - Heal_Timer = 30000; + Heal_Timer = 25000 + rand()%15000; + PrayerofHealing_Timer = 45000 + rand()%10000; //reset encounter if (pInstance) @@ -556,9 +558,16 @@ struct TRINITY_DLL_DECL boss_blindeye_the_seerAI : public ScriptedAI if(Heal_Timer < diff) { DoCast(m_creature, SPELL_HEAL); - Heal_Timer = 60000; + Heal_Timer = 15000 + rand()%25000; }else Heal_Timer -= diff; + //PrayerofHealing_Timer + if (PrayerofHealing_Timer < diff) + { + DoCast(m_creature, SPELL_PRAYER_OH); + PrayerofHealing_Timer = 35000 + rand()%15000; + }else PrayerofHealing_Timer -= diff; + DoMeleeAttackIfReady(); } }; diff --git a/src/bindings/scripts/scripts/zone/gruuls_lair/def_gruuls_lair.h b/src/bindings/scripts/scripts/zone/gruuls_lair/def_gruuls_lair.h index 320d03c7c8e..b0da8cc8f90 100644 --- a/src/bindings/scripts/scripts/zone/gruuls_lair/def_gruuls_lair.h +++ b/src/bindings/scripts/scripts/zone/gruuls_lair/def_gruuls_lair.h @@ -1,18 +1,20 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ #ifndef DEF_GRUULS_LAIR_H #define DEF_GRUULS_LAIR_H -#define DATA_BLINDEYETHESEER 1 -#define DATA_GRUULEVENT 2 -#define DATA_KIGGLERTHECRAZED 3 -#define DATA_KROSHFIREHAND 4 -#define DATA_MAULGAREVENT 5 -#define DATA_MAULGAREVENT_TANK 6 -#define DATA_OLMTHESUMMONER 7 -#define DATA_MAULGARDOOR 8 -#define DATA_GRUULDOOR 9 -#define DATA_MAULGAR 10 +#define DATA_BLINDEYETHESEER 1 +#define DATA_GRUULEVENT 2 +#define DATA_KIGGLERTHECRAZED 3 +#define DATA_KROSHFIREHAND 4 +#define DATA_MAULGAREVENT 5 +#define DATA_MAULGAREVENT_TANK 6 +#define DATA_OLMTHESUMMONER 7 +#define DATA_MAULGARDOOR 8 +#define DATA_GRUULDOOR 9 +#define DATA_MAULGAR 10 + +#define ERROR_INST_DATA "TSCR Error: Instance Data not set properly for Gruul's Lair instance (map 565). Encounters will be buggy." #endif diff --git a/src/bindings/scripts/scripts/zone/gruuls_lair/instance_gruuls_lair.cpp b/src/bindings/scripts/scripts/zone/gruuls_lair/instance_gruuls_lair.cpp index 296a26127e7..c9fcd11b3e1 100644 --- a/src/bindings/scripts/scripts/zone/gruuls_lair/instance_gruuls_lair.cpp +++ b/src/bindings/scripts/scripts/zone/gruuls_lair/instance_gruuls_lair.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -74,7 +74,7 @@ struct TRINITY_DLL_DECL instance_gruuls_lair : public ScriptedInstance void OnCreatureCreate(Creature *creature, uint32 creature_entry) { - switch(creature_entry) + switch(creature->GetEntry()) { case 18835: KigglerTheCrazed = creature->GetGUID(); break; case 18836: BlindeyeTheSeer = creature->GetGUID(); break; diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_broggok.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_broggok.cpp index 42016771df0..c7bec8c1cc8 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_broggok.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_broggok.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp index ed94765333f..4c05abbd108 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_the_maker.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_the_maker.cpp index 09efb66bd1f..7e343f9085c 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_the_maker.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_the_maker.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp index 6b4fd99295b..c640624d88e 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp index 5608839ad3e..f80ca1c627d 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/def_magtheridons_lair.h b/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/def_magtheridons_lair.h index 8c235a36a30..d6cc6708288 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/def_magtheridons_lair.h +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/def_magtheridons_lair.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp index 20c64e0504b..4ec80e7d346 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp index d9ab3992373..05c6b0a51e0 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -184,10 +184,11 @@ struct TRINITY_DLL_DECL boss_grand_warlock_nethekurseAI : public ScriptedAI void MoveInLineOfSight(Unit *who) { - if (!m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessiblePlaceFor(m_creature) ) - { - if (!IntroOnce && m_creature->IsWithinDistInMap(who, 75)) + if (!IntroOnce && m_creature->IsWithinDistInMap(who, 50.0f)) { + if (who->GetTypeId() != TYPEID_PLAYER) + return; + DoScriptText(SAY_INTRO, m_creature); IntroOnce = true; IsIntroEvent = true; @@ -196,19 +197,10 @@ struct TRINITY_DLL_DECL boss_grand_warlock_nethekurseAI : public ScriptedAI pInstance->SetData(TYPE_NETHEKURSE,IN_PROGRESS); } - if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE ) - return; - if (IsIntroEvent || !IsMainEvent) return; - float attackRadius = m_creature->GetAttackDistance(who); - if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->IsWithinLOSInMap(who) ) - { - //who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); - AttackStart(who); - } - } + ScriptedAI::MoveInLineOfSight(who); } void Aggro(Unit *who) @@ -342,20 +334,24 @@ struct TRINITY_DLL_DECL mob_fel_orc_convertAI : public ScriptedAI if (pInstance->GetData64(DATA_NETHEKURSE)) { Creature *pKurse = (Creature*)Unit::GetUnit(*m_creature,pInstance->GetData64(DATA_NETHEKURSE)); - if (pKurse) + if (pKurse && m_creature->GetDistance(pKurse) < 45.0f) + { ((boss_grand_warlock_nethekurseAI*)pKurse->AI())->DoYellForPeonAggro(); - } - if (pInstance->GetData(TYPE_NETHEKURSE) == IN_PROGRESS ) - return; - else pInstance->SetData(TYPE_NETHEKURSE,IN_PROGRESS); - } + if (pInstance->GetData(TYPE_NETHEKURSE) == IN_PROGRESS ) + return; + else pInstance->SetData(TYPE_NETHEKURSE,IN_PROGRESS); + } + } + } } void JustDied(Unit* Killer) { if (pInstance) { + if (pInstance->GetData(TYPE_NETHEKURSE) != IN_PROGRESS) + return; if (pInstance->GetData64(DATA_NETHEKURSE)) { Creature *pKurse = (Creature*)Unit::GetUnit(*m_creature,pInstance->GetData64(DATA_NETHEKURSE)); diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp index cf02f04e35e..c8a42cb53aa 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -157,8 +157,6 @@ struct TRINITY_DLL_DECL boss_warbringer_omroggAI : public ScriptedAI void Reset() { - m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true); - m_creature->ApplySpellImmune(0, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true); LeftHead = 0; RightHead = 0; @@ -176,6 +174,9 @@ struct TRINITY_DLL_DECL boss_warbringer_omroggAI : public ScriptedAI ThunderClap_Timer = 15000; ResetThreat_Timer = 30000; + m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true); + m_creature->ApplySpellImmune(1, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true); + if (pInstance) pInstance->SetData(TYPE_OMROGG, NOT_STARTED); //End boss can use this later. O'mrogg must be defeated(DONE) or he will come to aid. } @@ -203,8 +204,8 @@ struct TRINITY_DLL_DECL boss_warbringer_omroggAI : public ScriptedAI void Aggro(Unit *who) { - DoSpawnCreature(ENTRY_LEFT_HEAD,0,0,0,0,TEMPSUMMON_TIMED_DESPAWN,1800000); - DoSpawnCreature(ENTRY_RIGHT_HEAD,0,0,0,0,TEMPSUMMON_TIMED_DESPAWN,1800000); + DoSpawnCreature(ENTRY_LEFT_HEAD,0,0,0,0,TEMPSUMMON_TIMED_DESPAWN,90000); + DoSpawnCreature(ENTRY_RIGHT_HEAD,0,0,0,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,90000); if (Unit *Left = Unit::GetUnit(*m_creature,LeftHead)) { @@ -358,19 +359,19 @@ struct TRINITY_DLL_DECL boss_warbringer_omroggAI : public ScriptedAI DoResetThreat(); m_creature->AddThreat(target, 0.0f); } - ResetThreat_Timer = 35000+rand()%10000; + ResetThreat_Timer = 25000+rand()%15000; }else ResetThreat_Timer -= diff; if (Fear_Timer < diff) { DoCast(m_creature,SPELL_FEAR); - Fear_Timer = 15000+rand()%25000; + Fear_Timer = 15000+rand()%20000; }else Fear_Timer -= diff; if (ThunderClap_Timer < diff) { DoCast(m_creature,SPELL_THUNDERCLAP); - ThunderClap_Timer = 25000+rand()%15000; + ThunderClap_Timer = 15000+rand()%15000; }else ThunderClap_Timer -= diff; DoMeleeAttackIfReady(); diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp index 60df1f14b52..5bd58a53f0c 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp @@ -1,6 +1,39 @@ -/* Copyright (C) 2008 - 2009 BroodWyrm */ +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* ScriptData +SDName: Boss_Warchief_Kargath_Bladefist +SD%Complete: 90 +SDComment: +SDCategory: Hellfire Citadel, Shattered Halls +EndScriptData */ + +/* ContentData +boss_warchief_kargath_bladefist +EndContentData */ + #include "precompiled.h" +#define SAY_AGGRO1 -1540042 +#define SAY_AGGRO2 -1540043 +#define SAY_AGGRO3 -1540044 +#define SAY_SLAY1 -1540045 +#define SAY_SLAY2 -1540046 +#define SAY_DEATH -1540047 + #define SPELL_BLADE_DANCE 30739 #define H_SPELL_CHARGE 25821 @@ -11,23 +44,10 @@ #define MOB_SHARPSHOOTER_GUARD 17622 #define MOB_REAVER_GUARD 17623 -float AssassEntrance[3] = {275.136,-84.29,2.3}; // y +-8 -float AssassExit[3] = {184.233,-84.29,2.3}; // y +-8 +float AssassEntrance[3] = {275.136,-84.29,2.3}; // y -8 +float AssassExit[3] = {184.233,-84.29,2.3}; // y -8 float AddsEntrance[3] = {306.036,-84.29,1.93}; -#define SOUND_AGGRO1 10323 -#define SAY_AGGRO1 "Ours is the true Horde! The only Horde!" -#define SOUND_AGGRO2 10324 -#define SAY_AGGRO2 "I'll carve the meat from your bones!" -#define SOUND_AGGRO3 10325 -#define SAY_AGGRO3 "I am called Bladefist for a reason, as you will see!" -#define SOUND_SLAY1 10326 -#define SAY_SLAY1 "For the real Horde!" -#define SOUND_SLAY2 10327 -#define SAY_SLAY2 "I am the only Warchief!" -#define SOUND_DEATH 10328 -#define SAY_DEATH "The true Horde... will.. prevail.." - struct TRINITY_DLL_DECL boss_warchief_kargath_bladefistAI : public ScriptedAI { boss_warchief_kargath_bladefistAI(Creature *c) : ScriptedAI(c) @@ -51,11 +71,11 @@ struct TRINITY_DLL_DECL boss_warchief_kargath_bladefistAI : public ScriptedAI uint32 Assassins_Timer; - uint32 summoned; + uint32 summoned; bool InBlade; uint32 target_num; - + void Reset() { removeAdds(); @@ -68,8 +88,8 @@ struct TRINITY_DLL_DECL boss_warchief_kargath_bladefistAI : public ScriptedAI Wait_Timer = 0; Charge_timer = 0; - Blade_Dance_Timer = 30000; - Summon_Assistant_Timer = 15000; + Blade_Dance_Timer = 45000; + Summon_Assistant_Timer = 30000; Assassins_Timer = 5000; resetcheck_timer = 5000; } @@ -78,18 +98,9 @@ struct TRINITY_DLL_DECL boss_warchief_kargath_bladefistAI : public ScriptedAI { switch (rand()%3) { - case 0: - DoPlaySoundToSet(m_creature,SOUND_AGGRO1); - DoYell(SAY_AGGRO1,LANG_UNIVERSAL,NULL); - break; - case 1: - DoPlaySoundToSet(m_creature,SOUND_AGGRO2); - DoYell(SAY_AGGRO2,LANG_UNIVERSAL,NULL); - break; - case 2: - DoPlaySoundToSet(m_creature,SOUND_AGGRO3); - DoYell(SAY_AGGRO3,LANG_UNIVERSAL,NULL); - break; + case 0:DoScriptText(SAY_AGGRO1, m_creature);break; + case 1:DoScriptText(SAY_AGGRO2, m_creature);break; + case 2:DoScriptText(SAY_AGGRO3, m_creature);break; } } @@ -115,22 +126,15 @@ struct TRINITY_DLL_DECL boss_warchief_kargath_bladefistAI : public ScriptedAI { switch(rand()%2) { - case 0: - DoPlaySoundToSet(m_creature, SOUND_SLAY1); - DoYell(SAY_SLAY1,LANG_UNIVERSAL,NULL); - break; - case 1: - DoPlaySoundToSet(m_creature, SOUND_SLAY2); - DoYell(SAY_SLAY2,LANG_UNIVERSAL,NULL); - break; + case 0: DoScriptText(SAY_SLAY1, m_creature); break; + case 1: DoScriptText(SAY_SLAY2, m_creature); break; } } } void JustDied(Unit* Killer) { - DoPlaySoundToSet(m_creature, SOUND_DEATH); - DoYell(SAY_DEATH,LANG_UNIVERSAL,NULL); + DoScriptText(SAY_DEATH, m_creature); removeAdds(); } @@ -143,7 +147,7 @@ struct TRINITY_DLL_DECL boss_warchief_kargath_bladefistAI : public ScriptedAI if(id != 1) return; - + if(target_num > 0) // to prevent loops { Wait_Timer = 1; @@ -159,8 +163,8 @@ struct TRINITY_DLL_DECL boss_warchief_kargath_bladefistAI : public ScriptedAI { Unit* temp = Unit::GetUnit((*m_creature),*itr); if(temp && temp->isAlive()) - { - (*temp).GetMotionMaster()->Clear(true); + { + (*temp).GetMotionMaster()->Clear(true); m_creature->DealDamage(temp,temp->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); ((Creature*)temp)->RemoveCorpse(); } @@ -181,15 +185,16 @@ struct TRINITY_DLL_DECL boss_warchief_kargath_bladefistAI : public ScriptedAI } void SpawnAssassin() { - m_creature->SummonCreature(MOB_SHATTERED_ASSASSIN,AssassEntrance[0],AssassEntrance[1]+8, AssassEntrance[2], 0,TEMPSUMMON_CORPSE_TIMED_DESPAWN,10000); - m_creature->SummonCreature(MOB_SHATTERED_ASSASSIN,AssassEntrance[0],AssassEntrance[1]-8, AssassEntrance[2], 0,TEMPSUMMON_CORPSE_TIMED_DESPAWN,10000); - m_creature->SummonCreature(MOB_SHATTERED_ASSASSIN,AssassExit[0],AssassExit[1]+8, AssassExit[2], 0,TEMPSUMMON_CORPSE_TIMED_DESPAWN,10000); - m_creature->SummonCreature(MOB_SHATTERED_ASSASSIN,AssassExit[0],AssassExit[1]-8, AssassExit[2], 0,TEMPSUMMON_CORPSE_TIMED_DESPAWN,10000); + m_creature->SummonCreature(MOB_SHATTERED_ASSASSIN,AssassEntrance[0],AssassEntrance[1]+8, AssassEntrance[2], 0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,30000); + m_creature->SummonCreature(MOB_SHATTERED_ASSASSIN,AssassEntrance[0],AssassEntrance[1]-8, AssassEntrance[2], 0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,30000); + m_creature->SummonCreature(MOB_SHATTERED_ASSASSIN,AssassExit[0],AssassExit[1]+8, AssassExit[2], 0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,30000); + m_creature->SummonCreature(MOB_SHATTERED_ASSASSIN,AssassExit[0],AssassExit[1]-8, AssassExit[2], 0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,30000); } void UpdateAI(const uint32 diff) { - if (!UpdateVictim() ) + //Return since we have no target + if (!UpdateVictim()) return; if(Assassins_Timer) @@ -251,48 +256,48 @@ struct TRINITY_DLL_DECL boss_warchief_kargath_bladefistAI : public ScriptedAI if (Summon_Assistant_Timer < diff) { Unit* target = NULL; - Creature* Summoned; + Creature* Assistance; for(int i = 0; i < summoned; i++) { switch(rand()%3) { - case 0: Summoned = m_creature->SummonCreature(MOB_HEARTHEN_GUARD,AddsEntrance[0],AddsEntrance[1], AddsEntrance[2], 0,TEMPSUMMON_CORPSE_TIMED_DESPAWN,10000); break; - case 1: Summoned = m_creature->SummonCreature(MOB_SHARPSHOOTER_GUARD,AddsEntrance[0],AddsEntrance[1], AddsEntrance[2], 0,TEMPSUMMON_CORPSE_TIMED_DESPAWN,10000); break; - case 2: Summoned = m_creature->SummonCreature(MOB_REAVER_GUARD,AddsEntrance[0],AddsEntrance[1], AddsEntrance[2], 0,TEMPSUMMON_CORPSE_TIMED_DESPAWN,10000); break; + case 0: Assistance = m_creature->SummonCreature(MOB_HEARTHEN_GUARD,AddsEntrance[0],AddsEntrance[1], AddsEntrance[2], 0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,30000); break; + case 1: Assistance = m_creature->SummonCreature(MOB_SHARPSHOOTER_GUARD,AddsEntrance[0],AddsEntrance[1], AddsEntrance[2], 0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,30000); break; + case 2: Assistance = m_creature->SummonCreature(MOB_REAVER_GUARD,AddsEntrance[0],AddsEntrance[1], AddsEntrance[2], 0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,30000); break; } } if(rand()%100 < 20) summoned++; - Summon_Assistant_Timer = 15000 + (rand()%5000) ; + Summon_Assistant_Timer = 25000 + (rand()%10000) ; }else Summon_Assistant_Timer -= diff; DoMeleeAttackIfReady(); } - if(resetcheck_timer < diff) + if (resetcheck_timer < diff) { uint32 tempx,tempy; - tempx = m_creature->GetPositionX(); - tempy = m_creature->GetPositionY(); - if ( tempx > 255 || tempx < 205) + tempx = uint32(m_creature->GetPositionX()); + tempy = uint32(m_creature->GetPositionY()); + if (tempx > 255 || tempx < 205) { - EnterEvadeMode(); + EnterEvadeMode(); } resetcheck_timer = 5000; - }else resetcheck_timer -= diff; + }else resetcheck_timer -= diff; } }; - + CreatureAI* GetAI_boss_warchief_kargath_bladefist(Creature *_Creature) { return new boss_warchief_kargath_bladefistAI (_Creature); -} - +} + void AddSC_boss_warchief_kargath_bladefist() { Script *newscript; newscript = new Script; newscript->Name="boss_warchief_kargath_bladefist"; - newscript->GetAI = &GetAI_boss_warchief_kargath_bladefist; + newscript->GetAI = GetAI_boss_warchief_kargath_bladefist; newscript->RegisterSelf(); } diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/def_shattered_halls.h b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/def_shattered_halls.h index 602564d32f0..7a9bb23454b 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/def_shattered_halls.h +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/def_shattered_halls.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/instance_shattered_halls.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/instance_shattered_halls.cpp index 52d9d615b59..467600bc827 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/instance_shattered_halls.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/instance_shattered_halls.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/hellfire_peninsula/boss_doomlord_kazzak.cpp b/src/bindings/scripts/scripts/zone/hellfire_peninsula/boss_doomlord_kazzak.cpp index 05770d534f2..67ec8a642ae 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_peninsula/boss_doomlord_kazzak.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_peninsula/boss_doomlord_kazzak.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/hellfire_peninsula/hellfire_peninsula.cpp b/src/bindings/scripts/scripts/zone/hellfire_peninsula/hellfire_peninsula.cpp index 1a96f0be0c2..9f71fab3e46 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_peninsula/hellfire_peninsula.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_peninsula/hellfire_peninsula.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -293,8 +293,6 @@ struct TRINITY_DLL_DECL npc_wounded_blood_elfAI : public npc_escortAI break; case 13: DoScriptText(SAY_ELF_RESTING, m_creature, player); - // make the NPC kneel - m_creature->HandleEmoteCommand(EMOTE_ONESHOT_KNEEL); break; case 14: DoScriptText(SAY_ELF_SUMMON2, m_creature, player); diff --git a/src/bindings/scripts/scripts/zone/ironforge/ironforge.cpp b/src/bindings/scripts/scripts/zone/ironforge/ironforge.cpp index 701f208f2a3..7e367dd9960 100644 --- a/src/bindings/scripts/scripts/zone/ironforge/ironforge.cpp +++ b/src/bindings/scripts/scripts/zone/ironforge/ironforge.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/isle_of_queldanas/isle_of_queldanas.cpp b/src/bindings/scripts/scripts/zone/isle_of_queldanas/isle_of_queldanas.cpp index 4e61ad68780..0b9131883ab 100644 --- a/src/bindings/scripts/scripts/zone/isle_of_queldanas/isle_of_queldanas.cpp +++ b/src/bindings/scripts/scripts/zone/isle_of_queldanas/isle_of_queldanas.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_curator.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_curator.cpp index eada90f9473..95f1cf56155 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_curator.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/boss_curator.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -113,6 +113,8 @@ struct TRINITY_DLL_DECL boss_curatorAI : public ScriptedAI { AstralFlare->CastSpell(AstralFlare, SPELL_ASTRAL_FLARE_PASSIVE, false); AstralFlare->AI()->AttackStart(target); + AstralFlare->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true); + AstralFlare->ApplySpellImmune(0, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true); } //Reduce Mana by 10% @@ -132,10 +134,11 @@ struct TRINITY_DLL_DECL boss_curatorAI : public ScriptedAI target = SelectUnit(SELECT_TARGET_TOPAGGRO, 1); DoCast(target, SPELL_HATEFUL_BOLT); - HatefulBoltTimer = 15000; + if (!Enraged) { HatefulBoltTimer = 15000; } + if (Enraged) { HatefulBoltTimer = 7000; } }else HatefulBoltTimer -= diff; - if (m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 15) + if (m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 16) { Enraged = true; DoCast(m_creature, SPELL_ENRAGE); diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_maiden_of_virtue.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_maiden_of_virtue.cpp index b04b39c0796..f1c55f91629 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_maiden_of_virtue.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/boss_maiden_of_virtue.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -51,9 +51,9 @@ struct TRINITY_DLL_DECL boss_maiden_of_virtueAI : public ScriptedAI void Reset() { - Repentance_Timer = 30000+(rand()%15000); + Repentance_Timer = 25000+(rand()%15000); Holyfire_Timer = 8000+(rand()%17000); - Holywrath_Timer = 20000+(rand()%10000); + Holywrath_Timer = 15000+(rand()%10000); Holyground_Timer = 3000; Enrage_Timer = 600000; @@ -112,7 +112,7 @@ struct TRINITY_DLL_DECL boss_maiden_of_virtueAI : public ScriptedAI case 0: DoScriptText(SAY_REPENTANCE1, m_creature);break; case 1: DoScriptText(SAY_REPENTANCE2, m_creature);break; } - Repentance_Timer = 30000 + rand()%15000; //A little randomness on that spell + Repentance_Timer = 25000 + rand()%10000; //A little randomness on that spell }else Repentance_Timer -= diff; if (Holyfire_Timer < diff) @@ -120,7 +120,7 @@ struct TRINITY_DLL_DECL boss_maiden_of_virtueAI : public ScriptedAI if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0)) DoCast(target,SPELL_HOLYFIRE); - Holyfire_Timer = 8000 + rand()%17000; //Anywhere from 8 to 25 seconds, good luck having several of those in a row! + Holyfire_Timer = 8000 + rand()%15000; //Anywhere from 8 to 23 seconds, good luck having several of those in a row! }else Holyfire_Timer -= diff; if (Holywrath_Timer < diff) @@ -128,7 +128,7 @@ struct TRINITY_DLL_DECL boss_maiden_of_virtueAI : public ScriptedAI if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0)) DoCast(target,SPELL_HOLYWRATH); - Holywrath_Timer = 20000+(rand()%10000); //20-30 secs sounds nice + Holywrath_Timer = 20000+(rand()%5000); //20-30 secs sounds nice }else Holywrath_Timer -= diff; diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_midnight.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_midnight.cpp index 2324385e4ba..d9519357f17 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_midnight.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/boss_midnight.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -186,6 +186,9 @@ struct TRINITY_DLL_DECL boss_attumenAI : public ScriptedAI void Reset() { ResetTimer = 2000; + + m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true); + m_creature->ApplySpellImmune(0, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true); } void Aggro(Unit* who) {} @@ -284,6 +287,7 @@ struct TRINITY_DLL_DECL boss_attumenAI : public ScriptedAI { ((boss_midnightAI*)(pMidnight->AI()))->Mount(m_creature); m_creature->SetHealth(pMidnight->GetHealth()); + DoResetThreat(); } } } diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp index 170d6dfa3a8..baf31ca2eda 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -321,6 +321,8 @@ struct TRINITY_DLL_DECL boss_moroesAI : public ScriptedAI m_creature->setFaction(16); m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); + m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true); + m_creature->ApplySpellImmune(0, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true); m_creature->AI()->AttackStart(m_creature->getVictim()); InVanish = false; }else Wait_Timer -= diff; diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_netherspite.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_netherspite.cpp index 9e9ebe50b55..47820d87a4e 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_netherspite.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/boss_netherspite.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp index f595cebff5e..1f4b26ee1e5 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_prince_malchezaar.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_prince_malchezaar.cpp index 84dc686b73d..5fb7b897eec 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_prince_malchezaar.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/boss_prince_malchezaar.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -37,7 +37,7 @@ EndScriptData */ #define SAY_SUMMON2 -1532101 #define SAY_DEATH -1532102 -// 19 Coordinates for Infernal spawns +// 18 Coordinates for Infernal spawns struct InfernalPoint { float x,y; @@ -64,11 +64,10 @@ static InfernalPoint InfernalPoints[] = {-10948.8, -2005.1}, {-10984.0, -2019.3}, {-10932.8, -1979.6}, - {-10932.8, -1979.6}, {-10935.7, -1996.0} }; -#define TOTAL_INFERNAL_POINTS 19 +#define TOTAL_INFERNAL_POINTS 18 //Enfeeble is supposed to reduce hp to 1 and then heal player back to full when it ends //Along with reducing healing and regen while enfeebled to 0% @@ -81,9 +80,10 @@ static InfernalPoint InfernalPoints[] = #define SPELL_SW_PAIN 30854 //Shadow word pain during phase 1 and 3 (different targeting rules though) #define SPELL_THRASH_PASSIVE 12787 //Extra attack chance during phase 2 #define SPELL_SUNDER_ARMOR 30901 //Sunder armor during phase 2 -#define SPELL_THRASH_AURA 3417 //Passive proc chance for thrash +#define SPELL_THRASH_AURA 12787 //Passive proc chance for thrash #define SPELL_EQUIP_AXES 30857 //Visual for axe equiping -#define SPELL_AMPLIFY_DAMAGE 12738 //Amplifiy during phase 3 +#define SPELL_AMPLIFY_DAMAGE 39095 //Amplifiy during phase 3 +#define SPELL_CLEAVE 30131 //Same as Nightbane. #define SPELL_HELLFIRE 30859 //Infenals' hellfire aura #define NETHERSPITE_INFERNAL 17646 //The netherspite infernal creature #define MALCHEZARS_AXE 17650 //Malchezar's axes (creatures), summoned during phase 3 @@ -169,6 +169,7 @@ struct TRINITY_DLL_DECL boss_malchezaarAI : public ScriptedAI uint32 SWPainTimer; uint32 SunderArmorTimer; uint32 AmplifyDamageTimer; + uint32 Cleave_Timer; uint32 InfernalTimer; uint32 AxesTargetSwitchTimer; uint32 InfernalCleanupTimer; @@ -197,12 +198,14 @@ struct TRINITY_DLL_DECL boss_malchezaarAI : public ScriptedAI EnfeebleTimer = 30000; EnfeebleResetTimer = 38000; - ShadowNovaTimer = 35000; + ShadowNovaTimer = 35500; SWPainTimer = 20000; - AmplifyDamageTimer = 10000; + AmplifyDamageTimer = 5000; + Cleave_Timer = 8000; InfernalTimer = 45000; InfernalCleanupTimer = 47000; AxesTargetSwitchTimer = 7500 + rand()%12500; + SunderArmorTimer = 5000 + rand()%5000; phase = 1; if(pInstance) @@ -500,9 +503,16 @@ struct TRINITY_DLL_DECL boss_malchezaarAI : public ScriptedAI if(SunderArmorTimer < diff) { DoCast(m_creature->getVictim(), SPELL_SUNDER_ARMOR); - SunderArmorTimer = 15000; + SunderArmorTimer = 10000 + rand()%8000; }else SunderArmorTimer -= diff; + + if (Cleave_Timer < diff) + { + DoCast(m_creature->getVictim(), SPELL_CLEAVE); + Cleave_Timer = 6000 + rand()%6000; + + }else Cleave_Timer -= diff; } else { @@ -544,13 +554,13 @@ struct TRINITY_DLL_DECL boss_malchezaarAI : public ScriptedAI if(InfernalTimer < diff) { SummonInfernal(diff); - InfernalTimer = phase == 3 ? 15000 : 45000; //15 secs in phase 3, 45 otherwise + InfernalTimer = phase == 3 ? 14500 : 44500; //15 secs in phase 3, 45 otherwise }else InfernalTimer -= diff; if(ShadowNovaTimer < diff) { DoCast(m_creature->getVictim(), SPELL_SHADOWNOVA); - ShadowNovaTimer = phase == 3 ? 35000 : -1; + ShadowNovaTimer = phase == 3 ? 31000 : -1; }else ShadowNovaTimer -= diff; if(phase != 2) diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp index dac9b190065..dbd99df0a08 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_terestian_illhoof.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_terestian_illhoof.cpp index dd4c0ce3300..e2796529ebc 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_terestian_illhoof.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/boss_terestian_illhoof.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -45,11 +45,10 @@ EndScriptData */ #define SPELL_FIENDISH_PORTAL 30171 // Opens portal and summons Fiendish Portal, 2 sec cast #define SPELL_FIENDISH_PORTAL_1 30179 // Opens portal and summons Fiendish Portal, instant cast -#define SPELL_FIREBOLT 18086 // Blasts a target for 150 Fire damage. +#define SPELL_FIREBOLT 30050 // Blasts a target for 150 Fire damage. #define SPELL_BROKEN_PACT 30065 // All damage taken increased by 25%. #define SPELL_AMPLIFY_FLAMES 30053 // Increases the Fire damage taken by an enemy by 500 for 25 sec. -#define SPELL_FIREBOLT 18086 // Blasts a target for 150 Fire damage. #define CREATURE_DEMONCHAINS 17248 #define CREATURE_FIENDISHIMP 17267 @@ -80,8 +79,7 @@ struct TRINITY_DLL_DECL mob_kilrekAI : public ScriptedAI void Reset() { TerestianGUID = 0; - - AmplifyTimer = 0; + AmplifyTimer = 2000; } void Aggro(Unit *who) @@ -122,13 +120,10 @@ struct TRINITY_DLL_DECL mob_kilrekAI : public ScriptedAI m_creature->InterruptNonMeleeSpells(false); DoCast(m_creature->getVictim(),SPELL_AMPLIFY_FLAMES); - AmplifyTimer = 20000; + AmplifyTimer = 10000 + rand()%10000; }else AmplifyTimer -= diff; - //Chain cast - if (!m_creature->IsNonMeleeSpellCasted(false) && m_creature->IsWithinDistInMap(m_creature->getVictim(), 30)) - DoCast(m_creature->getVictim(),SPELL_FIREBOLT); - else DoMeleeAttackIfReady(); + DoMeleeAttackIfReady(); } }; @@ -180,6 +175,7 @@ struct TRINITY_DLL_DECL boss_terestianAI : public ScriptedAI uint32 SummonTimer; uint32 BerserkTimer; + bool ReSummon; bool SummonKilrek; bool SummonedPortals; bool Berserk; @@ -206,6 +202,7 @@ struct TRINITY_DLL_DECL boss_terestianAI : public ScriptedAI SummonedPortals = false; Berserk = false; + ReSummon = false; if(pInstance) pInstance->SetData(DATA_TERESTIAN_EVENT, NOT_STARTED); @@ -217,8 +214,15 @@ struct TRINITY_DLL_DECL boss_terestianAI : public ScriptedAI if(pInstance) { - // Put Kil'rek in combat against our target so players don't skip him Creature* Kilrek = ((Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_KILREK))); + + // Respawn Kil'rek on aggro if Kil'rek is dead. + if (!Kilrek || !Kilrek->isAlive()) + { + Kilrek->Respawn(); + } + + // Put Kil'rek in combat against our target so players don't skip him if(Kilrek && !Kilrek->getVictim()) Kilrek->AddThreat(who, 1.0f); @@ -262,18 +266,22 @@ struct TRINITY_DLL_DECL boss_terestianAI : public ScriptedAI if(CheckKilrekTimer < diff) { + CheckKilrekTimer = 5000; if(pInstance) uint64 KilrekGUID = pInstance->GetData64(DATA_KILREK); else ERROR_INST_DATA(m_creature); - Creature* Kilrek = ((Creature*)Unit::GetUnit((*m_creature), KilrekGUID)); + Creature* Kilrek = ((Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_KILREK))); if(SummonKilrek && Kilrek) { Kilrek->Respawn(); if(Kilrek->AI()) + { Kilrek->AI()->AttackStart(m_creature->getVictim()); + m_creature->RemoveAurasDueToSpell(SPELL_BROKEN_PACT); + } SummonKilrek = false; } @@ -360,7 +368,9 @@ struct TRINITY_DLL_DECL mob_karazhan_impAI : public ScriptedAI void Reset() { - FireboltTimer = 3000; + FireboltTimer = 2000; + + m_creature->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_FIRE, true); } void Aggro(Unit *who) {} @@ -374,7 +384,7 @@ struct TRINITY_DLL_DECL mob_karazhan_impAI : public ScriptedAI if(FireboltTimer < diff) { DoCast(m_creature->getVictim(), SPELL_FIREBOLT); - FireboltTimer = 1500; + FireboltTimer = 2200; }else FireboltTimer -= diff; DoMeleeAttackIfReady(); diff --git a/src/bindings/scripts/scripts/zone/karazhan/bosses_opera.cpp b/src/bindings/scripts/scripts/zone/karazhan/bosses_opera.cpp index b5dfc875984..965fe32d370 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/bosses_opera.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/bosses_opera.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -91,7 +91,7 @@ void SummonCroneIfReady(ScriptedInstance* pInstance, Creature *_Creature) pInstance->SetData(DATA_OPERA_OZ_DEATHCOUNT, 0); // Increment DeathCount if(pInstance->GetData(DATA_OPERA_OZ_DEATHCOUNT) == 4) { - Creature* Crone = _Creature->SummonCreature(CREATURE_CRONE, -10891.96, -1755.95, _Creature->GetPositionZ(), 4.64, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 30000); + Creature* Crone = _Creature->SummonCreature(CREATURE_CRONE, -10891.96, -1755.95, _Creature->GetPositionZ(), 4.64, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000); if(Crone) { if(_Creature->getVictim()) @@ -251,7 +251,7 @@ struct TRINITY_DLL_DECL mob_titoAI : public ScriptedAI void boss_dorotheeAI::SummonTito() { - Creature* Tito = DoSpawnCreature(CREATURE_TITO, 0, 0, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 45000); + Creature* Tito = DoSpawnCreature(CREATURE_TITO, 0, 0, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000); if(Tito) { DoScriptText(SAY_DOROTHEE_SUMMON, m_creature); @@ -716,7 +716,7 @@ bool GossipSelect_npc_grandmother(Player* player, Creature* _Creature, uint32 se _Creature->SetVisibility(VISIBILITY_OFF); float x,y,z; _Creature->GetPosition(x,y,z); - Creature* BigBadWolf = _Creature->SummonCreature(CREATURE_BIG_BAD_WOLF, x, y, z, 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 30000); + Creature* BigBadWolf = _Creature->SummonCreature(CREATURE_BIG_BAD_WOLF, x, y, z, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000); if(BigBadWolf) { BigBadWolf->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); @@ -1222,7 +1222,7 @@ void boss_julianneAI::UpdateAI(const uint32 diff) { if(SummonRomuloTimer < diff) { - Creature* Romulo = m_creature->SummonCreature(CREATURE_ROMULO, ROMULO_X, ROMULO_Y, m_creature->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 45000); + Creature* Romulo = m_creature->SummonCreature(CREATURE_ROMULO, ROMULO_X, ROMULO_Y, m_creature->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000); if(Romulo) { RomuloGUID = Romulo->GetGUID(); diff --git a/src/bindings/scripts/scripts/zone/karazhan/def_karazhan.h b/src/bindings/scripts/scripts/zone/karazhan/def_karazhan.h index e1c4f7c3220..71017baeb97 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/def_karazhan.h +++ b/src/bindings/scripts/scripts/zone/karazhan/def_karazhan.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/karazhan/instance_karazhan.cpp b/src/bindings/scripts/scripts/zone/karazhan/instance_karazhan.cpp index f997f5fc6ea..ddae685e82b 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/instance_karazhan.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/instance_karazhan.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -46,6 +46,7 @@ struct TRINITY_DLL_DECL instance_karazhan : public ScriptedInstance instance_karazhan(Map* map) : ScriptedInstance(map) {Initialize();} uint32 Encounters[ENCOUNTERS]; + std::string str_data; uint32 OperaEvent; uint32 OzDeathCount; @@ -197,7 +198,19 @@ struct TRINITY_DLL_DECL instance_karazhan : public ScriptedInstance } if(data == DONE) + { + OUT_SAVE_INST_DATA; + + std::ostringstream saveStream; + saveStream << Encounters[0] << " " << Encounters[1] << " " << Encounters[2] << " " + << Encounters[3] << " " << Encounters[4] << " " << Encounters[5] << " " << Encounters[6] << " " + << Encounters[7] << " " << Encounters[8] << " " << Encounters[9] << " " << Encounters[10]; + + str_data = saveStream.str(); + SaveToDB(); + OUT_SAVE_INST_DATA_COMPLETE; + } } void SetData64(uint32 identifier, uint64 data) @@ -240,20 +253,7 @@ struct TRINITY_DLL_DECL instance_karazhan : public ScriptedInstance const char* Save() { - OUT_SAVE_INST_DATA; - std::ostringstream stream; - stream << Encounters[0] << " " << Encounters[1] << " " << Encounters[2] << " " << Encounters[3] << " " - << Encounters[4] << " " << Encounters[5] << " " << Encounters[6] << " " << Encounters[7] << " " - << Encounters[8] << " " << Encounters[9] << " " << Encounters[10]; - char* out = new char[stream.str().length() + 1]; - strcpy(out, stream.str().c_str()); - if(out) - { - OUT_SAVE_INST_DATA_COMPLETE; - return out; - } - - return NULL; + return str_data.c_str(); } void Load(const char* in) @@ -265,8 +265,8 @@ struct TRINITY_DLL_DECL instance_karazhan : public ScriptedInstance } OUT_LOAD_INST_DATA(in); - std::istringstream stream(in); - stream >> Encounters[0] >> Encounters[1] >> Encounters[2] >> Encounters[3] + std::istringstream loadStream(in); + loadStream >> Encounters[0] >> Encounters[1] >> Encounters[2] >> Encounters[3] >> Encounters[4] >> Encounters[5] >> Encounters[6] >> Encounters[7] >> Encounters[8] >> Encounters[9] >> Encounters[10]; for(uint8 i = 0; i < ENCOUNTERS; ++i) diff --git a/src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp b/src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp index fd315e65cce..17547d043a3 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp @@ -1,4 +1,4 @@ - /* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> + /* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/loch_modan/loch_modan.cpp b/src/bindings/scripts/scripts/zone/loch_modan/loch_modan.cpp index 5d0cbad452b..9e7e61f1f7e 100644 --- a/src/bindings/scripts/scripts/zone/loch_modan/loch_modan.cpp +++ b/src/bindings/scripts/scripts/zone/loch_modan/loch_modan.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_felblood_kaelthas.cpp b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_felblood_kaelthas.cpp index 7136e4c83bd..9c73f5fc7d1 100644 --- a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_felblood_kaelthas.cpp +++ b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_felblood_kaelthas.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -6,18 +6,18 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* ScriptData SDName: Boss_Felblood_Kaelthas SD%Complete: 80 -SDComment: Normal and Heroic Support. Issues: Arcane Spheres do not initially follow targets. TODO: Convert Phoenix to ACID. +SDComment: Normal and Heroic Support. Issues: Arcane Spheres do not initially follow targets. SDCategory: Magisters' Terrace EndScriptData */ @@ -25,7 +25,7 @@ EndScriptData */ #include "def_magisters_terrace.h" #include "WorldPacket.h" -#define SAY_AGGRO -1585023 //This yell should be done when the room is cleared. For now, set it as aggro yell. +#define SAY_AGGRO -1585023 //This yell should be done when the room is cleared. For now, set it as a movelineofsight yell. #define SAY_PHOENIX -1585024 #define SAY_FLAMESTRIKE -1585025 #define SAY_GRAVITY_LAPSE -1585026 @@ -36,13 +36,12 @@ EndScriptData */ /*** Spells ***/ // Phase 1 spells - #define SPELL_FIREBALL_NORMAL 44189 // Deals 2700-3300 damage at current target #define SPELL_FIREBALL_HEROIC 46164 // 4950-6050 #define SPELL_PHOENIX 44194 // Summons a phoenix (Doesn't work?) -#define SPELL_PHOENIX_BURN 44198 // A spell Phoenix uses to damage everything around -#define SPELL_PHOENIX_FIREBALL 44202 // Phoenix casts this in phase 2 and stops moving +#define SPELL_PHOENIX_BURN 44197 // A spell Phoenix uses to damage everything around +#define SPELL_REBIRTH_DMG 44196 // DMG if a Phoenix rebirth happen #define SPELL_FLAMESTRIKE1_NORMAL 44190 // Damage part #define SPELL_FLAMESTRIKE1_HEROIC 46163 // Heroic damage part @@ -53,7 +52,6 @@ EndScriptData */ #define SPELL_PYROBLAST 36819 // Heroic only; 45-55k fire damage // Phase 2 spells - #define SPELL_GRAVITY_LAPSE_INITIAL 44224 // Cast at the beginning of every Gravity Lapse #define SPELL_GRAVITY_LAPSE_CHANNEL 44251 // Channeled; blue beam animation to every enemy in range #define SPELL_TELEPORT_CENTER 44218 // Should teleport people to the center. Requires DB entry in spell_target_position. @@ -68,16 +66,14 @@ EndScriptData */ #define CREATURE_ARCANE_SPHERE 24708 /** Locations **/ -float KaelLocations[6][2]= +float KaelLocations[3][2]= { - {148.744659, 181.377426},//center - {140.823883, 195.403046},//phoenixpos1 - {156.574188, 195.650482},//phoenixpos2 - {149.813, 160.917},//spherepos1 - {167.223, 173.594},//spherepos2 - {130.68, 173.007},//spherepos3 + {148.744659, 181.377426}, + {140.823883, 195.403046}, + {156.574188, 195.650482}, }; -#define LOCATION_Z -16.727455 + +#define LOCATION_Z -16.727455 struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI { @@ -108,6 +104,7 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI bool FirstGravityLapse; bool Heroic; + bool HasTaunted; uint8 Phase; // 0 = Not started @@ -118,7 +115,7 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI { // TODO: Timers FireballTimer = 0; - PhoenixTimer = 30000; + PhoenixTimer = 10000; FlameStrikeTimer = 25000; CombatPulseTimer = 0; @@ -128,55 +125,57 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI GravityLapsePhase = 0; FirstGravityLapse = true; + HasTaunted = false; Phase = 0; - if(pInstance) - { - if(m_creature->isDead()) - pInstance->SetData(DATA_KAELTHAS_EVENT, DONE); - else - pInstance->SetData(DATA_KAELTHAS_EVENT, NOT_STARTED); - } - } + if (pInstance) + pInstance->SetData(DATA_KAELTHAS_EVENT, 0); - void KilledUnit(Unit* victim) - { - if(victim && (victim->GetTypeId() == TYPEID_PLAYER)) - { - victim->RemoveAurasDueToSpell(SPELL_GRAVITY_LAPSE_FLY); - victim->RemoveAurasDueToSpell(SPELL_GRAVITY_LAPSE_DOT); - WorldPacket data(12); - data.SetOpcode(SMSG_MOVE_UNSET_CAN_FLY); - data.append(victim->GetPackGUID()); - data << uint32(0); - victim->SendMessageToSet(&data, true); - } + GameObject* Door = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_KAEL_DOOR)); + if (Door) + Door->SetGoState(0); // Open the big encounter door. Close it in Aggro and open it only in JustDied(and here) + // Small door opened after event are expected to be closed by default } + void JustDied(Unit *killer) { - RemoveGravityLapse(); DoScriptText(SAY_DEATH, m_creature); - if(pInstance) - pInstance->SetData(DATA_KAELTHAS_EVENT, DONE); + GameObject* EncounterDoor = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_KAEL_DOOR)); + if (EncounterDoor) + EncounterDoor->SetGoState(0); // Open the encounter door } void DamageTaken(Unit* done_by, uint32 &damage) { - if(damage > m_creature->GetHealth()) + if (damage > m_creature->GetHealth()) RemoveGravityLapse(); // Remove Gravity Lapse so that players fall to ground if they kill him when in air. } void Aggro(Unit *who) { - DoScriptText(SAY_AGGRO, m_creature); - if(pInstance) - pInstance->SetData(DATA_KAELTHAS_EVENT, IN_PROGRESS); + if (pInstance) + { + GameObject* EncounterDoor = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_KAEL_DOOR)); + if (EncounterDoor) + EncounterDoor->SetGoState(1); //Close the encounter door, open it in JustDied/Reset + } + } + + void MoveInLineOfSight(Unit *who) + { + if (!HasTaunted && m_creature->IsWithinDistInMap(who, 40.0)) + { + DoScriptText(SAY_AGGRO, m_creature); + HasTaunted = true; + } + + ScriptedAI::MoveInLineOfSight(who); } void SetThreatList(Creature* SummonedUnit) { - if(!SummonedUnit) + if (!SummonedUnit) return; std::list<HostilReference*>& m_threatlist = m_creature->getThreatManager().getThreatList(); @@ -184,114 +183,86 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI for(i = m_threatlist.begin(); i != m_threatlist.end(); i++) { Unit* pUnit = Unit::GetUnit((*m_creature), (*i)->getUnitGuid()); - if(pUnit && pUnit->isAlive()) + if (pUnit && pUnit->isAlive()) { - float threat = DoGetThreat(pUnit); - SummonedUnit->AddThreat(pUnit, 0.1f); + float threat = m_creature->getThreatManager().getThreat(pUnit); + SummonedUnit->AddThreat(pUnit, threat); } } } - void EnterEvadeMode() - { - RemoveGravityLapse(); - m_creature->InterruptNonMeleeSpells(true); - m_creature->RemoveAllAuras(); - m_creature->DeleteThreatList(); - m_creature->CombatStop(); - m_creature->LoadCreaturesAddon(); - - if( m_creature->isAlive() ) - m_creature->GetMotionMaster()->MoveTargetedHome(); - - m_creature->SetLootRecipient(NULL); - - InCombat = false; - Reset(); - } - void TeleportPlayersToSelf() { - float x,y,z; - m_creature->Relocate(KaelLocations[0][0], KaelLocations[0][1], LOCATION_Z, 0); - Map *map = m_creature->GetMap(); - Map::PlayerList const &PlayerList = map->GetPlayers(); - Map::PlayerList::const_iterator i; - for (i = PlayerList.begin(); i != PlayerList.end(); ++i) + float x = KaelLocations[0][0]; + float y = KaelLocations[0][1]; + m_creature->Relocate(x, y, LOCATION_Z, 0); + //m_creature->SendMonsterMove(x, y, LOCATION_Z, 0, 0, 0); // causes some issues... + std::list<HostilReference*>::iterator i = m_creature->getThreatManager().getThreatList().begin(); + for (i = m_creature->getThreatManager().getThreatList().begin(); i!= m_creature->getThreatManager().getThreatList().end();++i) { - if (Player* i_pl = i->getSource()) - if(i_pl->isAlive()) - { - i_pl->CastSpell(i_pl, SPELL_TELEPORT_CENTER, true); - m_creature->GetNearPoint(m_creature,x,y,z,5,5,0); - i_pl->TeleportTo(m_creature->GetMapId(),x,y,LOCATION_Z,i_pl->GetOrientation()); - } + Unit* pUnit = Unit::GetUnit((*m_creature), (*i)->getUnitGuid()); + if (pUnit && (pUnit->GetTypeId() == TYPEID_PLAYER)) + pUnit->CastSpell(pUnit, SPELL_TELEPORT_CENTER, true); } DoCast(m_creature, SPELL_TELEPORT_CENTER, true); } void CastGravityLapseKnockUp() { - Map *map = m_creature->GetMap(); - Map::PlayerList const &PlayerList = map->GetPlayers(); - Map::PlayerList::const_iterator i; - for (i = PlayerList.begin(); i != PlayerList.end(); ++i) + std::list<HostilReference*>::iterator i = m_creature->getThreatManager().getThreatList().begin(); + for (i = m_creature->getThreatManager().getThreatList().begin(); i!= m_creature->getThreatManager().getThreatList().end();++i) { - if (Player* i_pl = i->getSource()) - if(i_pl->isAlive()) + Unit* pUnit = Unit::GetUnit((*m_creature), (*i)->getUnitGuid()); + if (pUnit && (pUnit->GetTypeId() == TYPEID_PLAYER)) // Knockback into the air - i_pl->CastSpell(i_pl, SPELL_GRAVITY_LAPSE_DOT, true, 0, 0, m_creature->GetGUID()); + pUnit->CastSpell(pUnit, SPELL_GRAVITY_LAPSE_DOT, true, 0, 0, m_creature->GetGUID()); } } void CastGravityLapseFly() // Use Fly Packet hack for now as players can't cast "fly" spells unless in map 530. Has to be done a while after they get knocked into the air... { - Map *map = m_creature->GetMap(); - Map::PlayerList const &PlayerList = map->GetPlayers(); - Map::PlayerList::const_iterator i; - for (i = PlayerList.begin(); i != PlayerList.end(); ++i) + std::list<HostilReference*>::iterator i = m_creature->getThreatManager().getThreatList().begin(); + for (i = m_creature->getThreatManager().getThreatList().begin(); i!= m_creature->getThreatManager().getThreatList().end();++i) { - if (Player* i_pl = i->getSource()) + Unit* pUnit = Unit::GetUnit((*m_creature), (*i)->getUnitGuid()); + if (pUnit && (pUnit->GetTypeId() == TYPEID_PLAYER)) { - if(i_pl->isAlive()) - { - // Also needs an exception in spell system. - i_pl->CastSpell(i_pl, SPELL_GRAVITY_LAPSE_FLY, true, 0, 0, m_creature->GetGUID()); - // Use packet hack - WorldPacket data(12); - data.SetOpcode(SMSG_MOVE_SET_CAN_FLY); - data.append(i_pl->GetPackGUID()); - data << uint32(0); - i_pl->SendMessageToSet(&data, true); - i_pl->SetSpeed(MOVE_FLIGHT, 2.0f); - } + // Also needs an exception in spell system. + pUnit->CastSpell(pUnit, SPELL_GRAVITY_LAPSE_FLY, true, 0, 0, m_creature->GetGUID()); + // Use packet hack + WorldPacket data(12); + data.SetOpcode(SMSG_MOVE_SET_CAN_FLY); + data.append(pUnit->GetPackGUID()); + data << uint32(0); + pUnit->SendMessageToSet(&data, true); } } } void RemoveGravityLapse() { - Map *map = m_creature->GetMap(); - Map::PlayerList const &PlayerList = map->GetPlayers(); - Map::PlayerList::const_iterator i; - for (i = PlayerList.begin(); i != PlayerList.end(); ++i) + std::list<HostilReference*>::iterator i = m_creature->getThreatManager().getThreatList().begin(); + for (i = m_creature->getThreatManager().getThreatList().begin(); i!= m_creature->getThreatManager().getThreatList().end();++i) { - if(Player* i_pl = i->getSource()) + Unit* pUnit = Unit::GetUnit((*m_creature), (*i)->getUnitGuid()); + if (pUnit && (pUnit->GetTypeId() == TYPEID_PLAYER)) { - i_pl->RemoveAurasDueToSpell(SPELL_GRAVITY_LAPSE_FLY); - i_pl->RemoveAurasDueToSpell(SPELL_GRAVITY_LAPSE_DOT); + pUnit->RemoveAurasDueToSpell(SPELL_GRAVITY_LAPSE_FLY); + pUnit->RemoveAurasDueToSpell(SPELL_GRAVITY_LAPSE_DOT); + WorldPacket data(12); data.SetOpcode(SMSG_MOVE_UNSET_CAN_FLY); - data.append(i_pl->GetPackGUID()); + data.append(pUnit->GetPackGUID()); data << uint32(0); - i_pl->SendMessageToSet(&data, true); + pUnit->SendMessageToSet(&data, true); } } } void UpdateAI(const uint32 diff) { - if(!UpdateVictim()) + //Return since we have no target + if (!UpdateVictim()) return; switch(Phase) @@ -299,9 +270,9 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI case 0: { // *Heroic mode only: - if(Heroic) + if (Heroic) { - if(PyroblastTimer < diff) + if (PyroblastTimer < diff) { DoCast(m_creature, SPELL_SHOCK_BARRIER, true); DoCast(m_creature->getVictim(), SPELL_PYROBLAST); @@ -309,56 +280,47 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI }else PyroblastTimer -= diff; } - if(FireballTimer < diff) + if (FireballTimer < diff) { DoCast(m_creature->getVictim(), Heroic ? SPELL_FIREBALL_HEROIC : SPELL_FIREBALL_NORMAL); FireballTimer = 2000 + rand()%4000; }else FireballTimer -= diff; - if(PhoenixTimer < diff) + if (PhoenixTimer < diff) { + + Unit* target = NULL; + target = SelectUnit(SELECT_TARGET_RANDOM,1); + uint32 random = rand()%2 + 1; float x = KaelLocations[random][0]; float y = KaelLocations[random][1]; - Creature* Phoenix = m_creature->SummonCreature(CREATURE_PHOENIX, x, y, LOCATION_Z, 0, TEMPSUMMON_CORPSE_DESPAWN, 60000); - if(Phoenix) + + Creature* Phoenix = m_creature->SummonCreature(CREATURE_PHOENIX, x, y, LOCATION_Z, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 60000); + if (Phoenix) { Phoenix->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE + UNIT_FLAG_NON_ATTACKABLE); SetThreatList(Phoenix); - Unit *target = SelectUnit(SELECT_TARGET_RANDOM,1); - if(target) - { - Phoenix->AddThreat(target,1000); - Phoenix->Attack(target,true); - Phoenix->GetMotionMaster()->MoveChase(target); - } - else - { - Phoenix->AddThreat(m_creature->getVictim(),1000); - Phoenix->Attack(m_creature->getVictim(),true); - Phoenix->GetMotionMaster()->MoveChase(m_creature->getVictim()); - } + Phoenix->AI()->AttackStart(target); } DoScriptText(SAY_PHOENIX, m_creature); - PhoenixTimer = 40000; + PhoenixTimer = 60000; }else PhoenixTimer -= diff; - if(FlameStrikeTimer < diff) + if (FlameStrikeTimer < diff) { if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0)) { - m_creature->InterruptNonMeleeSpells(false); DoCast(target, SPELL_FLAMESTRIKE3, true); DoScriptText(SAY_FLAMESTRIKE, m_creature); - - FlameStrikeTimer = 20000 + rand()%5000; } + FlameStrikeTimer = 15000 + rand()%10000; }else FlameStrikeTimer -= diff; // Below 50% - if(m_creature->GetMaxHealth() * 0.5 > m_creature->GetHealth()) + if (m_creature->GetMaxHealth() * 0.5 > m_creature->GetHealth()) { m_creature->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_INTERRUPT_CAST, true); m_creature->StopMoving(); @@ -368,34 +330,35 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI GravityLapsePhase = 0; Phase = 1; } + DoMeleeAttackIfReady(); } break; case 1: { - m_creature->StopMoving(); - if(GravityLapseTimer < diff) + if (GravityLapseTimer < diff) { switch(GravityLapsePhase) { case 0: - if(FirstGravityLapse) // Different yells at 50%, and at every following Gravity Lapse + if (FirstGravityLapse) // Different yells at 50%, and at every following Gravity Lapse { DoScriptText(SAY_GRAVITY_LAPSE, m_creature); FirstGravityLapse = false; - if(pInstance) + + if (pInstance) { GameObject* KaelLeft = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_KAEL_STATUE_LEFT)); - if(KaelLeft) KaelLeft->SetGoState(0); + if (KaelLeft) KaelLeft->SetGoState(0); GameObject* KaelRight = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_KAEL_STATUE_RIGHT)); - if(KaelRight) KaelRight->SetGoState(0); + if (KaelRight) KaelRight->SetGoState(0); } }else { DoScriptText(SAY_RECAST_GRAVITY, m_creature); } - m_creature->StopMoving(); + DoCast(m_creature, SPELL_GRAVITY_LAPSE_INITIAL); GravityLapseTimer = 2000 + diff;// Don't interrupt the visual spell GravityLapsePhase = 1; @@ -417,31 +380,23 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI CastGravityLapseFly(); GravityLapseTimer = 30000; GravityLapsePhase = 4; + + for(uint8 i = 0; i < 3; ++i) { - Creature* Orb = m_creature->SummonCreature(CREATURE_ARCANE_SPHERE,KaelLocations[3+i][0],KaelLocations[3+i][1],LOCATION_Z,0,TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN,30000); - if(Orb) - { - SetThreatList(Orb); - Unit *target = SelectUnit(SELECT_TARGET_BOTTOMAGGRO,i); - if(target) - { - Orb->AddThreat(target,1000); - Orb->Attack(target,true); - Orb->GetMotionMaster()->MoveChase(target); - } - else - { - Unit *ntarget = SelectUnit(SELECT_TARGET_RANDOM,0); - if(ntarget) - { - Orb->AddThreat(ntarget,1000); - Orb->Attack(ntarget,true); - Orb->GetMotionMaster()->MoveChase(ntarget); - } - } + Unit* target = NULL; + target = SelectUnit(SELECT_TARGET_RANDOM,0); + + Creature* Orb = DoSpawnCreature(CREATURE_ARCANE_SPHERE, 5, 5, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 30000); + if (Orb && target) + { + //SetThreatList(Orb); + Orb->AddThreat(target, 1.0f); + Orb->AI()->AttackStart(target); } + } + DoCast(m_creature, SPELL_GRAVITY_LAPSE_CHANNEL); break; @@ -486,7 +441,7 @@ struct TRINITY_DLL_DECL mob_felkael_flamestrikeAI : public ScriptedAI void MoveInLineOfSight(Unit *who) {} void UpdateAI(const uint32 diff) { - if(FlameStrikeTimer < diff) + if (FlameStrikeTimer < diff) { DoCast(m_creature, Heroic ? SPELL_FLAMESTRIKE1_HEROIC : SPELL_FLAMESTRIKE1_NORMAL, true); m_creature->DealDamage(m_creature, m_creature->GetMaxHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); @@ -496,214 +451,188 @@ struct TRINITY_DLL_DECL mob_felkael_flamestrikeAI : public ScriptedAI struct TRINITY_DLL_DECL mob_felkael_phoenixAI : public ScriptedAI { - mob_felkael_phoenixAI(Creature *c) : ScriptedAI(c) + mob_felkael_phoenixAI(Creature* c) : ScriptedAI(c) { pInstance = ((ScriptedInstance*)c->GetInstanceData()); Reset(); } - uint32 BurnTimer; - uint32 CheckTimer; - uint8 phase; + ScriptedInstance* pInstance; - bool end; + uint32 BurnTimer; + uint32 Death_Timer; + bool Rebirth; + bool FakeDeath; void Reset() { - m_creature->SetSpeed(MOVE_RUN, 0.5f); - m_creature->SetSpeed(MOVE_WALK, 0.5f); m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE + UNIT_FLAG_NON_ATTACKABLE); + m_creature->AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT); + m_creature->CastSpell(m_creature,SPELL_PHOENIX_BURN,true); BurnTimer = 2000; - CheckTimer = 1000; - phase = 0; - end = false; + Death_Timer = 2700; + Rebirth = false; + FakeDeath = false; } void Aggro(Unit* who) {} - void JustDied(Unit* slayer) + void DamageTaken(Unit* pKiller, uint32 &damage) { - if (end) + if (damage < m_creature->GetHealth()) + return; + + //Prevent glitch if in fake death + if (FakeDeath) + { + damage = 0; return; - DoSpawnCreature(CREATURE_PHOENIX_EGG, 0, 0, 0, 0, TEMPSUMMON_CORPSE_DESPAWN, 45000); + + } + //Don't really die in all phases of Kael'Thas + if (pInstance && pInstance->GetData(DATA_KAELTHAS_EVENT) == 0) + { + //prevent death + damage = 0; + FakeDeath = true; + + m_creature->InterruptNonMeleeSpells(false); + m_creature->SetHealth(0); + m_creature->StopMoving(); + m_creature->ClearComboPointHolders(); + m_creature->RemoveAllAurasOnDeath(); + m_creature->ModifyAuraState(AURA_STATE_HEALTHLESS_20_PERCENT, false); + m_creature->ModifyAuraState(AURA_STATE_HEALTHLESS_35_PERCENT, false); + m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); + m_creature->ClearAllReactives(); + m_creature->SetUInt64Value(UNIT_FIELD_TARGET,0); + m_creature->GetMotionMaster()->Clear(); + m_creature->GetMotionMaster()->MoveIdle(); + m_creature->SetStandState(UNIT_STAND_STATE_DEAD); + + } + + } + + void JustDied(Unit* slayer) + { + DoSpawnCreature(CREATURE_PHOENIX_EGG, 0, 0, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 45000); } void UpdateAI(const uint32 diff) { - if(CheckTimer < diff) - { - if (pInstance) + + //If we are fake death, we cast revbirth and after that we kill the phoenix to spawn the egg. + if (FakeDeath) + { + if (!Rebirth) { - Creature *boss = ((Creature*)Unit::GetUnit((*m_creature),pInstance->GetData64(DATA_KAEL))); - if (boss) + DoCast(m_creature, SPELL_REBIRTH_DMG); + Rebirth = true; + } + + if (Rebirth) + { + + if (Death_Timer < diff) { - phase = ((boss_felblood_kaelthasAI*)boss->AI())->Phase; - if(boss->isDead() || !boss->isInCombat()) - { - end = true; - m_creature->DealDamage(m_creature, m_creature->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_FIRE, NULL, false);//temphack, hellfire is not damaging self - } - } + DoSpawnCreature(CREATURE_PHOENIX_EGG, 0, 0, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 45000); + m_creature->setDeathState(JUST_DIED); + m_creature->RemoveCorpse(); + Rebirth = false; + }else Death_Timer -= diff; } - CheckTimer = 1000; - }else CheckTimer -= diff; + + + } if (!UpdateVictim()) return; if (BurnTimer < diff) { - if(!phase) - { - DoCast(m_creature, SPELL_PHOENIX_BURN); - m_creature->DealDamage(m_creature, 1500, NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_FIRE, NULL, false);//temphack, hellfire is not damaging self - } - else - { - m_creature->StopMoving(); - DoCast(m_creature->getVictim(), SPELL_PHOENIX_FIREBALL); - } - BurnTimer = 2000; - }else BurnTimer -= diff; + //spell Burn should possible do this, but it doesn't, so do this for now. + uint32 dmg = urand(1650,2050); + m_creature->DealDamage(m_creature, dmg, 0, DOT, SPELL_SCHOOL_MASK_FIRE, NULL, false); + BurnTimer += 2000; + } BurnTimer -= diff; - //DoMeleeAttackIfReady(); + + DoMeleeAttackIfReady(); } }; -struct TRINITY_DLL_DECL mob_felkael_phoenix_eggAI : public Scripted_NoMovementAI +struct TRINITY_DLL_DECL mob_felkael_phoenix_eggAI : public ScriptedAI { - mob_felkael_phoenix_eggAI(Creature *c) : Scripted_NoMovementAI(c) - { - pInstance = ((ScriptedInstance*)c->GetInstanceData()); - Reset(); - } + mob_felkael_phoenix_eggAI(Creature *c) : ScriptedAI(c) {Reset();} uint32 HatchTimer; - ScriptedInstance* pInstance; - void Reset() { HatchTimer = 15000; } + + void Reset() + { + HatchTimer = 10000; + + } void Aggro(Unit* who) {} void MoveInLineOfSight(Unit* who) {} + void UpdateAI(const uint32 diff) { - - if(HatchTimer < diff) + if (HatchTimer < diff) { - Creature *bird = DoSpawnCreature(CREATURE_PHOENIX, 0, 0, 0, 0, TEMPSUMMON_CORPSE_DESPAWN, 60000); - if (bird) - { - Unit *boss = Unit::GetUnit((*m_creature),pInstance->GetData64(DATA_KAEL)); - if (boss && boss->getVictim()) - { - bird->AddThreat(boss->getVictim(),100); - bird->Attack(boss->getVictim(),true); - bird->GetMotionMaster()->MoveChase(boss->getVictim()); - } - } + DoSpawnCreature(CREATURE_PHOENIX, 0, 0, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 60000); m_creature->DealDamage(m_creature, m_creature->GetMaxHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); }else HatchTimer -= diff; + } }; struct TRINITY_DLL_DECL mob_arcane_sphereAI : public ScriptedAI { - mob_arcane_sphereAI(Creature *c) : ScriptedAI(c) - { - pInstance = ((ScriptedInstance*)c->GetInstanceData()); - Reset(); - } + mob_arcane_sphereAI(Creature *c) : ScriptedAI(c) {Reset();} + uint32 DespawnTimer; uint32 ChangeTargetTimer; - uint32 CheckTimer; - - ScriptedInstance* pInstance; void Reset() { - m_creature->SetUnitMovementFlags(MOVEMENTFLAG_LEVITATING); DespawnTimer = 30000; - ChangeTargetTimer = 5000; - CheckTimer = 1000; - m_creature->SetSpeed(MOVE_RUN, 0.5f); - m_creature->SetSpeed(MOVE_WALK, 0.5f); + ChangeTargetTimer = 6000 + rand()%6000; + m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); + m_creature->AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT); m_creature->setFaction(14); DoCast(m_creature, SPELL_ARCANE_SPHERE_PASSIVE, true); } + void Aggro(Unit* who) {} - void StalkTarget(Unit* target) - { - if(!target) - return; - m_creature->AddThreat(target,100000); - m_creature->GetMotionMaster()->MoveChase(target); - m_creature->Attack(target,true); - } void UpdateAI(const uint32 diff) { - if(DespawnTimer < diff) + if (DespawnTimer < diff) m_creature->DealDamage(m_creature, m_creature->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); else DespawnTimer -= diff; - if(!UpdateVictim()) - ChangeTargetTimer = 0; + //Return since we have no target + if (!UpdateVictim()) + return; - if(ChangeTargetTimer < diff) + if (ChangeTargetTimer < diff) { - DoResetThreat(); - Unit *ntarget = SelectUnit(SELECT_TARGET_RANDOM,0); - if (ntarget) - StalkTarget(ntarget); - ChangeTargetTimer = 10000; - }else ChangeTargetTimer -= diff; - if(CheckTimer < diff) - { - if (pInstance) - { - Creature *boss = (Creature*)Unit::GetUnit((*m_creature),pInstance->GetData64(DATA_KAEL)); - if(boss) - { - if(!((boss_felblood_kaelthasAI*)boss->AI())->Phase || boss->isDead()) - DespawnTimer = 0; - }else DespawnTimer = 0; - } - CheckTimer = 1000; - }else CheckTimer -= diff; - } -}; + Unit* target = NULL; + target = SelectUnit(SELECT_TARGET_RANDOM,0); + if (target) + m_creature->AddThreat(target, 1.0f); + m_creature->TauntApply(target); + AttackStart(target); -bool GOHello_go_kael_orb(Player *player, GameObject* _GO) -{ - ScriptedInstance* pInst = (ScriptedInstance*)_GO->GetInstanceData(); - if (pInst && player) - { - Unit *kael = Unit::GetUnit((*_GO),pInst->GetData64(DATA_KAEL)); - if (kael && kael->isDead()) - player->TeleportTo(530, 12888, -6876, 9, 0.3); - } - return true; -} - -bool GOHello_go_movie_orb(Player *player, GameObject* _GO) -{ - if (player) - { - WorldPacket data(SMSG_TRIGGER_CINEMATIC, 4); - data << (uint32)164; - player->GetSession()->SendPacket(&data); - - if (player->GetQuestStatus(11490) == QUEST_STATUS_INCOMPLETE) - { - Unit *qUnit = player->SummonCreature(25042,player->GetPositionX(),player->GetPositionY(),player->GetPositionZ()-10,0,TEMPSUMMON_CORPSE_DESPAWN,0); - if(qUnit) - player->DealDamage(qUnit, qUnit->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); - } + ChangeTargetTimer = 5000 + rand()%10000; + }else ChangeTargetTimer -= diff; } - return true; -} +}; CreatureAI* GetAI_boss_felblood_kaelthas(Creature* c) { @@ -745,27 +674,17 @@ void AddSC_boss_felblood_kaelthas() newscript->RegisterSelf(); newscript = new Script; - newscript->Name="mob_felkael_phoenix"; + newscript->Name = "mob_felkael_phoenix"; newscript->GetAI = &GetAI_mob_felkael_phoenix; newscript->RegisterSelf(); newscript = new Script; - newscript->Name="mob_felkael_phoenix_egg"; + newscript->Name = "mob_felkael_phoenix_egg"; newscript->GetAI = &GetAI_mob_felkael_phoenix_egg; newscript->RegisterSelf(); newscript = new Script; - newscript->Name="mob_felkael_flamestrike"; + newscript->Name = "mob_felkael_flamestrike"; newscript->GetAI = &GetAI_mob_felkael_flamestrike; newscript->RegisterSelf(); - - newscript = new Script; - newscript->Name="go_kael_orb"; - newscript->pGOHello = &GOHello_go_kael_orb; - newscript->RegisterSelf(); - - newscript = new Script; - newscript->Name="go_movie_orb"; - newscript->pGOHello = &GOHello_go_movie_orb; - newscript->RegisterSelf(); } diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp index 15af5cce3b8..aeeebdeec89 100644 --- a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp +++ b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -98,8 +98,8 @@ struct TRINITY_DLL_DECL boss_priestess_delrissaAI : public ScriptedAI { pInstance = ((ScriptedInstance*)c->GetInstanceData()); Adds.clear(); - //SummonAdds(); Reset(); + SummonAdds(); Heroic = c->GetMap()->IsHeroic(); } @@ -122,7 +122,6 @@ struct TRINITY_DLL_DECL boss_priestess_delrissaAI : public ScriptedAI void Reset() { - m_creature->SetCorpseDelay(60*60*1000); LackeysKilled = 0; PlayersKilled = 0; @@ -136,13 +135,11 @@ struct TRINITY_DLL_DECL boss_priestess_delrissaAI : public ScriptedAI CheckAdds(); - if(pInstance) + if (pInstance) { + pInstance->SetData(DATA_DELRISSA_EVENT, NOT_STARTED); pInstance->SetData(DATA_DELRISSA_DEATH_COUNT, 0); - if (m_creature->isDead()) - pInstance->SetData(DATA_DELRISSA_EVENT, DONE); - else pInstance->SetData(DATA_DELRISSA_EVENT, NOT_STARTED); - }else error_log(ERROR_INST_DATA); + } else error_log(ERROR_INST_DATA); } void Aggro(Unit* who) @@ -156,8 +153,6 @@ struct TRINITY_DLL_DECL boss_priestess_delrissaAI : public ScriptedAI void SummonAdds() { - /*if (m_creature->isDead()) - return;*/ std::vector<uint32> AddList; for(uint8 i = 0; i < 8; ++i) AddList.push_back(AddEntry[i]); @@ -168,7 +163,7 @@ struct TRINITY_DLL_DECL boss_priestess_delrissaAI : public ScriptedAI for(uint8 i = 0; i < AddList.size(); ++i) { Creature* pAdd = m_creature->SummonCreature(AddList[i], LackeyLocations[i][0], LackeyLocations[i][1], POS_Z, ORIENT, TEMPSUMMON_DEAD_DESPAWN, 0); - if(pAdd) + if (pAdd) { Add* nAdd = new Add(AddList[i], pAdd->GetGUID()); Adds.push_back(nAdd); @@ -178,51 +173,47 @@ struct TRINITY_DLL_DECL boss_priestess_delrissaAI : public ScriptedAI void CheckAdds() { - //if (m_creature->isDead()) - // return; - if(Adds.empty()) - { - SummonAdds(); + if (Adds.empty()) return; - } + for(uint8 i = 0; i < Adds.size(); ++i) { + bool resummon = true; + Creature* pAdd = ((Creature*)Unit::GetUnit(*m_creature, Adds[i]->guid)); - if(pAdd && pAdd->isAlive()) + if (pAdd && pAdd->isAlive()) { - pAdd->AI()->EnterEvadeMode(); - pAdd->GetMotionMaster()->MovePoint(0,LackeyLocations[i][0], LackeyLocations[i][1], POS_Z); + pAdd->AI()->EnterEvadeMode(); // Force them out of combat and reset if they are in combat. + resummon = false; } - if(!pAdd || (pAdd && pAdd->isDead())) + + if (resummon) { - if(pAdd) - pAdd->RemoveCorpse();//looks stupid if mob is alive but has a dead corpse in front of him :) - Creature* pAdd = m_creature->SummonCreature(Adds[i]->entry, LackeyLocations[i][0], LackeyLocations[i][1], POS_Z, ORIENT, TEMPSUMMON_DEAD_DESPAWN, 0); - if(pAdd) - Adds[i]->guid = pAdd->GetGUID(); + pAdd = m_creature->SummonCreature(Adds[i]->entry, LackeyLocations[i][0], LackeyLocations[i][1], POS_Z, ORIENT, TEMPSUMMON_DEAD_DESPAWN, 0); + Add* nAdd = new Add(Adds[i]->entry, pAdd->GetGUID()); + Adds.erase(Adds.begin() + i); + Adds.push_back(nAdd); } } } void KilledUnit(Unit* victim) { - if(victim->GetTypeId() != TYPEID_PLAYER || m_creature->isDead()) + if (victim->GetTypeId() != TYPEID_PLAYER) return; DoScriptText(PlayerDeath[PlayersKilled].id, m_creature); - if( PlayersKilled < 4 ) + + if (PlayersKilled < 4) ++PlayersKilled; } void KilledLackey() { - if(m_creature->isDead())//no sense to talk if dead.. - return; DoScriptText(LackeyDeath[LackeysKilled].id, m_creature); - if( LackeysKilled < 3 ) - ++LackeysKilled; - CheckLootable(); + if (LackeysKilled < 3) + ++LackeysKilled; } void JustDied(Unit* killer) @@ -231,21 +222,21 @@ struct TRINITY_DLL_DECL boss_priestess_delrissaAI : public ScriptedAI CheckLootable(); - if(!pInstance) + if (!pInstance) { error_log(ERROR_INST_DATA); return; } - pInstance->SetData(DATA_DELRISSA_DEATH_COUNT, 1); pInstance->SetData(DATA_DELRISSA_EVENT, DONE); - if(GameObject* Door = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_DELRISSA_DOOR))) + + if (GameObject* Door = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_DELRISSA_DOOR))) Door->SetGoState(0); } void CheckLootable() { - if(pInstance && pInstance->GetData(DATA_DELRISSA_DEATH_COUNT) >= 4) + if (LackeysKilled > 3) m_creature->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); else m_creature->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); @@ -253,30 +244,30 @@ struct TRINITY_DLL_DECL boss_priestess_delrissaAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!UpdateVictim()) + if (!UpdateVictim()) return; - if(HealTimer < diff) + if (HealTimer < diff) { uint32 health = m_creature->GetHealth(); Unit* target = m_creature; for(uint8 i = 0; i < Adds.size(); ++i) - if(Unit* pAdd = Unit::GetUnit(*m_creature, Adds[i]->guid)) - if(pAdd->isAlive() && pAdd->GetHealth() < health) + if (Unit* pAdd = Unit::GetUnit(*m_creature, Adds[i]->guid)) + if (pAdd->isAlive() && pAdd->GetHealth() < health) target = pAdd; DoCast(target, SPELL_FLASH_HEAL); HealTimer = 15000; }else HealTimer -= diff; - if(RenewTimer < diff) + if (RenewTimer < diff) { Unit* target = m_creature; - if(rand()%2 == 1) + if (rand()%2 == 1) { std::vector<Add*>::iterator itr = Adds.begin() + rand()%Adds.size(); Unit* pAdd = Unit::GetUnit(*m_creature, (*itr)->guid); - if(pAdd && pAdd->isAlive()) + if (pAdd && pAdd->isAlive()) target = pAdd; } DoCast(target,Heroic ? SPELL_RENEW_HEROIC : SPELL_RENEW_NORMAL); @@ -286,44 +277,44 @@ struct TRINITY_DLL_DECL boss_priestess_delrissaAI : public ScriptedAI if(ShieldTimer < diff) { Unit* target = m_creature; - if(rand()%2 == 1) + if (rand()%2 == 1) { std::vector<Add*>::iterator itr = Adds.begin() + rand()%Adds.size(); - if(Unit* pAdd = Unit::GetUnit(*m_creature, (*itr)->guid)) - if(!pAdd->HasAura(SPELL_SHIELD, 0) && pAdd->isAlive()) + if (Unit* pAdd = Unit::GetUnit(*m_creature, (*itr)->guid)) + if (!pAdd->HasAura(SPELL_SHIELD, 0) && pAdd->isAlive()) target = pAdd; } DoCast(target, SPELL_SHIELD); ShieldTimer = 7500; }else ShieldTimer -= diff; - if(DispelTimer < diff) + if (DispelTimer < diff) { Unit* target = NULL; bool friendly = false; - if(rand()%2 == 1) + if (rand()%2 == 1) target = SelectUnit(SELECT_TARGET_RANDOM, 0); else { friendly = true; - if(rand()%2 == 1) + if (rand()%2 == 1) target = m_creature; else { std::vector<Add*>::iterator itr = Adds.begin() + rand()%Adds.size(); Unit* pAdd = Unit::GetUnit(*m_creature, (*itr)->guid); - if(pAdd && pAdd->isAlive()) + if (pAdd && pAdd->isAlive()) target = pAdd; } } - if(target) + if (target) { DoCast(target, SPELL_DISPEL_MAGIC); DispelTimer = 12000; } }else DispelTimer -= diff; - if(SWPainTimer < diff) + if (SWPainTimer < diff) { DoCast(SelectUnit(SELECT_TARGET_RANDOM, 0),Heroic ? SPELL_SW_PAIN_HEROIC : SPELL_SW_PAIN_NORMAL); SWPainTimer = 10000; @@ -370,12 +361,7 @@ struct TRINITY_DLL_DECL boss_priestess_guestAI : public ScriptedAI void Reset() { UsedPotion = false; - if(pInstance) - { - Creature *boss = ((Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_DELRISSA))); - if (boss && boss->isDead()) - boss->Respawn(); - } + ResetThreatTimer = 5000 + rand()%15000; // These guys like to switch targets often, and are not meant to be tanked. } @@ -383,46 +369,47 @@ struct TRINITY_DLL_DECL boss_priestess_guestAI : public ScriptedAI void JustDied(Unit* killer) { - if(!pInstance) + if (!pInstance) { error_log(ERROR_INST_DATA); return; } Creature* Delrissa = ((Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_DELRISSA))); - if(Delrissa) + if (Delrissa) { + pInstance->SetData(DATA_DELRISSA_DEATH_COUNT, 1); + ((boss_priestess_delrissaAI*)Delrissa->AI())->KilledLackey(); - if(!Delrissa->isAlive() && pInstance->GetData(DATA_DELRISSA_DEATH_COUNT) > 3) - ((boss_priestess_delrissaAI*)Delrissa->AI())->CheckLootable(); - pInstance->SetData(DATA_DELRISSA_DEATH_COUNT, 1); + if (!Delrissa->isAlive() && pInstance->GetData(DATA_DELRISSA_DEATH_COUNT) > 3) + Delrissa->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); } } void KilledUnit(Unit* victim) { - if(!pInstance) + if (!pInstance) { error_log(ERROR_INST_DATA); return; } Creature* Delrissa = ((Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_DELRISSA))); - if(Delrissa) + if (Delrissa) Delrissa->AI()->KilledUnit(victim); } void AcquireGUIDs() { - if(!pInstance) + if (!pInstance) { error_log(ERROR_INST_DATA); return; } Creature* Delrissa = ((Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_DELRISSA))); - if(Delrissa) + if (Delrissa) { Group = ((boss_priestess_delrissaAI*)Delrissa->AI())->Adds; Add* dAdd = new Add(Delrissa->GetEntry(), Delrissa->GetGUID()); @@ -432,13 +419,13 @@ struct TRINITY_DLL_DECL boss_priestess_guestAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 25) && !UsedPotion) + if (((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 25) && !UsedPotion) { DoCast(m_creature, SPELL_HEALING_POTION, true); UsedPotion = true; } - if(ResetThreatTimer < diff) + if (ResetThreatTimer < diff) { DoResetThreat(); ResetThreatTimer = 5000 + rand()%15000; @@ -480,12 +467,12 @@ struct TRINITY_DLL_DECL boss_kagani_nightstrikeAI : public boss_priestess_guestA void UpdateAI(const uint32 diff) { - if(!UpdateVictim() ) + if (!UpdateVictim()) return; boss_priestess_guestAI::UpdateAI(diff); - if(Vanish_Timer < diff) + if (Vanish_Timer < diff) { m_creature->SetVisibility(VISIBILITY_OFF); // ...? Hacklike DoCast(m_creature, SPELL_VANISH); @@ -496,35 +483,36 @@ struct TRINITY_DLL_DECL boss_kagani_nightstrikeAI : public boss_priestess_guestA m_creature->AddThreat(SelectUnit(SELECT_TARGET_RANDOM, 0), 1000.0f); }else Vanish_Timer -= diff; - if(InVanish) - if(Wait_Timer < diff) + if (InVanish) { - DoCast(m_creature->getVictim(), SPELL_BACKSTAB, true); - DoCast(m_creature->getVictim(), SPELL_KIDNEY_SHOT, true); - m_creature->SetVisibility(VISIBILITY_ON); // ...? Hacklike - InVanish = false; - }else Wait_Timer -= diff; + if (Wait_Timer < diff) + { + DoCast(m_creature->getVictim(), SPELL_BACKSTAB, true); + DoCast(m_creature->getVictim(), SPELL_KIDNEY_SHOT, true); + m_creature->SetVisibility(VISIBILITY_ON); // ...? Hacklike + InVanish = false; + }else Wait_Timer -= diff; + } - if(Gouge_Timer < diff) + if (Gouge_Timer < diff) { DoCast(m_creature->getVictim(), SPELL_GOUGE); - DoModifyThreatPercent(m_creature->getVictim(),-100); Gouge_Timer = 5500; }else Gouge_Timer -= diff; - if(Kick_Timer < diff) + if (Kick_Timer < diff) { DoCast(m_creature->getVictim(), SPELL_KICK); Kick_Timer = 7000; }else Kick_Timer -= diff; - if(Eviscerate_Timer < diff) + if (Eviscerate_Timer < diff) { DoCast(m_creature->getVictim(), SPELL_EVISCERATE); Eviscerate_Timer = 4000; }else Eviscerate_Timer -= diff; - if(!InVanish) + if (!InVanish) DoMeleeAttackIfReady(); } }; @@ -559,7 +547,8 @@ struct TRINITY_DLL_DECL boss_kagani_nightstrikeAI : public boss_priestess_guestA void UpdateAI(const uint32 diff) { - if (!UpdateVictim() ) + //Return since we have no target + if (!UpdateVictim()) return; //Chain cast @@ -572,9 +561,7 @@ struct TRINITY_DLL_DECL boss_kagani_nightstrikeAI : public boss_priestess_guestA struct TRINITY_DLL_DECL boss_ellris_duskhallowAI : public boss_priestess_guestAI { //Warlock - boss_ellris_duskhallowAI(Creature *c) : boss_priestess_guestAI(c) - { - } + boss_ellris_duskhallowAI(Creature *c) : boss_priestess_guestAI(c) {} bool HasSummonedImp; @@ -586,7 +573,7 @@ struct TRINITY_DLL_DECL boss_ellris_duskhallowAI : public boss_priestess_guestAI void Reset() { - //HasSummonedImp = false; + HasSummonedImp = false; Immolate_Timer = 6000; Shadow_Bolt_Timer = 3000; @@ -604,51 +591,49 @@ struct TRINITY_DLL_DECL boss_ellris_duskhallowAI : public boss_priestess_guestAI void UpdateAI(const uint32 diff) { - if(!HasSummonedImp) + if (!HasSummonedImp) { //Imp will not despawn unless it's killed, even if owner dies, this is correct way. DoCast(m_creature,SPELL_SUMMON_IMP); HasSummonedImp = true; } - if(!UpdateVictim() ) + if (!UpdateVictim()) return; boss_priestess_guestAI::UpdateAI(diff); - if(Immolate_Timer < diff) + if (Immolate_Timer < diff) { DoCast(m_creature->getVictim(),SPELL_IMMOLATE); Immolate_Timer = 6000; }else Immolate_Timer -= diff; - if(Shadow_Bolt_Timer < diff) + if (Shadow_Bolt_Timer < diff) { DoCast(m_creature->getVictim(),SPELL_SHADOW_BOLT); Shadow_Bolt_Timer = 5000; }else Shadow_Bolt_Timer -= diff; - if(Seed_of_Corruption_Timer < diff) + if (Seed_of_Corruption_Timer < diff) { DoCast(SelectUnit(SELECT_TARGET_RANDOM, 0), SPELL_SEED_OF_CORRUPTION); Seed_of_Corruption_Timer = 10000; }else Seed_of_Corruption_Timer -= diff; - if(Curse_of_Agony_Timer < diff) + if (Curse_of_Agony_Timer < diff) { DoCast(SelectUnit(SELECT_TARGET_RANDOM, 0), SPELL_CURSE_OF_AGONY); Curse_of_Agony_Timer = 13000; }else Curse_of_Agony_Timer -= diff; - if(Fear_Timer < diff) + if (Fear_Timer < diff) { DoCast(SelectUnit(SELECT_TARGET_RANDOM, 0), SPELL_FEAR); Fear_Timer = 10000; }else Fear_Timer -= diff; - if (m_creature->GetDistance(m_creature->getVictim()) <= 10) - m_creature->StopMoving(); - //DoMeleeAttackIfReady();//should not melee, she's a warlock + DoMeleeAttackIfReady(); } }; @@ -685,18 +670,18 @@ struct TRINITY_DLL_DECL boss_eramas_brightblazeAI : public boss_priestess_guestA void UpdateAI(const uint32 diff) { - if(!UpdateVictim() ) + if (!UpdateVictim()) return; boss_priestess_guestAI::UpdateAI(diff); - if(Knockdown_Timer < diff) + if (Knockdown_Timer < diff) { DoCast(m_creature->getVictim(),SPELL_KNOCKDOWN); Knockdown_Timer = 6000; }else Knockdown_Timer -= diff; - if(Snap_Kick_Timer < diff) + if (Snap_Kick_Timer < diff) { DoCast(m_creature->getVictim(),SPELL_SNAP_KICK); Snap_Kick_Timer = 4500; @@ -717,7 +702,7 @@ struct TRINITY_DLL_DECL boss_eramas_brightblazeAI : public boss_priestess_guestA struct TRINITY_DLL_DECL boss_yazzaiAI : public boss_priestess_guestAI { //Mage - boss_yazzaiAI(Creature *c) : boss_priestess_guestAI(c) {} + boss_yazzaiAI(Creature *c) : boss_priestess_guestAI(c) {} bool HasIceBlocked; @@ -748,83 +733,75 @@ struct TRINITY_DLL_DECL boss_yazzaiAI : public boss_priestess_guestAI void UpdateAI(const uint32 diff) { - if(!UpdateVictim() ) + if (!UpdateVictim()) return; boss_priestess_guestAI::UpdateAI(diff); - if(Polymorph_Timer < diff) + if (Polymorph_Timer < diff) { if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0)) { DoCast(target, SPELL_POLYMORPH); - DoModifyThreatPercent(target,-100); Polymorph_Timer = 20000; } }else Polymorph_Timer -= diff; - if(((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 35) && !HasIceBlocked) + if (((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 35) && !HasIceBlocked) { DoCast(m_creature, SPELL_ICE_BLOCK); HasIceBlocked = true; } - if(Blizzard_Timer < diff) + if (Blizzard_Timer < diff) { DoCast(SelectUnit(SELECT_TARGET_RANDOM, 0), SPELL_BLIZZARD); Blizzard_Timer = 8000; }else Blizzard_Timer -= diff; - if(Ice_Lance_Timer < diff) + if (Ice_Lance_Timer < diff) { DoCast(m_creature->getVictim(), SPELL_ICE_LANCE); Ice_Lance_Timer = 12000; }else Ice_Lance_Timer -= diff; - if(Cone_of_Cold_Timer < diff) + if (Cone_of_Cold_Timer < diff) { DoCast(m_creature->getVictim(), SPELL_CONE_OF_COLD); Cone_of_Cold_Timer = 10000; }else Cone_of_Cold_Timer -= diff; - if(Frostbolt_Timer < diff) + if (Frostbolt_Timer < diff) { DoCast(m_creature->getVictim(), SPELL_FROSTBOLT); Frostbolt_Timer = 8000; }else Frostbolt_Timer -= diff; - if(Blink_Timer < diff) + if (Blink_Timer < diff) { bool InMeleeRange = false; std::list<HostilReference*>& t_list = m_creature->getThreatManager().getThreatList(); for(std::list<HostilReference*>::iterator itr = t_list.begin(); itr!= t_list.end(); ++itr) { - if(Unit* target = Unit::GetUnit(*m_creature, (*itr)->getUnitGuid())) + if (Unit* target = Unit::GetUnit(*m_creature, (*itr)->getUnitGuid())) + { //if in melee range if (target->IsWithinDistInMap(m_creature, 5)) { InMeleeRange = true; break; } + } } + //if anybody is in melee range than escape by blink - if(InMeleeRange) - { - //DoCast(m_creature, SPELL_BLINK); //blink does not work on npcs - float x,y,z; - m_creature->GetPosition(x,y,z); - x = rand()%2 ? x+10+rand()%10 : x-10-rand()%10; - y = rand()%2 ? y+10+rand()%10 : y-10-rand()%10; - m_creature->Relocate(x,y,z); - m_creature->SendMonsterMove(x, y, m_creature->GetPositionZ(), 0,0,0); - } + if (InMeleeRange) + DoCast(m_creature, SPELL_BLINK); + Blink_Timer = 8000; }else Blink_Timer -= diff; - if (m_creature->GetDistance(m_creature->getVictim()) <= 10) - m_creature->StopMoving(); - - //DoMeleeAttackIfReady(); //mage type, no melee needed + DoMeleeAttackIfReady(); } }; @@ -857,6 +834,7 @@ struct TRINITY_DLL_DECL boss_warlord_salarisAI : public boss_priestess_guestAI Hamstring_Timer = 4500; Mortal_Strike_Timer = 8000; DoCast(m_creature, SPELL_BATTLE_SHOUT); + boss_priestess_guestAI::Reset(); } @@ -867,56 +845,60 @@ struct TRINITY_DLL_DECL boss_warlord_salarisAI : public boss_priestess_guestAI void UpdateAI(const uint32 diff) { - if(!UpdateVictim() ) + if (!UpdateVictim()) return; boss_priestess_guestAI::UpdateAI(diff); - if(Intercept_Stun_Timer < diff) + if (Intercept_Stun_Timer < diff) { bool InMeleeRange = false; std::list<HostilReference*>& t_list = m_creature->getThreatManager().getThreatList(); for(std::list<HostilReference*>::iterator itr = t_list.begin(); itr!= t_list.end(); ++itr) { - if(Unit* target = Unit::GetUnit(*m_creature, (*itr)->getUnitGuid())) - //if in melee range - if (target->IsWithinDistInMap(m_creature, 5)) + if (Unit* target = Unit::GetUnit(*m_creature, (*itr)->getUnitGuid())) { - InMeleeRange = true; - break; + //if in melee range + if (target->IsWithinDistInMap(m_creature, 5)) + { + InMeleeRange = true; + break; + } } } + //if nobody is in melee range than try to use Intercept - if(!InMeleeRange) + if (!InMeleeRange) DoCast(SelectUnit(SELECT_TARGET_RANDOM, 0), SPELL_INTERCEPT_STUN); + Intercept_Stun_Timer = 10000; }else Intercept_Stun_Timer -= diff; - if(Disarm_Timer < diff) + if (Disarm_Timer < diff) { DoCast(m_creature->getVictim(),SPELL_DISARM); Disarm_Timer = 6000; }else Disarm_Timer -= diff; - if(Hamstring_Timer < diff) + if (Hamstring_Timer < diff) { DoCast(m_creature->getVictim(), SPELL_HAMSTRING); Hamstring_Timer = 4500; }else Hamstring_Timer -= diff; - if(Mortal_Strike_Timer < diff) + if (Mortal_Strike_Timer < diff) { DoCast(m_creature->getVictim(), SPELL_MORTAL_STRIKE); Mortal_Strike_Timer = 4500; }else Mortal_Strike_Timer -= diff; - if(Piercing_Howl_Timer < diff) + if (Piercing_Howl_Timer < diff) { DoCast(m_creature->getVictim(), SPELL_PIERCING_HOWL); Piercing_Howl_Timer = 10000; }else Piercing_Howl_Timer -= diff; - if(Frightening_Shout_Timer < diff) + if (Frightening_Shout_Timer < diff) { DoCast(m_creature->getVictim(), SPELL_FRIGHTENING_SHOUT); Frightening_Shout_Timer = 18000; @@ -968,13 +950,11 @@ struct TRINITY_DLL_DECL boss_garaxxasAI : public boss_priestess_guestAI uint32 Multi_Shot_Timer; uint32 Wing_Clip_Timer; uint32 Freezing_Trap_Timer; - uint32 StopMoving; - bool Stopped; void Reset() { //SliverGUID = 0; - //HasSummonedSliver = false; + HasSummonedSliver = false; Aimed_Shot_Timer = 6000; Shoot_Timer = 2500; @@ -982,8 +962,6 @@ struct TRINITY_DLL_DECL boss_garaxxasAI : public boss_priestess_guestAI Multi_Shot_Timer = 10000; Wing_Clip_Timer = 4000; Freezing_Trap_Timer = 15000; - StopMoving = 2000; - Stopped = false; boss_priestess_guestAI::Reset(); } @@ -995,10 +973,10 @@ struct TRINITY_DLL_DECL boss_garaxxasAI : public boss_priestess_guestAI void UpdateAI(const uint32 diff) { - if(!HasSummonedSliver) + if (!HasSummonedSliver) { Creature* Sliver = m_creature->SummonCreature(CREATURE_SLIVER, 0, 0, 0, 0, TEMPSUMMON_CORPSE_DESPAWN, 0); - if(Sliver) + if (Sliver) { //((mob_sliverAI*)Sliver->AI())->GaraxxasGUID = m_creature->GetGUID(); //SliverGUID = Sliver->GetGUID(); @@ -1006,64 +984,53 @@ struct TRINITY_DLL_DECL boss_garaxxasAI : public boss_priestess_guestAI } } - if(!UpdateVictim() ) + if (!UpdateVictim()) return; boss_priestess_guestAI::UpdateAI(diff); - if(m_creature->IsWithinDistInMap(m_creature->getVictim(), 5)) + if (m_creature->IsWithinDistInMap(m_creature->getVictim(), 5.0f)) { - if(Wing_Clip_Timer < diff) + if (Wing_Clip_Timer < diff) { DoCast(m_creature->getVictim(), SPELL_WING_CLIP); Wing_Clip_Timer = 4000; }else Wing_Clip_Timer -= diff; - if(Freezing_Trap_Timer < diff) + if (Freezing_Trap_Timer < diff) { DoCast(m_creature->getVictim(), SPELL_FREEZING_TRAP); - DoModifyThreatPercent(m_creature->getVictim(),-100); Freezing_Trap_Timer = 30000; }else Freezing_Trap_Timer -= diff; - if(!m_creature->getVictim()->hasUnitState(UNIT_STAT_STUNNED | UNIT_STAT_ROOT | UNIT_STAT_CONFUSED | UNIT_STAT_DISTRACTED)) - DoMeleeAttackIfReady(); - }else + DoMeleeAttackIfReady(); + } + else { - if(Concussive_Shot_Timer < diff) + if (Concussive_Shot_Timer < diff) { DoCast(m_creature->getVictim(), SPELL_CONCUSSIVE_SHOT); Concussive_Shot_Timer = 8000; }else Concussive_Shot_Timer -= diff; - if(Multi_Shot_Timer < diff) + if (Multi_Shot_Timer < diff) { DoCast(m_creature->getVictim(), SPELL_MULTI_SHOT); Multi_Shot_Timer = 10000; }else Multi_Shot_Timer -= diff; - if(Aimed_Shot_Timer < diff) + if (Aimed_Shot_Timer < diff) { DoCast(m_creature->getVictim(), SPELL_AIMED_SHOT); Aimed_Shot_Timer = 6000; }else Aimed_Shot_Timer -= diff; - if(Shoot_Timer < diff) + if (Shoot_Timer < diff) { DoCast(m_creature->getVictim(), SPELL_SHOOT); Shoot_Timer = 2500; }else Shoot_Timer -= diff; } - if(StopMoving < diff) - { - if(Stopped) - Stopped = false; - else - Stopped = true; - StopMoving = 2000+rand()%5000; - }else StopMoving -= diff; - if (Stopped) - m_creature->StopMoving(); } }; @@ -1113,12 +1080,12 @@ struct TRINITY_DLL_DECL boss_apokoAI : public boss_priestess_guestAI void UpdateAI(const uint32 diff) { - if(!UpdateVictim() ) + if (!UpdateVictim()) return; boss_priestess_guestAI::UpdateAI(diff); - if(Totem_Timer < diff) + if (Totem_Timer < diff) { switch(rand()%3) { @@ -1130,25 +1097,25 @@ struct TRINITY_DLL_DECL boss_apokoAI : public boss_priestess_guestAI Totem_Timer = Totem_Amount*2000; }else Totem_Timer -= diff; - if(War_Stomp_Timer < diff) + if (War_Stomp_Timer < diff) { DoCast(m_creature, SPELL_WAR_STOMP); War_Stomp_Timer = 10000; }else War_Stomp_Timer -= diff; - if(Purge_Timer < diff) + if (Purge_Timer < diff) { DoCast(SelectUnit(SELECT_TARGET_RANDOM, 0), SPELL_PURGE); Purge_Timer = 15000; }else Purge_Timer -= diff; - if(Frost_Shock_Timer < diff) + if (Frost_Shock_Timer < diff) { DoCast(m_creature->getVictim(), SPELL_FROST_SHOCK); Frost_Shock_Timer = 7000; }else Frost_Shock_Timer -= diff; - if(Healing_Wave_Timer < diff) + if (Healing_Wave_Timer < diff) { // std::vector<Add*>::iterator itr = Group.begin() + rand()%Group.size(); // uint64 guid = (*itr)->guid; @@ -1200,44 +1167,45 @@ struct TRINITY_DLL_DECL boss_zelfanAI : public boss_priestess_guestAI void UpdateAI(const uint32 diff) { - if(!UpdateVictim() ) + if (!UpdateVictim()) return; boss_priestess_guestAI::UpdateAI(diff); - if(Goblin_Dragon_Gun_Timer < diff) + if (Goblin_Dragon_Gun_Timer < diff) { - if (m_creature->GetDistance(m_creature->getVictim()) <= 5) - { - Goblin_Dragon_Gun_Timer = 10000; - DoCast(m_creature->getVictim(), SPELL_GOBLIN_DRAGON_GUN); - }else Goblin_Dragon_Gun_Timer = 2000; + DoCast(m_creature->getVictim(), SPELL_GOBLIN_DRAGON_GUN); + Goblin_Dragon_Gun_Timer = 10000; }else Goblin_Dragon_Gun_Timer -= diff; - if(Rocket_Launch_Timer < diff) + if (Rocket_Launch_Timer < diff) { DoCast(m_creature->getVictim(), SPELL_ROCKET_LAUNCH); Rocket_Launch_Timer = 9000; }else Rocket_Launch_Timer -= diff; - if(Fel_Iron_Bomb_Timer < diff) + if (Fel_Iron_Bomb_Timer < diff) { DoCast(m_creature->getVictim(), SPELL_FEL_IRON_BOMB); Fel_Iron_Bomb_Timer = 15000; }else Fel_Iron_Bomb_Timer -= diff; - if(Recombobulate_Timer < diff) + if (Recombobulate_Timer < diff) { for(uint8 i = 0; i < Group.size(); ++i) - if(Unit* pAdd = Unit::GetUnit(*m_creature, Group[i]->guid)) - if(pAdd->IsPolymorphed()) + { + if (Unit* pAdd = Unit::GetUnit(*m_creature, Group[i]->guid)) + { + if (pAdd->IsPolymorphed()) { DoCast(pAdd, SPELL_RECOMBOBULATE); break; } + } + } }else Recombobulate_Timer -= diff; - if(High_Explosive_Sheep_Timer < diff) + if (High_Explosive_Sheep_Timer < diff) { DoCast(m_creature, SPELL_HIGH_EXPLOSIVE_SHEEP); High_Explosive_Sheep_Timer = 65000; @@ -1337,62 +1305,62 @@ void AddSC_boss_priestess_delrissa() Script *newscript; newscript = new Script; - newscript->Name="boss_priestess_delrissa"; + newscript->Name = "boss_priestess_delrissa"; newscript->GetAI = &GetAI_boss_priestess_delrissa; newscript->RegisterSelf(); newscript = new Script; - newscript->Name="boss_kagani_nightstrike"; + newscript->Name = "boss_kagani_nightstrike"; newscript->GetAI = &GetAI_boss_kagani_nightstrike; newscript->RegisterSelf(); newscript = new Script; - newscript->Name="boss_ellris_duskhallow"; + newscript->Name = "boss_ellris_duskhallow"; newscript->GetAI = &GetAI_ellris_duskhallow; newscript->RegisterSelf(); newscript = new Script; - newscript->Name="boss_eramas_brightblaze"; + newscript->Name = "boss_eramas_brightblaze"; newscript->GetAI = &GetAI_eramas_brightblaze; newscript->RegisterSelf(); newscript = new Script; - newscript->Name="boss_yazzai"; + newscript->Name = "boss_yazzai"; newscript->GetAI = &GetAI_yazzai; newscript->RegisterSelf(); newscript = new Script; - newscript->Name="boss_warlord_salaris"; + newscript->Name = "boss_warlord_salaris"; newscript->GetAI = &GetAI_warlord_salaris; newscript->RegisterSelf(); newscript = new Script; - newscript->Name="boss_garaxxas"; + newscript->Name = "boss_garaxxas"; newscript->GetAI = &GetAI_garaxxas; newscript->RegisterSelf(); newscript = new Script; - newscript->Name="boss_apoko"; + newscript->Name = "boss_apoko"; newscript->GetAI = &GetAI_apoko; newscript->RegisterSelf(); newscript = new Script; - newscript->Name="boss_zelfan"; + newscript->Name = "boss_zelfan"; newscript->GetAI = &GetAI_zelfan; newscript->RegisterSelf(); /*newscript = new Script; - newscript->Name="mob_high_explosive_sheep"; + newscript->Name = "mob_high_explosive_sheep"; newscript->GetAI = &GetAI_mob_high_explosive_sheep; newscript->RegisterSelf();*/ /*newscript = new Script; - newscript->Name="mob_fizzle"; + newscript->Name = "mob_fizzle"; newscript->GetAI = &GetAI_mob_fizzle; newscript->RegisterSelf();*/ /*newscript = new Script; - newscript->Name="mob_sliver"; + newscript->Name = "mob_sliver"; newscript->GetAI = &GetAI_mob_sliver; newscript->RegisterSelf();*/ } diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp index 219a773039b..0b03f115058 100644 --- a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp +++ b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -6,12 +6,12 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* ScriptData @@ -32,7 +32,7 @@ EndScriptData */ #define SAY_DEATH -1585005 #define EMOTE_CRYSTAL -1585006 -//Crystal efect spells +//Crystal effect spells #define SPELL_FEL_CRYSTAL_COSMETIC 44374 #define SPELL_FEL_CRYSTAL_DUMMY 44329 #define SPELL_FEL_CRYSTAL_VISUAL 44355 @@ -56,8 +56,8 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI pInstance = ((ScriptedInstance*)c->GetInstanceData()); Crystals.clear(); - // GUIDs per instance is static, so we only need to load them once. - if(pInstance) + //GUIDs per instance is static, so we only need to load them once. + if (pInstance) { uint32 size = pInstance->GetData(DATA_FEL_CRYSTAL_SIZE); for(uint8 i = 0; i < size; ++i) @@ -72,6 +72,7 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI } ScriptedInstance* pInstance; + bool Heroic; std::list<uint64> Crystals; @@ -79,23 +80,23 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI uint32 DrainManaTimer; uint32 FelExplosionTimer; uint32 DrainCrystalTimer; - uint32 CheckTimer; + uint32 EmpowerTimer; bool IsDraining; bool DrainingCrystal; - bool Heroic; + uint64 CrystalGUID; // This will help us create a pointer to the crystal we are draining. We store GUIDs, never units in case unit is deleted/offline (offline if player of course). void Reset() { - if(pInstance) + if (pInstance) { //for(uint8 i = 0; i < CRYSTALS_NUMBER; ++i) for(std::list<uint64>::iterator itr = Crystals.begin(); itr != Crystals.end(); ++itr) { //Unit* pUnit = Unit::GetUnit(*m_creature, FelCrystals[i]); Unit* pUnit = Unit::GetUnit(*m_creature, *itr); - if(pUnit) + if (pUnit) { if(!pUnit->isAlive()) ((Creature*)pUnit)->Respawn(); // Let MaNGOS handle setting death state, etc. @@ -104,14 +105,13 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI pUnit->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); } } + GameObject* Door = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_SELIN_ENCOUNTER_DOOR)); - if( Door ) + if (Door) Door->SetGoState(0); // Open the big encounter door. Close it in Aggro and open it only in JustDied(and here) // Small door opened after event are expected to be closed by default // Set Inst data for encounter - if (m_creature->isDead()) - pInstance->SetData(DATA_SELIN_EVENT, DONE); - else pInstance->SetData(DATA_SELIN_EVENT, NOT_STARTED); + pInstance->SetData(DATA_SELIN_EVENT, NOT_STARTED); }else error_log(ERROR_INST_DATA); DrainLifeTimer = 3000 + rand()%4000; @@ -119,7 +119,7 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI FelExplosionTimer = 2100; DrainCrystalTimer = 10000 + rand()%5000; DrainCrystalTimer = 20000 + rand()%5000; - CheckTimer = 1000; + EmpowerTimer = 10000; IsDraining = false; DrainingCrystal = false; @@ -128,7 +128,7 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI void SelectNearestCrystal() { - if(Crystals.empty()) + if (Crystals.empty()) return; float ShortestDistance = 0; @@ -141,9 +141,9 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI pCrystal = NULL; //pCrystal = Unit::GetUnit(*m_creature, FelCrystals[i]); pCrystal = Unit::GetUnit(*m_creature, *itr); - if(pCrystal && pCrystal->isAlive()) + if (pCrystal && pCrystal->isAlive()) { - if(!ShortestDistance || (ShortestDistance > m_creature->GetDistance2d(pCrystal))) + if (!ShortestDistance || (ShortestDistance > m_creature->GetDistance2d(pCrystal))) { ShortestDistance = m_creature->GetDistance2d(pCrystal); CrystalGUID = pCrystal->GetGUID(); @@ -151,7 +151,7 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI } } } - if( CrystalChosen ) + if (CrystalChosen) { DoScriptText(SAY_ENERGY, m_creature); DoScriptText(EMOTE_CRYSTAL, m_creature); @@ -169,7 +169,7 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI void ShatterRemainingCrystals() { - if(Crystals.empty()) + if (Crystals.empty()) return; //for(uint8 i = 0; i < CRYSTALS_NUMBER; ++i) @@ -177,20 +177,19 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI { //Creature* pCrystal = ((Creature*)Unit::GetUnit(*m_creature, FelCrystals[i])); Creature* pCrystal = ((Creature*)Unit::GetUnit(*m_creature, *itr)); - if( pCrystal && pCrystal->isAlive()) + if (pCrystal && pCrystal->isAlive()) pCrystal->DealDamage(pCrystal, pCrystal->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); } } void Aggro(Unit* who) { - m_creature->SetPower(POWER_MANA, 0); DoScriptText(SAY_AGGRO, m_creature); - if( pInstance ) + if (pInstance) { GameObject* EncounterDoor = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_SELIN_ENCOUNTER_DOOR)); - if( EncounterDoor ) + if (EncounterDoor) EncounterDoor->SetGoState(1); //Close the encounter door, open it in JustDied/Reset } } @@ -199,17 +198,17 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI { switch(rand()%2) { - case 0: DoScriptText(SAY_KILL_1, m_creature); break; - case 1: DoScriptText(SAY_KILL_2, m_creature); break; + case 0: DoScriptText(SAY_KILL_1, m_creature); break; + case 1: DoScriptText(SAY_KILL_2, m_creature); break; } } void MovementInform(uint32 type, uint32 id) { - if(type == POINT_MOTION_TYPE && id == 1) + if (type == POINT_MOTION_TYPE && id == 1) { Unit* CrystalChosen = Unit::GetUnit(*m_creature, CrystalGUID); - if(CrystalChosen && CrystalChosen->isAlive()) + if (CrystalChosen && CrystalChosen->isAlive()) { // Make the crystal attackable // We also remove NON_ATTACKABLE in case the database has it set. @@ -230,7 +229,7 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI { DoScriptText(SAY_DEATH, m_creature); - if(!pInstance) + if (!pInstance) { error_log(ERROR_INST_DATA); return; @@ -239,35 +238,36 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI pInstance->SetData(DATA_SELIN_EVENT, DONE); // Encounter complete! GameObject* EncounterDoor = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_SELIN_ENCOUNTER_DOOR)); - if( EncounterDoor ) + if (EncounterDoor) EncounterDoor->SetGoState(0); // Open the encounter door GameObject* ContinueDoor = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_SELIN_DOOR)); - if( ContinueDoor ) + if (ContinueDoor) ContinueDoor->SetGoState(0); // Open the door leading further in + ShatterRemainingCrystals(); } void UpdateAI(const uint32 diff) { - if(!UpdateVictim()) + if (!UpdateVictim()) return; - if(!DrainingCrystal) + if (!DrainingCrystal) { uint32 maxPowerMana = m_creature->GetMaxPower(POWER_MANA); - if( maxPowerMana && ((m_creature->GetPower(POWER_MANA)*100 / maxPowerMana) < 10) ) + if (maxPowerMana && ((m_creature->GetPower(POWER_MANA)*100 / maxPowerMana) < 10)) { - if( DrainLifeTimer < diff ) + if (DrainLifeTimer < diff) { DoCast(SelectUnit(SELECT_TARGET_RANDOM, 0), SPELL_DRAIN_LIFE); DrainLifeTimer = 10000; }else DrainLifeTimer -= diff; // Heroic only - if( Heroic ) + if (Heroic) { - if( DrainManaTimer < diff ) + if (DrainManaTimer < diff) { DoCast(SelectUnit(SELECT_TARGET_RANDOM, 0), SPELL_DRAIN_MANA); DrainManaTimer = 10000; @@ -275,9 +275,9 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI } } - if( FelExplosionTimer < diff ) + if (FelExplosionTimer < diff) { - if(!m_creature->IsNonMeleeSpellCasted(false)) + if (!m_creature->IsNonMeleeSpellCasted(false)) { DoCast(m_creature, SPELL_FEL_EXPLOSION); FelExplosionTimer = 2000; @@ -286,48 +286,40 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI // If below 10% mana, start recharging maxPowerMana = m_creature->GetMaxPower(POWER_MANA); - if( maxPowerMana && ((m_creature->GetPower(POWER_MANA)*100 / maxPowerMana) < 10) ) + if (maxPowerMana && ((m_creature->GetPower(POWER_MANA)*100 / maxPowerMana) < 10)) { - if(DrainCrystalTimer < diff) + if (DrainCrystalTimer < diff) { SelectNearestCrystal(); - if(Heroic) DrainCrystalTimer = 10000 + rand()%5000; - else DrainCrystalTimer = 20000 + rand()%5000; + if (Heroic) DrainCrystalTimer = 10000 + rand()%5000; + else DrainCrystalTimer = 20000 + rand()%5000; }else DrainCrystalTimer -= diff; } }else { - if( IsDraining ) + if (IsDraining) { - if (CheckTimer < diff) + if (EmpowerTimer < diff) { + IsDraining = false; + DrainingCrystal = false; + + DoScriptText(SAY_EMPOWERED, m_creature); + Unit* CrystalChosen = Unit::GetUnit(*m_creature, CrystalGUID); - if(CrystalChosen) - { - if(CrystalChosen->GetUInt32Value(UNIT_CHANNEL_SPELL) == SPELL_MANA_RAGE) - { - m_creature->StopMoving(); - }else{ - IsDraining = false; - DrainingCrystal = false; - - DoScriptText(SAY_EMPOWERED, m_creature); - - Unit* CrystalChosen = Unit::GetUnit(*m_creature, CrystalGUID); - if( CrystalChosen && CrystalChosen->isAlive() ) - // Use Deal Damage to kill it, not setDeathState. - CrystalChosen->DealDamage(CrystalChosen, CrystalChosen->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); - CrystalGUID = 0; - - m_creature->GetMotionMaster()->Clear(); - m_creature->GetMotionMaster()->MoveChase(m_creature->getVictim()); - } - } - CheckTimer = 1000; - }else CheckTimer -= diff; + if (CrystalChosen && CrystalChosen->isAlive()) + // Use Deal Damage to kill it, not setDeathState. + CrystalChosen->DealDamage(CrystalChosen, CrystalChosen->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); + + CrystalGUID = 0; + + m_creature->GetMotionMaster()->Clear(); + m_creature->GetMotionMaster()->MoveChase(m_creature->getVictim()); + }else EmpowerTimer -= diff; } } + DoMeleeAttackIfReady(); // No need to check if we are draining crystal here, as the spell has a stun. } }; @@ -349,19 +341,18 @@ struct TRINITY_DLL_DECL mob_fel_crystalAI : public ScriptedAI void JustDied(Unit* killer) { - m_creature->RemoveAurasDueToSpell(SPELL_MANA_RAGE); - if(ScriptedInstance* pInstance = ((ScriptedInstance*)m_creature->GetInstanceData())) + if (ScriptedInstance* pInstance = ((ScriptedInstance*)m_creature->GetInstanceData())) { Creature* Selin = ((Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_SELIN))); - if(Selin && Selin->isAlive()) + if (Selin && Selin->isAlive()) { - if(((boss_selin_fireheartAI*)Selin->AI())->CrystalGUID == m_creature->GetGUID()) + if (((boss_selin_fireheartAI*)Selin->AI())->CrystalGUID == m_creature->GetGUID()) { // Set this to false if we are the creature that Selin is draining so his AI flows properly ((boss_selin_fireheartAI*)Selin->AI())->DrainingCrystal = false; ((boss_selin_fireheartAI*)Selin->AI())->IsDraining = false; - Selin->RemoveAurasDueToSpell(SPELL_MANA_RAGE); - if(Selin->getVictim()) + ((boss_selin_fireheartAI*)Selin->AI())->EmpowerTimer = 10000; + if (Selin->getVictim()) { Selin->AI()->AttackStart(Selin->getVictim()); Selin->GetMotionMaster()->MoveChase(Selin->getVictim()); @@ -382,12 +373,12 @@ void AddSC_boss_selin_fireheart() Script *newscript; newscript = new Script; - newscript->Name="boss_selin_fireheart"; + newscript->Name = "boss_selin_fireheart"; newscript->GetAI = &GetAI_boss_selin_fireheart; newscript->RegisterSelf(); newscript = new Script; - newscript->Name="mob_fel_crystal"; + newscript->Name = "mob_fel_crystal"; newscript->GetAI = &GetAI_mob_fel_crystal; newscript->RegisterSelf(); } diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_vexallus.cpp b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_vexallus.cpp index e3ed21fcbea..d634164e4fd 100644 --- a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_vexallus.cpp +++ b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_vexallus.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -185,7 +185,7 @@ struct TRINITY_DLL_DECL mob_pure_energyAI : public ScriptedAI void Reset() { - EnergyBoltTimer = 1700; + EnergyBoltTimer = 1000; VisualTimer = 1000; m_creature->SetSpeed(MOVE_RUN, 0.5f); m_creature->SetSpeed(MOVE_WALK, 0.5f); diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/def_magisters_terrace.h b/src/bindings/scripts/scripts/zone/magisters_terrace/def_magisters_terrace.h index 7d52cbb7404..e35e8236be1 100644 --- a/src/bindings/scripts/scripts/zone/magisters_terrace/def_magisters_terrace.h +++ b/src/bindings/scripts/scripts/zone/magisters_terrace/def_magisters_terrace.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ @@ -20,12 +20,11 @@ #define DATA_DELRISSA_DOOR 11 #define DATA_SELIN_ENCOUNTER_DOOR 12 -#define DATA_KAEL_STATUE_LEFT 13 -#define DATA_KAEL_STATUE_RIGHT 14 +#define DATA_KAEL_DOOR 13 +#define DATA_KAEL_STATUE_LEFT 14 +#define DATA_KAEL_STATUE_RIGHT 15 -#define DATA_DELRISSA_DEATH_COUNT 15 +#define DATA_DELRISSA_DEATH_COUNT 16 -#define DATA_KAEL 16 - -#define ERROR_INST_DATA "SD2 Error: Instance Data not set properly for Magister's Terrace instance (map 585). Encounters will be buggy." +#define ERROR_INST_DATA "TSCR Error: Instance Data not set properly for Magister's Terrace instance (map 585). Encounters will be buggy." #endif diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/instance_magisters_terrace.cpp b/src/bindings/scripts/scripts/zone/magisters_terrace/instance_magisters_terrace.cpp index 018c86b065d..0b8ec081f11 100644 --- a/src/bindings/scripts/scripts/zone/magisters_terrace/instance_magisters_terrace.cpp +++ b/src/bindings/scripts/scripts/zone/magisters_terrace/instance_magisters_terrace.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -6,12 +6,12 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* ScriptData @@ -37,29 +37,25 @@ struct TRINITY_DLL_DECL instance_magisters_terrace : public ScriptedInstance { instance_magisters_terrace(Map* map) : ScriptedInstance(map) {Initialize();} - uint32 DoorState[3];//0seline, 1vexallus, 2derlissa uint32 Encounters[NUMBER_OF_ENCOUNTERS]; uint32 DelrissaDeathCount; std::list<uint64> FelCrystals; std::list<uint64>::iterator CrystalItr; - uint64 KaelGUID; uint64 SelinGUID; uint64 DelrissaGUID; uint64 VexallusDoorGUID; uint64 SelinDoorGUID; uint64 SelinEncounterDoorGUID; uint64 DelrissaDoorGUID; + uint64 KaelDoorGUID; uint64 KaelStatue[2]; bool InitializedItr; void Initialize() { - for(uint8 i = 0; i < 3; i++) - DoorState[i] = 1;//1 closed, 0 opened - for(uint8 i = 0; i < NUMBER_OF_ENCOUNTERS; i++) Encounters[i] = NOT_STARTED; @@ -67,13 +63,13 @@ struct TRINITY_DLL_DECL instance_magisters_terrace : public ScriptedInstance DelrissaDeathCount = 0; - KaelGUID = 0; SelinGUID = 0; DelrissaGUID = 0; VexallusDoorGUID = 0; SelinDoorGUID = 0; SelinEncounterDoorGUID = 0; DelrissaDoorGUID = 0; + KaelDoorGUID = 0; KaelStatue[0] = 0; KaelStatue[1] = 0; @@ -106,30 +102,9 @@ struct TRINITY_DLL_DECL instance_magisters_terrace : public ScriptedInstance { switch(identifier) { - case DATA_SELIN_EVENT: - Encounters[0] = data; - if(data==DONE) - { - DoorState[0] = 0; - SaveToDB(); - } - break; - case DATA_VEXALLUS_EVENT: - Encounters[1] = data; - if(data==DONE) - { - DoorState[1] = 0; - SaveToDB(); - } - break; - case DATA_DELRISSA_EVENT: - Encounters[2] = data; - if(data==DONE) - { - DoorState[2] = 0; - SaveToDB(); - } - break; + case DATA_SELIN_EVENT: Encounters[0] = data; break; + case DATA_VEXALLUS_EVENT: Encounters[1] = data; break; + case DATA_DELRISSA_EVENT: Encounters[2] = data; break; case DATA_KAELTHAS_EVENT: Encounters[3] = data; break; case DATA_DELRISSA_DEATH_COUNT: @@ -138,38 +113,13 @@ struct TRINITY_DLL_DECL instance_magisters_terrace : public ScriptedInstance } } - const char* Save() - { - std::ostringstream ss; - ss << "S " << DoorState[0] << " " << DoorState[1] << " " << DoorState[2]; - char* data = new char[ss.str().length()+1]; - strcpy(data, ss.str().c_str()); - return data; - } - - void Load(const char* load) - { - if(!load) return; - std::istringstream ss(load); - char dataHead; // S - uint32 data1, data2, data3; - ss >> dataHead >> data1 >> data2 >> data3; - if(dataHead == 'S') - { - DoorState[0] = data1; - DoorState[1] = data2; - DoorState[2] = data3; - }else error_log("SD2: Magister's Terrace: corrupted save data."); - } - void OnCreatureCreate(Creature *creature, uint32 entry) { - switch(entry) + switch(creature->GetEntry()) { case 24723: SelinGUID = creature->GetGUID(); break; case 24560: DelrissaGUID = creature->GetGUID(); break; case 24722: FelCrystals.push_back(creature->GetGUID()); break; - case 24664: KaelGUID = creature->GetGUID(); break; } } @@ -177,21 +127,13 @@ struct TRINITY_DLL_DECL instance_magisters_terrace : public ScriptedInstance { switch(go->GetEntry()) { - case 187896: - VexallusDoorGUID = go->GetGUID(); - go->SetGoState(DoorState[1]); - break; + case 187896: VexallusDoorGUID = go->GetGUID(); break; //SunwellRaid Gate 02 - case 187979: - SelinDoorGUID = go->GetGUID(); - go->SetGoState(DoorState[0]); - break; + case 187979: SelinDoorGUID = go->GetGUID(); break; //Assembly Chamber Door case 188065: SelinEncounterDoorGUID = go->GetGUID(); break; - case 187770: - DelrissaDoorGUID = go->GetGUID(); - go->SetGoState(DoorState[2]); - break; + case 187770: DelrissaDoorGUID = go->GetGUID(); break; + case 188064: KaelDoorGUID = go->GetGUID(); break; case 188165: KaelStatue[0] = go->GetGUID(); break; case 188166: KaelStatue[1] = go->GetGUID(); break; } @@ -202,12 +144,12 @@ struct TRINITY_DLL_DECL instance_magisters_terrace : public ScriptedInstance switch(identifier) { case DATA_SELIN: return SelinGUID; - case DATA_KAEL: return KaelGUID; case DATA_DELRISSA: return DelrissaGUID; case DATA_VEXALLUS_DOOR: return VexallusDoorGUID; case DATA_SELIN_DOOR: return SelinDoorGUID; case DATA_SELIN_ENCOUNTER_DOOR: return SelinEncounterDoorGUID; case DATA_DELRISSA_DOOR: return DelrissaDoorGUID; + case DATA_KAEL_DOOR: return KaelDoorGUID; case DATA_KAEL_STATUE_LEFT: return KaelStatue[0]; case DATA_KAEL_STATUE_RIGHT: return KaelStatue[1]; diff --git a/src/bindings/scripts/scripts/zone/maraudon/boss_celebras_the_cursed.cpp b/src/bindings/scripts/scripts/zone/maraudon/boss_celebras_the_cursed.cpp index f6d967945d5..b0e370727f8 100644 --- a/src/bindings/scripts/scripts/zone/maraudon/boss_celebras_the_cursed.cpp +++ b/src/bindings/scripts/scripts/zone/maraudon/boss_celebras_the_cursed.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/maraudon/boss_landslide.cpp b/src/bindings/scripts/scripts/zone/maraudon/boss_landslide.cpp index e296bedc92c..5272b4adbb8 100644 --- a/src/bindings/scripts/scripts/zone/maraudon/boss_landslide.cpp +++ b/src/bindings/scripts/scripts/zone/maraudon/boss_landslide.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/maraudon/boss_noxxion.cpp b/src/bindings/scripts/scripts/zone/maraudon/boss_noxxion.cpp index 0405bd6a8ce..8db16848bf7 100644 --- a/src/bindings/scripts/scripts/zone/maraudon/boss_noxxion.cpp +++ b/src/bindings/scripts/scripts/zone/maraudon/boss_noxxion.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/maraudon/boss_princess_theradras.cpp b/src/bindings/scripts/scripts/zone/maraudon/boss_princess_theradras.cpp index 6999d218691..e6e5538c7a2 100644 --- a/src/bindings/scripts/scripts/zone/maraudon/boss_princess_theradras.cpp +++ b/src/bindings/scripts/scripts/zone/maraudon/boss_princess_theradras.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_baron_geddon.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_baron_geddon.cpp index 4f74a48c431..ef606f341ee 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_baron_geddon.cpp +++ b/src/bindings/scripts/scripts/zone/molten_core/boss_baron_geddon.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_garr.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_garr.cpp index a9739a7b53b..41786ce48a0 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_garr.cpp +++ b/src/bindings/scripts/scripts/zone/molten_core/boss_garr.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_gehennas.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_gehennas.cpp index 8a1df315d1c..eb7e3659798 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_gehennas.cpp +++ b/src/bindings/scripts/scripts/zone/molten_core/boss_gehennas.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp index 76c19d26436..defac135e18 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp +++ b/src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_lucifron.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_lucifron.cpp index 44b8d556bac..cce048d3efa 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_lucifron.cpp +++ b/src/bindings/scripts/scripts/zone/molten_core/boss_lucifron.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_magmadar.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_magmadar.cpp index d57254132c9..8281cffcec3 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_magmadar.cpp +++ b/src/bindings/scripts/scripts/zone/molten_core/boss_magmadar.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_majordomo_executus.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_majordomo_executus.cpp index 17d45819a15..5879cf0380b 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_majordomo_executus.cpp +++ b/src/bindings/scripts/scripts/zone/molten_core/boss_majordomo_executus.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_ragnaros.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_ragnaros.cpp index d4304c6196d..677d74c96af 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_ragnaros.cpp +++ b/src/bindings/scripts/scripts/zone/molten_core/boss_ragnaros.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_shazzrah.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_shazzrah.cpp index 2773e988fb5..68ae19bcbdc 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_shazzrah.cpp +++ b/src/bindings/scripts/scripts/zone/molten_core/boss_shazzrah.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_sulfuron_harbinger.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_sulfuron_harbinger.cpp index c0ad09d36df..5d99bbcc17f 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_sulfuron_harbinger.cpp +++ b/src/bindings/scripts/scripts/zone/molten_core/boss_sulfuron_harbinger.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/molten_core/def_molten_core.h b/src/bindings/scripts/scripts/zone/molten_core/def_molten_core.h index 584adce0d31..b3906616c95 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/def_molten_core.h +++ b/src/bindings/scripts/scripts/zone/molten_core/def_molten_core.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/molten_core/instance_molten_core.cpp b/src/bindings/scripts/scripts/zone/molten_core/instance_molten_core.cpp index 4326315d4c3..066bf7d0158 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/instance_molten_core.cpp +++ b/src/bindings/scripts/scripts/zone/molten_core/instance_molten_core.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/molten_core/molten_core.cpp b/src/bindings/scripts/scripts/zone/molten_core/molten_core.cpp index 9a66b0f68f0..b9799d29d1c 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/molten_core.cpp +++ b/src/bindings/scripts/scripts/zone/molten_core/molten_core.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/moonglade/moonglade.cpp b/src/bindings/scripts/scripts/zone/moonglade/moonglade.cpp index 70ce6517c15..1ecaf826816 100644 --- a/src/bindings/scripts/scripts/zone/moonglade/moonglade.cpp +++ b/src/bindings/scripts/scripts/zone/moonglade/moonglade.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/mulgore/mulgore.cpp b/src/bindings/scripts/scripts/zone/mulgore/mulgore.cpp index 51bdf5c3af0..68aee9b122d 100644 --- a/src/bindings/scripts/scripts/zone/mulgore/mulgore.cpp +++ b/src/bindings/scripts/scripts/zone/mulgore/mulgore.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/nagrand/nagrand.cpp b/src/bindings/scripts/scripts/zone/nagrand/nagrand.cpp index 92b179eefec..5c6b7eedaaf 100644 --- a/src/bindings/scripts/scripts/zone/nagrand/nagrand.cpp +++ b/src/bindings/scripts/scripts/zone/nagrand/nagrand.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_anubrekhan.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_anubrekhan.cpp index e876dc93201..41f95a37bb9 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_anubrekhan.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_anubrekhan.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -16,7 +16,7 @@ /* ScriptData SDName: Boss_Anubrekhan -SD%Complete: 70 +SD%Complete: 100 SDComment: SDCategory: Naxxramas EndScriptData */ @@ -38,7 +38,7 @@ EndScriptData */ #define SPELL_LOCUSTSWARM 28785 //This is a self buff that triggers the dmg debuff #define H_SPELL_LOCUSTSWARM 54021 -//invalid +//spellId invalid #define SPELL_SUMMONGUARD 29508 //Summons 1 crypt guard at targeted location #define SPELL_SELF_SPAWN_5 29105 //This spawns 5 corpse scarabs ontop of us (most likely the player casts this on death) diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_faerlina.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_faerlina.cpp index dcf4d7cab0e..8e8ed407823 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_faerlina.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_faerlina.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -17,7 +17,7 @@ /* ScriptData SDName: Boss_Faerlina SD%Complete: 50 -SDComment: Without Mindcontrol boss cannot be defeated +SDComment: SDCategory: Naxxramas EndScriptData */ @@ -32,6 +32,8 @@ EndScriptData */ #define SAY_SLAY2 -1533015 #define SAY_DEATH -1533016 +//#define SOUND_RANDOM_AGGRO 8955 //soundId containing the 4 aggro sounds, we not using this + #define SPELL_POSIONBOLT_VOLLEY 28796 #define H_SPELL_POSIONBOLT_VOLLEY 54098 #define SPELL_ENRAGE 28798 diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_four_horsemen.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_four_horsemen.cpp index 496d0d68526..7bbda22c917 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_four_horsemen.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_four_horsemen.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_gluth.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_gluth.cpp index 9c527ba5db3..ca665e7b4b0 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_gluth.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_gluth.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_gothik.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_gothik.cpp index 8d6b986ab31..8e657cbd1ae 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_gothik.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_gothik.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_grobbulus.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_grobbulus.cpp index f187bad2a7c..8f103b499b4 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_grobbulus.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_grobbulus.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_heigan.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_heigan.cpp index 7a9361457c4..a970039fb70 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_heigan.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_heigan.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -21,20 +21,19 @@ SDComment: Place Holder SDCategory: Naxxramas EndScriptData */ -//Lotheb or Heigan? -//8825 aggro1 - You are mine now! -//8826 aggro2 - I see you! -//8827 aggro3 - You...are next! -//8828 death - -//8829 slay - close your eyes... sleep -//8830 taunt1 - The races of the world will perish. It is only a matter of time. -//8831 taunt2 - I see endless suffering, I see torment, I see rage. I see... everything! -//8832 taunt3 - Soon... the world will tremble! -//8833 taunt4 - The end is upon you. -//8834 taunt5 - Hungry worms will feast on your rotten flesh! - #include "precompiled.h" +#define SAY_AGGRO1 -1533109 +#define SAY_AGGRO2 -1533110 +#define SAY_AGGRO3 -1533111 +#define SAY_SLAY -1533112 +#define SAY_TAUNT1 -1533113 +#define SAY_TAUNT2 -1533114 +#define SAY_TAUNT3 -1533115 +#define SAY_TAUNT4 -1533116 +#define SAY_TAUNT5 -1533117 +#define SAY_DEATH -1533118 + //Spell used by floor peices to cause damage to players #define SPELL_ERUPTION 29371 diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_highlord_mograine.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_highlord_mograine.cpp index e082dc0910a..ce2804a7e52 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_highlord_mograine.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_highlord_mograine.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_kelthuzad.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_kelthuzad.cpp index ded2c5bdc71..c3574a1c294 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_kelthuzad.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_kelthuzad.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_loatheb.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_loatheb.cpp index 12a594dae79..b95bfa25f6e 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_loatheb.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_loatheb.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -23,28 +23,6 @@ EndScriptData */ #include "precompiled.h" -#define SAY_AGGRO1 "You are mine now!" -#define SAY_AGGRO2 "I see you!" -#define SAY_AGGRO3 "You...are next!" -#define SAY_SLAY1 "Close your eyes... sleep!" -#define SAY_SLAY2 "The races of the world will perish. It is only a matter of time." -#define SAY_SLAY3 "I see endless suffering, I see torment, I see rage. I see... everything!" -#define SAY_SLAY4 "Soon... the world will tremble!" -#define SAY_SLAY5 "The end is upon you." -#define SAY_SLAY6 "Hungry worms will feast on your rotten flesh!" -#define SAY_DEATH "" - -#define SOUND_AGGRO1 8825 -#define SOUND_AGGRO2 8826 -#define SOUND_AGGRO3 8827 -#define SOUND_SLAY1 8829 -#define SOUND_SLAY2 8830 -#define SOUND_SLAY3 8831 -#define SOUND_SLAY4 8832 -#define SOUND_SLAY5 8833 -#define SOUND_SLAY6 8834 -#define SOUND_DEATH 8828 - #define SPELL_CORRUPTED_MIND 29198 #define SPELL_POISON_AURA 29865 #define SPELL_INEVITABLE_DOOM 29204 @@ -85,58 +63,10 @@ struct TRINITY_DLL_DECL boss_loathebAI : public ScriptedAI void Aggro(Unit *who) { - switch (rand()%3) - { - case 0: - DoYell(SAY_AGGRO1,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_AGGRO1); - break; - case 1: - DoYell(SAY_AGGRO2,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_AGGRO2); - break; - case 2: - DoYell(SAY_AGGRO3,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_AGGRO3); - break; - } - } - - void KilledUnit(Unit* victim) - { - switch (rand()%6) - { - case 0: - DoYell(SAY_SLAY1,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_SLAY1); - break; - case 1: - DoYell(SAY_SLAY2,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_SLAY2); - break; - case 2: - DoYell(SAY_SLAY3,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_SLAY3); - break; - case 3: - DoYell(SAY_SLAY4,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_SLAY4); - break; - case 4: - DoYell(SAY_SLAY5,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_SLAY5); - break; - case 5: - DoYell(SAY_SLAY6,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_SLAY6); - break; - } } void JustDied(Unit* Killer) { - DoYell(SAY_DEATH,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_DEATH); } void UpdateAI(const uint32 diff) diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_maexxna.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_maexxna.cpp index 65d94747d34..0af576492c2 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_maexxna.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_maexxna.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -16,8 +16,8 @@ /* ScriptData SDName: Boss_Maexxna -SD%Complete: 80 -SDComment: +SD%Complete: 60 +SDComment: this needs review, and rewrite of the webwrap ability SDCategory: Naxxramas EndScriptData */ diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_noth.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_noth.cpp index 24e4deaf7e5..9a94e095940 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_noth.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_noth.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_patchwerk.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_patchwerk.cpp index 1bf0dcff388..76d873fb7b9 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_patchwerk.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_patchwerk.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -16,8 +16,8 @@ /* ScriptData SDName: Boss_Patchwerk -SD%Complete: 100 -SDComment: Some issues with hateful strike inturrupting the melee swing timer. Probably core issue. +SD%Complete: 80 +SDComment: Some issues with hateful strike inturrupting the melee swing timer. SDCategory: Naxxramas EndScriptData */ diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_razuvious.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_razuvious.cpp index fcd1cdc4c30..b0df4050023 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_razuvious.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_razuvious.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp index db30c4c7593..160a2f8f0c4 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_thaddius.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_thaddius.cpp index de1c201cc74..28a35562c6b 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_thaddius.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_thaddius.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -17,7 +17,7 @@ /* ScriptData SDName: Boss_Thaddius SD%Complete: 0 -SDComment: Merge Feugen & Stalagg with this script +SDComment: Placeholder. Includes Feugen & Stalagg. SDCategory: Naxxramas EndScriptData */ diff --git a/src/bindings/scripts/scripts/zone/naxxramas/instance_naxxramas.cpp b/src/bindings/scripts/scripts/zone/naxxramas/instance_naxxramas.cpp index 8a8675c4c1c..24abbc6b8a4 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/instance_naxxramas.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/instance_naxxramas.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/netherstorm/netherstorm.cpp b/src/bindings/scripts/scripts/zone/netherstorm/netherstorm.cpp index 20eb88a538b..32390d1b029 100644 --- a/src/bindings/scripts/scripts/zone/netherstorm/netherstorm.cpp +++ b/src/bindings/scripts/scripts/zone/netherstorm/netherstorm.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/onyxias_lair/boss_onyxia.cpp b/src/bindings/scripts/scripts/zone/onyxias_lair/boss_onyxia.cpp index caf40a50dce..45a2accdabc 100644 --- a/src/bindings/scripts/scripts/zone/onyxias_lair/boss_onyxia.cpp +++ b/src/bindings/scripts/scripts/zone/onyxias_lair/boss_onyxia.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -125,7 +125,6 @@ struct TRINITY_DLL_DECL boss_onyxiaAI : public ScriptedAI if(((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 60) && (Phase == 1)) { Phase = 2; - m_creature->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF); m_creature->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING + MOVEMENTFLAG_ONTRANSPORT); m_creature->SetHover(true); m_creature->GetMotionMaster()->Clear(false); @@ -137,7 +136,6 @@ struct TRINITY_DLL_DECL boss_onyxiaAI : public ScriptedAI { Phase = 3; m_creature->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING + MOVEMENTFLAG_ONTRANSPORT); - m_creature->HandleEmoteCommand(EMOTE_ONESHOT_LAND); m_creature->SetHover(false); m_creature->GetMotionMaster()->MovePoint(0, -10.6155, -219.357, -87.7344); DoStartMovement(m_creature->getVictim()); diff --git a/src/bindings/scripts/scripts/zone/orgrimmar/orgrimmar.cpp b/src/bindings/scripts/scripts/zone/orgrimmar/orgrimmar.cpp index 797a10f83f2..fd00a527362 100644 --- a/src/bindings/scripts/scripts/zone/orgrimmar/orgrimmar.cpp +++ b/src/bindings/scripts/scripts/zone/orgrimmar/orgrimmar.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/razorfen_downs/boss_amnennar_the_coldbringer.cpp b/src/bindings/scripts/scripts/zone/razorfen_downs/boss_amnennar_the_coldbringer.cpp index 036408ba744..b8fdaea2ffb 100644 --- a/src/bindings/scripts/scripts/zone/razorfen_downs/boss_amnennar_the_coldbringer.cpp +++ b/src/bindings/scripts/scripts/zone/razorfen_downs/boss_amnennar_the_coldbringer.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -23,15 +23,16 @@ EndScriptData */ #include "precompiled.h" -#define SAY_0 "You'll never leave this place... alive." -#define SAY_1 "Come, spirits, attend your master." -#define SAY_SLAY "Too...easy!" -#define SOUND_AGGRO 5825 -#define SOUND_SLAY 5826 -#define SOUND_SUMMON 5829 +#define SAY_AGGRO -1129000 +#define SAY_SUMMON60 -1129001 +#define SAY_SUMMON30 -1129002 +#define SAY_HP -1129003 +#define SAY_KILL -1129004 -#define SPELL_AMNENNARSWRATH 13009 -#define SPELL_FROSTBOLT 10179 +#define SPELL_AMNENNARSWRATH 13009 +#define SPELL_FROSTBOLT 15530 +#define SPELL_FROST_NOVA 15531 +#define SPELL_FROST_SPECTRES 12642 struct TRINITY_DLL_DECL boss_amnennar_the_coldbringerAI : public ScriptedAI { @@ -39,50 +40,29 @@ struct TRINITY_DLL_DECL boss_amnennar_the_coldbringerAI : public ScriptedAI uint32 AmnenarsWrath_Timer; uint32 FrostBolt_Timer; - bool Spectrals; - int Rand; - int RandX; - int RandY; - Creature* Summoned; + uint32 FrostNova_Timer; + bool Spectrals60; + bool Spectrals30; + bool Hp; void Reset() { AmnenarsWrath_Timer = 8000; FrostBolt_Timer = 1000; - Spectrals = false; + FrostNova_Timer = 10000 + rand()%5000; + Spectrals30 = false; + Spectrals60 = false; + Hp = false; } void Aggro(Unit *who) { - DoYell(SAY_0,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_AGGRO); + DoScriptText(SAY_AGGRO, m_creature); } void KilledUnit() { - DoYell(SAY_SLAY, LANG_UNIVERSAL, NULL); - DoPlaySoundToSet(m_creature, SOUND_SLAY); - } - - void SummonSpectrals(Unit* victim) - { - Rand = rand()%5; - switch (rand()%2) - { - case 0: RandX = 0 - Rand; break; - case 1: RandX = 0 + Rand; break; - } - Rand = 0; - Rand = rand()%5; - switch (rand()%2) - { - case 0: RandY = 0 - Rand; break; - case 1: RandY = 0 + Rand; break; - } - Rand = 0; - Summoned = DoSpawnCreature(8585, RandX, RandY, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 60000); - if(Summoned) - ((CreatureAI*)Summoned->AI())->AttackStart(victim); + DoScriptText(SAY_KILL, m_creature); } void UpdateAI(const uint32 diff) @@ -100,25 +80,34 @@ struct TRINITY_DLL_DECL boss_amnennar_the_coldbringerAI : public ScriptedAI //FrostBolt_Timer if (FrostBolt_Timer < diff) { - Unit* target = NULL; - target = SelectUnit(SELECT_TARGET_RANDOM,0); - if (target) DoCast(target,SPELL_FROSTBOLT); - + DoCast(m_creature->getVictim(),SPELL_FROSTBOLT); FrostBolt_Timer = 8000; } else FrostBolt_Timer -= diff; - if ( !Spectrals && m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 50 ) + if (FrostNova_Timer < diff) { - DoYell(SAY_1, LANG_UNIVERSAL, NULL); - DoPlaySoundToSet(m_creature, SOUND_SUMMON); + DoCast(m_creature,SPELL_FROST_NOVA); + FrostNova_Timer = 15000; + } else FrostNova_Timer -= diff; - Unit* target = NULL; - target = SelectUnit(SELECT_TARGET_RANDOM,0); + if (!Spectrals60 && m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 60) + { + DoScriptText(SAY_SUMMON60, m_creature); + DoCast(m_creature->getVictim(),SPELL_FROST_SPECTRES); + Spectrals60 = true; + } - SummonSpectrals(target); - SummonSpectrals(target); - SummonSpectrals(target); - Spectrals = true; + if (!Hp && m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 50) + { + DoScriptText(SAY_HP, m_creature); + Hp = true; + } + + if (!Spectrals30 && m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 30) + { + DoScriptText(SAY_SUMMON30, m_creature); + DoCast(m_creature->getVictim(),SPELL_FROST_SPECTRES); + Spectrals30 = true; } DoMeleeAttackIfReady(); diff --git a/src/bindings/scripts/scripts/zone/razorfen_kraul/razorfen_kraul.cpp b/src/bindings/scripts/scripts/zone/razorfen_kraul/razorfen_kraul.cpp index e7391a51a4d..57ff43c05a5 100644 --- a/src/bindings/scripts/scripts/zone/razorfen_kraul/razorfen_kraul.cpp +++ b/src/bindings/scripts/scripts/zone/razorfen_kraul/razorfen_kraul.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_ayamiss.cpp b/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_ayamiss.cpp index 362b4cc1ba8..54ca9ee3278 100644 --- a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_ayamiss.cpp +++ b/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_ayamiss.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_buru.cpp b/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_buru.cpp index f82095178b2..9b6b73aee53 100644 --- a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_buru.cpp +++ b/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_buru.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_kurinnaxx.cpp b/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_kurinnaxx.cpp index ce337f3d212..83955e32f3e 100644 --- a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_kurinnaxx.cpp +++ b/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_kurinnaxx.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_moam.cpp b/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_moam.cpp index 2b148b2e730..bd66b5fe2be 100644 --- a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_moam.cpp +++ b/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_moam.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_ossirian.cpp b/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_ossirian.cpp index 4d579ede2ca..7d51377b2f6 100644 --- a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_ossirian.cpp +++ b/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_ossirian.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_rajaxx.cpp b/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_rajaxx.cpp index 803b51582c0..a3c3b9bd669 100644 --- a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_rajaxx.cpp +++ b/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_rajaxx.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp b/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp index 825024f17be..291b53b275f 100644 --- a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp +++ b/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_arcanist_doan.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_arcanist_doan.cpp index 61a83846c7c..29209d4e579 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_arcanist_doan.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_arcanist_doan.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -23,6 +23,9 @@ EndScriptData */ #include "precompiled.h" +#define SAY_AGGRO -1189019 +#define SAY_SPECIALAE -1189020 + #define SPELL_POLYMORPH 12826 #define SPELL_AOESILENCE 8988 #define SPELL_ARCANEEXPLOSION3 8438 @@ -33,19 +36,12 @@ EndScriptData */ #define SPELL_MANASHIELD4 10191 #define SPELL_ARCANEBUBBLE 9438 -#define SAY_AGGRO "You will not defile these mysteries!" -#define SAY_SPECIALAE "Burn in righteous fire!" - -#define SOUND_AGGRO 5842 -#define SOUND_SPECIALAE 5843 - struct TRINITY_DLL_DECL boss_arcanist_doanAI : public ScriptedAI { boss_arcanist_doanAI(Creature *c) : ScriptedAI(c) {Reset();} uint32 FullAOE_Timer; uint32 Polymorph_Timer; - uint32 Yell_Timer; uint32 ArcaneBubble_Timer; uint32 AoESilence_Timer; uint32 ArcaneExplosion3_Timer; @@ -58,7 +54,6 @@ struct TRINITY_DLL_DECL boss_arcanist_doanAI : public ScriptedAI { FullAOE_Timer = 5000; Polymorph_Timer = 1; - Yell_Timer = 2000; ArcaneBubble_Timer = 3000; AoESilence_Timer = 20000; ArcaneExplosion3_Timer = 10000; @@ -70,8 +65,7 @@ struct TRINITY_DLL_DECL boss_arcanist_doanAI : public ScriptedAI void Aggro(Unit *who) { - DoYell(SAY_AGGRO,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_AGGRO); + DoScriptText(SAY_AGGRO, m_creature); } void UpdateAI(const uint32 diff) @@ -91,13 +85,6 @@ struct TRINITY_DLL_DECL boss_arcanist_doanAI : public ScriptedAI Polymorph_Timer = 40000; }else Polymorph_Timer -= diff; - if (Yell_Timer < diff) - { - DoYell(SAY_SPECIALAE,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_SPECIALAE); - Yell_Timer = 40000; - }else Yell_Timer -= diff; - if (ArcaneBubble_Timer < diff) { DoCast(m_creature,SPELL_ARCANEBUBBLE); @@ -106,6 +93,7 @@ struct TRINITY_DLL_DECL boss_arcanist_doanAI : public ScriptedAI if (FullAOE_Timer < diff) { + DoScriptText(SAY_SPECIALAE, m_creature); DoCast(m_creature->getVictim(),SPELL_FIREAOE); FullAOE_Timer = 40000; }else FullAOE_Timer -= diff; diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_azshir_the_sleepless.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_azshir_the_sleepless.cpp index cf82aabdaec..bdeceeb710a 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_azshir_the_sleepless.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_azshir_the_sleepless.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_bloodmage_thalnos.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_bloodmage_thalnos.cpp index 274eb382ca1..cf8c6d57019 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_bloodmage_thalnos.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_bloodmage_thalnos.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -23,34 +23,29 @@ EndScriptData */ #include "precompiled.h" +#define SAY_AGGRO -1189016 +#define SAY_HEALTH -1189017 +#define SAY_KILL -1189018 + #define SPELL_FROSTNOVA2 865 #define SPELL_FLAMESHOCK3 8053 #define SPELL_SHADOWBOLT5 1106 #define SPELL_FLAMESPIKE 8814 #define SPELL_FIRENOVA 16079 -#define SAY_AGGRO "We hunger for vengeance." -#define SAY_HEALTH "No rest... for the angry dead!" -#define SAY_DEATH "More... More souls!" - -#define SOUND_AGGRO 5844 -#define SOUND_HEALTH 5846 -#define SOUND_DEATH 5845 - struct TRINITY_DLL_DECL boss_bloodmage_thalnosAI : public ScriptedAI { boss_bloodmage_thalnosAI(Creature *c) : ScriptedAI(c) {Reset();} + bool HpYell; uint32 FrostNova2_Timer; uint32 FlameShock3_Timer; uint32 ShadowBolt5_Timer; uint32 FlameSpike_Timer; uint32 FireNova_Timer; - uint32 Yell_Timer; void Reset() { - Yell_Timer = 1; FrostNova2_Timer = 10000; FlameShock3_Timer = 15000; ShadowBolt5_Timer = 20000; @@ -60,8 +55,12 @@ struct TRINITY_DLL_DECL boss_bloodmage_thalnosAI : public ScriptedAI void Aggro(Unit *who) { - DoYell(SAY_AGGRO,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_AGGRO); + DoScriptText(SAY_AGGRO, m_creature); + } + + void KilledUnit(Unit* Victim) + { + DoScriptText(SAY_KILL, m_creature); } void UpdateAI(const uint32 diff) @@ -70,16 +69,10 @@ struct TRINITY_DLL_DECL boss_bloodmage_thalnosAI : public ScriptedAI return; //If we are <35% hp - if ( m_creature->GetHealth()*100 / m_creature->GetMaxHealth() <= 35) + if (!HpYell && ((m_creature->GetHealth()*100) / m_creature->GetMaxHealth() <= 35)) { - Yell_Timer -= diff; - - if (Yell_Timer < diff) - { - DoYell(SAY_HEALTH,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_HEALTH); - Yell_Timer = 900000; - } + DoScriptText(SAY_HEALTH, m_creature); + HpYell = true; } //FrostNova2_Timer diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_headless_horseman.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_headless_horseman.cpp index ac8d941fa07..d2ba85bca1e 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_headless_horseman.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_headless_horseman.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_herod.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_herod.cpp index 9cd9b930ba2..543a0f9c545 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_herod.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_herod.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp index 9e219fb8219..0231a672e83 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp index c95d0161693..fc7d067bd2b 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -23,11 +23,10 @@ EndScriptData */ #include "precompiled.h" -#define SPELL_SUMMONSCARLETHOUND 17164 -#define SPELL_ENRAGE 28747 +#define SAY_AGGRO -1189021 -#define SAY_AGGRO "Release the hounds!" -#define SOUND_AGGRO 5841 +#define SPELL_SUMMONSCARLETHOUND 17164 +#define SPELL_ENRAGE 6742 struct TRINITY_DLL_DECL boss_houndmaster_lokseyAI : public ScriptedAI { @@ -37,15 +36,12 @@ struct TRINITY_DLL_DECL boss_houndmaster_lokseyAI : public ScriptedAI void Reset() { - Enrage_Timer = 6000000; + Enrage_Timer = 0; } void Aggro(Unit *who) { - DoYell(SAY_AGGRO,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_AGGRO); - - DoCast(m_creature,SPELL_SUMMONSCARLETHOUND); + DoScriptText(SAY_AGGRO, m_creature); } void UpdateAI(const uint32 diff) @@ -53,16 +49,17 @@ struct TRINITY_DLL_DECL boss_houndmaster_lokseyAI : public ScriptedAI if (!UpdateVictim()) return; - //If we are <10% hp cast healing spells at self and Mograine - if ( m_creature->GetHealth()*100 / m_creature->GetMaxHealth() <= 10 && !m_creature->IsNonMeleeSpellCasted(false) && Enrage_Timer < diff) + //If we are <25% hp, bloodlust + if (m_creature->GetHealth()*100 / m_creature->GetMaxHealth() <= 25 && Enrage_Timer < diff) { DoCast(m_creature,SPELL_ENRAGE); - Enrage_Timer = 900000; + Enrage_Timer = 60000; }else Enrage_Timer -= diff; DoMeleeAttackIfReady(); } }; + CreatureAI* GetAI_boss_houndmaster_loksey(Creature *_Creature) { return new boss_houndmaster_lokseyAI (_Creature); diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_interrogator_vishas.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_interrogator_vishas.cpp index ef8bb8e811a..00729ca53b5 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_interrogator_vishas.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_interrogator_vishas.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -22,36 +22,53 @@ SDCategory: Scarlet Monastery EndScriptData */ #include "precompiled.h" +#include "def_scarlet_monastery.h" -#define SPELL_POWERWORDSHIELD 6065 +#define SAY_AGGRO -1189011 +#define SAY_HEALTH1 -1189012 +#define SAY_HEALTH2 -1189013 +#define SAY_KILL -1189014 +#define SAY_TRIGGER_VORREL -1189015 -#define SAY_AGGRO "Tell me... tell me everything!" -#define SAY_HEALTH1 "Naughty secrets" -#define SAY_HEALTH2 "I'll rip the secrets from your flesh!" -#define SAY_DEATH "Purged by pain!" - -#define SOUND_AGGRO 5847 -#define SOUND_HEALTH1 5849 -#define SOUND_HEALTH2 5850 -#define SOUND_DEATH 5848 +#define SPELL_POWERWORDSHIELD 2767 struct TRINITY_DLL_DECL boss_interrogator_vishasAI : public ScriptedAI { - boss_interrogator_vishasAI(Creature *c) : ScriptedAI(c) {Reset();} + boss_interrogator_vishasAI(Creature *c) : ScriptedAI(c) + { + pInstance = (ScriptedInstance*)m_creature->GetInstanceData(); + Reset(); + } + + ScriptedInstance* pInstance; - uint32 Yell_Timer; + bool Yell30; + bool Yell60; uint32 PowerWordShield_Timer; void Reset() { - Yell_Timer = 6000000; PowerWordShield_Timer = 60000; } void Aggro(Unit *who) { - DoYell(SAY_AGGRO,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_AGGRO); + DoScriptText(SAY_AGGRO, m_creature); + } + + void KilledUnit(Unit* Victim) + { + DoScriptText(SAY_KILL, m_creature); + } + + void JustDied(Unit* Killer) + { + if (!pInstance) + return; + + //Any other actions to do with vorrel? setStandState? + if (Unit *vorrel = Unit::GetUnit(*m_creature,pInstance->GetData64(DATA_VORREL))) + DoScriptText(SAY_TRIGGER_VORREL, vorrel); } void UpdateAI(const uint32 diff) @@ -60,32 +77,16 @@ struct TRINITY_DLL_DECL boss_interrogator_vishasAI : public ScriptedAI return; //If we are low on hp Do sayings - if ( m_creature->GetHealth()*100 / m_creature->GetMaxHealth() <= 60 && !m_creature->IsNonMeleeSpellCasted(false)) + if (!Yell60 && ((m_creature->GetHealth()*100) / m_creature->GetMaxHealth() <= 60)) { - //Yell_Timer - if (Yell_Timer < diff) - { - DoYell(SAY_HEALTH1,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_HEALTH1); - return; - - //60 seconds until we should cast this agian - Yell_Timer = 60000; - }else Yell_Timer -= diff; + DoScriptText(SAY_HEALTH1, m_creature); + Yell60 = true; } - if ( m_creature->GetHealth()*100 / m_creature->GetMaxHealth() <= 30 && !m_creature->IsNonMeleeSpellCasted(false)) + if (!Yell30 && ((m_creature->GetHealth()*100) / m_creature->GetMaxHealth() <= 30)) { - //Yell_Timer - if (Yell_Timer < diff) - { - DoYell(SAY_HEALTH2,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_HEALTH2); - return; - - //60 seconds until we should cast this agian - Yell_Timer = 6000000; - }else Yell_Timer -= diff; + DoScriptText(SAY_HEALTH2, m_creature); + Yell30 = true; } //PowerWordShield_Timer @@ -98,6 +99,7 @@ struct TRINITY_DLL_DECL boss_interrogator_vishasAI : public ScriptedAI DoMeleeAttackIfReady(); } }; + CreatureAI* GetAI_boss_interrogator_vishas(Creature *_Creature) { return new boss_interrogator_vishasAI (_Creature); diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_mograine_and_whitemane.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_mograine_and_whitemane.cpp index 2a442c89993..5f3194b4b71 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_mograine_and_whitemane.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_mograine_and_whitemane.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_scorn.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_scorn.cpp index 3f5443dae0d..84f44a55927 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_scorn.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_scorn.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/def_scarlet_monastery.h b/src/bindings/scripts/scripts/zone/scarlet_monastery/def_scarlet_monastery.h index aa0dfa8b925..29d3b729fcf 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/def_scarlet_monastery.h +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/def_scarlet_monastery.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ @@ -10,6 +10,8 @@ #define DATA_WHITEMANE 3 #define DATA_DOOR_WHITEMANE 4 -#define DATA_HORSEMAN_EVENT 5 -#define GAMEOBJECT_PUMPKIN_SHRINE 6 +#define DATA_HORSEMAN_EVENT 5 +#define GAMEOBJECT_PUMPKIN_SHRINE 6 + +#define DATA_VORREL 7 #endif diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/instance_scarlet_monastery.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/instance_scarlet_monastery.cpp index 1a94123f383..841c7f81a1a 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/instance_scarlet_monastery.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/instance_scarlet_monastery.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -43,6 +43,7 @@ struct TRINITY_DLL_DECL instance_scarlet_monastery : public ScriptedInstance uint64 MograineGUID; uint64 WhitemaneGUID; + uint64 VorrelGUID; uint64 DoorHighInquisitorGUID; uint32 Encounter[ENCOUNTERS]; @@ -56,6 +57,7 @@ struct TRINITY_DLL_DECL instance_scarlet_monastery : public ScriptedInstance MograineGUID = 0; WhitemaneGUID = 0; + VorrelGUID = 0; DoorHighInquisitorGUID = 0; for(uint8 i = 0; i < ENCOUNTERS; i++) @@ -80,6 +82,7 @@ struct TRINITY_DLL_DECL instance_scarlet_monastery : public ScriptedInstance case ENTRY_PUMPKIN: HorsemanAdds.insert(creature->GetGUID());break; case 3976: MograineGUID = creature->GetGUID(); break; case 3977: WhitemaneGUID = creature->GetGUID(); break; + case 3981: VorrelGUID = creature->GetGUID(); break; } } @@ -121,6 +124,7 @@ struct TRINITY_DLL_DECL instance_scarlet_monastery : public ScriptedInstance //case DATA_HEAD: return HeadGUID; case DATA_MOGRAINE: return MograineGUID; case DATA_WHITEMANE: return WhitemaneGUID; + case DATA_VORREL: return VorrelGUID; case DATA_DOOR_WHITEMANE: return DoorHighInquisitorGUID; } return 0; diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_darkmaster_gandling.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_darkmaster_gandling.cpp index ea3418a4011..d60067dd70c 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_darkmaster_gandling.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_darkmaster_gandling.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_death_knight_darkreaver.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_death_knight_darkreaver.cpp index 6a7f7ce2e4a..2556ba37b23 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_death_knight_darkreaver.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_death_knight_darkreaver.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_doctor_theolen_krastinov.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_doctor_theolen_krastinov.cpp index 9e4761598f2..0849079fc5c 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_doctor_theolen_krastinov.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_doctor_theolen_krastinov.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -24,6 +24,8 @@ EndScriptData */ #include "precompiled.h" #include "def_scholomance.h" +#define EMOTE_GENERIC_FRENZY_KILL -1000001 + #define SPELL_REND 18106 #define SPELL_CLEAVE 15584 #define SPELL_FRENZY 28371 @@ -84,7 +86,7 @@ struct TRINITY_DLL_DECL boss_theolenkrastinovAI : public ScriptedAI if (Frenzy_Timer < diff) { DoCast(m_creature,SPELL_FRENZY); - DoTextEmote("goes into a killing frenzy!",NULL); + DoScriptText(EMOTE_GENERIC_FRENZY_KILL, m_creature); Frenzy_Timer = 8000; }else Frenzy_Timer -= diff; diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_illucia_barov.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_illucia_barov.cpp index d46119306a1..829920a4fda 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_illucia_barov.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_illucia_barov.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_instructor_malicia.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_instructor_malicia.cpp index 55c623d7ea6..45dbf04cb1e 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_instructor_malicia.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_instructor_malicia.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_jandice_barov.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_jandice_barov.cpp index 3a7bb39e675..f509afb4400 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_jandice_barov.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_jandice_barov.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_kormok.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_kormok.cpp index d5d0aff4587..415d9e52451 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_kormok.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_kormok.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_lord_alexei_barov.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_lord_alexei_barov.cpp index 408312b26b0..9b87188b988 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_lord_alexei_barov.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_lord_alexei_barov.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_lorekeeper_polkelt.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_lorekeeper_polkelt.cpp index b6af89fe65c..67f68108769 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_lorekeeper_polkelt.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_lorekeeper_polkelt.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_ras_frostwhisper.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_ras_frostwhisper.cpp index e4d1801e103..e44eaae4cac 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_ras_frostwhisper.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_ras_frostwhisper.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_the_ravenian.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_the_ravenian.cpp index 1a9b25c8da2..1cad89ea2b9 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_the_ravenian.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_the_ravenian.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -29,8 +29,6 @@ EndScriptData */ #define SPELL_SUNDERINCLEAVE 25174 #define SPELL_KNOCKAWAY 10101 -#define SAY_AGGRO1 "Mine! Mine! Mine! Gizlock is the ruler of this domain! You shall never reveal my presence!" - struct TRINITY_DLL_DECL boss_theravenianAI : public ScriptedAI { boss_theravenianAI(Creature *c) : ScriptedAI(c) {Reset();} @@ -64,7 +62,6 @@ struct TRINITY_DLL_DECL boss_theravenianAI : public ScriptedAI void Aggro(Unit *who) { - DoYell(SAY_AGGRO1, LANG_UNIVERSAL, NULL); } void UpdateAI(const uint32 diff) @@ -103,6 +100,7 @@ struct TRINITY_DLL_DECL boss_theravenianAI : public ScriptedAI DoMeleeAttackIfReady(); } }; + CreatureAI* GetAI_boss_theravenian(Creature *_Creature) { return new boss_theravenianAI (_Creature); diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_vectus.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_vectus.cpp index 080c97c6aca..165d465557c 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_vectus.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_vectus.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -23,6 +23,8 @@ EndScriptData */ #include "precompiled.h" +#define EMOTE_GENERIC_FRENZY_KILL -1000001 + #define SPELL_FIRESHIELD 19626 #define SPELL_BLASTWAVE 13021 #define SPELL_FRENZY 28371 @@ -71,7 +73,7 @@ struct TRINITY_DLL_DECL boss_vectusAI : public ScriptedAI if (Frenzy_Timer < diff) { DoCast(m_creature,SPELL_FRENZY); - DoTextEmote("goes into a killing frenzy!",NULL); + DoScriptText(EMOTE_GENERIC_FRENZY_KILL, m_creature); Frenzy_Timer = 24000; }else Frenzy_Timer -= diff; diff --git a/src/bindings/scripts/scripts/zone/scholomance/def_scholomance.h b/src/bindings/scripts/scripts/zone/scholomance/def_scholomance.h index a4023315e01..cf85ce2037e 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/def_scholomance.h +++ b/src/bindings/scripts/scripts/zone/scholomance/def_scholomance.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/scholomance/instance_scholomance.cpp b/src/bindings/scripts/scripts/zone/scholomance/instance_scholomance.cpp index f7be96f24d1..ca50da7526a 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/instance_scholomance.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/instance_scholomance.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/searing_gorge/searing_gorge.cpp b/src/bindings/scripts/scripts/zone/searing_gorge/searing_gorge.cpp index 23281eb9050..cd1cc041847 100644 --- a/src/bindings/scripts/scripts/zone/searing_gorge/searing_gorge.cpp +++ b/src/bindings/scripts/scripts/zone/searing_gorge/searing_gorge.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/shadowfang_keep/def_shadowfang_keep.h b/src/bindings/scripts/scripts/zone/shadowfang_keep/def_shadowfang_keep.h index 7ece07f0231..16b096b7d86 100644 --- a/src/bindings/scripts/scripts/zone/shadowfang_keep/def_shadowfang_keep.h +++ b/src/bindings/scripts/scripts/zone/shadowfang_keep/def_shadowfang_keep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/shadowfang_keep/instance_shadowfang_keep.cpp b/src/bindings/scripts/scripts/zone/shadowfang_keep/instance_shadowfang_keep.cpp index 07fbeb0d54f..04ccd98ede3 100644 --- a/src/bindings/scripts/scripts/zone/shadowfang_keep/instance_shadowfang_keep.cpp +++ b/src/bindings/scripts/scripts/zone/shadowfang_keep/instance_shadowfang_keep.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/shadowfang_keep/shadowfang_keep.cpp b/src/bindings/scripts/scripts/zone/shadowfang_keep/shadowfang_keep.cpp index 1d00385a076..1a42e97377a 100644 --- a/src/bindings/scripts/scripts/zone/shadowfang_keep/shadowfang_keep.cpp +++ b/src/bindings/scripts/scripts/zone/shadowfang_keep/shadowfang_keep.cpp @@ -1,4 +1,4 @@ - /* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> + /* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -50,7 +50,6 @@ struct TRINITY_DLL_DECL npc_shadowfang_prisonerAI : public npc_escortAI { if( pInstance && i == 6) { - m_creature->HandleEmoteCommand(EMOTE_ONESHOT_TALK); DoScriptText(SAY_FREE, m_creature); pInstance->SetData(TYPE_FREE_NPC, DONE); } diff --git a/src/bindings/scripts/scripts/zone/shadowmoon_valley/boss_doomwalker.cpp b/src/bindings/scripts/scripts/zone/shadowmoon_valley/boss_doomwalker.cpp index f8e0a5ec6ee..8ca29502d5a 100644 --- a/src/bindings/scripts/scripts/zone/shadowmoon_valley/boss_doomwalker.cpp +++ b/src/bindings/scripts/scripts/zone/shadowmoon_valley/boss_doomwalker.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/shadowmoon_valley/shadowmoon_valley.cpp b/src/bindings/scripts/scripts/zone/shadowmoon_valley/shadowmoon_valley.cpp index 4d4f0f69799..c172abcefc3 100644 --- a/src/bindings/scripts/scripts/zone/shadowmoon_valley/shadowmoon_valley.cpp +++ b/src/bindings/scripts/scripts/zone/shadowmoon_valley/shadowmoon_valley.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/shattrath/shattrath_city.cpp b/src/bindings/scripts/scripts/zone/shattrath/shattrath_city.cpp index 1993ffb8d39..e0186ab5955 100644 --- a/src/bindings/scripts/scripts/zone/shattrath/shattrath_city.cpp +++ b/src/bindings/scripts/scripts/zone/shattrath/shattrath_city.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/silithus/silithus.cpp b/src/bindings/scripts/scripts/zone/silithus/silithus.cpp index b2fb697811a..ebb48655dfd 100644 --- a/src/bindings/scripts/scripts/zone/silithus/silithus.cpp +++ b/src/bindings/scripts/scripts/zone/silithus/silithus.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/silvermoon/silvermoon_city.cpp b/src/bindings/scripts/scripts/zone/silvermoon/silvermoon_city.cpp index fb15929cda9..9dfa5868612 100644 --- a/src/bindings/scripts/scripts/zone/silvermoon/silvermoon_city.cpp +++ b/src/bindings/scripts/scripts/zone/silvermoon/silvermoon_city.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/silverpine_forest/silverpine_forest.cpp b/src/bindings/scripts/scripts/zone/silverpine_forest/silverpine_forest.cpp index 73c708d4a21..64dbcfb9005 100644 --- a/src/bindings/scripts/scripts/zone/silverpine_forest/silverpine_forest.cpp +++ b/src/bindings/scripts/scripts/zone/silverpine_forest/silverpine_forest.cpp @@ -1,4 +1,4 @@ - /* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> + /* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/stonetalon_mountains/stonetalon_mountains.cpp b/src/bindings/scripts/scripts/zone/stonetalon_mountains/stonetalon_mountains.cpp index b20998b5884..a04f5c3ea40 100644 --- a/src/bindings/scripts/scripts/zone/stonetalon_mountains/stonetalon_mountains.cpp +++ b/src/bindings/scripts/scripts/zone/stonetalon_mountains/stonetalon_mountains.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/stormwind/stormwind_city.cpp b/src/bindings/scripts/scripts/zone/stormwind/stormwind_city.cpp index b09cdce5c20..f3c0d004e52 100644 --- a/src/bindings/scripts/scripts/zone/stormwind/stormwind_city.cpp +++ b/src/bindings/scripts/scripts/zone/stormwind/stormwind_city.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -174,6 +174,8 @@ CreatureAI* GetAI_npc_dashel_stonefist(Creature *_creature) ## npc_general_marcus_jonathan ######*/ +#define SAY_GREETING -1000005 + bool ReceiveEmote_npc_general_marcus_jonathan(Player *player, Creature *_Creature, uint32 emote) { if(player->GetTeam() == ALLIANCE) @@ -185,7 +187,7 @@ bool ReceiveEmote_npc_general_marcus_jonathan(Player *player, Creature *_Creatur } if (emote == TEXTEMOTE_WAVE) { - _Creature->MonsterSay("Greetings citizen",LANG_COMMON,0); + DoScriptText(SAY_GREETING, _Creature, player); } } return true; diff --git a/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp b/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp index e517a17d766..d4ae62ccf2f 100644 --- a/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp +++ b/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_baron_rivendare.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_baron_rivendare.cpp index 4a49dae13bc..137d317fe17 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_baron_rivendare.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_baron_rivendare.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_baroness_anastari.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_baroness_anastari.cpp index 108ae8bb9d3..f7369165a83 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_baroness_anastari.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_baroness_anastari.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_cannon_master_willey.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_cannon_master_willey.cpp index cdf22d1e166..838456b0627 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_cannon_master_willey.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_cannon_master_willey.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp index 8fa6d385986..67444b19b8d 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_magistrate_barthilas.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_magistrate_barthilas.cpp index 95f2a5670dc..71b98e9548a 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_magistrate_barthilas.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_magistrate_barthilas.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_maleki_the_pallid.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_maleki_the_pallid.cpp index 7e3d8340c4e..6e70bc91f06 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_maleki_the_pallid.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_maleki_the_pallid.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_nerubenkan.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_nerubenkan.cpp index a9441c6008f..48dd8f49bf3 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_nerubenkan.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_nerubenkan.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_order_of_silver_hand.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_order_of_silver_hand.cpp index 608f999b177..2bc3cdddeed 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_order_of_silver_hand.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_order_of_silver_hand.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_postmaster_malown.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_postmaster_malown.cpp index a5e7fa24957..e5b7c1abd0c 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_postmaster_malown.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_postmaster_malown.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_ramstein_the_gorger.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_ramstein_the_gorger.cpp index 5984a60ac9c..fb219f4d4ec 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_ramstein_the_gorger.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_ramstein_the_gorger.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_timmy_the_cruel.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_timmy_the_cruel.cpp index ac3c4c5f666..c9ee6d1636f 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_timmy_the_cruel.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_timmy_the_cruel.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/stratholme/def_stratholme.h b/src/bindings/scripts/scripts/zone/stratholme/def_stratholme.h index e5ab77383d7..3684ab9c9aa 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/def_stratholme.h +++ b/src/bindings/scripts/scripts/zone/stratholme/def_stratholme.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/stratholme/instance_stratholme.cpp b/src/bindings/scripts/scripts/zone/stratholme/instance_stratholme.cpp index 108bfd1dbc0..249f2881ba4 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/instance_stratholme.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/instance_stratholme.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/stratholme/stratholme.cpp b/src/bindings/scripts/scripts/zone/stratholme/stratholme.cpp index 0ce345f65dd..88de858adbb 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/stratholme.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/stratholme.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -72,10 +72,10 @@ bool GOHello_go_gauntlet_gate(Player *player, GameObject* _GO) ######*/ //Possibly more of these quotes around. -#define SAY_ZAPPED0 "Thanks to Egan" -#define SAY_ZAPPED1 "Rivendare must die" -#define SAY_ZAPPED2 "Who you gonna call?" -#define SAY_ZAPPED3 "Don't cross those beams!" +#define SAY_ZAPPED0 -1329000 +#define SAY_ZAPPED1 -1329001 +#define SAY_ZAPPED2 -1329002 +#define SAY_ZAPPED3 -1329003 struct TRINITY_DLL_DECL mob_freed_soulAI : public ScriptedAI { @@ -85,10 +85,10 @@ struct TRINITY_DLL_DECL mob_freed_soulAI : public ScriptedAI { switch (rand()%4) { - case 0: DoSay(SAY_ZAPPED0,LANG_UNIVERSAL,NULL); break; - case 1: DoSay(SAY_ZAPPED1,LANG_UNIVERSAL,NULL); break; - case 2: DoSay(SAY_ZAPPED2,LANG_UNIVERSAL,NULL); break; - case 3: DoSay(SAY_ZAPPED3,LANG_UNIVERSAL,NULL); break; + case 0: DoScriptText(SAY_ZAPPED0, m_creature); break; + case 1: DoScriptText(SAY_ZAPPED1, m_creature); break; + case 2: DoScriptText(SAY_ZAPPED2, m_creature); break; + case 3: DoScriptText(SAY_ZAPPED3, m_creature); break; } } diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_brutallus.cpp b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_brutallus.cpp index d114ee28378..30782b7da6a 100644 --- a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_brutallus.cpp +++ b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_brutallus.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_eredar_twins.cpp b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_eredar_twins.cpp index e7762757c4a..bc1eae34788 100644 --- a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_eredar_twins.cpp +++ b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_eredar_twins.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kalecgos.cpp b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kalecgos.cpp index 0bf3ecfb4c9..9339901e8e3 100644 --- a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kalecgos.cpp +++ b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kalecgos.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/def_sunwell_plateau.h b/src/bindings/scripts/scripts/zone/sunwell_plateau/def_sunwell_plateau.h index 497f6d30479..61d4519983b 100644 --- a/src/bindings/scripts/scripts/zone/sunwell_plateau/def_sunwell_plateau.h +++ b/src/bindings/scripts/scripts/zone/sunwell_plateau/def_sunwell_plateau.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/instance_sunwell_plateau.cpp b/src/bindings/scripts/scripts/zone/sunwell_plateau/instance_sunwell_plateau.cpp index 2bbc0160d4c..4118275e9ef 100644 --- a/src/bindings/scripts/scripts/zone/sunwell_plateau/instance_sunwell_plateau.cpp +++ b/src/bindings/scripts/scripts/zone/sunwell_plateau/instance_sunwell_plateau.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/tanaris/tanaris.cpp b/src/bindings/scripts/scripts/zone/tanaris/tanaris.cpp index 022f1d29f6b..4a6e6a4641a 100644 --- a/src/bindings/scripts/scripts/zone/tanaris/tanaris.cpp +++ b/src/bindings/scripts/scripts/zone/tanaris/tanaris.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp index 1493b6d0d1d..bc6e80e1c95 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp index 1721c8bfe61..aa80f2d38e4 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/def_arcatraz.h b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/def_arcatraz.h index 34daa29a26e..420e27d7c16 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/def_arcatraz.h +++ b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/def_arcatraz.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp index 86cf7d35d9b..47797f2caf7 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_high_botanist_freywinn.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_high_botanist_freywinn.cpp index 7eeeb55f5c1..fe713c13f3e 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_high_botanist_freywinn.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_high_botanist_freywinn.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_laj.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_laj.cpp index 19f5445b380..269b20add4c 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_laj.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_laj.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_warp_splinter.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_warp_splinter.cpp index 3602729587c..2ae692a3aab 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_warp_splinter.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_warp_splinter.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp index 496a4bd705c..0a4dfb9e35c 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp index 342363eb9b2..99e61096f24 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp index 14a2dc60f33..2af70c15d88 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/def_the_eye.h b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/def_the_eye.h index 42b3af63421..342c257f7de 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/def_the_eye.h +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/def_the_eye.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/instance_the_eye.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/instance_the_eye.cpp index 20bd72ab593..c2d13436806 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/instance_the_eye.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/instance_the_eye.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -77,7 +77,7 @@ struct TRINITY_DLL_DECL instance_the_eye : public ScriptedInstance void OnCreatureCreate(Creature *creature, uint32 creature_entry) { - switch(creature_entry) + switch(creature->GetEntry()) { case 20064: ThaladredTheDarkener = creature->GetGUID(); break; case 20063: MasterEngineerTelonicus = creature->GetGUID(); break; diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/the_eye.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/the_eye.cpp index 2c69411c7d4..8bce75fce4a 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/the_eye.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/the_eye.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_gyrokill.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_gyrokill.cpp index 77cf5e77364..79070f98eb0 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_gyrokill.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_gyrokill.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp index 2a7d9eae3dc..aa8da37ec97 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp index 01c786be535..49aee52839c 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -108,7 +108,7 @@ boss_nethermancer_sepethreaAI(Creature *c) : ScriptedAI(c) if(frost_attack_Timer < diff) { DoCast(m_creature->getVictim(),SPELL_FROST_ATTACK); - frost_attack_Timer = 7000 + rand()%30000; + frost_attack_Timer = 7000 + rand()%3000; }else frost_attack_Timer -= diff; //Arcane Blast diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp index c93d38a0d6e..a15156b6fe9 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/instance_mechanar.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/instance_mechanar.cpp index 40e12b66138..362e0bfe032 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/instance_mechanar.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/instance_mechanar.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp index d5bbfd2098f..2a5e2c4a8ff 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp index 52106a6825f..eac028190ce 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -1257,7 +1257,7 @@ void flesh_tentacleAI::JustDied(Unit* killer) { if (!Parent) { - DoYell("Error: No Parent variable", LANG_UNIVERSAL, NULL); + error_log("TSCR: flesh_tentacle: No Parent variable"); return; } @@ -1265,7 +1265,7 @@ void flesh_tentacleAI::JustDied(Unit* killer) if (Cthun) ((cthunAI*)(Cthun->AI()))->FleshTentcleKilled(); - else DoYell("Error: No Cthun", LANG_UNIVERSAL, NULL); + else error_log("TSCR: flesh_tentacle: No Cthun"); } //GetAIs diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_fankriss.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_fankriss.cpp index 8e4f765e965..08c24b49a7e 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_fankriss.cpp +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_fankriss.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_huhuran.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_huhuran.cpp index aea477183b9..c741b2e0bf5 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_huhuran.cpp +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_huhuran.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -23,6 +23,9 @@ EndScriptData */ #include "precompiled.h" +#define EMOTE_GENERIC_FRENZY_KILL -1000001 +#define EMOTE_GENERIC_BERSERK -1000004 + #define SPELL_FRENZY 26051 #define SPELL_BERSERK 26068 #define SPELL_POISONBOLT 26052 @@ -71,6 +74,7 @@ struct TRINITY_DLL_DECL boss_huhuranAI : public ScriptedAI if (!Frenzy && Frenzy_Timer < diff) { DoCast(m_creature, SPELL_FRENZY); + DoScriptText(EMOTE_GENERIC_FRENZY_KILL, m_creature); Frenzy = true; PoisonBolt_Timer = 3000; Frenzy_Timer = 25000 + rand()%10000; @@ -119,7 +123,7 @@ struct TRINITY_DLL_DECL boss_huhuranAI : public ScriptedAI if ( !Berserk && m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 31 ) { m_creature->InterruptNonMeleeSpells(false); - DoTextEmote("is going berserk", NULL); + DoScriptText(EMOTE_GENERIC_BERSERK, m_creature); DoCast(m_creature, SPELL_BERSERK); Berserk = true; } diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_ouro.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_ouro.cpp index ee17d559a55..df7facfbd37 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_ouro.cpp +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_ouro.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_sartura.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_sartura.cpp index 918ad92c6e2..1598126bf94 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_sartura.cpp +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_sartura.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -94,8 +94,12 @@ struct TRINITY_DLL_DECL boss_sarturaAI : public ScriptedAI if (WhirlWindRandom_Timer < diff) { //Attack random Gamers - if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,1)) - AttackStart(target); + Unit* target = NULL; + target = SelectUnit(SELECT_TARGET_RANDOM,1); + if (target) + m_creature->AddThreat(target, 1.0f); + m_creature->TauntApply(target); + AttackStart(target); WhirlWindRandom_Timer = 3000 + rand()%4000; }else WhirlWindRandom_Timer -= diff; @@ -119,8 +123,12 @@ struct TRINITY_DLL_DECL boss_sarturaAI : public ScriptedAI if (AggroReset_Timer < diff) { //Attack random Gamers - if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,1)) - m_creature->TauntApply(target); + Unit* target = NULL; + target = SelectUnit(SELECT_TARGET_RANDOM,1); + if (target) + m_creature->AddThreat(target, 1.0f); + m_creature->TauntApply(target); + AttackStart(target); AggroReset = true; AggroReset_Timer = 2000 + rand()%3000; @@ -213,8 +221,12 @@ struct TRINITY_DLL_DECL mob_sartura_royal_guardAI : public ScriptedAI if (WhirlWindRandom_Timer < diff) { //Attack random Gamers - if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,1)) - m_creature->TauntApply(target); + Unit* target = NULL; + target = SelectUnit(SELECT_TARGET_RANDOM,1); + if (target) + m_creature->AddThreat(target, 1.0f); + m_creature->TauntApply(target); + AttackStart(target); WhirlWindRandom_Timer = 3000 + rand()%4000; }else WhirlWindRandom_Timer -= diff; @@ -230,8 +242,12 @@ struct TRINITY_DLL_DECL mob_sartura_royal_guardAI : public ScriptedAI if (AggroReset_Timer < diff) { //Attack random Gamers - if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,1)) - AttackStart(target); + Unit* target = NULL; + target = SelectUnit(SELECT_TARGET_RANDOM,1); + if (target) + m_creature->AddThreat(target, 1.0f); + m_creature->TauntApply(target); + AttackStart(target); AggroReset = true; AggroReset_Timer = 2000 + rand()%3000; diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_skeram.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_skeram.cpp index ffea6281d60..256d92e2360 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_skeram.cpp +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_skeram.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp index 4223261f23e..78950503580 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_viscidus.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_viscidus.cpp index 16a9655862c..1b55d9e182a 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_viscidus.cpp +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_viscidus.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/def_temple_of_ahnqiraj.h b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/def_temple_of_ahnqiraj.h index fdc6d30a0cb..8ab70caa625 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/def_temple_of_ahnqiraj.h +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/def_temple_of_ahnqiraj.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/instance_temple_of_ahnqiraj.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/instance_temple_of_ahnqiraj.cpp index 9c9fc3c77de..2b40ddf173c 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/instance_temple_of_ahnqiraj.cpp +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/instance_temple_of_ahnqiraj.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/mob_anubisath_sentinel.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/mob_anubisath_sentinel.cpp index 56a94c27272..a069e861d2f 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/mob_anubisath_sentinel.cpp +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/mob_anubisath_sentinel.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/terokkar_forest/terokkar_forest.cpp b/src/bindings/scripts/scripts/zone/terokkar_forest/terokkar_forest.cpp index 9bc5b231b7d..0fd39a8f532 100644 --- a/src/bindings/scripts/scripts/zone/terokkar_forest/terokkar_forest.cpp +++ b/src/bindings/scripts/scripts/zone/terokkar_forest/terokkar_forest.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/thousand_needles/thousand_needles.cpp b/src/bindings/scripts/scripts/zone/thousand_needles/thousand_needles.cpp index d1ba50406d1..d92a468a239 100644 --- a/src/bindings/scripts/scripts/zone/thousand_needles/thousand_needles.cpp +++ b/src/bindings/scripts/scripts/zone/thousand_needles/thousand_needles.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/thunder_bluff/thunder_bluff.cpp b/src/bindings/scripts/scripts/zone/thunder_bluff/thunder_bluff.cpp index 0d0db9b8134..fb4328025cd 100644 --- a/src/bindings/scripts/scripts/zone/thunder_bluff/thunder_bluff.cpp +++ b/src/bindings/scripts/scripts/zone/thunder_bluff/thunder_bluff.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/tirisfal_glades/tirisfal_glades.cpp b/src/bindings/scripts/scripts/zone/tirisfal_glades/tirisfal_glades.cpp index 3f42f65b7e7..21d353eb10d 100644 --- a/src/bindings/scripts/scripts/zone/tirisfal_glades/tirisfal_glades.cpp +++ b/src/bindings/scripts/scripts/zone/tirisfal_glades/tirisfal_glades.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/uldaman/boss_ironaya.cpp b/src/bindings/scripts/scripts/zone/uldaman/boss_ironaya.cpp index b5300261a66..2b1fac514eb 100644 --- a/src/bindings/scripts/scripts/zone/uldaman/boss_ironaya.cpp +++ b/src/bindings/scripts/scripts/zone/uldaman/boss_ironaya.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -23,12 +23,11 @@ EndScriptData */ #include "precompiled.h" -#define SPELL_ARCINGSMASH 39144 -#define SPELL_KNOCKAWAY 22893 -#define SPELL_WSTOMP 16727 +#define SAY_AGGRO -1070000 -#define SAY_AGGRO "None may steal the secrets of the makers!" -#define SOUND_AGGRO 5851 +#define SPELL_ARCINGSMASH 8374 +#define SPELL_KNOCKAWAY 10101 +#define SPELL_WSTOMP 11876 struct TRINITY_DLL_DECL boss_ironayaAI : public ScriptedAI { @@ -47,8 +46,7 @@ struct TRINITY_DLL_DECL boss_ironayaAI : public ScriptedAI void Aggro(Unit *who) { - DoYell(SAY_AGGRO,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_AGGRO); + DoScriptText(SAY_AGGRO, m_creature); } void UpdateAI(const uint32 diff) diff --git a/src/bindings/scripts/scripts/zone/uldaman/uldaman.cpp b/src/bindings/scripts/scripts/zone/uldaman/uldaman.cpp index 7855c359304..7be5d22c6a2 100644 --- a/src/bindings/scripts/scripts/zone/uldaman/uldaman.cpp +++ b/src/bindings/scripts/scripts/zone/uldaman/uldaman.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/undercity/undercity.cpp b/src/bindings/scripts/scripts/zone/undercity/undercity.cpp index 2b92a0efd98..d92a55b1fe4 100644 --- a/src/bindings/scripts/scripts/zone/undercity/undercity.cpp +++ b/src/bindings/scripts/scripts/zone/undercity/undercity.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/wailing_caverns/instance_wailing_caverns.cpp b/src/bindings/scripts/scripts/zone/wailing_caverns/instance_wailing_caverns.cpp index bfdb05a94bb..6ed57836455 100644 --- a/src/bindings/scripts/scripts/zone/wailing_caverns/instance_wailing_caverns.cpp +++ b/src/bindings/scripts/scripts/zone/wailing_caverns/instance_wailing_caverns.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/western_plaguelands/western_plaguelands.cpp b/src/bindings/scripts/scripts/zone/western_plaguelands/western_plaguelands.cpp index 48146e0231e..f97231c2c1c 100644 --- a/src/bindings/scripts/scripts/zone/western_plaguelands/western_plaguelands.cpp +++ b/src/bindings/scripts/scripts/zone/western_plaguelands/western_plaguelands.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/westfall/westfall.cpp b/src/bindings/scripts/scripts/zone/westfall/westfall.cpp index 9abd202dedf..751bd941495 100644 --- a/src/bindings/scripts/scripts/zone/westfall/westfall.cpp +++ b/src/bindings/scripts/scripts/zone/westfall/westfall.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/winterspring/winterspring.cpp b/src/bindings/scripts/scripts/zone/winterspring/winterspring.cpp index 9f1932ecc02..ea999a4af93 100644 --- a/src/bindings/scripts/scripts/zone/winterspring/winterspring.cpp +++ b/src/bindings/scripts/scripts/zone/winterspring/winterspring.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/zangarmarsh/zangarmarsh.cpp b/src/bindings/scripts/scripts/zone/zangarmarsh/zangarmarsh.cpp index 235813ec98b..7fcd3101e7c 100644 --- a/src/bindings/scripts/scripts/zone/zangarmarsh/zangarmarsh.cpp +++ b/src/bindings/scripts/scripts/zone/zangarmarsh/zangarmarsh.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_halazzi.cpp b/src/bindings/scripts/scripts/zone/zulaman/boss_halazzi.cpp index 03ed35fcf6c..555fa34154f 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/boss_halazzi.cpp +++ b/src/bindings/scripts/scripts/zone/zulaman/boss_halazzi.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp b/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp index 9ae5cd74210..4b51f7eef42 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp +++ b/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp @@ -1,4 +1,4 @@ - /* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> + /* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_nalorakk.cpp b/src/bindings/scripts/scripts/zone/zulaman/boss_nalorakk.cpp index b047ebd04d6..ae20e234931 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/boss_nalorakk.cpp +++ b/src/bindings/scripts/scripts/zone/zulaman/boss_nalorakk.cpp @@ -1,4 +1,4 @@ - /* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> + /* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/zulaman/def_zulaman.h b/src/bindings/scripts/scripts/zone/zulaman/def_zulaman.h index b5e4cee2519..977c42a89e7 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/def_zulaman.h +++ b/src/bindings/scripts/scripts/zone/zulaman/def_zulaman.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/zulaman/instance_zulaman.cpp b/src/bindings/scripts/scripts/zone/zulaman/instance_zulaman.cpp index 47e9c4395ba..b5a8a73b249 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/instance_zulaman.cpp +++ b/src/bindings/scripts/scripts/zone/zulaman/instance_zulaman.cpp @@ -1,4 +1,4 @@ - /* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> + /* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -106,7 +106,7 @@ struct TRINITY_DLL_DECL instance_zulaman : public ScriptedInstance void OnCreatureCreate(Creature *creature, uint32 creature_entry) { - switch(creature_entry) + switch(creature->GetEntry()) { case 23578://janalai case 23863://zuljin diff --git a/src/bindings/scripts/scripts/zone/zulaman/zulaman.cpp b/src/bindings/scripts/scripts/zone/zulaman/zulaman.cpp index 2f6624f9839..e2ec994c75d 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/zulaman.cpp +++ b/src/bindings/scripts/scripts/zone/zulaman/zulaman.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/zulfarrak/zulfarrak.cpp b/src/bindings/scripts/scripts/zone/zulfarrak/zulfarrak.cpp index 86757c0fcf2..3a616d605a0 100644 --- a/src/bindings/scripts/scripts/zone/zulfarrak/zulfarrak.cpp +++ b/src/bindings/scripts/scripts/zone/zulfarrak/zulfarrak.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_arlokk.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_arlokk.cpp index 461b1a8ee33..8de897f4d62 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_arlokk.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_arlokk.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_gahzranka.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_gahzranka.cpp index 9645b3ce47b..58765b7d805 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_gahzranka.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_gahzranka.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_grilek.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_grilek.cpp index 5ffdfd9337c..36f73ebce69 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_grilek.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_grilek.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_hakkar.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_hakkar.cpp index d4c8039f5c6..d76de14c926 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_hakkar.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_hakkar.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_hazzarah.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_hazzarah.cpp index 77c7ddc10f1..6afc789eaea 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_hazzarah.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_hazzarah.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_jeklik.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_jeklik.cpp index a5ac43e6cef..995ed5e74f9 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_jeklik.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_jeklik.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_jindo.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_jindo.cpp index fa0bced67c9..6c81497f7f2 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_jindo.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_jindo.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_mandokir.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_mandokir.cpp index e365ba7f153..8574846576c 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_mandokir.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_mandokir.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_marli.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_marli.cpp index 31aff621b00..adfe134235b 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_marli.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_marli.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_renataki.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_renataki.cpp index 10679d13812..8d5f1232f39 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_renataki.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_renataki.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_thekal.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_thekal.cpp index 312c94bd009..8dc7bfcd626 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_thekal.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_thekal.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_venoxis.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_venoxis.cpp index 75436b8080b..061e3d47246 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_venoxis.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_venoxis.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_wushoolay.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_wushoolay.cpp index 45391c7b6f8..9ba3ab622ff 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_wushoolay.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_wushoolay.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or diff --git a/src/bindings/scripts/scripts/zone/zulgurub/def_zulgurub.h b/src/bindings/scripts/scripts/zone/zulgurub/def_zulgurub.h index 0dcbb83c4df..06071e2f6b3 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/def_zulgurub.h +++ b/src/bindings/scripts/scripts/zone/zulgurub/def_zulgurub.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ diff --git a/src/bindings/scripts/scripts/zone/zulgurub/instance_zulgurub.cpp b/src/bindings/scripts/scripts/zone/zulgurub/instance_zulgurub.cpp index bf3fd871332..4c580cd91d5 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/instance_zulgurub.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/instance_zulgurub.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or |