*Merge once again.

--HG--
branch : trunk
This commit is contained in:
QAston
2009-02-17 18:20:00 +01:00
359 changed files with 2613 additions and 2325 deletions
+4 -4
View File
@@ -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
+4 -4
View File
@@ -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 \
+16 -11
View File
@@ -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();
+104 -16
View File
@@ -230,6 +230,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"
>
@@ -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"
@@ -1909,6 +1909,9 @@
>
</File>
</Filter>
<Filter
Name="Culling of Stratholme">
</Filter>
<Filter
Name="Old Hillsbrad"
>
@@ -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&apos;Drak">
</Filter>
<Filter
Name="Azjol-Nerub">
<Filter
Name="Ahn&apos;kahet">
</Filter>
<Filter
Name="Azjol-Nerub">
</Filter>
</Filter>
<Filter
Name="Drak&apos;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
+136 -16
View File
@@ -407,6 +407,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"
>
@@ -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"
@@ -2189,6 +2193,10 @@
<Filter
Name="Culling of Stratholme">
</Filter>
<Filter
Name="Culling of Stratholme"
>
</Filter>
<Filter
Name="Old Hillsbrad"
>
@@ -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&apos;Drak"
>
</Filter>
<Filter
Name="Azjol-Nerub"
>
<Filter
Name="Ahn&apos;kahet"
>
</Filter>
<Filter
Name="Azjol-Nerub"
>
</Filter>
</Filter>
<Filter
Name="Drak&apos;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
+136 -16
View File
@@ -400,6 +400,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"
>
@@ -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"
@@ -2210,6 +2214,10 @@
Name="Culling of Stratholme"
>
</Filter>
<Filter
Name="Culling of Stratholme"
>
</Filter>
<Filter
Name="Old Hillsbrad"
>
@@ -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&apos;Drak"
>
</Filter>
<Filter
Name="Azjol-Nerub"
>
<Filter
Name="Ahn&apos;kahet"
>
</Filter>
<Filter
Name="Azjol-Nerub"
>
</Filter>
</Filter>
<Filter
Name="Drak&apos;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
+1 -1
View File
@@ -1,4 +1,4 @@
/* Copyright (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 */
+1 -1
View File
@@ -1,4 +1,4 @@
/* Copyright (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 */
+29 -24
View File
@@ -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
+1 -1
View File
@@ -1,4 +1,4 @@
/* Copyright (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 */
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* 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();
}
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* 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);
}
@@ -1,4 +1,4 @@
/* Copyright (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 */
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (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 */
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* 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();
}
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* 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();
}
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* 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();
}
@@ -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();
}
+2 -18
View File
@@ -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();
}
@@ -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;
}
}
@@ -1,4 +1,4 @@
/* Copyright (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 */
File diff suppressed because it is too large Load Diff
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -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();
}
@@ -1,4 +1,4 @@
/* Copyright (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 */
@@ -1,4 +1,4 @@
/* Copyright (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 */
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -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) )
{
@@ -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);
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* 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))
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* 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
{
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* 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)
@@ -1,4 +1,4 @@
/* Copyright (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 */
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* 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)
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* 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();
@@ -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)
@@ -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;
@@ -1,4 +1,4 @@
/* Copyright (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 */
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* 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();
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -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
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* 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;
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* 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
}
};
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (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 */
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* 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;
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* 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);
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -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;
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or

Some files were not shown because too many files have changed in this diff Show More