--HG--
branch : trunk
This commit is contained in:
Machiavelli
2009-08-16 03:25:27 +02:00
81 changed files with 1567 additions and 1950 deletions
+1
View File
@@ -189,6 +189,7 @@ src/framework
src/shared/Database
src/shared/vmap
src/game
src/bindings/scripts/base
${CMAKE_BINARY_DIR}
${SCRIPT_INCLUDE}
${MYSQL_INCLUDE_DIR}
+1 -1
View File
@@ -568,7 +568,7 @@ INSERT INTO `script_texts` (`entry`, `content_default`, `content_loc1`, `content
INSERT INTO `script_texts` (`entry`, `content_default`, `content_loc1`, `content_loc2`, `content_loc3`, `content_loc4`, `content_loc5`, `content_loc6`, `content_loc7`, `content_loc8`, `sound`, `type`, `language`, `emote`, `comment`) VALUES
(-1409000,'%s performs one last service for Ragnaros.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2, 0, 0,'geddon EMOTE_SERVICE'),
(-1409001,'%s goes into a killing frenzy!', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2, 0, 0,'magmadar EMOTE_FRENZY'),
(-1409002,'%s refuses to die while its master is in trouble.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2, 0, 0,'core rager EMOTE_AEGIS'),
(-1409002,'%s refuses to die while its master is in trouble.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2, 0, 0,'core rager EMOTE_LOWHP'),
(-1409003,'Reckless mortals, none may challenge the sons of the living flame!', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 8035, 1, 0, 0,'majordomo SAY_AGGRO'),
(-1409004,'The runes of warding have been destroyed! Hunt down the infedels my bretheren.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 8039, 1, 0, 0,'majordomo SAY_SPAWN'),
(-1409005,'Ashes to Ashes!', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 8037, 1, 0, 0,'majordomo SAY_SLAY'),
+1
View File
@@ -546,6 +546,7 @@ UPDATE `creature_template` SET `ScriptName`='boss_doomlord_kazzak' WHERE `entry`
UPDATE `creature_template` SET `ScriptName`='npc_wounded_blood_elf' WHERE `entry`=16993;
UPDATE `creature_template` SET `ScriptName`='npc_aeranas' WHERE `entry`=17085;
UPDATE `gameobject_template` SET `ScriptName`='go_haaleshi_altar' WHERE `entry`=181606;
UPDATE `creature_template` SET `ScriptName`='npc_naladu' WHERE `entry`=19361;
/* HILLSBRAD FOOTHILLS */
+3
View File
@@ -0,0 +1,3 @@
UPDATE script_texts SET comment='core rager EMOTE_LOWHP' WHERE entry=-1409002;
UPDATE creature_template SET ScriptName='npc_naladu' WHERE entry=19361;
+23 -21
View File
@@ -4,20 +4,19 @@
SET(trinityscript_LIB_SRCS
ScriptMgr.cpp
ScriptMgr.h
base/escortAI.cpp
base/escortAI.h
base/guard_ai.cpp
base/guard_ai.h
base/simple_ai.cpp
base/simple_ai.h
include/precompiled.cpp
include/precompiled.h
include/sc_creature.cpp
include/sc_creature.h
include/sc_gossip.h
include/sc_instance.h
scripts/areatrigger/areatrigger_scripts.cpp
scripts/boss/boss_emeriss.cpp
scripts/boss/boss_lethon.cpp
scripts/boss/boss_taerar.cpp
scripts/boss/boss_ysondre.cpp
scripts/creature/mob_generic_creature.cpp
scripts/creature/simple_ai.cpp
scripts/creature/simple_ai.h
scripts/eastern_kingdoms/scarlet_enclave/the_scarlet_enclave.cpp
scripts/eastern_kingdoms/alterac_mountains.cpp
scripts/eastern_kingdoms/arathi_highlands.cpp
scripts/eastern_kingdoms/blasted_lands.cpp
@@ -30,6 +29,7 @@ SET(trinityscript_LIB_SRCS
scripts/eastern_kingdoms/ghostlands.cpp
scripts/eastern_kingdoms/hinterlands.cpp
scripts/eastern_kingdoms/ironforge.cpp
scripts/eastern_kingdoms/isle_of_queldanas.cpp
scripts/eastern_kingdoms/loch_modan.cpp
scripts/eastern_kingdoms/searing_gorge.cpp
scripts/eastern_kingdoms/silvermoon_city.cpp
@@ -44,11 +44,6 @@ SET(trinityscript_LIB_SRCS
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/kalimdor/ashenvale.cpp
scripts/kalimdor/azshara.cpp
scripts/kalimdor/azuremyst_isle.cpp
@@ -76,17 +71,10 @@ SET(trinityscript_LIB_SRCS
scripts/northrend/icecrown.cpp
scripts/northrend/sholazar_basin.cpp
scripts/northrend/zuldrak.cpp
scripts/npc/npc_escortAI.cpp
scripts/npc/npc_escortAI.h
scripts/npc/npc_innkeeper.cpp
scripts/npc/npc_professions.cpp
scripts/npc/npcs_special.cpp
scripts/npc/npc_taxi.cpp
scripts/outland/blades_edge_mountains.cpp
scripts/outland/boss_doomlord_kazzak.cpp
scripts/outland/boss_doomwalker.cpp
scripts/outland/hellfire_peninsula.cpp
scripts/outland/isle_of_queldanas.cpp
scripts/outland/nagrand.cpp
scripts/outland/netherstorm.cpp
scripts/outland/shadowmoon_valley.cpp
@@ -197,7 +185,6 @@ SET(trinityscript_LIB_SRCS
scripts/zone/coilfang_resevoir/underbog/boss_the_black_stalker.cpp
scripts/zone/deadmines/def_deadmines.h
scripts/zone/deadmines/deadmines.cpp
scripts/zone/eastern_plaguelands/the_scarlet_enclave.cpp
scripts/zone/gruuls_lair/boss_gruul.cpp
scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp
scripts/zone/gruuls_lair/def_gruuls_lair.h
@@ -508,6 +495,21 @@ SET(trinityscript_LIB_SRCS
scripts/zone/ulduar/ulduar/boss_yoggsaron.cpp
scripts/zone/ulduar/ulduar/def_ulduar.h
scripts/zone/ulduar/ulduar/instance_ulduar.cpp
scripts/world/areatrigger_scripts.cpp
scripts/world/boss_emeriss.cpp
scripts/world/boss_lethon.cpp
scripts/world/boss_taerar.cpp
scripts/world/boss_ysondre.cpp
scripts/world/go_scripts.cpp
scripts/world/guards.cpp
scripts/world/item_scripts.cpp
scripts/world/mob_generic_creature.cpp
scripts/world/npc_innkeeper.cpp
scripts/world/npc_professions.cpp
scripts/world/npcs_special.cpp
scripts/world/npc_taxi.cpp
system/ScriptLoader.cpp
system/ScriptLoader.h
system.cpp
)
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -5,8 +5,8 @@
* This program is free software licensed under GPL version 2
* Please see the included DOCS/LICENSE.TXT for more information */
#ifndef SCRIPTMGR_H
#define SCRIPTMGR_H
#ifndef SC_SCRIPTMGR_H
#define SC_SCRIPTMGR_H
#include "Common.h"
#include "Platform/CompilerDefs.h"
+112 -136
View File
@@ -46,7 +46,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers"
AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\base\;..\..\..\..\dep\ACE_wrappers"
PreprocessorDefinitions="WIN32;_DEBUG;TRINITY_DEBUG;_WINDOWS;_USRDLL;SCRIPT"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -131,7 +131,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers"
AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\base\;..\..\..\..\dep\ACE_wrappers"
PreprocessorDefinitions="WIN32;_DEBUG;TRINITY_DEBUG;_WINDOWS;_USRDLL;SCRIPT"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -215,7 +215,7 @@
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/MP"
AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers"
AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\base\;..\..\..\..\dep\ACE_wrappers"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SCRIPT;_SECURE_SCL=0"
RuntimeLibrary="2"
UsePrecompiledHeader="2"
@@ -300,7 +300,7 @@
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/MP"
AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers"
AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\base\;..\..\..\..\dep\ACE_wrappers"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SCRIPT;_SECURE_SCL=0"
RuntimeLibrary="2"
UsePrecompiledHeader="2"
@@ -360,56 +360,48 @@
<References>
</References>
<Files>
<Filter
Name="base"
>
<File
RelativePath="..\base\escortAI.cpp"
>
</File>
<File
RelativePath="..\base\escortAI.h"
>
</File>
<File
RelativePath="..\base\guard_ai.cpp"
>
</File>
<File
RelativePath="..\base\guard_ai.h"
>
</File>
<File
RelativePath="..\base\simple_ai.cpp"
>
</File>
<File
RelativePath="..\base\simple_ai.h"
>
</File>
</Filter>
<Filter
Name="scripts"
>
<Filter
Name="areatrigger"
>
<File
RelativePath="..\scripts\areatrigger\areatrigger_scripts.cpp"
>
</File>
</Filter>
<Filter
Name="boss"
>
<File
RelativePath="..\scripts\boss\boss_emeriss.cpp"
>
</File>
<File
RelativePath="..\scripts\boss\boss_lethon.cpp"
>
</File>
<File
RelativePath="..\scripts\boss\boss_taerar.cpp"
>
</File>
<File
RelativePath="..\scripts\boss\boss_ysondre.cpp"
>
</File>
</Filter>
<Filter
Name="creature"
>
<File
RelativePath="..\scripts\creature\mob_generic_creature.cpp"
>
</File>
<File
RelativePath="..\scripts\creature\simple_ai.cpp"
>
</File>
<File
RelativePath="..\scripts\creature\simple_ai.h"
>
</File>
</Filter>
<Filter
Name="eastern_kingdoms"
>
<Filter
Name="scarlet_enclave"
>
<File
RelativePath="..\scripts\eastern_kingdoms\scarlet_enclave\the_scarlet_enclave.cpp"
>
</File>
</Filter>
<File
RelativePath="..\scripts\eastern_kingdoms\alterac_mountains.cpp"
>
@@ -458,6 +450,10 @@
RelativePath="..\scripts\eastern_kingdoms\ironforge.cpp"
>
</File>
<File
RelativePath="..\scripts\eastern_kingdoms\isle_of_queldanas.cpp"
>
</File>
<File
RelativePath="..\scripts\eastern_kingdoms\loch_modan.cpp"
>
@@ -519,38 +515,6 @@
>
</File>
</Filter>
<Filter
Name="go"
>
<File
RelativePath="..\scripts\go\go_scripts.cpp"
>
</File>
</Filter>
<Filter
Name="guard"
>
<File
RelativePath="..\scripts\guard\guard_ai.cpp"
>
</File>
<File
RelativePath="..\scripts\guard\guard_ai.h"
>
</File>
<File
RelativePath="..\scripts\guard\guards.cpp"
>
</File>
</Filter>
<Filter
Name="item"
>
<File
RelativePath="..\scripts\item\item_scripts.cpp"
>
</File>
</Filter>
<Filter
Name="kalimdor"
>
@@ -666,34 +630,6 @@
>
</File>
</Filter>
<Filter
Name="npc"
>
<File
RelativePath="..\scripts\npc\npc_escortAI.cpp"
>
</File>
<File
RelativePath="..\scripts\npc\npc_escortAI.h"
>
</File>
<File
RelativePath="..\scripts\npc\npc_innkeeper.cpp"
>
</File>
<File
RelativePath="..\scripts\npc\npc_professions.cpp"
>
</File>
<File
RelativePath="..\scripts\npc\npc_taxi.cpp"
>
</File>
<File
RelativePath="..\scripts\npc\npcs_special.cpp"
>
</File>
</Filter>
<Filter
Name="outland"
>
@@ -713,10 +649,6 @@
RelativePath="..\scripts\outland\hellfire_peninsula.cpp"
>
</File>
<File
RelativePath="..\scripts\outland\isle_of_queldanas.cpp"
>
</File>
<File
RelativePath="..\scripts\outland\nagrand.cpp"
>
@@ -1401,22 +1333,6 @@
>
</File>
</Filter>
<Filter
Name="Duskwood"
>
</Filter>
<Filter
Name="Eastern Plaguelands"
>
<File
RelativePath="..\scripts\zone\eastern_plaguelands\the_scarlet_enclave.cpp"
>
</File>
</Filter>
<Filter
Name="Redridge Mountains"
>
</Filter>
<Filter
Name="Scarlet Monastery"
>
@@ -2775,14 +2691,6 @@
</Filter>
</Filter>
</Filter>
<Filter
Name="honor"
>
</Filter>
<Filter
Name="servers"
>
</Filter>
<Filter
Name="custom"
>
@@ -2795,6 +2703,62 @@
>
</File>
</Filter>
</Filter>
<Filter
Name="world"
>
<File
RelativePath="..\scripts\world\areatrigger_scripts.cpp"
>
</File>
<File
RelativePath="..\scripts\world\boss_emeriss.cpp"
>
</File>
<File
RelativePath="..\scripts\world\boss_lethon.cpp"
>
</File>
<File
RelativePath="..\scripts\world\boss_taerar.cpp"
>
</File>
<File
RelativePath="..\scripts\world\boss_ysondre.cpp"
>
</File>
<File
RelativePath="..\scripts\world\go_scripts.cpp"
>
</File>
<File
RelativePath="..\scripts\world\guards.cpp"
>
</File>
<File
RelativePath="..\scripts\world\item_scripts.cpp"
>
</File>
<File
RelativePath="..\scripts\world\mob_generic_creature.cpp"
>
</File>
<File
RelativePath="..\scripts\world\npc_innkeeper.cpp"
>
</File>
<File
RelativePath="..\scripts\world\npc_professions.cpp"
>
</File>
<File
RelativePath="..\scripts\world\npc_taxi.cpp"
>
</File>
<File
RelativePath="..\scripts\world\npcs_special.cpp"
>
</File>
</Filter>
<Filter
Name="Include"
@@ -2860,6 +2824,18 @@
>
</File>
</Filter>
<Filter
Name="system"
>
<File
RelativePath="..\system\ScriptLoader.cpp"
>
</File>
<File
RelativePath="..\system\ScriptLoader.h"
>
</File>
</Filter>
<File
RelativePath="..\ScriptMgr.cpp"
>
+112 -136
View File
@@ -46,7 +46,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers"
AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\base\;..\..\..\..\dep\ACE_wrappers"
PreprocessorDefinitions="WIN32;_DEBUG;TRINITY_DEBUG;_WINDOWS;_USRDLL;SCRIPT"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -130,7 +130,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers"
AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\base\;..\..\..\..\dep\ACE_wrappers"
PreprocessorDefinitions="WIN32;_DEBUG;TRINITY_DEBUG;_WINDOWS;_USRDLL;SCRIPT"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -213,7 +213,7 @@
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/MP"
AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers"
AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\base\;..\..\..\..\dep\ACE_wrappers"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SCRIPT;_SECURE_SCL=0"
MinimalRebuild="false"
RuntimeLibrary="2"
@@ -297,7 +297,7 @@
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/MP"
AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers"
AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\base\;..\..\..\..\dep\ACE_wrappers"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SCRIPT;_SECURE_SCL=0"
MinimalRebuild="false"
RuntimeLibrary="2"
@@ -357,56 +357,48 @@
<References>
</References>
<Files>
<Filter
Name="base"
>
<File
RelativePath="..\base\escortAI.cpp"
>
</File>
<File
RelativePath="..\base\escortAI.h"
>
</File>
<File
RelativePath="..\base\guard_ai.cpp"
>
</File>
<File
RelativePath="..\base\guard_ai.h"
>
</File>
<File
RelativePath="..\base\simple_ai.cpp"
>
</File>
<File
RelativePath="..\base\simple_ai.h"
>
</File>
</Filter>
<Filter
Name="scripts"
>
<Filter
Name="areatrigger"
>
<File
RelativePath="..\scripts\areatrigger\areatrigger_scripts.cpp"
>
</File>
</Filter>
<Filter
Name="boss"
>
<File
RelativePath="..\scripts\boss\boss_emeriss.cpp"
>
</File>
<File
RelativePath="..\scripts\boss\boss_lethon.cpp"
>
</File>
<File
RelativePath="..\scripts\boss\boss_taerar.cpp"
>
</File>
<File
RelativePath="..\scripts\boss\boss_ysondre.cpp"
>
</File>
</Filter>
<Filter
Name="creature"
>
<File
RelativePath="..\scripts\creature\mob_generic_creature.cpp"
>
</File>
<File
RelativePath="..\scripts\creature\simple_ai.cpp"
>
</File>
<File
RelativePath="..\scripts\creature\simple_ai.h"
>
</File>
</Filter>
<Filter
Name="eastern_kingdoms"
>
<Filter
Name="scarlet_enclave"
>
<File
RelativePath="..\scripts\eastern_kingdoms\scarlet_enclave\the_scarlet_enclave.cpp"
>
</File>
</Filter>
<File
RelativePath="..\scripts\eastern_kingdoms\alterac_mountains.cpp"
>
@@ -455,6 +447,10 @@
RelativePath="..\scripts\eastern_kingdoms\ironforge.cpp"
>
</File>
<File
RelativePath="..\scripts\eastern_kingdoms\isle_of_queldanas.cpp"
>
</File>
<File
RelativePath="..\scripts\eastern_kingdoms\loch_modan.cpp"
>
@@ -516,38 +512,6 @@
>
</File>
</Filter>
<Filter
Name="go"
>
<File
RelativePath="..\scripts\go\go_scripts.cpp"
>
</File>
</Filter>
<Filter
Name="guard"
>
<File
RelativePath="..\scripts\guard\guard_ai.cpp"
>
</File>
<File
RelativePath="..\scripts\guard\guard_ai.h"
>
</File>
<File
RelativePath="..\scripts\guard\guards.cpp"
>
</File>
</Filter>
<Filter
Name="item"
>
<File
RelativePath="..\scripts\item\item_scripts.cpp"
>
</File>
</Filter>
<Filter
Name="kalimdor"
>
@@ -663,34 +627,6 @@
>
</File>
</Filter>
<Filter
Name="npc"
>
<File
RelativePath="..\scripts\npc\npc_escortAI.cpp"
>
</File>
<File
RelativePath="..\scripts\npc\npc_escortAI.h"
>
</File>
<File
RelativePath="..\scripts\npc\npc_innkeeper.cpp"
>
</File>
<File
RelativePath="..\scripts\npc\npc_professions.cpp"
>
</File>
<File
RelativePath="..\scripts\npc\npc_taxi.cpp"
>
</File>
<File
RelativePath="..\scripts\npc\npcs_special.cpp"
>
</File>
</Filter>
<Filter
Name="outland"
>
@@ -710,10 +646,6 @@
RelativePath="..\scripts\outland\hellfire_peninsula.cpp"
>
</File>
<File
RelativePath="..\scripts\outland\isle_of_queldanas.cpp"
>
</File>
<File
RelativePath="..\scripts\outland\nagrand.cpp"
>
@@ -1398,22 +1330,6 @@
>
</File>
</Filter>
<Filter
Name="Duskwood"
>
</Filter>
<Filter
Name="Eastern Plaguelands"
>
<File
RelativePath="..\scripts\zone\eastern_plaguelands\the_scarlet_enclave.cpp"
>
</File>
</Filter>
<Filter
Name="Redridge Mountains"
>
</Filter>
<Filter
Name="Scarlet Monastery"
>
@@ -2772,14 +2688,6 @@
</Filter>
</Filter>
</Filter>
<Filter
Name="honor"
>
</Filter>
<Filter
Name="servers"
>
</Filter>
<Filter
Name="custom"
>
@@ -2792,6 +2700,62 @@
>
</File>
</Filter>
</Filter>
<Filter
Name="world"
>
<File
RelativePath="..\scripts\world\areatrigger_scripts.cpp"
>
</File>
<File
RelativePath="..\scripts\world\boss_emeriss.cpp"
>
</File>
<File
RelativePath="..\scripts\world\boss_lethon.cpp"
>
</File>
<File
RelativePath="..\scripts\world\boss_taerar.cpp"
>
</File>
<File
RelativePath="..\scripts\world\boss_ysondre.cpp"
>
</File>
<File
RelativePath="..\scripts\world\go_scripts.cpp"
>
</File>
<File
RelativePath="..\scripts\world\guards.cpp"
>
</File>
<File
RelativePath="..\scripts\world\item_scripts.cpp"
>
</File>
<File
RelativePath="..\scripts\world\mob_generic_creature.cpp"
>
</File>
<File
RelativePath="..\scripts\world\npc_innkeeper.cpp"
>
</File>
<File
RelativePath="..\scripts\world\npc_professions.cpp"
>
</File>
<File
RelativePath="..\scripts\world\npc_taxi.cpp"
>
</File>
<File
RelativePath="..\scripts\world\npcs_special.cpp"
>
</File>
</Filter>
<Filter
Name="Include"
@@ -2857,6 +2821,18 @@
>
</File>
</Filter>
<Filter
Name="system"
>
<File
RelativePath="..\system\ScriptLoader.cpp"
>
</File>
<File
RelativePath="..\system\ScriptLoader.h"
>
</File>
</Filter>
<File
RelativePath="..\ScriptMgr.cpp"
>
@@ -10,7 +10,7 @@ SDCategory: Npc
EndScriptData */
#include "precompiled.h"
#include "npc_escortAI.h"
#include "escortAI.h"
enum
{
@@ -345,6 +345,11 @@ void npc_escortAI::Start(bool bIsActiveAttacker, bool bRun, uint64 uiPlayerGUID,
return;
}
if (!WaypointList.empty())
WaypointList.clear();
FillPointMovementListForCreature();
if (WaypointList.empty())
{
error_db_log("TSCR: EscortAI Start with 0 waypoints (possible missing entry in script_waypoint)");
+2 -2
View File
@@ -5,8 +5,8 @@
* This program is free software licensed under GPL version 2
* Please see the included DOCS/LICENSE.TXT for more information */
#ifndef SC_PLAYER_H
#define SC_PLAYER_H
#ifndef SC_GOSSIP_H
#define SC_GOSSIP_H
#include "Player.h"
#include "GossipDef.h"
+1 -1
View File
@@ -22,7 +22,7 @@ SDCategory: Script Examples
EndScriptData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
struct TRINITY_DLL_DECL npc_testAI : public npc_escortAI
{
@@ -26,7 +26,7 @@ npc_professor_phizzlethorpe
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
/*######
## npc_professor_phizzlethorpe
@@ -114,11 +114,7 @@ bool QuestAccept_npc_professor_phizzlethorpe(Player* pPlayer, Creature* pCreatur
CreatureAI* GetAI_npc_professor_phizzlethorpeAI(Creature* pCreature)
{
npc_professor_phizzlethorpeAI* professor_phizzlethorpeAI = new npc_professor_phizzlethorpeAI(pCreature);
professor_phizzlethorpeAI->FillPointMovementListForCreature();
return professor_phizzlethorpeAI;
return new npc_professor_phizzlethorpeAI(pCreature);
}
void AddSC_arathi_highlands()
@@ -30,7 +30,7 @@ go_harbinger_second_trial
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
/*######
## npc_prospector_anvilward
@@ -85,11 +85,7 @@ struct TRINITY_DLL_DECL npc_prospector_anvilwardAI : public npc_escortAI
CreatureAI* GetAI_npc_prospector_anvilward(Creature* pCreature)
{
npc_prospector_anvilwardAI* thisAI = new npc_prospector_anvilwardAI(pCreature);
thisAI->FillPointMovementListForCreature();
return thisAI;
return new npc_prospector_anvilwardAI(pCreature);
}
bool GossipHello_npc_prospector_anvilward(Player* pPlayer, Creature* pCreature)
@@ -29,7 +29,7 @@ npc_ranger_lilatha
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
/*######
## npc_blood_knight_dawnstar
@@ -234,11 +234,7 @@ bool QuestAccept_npc_ranger_lilatha(Player* pPlayer, Creature* pCreature, Quest
CreatureAI* GetAI_npc_ranger_lilathaAI(Creature* pCreature)
{
npc_ranger_lilathaAI* ranger_lilathaAI = new npc_ranger_lilathaAI(pCreature);
ranger_lilathaAI->FillPointMovementListForCreature();
return ranger_lilathaAI;
return new npc_ranger_lilathaAI(pCreature);
}
void AddSC_ghostlands()
@@ -26,7 +26,7 @@ npc_rinji
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
/*######
## npc_rinji
@@ -215,11 +215,7 @@ bool QuestAccept_npc_rinji(Player* pPlayer, Creature* pCreature, const Quest* pQ
CreatureAI* GetAI_npc_rinji(Creature* pCreature)
{
npc_rinjiAI* pTempAI = new npc_rinjiAI(pCreature);
pTempAI->FillPointMovementListForCreature();
return (CreatureAI*)pTempAI;
return new npc_rinjiAI(pCreature);
}
void AddSC_hinterlands()
@@ -19,7 +19,7 @@
#include "precompiled.h"
#include "Vehicle.h"
#include "ObjectMgr.h"
#include "../../npc/npc_escortAI.h"
#include "escortAI.h"
#define GCD_CAST 1
@@ -647,11 +647,7 @@ struct TRINITY_DLL_DECL npc_koltira_deathweaverAI : public npc_escortAI
CreatureAI* GetAI_npc_koltira_deathweaver(Creature* pCreature)
{
npc_koltira_deathweaverAI* pTempAI = new npc_koltira_deathweaverAI(pCreature);
pTempAI->FillPointMovementListForCreature();
return (CreatureAI*)pTempAI;
return new npc_koltira_deathweaverAI(pCreature);
}
bool QuestAccept_npc_koltira_deathweaver(Player* pPlayer, Creature* pCreature, const Quest* pQuest)
@@ -27,7 +27,7 @@ npc_deathstalker_erland
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
/*######
## npc_astor_hadren
@@ -27,7 +27,7 @@ npc_defias_traitor
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
/*######
## npc_daphne_stilwell
@@ -176,11 +176,7 @@ bool QuestAccept_npc_daphne_stilwell(Player* pPlayer, Creature* pCreature, const
CreatureAI* GetAI_npc_daphne_stilwell(Creature* pCreature)
{
npc_daphne_stilwellAI* thisAI = new npc_daphne_stilwellAI(pCreature);
thisAI->FillPointMovementListForCreature();
return thisAI;
return new npc_daphne_stilwellAI(pCreature);
}
/*######
@@ -250,11 +246,7 @@ bool QuestAccept_npc_defias_traitor(Player* pPlayer, Creature* pCreature, Quest
CreatureAI* GetAI_npc_defias_traitor(Creature* pCreature)
{
npc_defias_traitorAI* thisAI = new npc_defias_traitorAI(pCreature);
thisAI->FillPointMovementListForCreature();
return thisAI;
return new npc_defias_traitorAI(pCreature);
}
void AddSC_westfall()
@@ -22,7 +22,7 @@ SDCategory: Script Examples
EndScriptData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
enum
{
@@ -169,18 +169,7 @@ struct TRINITY_DLL_DECL example_escortAI : public npc_escortAI
CreatureAI* GetAI_example_escort(Creature* pCreature)
{
example_escortAI* pTestAI = new example_escortAI(pCreature);
// this should be done over the db table scriptdev2.script_waypoint
// when using the db, you have to call this line instead of the ->AddWaypoint():
// pTestAI->FillPointMovementListForCreature();
pTestAI->AddWaypoint(0, 1231.0f, -4419.0f, 23.0f);
pTestAI->AddWaypoint(1, 1198.0f, -4440.0f, 23.0f);
pTestAI->AddWaypoint(2, 1208.0f, -4392.0f, 23.0f);
pTestAI->AddWaypoint(3, 1231.0f, -4419.0f, 23.0f, 5000);
pTestAI->AddWaypoint(4, 1208.0f, -4392.0f, 23.0f, 5000);
return pTestAI;
return new example_escortAI(pCreature);
}
bool GossipHello_example_escort(Player* pPlayer, Creature* pCreature)
@@ -1,43 +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* pPlayer, 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();
}
@@ -27,7 +27,7 @@ npc_ruul_snowhoof
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
/*####
# npc_torek
@@ -144,11 +144,7 @@ bool QuestAccept_npc_torek(Player* pPlayer, Creature* pCreature, Quest const* qu
CreatureAI* GetAI_npc_torek(Creature* pCreature)
{
npc_torekAI* thisAI = new npc_torekAI(pCreature);
thisAI->FillPointMovementListForCreature();
return thisAI;
return new npc_torekAI(pCreature);
}
/*####
@@ -230,11 +226,7 @@ bool QuestAccept_npc_ruul_snowhoof(Player* pPlayer, Creature* pCreature, Quest c
CreatureAI* GetAI_npc_ruul_snowhoofAI(Creature* pCreature)
{
npc_ruul_snowhoofAI* ruul_snowhoofAI = new npc_ruul_snowhoofAI(pCreature);
ruul_snowhoofAI->FillPointMovementListForCreature();
return ruul_snowhoofAI;
return new npc_ruul_snowhoofAI(pCreature);
}
void AddSC_ashenvale()
@@ -31,7 +31,7 @@ mob_nestlewood_owlkin
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
#include <cmath>
/*######
@@ -383,11 +383,7 @@ bool QuestAccept_npc_magwin(Player* pPlayer, Creature* pCreature, Quest const* q
CreatureAI* GetAI_npc_magwinAI(Creature* pCreature)
{
npc_magwinAI* magwinAI = new npc_magwinAI(pCreature);
magwinAI->FillPointMovementListForCreature();
return magwinAI;
return new npc_magwinAI(pCreature);
}
/*######
@@ -27,7 +27,7 @@ npc_threshwackonator
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
/*####
# npc_prospector_remtravel
@@ -145,11 +145,7 @@ struct TRINITY_DLL_DECL npc_prospector_remtravelAI : public npc_escortAI
CreatureAI* GetAI_npc_prospector_remtravel(Creature* pCreature)
{
npc_prospector_remtravelAI* tempAI = new npc_prospector_remtravelAI(pCreature);
tempAI->FillPointMovementListForCreature();
return tempAI;
return new npc_prospector_remtravelAI(pCreature);
}
bool QuestAccept_npc_prospector_remtravel(Player* pPlayer, Creature* pCreature, const Quest* pQuest)
@@ -22,7 +22,7 @@ SDCategory: Feralas
EndScriptData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
/*######
## npc_gregan_brewspewer
@@ -143,11 +143,7 @@ struct TRINITY_DLL_DECL npc_oox22feAI : public npc_escortAI
CreatureAI* GetAI_npc_oox22fe(Creature* pCreature)
{
npc_oox22feAI* oox22AI = new npc_oox22feAI(pCreature);
oox22AI->FillPointMovementListForCreature();
return oox22AI;
return new npc_oox22feAI(pCreature);
}
bool QuestAccept_npc_oox22fe(Player* pPlayer, Creature* pCreature, const Quest* pQuest)
@@ -30,7 +30,7 @@ npc_clintar_dreamwalker
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
/*######
## npc_bunthen_plainswind
@@ -28,7 +28,7 @@ npc_plains_vision
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
/*######
# npc_skorn_whitecloud
@@ -27,7 +27,7 @@ npc_kaya_flathoof
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
/*######
## npc_braug_dimspirit
@@ -146,11 +146,7 @@ bool QuestAccept_npc_kaya_flathoof(Player* pPlayer, Creature* pCreature, Quest c
CreatureAI* GetAI_npc_kaya_flathoofAI(Creature* pCreature)
{
npc_kaya_flathoofAI* kayaAI = new npc_kaya_flathoofAI(pCreature);
kayaAI->FillPointMovementListForCreature();
return kayaAI;
return new npc_kaya_flathoofAI(pCreature);
}
/*######
@@ -32,7 +32,7 @@ npc_tooga
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
/*######
## mob_aquementas
@@ -214,11 +214,7 @@ struct TRINITY_DLL_DECL npc_custodian_of_timeAI : public npc_escortAI
CreatureAI* GetAI_npc_custodian_of_time(Creature* pCreature)
{
npc_custodian_of_timeAI* custodian_of_timeAI = new npc_custodian_of_timeAI(pCreature);
custodian_of_timeAI->FillPointMovementListForCreature();
return custodian_of_timeAI;
return new npc_custodian_of_timeAI(pCreature);
}
/*######
@@ -31,7 +31,7 @@ npc_wizzlecrank_shredder
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
/*######
## npc_beaten_corpse
@@ -146,11 +146,7 @@ struct TRINITY_DLL_DECL npc_giltharesAI : public npc_escortAI
CreatureAI* GetAI_npc_gilthares(Creature* pCreature)
{
npc_giltharesAI* pTempAI = new npc_giltharesAI(pCreature);
pTempAI->FillPointMovementListForCreature();
return (CreatureAI*)pTempAI;
return new npc_giltharesAI(pCreature);
}
bool QuestAccept_npc_gilthares(Player* pPlayer, Creature* pCreature, const Quest* pQuest)
@@ -29,7 +29,7 @@ npc_plucky
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
/*#####
# npc_kanati
@@ -82,11 +82,7 @@ struct TRINITY_DLL_DECL npc_kanatiAI : public npc_escortAI
CreatureAI* GetAI_npc_kanati(Creature* pCreature)
{
npc_kanatiAI* pTempAI = new npc_kanatiAI(pCreature);
pTempAI->FillPointMovementListForCreature();
return (CreatureAI*)pTempAI;
return new npc_kanatiAI(pCreature);
}
bool QuestAccept_npc_kanati(Player* pPlayer, Creature* pCreature, const Quest* pQuest)
@@ -170,11 +166,7 @@ struct TRINITY_DLL_DECL npc_lakota_windsongAI : public npc_escortAI
CreatureAI* GetAI_npc_lakota_windsong(Creature* pCreature)
{
npc_lakota_windsongAI* pTempAI = new npc_lakota_windsongAI(pCreature);
pTempAI->FillPointMovementListForCreature();
return (CreatureAI*)pTempAI;
return new npc_lakota_windsongAI(pCreature);
}
bool QuestAccept_npc_lakota_windsong(Player* pPlayer, Creature* pCreature, const Quest* pQuest)
@@ -247,11 +239,7 @@ struct TRINITY_DLL_DECL npc_paoka_swiftmountainAI : public npc_escortAI
CreatureAI* GetAI_npc_paoka_swiftmountain(Creature* pCreature)
{
npc_paoka_swiftmountainAI* pTempAI = new npc_paoka_swiftmountainAI(pCreature);
pTempAI->FillPointMovementListForCreature();
return (CreatureAI*)pTempAI;
return new npc_paoka_swiftmountainAI(pCreature);
}
bool QuestAccept_npc_paoka_swiftmountain(Player* pPlayer, Creature* pCreature, const Quest* pQuest)
@@ -26,7 +26,7 @@ npc_injured_rainspeaker_oracle
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
/*######
## npc_injured_rainspeaker_oracle
@@ -160,11 +160,7 @@ bool QuestAccept_npc_injured_rainspeaker_oracle(Player* pPlayer, Creature* pCrea
CreatureAI* GetAI_npc_injured_rainspeaker_oracle(Creature* pCreature)
{
npc_injured_rainspeaker_oracleAI* thisAI = new npc_injured_rainspeaker_oracleAI(pCreature);
thisAI->FillPointMovementListForCreature();
return thisAI;
return new npc_injured_rainspeaker_oracleAI(pCreature);
}
void AddSC_sholazar_basin()
@@ -24,11 +24,12 @@ EndScriptData */
/* ContentData
npc_aeranas
go_haaleshi_altar
npc_naladu
npc_wounded_blood_elf
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
/*######
## npc_aeranas
@@ -126,6 +127,35 @@ bool GOHello_go_haaleshi_altar(Player* pPlayer, GameObject* pGo)
return false;
}
/*######
## npc_naladu
######*/
#define GOSSIP_NALADU_ITEM1 "Why don't you escape?"
enum
{
GOSSIP_TEXTID_NALADU1 = 9788
};
bool GossipHello_npc_naladu(Player* pPlayer, Creature* pCreature)
{
if (pCreature->isQuestGiver())
pPlayer->PrepareQuestMenu(pCreature->GetGUID());
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_NALADU_ITEM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
pPlayer->SEND_GOSSIP_MENU(pCreature->GetNpcTextId(), pCreature->GetGUID());
return true;
}
bool GossipSelect_npc_naladu(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction)
{
if (uiAction == GOSSIP_ACTION_INFO_DEF+1)
pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_NALADU1, pCreature->GetGUID());
return true;
}
/*######
## npc_wounded_blood_elf
######*/
@@ -197,11 +227,7 @@ struct TRINITY_DLL_DECL npc_wounded_blood_elfAI : public npc_escortAI
CreatureAI* GetAI_npc_wounded_blood_elf(Creature* pCreature)
{
npc_wounded_blood_elfAI* welfAI = new npc_wounded_blood_elfAI(pCreature);
welfAI->FillPointMovementListForCreature();
return welfAI;
return new npc_wounded_blood_elfAI(pCreature);
}
bool QuestAccept_npc_wounded_blood_elf(Player* pPlayer, Creature* pCreature, Quest const* quest)
@@ -236,6 +262,12 @@ void AddSC_hellfire_peninsula()
newscript->pGOHello = &GOHello_go_haaleshi_altar;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "npc_naladu";
newscript->pGossipHello = &GossipHello_npc_naladu;
newscript->pGossipSelect = &GossipSelect_npc_naladu;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name="npc_wounded_blood_elf";
newscript->GetAI = &GetAI_npc_wounded_blood_elf;
@@ -29,7 +29,7 @@ npc_bessy
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
/*######
## npc_manaforge_control_console
@@ -40,7 +40,7 @@ npc_enraged_spirit
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
/*#####
# mob_mature_netherwing_drake
@@ -1017,11 +1017,7 @@ struct TRINITY_DLL_DECL npc_earthmender_wildaAI : public npc_escortAI
CreatureAI* GetAI_npc_earthmender_wilda(Creature* pCreature)
{
npc_earthmender_wildaAI* pTempAI = new npc_earthmender_wildaAI(pCreature);
pTempAI->FillPointMovementListForCreature();
return (CreatureAI*)pTempAI;
return new npc_earthmender_wildaAI(pCreature);
}
bool QuestAccept_npc_earthmender_wilda(Player* pPlayer, Creature* pCreature, const Quest* pQuest)
@@ -33,7 +33,7 @@ npc_khadgar
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
/*######
## npc_raliq_the_drunk
@@ -356,11 +356,7 @@ public:
};
CreatureAI* GetAI_npc_kservantAI(Creature* pCreature)
{
npc_kservantAI* kservantAI = new npc_kservantAI(pCreature);
kservantAI->FillPointMovementListForCreature();
return kservantAI;
return new npc_kservantAI(pCreature);
}
/*######
@@ -32,7 +32,7 @@ npc_slim
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
/*######
## mob_unkor_the_ruthless
@@ -221,11 +221,7 @@ public:
CreatureAI* GetAI_npc_skywingAI(Creature* pCreature)
{
npc_skywingAI* skywingAI = new npc_skywingAI(pCreature);
skywingAI->FillPointMovementListForCreature();
return skywingAI;
return new npc_skywingAI(pCreature);
}
/*######
@@ -675,11 +671,7 @@ bool QuestAccept_npc_akuno(Player* pPlayer, Creature* pCreature, Quest const* pQ
CreatureAI* GetAI_npc_akuno(Creature* pCreature)
{
npc_akunoAI* thisAI = new npc_akunoAI(pCreature);
thisAI->FillPointMovementListForCreature();
return(CreatureAI*)thisAI;
return new npc_akunoAI(pCreature);
}
void AddSC_terokkar_forest()
@@ -30,7 +30,7 @@ npc_kayra_longmane
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
/*######
## npcs_ashyen_and_keleth
@@ -331,11 +331,7 @@ bool QuestAccept_npc_kayra_longmane(Player* pPlayer, Creature* pCreature, Quest
CreatureAI* GetAI_npc_kayra_longmaneAI(Creature* pCreature)
{
npc_kayra_longmaneAI* thisAI = new npc_kayra_longmaneAI(pCreature);
thisAI->FillPointMovementListForCreature();
return thisAI;
return new npc_kayra_longmaneAI(pCreature);
}
/*######
## AddSC
@@ -38,7 +38,7 @@ npc_snake_trap_serpents 80% AI for snakes that summoned by Snake Trap
EndContentData */
#include "precompiled.h"
#include "../npc/npc_escortAI.h"
#include "escortAI.h"
#include "ObjectMgr.h"
/*########
@@ -1005,11 +1005,7 @@ struct TRINITY_DLL_DECL npc_garments_of_questsAI : public npc_escortAI
CreatureAI* GetAI_npc_garments_of_quests(Creature* pCreature)
{
npc_garments_of_questsAI* tempAI = new npc_garments_of_questsAI(pCreature);
tempAI->FillPointMovementListForCreature();
return tempAI;
return new npc_garments_of_questsAI(pCreature);
}
/*######
@@ -22,7 +22,7 @@ SDCategory: Auchindoun, Shadow Labyrinth
EndScriptData */
#include "precompiled.h"
#include "../../../npc/npc_escortAI.h"
#include "escortAI.h"
#include "def_shadow_labyrinth.h"
enum
@@ -203,11 +203,7 @@ struct TRINITY_DLL_DECL boss_ambassador_hellmawAI : public npc_escortAI
CreatureAI* GetAI_boss_ambassador_hellmaw(Creature* pCreature)
{
boss_ambassador_hellmawAI* pHellAI = new boss_ambassador_hellmawAI(pCreature);
pHellAI->FillPointMovementListForCreature();
return (CreatureAI*)pHellAI;
return new boss_ambassador_hellmawAI(pCreature);
}
void AddSC_boss_ambassador_hellmaw()
@@ -37,7 +37,7 @@ npc_rocknot
EndContentData */
#include "precompiled.h"
#include "../../npc/npc_escortAI.h"
#include "escortAI.h"
#include "def_blackrock_depths.h"
/*######
@@ -330,11 +330,7 @@ struct TRINITY_DLL_DECL npc_grimstoneAI : public npc_escortAI
CreatureAI* GetAI_npc_grimstone(Creature* pCreature)
{
npc_grimstoneAI* Grimstone_AI = new npc_grimstoneAI(pCreature);
Grimstone_AI->FillPointMovementListForCreature();
return Grimstone_AI;
return new npc_grimstoneAI(pCreature);
}
/*######
@@ -1191,11 +1187,7 @@ struct TRINITY_DLL_DECL npc_rocknotAI : public npc_escortAI
CreatureAI* GetAI_npc_rocknot(Creature* pCreature)
{
npc_rocknotAI* Rocknot_AI = new npc_rocknotAI(pCreature);
Rocknot_AI->FillPointMovementListForCreature();
return Rocknot_AI;
return new npc_rocknotAI(pCreature);
}
bool ChooseReward_npc_rocknot(Player* pPlayer, Creature* pCreature, const Quest *_Quest, uint32 item)
@@ -6,7 +6,7 @@
#define SC_HYJALAI_H
#include "def_hyjal.h"
#include "../../../npc/npc_escortAI.h"
#include "escortAI.h"
// Trash Mobs summoned in waves
#define NECROMANCER 17899//done
@@ -3,7 +3,7 @@
#define SC_HYJAL_TRASH_AI_H
#include "def_hyjal.h"
#include "../../../npc/npc_escortAI.h"
#include "escortAI.h"
#define MINRAIDDAMAGE 700000//minimal damage before trash can drop loot and reputation, resets if faction leader dies
@@ -23,7 +23,7 @@ EndScriptData */
#include "precompiled.h"
#include "def_old_hillsbrad.h"
#include "../../../npc/npc_escortAI.h"
#include "escortAI.h"
/*######
## go_barrel_old_hillsbrad
@@ -28,7 +28,7 @@ npc_taretha
EndContentData */
#include "precompiled.h"
#include "../../../npc/npc_escortAI.h"
#include "escortAI.h"
#include "def_old_hillsbrad.h"
#define QUEST_ENTRY_HILLSBRAD 10282
@@ -483,11 +483,7 @@ struct TRINITY_DLL_DECL npc_thrall_old_hillsbradAI : public npc_escortAI
CreatureAI* GetAI_npc_thrall_old_hillsbrad(Creature* pCreature)
{
npc_thrall_old_hillsbradAI* thrall_walkAI = new npc_thrall_old_hillsbradAI(pCreature);
thrall_walkAI->FillPointMovementListForCreature();
return thrall_walkAI;
return new npc_thrall_old_hillsbradAI(pCreature);
}
bool GossipHello_npc_thrall_old_hillsbrad(Player* pPlayer, Creature* pCreature)
@@ -611,11 +607,7 @@ struct TRINITY_DLL_DECL npc_tarethaAI : public npc_escortAI
};
CreatureAI* GetAI_npc_taretha(Creature* pCreature)
{
npc_tarethaAI* taretha_walkAI = new npc_tarethaAI(pCreature);
taretha_walkAI->FillPointMovementListForCreature();
return taretha_walkAI;
return new npc_tarethaAI(pCreature);
}
bool GossipHello_npc_taretha(Player* pPlayer, Creature* pCreature)
@@ -23,7 +23,7 @@ EndScriptData */
#include "precompiled.h"
#include "def_serpent_shrine.h"
#include "../../../npc/npc_escortAI.h"
#include "escortAI.h"
#define SAY_AGGRO -1548021
#define SAY_GAIN_BLESSING -1548022
@@ -23,7 +23,7 @@ EndScriptData */
#include "precompiled.h"
#include "def_serpent_shrine.h"
#include "../../../creature/simple_ai.h"
#include "simple_ai.h"
#include "Spell.h"
#define SAY_INTRO -1548042
@@ -23,7 +23,7 @@ EndScriptData */
#include "precompiled.h"
#include "def_serpent_shrine.h"
#include "../../../creature/simple_ai.h"
#include "simple_ai.h"
#include "Spell.h"
#define SPELL_SPOUT 37433
@@ -22,7 +22,7 @@ SDCategory: Karazhan
EndScriptData */
#include "precompiled.h"
#include "../../creature/simple_ai.h"
#include "simple_ai.h"
#include "def_karazhan.h"
#include "GameObject.h"
@@ -29,7 +29,7 @@ EndContentData */
#include "precompiled.h"
#include "def_karazhan.h"
#include "../../npc/npc_escortAI.h"
#include "escortAI.h"
/*######
# npc_barnesAI
@@ -320,11 +320,7 @@ struct TRINITY_DLL_DECL npc_barnesAI : public npc_escortAI
CreatureAI* GetAI_npc_barnesAI(Creature* pCreature)
{
npc_barnesAI* Barnes_AI = new npc_barnesAI(pCreature);
Barnes_AI->FillPointMovementListForCreature();
return (CreatureAI*)Barnes_AI;
return new npc_barnesAI(pCreature);
}
bool GossipHello_npc_barnes(Player* pPlayer, Creature* pCreature)
@@ -17,98 +17,101 @@
/* ScriptData
SDName: Boss_Golemagg
SD%Complete: 90
SDComment:
SDComment: Timers need to be confirmed, Golemagg's Trust need to be checked
SDCategory: Molten Core
EndScriptData */
#include "precompiled.h"
#include "def_molten_core.h"
#define EMOTE_AEGIS -1409002
enum
{
SPELL_MAGMASPLASH = 13879,
SPELL_PYROBLAST = 20228,
SPELL_EARTHQUAKE = 19798,
SPELL_ENRAGE = 19953,
SPELL_GOLEMAGG_TRUST = 20553,
#define SPELL_MAGMASPLASH 13879
#define SPELL_PYROBLAST 20228
#define SPELL_EARTHQUAKE 19798
#define SPELL_ENRAGE 19953
#define SPELL_BUFF 20553
//-- CoreRager Spells --
#define SPELL_MANGLE 19820
#define SPELL_AEGIS 20620 //This is self casted whenever we are below 50%
// Core Rager
EMOTE_LOWHP = -1409002,
SPELL_MANGLE = 19820
};
struct TRINITY_DLL_DECL boss_golemaggAI : public ScriptedAI
{
boss_golemaggAI(Creature *c) : ScriptedAI(c)
boss_golemaggAI(Creature* pCreature) : ScriptedAI(pCreature)
{
pInstance = c->GetInstanceData();
m_pInstance = pCreature->GetInstanceData();
}
ScriptedInstance *pInstance;
uint32 Pyroblast_Timer;
uint32 EarthQuake_Timer;
uint32 Enrage_Timer;
uint32 Buff_Timer;
ScriptedInstance* m_pInstance;
uint32 m_uiPyroblastTimer;
uint32 m_uiEarthquakeTimer;
uint32 m_uiBuffTimer;
bool m_bEnraged;
void Reset()
{
Pyroblast_Timer = 7000; //These times are probably wrong
EarthQuake_Timer = 3000;
Buff_Timer = 2500;
Enrage_Timer = 0;
m_uiPyroblastTimer = 7*IN_MILISECONDS; // These timers are probably wrong
m_uiEarthquakeTimer = 3*IN_MILISECONDS;
m_uiBuffTimer = 2.5*IN_MILISECONDS;
m_bEnraged = false;
m_creature->CastSpell(m_creature,SPELL_MAGMASPLASH,true);
m_creature->CastSpell(m_creature, SPELL_MAGMASPLASH, true);
}
void EnterCombat(Unit *who)
void JustDied(Unit* pKiller)
{
if (m_pInstance)
m_pInstance->SetData(DATA_GOLEMAGG_DEATH, 0);
}
void JustDied(Unit* Killer)
{
if (pInstance)
pInstance->SetData(DATA_GOLEMAGG_DEATH, 0);
}
void UpdateAI(const uint32 diff)
void UpdateAI(const uint32 uiDiff)
{
if (!UpdateVictim())
return;
//Pyroblast_Timer
if (Pyroblast_Timer < diff)
//Pyroblast
if (m_uiPyroblastTimer < uiDiff)
{
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0))
DoCast(target,SPELL_PYROBLAST);
if (Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
DoCast(pTarget, SPELL_PYROBLAST);
Pyroblast_Timer = 7000;
}else Pyroblast_Timer -= diff;
m_uiPyroblastTimer = 7*IN_MILISECONDS;
}
else
m_uiPyroblastTimer -= uiDiff;
//Enrage_Timer
if (m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 11)
// Enrage
if (!m_bEnraged && m_creature->GetHealth()*100 < m_creature->GetMaxHealth()*10)
{
if (Enrage_Timer < diff)
{
DoCast(m_creature,SPELL_ENRAGE);
Enrage_Timer = 62000;
}else Enrage_Timer -= diff;
DoCast(m_creature, SPELL_ENRAGE);
m_bEnraged = true;
}
//EarthQuake_Timer
if (m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 11)
// Earthquake
if (m_bEnraged)
{
if (EarthQuake_Timer < diff)
if (m_uiEarthquakeTimer < uiDiff)
{
DoCast(m_creature->getVictim(),SPELL_EARTHQUAKE);
EarthQuake_Timer = 3000;
}else EarthQuake_Timer -= diff;
DoCast(m_creature->getVictim(), SPELL_EARTHQUAKE);
m_uiEarthquakeTimer = 3*IN_MILISECONDS;
}
else
m_uiEarthquakeTimer -= uiDiff;
}
//Casting Buff for Coreragers. Spell is not working right. Players get the buff...
// if (Buff_Timer < diff)
// {
// DoCast(m_creature, SPELL_BUFF);
// Buff_Timer = 2500;
// }else Buff_Timer -= diff;
/*
// Golemagg's Trust
if (m_uiBuffTimer < uiDiff)
{
DoCast(m_creature, SPELL_GOLEMAGG_TRUST);
m_uiBuffTimer = 2.5*IN_MILISECONDS;
}
else
m_uiBuffTimer -= uiDiff;
*/
DoMeleeAttackIfReady();
}
@@ -118,60 +121,56 @@ struct TRINITY_DLL_DECL mob_core_ragerAI : public ScriptedAI
{
mob_core_ragerAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
m_pInstance = c->GetInstanceData();
}
uint32 Mangle_Timer;
uint32 Check_Timer;
ScriptedInstance *pInstance;
ScriptedInstance* m_pInstance;
uint32 m_uiMangleTimer;
void Reset()
{
Mangle_Timer = 7000; //These times are probably wrong
Check_Timer = 1000;
m_uiMangleTimer = 7*IN_MILISECONDS; // These times are probably wrong
}
void EnterCombat(Unit *who)
void DamageTaken(Unit* pDoneBy, uint32& uiDamage)
{
if (m_creature->GetHealth()*100 < m_creature->GetMaxHealth()*50)
{
if (m_pInstance)
{
if (Creature* pGolemagg = m_pInstance->instance->GetCreature(m_pInstance->GetData64(DATA_GOLEMAGG)))
{
if (pGolemagg->isAlive())
{
DoScriptText(EMOTE_LOWHP, m_creature);
m_creature->SetHealth(m_creature->GetMaxHealth());
}
else
uiDamage = m_creature->GetHealth();
}
}
}
}
void UpdateAI(const uint32 diff)
void UpdateAI(const uint32 uiDiff)
{
if (!UpdateVictim())
return;
//Mangle_Timer
if (Mangle_Timer < diff)
// Mangle
if (m_uiMangleTimer < uiDiff)
{
DoCast(m_creature->getVictim(),SPELL_MANGLE);
Mangle_Timer = 10000;
}else Mangle_Timer -= diff;
//Cast AEGIS
if (m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 50)
{
DoCast(m_creature,SPELL_AEGIS);
DoScriptText(EMOTE_AEGIS, m_creature);
DoCast(m_creature->getVictim(), SPELL_MANGLE);
m_uiMangleTimer = 10*IN_MILISECONDS;
}
//Check_Timer
if (Check_Timer < diff)
{
if (pInstance)
{
Unit *pGolemagg = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_GOLEMAGG));
if (!pGolemagg || !pGolemagg->isAlive())
{
m_creature->DealDamage(m_creature, m_creature->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, true);
}
}
Check_Timer = 1000;
}else Check_Timer -= diff;
else
m_uiMangleTimer -= uiDiff;
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI_boss_golemagg(Creature* pCreature)
{
return new boss_golemaggAI (pCreature);
@@ -184,7 +183,7 @@ CreatureAI* GetAI_mob_core_rager(Creature* pCreature)
void AddSC_boss_golemagg()
{
Script *newscript;
Script* newscript;
newscript = new Script;
newscript->Name="boss_golemagg";
@@ -183,7 +183,7 @@ struct TRINITY_DLL_DECL instance_molten_core : public ScriptedInstance
case DATA_SULFURON:
return Sulfuron;
case DATA_GOLEMAGG:
return Sulfuron;
return Golemagg;
case DATA_FLAMEWAKERPRIEST:
return FlamewakerPriest;
@@ -26,7 +26,7 @@ mob_ancient_core_hound
EndContentData */
#include "precompiled.h"
#include "../../creature/simple_ai.h"
#include "simple_ai.h"
#define SPELL_CONE_OF_FIRE 19630
#define SPELL_BITE 19771
@@ -26,7 +26,7 @@ npc_willix
EndContentData */
#include "precompiled.h"
#include "../../npc/npc_escortAI.h"
#include "escortAI.h"
#include "def_razorfen_kraul.h"
#define SAY_READY -1047000
@@ -22,7 +22,7 @@ SDCategory: Scarlet Monastery
EndScriptData */
#include "precompiled.h"
#include "../../npc/npc_escortAI.h"
#include "escortAI.h"
#define SAY_AGGRO -1189000
#define SAY_WHIRLWIND -1189001
@@ -140,11 +140,7 @@ struct TRINITY_DLL_DECL mob_scarlet_traineeAI : public npc_escortAI
CreatureAI* GetAI_mob_scarlet_trainee(Creature* pCreature)
{
mob_scarlet_traineeAI* thisAI = new mob_scarlet_traineeAI(pCreature);
thisAI->FillPointMovementListForCreature();
return thisAI;
return new mob_scarlet_traineeAI(pCreature);
}
void AddSC_boss_herod()
@@ -26,7 +26,7 @@ npc_shadowfang_prisoner
EndContentData */
#include "precompiled.h"
#include "../../npc/npc_escortAI.h"
#include "escortAI.h"
#include "def_shadowfang_keep.h"
/*######
@@ -102,11 +102,7 @@ struct TRINITY_DLL_DECL npc_shadowfang_prisonerAI : public npc_escortAI
CreatureAI* GetAI_npc_shadowfang_prisoner(Creature* pCreature)
{
npc_shadowfang_prisonerAI* prisonerAI = new npc_shadowfang_prisonerAI(pCreature);
prisonerAI->FillPointMovementListForCreature();
return prisonerAI;
return new npc_shadowfang_prisonerAI(pCreature);
}
bool GossipHello_npc_shadowfang_prisoner(Player* pPlayer, Creature* pCreature)
@@ -26,7 +26,7 @@ npc_a-me
EndContentData */
#include "precompiled.h"
#include "../../npc/npc_escortAI.h"
#include "escortAI.h"
#define SAY_READY -1000200
#define SAY_AGGRO1 -1000201
@@ -25,7 +25,7 @@ EndScriptData */
EndContentData */
#include "precompiled.h"
#include "../../npc/npc_escortAI.h"
#include "escortAI.h"
#include "def_wailing_caverns.h"
/*######
@@ -348,11 +348,7 @@ struct TRINITY_DLL_DECL npc_disciple_of_naralexAI : public npc_escortAI
CreatureAI* GetAI_npc_disciple_of_naralex(Creature* pCreature)
{
npc_disciple_of_naralexAI *disciple_of_naralexAI = new npc_disciple_of_naralexAI(pCreature);
disciple_of_naralexAI->FillPointMovementListForCreature();
return disciple_of_naralexAI;
return new npc_disciple_of_naralexAI(pCreature);
}
bool GossipHello_npc_disciple_of_naralex(Player* pPlayer, Creature* pCreature)
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
/* 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 SC_SCRIPTLOADER_H
#define SC_SCRIPTLOADER_H
void AddScripts();
#endif
+31 -4
View File
@@ -479,6 +479,8 @@ Player::Player (WorldSession *session): Unit(), m_achievementMgr(this), m_reputa
m_isWorldObject = true;
sWorld.IncreasePlayerCount();
m_ChampioningFaction = 0;
}
Player::~Player ()
@@ -6110,11 +6112,35 @@ void Player::RewardReputation(Unit *pVictim, float rate)
if(!Rep)
return;
uint32 ChampioningFaction = 0;
if(GetChampioningFaction())
{
// support for: Championing - http://www.wowwiki.com/Championing
Map const *pMap = GetMap();
if(pMap && pMap->IsDungeon())
{
bool Heroic = pMap->IsHeroic();
InstanceTemplate const *pInstance = objmgr.GetInstanceTemplate(pMap->GetId());
if(pInstance)
{
AccessRequirement const *pAccessRequirement = objmgr.GetAccessRequirement(pInstance->access_id);
if(pAccessRequirement)
{
if(!pMap->IsRaid() && ((!Heroic && pAccessRequirement->levelMin == 80) || (Heroic && pAccessRequirement->heroicLevelMin == 80)))
ChampioningFaction = GetChampioningFaction();
}
}
}
}
if(Rep->repfaction1 && (!Rep->team_dependent || GetTeam()==ALLIANCE))
{
int32 donerep1 = CalculateReputationGain(pVictim->getLevel(), Rep->repvalue1, Rep->repfaction1, false);
int32 donerep1 = CalculateReputationGain(pVictim->getLevel(), Rep->repvalue1, ChampioningFaction ? ChampioningFaction : Rep->repfaction1, false);
donerep1 = int32(donerep1*rate);
FactionEntry const *factionEntry1 = sFactionStore.LookupEntry(Rep->repfaction1);
FactionEntry const *factionEntry1 = sFactionStore.LookupEntry(ChampioningFaction ? ChampioningFaction : Rep->repfaction1);
uint32 current_reputation_rank1 = GetReputationMgr().GetRank(factionEntry1);
if (factionEntry1 && current_reputation_rank1 <= Rep->reputation_max_cap1)
GetReputationMgr().ModifyReputation(factionEntry1, donerep1);
@@ -6130,9 +6156,9 @@ void Player::RewardReputation(Unit *pVictim, float rate)
if(Rep->repfaction2 && (!Rep->team_dependent || GetTeam()==HORDE))
{
int32 donerep2 = CalculateReputationGain(pVictim->getLevel(), Rep->repvalue2, Rep->repfaction2, false);
int32 donerep2 = CalculateReputationGain(pVictim->getLevel(), Rep->repvalue2, ChampioningFaction ? ChampioningFaction : Rep->repfaction2, false);
donerep2 = int32(donerep2*rate);
FactionEntry const *factionEntry2 = sFactionStore.LookupEntry(Rep->repfaction2);
FactionEntry const *factionEntry2 = sFactionStore.LookupEntry(ChampioningFaction ? ChampioningFaction : Rep->repfaction2);
uint32 current_reputation_rank2 = GetReputationMgr().GetRank(factionEntry2);
if (factionEntry2 && current_reputation_rank2 <= Rep->reputation_max_cap2)
GetReputationMgr().ModifyReputation(factionEntry2, donerep2);
@@ -21833,6 +21859,7 @@ void Player::ActivateSpec(uint8 spec)
_LoadActions(result);
}
UnsummonPetTemporaryIfAny();
AutoUnequipOffhandIfNeed();
SendActionButtons(1);
SetPower(getPowerType(), 0);
}
+5
View File
@@ -2204,6 +2204,9 @@ class MANGOS_DLL_SPEC Player : public Unit
//bool isActiveObject() const { return true; }
bool canSeeSpellClickOn(Creature const* creature) const;
inline uint32 GetChampioningFaction() const { return m_ChampioningFaction; }
inline void SetChampioningFaction(uint32 faction) { m_ChampioningFaction = faction; }
protected:
uint32 m_contestedPvPTimer;
@@ -2479,6 +2482,8 @@ class MANGOS_DLL_SPEC Player : public Unit
ReputationMgr m_reputationMgr;
SpellCooldowns m_spellCooldowns;
uint32 m_ChampioningFaction;
};
void AddItemsSetItem(Player*player,Item *item);
+23
View File
@@ -2872,6 +2872,29 @@ void AuraEffect::HandleAuraDummy(bool apply, bool Real, bool changeAmount)
}
return;
}
case 57819: // Argent Champion
case 57820: // Ebon Champion
case 57821: // Champion of the Kirin Tor
case 57822: // Wyrmrest Champion
{
if(!caster || caster->GetTypeId() != TYPEID_PLAYER)
return;
uint32 FactionID = 0;
if(apply)
{
switch(m_spellProto->Id)
{
case 57819: FactionID = 1106; break; // Argent Crusade
case 57820: FactionID = 1098; break; // Knights of the Ebon Blade
case 57821: FactionID = 1090; break; // Kirin Tor
case 57822: FactionID = 1091; break; // The Wyrmrest Accord
}
}
((Player*)caster)->SetChampioningFaction(FactionID);
return;
}
// LK Intro VO (1)
case 58204:
if(m_target->GetTypeId() == TYPEID_PLAYER)