Merge branch 'master' into 4.3.4

Conflicts:
	src/server/game/AI/EventAI/CreatureEventAI.h
	src/server/game/AI/EventAI/CreatureEventAIMgr.h
	src/server/game/Achievements/AchievementMgr.cpp
	src/server/game/DungeonFinding/LFGMgr.h
	src/server/game/Entities/Creature/Creature.h
	src/server/game/Entities/Object/Updates/UpdateData.cpp
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Player/Player.h
	src/server/game/Grids/Notifiers/GridNotifiers.h
	src/server/game/Grids/ObjectGridLoader.h
	src/server/game/Spells/SpellInfo.h
	src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
	src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
	src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
	src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
	src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
	src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp
	src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp
	src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
	src/server/scripts/EasternKingdoms/zone_burning_steppes.cpp
	src/server/scripts/EasternKingdoms/zone_hinterlands.cpp
	src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
	src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
	src/server/scripts/Kalimdor/zone_azshara.cpp
	src/server/scripts/Kalimdor/zone_darkshore.cpp
	src/server/scripts/Kalimdor/zone_desolace.cpp
	src/server/scripts/Kalimdor/zone_mulgore.cpp
	src/server/scripts/Kalimdor/zone_orgrimmar.cpp
	src/server/scripts/Kalimdor/zone_stonetalon_mountains.cpp
	src/server/scripts/Kalimdor/zone_tanaris.cpp
	src/server/scripts/Kalimdor/zone_thousand_needles.cpp
	src/tools/map_extractor/System.cpp
	src/tools/map_extractor/mpq_libmpq.cpp
	src/tools/map_extractor/mpq_libmpq04.h
	src/tools/vmap4_extractor/loadlib/loadlib.h
	src/tools/vmap4_extractor/mpq_libmpq.cpp
	src/tools/vmap4_extractor/mpq_libmpq04.h
This commit is contained in:
Spp
2013-11-08 10:29:51 +01:00
484 changed files with 3938 additions and 2160 deletions

View File

@@ -0,0 +1,116 @@
{
[1] ACE_Future::ready() race in WorldSession::ProcessQueryCallbacks(), a lock is used anyway in ACE_Future::get()/set()
Helgrind:Race
...
fun:_ZN14ACE_Future_RepIN7Trinity7AutoPtrI17PreparedResultSet16ACE_Thread_MutexEEE3setERKS4_R10ACE_FutureIS4_E
fun:_ZN10ACE_FutureIN7Trinity7AutoPtrI17PreparedResultSet16ACE_Thread_MutexEEE3setERKS4_
fun:_ZN21PreparedStatementTask7ExecuteEv
}
{
[1] ACE_Future::ready() race in WorldSession::ProcessQueryCallbacks(), a lock is used anyway in ACE_Future::get()/set()
Helgrind:Race
...
fun:_ZN14ACE_Future_RepIP14SQLQueryHolderE3setERKS1_R10ACE_FutureIS1_E
fun:_ZN10ACE_FutureIP14SQLQueryHolderE3setERKS1_
fun:_ZN18SQLQueryHolderTask7ExecuteEv
}
{
[2] ACE_Future::ready() race in WorldSession::ProcessQueryCallbacks(), a lock is used anyway in ACE_Future::get()/set()
Helgrind:Race
...
fun:_ZNK14ACE_Future_RepIP14SQLQueryHolderE5readyEv
fun:_ZNK10ACE_FutureIP14SQLQueryHolderE5readyEv
fun:_ZN12WorldSession21ProcessQueryCallbacksEv
}
{
[3] ACE_Future::attach()/detach() false positive in WorldSession::HandleCharEnumOpcode()
Helgrind:Race
...
fun:_ZN14ACE_Future_RepIN7Trinity7AutoPtrI17PreparedResultSet16ACE_Thread_MutexEEE6attachERPS5_
}
{
[4] ACE_Future::get() race in WorldSession::ProcessQueryCallbacks() , a lock is used anyway in ACE_Future::get()/set(), the only case when this is a race is if the same ACE_Future is reused by another thread
Helgrind:Race
...
fun:_ZNK14ACE_Future_RepIP14SQLQueryHolderE3getERS1_P14ACE_Time_Value
fun:_ZNK10ACE_FutureIP14SQLQueryHolderE3getERS1_P14ACE_Time_Value
fun:_ZN12WorldSession21ProcessQueryCallbacksEv
}
{
[4] ACE_Future::get() race in WorldSession::ProcessQueryCallbacks() , a lock is used anyway in ACE_Future::get()/set(), the only case when this is a race is if the same ACE_Future is reused by another thread
Helgrind:Race
...
fun:_ZNK10ACE_FutureIN7Trinity7AutoPtrI17PreparedResultSet16ACE_Thread_MutexEEE5readyEv
fun:_ZN12WorldSession21ProcessQueryCallbacksEv
}
{
[5] Race in WorldSession::ProcessQueryCallbacks(), added ASSERT(!m_result.ready())
Helgrind:Race
...
fun:_ZN6Player10LoadFromDBEjP14SQLQueryHolder
fun:_ZN12WorldSession17HandlePlayerLoginEP16LoginQueryHolder
fun:_ZN12WorldSession21ProcessQueryCallbacksEv
}
{
[5] Race in WorldSession::ProcessQueryCallbacks(), added ASSERT(!m_result.ready())
Helgrind:Race
...
fun:_ZN14SQLQueryHolder17GetPreparedResultEm
fun:_ZN12WorldSession17HandlePlayerLoginEP16LoginQueryHolder
fun:_ZN12WorldSession21ProcessQueryCallbacksEv
}
{
[5] Race in WorldSession::ProcessQueryCallbacks(), added ASSERT(!m_result.ready())
Helgrind:Race
...
fun:_ZN12WorldSession15LoadAccountDataEN7Trinity7AutoPtrI17PreparedResultSet16ACE_Thread_MutexEEj
fun:_ZN12WorldSession17HandlePlayerLoginEP16LoginQueryHolder
fun:_ZN12WorldSession21ProcessQueryCallbacksEv
}
{
[5] Race in WorldSession::ProcessQueryCallbacks(), added ASSERT(!m_result.ready())
Helgrind:Race
...
fun:_ZNK17PreparedResultSet5FetchEv
fun:_ZN12WorldSession17HandlePlayerLoginEP16LoginQueryHolder
fun:_ZN12WorldSession21ProcessQueryCallbacksEv
}
{
[5] Race in WorldSession::ProcessQueryCallbacks(), added ASSERT(!m_result.ready())
Helgrind:Race
...
fun:_ZNK5Field9GetUInt32Ev
fun:_ZN12WorldSession17HandlePlayerLoginEP16LoginQueryHolder
fun:_ZN12WorldSession21ProcessQueryCallbacksEv
}
{
[5] Race in WorldSession::ProcessQueryCallbacks(), added ASSERT(!m_result.ready())
Helgrind:Race
...
fun:_ZNK5Field8GetUInt8Ev
fun:_ZN12WorldSession17HandlePlayerLoginEP16LoginQueryHolder
fun:_ZN12WorldSession21ProcessQueryCallbacksEv
}
{
[6] False positive of possible race about ACE_Strong_Bound_Ptr
Helgrind:Race
...
fun:_ZN17PreparedResultSetD1Ev
fun:_ZN20ACE_Strong_Bound_PtrI17PreparedResultSet16ACE_Thread_MutexED1Ev
fun:_ZN7Trinity7AutoPtrI17PreparedResultSet16ACE_Thread_MutexED1Ev
fun:_ZN12WorldSession17HandlePlayerLoginEP16LoginQueryHolder
fun:_ZN12WorldSession21ProcessQueryCallbacksEv
}
{
[7] Race condition on bool in ACE, ignore
Helgrind:Race
fun:_ZN11WorldSocket12handle_closeEim
fun:_ZN20ACE_Dev_Poll_Reactor16remove_handler_iEimP17ACE_Event_Handler
}
{
[7] Race condition on bool in ACE, ignore
Helgrind:Race
fun:_ZNK11WorldSocket8IsClosedEv
fun:_ZN12WorldSession6UpdateEjR12PacketFilter
fun:_ZN5World14UpdateSessionsEj
}

View File

@@ -13,13 +13,23 @@ disable certain log statements while allowing others to print unhindered.
This capability assumes that the loggers are categorized according to some
developer-chosen criteria.
Loggers follow hierarchy, if a logger is not defined a root logger will be used
Loggers are named entitites. Logger names are case-sensitive and they follow
the hierarchical naming rule:
A Logger is said to be an ancestor of another logger if its name followed
by a dot is a prefix of the descendant logger name. A logger is salid to be
a parent of a child logger if there are no ancestors between itself and the
descendant logger.
For example, the logger named "entities.player" is a parent of the logger named
"entities.player.character". Similarly, "entities" is a parent of "entities.player"
and an ancestor of "entities.player.character".
Loggers may be assigned levels. The set of possible levels are TRACE, DEBUG,
INFO, WARN, ERROR AND FATAL, or be disabled using level DISABLED.
By definition the printing method determines the level of a logging request.
For example, sLog->outInfo(...) is a logging request of level INFO.
For example, TC_LOG_INFO(...) is a logging request of level INFO.
A logging request is said to be enabled if its level is higher than or equal to
the level of its logger. Otherwise, the request is said to be disabled. A logger
@@ -28,9 +38,9 @@ without an assigned level will inherit one from the hierarchy
Example
Logger Name Assigned Level Inherited Level
root Proot Proot
Network None Proot
server None Proot
As Network is not defined, it uses the root logger and it's log level.
As "server" is not defined, it uses the root logger and it's log level.
TRACE < DEBUG < INFO < WARN < ERROR < FATAL.
@@ -50,12 +60,15 @@ logger
CONFIGURATION
System will read "Loggers" and "Appenders" to know the list of loggers and
appenders to read from config file. Both are a list of elements separated
by space.
System will read all config elements with prefix "Logger." and "Appender."
and configure the logging system. If "root" can not be properly configured the core
will remove all loggers and appenders and create a default set:
- Logger "root" with log level Error
- Logger "server" with log level Info
- Appender "Console" to log to console
Once we have the list of appenders to read, system will try to configure a new
appender from its config line. Appender config line follows the format:
Appender config line follows the format:
Type,LogLevel,Flags,optional1,optional2
@@ -131,53 +144,9 @@ legal but redundant.
Once we have the list of loggers to read, system will try to configure a new
logger from its config line. Logger config line follows the format:
Type,LogLevel,AppenderList
LogLevel,AppenderList
Its a list of elements separated by comma where each element has its own meaning
Type: Type of the logger (
0 - Default. Each type that has no config will
rely on this one. Core will create this logger
(disabled) if it's not configured
1 - Units that doesn't fit in other categories
2 - Pets
3 - Vehicles
4 - C++ AI, instance scripts, etc.
5 - DB AI, such as SAI, EAI, CreatureAI
6 - DB map scripts
7 - Network input/output,
such as packet handlers and netcode logs
8 - Spellsystem and aurasystem
9 - Achievement system
10 - Condition system
11 - Pool system
12 - Auction house
13 - Arena's and battlegrounds
14 - Outdoor PVP
15 - Chat system
16 - LFG system
17 - Maps, instances (not scripts),
grids, cells, visibility, etc.
18 - Player that doesn't fit in other categories.
19 - Player loading from DB
(Player::_LoadXXX functions)
20 - Items
21 - Player skills (do not confuse with spells)
22 - Player chat logs
23 - loot
24 - guilds
25 - transports
26 - SQL. DB errors
27 - GM Commands
28 - Remote Access Commands
29 - Warden
30 - Authserver
31 - Worldserver
32 - Game Events
33 - Calendar
34 - Character (Exclusive to login, logout, create, rename and delete)
35 - Arenas
36 - SQL Driver
37 - SQL Dev
LogLevel
0 - (Disabled)
1 - (Trace)
@@ -197,14 +166,12 @@ Log errors to console and a file called server.log that only contain
logs for this server run. File should prefix timestamp, type and log level to
the messages. Console should prefix type and log level.
Appenders=Console Server
Loggers=Root
Appender.Console=1,5,6
Appender.Server=2,5,7,Server.log,w
Logger.Root=0,5,Console Server
Logger.root=5,Console Server
Lets trace how system will log two different messages:
1) sLog->outError(LOG_FILTER_GUILD, "Guild 1 created");
1) TC_LOG_ERROR(LOG_FILTER_GUILD, "Guild 1 created");
System will try to find logger of type GUILD, as no logger is configured
for GUILD it will use Root logger. As message Log Level is equal or higher
than the Log level of logger the message is sent to the Appenders
@@ -212,7 +179,7 @@ Lets trace how system will log two different messages:
Console will write: "ERROR [GUILD ] Guild 1 created"
Server will write to file "2012-08-15 ERROR [GUILD ] Guild 1 created"
2) sLog->outInfo(LOG_FILTER_CHARACTER, "Player Name Logged in");
2) TC_LOG_INFO(LOG_FILTER_CHARACTER, "Player Name Logged in");
System will try to find logger of type CHARACTER, as no logger is
configured for CHARACTER it will use Root logger. As message Log Level is
not equal or higher than the Log level of logger the message its discarted.
@@ -222,16 +189,14 @@ EXAMPLE 2
Same example that above, but now i want to see all messages of level INFO on
file and server file should add timestamp on creation.
Appenders=Console Server
Loggers=Root
Appender.Console=1,5,6
Appender.Server=2,4,15,Server.log
Logger.Root=0,4,Console Server
Logger.root=4,Console Server
Lets trace how system will log two different messages:
1) sLog->outError(LOG_FILTER_GUILD, "Guild 1 created");
1) TC_LOG_ERROR(LOG_FILTER_GUILD, "Guild 1 created");
Performs exactly as example 1.
2) sLog->outInfo(LOG_FILTER_CHARACTER, "Player Name Logged in");
2) TC_LOG_INFO(LOG_FILTER_CHARACTER, "Player Name Logged in");
System will try to find logger of type CHARACTER, as no logger is
configured for CHARACTER it will use Root logger. As message Log Level is
equal or higher than the Log level of logger the message is sent to the
@@ -248,13 +213,11 @@ and also some CHARACTER events to some point. Also im checking some Waypoints
so i want SQLDEV to be logged to file without prefixes. All other messages
should only be logged to console, GUILD to TRACE and CHARACTER to INFO
Appenders=Console SQLDev
Loggers=Guild Characters SQLDev
Appender.Console=1,1
Appender.SQLDev=2,2,0,SQLDev.log
Logger.Guild=24,1,Console
Logger.Characters=34,3,Console
Logger.SQLDev=37,3,SQLDev
Logger.guild=1,Console
Logger.entities.player.character=3,Console
Logger.sql.dev=3,SQLDev
With this config, any message logger with a Log type different to GUILD,
CHARACTER or SQLDEV will be ignored, as we didn't define a logger Root and
@@ -262,13 +225,3 @@ system created a default Root disabled. Appender Console, log level should be
defined to allow all possible messages of its loggers, in this case GUILD uses
TRACE (1), so Appender should allow it. Logger Characters will limit it's own
messages to INFO (3)
--- SOME EXTRA COMMENTS ---
why this system is better than previous one?
- Can be extended: Anyone can easily create new appenders to log to new
systems as syslog or IRC, having all code related to that system in particular
files
- It's asyncronous: Uses threads to write messages, so core performance wont be
affected by IO operations
- Lets us select "What to log" and "Where to log" on the fly. You can log to a
dozen of files without having to change a single line of code

View File

@@ -0,0 +1,6 @@
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=17 AND `SourceEntry` IN(66661,66642,30015,3678);
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(17, 0, 66661, 0, 0, 29, 0, 35012, 40, 0, 1, 0, 0, '', 'Cant use Captured Kvaldir Banner within 40 yards of Ornolf The Scarred'),
(17, 0, 66642, 0, 0, 29, 0, 34980, 40, 0, 1, 0, 0, '', 'Cant use Kvaldir War Horn within 40 yards of Drottinn Hrothgar'),
(17, 0, 30015, 0, 0, 29, 0, 17207, 100, 0, 1, 0, 0, '', 'Cant use Gift of Naias within 100 yards of Naias'),
(17, 0, 3678, 0, 0, 29, 0, 2624, 100, 0, 1, 0, 0, '', 'Cant use Catelyns Blade within 100 yards of Gazban');

View File

@@ -0,0 +1,6 @@
DELETE FROM `smart_scripts` WHERE `entryorguid` = 23030 AND `source_type` = 0;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(23030, 0, 0, 0, 6, 0, 100, 2, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Dragonmaw Sky Stalker - On Creature Death - Dismount"),
(23030, 0, 1, 0, 0, 0, 100, 2, 0, 0, 0, 0, 19, 0x02000000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Dragonmaw Sky Stalker - In Combat - Remove unit flag"),
(23030, 0, 2, 0, 9, 0, 100, 2, 5, 41, 15800, 15800, 11, 40872, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, "Dragonmaw Sky Stalker - At 5 - 41 Range - Cast Immolation Arrow"),
(23030, 0, 3, 0, 9, 0, 100, 2, 5, 41, 9800, 9800, 11, 40873, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, "Dragonmaw Sky Stalker - At 5 - 41 Range - Cast Shoot");

View File

@@ -0,0 +1,2 @@
-- Make invisible some visible Triggers
UPDATE `creature_template` SET `flags_extra`=`flags_extra`|128 WHERE `entry` IN (21052,21403,21334,21436,21437,21438,21439,21440);

View File

@@ -0,0 +1,9 @@
--
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=21215;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(15, 21215, 0, 0, 0, 12, 0, 12, 0, 0, 0, 0, 0, '', 'Only display gossip during Hallows End'),
(15, 21215, 0, 0, 0, 23, 0, 1638, 0, 0, 0, 0, 0, '', 'Only display gossip in Thunderbluff'),
(15, 21215, 0, 0, 0, 1, 0, 24755, 0, 0, 1, 0, 0, '', 'only display gossip if player does not have tricked or treated aura');
UPDATE `smart_scripts` SET `target_type`=7 WHERE `entryorguid`=6740 AND `source_type`=0 AND `id`=1 AND `link`=0;

View File

@@ -0,0 +1,18 @@
-- Quest item "Drain Schematics" should be only obtainable if:
-- 1) player has completed quest 9720 "Balance Must Be Preserved"
-- 2) player has no quest 9731 "Drain Schematics"
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = '1' AND `SourceEntry` = '24330';
INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`) VALUES
('1','18088','24330','0','0','8','0','9720','0','0','0'),
('1','18088','24330','0','0','9','0','9731','0','0','1'),
('1','18089','24330','0','0','8','0','9720','0','0','0'),
('1','18089','24330','0','0','9','0','9731','0','0','1'),
('1','18340','24330','0','0','8','0','9720','0','0','0'),
('1','18340','24330','0','0','9','0','9731','0','0','1'),
('1','20088','24330','0','0','8','0','9720','0','0','0'),
('1','20088','24330','0','0','9','0','9731','0','0','1'),
('1','20089','24330','0','0','8','0','9720','0','0','0'),
('1','20089','24330','0','0','9','0','9731','0','0','1');
-- Set drop chance to normal(non-quest)
UPDATE `creature_loot_template` SET `ChanceOrQuestChance` = abs(`ChanceOrQuestChance`) WHERE (`item` = '24330');

View File

@@ -0,0 +1,2 @@
--
UPDATE `smart_scripts` SET `action_param1`=60 WHERE `entryorguid`=208001 AND `source_type`=9 AND `id` IN (7,8,9);

View File

@@ -0,0 +1,30 @@
--
SET @Mechagnome=29384; -- Captive Mechagnome
-- Update creature template to use SAI
UPDATE `creature_template` SET `ainame`='SmartAI',`scriptname`='' WHERE `entry`=@Mechagnome;
-- Add gossip option
DELETE FROM `gossip_menu_option` WHERE `menu_id`=9871;
INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `box_coded`, `box_money`, `box_text`) VALUES
(9871,0,0,'I\'m not a laborer. I\'m here to free you from servitude in the mines.',1,1,0,0,0,0,NULL);
-- Add conditions for gossip option visibility
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9871;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(15,9871,0,0,0,9,0,12957,0,0,0,0,0,'','Show gossip only if quest is active');
-- Add Captive Mechagnome text
DELETE FROM `creature_text` WHERE `entry`=@Mechagnome;
INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES
(@Mechagnome,0,0,'Does not compute. Unit malfunctioning. Directive: shut down.',12,0,0,0,0,0,''),
(@Mechagnome,0,1,'New directive: leave mine and return to Inventor\'s Library.',12,0,0,0,0,0,''),
(@Mechagnome,0,2,'New directive: assist in the defeat of the iron dwarves.',12,0,0,0,0,0,''),
(@Mechagnome,0,3,'Free again? Keeper Mimir\'s work awaits.',12,0,0,0,0,0,''),
(@Mechagnome,0,4,'Thank you, $r. I will join your struggle against the stormforged.',12,0,0,0,0,0,'');
-- Add Captive Mechagnome SAI
DELETE FROM `smart_scripts` WHERE `entryorguid`=@Mechagnome AND `source_type`=0;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(@Mechagnome,0,0,1,62,0,100,0,9871,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Captive Mechagnome - On Gossip Option Select - Close Gossip'),
(@Mechagnome,0,1,2,61,0,100,0,0,0,0,0,83,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Captive Mechagnome - Link With Previous Event - Remove npcflag 1'),
(@Mechagnome,0,2,3,61,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Captive Mechagnome - Link With Previous Event - Talk'),
(@Mechagnome,0,3,4,61,0,100,0,0,0,0,0,33,29962,0,0,0,0,0,7,0,0,0,0,0,0,0,'Captive Mechagnome - Link With Previous Event - Give Quest Credit'),
(@Mechagnome,0,4,5,61,0,100,0,0,0,0,0,69,0,0,0,0,0,0,1,0,0,0,7818.4,-86.48,880.63,0,'Captive Mechagnome - Link With Previous Event - Move To Position'),
(@Mechagnome,0,5,0,61,0,100,0,0,0,0,0,41,4000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Captive Mechagnome - Link With Previous Event - Despawn');

View File

@@ -0,0 +1,2 @@
--
UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=21657;

View File

@@ -0,0 +1,3 @@
--
DELETE FROM `creature_loot_template` WHERE `entry` =8996;
UPDATE `creature_template` SET `lootid`=0, `mingold`=0, `maxgold`=0 WHERE `entry`=8996;

View File

@@ -0,0 +1,3 @@
--
DELETE FROM `game_event_creature` WHERE `guid` IN (136921,136922) AND `eventEntry`=24;
UPDATE `game_event_seasonal_questrelation` SET `eventEntry`=2 WHERE `questId` IN (6983,6984);

View File

@@ -0,0 +1,11 @@
--
SET @MARKER1 := 20473; -- Surveying Marker One
SET @MARKER2 := 20475; -- Surveying Marker Two
SET @MARKER3 := 20476; -- Surveying Marker Three
DELETE FROM `smart_scripts` WHERE `entryorguid` IN(@MARKER1,@MARKER2,@MARKER3) AND `source_type`=0;
UPDATE creature_template SET AIName="SmartAI" WHERE entry IN(@MARKER1,@MARKER2,@MARKER3);
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(@MARKER1,0,0,0,8,0,100,0,35246,0,0,0,33,@MARKER1,0,0,0,0,0,7,0,0,0,0.0,0.0,0.0,0.0,"Surveying Marker One - On Spellhit - Quest Credit"),
(@MARKER2,0,0,0,8,0,100,0,35246,0,0,0,33,@MARKER2,0,0,0,0,0,7,0,0,0,0.0,0.0,0.0,0.0,"Surveying Marker Two - On Spellhit - Quest Credit"),
(@MARKER3,0,0,0,8,0,100,0,35246,0,0,0,33,@MARKER3,0,0,0,0,0,7,0,0,0,0.0,0.0,0.0,0.0,"Surveying Marker Three - On Spellhit - Quest Credit");

View File

@@ -0,0 +1,18 @@
--
UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry` IN(18849,19008);
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (18849,19008);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(18849, 0, 0, 0, 8, 0, 100, 0, 33067, 0, 0, 0, 33, 18849 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Invis Alliance Siege Engine - East - On Spellhit - Kill Credit'),
(19008, 0, 0, 0, 8, 0, 100, 0, 33067, 0, 0, 0, 33, 19008 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Invis Alliance Siege Engine - West - On Spellhit - Kill Credit');
UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry` IN(15941,15945,28352,28064,28304,28305);
DELETE FROM `smart_scripts` WHERE `entryorguid` IN(15941,15945,28352,28064,28304,28305);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(15941, 0, 0, 0, 8, 0, 100, 0, 27907, 0, 15000, 15000, 33, 15941 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Apprentice Ralen - On Spellhit - Kill Credit'),
(15945, 0, 0, 0, 8, 0, 100, 0, 27907, 0, 15000, 15000, 33, 15945 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Apprentice Meledor - On Spellhit - Kill Credit'),
(28352, 0, 0, 0, 8, 0, 100, 0, 51381, 0, 180000, 180000, 33, 28352 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Nethurbian Crater KC Bunny - On Spellhit - Kill Credit'),
(28064, 0, 0, 0, 8, 0, 100, 0, 51247, 0, 0, 0, 33, 28064 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Drakkari Pedestal 01 - On Spellhit - Kill Credit'),
(28304, 0, 0, 0, 8, 0, 100, 0, 51247, 0, 0, 0, 33, 28304 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Drakkari Pedestal 02 - On Spellhit - Kill Credit'),
(28305, 0, 0, 0, 8, 0, 100, 0, 51247, 0, 0, 0, 33, 28305 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Drakkari Pedestal 03 - On Spellhit - Kill Credit');

View File

@@ -0,0 +1,6 @@
--
SET @GGUID=5289;
DELETE FROM `gameobject` WHERE `id`=181632;
INSERT INTO `gameobject` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`) VALUES
(@GGUID,181632,1,1,1,-4511.94,-781.874,-41.5711,6.04346,0,0,0.119574,-0.992825,300,0,1);

View File

@@ -0,0 +1,12 @@
-- IoC template updates
UPDATE creature_template SET difficulty_entry_1 = 35415 WHERE entry = 34775;
UPDATE creature_template SET difficulty_entry_1 = 35433 WHERE entry = 35069;
UPDATE creature_template SET difficulty_entry_1 = 35413 WHERE entry = 34793;
UPDATE creature_template SET difficulty_entry_1 = 35421 WHERE entry = 35273;
UPDATE creature_template SET difficulty_entry_1 = 35429 WHERE entry = 34944;
UPDATE creature_template SET difficulty_entry_1 = 35401 WHERE entry = 34919;
UPDATE creature_template SET difficulty_entry_1 = 35403 WHERE entry = 34924;
UPDATE creature_template SET difficulty_entry_1 = 35407 WHERE entry = 34918;
UPDATE creature_template SET difficulty_entry_1 = 35405 WHERE entry = 34922;
UPDATE creature_template SET difficulty_entry_1 = 35431 WHERE entry = 34776;
UPDATE creature_template SET difficulty_entry_1 = 35419 WHERE entry = 34802;

View File

@@ -0,0 +1,8 @@
--
UPDATE `creature_template` SET `spell1` = 0 WHERE `entry` IN(314, 619, 657, 660, 670, 677, 699, 731, 762, 771, 784, 942, 950, 1029, 1144, 1726, 1808, 1831, 1909, 1912, 1913, 1915, 2071, 2169, 2272, 2534, 2555, 2598, 2894, 3252, 3253, 3416, 3458, 3748, 3750, 3771, 3863, 3922, 3927, 3993, 4057, 4297, 4380, 4440, 4518, 4519, 5451, 5650, 5712, 5715, 5715, 5715, 5822, 5836, 5865, 6212, 6228, 6286, 6427, 7206, 7441, 7738, 7738, 7738, 8551, 8553, 8555, 8978, 9016, 9024, 9257, 9266, 11076, 11077, 11466, 11582, 11613, 11882, 12225, 15430, 15439, 16925, 16944, 17129, 17235, 17395, 18064, 18257, 18327, 18413, 19754, 20109, 20866, 21468, 21804, 21859, 22265, 23051, 5348, 18679, 20691, 24860, 23593, 27664, 40281);
UPDATE `creature_template` SET `spell2` = 0 WHERE `entry` IN(458, 670, 815, 1041, 2337, 2358, 2553, 2555, 2654, 2755, 2894, 3198, 3199, 3203, 3265, 3458, 3728, 3771, 3854, 3927, 4440, 4518, 4519, 4520, 4522, 4530, 4668, 4718, 4811, 5457, 5650, 5836, 6168, 6286, 7441, 7607, 9266, 10374, 11324, 11388, 11668, 13280, 14530, 16345, 16873, 16911, 16912, 17320, 17395, 18037, 18326, 18696, 18859, 19405, 19792, 19987, 19992, 21050, 21710, 22384, 15328, 16184, 21229);
UPDATE `creature_template` SET `spell3` = 0 WHERE `entry` IN(332, 397, 642, 660, 669, 679, 1057, 1364, 1564, 2358, 2534, 2553, 2570, 3725, 3927, 4532, 4813, 4852, 5717, 6008, 6231, 7342, 7728, 7795, 9266, 10596, 11496, 13282, 14523, 16021, 16449, 16473, 18069, 18080, 18210, 18312, 19405, 19424, 19544, 19747, 19806, 19992, 19998, 20248, 20445, 20459, 20929, 21178, 22018, 22363, 22821, 15328, 15863, 16054, 20648, 20302, 22910, 18617, 37575);
UPDATE `creature_template` SET `spell4` = 0 WHERE `entry` IN(397, 1060, 1564, 2590, 3899, 4463, 4852, 7271, 7607, 9039, 10321, 10419, 13280, 16146, 19298, 19994, 20648, 20302, 20301);
UPDATE `creature_template` SET `spell5` = 0 WHERE `entry` = 27678;
UPDATE `creature_template` SET `spell6` = 0 WHERE `entry` = 28668;
UPDATE `creature_template` SET `spell8` = 0 WHERE `entry` IN(16573, 29256);

View File

@@ -0,0 +1,6 @@
--
SET @GGUID=5338;
DELETE FROM `gameobject` WHERE `id`=181632 AND `guid`=5338;
INSERT INTO `gameobject` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`) VALUES
(@GGUID, 194905,603,3,1,401.308,-13.8236,409.524,3.14159,0,0,0,0,604800,0,0);

View File

@@ -0,0 +1,9 @@
-- Skill requirements for Flying Carpets and Flying Machines
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=17 AND `SourceEntry` IN (75596,61309,61451,44153,44151);
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(17, 0, 75596, 0, 0, 7, 0, 197, 425, 0, 0, 0, 0, '', 'Player has must have Tailoring with skill level 425 to Ride Frosty Flying Carpet'),
(17, 0, 61309, 0, 0, 7, 0, 197, 425, 0, 0, 0, 0, '', 'Player has must have Tailoring with skill level 425 to Ride Magnificent Flying Carpet'),
(17, 0, 61451, 0, 0, 7, 0, 197, 300, 0, 0, 0, 0, '', 'Player has must have Tailoring with skill level 300 to Ride Flying Carpet'),
(17, 0, 44153, 0, 0, 7, 0, 202, 300, 0, 0, 0, 0, '', 'Player has must have Engineering with skill level 300 to Ride Flying Machine'),
(17, 0, 44151, 0, 0, 7, 0, 202, 375, 0, 0, 0, 0, '', 'Player has must have Engineering with skill level 375 to Ride Turbo-Charged Flying Machine');

View File

@@ -0,0 +1,2 @@
--
UPDATE `smart_scripts` SET `event_param1`=489 WHERE `entryorguid`=2150 AND `source_type`=0 AND `id`=0;

View File

@@ -0,0 +1,2 @@
--
UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=32535;

View File

@@ -0,0 +1,3 @@
--
UPDATE `smart_scripts` SET `event_param3`=103900, `event_param4`=103900 WHERE `entryorguid`=28566 AND `source_type`=0 AND `id`=3 AND `link`=0;
UPDATE `smart_scripts` SET `event_flags`=0 WHERE `entryorguid`=28566 AND `source_type`=0 AND `id` IN(3,4,5,6) AND `link`=0;

View File

@@ -0,0 +1,3 @@
--
UPDATE `quest_template` SET `RequiredClasses`=431 WHERE `Id` IN (24553,24564,24594);
UPDATE `quest_template` SET `RequiredClasses`=1104 WHERE `Id` IN (24595,24596,24598,24799);

View File

@@ -0,0 +1,2 @@
--
UPDATE `creature_text` SET `entry`=23622 WHERE `entry`=23616 AND `groupid`=2 AND `id`=0;

View File

@@ -0,0 +1,12 @@
-- DB/Quest: Fix: A Dark Influence (12220) | by wintergreen77
SET @SPELL := 48218; -- Sampling Energy
SET @NPC_HEART := 27263; -- Vordrassil's Heart Credit
SET @NPC_LIMB := 27264; -- Vordrassil's Limb Credit
SET @NPC_TEARS := 27265; -- Vordrassil's Tears Credit
UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@NPC_HEART, @NPC_LIMB, @NPC_TEARS);
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@NPC_HEART, @NPC_LIMB, @NPC_TEARS) AND `source_type`=0;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(@NPC_HEART, 0, 0, 0, 8, 0, 100, 0, @SPELL, 0, 0, 0, 33, @NPC_HEART, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'On Spellhit - Give Vordrasill''s Heart Kill credit - Action Invoker'),
(@NPC_LIMB, 0, 0, 0, 8, 0, 100, 0, @SPELL, 0, 0, 0, 33, @NPC_LIMB, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'On Spellhit - Give Vordrasill''s Limb Kill credit - Action Invoker'),
(@NPC_TEARS, 0, 0, 0, 8, 0, 100, 0, @SPELL, 0, 0, 0, 33, @NPC_TEARS, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'On Spellhit - Give Vordrasill''s Tears Kill credit - Action Invoker');

View File

@@ -0,0 +1,36 @@
--
DELETE FROM `creature_ai_scripts` WHERE `creature_id` IN (25416,25418);
DELETE FROM `creature_ai_texts` WHERE `entry` IN (-487,-488,-489,-498,-499,-500,-501);
UPDATE `creature_template` SET `ainame`='SmartAI' WHERE `entry` IN (25416,25418);
DELETE FROM `creature_text` WHERE `entry` IN (25416,25418);
INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES
(25416,0,0,'Who dares?',12,0,0,0,0,0,''),
(25416,1,0,'STOP!',12,0,0,0,0,0,''),
(25416,2,0,'Tell Imperean that I will consider a cessation of hostilities. But first, Churn must stop his watery intrusions upon my rise!',12,0,0,0,0,0,''),
(25416,3,0,'I grow bored with you. Begone!',12,0,0,0,0,0,''),
(25418,0,0,'I... submit. As long as Simmer agrees to stop boiling my pool, I agree to an armistice.',12,0,0,0,0,0,''),
(25418,1,0,'Now, remove yourself from my presence. You would be wise not to come within sight of me again.',12,0,0,0,0,0,''),
(25418,2,0,'WAIT... NO MORE!',12,0,0,0,0,0,'');
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (25416,25418) AND `source_type`=0;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(25416,0,0,1,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Simmer - On Aggro - Say line 0'),
(25416,0,1,0,61,0,100,0,0,0,0,0,42,0,5,0,0,0,0,1,0,0,0,0,0,0,0,'Simmer - Link With Event 0 - Set Invincible HP'),
(25416,0,2,0,0,0,100,1,5000,5000,5000,5000,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Simmer - IC - Say Line 2 After 5 secs'),
(25416,0,3,0,0,0,100,1,10000,10000,10000,10000,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,'Simmer - IC - Say Line 3 After 10 secs'),
(25416,0,4,5,2,0,100,1,0,5,0,0,85,45599,0,0,0,0,0,7,0,0,0,0,0,0,0,'Simmer - At 5 % HP - Give Quest Credit'),
(25416,0,5,6,61,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Simmer - Link With Event 4 - Say Line 1'),
(25416,0,6,7,61,0,100,0,0,0,0,0,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'Simmer - Link With Event 5 - Change Faction'),
(25416,0,7,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Simmer - Link With Event 6 - Evade'),
(25416,0,8,0,1,0,100,0,120000,120000,120000,120000,2,1983,0,0,0,0,0,1,0,0,0,0,0,0,0,'Simmer - OOC - Change Faction After 2 mins'),
(25418,0,0,0,0,0,100,0,5300,5300,9900,9900,11,50206,0,0,0,0,0,2,0,0,0,0,0,0,0,'Churn - IC - Cast Scalding Steam'),
(25418,0,1,0,4,0,100,0,0,0,0,0,42,0,5,0,0,0,0,1,0,0,0,0,0,0,0,'Churn - On Aggro - Set Invincible HP'),
(25418,0,2,0,0,0,100,1,5000,5000,5000,5000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Churn - IC - Say Line 0 After 5 secs'),
(25418,0,3,0,0,0,100,1,10000,10000,10000,10000,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Churn - IC - Say Line 1 After 10 secs'),
(25418,0,4,5,2,0,100,1,0,5,0,0,85,45598,0,0,0,0,0,7,0,0,0,0,0,0,0,'Churn - At 5 % HP - Give Quest Credit'),
(25418,0,5,6,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Churn - Link With Event 4 - Say Line 2'),
(25418,0,6,7,61,0,100,0,0,0,0,0,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'Churn - Link With Event 5 - Change Faction'),
(25418,0,7,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Churn - Link With Event 6 - Evade'),
(25418,0,8,0,1,0,100,0,120000,120000,120000,120000,2,1984,0,0,0,0,0,1,0,0,0,0,0,0,0,'Churn - OOC - Change Faction After 2 mins');

View File

@@ -0,0 +1,8 @@
--
UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry` =25654;
DELETE FROM `smart_scripts` WHERE `entryorguid` =25654 AND `source_type`=0;
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(25654,0,0,0,8,0,100,0,45835,0,0,0,11,45837,0,0,0,0,0,7,0,0,0,0,0,0,0,'Stop the Plague Kill Credit Bunny - On Spell Hit (Bixies Inhibiting Powder) - Give Quest Credit'),
(25654,0,1,0,8,0,100,0,45834,0,0,0,11,45837,0,0,0,0,0,7,0,0,0,0,0,0,0,'Stop the Plague Kill Credit Bunny - On Spell Hit (Highmesas Cleansing Seeds) - Give Quest Credit');

View File

@@ -0,0 +1,17 @@
-- A Valiant`s Field Training (All) (Horde) progress
UPDATE `quest_template` SET `RequestItemsText` = 'A good day of training will never hurt anyone. It''s good to see you keeping up.' WHERE `id` IN (13765, 13771, 13776, 13781, 13786);
-- Taking Battle To The Enemy (Horde and Alliance) progress
UPDATE `quest_template` SET `RequestItemsText` = 'Have you tested yourself in combat against the Scourge?' WHERE `id` IN (13813, 13791);
-- Stop The Aggressors (Horde) progress
UPDATE `quest_template` SET `RequestItemsText` = 'Have you shown the Kvaldir that we will not let them threaten us?' WHERE `id` = 14140;
-- You`ve Really Done It This Time, Kul (Horde) progress
UPDATE `quest_template` SET `RequestItemsText` = 'Did you free Kul and those hopeless aspirants?' WHERE `id` = 14142;
-- Threat From Above (Horde) progress
UPDATE `quest_template` SET `RequestItemsText` = 'Have you defeated the Cult of the Damned raiding party?' WHERE `id` = 13812;
-- Rescue at Sea (Horde) progress
UPDATE `quest_template` SET `RequestItemsText` = 'Have you helped fend off the Kvaldir attack?' WHERE `id` = 14136;

View File

@@ -0,0 +1,12 @@
--
UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI', `ScriptName`='' WHERE `entry`=177673;
UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry` =12369;
DELETE FROM `smart_scripts` WHERE `entryorguid` =177673 AND `source_type`=1 OR `entryorguid`=17767300 AND `source_type`=9 OR `entryorguid`=12369 AND `source_type`=0;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(177673, 1, 0 ,1, 70, 0, 100, 0, 2, 0, 0,0,80,17767300,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Serpent Statue - On State Changed - Run Script'),
(17767300, 9, 0 ,0, 0, 0, 100, 0, 5000, 5000, 0,0,12,12369,1,180000,0,0,0,8,0,0,0,254.166855,2966.883545,1.367331,0.957399, 'Serpent Statue - Script - Spawn Lord Kragaru'),
(17767300, 9, 1 ,0, 0, 0, 100, 0, 185000, 185000, 0,0,32,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Serpent Statue - Script - Reset Go'),
(12369, 0, 0 ,0, 9, 0, 100, 0, 0, 5, 3000,4000,11,15496,0,0,0,0,0,7,0,0,0,0, 0, 0, 0, 'Lord Kragaru - On Range - Cast Cleave'),
(12369, 0, 1 ,0, 13, 0, 100, 0, 10000, 15000, 0,0,11,12555,0,0,0,0,0,7,0,0,0,0, 0, 0, 0, 'Lord Kragaru - On Target Casting - Cast Pummel');

View File

@@ -0,0 +1,2 @@
--
UPDATE gameobject SET `phaseMask`=3 WHERE `id`=201367;

View File

@@ -0,0 +1,4 @@
--
DELETE FROM `disables` WHERE `sourceType` = 0 AND `entry` = 54114;
INSERT INTO `disables` (`sourceType`, `entry`, `flags`, `params_0`, `params_1`, `comment`) VALUES
(0, 54114, 64, 0, 0, 'Heart of the Phoenix uses Cooldown, but won''t work through LoS, so ignore LoS.');

View File

@@ -0,0 +1,4 @@
--
DELETE FROM spell_scripts WHERE id=26373;
DELETE FROM spell_linked_spell WHERE spell_trigger=26373;
INSERT INTO spell_linked_spell VALUES (26373,26448,0,'Lunar Festival Invitation - Teleport Moonglade');

View File

@@ -0,0 +1,5 @@
--
DELETE FROM `disables` WHERE `sourceType`=0 AND `entry`IN(69922,69956);
INSERT INTO `disables`(`sourceType`,`entry`,`flags`,`comment`) VALUES
(0,69922,64,'Ignore LOS on Temper Quel Delar'),
(0,69956,64,'Ignore LOS on Return Tempered Quel Delar');

View File

@@ -0,0 +1,4 @@
--
DELETE FROM `spell_area` WHERE `spell`=71313;
INSERT INTO `spell_area` (`spell`, `area`, `quest_start`, `quest_end`, `aura_spell`, `racemask`, `gender`, `autocast`, `quest_start_status`, `quest_end_status`) VALUES
(71313, 4862, 24461, 24522, 0, 0, 2, 1, 74, 11);

View File

@@ -0,0 +1,2 @@
--
UPDATE `creature_questender` SET `id`=27872 WHERE `quest`=12474;

View File

@@ -0,0 +1,2 @@
-- Bros. Before Ho Ho Ho's fix by nelegalno
UPDATE `creature_template` SET `type_flags`=4096 WHERE `entry` IN (5661,26044,739,927,1182,1351,1444,5484,5489,8140,12336);

View File

@@ -0,0 +1,13 @@
--
UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry` IN(17111,17112,17113);
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (17111,17112,17113);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(17111, 0, 0, 0, 8, 0, 100, 0, 29916, 0, 0, 0, 33, 17111 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Captive Jaguar - On Spellhit - Kill Credit'),
(17112, 0, 0, 0, 8, 0, 100, 0, 29916, 0, 0, 0, 33, 17112 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Captive Tarantula - On Spellhit - Kill Credit'),
(17113, 0, 0, 0, 8, 0, 100, 0, 29916, 0, 0, 0, 33, 17113 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Captive Crocolisk - On Spellhit - Kill Credit');
DELETE FROM `disables` WHERE `sourceType`=0 AND `entry`IN (29916,29917);
INSERT INTO `disables`(`sourceType`,`entry`,`flags`,`comment`) VALUES
(0,29917,64,'Ignore LOS on Feed Captured Animal'),
(0,29916,64,'Ignore LOS on Feed Captured Animal');

View File

@@ -0,0 +1,2 @@
--
UPDATE `smart_scripts` SET `event_type`=0 WHERE `entryorguid`=6066 AND `source_type`=0 AND `id`=0 AND `link`=0;

View File

@@ -0,0 +1,343 @@
-- Rewrite [Qs] Gruesome, But Necessary /11257-H,11246-A /using some of old event data, fix visual bugs, death states, adds conditions
-- Rewrite scripts from EAI to SAI to add spells to the Winterskorn creatures, add some that are missing at all, add texts, fix dynamicflags, remove pointless phasing that created some bugs
SET @Tribesman:= 23661;
SET @Woodsman := 23662;
SET @Shield_Maiden := 23663;
SET @Warrior := 23664;
SET @Raider := 23665;
SET @Berserker := 23666;
SET @Rune_Seer := 23667;
SET @Rune_Caster := 23668;
SET @Oracle := 23669;
SET @Elder := 23670;
SET @Dismember := 43036;
SET @Transform := 43059;
SET @Credit := 43037;
-- Delete the old EAIs while using part of their data
DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@Tribesman;
DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@Woodsman;
DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@Shield_Maiden;
DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@Warrior;
DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@Raider;
DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@Berserker;
DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@Rune_Seer;
DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@Rune_Caster;
DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@Oracle;
-- Winterskorn Tribesman
UPDATE `creature_template` SET `AIName`='SmartAI ' WHERE `entry`=@Tribesman;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@Tribesman;
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(@Tribesman,0,0,1,8,0,100,0,@Dismember,0,0,0,11,@Transform,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Tribesman - On hit by spell Dismember - Cast spell trasnform on self'),
(@Tribesman,0,1,0,61,0,100,0,0,0,0,0,11,@Credit,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Tribesman - Linked with previous event - Cast kill credit to player'),
(@Tribesman,0,2,0,0,0,100,0,1000,15000,7200,35000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Tribesman - IC - Say random text from id 0');
-- Winterskorn Woodsman
UPDATE `creature_template` SET `AIName`='SmartAI ' WHERE `entry`=@Woodsman;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@Woodsman;
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(@Woodsman,0,0,0,0,0,100,0,100,1000,5000,14500,11,38557,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Woodsman - IC - Cast spell Throw on victim'),
(@Woodsman,0,1,0,0,0,100,0,1000,4500,4900,8100,11,43410,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Woodsman - IC - Cast spell Chop on victim'),
(@Woodsman,0,2,3,8,0,100,0,@Dismember,0,0,0,11,@Transform,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Woodsman - On hit by spell Dismember - Cast spell trasnform on self'),
(@Woodsman,0,3,0,61,0,100,0,0,0,0,0,11,@Credit,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Woodsman - Linked with previous event - Cast kill credit to player'),
(@Woodsman,0,4,0,0,0,100,0,1000,15000,7200,35000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Woodsman - IC - Say random text from id 0');
-- Winterskorn Shield-Maiden
UPDATE `creature_template` SET `AIName`='SmartAI ' WHERE `entry`=@Shield_Maiden;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@Shield_Maiden;
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(@Shield_Maiden,0,0,0,0,0,100,0,1000,2000,6000,14500,11,43416,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Shield_Maiden - IC - Throw Shield'),
(@Shield_Maiden,0,1,2,8,0,100,0,@Dismember,0,0,0,11,@Transform,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Shield_Maiden - On hit by spell Dismember - Cast spell trasnform on self'),
(@Shield_Maiden,0,2,0,61,0,100,0,0,0,0,0,11,@Credit,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Shield_Maiden - Linked with previous event - Cast kill credit to player'),
(@Shield_Maiden,0,3,0,0,0,100,0,1000,15000,7200,35000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Shield_Maiden - IC - Say random text from id 0'),
(@Shield_Maiden,0,4,0,1,0,100,0,0,60000,15000,70000,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Shield_Maiden - OOC - Say random text from id 1');
-- Winterskorn Warrior
UPDATE `creature_template` SET `AIName`='SmartAI ' WHERE `entry`=@Warrior;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@Warrior;
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(@Warrior,0,0,1,8,0,100,0,@Dismember,0,0,0,11,@Transform,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Warrior - On hit by spell Dismember - Cast spell trasnform on self'),
(@Warrior,0,1,0,61,0,100,0,0,0,0,0,11,@Credit,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Warrior - Linked with previous event - Cast kill credit to player'),
(@Warrior,0,2,0,0,0,100,0,1000,15000,7200,35000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Warrior - IC - Say random text from id 0'),
(@Warrior,0,3,0,1,0,100,0,0,60000,15000,70000,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Warrior - OOC - Say random text from id 1');
-- Winterskorn Raider
UPDATE `creature_template` SET `InhabitType`=`InhabitType`|1,`AIName`='SmartAI ' WHERE `entry`=@Raider;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@Raider;
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(@Raider,0,0,0,13,0,100,0,4500,14000,0,0,11,11978,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Raider - On target casting spell - Cast kick to interrupt and silence'),
(@Raider,0,1,2,8,0,100,0,@Dismember,0,0,0,11,@Transform,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Raider - On hit by spell Dismember - Cast spell trasnform on self'),
(@Raider,0,2,0,61,0,100,0,0,0,0,0,11,@Credit,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Raider - Linked with previous event - Cast kill credit to player'),
(@Raider,0,3,0,0,0,100,0,1000,15000,7200,35000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Raider - IC - Say random text from id 0'),
(@Raider,0,4,0,1,0,100,0,0,60000,15000,70000,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Raider - OOC - Say random text from id 1');
-- Winterskorn Berserker
UPDATE `creature_template` SET dynamicflags=8,`AIName`='SmartAI ' WHERE `entry`=@Berserker;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@Berserker;
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(@Berserker,0,0,1,8,0,100,0,@Dismember,0,0,0,11,@Transform,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Berserker - On hit by spell Dismember - Cast spell trasnform on self'),
(@Berserker,0,1,0,61,0,100,0,0,0,0,0,11,@Credit,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Berserker - Linked with previous event - Cast kill credit to player'),
(@Berserker,0,2,0,0,0,100,0,1000,15000,7200,35000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Berserker - IC - Say random text from id 0'),
(@Berserker,0,3,0,1,0,100,0,0,60000,15000,70000,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Berserker- OOC - Say random text from id 1');
-- Winterskorn Rune-Seer
UPDATE `creature_template` SET `AIName`='SmartAI ' WHERE `entry`=@Rune_Seer;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@Rune_Seer;
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(@Rune_Seer,0,0,0,0,0,100,0,1000,3500,8000,12000,11,43453,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Rune_Seer - IC - Cast spell Rune Ward on self'),
(@Rune_Seer,0,1,0,0,0,100,0,1500,4500,2900,8000,11,43083,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Rune_Seer - IC - Cast spell Frostbolt on victim'),
(@Rune_Seer,0,2,0,0,0,100,0,100,4500,10000,14500,11,34787,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Rune_Seer - IC - Cast spell Freezing circle victim /aoe/'),
(@Rune_Seer,0,3,0,2,0,100,0,10,90,7500,20100,11,11986,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Rune_Seer - On HP% - Cast spell Healing wave on self'),
(@Rune_Seer,0,4,0,14,0,100,0,1000,20,8000,18000,11,11986,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Rune_Seer - On friednly HP deficit - Cast spell Healing wave on ally'),
(@Rune_Seer,0,5,6,8,0,100,0,@Dismember,0,0,0,11,@Transform,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Rune_Seer - On hit by spell Dismember - Cast spell trasnform on self'),
(@Rune_Seer,0,6,0,61,0,100,0,0,0,0,0,11,@Credit,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Rune_Seer - Linked with previous event - Cast kill credit to player'),
(@Rune_Seer,0,7,0,0,0,100,0,1000,15000,7200,35000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Rune_Seer - IC - Say random text from id 0');
-- Winterskorn Rune-Caster
UPDATE `creature_template` SET dynamicflags=8,`AIName`='SmartAI ' WHERE `entry`=@Rune_Caster;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@Rune_Caster;
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(@Rune_Caster,0,0,0,0,0,100,0,1000,3500,3000,9000,11,43083,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Rune_Caster - IC - Cast spell Frostbolt'),
(@Rune_Caster,0,1,0,0,0,100,0,2500,6500,8000,11000,11,12548,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Rune_Caster - IC - Cast spell Frost Shock'),
(@Rune_Caster,0,2,0,0,0,100,0,0,5500,8000,12500,11,37798,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Rune_Caster - IC - Cast spell Exploding Rune'),
(@Rune_Caster,0,3,4,8,0,100,0,@Dismember,0,0,0,11,@Transform,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Rune_Caster - On hit by spell Dismember - Cast spell trasnform on self'),
(@Rune_Caster,0,4,0,61,0,100,0,0,0,0,0,11,@Credit,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Rune_Caster - Linked with previous event - Cast kill credit to player'),
(@Rune_Caster,0,5,0,0,0,100,0,1000,15000,7200,35000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Rune_Caster - IC - Say random text from id 0');
-- Winterskorn Oracle
UPDATE `creature_template` SET dynamicflags=8,`AIName`='SmartAI ' WHERE `entry`=@Oracle;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@Oracle;
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(@Oracle,0,0,0,0,0,100,0,1000,3500,3000,9000,11,43083,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Oracle - IC - Cast spell Frostbolt'),
(@Oracle,0,1,2,8,0,100,0,@Dismember,0,0,0,11,@Transform,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Oracle - On hit by spell Dismember - Cast spell trasnform on self'),
(@Oracle,0,2,0,61,0,100,0,0,0,0,0,11,@Credit,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Oracle - Linked with previous event - Cast kill credit to player'),
(@Oracle,0,3,0,0,0,100,0,1000,15000,7200,35000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Oracle - IC - Say random text from id 0');
-- Winterskorn Elder
UPDATE `creature_template` SET dynamicflags=8,`AIName`='SmartAI ' WHERE `entry`=@Elder;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@Elder;
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(@Elder,0,0,0,0,0,100,0,0,500,120000,120000,11,32734,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Elder - IC - Cast spell Eearth Shield'),
(@Elder,0,1,0,0,0,100,0,2000,3800,3000,8500,11,9532,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Elder - IC - Cast spell Lightening bolt'),
(@Elder,0,2,0,2,0,100,0,10,90,7500,20100,11,11986,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Elder - On HP% - Cast spell Healing wave on self'),
(@Elder,0,3,0,14,0,100,0,1000,20,8000,18000,11,11986,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Elder - On friednly HP deficit - Cast spell Healing wave on ally'),
(@Elder,0,4,0,6,0,100,0,0,0,0,0,28,32734,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Elder - On death - Remove auras from Eearth Shield'),
(@Elder,0,5,6,8,0,100,0,@Dismember,0,0,0,11,@Transform,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Elder - On hit by spell Dismember - Cast spell trasnform on self'),
(@Elder,0,6,0,61,0,100,0,0,0,0,0,11,@Credit,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Elder - Linked with previous event - Cast kill credit to player'),
(@Elder,0,7,0,0,0,100,0,1000,15000,7200,35000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Elder - IC - Say random text from id 0');
-- Add conditions for Dismember - cannot be used on Transformed units
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=17 AND `SourceEntry`=@Dismember;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition` ,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
(17,0,@Dismember,0,0,1,1,@Transform,0,0,1,0,'','Amulet can target only Iskalder');
-- Add texts:
DELETE FROM `creature_text` WHERE `entry`=@Tribesman;
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
(@Tribesman,0,0,'Die, maggot!',12,0,100,1,0,0,'Winterskon Tribesman'),
(@Tribesman,0,1,'For Ymiron!',12,0,100,1,0,0,'Winterskon Tribesman'),
(@Tribesman,0,2,'Haraak foln!',12,0,100,1,0,0,'Winterskon Tribesman'),
(@Tribesman,0,3,'I spit on you!',12,0,100,1,0,0,'Winterskon Tribesman'),
(@Tribesman,0,4,'I will break you!',12,0,100,1,0,0,'Winterskon Tribesman'),
(@Tribesman,0,5,'I will feed you to the dogs!',12,0,100,1,0,0,'Winterskon Tribesman'),
(@Tribesman,0,6,'I will take pleasure in gutting you!',12,0,100,1,0,0,'Winterskon Tribesman'),
(@Tribesman,0,7,'I''ll eat your heart!',12,0,100,1,0,0,'Winterskon Tribesman'),
(@Tribesman,0,8,'Look what''s come to play.',12,0,100,1,0,0,'Winterskon Tribesman'),
(@Tribesman,0,9,'My life for Ymiron!',12,0,100,1,0,0,'Winterskon Tribesman'),
(@Tribesman,0,10,'Sniveling pig!',12,0,100,1,0,0,'Winterskon Tribesman'),
(@Tribesman,0,11,'There will be no everlasting life for you!',12,0,100,1,0,0,'Winterskon Tribesman'),
(@Tribesman,0,12,'Ugglin oo bjorr!',12,0,100,1,0,0,'Winterskon Tribesman'),
(@Tribesman,0,13,'YAAARRRGH!',12,0,100,1,0,0,'Winterskon Tribesman'),
(@Tribesman,0,14,'You come to die!',12,0,100,1,0,0,'Winterskon Tribesman'),
(@Tribesman,0,15,'You tiny creatures disgust me!',12,0,100,1,0,0,'Winterskon Tribesman'),
(@Tribesman,0,16,'Your entrails will make a fine necklace.',12,0,100,1,0,0,'Winterskon Tribesman'),
(@Tribesman,0,17,'Your race is a disease upon the world!',12,0,100,1,0,0,'Winterskon Tribesman');
DELETE FROM `creature_text` WHERE `entry`=@Woodsman;
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
(@Woodsman,0,0,'Die, maggot!',12,0,100,1,0,0,'Winterskon Woodsman'),
(@Woodsman,0,1,'For Ymiron!',12,0,100,1,0,0,'Winterskon Woodsman'),
(@Woodsman,0,2,'Haraak foln!',12,0,100,1,0,0,'Winterskon Woodsman'),
(@Woodsman,0,3,'I spit on you!',12,0,100,1,0,0,'Winterskon Woodsman'),
(@Woodsman,0,4,'I will break you!',12,0,100,1,0,0,'Winterskon Woodsman'),
(@Woodsman,0,5,'I will feed you to the dogs!',12,0,100,1,0,0,'Winterskon Woodsman'),
(@Woodsman,0,6,'I will take pleasure in gutting you!',12,0,100,1,0,0,'Winterskon Woodsman'),
(@Woodsman,0,7,'I''ll eat your heart!',12,0,100,1,0,0,'Winterskon Woodsman'),
(@Woodsman,0,8,'Look what''s come to play.',12,0,100,1,0,0,'Winterskon Woodsman'),
(@Woodsman,0,9,'My life for Ymiron!',12,0,100,1,0,0,'Winterskon Woodsman'),
(@Woodsman,0,10,'Sniveling pig!',12,0,100,1,0,0,'Winterskon Woodsman'),
(@Woodsman,0,11,'There will be no everlasting life for you!',12,0,100,1,0,0,'Winterskon Woodsman'),
(@Woodsman,0,12,'Ugglin oo bjorr!',12,0,100,1,0,0,'Winterskon Woodsman'),
(@Woodsman,0,13,'YAAARRRGH!',12,0,100,1,0,0,'Winterskon Woodsman'),
(@Woodsman,0,14,'You come to die!',12,0,100,1,0,0,'Winterskon Woodsman'),
(@Woodsman,0,15,'You tiny creatures disgust me!',12,0,100,1,0,0,'Winterskon Woodsman'),
(@Woodsman,0,16,'Your entrails will make a fine necklace.',12,0,100,1,0,0,'Winterskon Woodsman'),
(@Woodsman,0,17,'Your race is a disease upon the world!',12,0,100,1,0,0,'Winterskon Woodsman');
DELETE FROM `creature_text` WHERE `entry`=@Berserker;
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
(@Berserker,0,0,'Die, maggot!',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,0,1,'For Ymiron!',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,0,2,'Haraak foln!',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,0,3,'I spit on you!',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,0,4,'I will break you!',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,0,5,'I will feed you to the dogs!',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,0,6,'I will take pleasure in gutting you!',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,0,7,'I''ll eat your heart!',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,0,8,'Look what''s come to play.',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,0,9,'My life for Ymiron!',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,0,10,'Sniveling pig!',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,0,11,'There will be no everlasting life for you!',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,0,12,'Ugglin oo bjorr!',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,0,13,'YAAARRRGH!',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,0,14,'You come to die!',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,0,15,'You tiny creatures disgust me!',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,0,16,'Your entrails will make a fine necklace.',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,0,17,'Your race is a disease upon the world!',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,1,0,'Come on, stop trying to hit me and hit me already!',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,1,1,'I train better against a target dummy.',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,1,2,'Practice or not, you''re going to spit teeth!',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,1,3,'Sure you don''t need a break, old woman?',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,1,4,'When the little ones come, I won''t hold back like I am with you.',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,1,5,'You practice as if you''re still asleep.',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,1,6,'You spar like a girl!',12,0,100,1,0,0,'Winterskon Berserker'),
(@Berserker,1,7,'Your sparring is feeble!',12,0,100,1,0,0,'Winterskon Berserker');
DELETE FROM `creature_text` WHERE `entry`=@Warrior;
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
(@Warrior,0,0,'Die, maggot!',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,0,1,'For Ymiron!',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,0,2,'Haraak foln!',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,0,3,'I spit on you!',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,0,4,'I will break you!',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,0,5,'I will feed you to the dogs!',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,0,6,'I will take pleasure in gutting you!',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,0,7,'I''ll eat your heart!',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,0,8,'Look what''s come to play.',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,0,9,'My life for Ymiron!',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,0,10,'Sniveling pig!',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,0,11,'There will be no everlasting life for you!',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,0,12,'Ugglin oo bjorr!',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,0,13,'YAAARRRGH!',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,0,14,'You come to die!',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,0,15,'You tiny creatures disgust me!',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,0,16,'Your entrails will make a fine necklace.',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,0,17,'Your race is a disease upon the world!',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,1,0,'Come on, stop trying to hit me and hit me already!',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,1,1,'I train better against a target dummy.',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,1,2,'Practice or not, you''re going to spit teeth!',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,1,3,'Sure you don''t need a break, old woman?',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,1,4,'When the little ones come, I won''t hold back like I am with you.',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,1,5,'You practice as if you''re still asleep.',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,1,6,'You spar like a girl!',12,0,100,1,0,0,'Winterskon Warrior'),
(@Warrior,1,7,'Your sparring is feeble!',12,0,100,1,0,0,'Winterskon Warrior');
DELETE FROM `creature_text` WHERE `entry`=@Raider;
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
(@Raider,0,0,'Die, maggot!',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,0,1,'For Ymiron!',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,0,2,'Haraak foln!',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,0,3,'I spit on you!',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,0,4,'I will break you!',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,0,5,'I will feed you to the dogs!',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,0,6,'I will take pleasure in gutting you!',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,0,7,'I''ll eat your heart!',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,0,8,'Look what''s come to play.',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,0,9,'My life for Ymiron!',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,0,10,'Sniveling pig!',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,0,11,'There will be no everlasting life for you!',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,0,12,'Ugglin oo bjorr!',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,0,13,'YAAARRRGH!',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,0,14,'You come to die!',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,0,15,'You tiny creatures disgust me!',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,0,16,'Your entrails will make a fine necklace.',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,0,17,'Your race is a disease upon the world!',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,1,0,'Come on, stop trying to hit me and hit me already!',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,1,1,'I train better against a target dummy.',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,1,2,'Practice or not, you''re going to spit teeth!',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,1,3,'Sure you don''t need a break, old woman?',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,1,4,'When the little ones come, I won''t hold back like I am with you.',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,1,5,'You practice as if you''re still asleep.',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,1,6,'You spar like a girl!',12,0,100,1,0,0,'Winterskon Raider'),
(@Raider,1,7,'Your sparring is feeble!',12,0,100,1,0,0,'Winterskon Raider');
DELETE FROM `creature_text` WHERE `entry`=@Shield_Maiden;
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
(@Shield_Maiden,0,0,'Die, maggot!',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,0,1,'For Ymiron!',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,0,2,'Haraak foln!',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,0,3,'I spit on you!',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,0,4,'I will break you!',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,0,5,'I will feed you to the dogs!',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,0,6,'I will take pleasure in gutting you!',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,0,7,'I''ll eat your heart!',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,0,8,'Look what''s come to play.',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,0,9,'My life for Ymiron!',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,0,10,'Sniveling pig!',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,0,11,'There will be no everlasting life for you!',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,0,12,'Ugglin oo bjorr!',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,0,13,'YAAARRRGH!',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,0,14,'You come to die!',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,0,15,'You tiny creatures disgust me!',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,0,16,'Your entrails will make a fine necklace.',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,0,17,'Your race is a disease upon the world!',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,1,0,'Come on, stop trying to hit me and hit me already!',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,1,1,'I train better against a target dummy.',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,1,2,'Practice or not, you''re going to spit teeth!',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,1,3,'When the little ones come, I won''t hold back like I am with you.',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,1,4,'You practice as if you''re still asleep.',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,1,5,'You spar like a girl!',12,0,100,1,0,0,'Winterskon Shield_Maiden'),
(@Shield_Maiden,1,6,'Your sparring is feeble!',12,0,100,1,0,0,'Winterskon Shield_Maiden');
DELETE FROM `creature_text` WHERE `entry`=@Elder;
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
(@Elder,0,0,'For Ymiron!',12,0,100,1,0,0,'Winterskon Elder'),
(@Elder,0,1,'I will break you!',12,0,100,1,0,0,'Winterskon Elder'),
(@Elder,0,2,'I''ll eat your heart!',12,0,100,1,0,0,'Winterskon Elder'),
(@Elder,0,3,'Look what''s come to play.',12,0,100,1,0,0,'Winterskon Elder'),
(@Elder,0,4,'My life for Ymiron!',12,0,100,1,0,0,'Winterskon Elder'),
(@Elder,0,5,'You tiny creatures disgust me!',12,0,100,1,0,0,'Winterskon Elder'),
(@Elder,0,6,'Your race is a disease upon the world!',12,0,100,1,0,0,'Winterskon Elder');
DELETE FROM `creature_text` WHERE `entry`=@Rune_Caster;
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
(@Rune_Caster,0,0,'Die, maggot!',12,0,100,1,0,0,'Winterskon Rune_Caster'),
(@Rune_Caster,0,1,'For Ymiron!',12,0,100,1,0,0,'Winterskon Rune_Caster'),
(@Rune_Caster,0,2,'Haraak foln!',12,0,100,1,0,0,'Winterskon Rune_Caster'),
(@Rune_Caster,0,3,'I spit on you!',12,0,100,1,0,0,'Winterskon Rune_Caster'),
(@Rune_Caster,0,4,'I will break you!',12,0,100,1,0,0,'Winterskon Rune_Caster'),
(@Rune_Caster,0,5,'I will feed you to the dogs!',12,0,100,1,0,0,'Winterskon Rune_Caster'),
(@Rune_Caster,0,6,'I will take pleasure in gutting you!',12,0,100,1,0,0,'Winterskon Rune_Caster'),
(@Rune_Caster,0,7,'I''ll eat your heart!',12,0,100,1,0,0,'Winterskon Rune_Caster'),
(@Rune_Caster,0,8,'Look what''s come to play.',12,0,100,1,0,0,'Winterskon Rune_Caster'),
(@Rune_Caster,0,9,'My life for Ymiron!',12,0,100,1,0,0,'Winterskon Rune_Caster'),
(@Rune_Caster,0,10,'Sniveling pig!',12,0,100,1,0,0,'Winterskon Rune_Caster'),
(@Rune_Caster,0,11,'There will be no everlasting life for you!',12,0,100,1,0,0,'Winterskon Rune_Caster'),
(@Rune_Caster,0,12,'Ugglin oo bjorr!',12,0,100,1,0,0,'Winterskon Rune_Caster'),
(@Rune_Caster,0,13,'YAAARRRGH!',12,0,100,1,0,0,'Winterskon Rune_Caster'),
(@Rune_Caster,0,14,'You come to die!',12,0,100,1,0,0,'Winterskon Rune_Caster'),
(@Rune_Caster,0,15,'You tiny creatures disgust me!',12,0,100,1,0,0,'Winterskon Rune_Caster'),
(@Rune_Caster,0,16,'Your entrails will make a fine necklace.',12,0,100,1,0,0,'Winterskon Rune_Caster'),
(@Rune_Caster,0,17,'Your race is a disease upon the world!',12,0,100,1,0,0,'Winterskon Rune_Caster');
DELETE FROM `creature_text` WHERE `entry`=@Rune_Seer;
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
(@Rune_Seer,0,0,'Die, maggot!',12,0,100,1,0,0,'Winterskon Rune_Seer'),
(@Rune_Seer,0,1,'For Ymiron!',12,0,100,1,0,0,'Winterskon Rune_Seer'),
(@Rune_Seer,0,2,'Haraak foln!',12,0,100,1,0,0,'Winterskon Rune_Seer'),
(@Rune_Seer,0,3,'I spit on you!',12,0,100,1,0,0,'Winterskon Rune_Seer'),
(@Rune_Seer,0,4,'I will break you!',12,0,100,1,0,0,'Winterskon Rune_Seer'),
(@Rune_Seer,0,5,'I will feed you to the dogs!',12,0,100,1,0,0,'Winterskon Rune_Seer'),
(@Rune_Seer,0,6,'I will take pleasure in gutting you!',12,0,100,1,0,0,'Winterskon Rune_Seer'),
(@Rune_Seer,0,7,'I''ll eat your heart!',12,0,100,1,0,0,'Winterskon Rune_Seer'),
(@Rune_Seer,0,8,'Look what''s come to play.',12,0,100,1,0,0,'Winterskon Rune_Seer'),
(@Rune_Seer,0,9,'My life for Ymiron!',12,0,100,1,0,0,'Winterskon Rune_Seer'),
(@Rune_Seer,0,10,'Sniveling pig!',12,0,100,1,0,0,'Winterskon Rune_Seer'),
(@Rune_Seer,0,11,'There will be no everlasting life for you!',12,0,100,1,0,0,'Winterskon Rune_Seer'),
(@Rune_Seer,0,12,'Ugglin oo bjorr!',12,0,100,1,0,0,'Winterskon Rune_Seer'),
(@Rune_Seer,0,13,'YAAARRRGH!',12,0,100,1,0,0,'Winterskon Rune_Seer'),
(@Rune_Seer,0,14,'You come to die!',12,0,100,1,0,0,'Winterskon Rune_Seer'),
(@Rune_Seer,0,15,'You tiny creatures disgust me!',12,0,100,1,0,0,'Winterskon Rune_Seer'),
(@Rune_Seer,0,16,'Your entrails will make a fine necklace.',12,0,100,1,0,0,'Winterskon Rune_Seer'),
(@Rune_Seer,0,17,'Your race is a disease upon the world!',12,0,100,1,0,0,'Winterskon Rune_Seer');

View File

@@ -0,0 +1,7 @@
--
UPDATE `creature_template` SET `minlevel`=80, `maxlevel`=80, `speed_walk`='1.2', `speed_run`='0.98571' WHERE `entry`=35415;
UPDATE `creature_template` SET `minlevel`=80, `maxlevel`=80, `speed_walk`='1.2', `speed_run`='1', `unit_class`=4 WHERE `entry`=35431;
UPDATE `creature_template` SET `minlevel`=80, `maxlevel`=80, `speed_walk`='2.8', `speed_run`='2.42857', `unit_class`=4 WHERE `entry`=35413;
UPDATE `creature_template` SET `minlevel`=80, `maxlevel`=80, `speed_walk`='3.2' WHERE `entry`=35419;
UPDATE `creature_template` SET `minlevel`=80, `maxlevel`=80 WHERE `entry`=35429;
UPDATE `creature_template` SET `minlevel`=80, `maxlevel`=80, `speed_walk`='1.2', `unit_class`=4 WHERE `entry`=35433;

View File

@@ -0,0 +1,5 @@
-- Template updates
UPDATE `creature_template` SET `speed_walk`=1 WHERE `entry`=20809; -- Mana Bomb Channel Trigger
UPDATE `creature_template` SET `speed_walk`=1,`speed_run`=1.14286 WHERE `entry` IN (26631,31350); -- Novos the Summoner
UPDATE `creature_template` SET `speed_walk`=1,`speed_run`=1 WHERE `entry` IN (27894,32795); -- Antipersonnel Cannon
UPDATE `creature_template` SET `speed_walk`=1,`speed_run`=0.99206 WHERE `entry`=30337; -- Jotunheim Rapid-Fire Harpoon

View File

@@ -0,0 +1,8 @@
--
UPDATE `creature_template` SET `ainame`='SmartAI' WHERE `entry`=25425;
DELETE FROM `smart_scripts` WHERE `entryorguid`=25425;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(25425,0,0,0,8,0,100,0,45607,0,0,0,33,25425,0,0,0,0,0,7,0,0,0,0,0,0,0,'On Spell Hit(Kaganishu''s Fetish Trigger) - Quest Credit');
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceGroup`=1 AND `SourceEntry`=45607;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(13,1,45607,0,0,31,0,3,25425,0,0,0,0,'','Kaganishu''s Fetish Trigger hits Farseer Grimwalker''s Spirit');

View File

@@ -0,0 +1,12 @@
UPDATE `creature_template` SET `ainame`='SmartAI',`scriptname`='' WHERE `entry`=17768;
DELETE FROM `smart_scripts` WHERE `entryorguid`=17768 AND `source_type`=0;
DELETE FROM `smart_scripts` WHERE `entryorguid`=1776800 AND `source_type`=9;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(17768,0,0,0,8,0,100,0,31225,0,0,0,80,1776800,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blood Knight Stillblade - On Spell Hit - Call Timed Action List'),
(1776800,9,0,0,0,0,100,0,0,0,0,0,33,17768,0,0,0,0,0,7,0,0,0,0,0,0,0,'Action 0 - Give Quest Credit'),
(1776800,9,1,0,0,0,100,0,0,0,0,0,11,32343,0,0,0,0,0,1,0,0,0,0,0,0,0,'Action 1 - Cast Revive Self'),
(1776800,9,2,0,0,0,100,0,0,0,0,0,91,7,0,0,0,0,0,1,0,0,0,0,0,0,0,'Action 2 - Remove Unit Field Bytes 1'),
(1776800,9,3,0,0,0,100,0,0,0,0,0,96,40,0,0,0,0,0,1,0,0,0,0,0,0,0,'Action 3 - Remove Dynamic Flags'),
(1776800,9,4,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Action 4 - Talk'),
(1776800,9,5,0,0,0,100,0,120000,120000,0,0,94,40,0,0,0,0,0,1,0,0,0,0,0,0,0,'Action 5 - Restore Dynamic Flags'),
(1776800,9,6,0,0,0,100,0,0,0,0,0,90,7,0,0,0,0,0,1,0,0,0,0,0,0,0,'Action 6 - Restore Unit Field Bytes 1');

View File

@@ -0,0 +1,18 @@
--
SET @RUNESEEKINGPICK := 43666;
SET @RUNEDSTONEGIANT := 24329;
SET @NPC_REWARD := 24329;
DELETE FROM `conditions` WHERE `SourceEntry`=@RUNESEEKINGPICK AND `SourceTypeOrReferenceId`=17;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(17,0,@RUNESEEKINGPICK,0,0,36,1,0,0,0,1,0,'', 'Runeseeking Pick can target only a corpse'),
(17,0,@RUNESEEKINGPICK,0,0,31,1,3,@RUNEDSTONEGIANT,0,0,0,'', 'Runeseeking Pick can target only RUNEDSTONEGIANT');
UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` = @RUNEDSTONEGIANT;
DELETE FROM `smart_scripts` WHERE `entryorguid` = @RUNEDSTONEGIANT AND `source_type`=0;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`,
`event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`,
`action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(@RUNEDSTONEGIANT,0,0,1,8,0,100,1,@RUNESEEKINGPICK,0,0,0,80,@NPC_REWARD*100+1,2,0,0,0,0,16,0,0,0,0,0,0,0, 'Runed Stone Giant- Script - Give Quest Credit'),
(@RUNEDSTONEGIANT,0,1,0,61,0,100,1,0,0,0,0,41,2000,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Runed Stone Giant - Despawn after 2 seconds');

View File

@@ -0,0 +1,8 @@
DELETE FROM `creature_ai_scripts` WHERE `creature_id`=26407;
UPDATE `creature_template` SET `ainame`='SmartAI',`scriptname`='' WHERE `entry` IN (26407,27017);
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (26407,27017) AND `source_type`=0;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(26407,0,0,0,0,0,100,0,10000,12000,10000,12000,11,52703,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lightning Sentry - IC - Cast Charged Sentry Totem'),
(26407,0,1,0,6,0,100,0,0,0,0,0,45,0,1,0,0,0,0,19,27017,25,0,0,0,0,0,'Lightning Sentry - On Death - Set Data'),
(27017,0,0,0,38,0,100,0,0,1,0,0,11,47797,0,0,0,0,0,23,0,0,0,0,0,0,0,'Depleted War Golem - On Data Set - Give Quest Credit');

View File

@@ -0,0 +1,142 @@
--
SET @ARTRUIS := 28659;
SET @JALOOT := 28667;
SET @ZEPIK := 28668;
SET @ARTRUISGUID := 202971;
SET @JALOOTGUID := 202969;
SET @ZEPIKGUID := 202970;
DELETE FROM `creature_questender` WHERE `id` IN (@ZEPIK,@JALOOT) AND `quest` IN (12582, 12689);
INSERT INTO `creature_questender` (`id`, `quest`) VALUES
(@ZEPIK, 12582), -- Zepik the Gorloc Hunter q12582 Frenzyheart Champion
(@JALOOT, 12689); -- Jaloot q12689 Hand of the Oracles
UPDATE `creature_queststarter` SET `id`=@ZEPIK WHERE `quest`=12582;
UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`= @ARTRUIS;
DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ARTRUIS;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ARTRUIS;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(@ARTRUIS, 0, 0, 1, 11, 0, 100, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 10, @JALOOTGUID, @JALOOT, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Respawn- Respawn Jaloot'),
(@ARTRUIS, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 10, @ZEPIKGUID, @ZEPIK, 0, 0, 0, 0, 0, 'Artruis the Heartless - Linked with Previous Event - Respawn Zephik'),
(@ARTRUIS, 0, 2, 0, 0, 0, 100, 0, 5000, 9000, 9000, 15000, 11, 15530, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - IC - Cast Frostbolt (Phase 1)'),
(@ARTRUIS, 0, 3, 0, 0, 0, 100, 0, 7000, 11000, 11000, 15000, 11, 54261, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - IC - Cast Ice Lance (Phase 1)'),
(@ARTRUIS, 0, 4, 0, 9, 0, 100, 0, 0, 10, 14000, 18000, 11, 11831, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Range - Cast Frost Nova (Phase 1)'),
(@ARTRUIS, 0, 5, 0, 0, 0, 100, 0, 9000, 13000, 25000, 35000, 11, 54792, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - Cast Icy Veins (Phase 1)'),
(@ARTRUIS, 0, 6, 7, 6, 0, 100, 0, 0, 0, 0, 0, 11, 52518, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On death - Spawn Artruis Phylactery'),
(@ARTRUIS, 0, 7, 8, 61, 0, 100, 0, 0, 0, 0, 0, 45, 1, 4, 0, 0, 0, 0, 10, @JALOOTGUID, @JALOOT, 0, 0, 0, 0, 0, 'Artruis the Heartless - Linked with Previous Event- Send Data 1 4 to Jaloot'),
(@ARTRUIS, 0, 8, 9, 61, 0, 100, 0, 0, 0, 0, 0, 45, 1, 4, 0, 0, 0, 0, 10, @ZEPIKGUID, @ZEPIK, 0, 0, 0, 0, 0, 'Artruis the Heartless - Linked with Previous Event - Send Data 1 4 to Zephik'),
(@ARTRUIS, 0, 9, 0, 61, 0, 100, 0, 0, 0, 0, 0, 1, 5, 10000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - Linked with Previous Event - Say Line 5'),
(@ARTRUIS, 0, 10, 11, 2, 0, 100, 1, 0, 30, 0, 0, 11, 52185, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - At 20% Hp Cast Bindings of Submission'),
(@ARTRUIS, 0, 11, 12, 61, 0, 100, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 10, @JALOOTGUID, @JALOOT, 0, 0, 0, 0, 0, 'Artruis the Heartless - Linked with Previous Event - Send Data 1 1 to Jaloot'),
(@ARTRUIS, 0, 12, 13, 61, 0, 100, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 10, @ZEPIKGUID, @ZEPIK, 0, 0, 0, 0, 0, 'Artruis the Heartless - Linked with Previous Event - Send Data 1 1 to Zephik'),
(@ARTRUIS, 0, 13, 14, 61, 0, 100, 0, 0, 0, 0, 0, 1, 3, 10000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - Linked with Previous Event - Say Line 3'),
(@ARTRUIS, 0, 14, 0, 61, 0, 100, 0, 0, 0, 0, 0, 1, 4, 10000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - Linked with Previous Event - Say Line 4'),
(@ARTRUIS, 0, 15, 16, 25, 0, 100, 0, 0, 0, 0, 0, 45, 1, 2, 0, 0, 0, 0, 10, @JALOOTGUID, @JALOOT, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Reset - Send Data 1 2 to Jaloot'),
(@ARTRUIS, 0, 16, 0, 61, 0, 100, 0, 0, 0, 0, 0, 45, 1, 2, 0, 0, 0, 0, 10, @ZEPIKGUID, @ZEPIK, 0, 0, 0, 0, 0, 'Artruis the Heartless - Linked with Previous Event - Send Data 1 2 to Zephik'),
(@ARTRUIS, 0, 17, 18, 38, 0, 100, 0, 1, 2, 0, 0, 45, 1, 3, 0, 0, 0, 0, 10, @JALOOTGUID, @JALOOT, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Receive Data 1 2- Send Data 1 3 to Jaloot'),
(@ARTRUIS, 0, 18, 19, 61, 0, 100, 0, 0, 0, 0, 0, 28, 52185, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - Linked with Previous Event - Remove Bindings of Submission'),
(@ARTRUIS, 0, 19, 0, 61, 0, 100, 0, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - Linked with Previous Event - Set Data 1 0'),
(@ARTRUIS, 0, 20, 21, 4, 0, 100, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 10, @JALOOTGUID, @JALOOT, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Agro- Respawn Jaloot'),
(@ARTRUIS, 0, 21, 22, 61, 0, 100, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 10, @ZEPIKGUID, @ZEPIK, 0, 0, 0, 0, 0, 'Artruis the Heartless - Linked with Previous Event - Respawn Zephik'),
(@ARTRUIS, 0, 22, 0, 61, 0, 100, 0, 0, 0, 0, 0, 1, 0, 10000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - Linked with Previous Event - Say Line 0'),
(@ARTRUIS, 0, 23, 0, 2, 0, 100, 1, 0, 75, 0, 0, 1, 1, 10000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On 75% HP - Say Line 1'),
(@ARTRUIS, 0, 24, 0, 2, 0, 100, 1, 0, 50, 0, 0, 1, 2, 10000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On 50% HP - Say Line 2'),
(@ARTRUIS, 0, 25, 26, 38, 0, 100, 0, 1, 1, 0, 0, 45, 1, 5, 0, 0, 0, 0, 10, @ZEPIKGUID, @ZEPIK, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Receive Data 1 1- Send Data 1 5 to Zepik'),
(@ARTRUIS, 0, 26, 27, 61, 0, 100, 0, 0, 0, 0, 0, 28, 52185, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - Linked with Previous Event - Remove Bindings of Submission'),
(@ARTRUIS, 0, 28, 0, 61, 0, 100, 0, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - Linked with Previous Event - Set Data 1 0'),
(@ARTRUIS, 0, 29, 0, 0, 0, 100, 0, 1000, 1000, 1000, 1000, 11, 53163, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - IC - Cast Dessawn Retainer'),
(@ARTRUIS, 0, 30, 0, 4, 0, 100, 0, 0, 0, 0, 0, 11, 53163, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Agro - Cast Dessawn Retainer');
DELETE FROM `creature_text` WHERE `entry` =@ARTRUIS;
INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES
(@ARTRUIS,0,0,'Ah, the hero. Your little friends said you would come. This certainly saves me the trouble of hunting you down myself.',14,0,100,2,0,0,'Artruis the Heartless'),
(@ARTRUIS,1,0,'I have weathered a hundred years of war and suffering. Do you truly think it wise to pit your mortals boddies against a being that cannot die? I''d venture you have more to lose',14,0,100,2,0,0,'Artruis the Heartless'),
(@ARTRUIS,2,0,'Even shattered into countless pieces, the crystals all around weaken me... perhaps I should not have underestimated the titans so...',14,0,100,2,0,0,'Artruis the Heartless'),
(@ARTRUIS,3,0,'These two brave, ignorant fools despise each other, yet somehow they both spoke of you as a hero. Perhaps you just lack the will to choose a side... let me extend you that opportunity.',14,0,100,2,0,0,'Artruis the Heartless'),
(@ARTRUIS,4,0,'Artruis is shielded. You must choose your side quickly to break his spell.',41,0,100,2,0,0,'Artruis the Heartless'),
(@ARTRUIS,5,0,'Arthas once mustered strength...of the very same sort... perhaps his is the path that you will follow.',14,0,100,2,0,0,'Artruis the Heartless');
UPDATE `creature_template` SET `AIName`= 'SmartAI',`npcflag`=0,`unit_flags`=32832 WHERE `entry`= @JALOOT;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@JALOOT;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(@JALOOT, 0, 0, 1, 11, 0, 100, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Spawn - Remove quest giver flag'),
(@JALOOT, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 18, 512, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - Linked with Previous Event - Set Unit Flags'),
(@JALOOT, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 11, 52182, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - Linked with Previous Event - Cast Tomb of the Heartless'),
(@JALOOT, 0, 3, 4, 38, 0, 100, 0, 1, 1, 0, 0, 2, 14, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Data Set 1 1 - Set Hostile'),
(@JALOOT, 0, 4, 5, 61, 0, 100, 0, 0, 0, 0, 0, 28, 52182, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - Linked with Previous Event - Remove Tomb of the Heartless'),
(@JALOOT, 0, 5, 0, 61, 0, 100, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 18, 40, 0, 0, 0, 0, 0, 0, 'Jaloot - Linked with Previous Event - Attack'),
(@JALOOT, 0, 6, 7, 38, 0, 100, 0, 1, 2, 0, 0, 2, 250, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Data Set 1 2 - Set Friendly'),
(@JALOOT, 0, 7, 8, 61, 0, 100, 0, 0, 0, 0, 0, 18, 512, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - Linked with Previous Event - Set Unit Flags'),
(@JALOOT, 0, 8 ,0, 61, 0, 100, 0, 0, 0, 0, 0, 11, 52182, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - Linked with Previous Event - Cast Tomb of the Heartless'),
(@JALOOT, 0, 9, 0, 6, 0, 100, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 10, @ARTRUISGUID, @ARTRUIS, 0, 0, 0, 0, 0, 'Jaloot - On Death - Send Data 1 1 to Artruis'),
(@JALOOT, 0, 10,11, 38, 0, 100, 0, 1, 3, 0, 0, 2, 250, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Data Set 1 3 - Set Friendly'),
(@JALOOT, 0, 11,12, 61, 0, 100, 0, 0, 0, 0, 0, 19, 512, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - Linked with Previous Event - Remove Unit Flags'),
(@JALOOT, 0, 12,13, 61, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - Linked with Previous Event - Say Line 0'),
(@JALOOT, 0, 13,14, 61, 0, 100, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 10, @ARTRUISGUID, @ARTRUIS, 0, 0, 0, 0, 0, 'Jaloot - Linked with Previous Event - Attack Artruis'),
(@JALOOT, 0, 14, 0, 61, 0, 100, 0, 0, 0, 0, 0, 28, 52185, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - Linked with Previous Event - Remove Bindings of Submission'),
(@JALOOT, 0, 15,16, 38, 0, 100, 0, 1, 4, 0, 0, 2, 250, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Data Set 1 4 - Set Friendly'),
(@JALOOT, 0, 16,17, 61, 0, 100, 0, 0, 0, 0, 0, 18, 512, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - Linked with Previous Event - Set Unit Flags'),
(@JALOOT, 0, 17,18, 61, 0, 100, 0, 0, 0, 0, 0, 81, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - Linked with Previous Event - Add quest giver flag'),
(@JALOOT, 0, 18,19 , 61, 0, 100, 0, 0, 0, 0, 0, 41, 120000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - Linked with Previous Event - Despawn After 2 mins'),
(@JALOOT, 0, 19,0, 61, 0, 100, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - Linked with Previous Event - Evade'),
(@JALOOT, 0, 20, 0, 9, 0, 100, 0, 0, 5, 15000, 20000, 11, 52943, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Range - Cast Lightning Whirl'),
(@JALOOT, 0, 21, 0, 9, 0, 100, 0, 0, 5, 15000, 18000, 11, 52944, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Range - Cast Lightning Strike'),
(@JALOOT, 0, 22, 0, 9, 0, 100, 0, 0, 5, 20000, 25000, 11, 52964, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Range - Cast Spark Frenzy'),
(@JALOOT, 0, 23, 0, 2, 0, 100, 0, 0, 30, 9000, 12000, 11, 52969, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Less than 30% HP - Cast Energy Siphon');
DELETE FROM `creature_text` WHERE `entry` =@JALOOT;
INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES
(@JALOOT, 0, 0, 'Now you not catch us with back turned. Now we hurt you bad undead. BAD!', 12, 0, 100, 0, 0, 0, 'Jaloot');
UPDATE `creature_template` SET `AIName`= 'SmartAI',`npcflag`=0,`unit_flags`=32832 WHERE `entry`= @ZEPIK;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ZEPIK;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(@ZEPIK, 0, 0, 1, 11, 0, 100, 1, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Spawn - Remove quest giver flag'),
(@ZEPIK, 0, 1, 2, 61, 0, 100, 1, 0, 0, 0, 0, 18, 512, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - Linked with Previous Event - Set Unit Flags'),
(@ZEPIK, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 11, 52182, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - Linked with Previous Event - Cast Tomb of the Heartless'),
(@ZEPIK, 0, 3, 4, 38, 0, 100, 0, 1, 1, 0, 0, 2, 14, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Data Set 1 1 - Set Hostile'),
(@ZEPIK, 0, 4, 5, 61, 0, 100, 0, 0, 0, 0, 0, 28, 52182, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - Linked with Previous Event - Remove Tomb of the Heartless'),
(@ZEPIK, 0, 5, 0, 61, 0, 100, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 18, 40, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - Linked with Previous Event - Attack'),
(@ZEPIK, 0, 6, 7, 38, 0, 100, 0, 1, 2, 0, 0, 2, 250, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Data Set 1 2 - Set Friendly'),
(@ZEPIK, 0, 7, 8, 61, 0, 100, 0, 0, 0, 0, 0, 18, 512, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - Linked with Previous Event - Set Unit Flags'),
(@ZEPIK, 0, 8 ,0, 61, 0, 100, 0, 0, 0, 0, 0, 11, 52182, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - Linked with Previous Event - Cast Tomb of the Heartless'),
(@ZEPIK, 0, 9, 0, 6, 0, 100, 0, 0, 0, 0, 0, 45, 1, 2, 0, 0, 0, 0, 10, @ARTRUISGUID, @ARTRUIS, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Death - Send Data 1 2 to Artruis'),
(@ZEPIK, 0, 10, 11, 38, 0, 100, 0, 1, 5, 0, 0, 2, 250, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Data Set 1 5 - Set Friendly'),
(@ZEPIK, 0, 11, 12, 61, 0, 100, 0, 0, 0, 0, 0, 19, 512, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - Linked with Previous Event - Remove Unit Flags'),
(@ZEPIK, 0, 12, 13, 61, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - Linked with Previous Event - Say Line 0'),
(@ZEPIK, 0, 13,14, 61, 0, 100, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 10, @ARTRUISGUID, @ARTRUIS, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - Linked with Previous Event - Attack Artruis'),
(@ZEPIK, 0, 14,0, 61, 0, 100, 0, 0, 0, 0, 0, 28, 52185, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - Linked with Previous Event - Remove Bindings of Submission'),
(@ZEPIK, 0, 15,16, 38, 0, 100, 0, 1, 4, 0, 0, 2, 250, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Data Set 1 4 - Set Friendly'),
(@ZEPIK, 0, 16,17, 61, 0, 100, 0, 0, 0, 0, 0, 18, 512, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - Linked with Previous Event - Set Unit Flags'),
(@ZEPIK, 0, 17,18, 61, 0, 100, 0, 0, 0, 0, 0, 81, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - Linked with Previous Event - Add quest giver flag'),
(@ZEPIK, 0, 18,19 ,61, 0, 100, 0, 0, 0, 0, 0, 41, 120000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - Linked with Previous Event - Despawn After 2 mins'),
(@ZEPIK, 0, 19,0, 61, 0, 100, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - Linked with Previous Event - Evade'),
(@ZEPIK, 0, 20, 0, 9, 0, 100, 0, 0, 20, 15000, 18000, 11, 52761, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Range - Cast Barbed Net'),
(@ZEPIK, 0, 21, 0, 9, 0, 100, 0, 5, 30, 12000, 15000, 11, 52889, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Range - Cast Envenomed Shot'),
(@ZEPIK, 0, 22, 0, 9, 0, 100, 0, 0, 5, 15000, 18000, 11, 52873, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Range - Cast Open Wound'),
(@ZEPIK, 0, 23, 0, 9, 0, 100, 0, 5, 30, 3000, 7000, 11, 52758, 2, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Range - Cast Piercing Arrow'),
(@ZEPIK, 0, 24, 0, 9, 0, 100, 0, 0, 5, 30000, 40000, 11, 52886, 2, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Range - Cast Spike Trap'),
(@ZEPIK, 0, 25, 0, 2, 0, 100, 0, 0, 30, 30000, 30000, 11, 52895, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Less than 30% HP Cast Bandage - Cast Bandage');
DELETE FROM `creature_text` WHERE `entry` =@ZEPIK;
INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES
(@ZEPIK, 0, 0, 'You going die big bad undead thing! You not catch Zepik sleeping this time!', 12, 0, 100, 0, 0, 0, 'Zepik the Gorloc Hunter');
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceGroup`=1 AND `SourceEntry`=52185;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
(13,1,52185,0,0,31,0,3,@ZEPIK,0,0,0,'','bindings of submission can hit Zepik the Gorloc Hunter'),
(13,1,52185,0,1,31,0,3,@JALOOT,0,0,0,'','bindings of submission can hit Jaloot'),
(13,1,52185,0,2,31,0,3,@ARTRUIS,0,0,0,'','bindings of submission can hit Artruis the Heartless');
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=17 AND `SourceEntry` IN(51186,51188,51189,51190,51191,51192);
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(17, 0, 51186, 0, 0, 29, 0, 28659, 50, 0, 1, 0, 0, '', 'Summon Goregek the Bristlepine Hunter cannot be used near artruis'),
(17, 0, 51188, 0, 0, 29, 0, 28659, 50, 0, 1, 0, 0, '', 'Summon Dajik the Wasp Hunter cannot be used near artruis'),
(17, 0, 51189, 0, 0, 29, 0, 28659, 50, 0, 1, 0, 0, '', 'Summon Zepik the Gorloc Hunter cannot be used near artruis'),
(17, 0, 51190, 0, 0, 29, 0, 28659, 50, 0, 1, 0, 0, '', 'Summon Lafoo cannot be used near artruis'),
(17, 0, 51191, 0, 0, 29, 0, 28659, 50, 0, 1, 0, 0, '', 'Summon Jaloot cannot be used near artruis'),
(17, 0, 51192, 0, 0, 29, 0, 28659, 50, 0, 1, 0, 0, '', 'Summon Moodle cannot be used near artruis');
UPDATE `creature_template` SET `npcflag`=`npcflag`|2 WHERE `entry` IN (28667,28668);

View File

@@ -0,0 +1,5 @@
-- Words for Delivery (25500)
UPDATE `quest_template` SET `Details` = 'Here we go. This is the speech, $N!$b$bIt has everything to be a great battle starter: It''s inspirational, has eloquent language and speaks directly to gnomes. Never has a finer speech been written!$b$bTurn this in to Captain Tread Sparknozzle and see if there''s anything else he needs of you.', `OfferRewardText` = 'This is the speech from Toby? Fantastic!$bRecruit, you''ve done all we could possibly ask for and the Gnomeregan Army thanks you!$bWe''ve got a strike team heading to Gnomeregan now and that wouldn''t have been possible without your assistance. For all of your help, we''d like you to join the Gnomeregan Reserves!$bIt doesn''t pay very well, but you do get this snazzy helmet. Hang on to that, you might need it someday!' WHERE `Id`=25500;
-- Words for Delivery (25286)
UPDATE `quest_template` SET `Details` = 'Here we go. This is the speech, $N!$b$bIt has everything to be a great battle starter: It''s inspirational, has eloquent language and speaks directly to gnomes. Never has a finer speech been written!$b$bTurn this in to Captain Tread Sparknozzle and get some transportation to High Tinker Mekkatorque!', `OfferRewardText` = 'Toby is all done with the speech? Let me see...$b<Reads the speech> Pumping pistons! What a fantastic speech! I knew Toby was a good writer, but this is perhaps the best he''s ever written.$bI think it''s time to get you out to the battle.' WHERE `Id`=25286;

View File

@@ -0,0 +1,17 @@
--
UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`=25791;
DELETE FROM `smart_scripts` WHERE `entryorguid`=25791;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(25791, 0, 0, 0, 11, 0, 100, 0, 0, 0, 0, 0, 11, 45948, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Oil-stained Wolf - On Respawn - Cast Oil Coat'),
(25791, 0, 1, 0, 8 ,0, 100, 1, 53326, 0, 0, 0, 23, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Oil-stained Wolf - On Spellhit - Increment Phase'),
(25791, 0, 2, 3, 1 ,1, 100, 1, 1000, 1000, 0, 0, 2, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Oil-stained Wolf - OOC - Set Faction'),
(25791, 0, 3, 4,61 ,1, 100, 1, 0, 0, 0, 0, 11, 46075, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Oil-stained Wolf - Linked with Previous Event - Cast Summon Wolf Droppings'),
(25791, 0, 4, 5,61 ,1, 100, 1, 0, 0, 0, 0, 89, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Oil-stained Wolf - Linked with Previous Event - Set Random Movement'),
(25791, 0, 5, 0,61 ,1, 100, 1, 0, 0, 0, 0, 41, 15000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Oil-stained Wolf - Linked with Previous Event - Despawn'),
(25791, 0, 6, 7, 0 ,1, 100, 1, 1000, 1000, 0, 0, 2, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Oil-stained Wolf - IC - Set Faction'),
(25791, 0, 7, 8,61 ,1, 100, 1, 0, 0, 0, 0, 11, 46075, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Oil-stained Wolf - Linked with Previous Event - Cast Summon Wolf Droppings'),
(25791, 0, 8, 9,61 ,1, 100, 1, 0, 0, 0, 0, 89, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Oil-stained Wolf - Linked with Previous Event - Set Random Movement'),
(25791, 0, 9,10,61 ,1, 100, 1, 0, 0, 0, 0, 41, 15000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Oil-stained Wolf - Linked with Previous Event - Despawn'),
(25791, 0,10, 0,61 ,1, 100, 1, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Oil-stained Wolf - Linked with Previous Event - Evade');

View File

@@ -0,0 +1,47 @@
-- [11258] [11247] Burn Skorn ,Burn
UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry` IN(24098,24100,24102);
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (24098,24100,24102);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(24102, 0, 0, 0, 8, 0, 100, 0, 43057, 0, 0, 0, 11, 43065 , 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Skorn Barraks Bunny - On Spellhit - Cast Burn Skorn, Burn!: Barracks Kill Credit'),
(24098, 0, 0, 0, 8, 0, 100, 0, 43057, 0, 0, 0, 11, 43058 , 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Skorn Longhouse NW Bunny - On Spellhit - Cast Burn Skorn, Burn!: NW Kill Credit'),
(24100, 0, 0, 0, 8, 0, 100, 0, 43057, 0, 0, 0, 11, 43061 , 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Skorn Longhouse NE Bunny - On Spellhit - Cast Burn Skorn, Burn!: NE Kill Credit');
-- [11259] [11245] Towers of Certain Doom
UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry` IN(24087,24092,24093,24094);
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (24087,24092,24093,24094) AND `source_type`=0;
DELETE FROM `smart_scripts` WHERE `entryorguid` =2408700 AND `source_type`=9;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(24087, 0, 0, 2, 8, 0, 100, 0, 49625, 0, 15000, 15000, 11, 43067 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Skorn Tower NW Bunny - On Spellhit - Cast Towers of Certain Doom: NW Kill Credit'),
(24092, 0, 0, 2, 8, 0, 100, 0, 49625, 0, 15000, 15000, 11, 43077 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Skorn Tower E Bunny - On Spellhit - Cast Towers of Certain Doom: E Kill Credit'),
(24093, 0, 0, 2, 8, 0, 100, 0, 49625, 0, 15000, 15000, 11, 43086 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Skorn Tower SW Bunny - On Spellhit - Cast Towers of Certain Doom: SW Kill Credit'),
(24094, 0, 0, 2, 8, 0, 100, 0, 49625, 0, 15000, 15000, 11, 43087 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Skorn Tower SE Bunny - On Spellhit - Cast Towers of Certain Doom: SE Kill Credit'),
(24087, 0, 1, 2, 8, 0, 100, 0, 49634, 0, 15000, 15000, 11, 43067 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Skorn Tower NW Bunny - On Spellhit - Cast Towers of Certain Doom: NW Kill Credit'),
(24092, 0, 1, 2, 8, 0, 100, 0, 49634, 0, 15000, 15000, 11, 43077 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Skorn Tower E Bunny - On Spellhit - Cast Towers of Certain Doom: E Kill Credit'),
(24093, 0, 1, 2, 8, 0, 100, 0, 49634, 0, 15000, 15000, 11, 43086 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Skorn Tower SW Bunny - On Spellhit - Cast Towers of Certain Doom: SW Kill Credit'),
(24094, 0, 1, 2, 8, 0, 100, 0, 49634, 0, 15000, 15000, 11, 43087 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Skorn Tower SE Bunny - On Spellhit - Cast Towers of Certain Doom: SE Kill Credit'),
(24087, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 80, 2408700 , 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Skorn Tower NW Bunny - Linked with Previous Event - Run Timed Script'),
(24092, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 80, 2408700 , 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Skorn Tower E Bunny - Linked with Previous Event - Run Timed Script'),
(24093, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 80, 2408700 , 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Skorn Tower SW Bunny - Linked with Previous Event - Run Timed Script'),
(24094, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 80, 2408700 , 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Skorn Tower SE Bunny - Linked with Previous Event - Run Timed Script'),
(2408700, 9, 0, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 11, 56511 , 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Skorn Tower Bunny - Script - Cast Towers of Certain Doom: Tower Bunny Smoke Flare Effect'),
(2408700, 9, 1, 0, 0, 0, 100, 0, 15000, 15000, 0, 0, 11, 43069 , 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Skorn Tower Bunny - Script - Cast Towers of Certain Doom: Skorn Cannonfire'),
(2408700, 9, 2, 0, 0, 0, 100, 0, 100, 100, 0, 0, 85, 43072 , 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Skorn Tower Bunny - Script - Cast Towers of Certain Doom: Tower Caster Instakill');
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`IN(49625,49634,43072);
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(13,1,49625,0,0,31,0,3,24087,0,0,0,0,'','Braves Flare targets Skorn Tower NW Bunny'),
(13,1,49625,0,1,31,0,3,24092,0,0,0,0,'','Braves Flare targets Skorn Tower E Bunny'),
(13,1,49625,0,2,31,0,3,24093,0,0,0,0,'','Braves Flare targets Skorn Tower SW Bunny'),
(13,1,49625,0,3,31,0,3,24094,0,0,0,0,'','Braves Flare targets Skorn Tower SE Bunny'),
(13,1,49634,0,0,31,0,3,24087,0,0,0,0,'','Seargents Flare targets Skorn Tower NW Bunny'),
(13,1,49634,0,1,31,0,3,24092,0,0,0,0,'','Seargents Flare targets Skorn Tower E Bunny'),
(13,1,49634,0,2,31,0,3,24093,0,0,0,0,'','Seargents Flare targets Skorn Tower SW Bunny'),
(13,1,49634,0,3,31,0,3,24094,0,0,0,0,'','Seargents Flare targets Skorn Tower SE Bunny'),
(13,1,43072,0,0,31,0,3,23668,0,0,0,0,'','Towers of Certain Doom: Tower Caster Instakill targets Winterskorn Rune-Caster'),
(13,1,43072,0,1,31,0,3,23667,0,0,0,0,'','Towers of Certain Doom: Tower Caster Instakill targets Winterskorn Rune-Seer'),
(13,1,43072,0,2,31,0,3,23669,0,0,0,0,'','Towers of Certain Doom: Tower Caster Instakill targets Winterskorn Oracle');

View File

@@ -0,0 +1,11 @@
--
UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`= 9376;
DELETE FROM `creature_ai_scripts` WHERE `creature_id`=9376;
DELETE FROM `smart_scripts` WHERE `entryorguid`=9376 AND `source_type`=0;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(9376, 0, 0, 0,11, 0, 100, 0, 0, 0, 0, 0, 11, 13913, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Blazerunner - On Spawn - Cast Blazerunner Aura'),
(9376, 0, 1, 0, 9, 0, 100, 0, 0, 10, 10000, 20000, 11, 17277, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Blazerunner - On Range - Cast Blast Wave'),
(9376, 0, 2, 0, 8, 0, 100, 0, 14247, 0, 0, 0, 28, 13913, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Blazerunner - On Spellhit (Blazerunner Dispel) - Remove Blazerunner Aura');

View File

@@ -0,0 +1,21 @@
--
UPDATE `creature_template` SET `gossip_menu_id`=10036 WHERE `entry`=31273;
DELETE FROM `gossip_menu` WHERE `entry`IN(10036,10037);
INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES
(10036, 13930),
(10037, 13931);
DELETE FROM `gossip_menu_option` WHERE `menu_id`=10036;
INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `box_coded`, `box_money`, `box_text`) VALUES
(10036, 0, 0, 'Hold on friend. Tell me what happened here.', 1, 1, 10037, 0, 0, 0, NULL);
UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`=31273;
DELETE FROM `smart_scripts` WHERE `entryorguid` =31273;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(31273, 0, 0, 0, 62, 0, 100, 0, 10036, 0, 0, 0, 33, 31272, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Dying Berserker - On Gossip Select - Give Kill Credit');
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=10036;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
(15,10036,0,0,0,9,0,13228,0,0,0,0,'','Dying Berserker show gossip only if player on quest The Broken Front');

View File

@@ -0,0 +1,55 @@
--
DELETE FROM `smart_scripts` WHERE `entryorguid`=6497;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(6497, 0, 0, 1, 62, 0, 100, 0, 125, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Astor Hadren - On Gossip Select - Close Menu'),
(6497, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 2, 14, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Astor Hadren - Linked with Previous Event - Set Hostile'),
(6497, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 55, 120000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Astor Hadren - Linked with Previous Event - Stop WP'),
(6497, 0, 3, 4, 11, 0, 100, 0, 0, 0, 0, 0, 2, 68, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Astor Hadren - On Spawn - Set Friendly'),
(6497, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 53, 0, 6497, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 'Astor Hadren - Linked with previous Event - Start WP'),
(6497, 0, 5, 0, 64, 0, 100, 0, 0, 0, 0, 0, 54, 15000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Astor Hadren - On Gossip Hello - Pause WP');
UPDATE `creature` SET `MovementType`=0 WHERE `guid`=44738;
UPDATE `creature_addon` SET `path_id`=0 WHERE `guid`=44738;
DELETE FROM `waypoint_data` WHERE `id`=447380;
DELETE FROM `waypoints` WHERE `entry`=6497;
INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES
(6497, 1, 1597.4, 566.768, 37.8602, 'Astor Hadren'),
(6497, 2, 1613.91, 562.333, 35.146, 'Astor Hadren'),
(6497, 3, 1631.83, 557.812, 33.7566, 'Astor Hadren'),
(6497, 4, 1661.1, 550.278, 33.3758, 'Astor Hadren'),
(6497, 5, 1689.98, 545.014, 33.4033, 'Astor Hadren'),
(6497, 6, 1714.5, 540.561, 33.6137, 'Astor Hadren'),
(6497, 7, 1737.88, 533.75, 33.3961, 'Astor Hadren'),
(6497, 8, 1772.23, 525.741, 33.3961, 'Astor Hadren'),
(6497, 9, 1802.45, 516.861, 33.4219, 'Astor Hadren'),
(6497, 10, 1836.05, 504.973, 34.1916, 'Astor Hadren'),
(6497, 11, 1850.21, 496.778, 34.6882, 'Astor Hadren'),
(6497, 12, 1867.39, 481.534, 34.5889, 'Astor Hadren'),
(6497, 13, 1877.67, 463.224, 34.1472, 'Astor Hadren'),
(6497, 14, 1890.49, 434.482, 33.8649, 'Astor Hadren'),
(6497, 15, 1898.6, 404.11, 34.3546, 'Astor Hadren'),
(6497, 16, 1909.06, 371.483, 34.0201, 'Astor Hadren'),
(6497, 17, 1927.47, 333.806, 35.1605, 'Astor Hadren'),
(6497, 18, 1948.33, 293.56, 38.7782, 'Astor Hadren'),
(6497, 19, 1960.17, 272.962, 38.3855, 'Astor Hadren'),
(6497, 20, 1981.05, 237.328, 36.6631, 'Astor Hadren'),
(6497, 21, 1955.89, 236.574, 41.3907, 'Astor Hadren'),
(6497, 22, 1922.53, 240.366, 49.3415, 'Astor Hadren'),
(6497, 23, 1938.41, 259.961, 44.9292, 'Astor Hadren'),
(6497, 24, 1949.26, 286.982, 38.8665, 'Astor Hadren'),
(6497, 25, 1941.21, 306.375, 37.5792, 'Astor Hadren'),
(6497, 26, 1927.42, 334.68, 35.107, 'Astor Hadren'),
(6497, 27, 1912.91, 362.632, 33.9933, 'Astor Hadren'),
(6497, 28, 1899.77, 399.685, 34.2583, 'Astor Hadren'),
(6497, 29, 1894.23, 419.938, 34.2863, 'Astor Hadren'),
(6497, 30, 1883.81, 449.623, 33.9371, 'Astor Hadren'),
(6497, 31, 1865.35, 482.581, 34.6089, 'Astor Hadren'),
(6497, 32, 1839.53, 502.555, 34.3171, 'Astor Hadren'),
(6497, 33, 1810.76, 513.551, 33.4393, 'Astor Hadren'),
(6497, 34, 1780.72, 522.962, 33.3959, 'Astor Hadren'),
(6497, 35, 1744.62, 532.56, 33.3959, 'Astor Hadren'),
(6497, 36, 1713.98, 539.842, 33.5092, 'Astor Hadren'),
(6497, 37, 1683.12, 546.073, 33.4104, 'Astor Hadren'),
(6497, 38, 1642.1, 554.955, 33.448, 'Astor Hadren'),
(6497, 39, 1612.29, 563.53, 35.3895, 'Astor Hadren');

View File

@@ -0,0 +1,2 @@
-- Template updates for creature 27263 (Vordrassil's Heart Credit)
UPDATE `creature_template` SET `unit_flags`=`unit_flags`|33555200 WHERE `entry`=27263;

View File

@@ -0,0 +1,63 @@
--
DELETE FROM `npc_vendor` WHERE `entry` IN(33238,33239);
INSERT INTO `npc_vendor` (`entry`, `slot`, `item`, `maxcount`, `incrtime`, `ExtendedCost`) VALUES
(33238, 24, 33443, 0, 0, 0),
(33238, 26, 35952, 0, 0, 0),
(33238, 23, 33454, 0, 0, 0),
(33238, 21, 33449, 0, 0, 0),
(33238, 22, 33451, 0, 0, 0),
(33238, 25, 35949, 0, 0, 0),
(33238, 30, 35950, 0, 0, 0),
(33238, 27, 35953, 0, 0, 0),
(33238, 28, 35951, 0, 0, 0),
(33238, 29, 35948, 0, 0, 0),
(33238, 2, 5237, 0, 0, 0),
(33238, 3, 5565, 0, 0, 0),
(33238, 4, 16583, 0, 0, 0),
(33238, 1, 3775, 0, 0, 0),
(33238, 6, 17030, 0, 0, 0),
(33238, 9, 17033, 0, 0, 0),
(33238, 10, 21177, 0, 0, 0),
(33238, 8, 17032, 0, 0, 0),
(33238, 5, 17020, 0, 0, 0),
(33238, 7, 17031, 0, 0, 0),
(33238, 16, 43235, 0, 0, 0),
(33238, 13, 41586, 0, 0, 0),
(33238, 11, 37201, 0, 0, 0),
(33238, 14, 43231, 0, 0, 0),
(33238, 15, 43233, 0, 0, 0),
(33238, 18, 44605, 0, 0, 0),
(33238, 19, 44614, 0, 0, 0),
(33238, 17, 43237, 0, 0, 0),
(33238, 12, 41584, 0, 0, 0),
(33238, 20, 44615, 0, 0, 0),
(33239, 24, 33443, 0, 0, 0),
(33239, 26, 35952, 0, 0, 0),
(33239, 23, 33454, 0, 0, 0),
(33239, 21, 33449, 0, 0, 0),
(33239, 22, 33451, 0, 0, 0),
(33239, 25, 35949, 0, 0, 0),
(33239, 30, 35950, 0, 0, 0),
(33239, 27, 35953, 0, 0, 0),
(33239, 28, 35951, 0, 0, 0),
(33239, 29, 35948, 0, 0, 0),
(33239, 2, 5237, 0, 0, 0),
(33239, 3, 5565, 0, 0, 0),
(33239, 4, 16583, 0, 0, 0),
(33239, 1, 3775, 0, 0, 0),
(33239, 6, 17030, 0, 0, 0),
(33239, 9, 17033, 0, 0, 0),
(33239, 10, 21177, 0, 0, 0),
(33239, 8, 17032, 0, 0, 0),
(33239, 5, 17020, 0, 0, 0),
(33239, 7, 17031, 0, 0, 0),
(33239, 16, 43235, 0, 0, 0),
(33239, 13, 41586, 0, 0, 0),
(33239, 11, 37201, 0, 0, 0),
(33239, 14, 43231, 0, 0, 0),
(33239, 15, 43233, 0, 0, 0),
(33239, 18, 44605, 0, 0, 0),
(33239, 19, 44614, 0, 0, 0),
(33239, 17, 43237, 0, 0, 0),
(33239, 12, 41584, 0, 0, 0),
(33239, 20, 44615, 0, 0, 0);

View File

@@ -0,0 +1,50 @@
--
SET @ROLCITIZEN := 3617;
SET @GUID := 132232;
UPDATE `creature_template` SET `MovementType` = 1, `Health_mod` = 2 WHERE `entry` = @ROLCITIZEN;
DELETE FROM `creature_template_addon` WHERE `entry`=3617;
INSERT INTO `creature_template_addon` (`entry`, `auras`) VALUES
(@ROLCITIZEN, '34426');
DELETE FROM `creature` WHERE `guid` BETWEEN @GUID AND @GUID+37;
INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `modelid`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`) VALUES
(@GUID, @ROLCITIZEN, 0, 1, 1, 0, 0, 1834.213, 249.057, 59.82264, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+1, @ROLCITIZEN, 0, 1, 1, 0, 0, 1823.905, 252.862, 60.02497, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+2, @ROLCITIZEN, 0, 1, 1, 0, 0, 1829.434, 259.207, 59.58340, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+3, @ROLCITIZEN, 0, 1, 1, 0, 0, 1819.516, 264.184, 59.89560, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+4, @ROLCITIZEN, 0, 1, 1, 0, 0, 1806.351, 265.815, 65.39972, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+5, @ROLCITIZEN, 0, 1, 1, 0, 0, 1816.986, 281.063, 70.39969, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+6, @ROLCITIZEN, 0, 1, 1, 0, 0, 1831.261, 282.122, 70.39969, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+7, @ROLCITIZEN, 0, 1, 1, 0, 0, 1843.583, 278.447, 70.39969, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+8, @ROLCITIZEN, 0, 1, 1, 0, 0, 1794.100, 284.269, 70.39969, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+9, @ROLCITIZEN, 0, 1, 1, 0, 0, 1769.915, 285.161, 70.39969, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+10, @ROLCITIZEN, 0, 1, 1, 0, 0, 1806.014, 254.011, 60.65592, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+11, @ROLCITIZEN, 0, 1, 1, 0, 0, 1782.721, 267.958, 59.61376, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+12, @ROLCITIZEN, 0, 1, 1, 0, 0, 1783.947, 251.046, 59.50742, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+13, @ROLCITIZEN, 0, 1, 1, 0, 0, 1782.661, 226.650, 59.36586, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+14, @ROLCITIZEN, 0, 1, 1, 0, 0, 1785.052, 210.563, 59.70694, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+15, @ROLCITIZEN, 0, 1, 1, 0, 0, 1805.750, 210.858, 65.39980, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+16, @ROLCITIZEN, 0, 1, 1, 0, 0, 1803.131, 192.819, 70.39975, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+17, @ROLCITIZEN, 0, 1, 1, 0, 0, 1819.385, 193.334, 70.39975, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+18, @ROLCITIZEN, 0, 1, 1, 0, 0, 1841.260, 196.939, 70.39975, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+19, @ROLCITIZEN, 0, 1, 1, 0, 0, 1788.094, 193.416, 70.39975, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+20, @ROLCITIZEN, 0, 1, 1, 0, 0, 1768.284, 193.266, 70.39975, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+21, @ROLCITIZEN, 0, 1, 1, 0, 0, 1836.373, 229.404, 60.23154, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+22, @ROLCITIZEN, 0, 1, 1, 0, 0, 1830.285, 213.645, 60.38905, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+23, @ROLCITIZEN, 0, 1, 1, 0, 0, 1817.453, 225.251, 59.52800, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+24, @ROLCITIZEN, 0, 1, 1, 0, 0, 1820.128, 250.549, 60.04744, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+25, @ROLCITIZEN, 0, 1, 1, 0, 0, 1805.220, 291.655, 70.39964, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+26, @ROLCITIZEN, 0, 1, 1, 0, 0, 1846.193, 271.665, 70.39966, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+27, @ROLCITIZEN, 0, 1, 1, 0, 0, 1797.379, 321.783, 70.81464, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+28, @ROLCITIZEN, 0, 1, 1, 0, 0, 1795.755, 336.788, 70.81464, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+29, @ROLCITIZEN, 0, 1, 1, 0, 0, 1816.091, 339.486, 70.81320, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+30, @ROLCITIZEN, 0, 1, 1, 0, 0, 1818.251, 324.754, 70.81323, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+31, @ROLCITIZEN, 0, 1, 1, 0, 0, 1806.574, 325.978, 70.39765, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+32, @ROLCITIZEN, 0, 1, 1, 0, 0, 1806.596, 337.597, 70.39765, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+33, @ROLCITIZEN, 0, 1, 1, 0, 0, 1779.739, 208.601, 60.31278, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+34, @ROLCITIZEN, 0, 1, 1, 0, 0, 1774.185, 238.088, 60.69822, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+35, @ROLCITIZEN, 0, 1, 1, 0, 0, 1784.677, 238.470, 60.40865, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+36, @ROLCITIZEN, 0, 1, 1, 0, 0, 1821.226, 239.487, 60.64784, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0),
(@GUID+37, @ROLCITIZEN, 0, 1, 1, 0, 0, 1837.954, 238.254, 60.51441, 0, 300, 5, 0, 656, 0, 1, 0, 0, 0);

View File

@@ -0,0 +1,43 @@
-- DB/Quest: Fix: Wooly Justice (12707)
SET @MEDALLION := 52596; -- Spell: Medallion of Mam'toth
SET @MAMMOTH := 28851; -- NPC: Enraged Mammoth
SET @TRAMPLE := 52603; -- Spell: Trample
SET @T_AURA := 52607; -- Spell: Enraged Mammoth: Trample Aura for On Death Kill Credit
SET @DISCIPLE := 28861; -- NPC: Mam'toth Disciple
SET @CREDIT := 28876; -- NPC: Mam'toth Disciple Kill Credit Bunny
-- Add SAI for Enraged Mammoth
UPDATE `creature_template` SET `AIName`='SmartAI',`spell1`=52601,`spell2`=@TRAMPLE WHERE `entry`=@MAMMOTH;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@MAMMOTH AND `source_type`=0;
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(@MAMMOTH,0,0,0,8,0,100,0,@MEDALLION,0,0,0,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Enraged Mammoth - On hit by spell from medallion - Change faction to friendly'),
(@MAMMOTH,0,1,0,1,0,100,0,10000,10000,10000,10000,2,1924,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Enraged Mammoth - On OOC for 10 sec - Change faction to back to normal'),
(@MAMMOTH,0,2,0,1,0,100,0,10000,10000,10000,10000,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Enraged Mammoth - On OOC for 10 sec - DESPAWN');
-- Add SAI for Mam'toth disciple
UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@DISCIPLE;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@DISCIPLE AND `source_type`=0;
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(@DISCIPLE,0,0,0,6,0,100,0,0,0,0,0,33,@CREDIT,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Mam''toth disciple - On death - Give credit to invoker, if Tampered'),
(@DISCIPLE,0,1,0,25,0,100,0,0,0,0,0,28,@T_AURA,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Mam''toth disciple - On reset - Remove aura from trample');
-- Add conditions for spell Medallion of Mam'toth
DELETE FROM `conditions` WHERE `SourceEntry`=@MEDALLION AND `SourceTypeOrReferenceId`=17;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(17,0,@MEDALLION,0,0,31,1,3,@MAMMOTH,0,0,0,'', 'Medallion of Mam''toth can hit only Enraged Mammoths');
-- Add conditions for spell Trample
DELETE FROM `conditions` WHERE `SourceEntry`=@TRAMPLE AND `SourceTypeOrReferenceId`=13;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(13,1,@TRAMPLE,0,0,31,0,3,@DISCIPLE,0,0,0,'', 'Trample effect 1 can hit only hit disciple of Mam''toth'),
(13,2,@TRAMPLE,0,0,31,0,3,@DISCIPLE,0,0,0,'', 'Trample effect 2 can hit only hit disciple of Mam''toth');
-- Add conditions for smart_event 0 of Mam'toth disciple
DELETE FROM `conditions` WHERE `SourceEntry`=@DISCIPLE AND `SourceTypeOrReferenceId`=22;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(22,1,@DISCIPLE,0,0,1,1,@T_AURA,0,0,0,0,'', 'Mam''toth disciple 1st event is valid only, if has Tampered aura credit');
-- Add conditions for spell Trample Aura
DELETE FROM `conditions` WHERE `SourceEntry`=@T_AURA AND `SourceTypeOrReferenceId`=13;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(13,1,@T_AURA,0,0,31,0,3,@DISCIPLE,0,0,0,'', 'TAura effect can hit only Disciple of Mam''toth');

View File

@@ -0,0 +1,8 @@
--
UPDATE `creature_template` SET `AIName`= 'SmartAI',`ScriptName`='' WHERE `entry` =29811;
DELETE FROM `smart_scripts` WHERE `entryorguid` =29811;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(29811,0,0,1,62,0,100,0,9843,0,0,0,15,12864,0,0,0,0,0,7,0,0,0,0,0,0,0,'Frostborn Scout - On Gossip Select - Give Quest Credit'),
(29811,0,1,0,61,0,100,0,0,0,0,0,41,30000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Frostborn Scout - Linked with Previous Event - Despawn'),
(29811,0,2,0,25,0,100,0,0,0,0,0,90,7,0,0,0,0,0,1,0,0,0,0,0,0,0,'Frostborn Scout - On Spawn - Set Bytes 1');

View File

@@ -0,0 +1,2 @@
UPDATE `creature_template` SET `speed_walk`=1, `speed_run`=1 WHERE `entry`=16236; -- Eye Stalk
UPDATE `creature_template` SET `speed_run`=1.14286 WHERE `entry`=28948; -- Malmortis

View File

@@ -0,0 +1,9 @@
--
UPDATE `creature_template` SET `ainame`='SmartAI' WHERE `entry` IN (20813,20815,20816,20814);
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (20813,20815,20816,20814) AND `source_type`=0;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(20813,0,0,0,8,0,100,0,35724,0,0,0,33,20813,0,0,0,0,0,7,0,0,0,0,0,0,0,'Zeth''Gor Quest Credit Marker, Barracks - On Spell Hit (Throw Torch) - Quest Credit'),
(20814,0,0,0,8,0,100,0,35724,0,0,0,33,20814,0,0,0,0,0,7,0,0,0,0,0,0,0,'Zeth''Gor Quest Credit Marker, Stable - On Spell Hit (Throw Torch) - Quest Credit'),
(20815,0,0,0,8,0,100,0,35724,0,0,0,33,20815,0,0,0,0,0,7,0,0,0,0,0,0,0,'Zeth''Gor Quest Credit Marker, East Hovel - On Spell Hit (Throw Torch) - Quest Credit'),
(20816,0,0,0,8,0,100,0,35724,0,0,0,33,20816,0,0,0,0,0,7,0,0,0,0,0,0,0,'Zeth''Gor Quest Credit Marker, West Hovel - On Spell Hit (Throw Torch) - Quest Credit');

View File

@@ -0,0 +1,4 @@
--
UPDATE `creature_template` SET `npcflag`=129 WHERE `entry` = 33238;
UPDATE `creature_template` SET `npcflag`=129 WHERE `entry` = 33239;
UPDATE `creature_template` SET `speed_walk`=1, `speed_run`=1 WHERE `entry`=29613; -- Eye Stalk (1)

View File

@@ -0,0 +1,8 @@
UPDATE `creature_template` SET `npcflag`=16777216 WHERE `entry` IN (35415, 35413, 35419, 35429); -- Demolisher, Catapult, Glaive Thrower & Keep Cannon
DELETE FROM `npc_spellclick_spells` WHERE `npc_entry` IN (35415, 35413, 35419, 35429);
INSERT INTO `npc_spellclick_spells` (`npc_entry`, `spell_id`, `cast_flags`, `user_type`) VALUES
(35415, 66245, 1, 0), -- Demolisher (Ride Vehicle)
(35413, 66245, 1, 0), -- Catapult (Ride Vehicle)
(35419, 68503, 1, 0), -- Glaive Thrower (Ride Vehicle)
(35429, 68458, 1, 0); -- Keep Cannon (Keep Cannon)

View File

@@ -0,0 +1,21 @@
-- 10913 An Improper Burial
DELETE FROM `creature_ai_scripts` WHERE `creature_id` IN(21859,21846,21869);
UPDATE creature_template SET AIName='SmartAI' WHERE entry IN(21859,21846,21869);
DELETE FROM `smart_scripts` WHERE `entryorguid`IN(21859,21846,21869) AND `source_type`=0;
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(21859,0,0,1,8,0,100,1,39189,0,0,0,11,59216,0,0,0,0,0,1,0,0,0,0,0,0,0,'Slain Sha tar Vindicator - On Spellhit (Sha tari Torch) - Cast Burning Corpse'),
(21859,0,1,2,61,0,100,0,0,0,0,0,33,21859,0,0,0,0,0,7,0,0,0,0,0,0,0,'Slain Sha tar Vindicator - Linked with Previous Event - Give Kill Credit'),
(21859,0,2,3,61,0,100,0,0,0,0,0,11,37759,0,0,0,0,0,0,0,0,0,0,0,0,0, 'Slain Sha tar Vindicator - Linked with Previous Event - Cast Bone Wastes - Summon Draenei Guardian Spirit'),
(21859,0,3,0,61,0,100,0,0,0,0,0,41,15000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Slain Sha tar Vindicator - Linked with Previous Event - Despawn after 15 seconds'),
(21846,0,0,1,8,0,100,1,39189,0,0,0,11,59216,0,0,0,0,0,1,0,0,0,0,0,0,0,'Slain Auchenai Warrior - On Spellhit (Sha tari Torch) - Cast Burning Corpse'),
(21846,0,1,2,61,0,100,0,0,0,0,0,33,21846,0,0,0,0,0,7,0,0,0,0,0,0,0,'Slain Auchenai Warrior - Linked with Previous Event - Give Kill Credit'),
(21846,0,2,0,61,0,100,0,0,0,0,0,41,15000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Slain Auchenai Warrior - Linked with Previous Event - Despawn after 15 seconds'),
(21869,0,0,1,11,0,100,0,0,0,0,0,89,5,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0,'Unliving Guardian - Link - Set Rendom Move'),
(21869,0,1,0,61,0,100,0,0,0,0,0,41,300000,0,0,0,0,0,0,0,0,0,0.0,0.0,0.0,0.0,'Unliving Guardian - On Spawn - Force Despawn 5 min');
DELETE FROM `creature_template_addon` WHERE `entry`=21869;
INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES
(21869, 0, 0, 0, 4097, 0, '17327');

View File

@@ -0,0 +1,5 @@
--
DELETE FROM `smart_scripts` WHERE `entryorguid`=29445 AND `source_type`=0 AND `id`=1;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(29445, 0, 1, 0, 19, 0, 100, 0, 12924, 0, 0, 0, 85, 56518, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Thorim - On Quest Accept (Forging an Alliance) - Cast Clearquests');

View File

@@ -0,0 +1,8 @@
--
DELETE FROM `smart_scripts` WHERE `entryorguid`=28518 AND `source_type`=0 AND `id` BETWEEN 5 AND 8;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(28518, 0, 5, 0, 19, 0, 100, 0, 12676, 0, 0, 0, 85, 55413, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Stefan Vadu - On quest accept (Sabotage) - Cast Clearquest'),
(28518, 0, 6, 0, 19, 0, 100, 0, 12669, 0, 0, 0, 85, 55411, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Stefan Vadu - On quest accept (So Far, So Bad) - Cast Clearquest'),
(28518, 0, 7, 0, 19, 0, 100, 0, 12677, 0, 0, 0, 85, 55412, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Stefan Vadu - On quest accept (Hazardous Materials) - Cast Clearquest'),
(28518, 0, 8, 0, 19, 0, 100, 0, 12661, 0, 0, 0, 85, 55410, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Stefan Vadu - On quest accept (Infiltrating Voltarus) - Cast Clearquests');

View File

@@ -0,0 +1,9 @@
SET @Mammoth := 28851; -- NPC: Enraged Mammoth
DELETE FROM `smart_scripts` WHERE `entryorguid`=@Mammoth AND `source_type`=0;
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(@Mammoth,0,0,1,8,0,100,0,52596,0,0,0,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'Enraged Mammoth - On Spell Hit(Medallion of Mam''toth) - Change Faction To friendly'),
(@Mammoth,0,1,0,61,0,100,0,0,0,0,0,81,16777216,0,0,0,0,0,1,0,0,0,0,0,0,0,'Enraged Mammoth - Link With Previous Event - Set Flags 16777216'),
(@Mammoth,0,2,3,1,0,100,0,10000,10000,10000,10000,2,1924,0,0,0,0,0,1,0,0,0,0,0,0,0,'Enraged Mammoth - On OOC for 10 sec - Change Faction Back To Normal'),
(@Mammoth,0,3,0,61,0,100,0,0,0,0,0,81,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Enraged Mammoth - Link With Previous Event - Restore flags'),
(@Mammoth,0,4,0,28,0,100,0,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Enraged Mammoth - On Passenger Removed - Despawn');

View File

@@ -0,0 +1,48 @@
--
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=30098;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(13,7,30098,0,0,31,0,3,17253,0,0,0, '', 'Defile Uthers Tomb Targets Defile Uthers Tomb Trigger'),
(13,7,30098,0,1,31,0,5,181653,0,0,0, '', 'Defile Uthers Tomb Targets Temp Uthers Statue');
DELETE FROM `smart_scripts` WHERE `entryorguid` IN(17253,1854) AND `source_type`=0;
UPDATE creature_template SET `InhabitType`=4 WHERE entry IN(17233);
UPDATE creature_template SET AIName='SmartAI' WHERE entry IN(17253,1854);
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=17 AND `SourceEntry` =30098;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(17, 0, 30098, 0, 0, 29, 0, 17233, 40, 0, 1, 0, 0, '', 'Cant cast Defile Uthers Tomb within 40 yards of Ghost of Uther Lightbringer');
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(17253,0,0,0,8,0,100,0,30098,0,60000,60000,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Defile Uthers Tomb Trigger - On Spellhit - Set Phase 2'),
(17253,0,1,2,1,2,100,0,5000,5000,5000,5000,1,4,10000,0,0,0,0,9,17233,0,200,0,0,0,0,'Defile Uthers Tomb Trigger - OOC (Phase 2) - Say Line 4 on Ghost of Uther the Lightbringer'),
(17253,0,2,0,61,2,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Defile Uthers Tomb Trigger - Linked with Previous Event (Phase 2) - Set Phase 1'),
(17253,0,3,0,52,0,100,0,4,17233,0,0,1,5,10000,0,0,0,0,9,17233,0,200,0,0,0,0,'Defile Uthers Tomb Trigger - On Text Over on Ghost of Uther (line 4) - Say Line 5 on Ghost of Uther the Lightbringer'),
(17253,0,4,0,52,0,100,0,5,17233,0,0,1,6,10000,0,0,0,0,9,17233,0,200,0,0,0,0,'Defile Uthers Tomb Trigger - On Text Over on Ghost of Uther (line 5) - Say Line 6 on Ghost of Uther the Lightbringer'),
(17253,0,5,0,52,0,100,0,6,17233,0,0,1,7,10000,0,0,0,0,9,17233,0,200,0,0,0,0,'Defile Uthers Tomb Trigger - On Text Over on Ghost of Uther (line 6) - Say Line 7 on Ghost of Uther the Lightbringer'),
(1854,0,0,0,4,0,100,0,0,0,0,0,1,1,10000,0,0,0,0,1,0,0,0,0,0,0,0,'High Priest Thel danis - On Agro - Say Line 1'),
(1854,0,1,0,16,0,100,0,10951,50,6000,6000,11,10951,0,0,0,0,0,1,0,0,0,0,0,0,0,'High Priest Thel danis - On Missing Inner Fire (Rank 4) - Cast Inner Fire (Rank 4)'),
(1854,0,2,0,2,0,100,0,0,50,15000,15000,11,30155,0,0,0,0,0,1,0,0,0,0,0,0,0,'High Priest Thel danis - On Low HP - Cast Heal'),
(1854,0,3,0,0,0,100,0,0,0,2500,3000,11,15498,0,0,0,0,0,2,0,0,0,0,0,0,0,'High Priest Thel danis - IC - Cast Holy Smite'),
(1854,0,4,0,25,0,100,0,0,0,0,0,11,10591,0,0,0,0,0,1,0,0,0,0,0,0,0,'High Priest Thel danis - On Spawn - Cast Inner Fire (Rank 4)');
-- Event script to spawn Ghost of Uther the Lightbringer in correct place, seems the trigger npc is in exact spot where spawns in video so using the co-ordinates of that
DELETE FROM `event_scripts` WHERE `id`=10561;
INSERT INTO `event_scripts` (`id`, `delay`, `command`, `datalong`, `datalong2`, `dataint`, `x`, `y`, `z`, `o`) VALUES
(10561, 0, 10, 17233, 90000, 0, 972.969971, -1824.719971, 82.540703, 0.2935);
-- Texts groupid 0,1,2,3 are for alliance quest so starting from 4 here
DELETE FROM `creature_text` WHERE `entry`=17233 AND `groupid` BETWEEN 4 AND 7;
DELETE FROM `creature_text` WHERE `entry`=1854 AND `groupid`=1;
INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES
(17233, 4, 0, 'Why do you do this? Did I somehow wrong you in life?', 12, 0, 100, 0, 0, 0, 'Ghost of Uther Lightbringer '),
(17233, 5, 0, 'Ah, I see it now in your mind. This is the work of one of my former students... Mehlar Dawnblade. It is sad to know that his heart has turned so dark.', 12, 0, 100, 0, 0, 0, 'Ghost of Uther Lightbringer'),
(17233, 6, 0, 'Return to him. Return to Mehlor and tell him that I forgive him and that I understand why he believes what he does.', 12, 0, 100, 0, 0, 0, 'Ghost of Uther Lightbringer '),
(17233, 7, 0, 'I can only hope that he will see the Light and instead turn his energies to restoring once-beautiful Quel''Thalas.', 12, 0, 100, 0, 0, 0, 'Ghost of Uther Lightbringer '),
(1854, 1, 0, 'By the Light you will leave this tomb!', 12, 0, 100, 0, 0, 0, 'High Priest Thel danis');

View File

@@ -0,0 +1,2 @@
--
UPDATE `smart_scripts` SET `action_param1`=10951 WHERE `entryorguid`=1854 AND `source_type`=0 AND `id`=4 AND `link`=0;

View File

@@ -0,0 +1,2 @@
ALTER TABLE creature_formations ADD point_1 MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT 0;
ALTER TABLE creature_formations ADD point_2 MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT 0;

View File

@@ -0,0 +1,7 @@
UPDATE `creature_formations` SET `point_1`=18, `point_2`=36 WHERE `memberGUID`=127058;
UPDATE `creature_formations` SET `point_1`=9, `point_2`=17 WHERE `memberGUID` IN (202695,202696);
UPDATE `creature_formations` SET `point_1`=3, `point_2`=6 WHERE `memberGUID`=201735;
UPDATE `creature_formations` SET `point_1`=3, `point_2`=7 WHERE `memberGUID` IN (202680,202682);
UPDATE `creature_formations` SET `point_1`=3, `point_2`=8 WHERE `memberGUID` IN (201764);
UPDATE `creature_formations` SET `point_1`=2, `point_2`=5 WHERE `memberGUID` IN (202805,202806);
UPDATE `creature_formations` SET `point_1`=1, `point_2`=6 WHERE `memberGUID` IN (202803,202804,202681,202684);

View File

@@ -0,0 +1,2 @@
UPDATE `creature_template` SET `speed_walk`=1.0 WHERE `entry` IN (2674,25855,28887);
UPDATE `creature_template` SET `speed_run`=1.14286,`speed_walk`=1.0 WHERE `entry`=28833;

View File

@@ -0,0 +1 @@
UPDATE `smart_scripts` SET `link`=0, `action_type`=11, `action_param1`=43787, `action_param2`=0 WHERE `entryorguid`=24399 AND `id`=5;

View File

@@ -0,0 +1,10 @@
-- Creature text for Wrath-Scryer Soccothrates
SET @ENTRY = 20886;
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
(@ENTRY, 0, 0, 'Have you come to kill Dalliah? Can I watch?', 14, 0, 100, 0, 0, 11237, 'Wrath-Scryer Soccothrates - OCC'),
(@ENTRY, 1, 0, 'At last, a target for my frustrations!', 14, 0, 100, 0, 0, 11238, 'Wrath-Scryer Soccothrates - Aggro'),
(@ENTRY, 2, 0, 'Yes, that was quite satisfying', 14, 0, 100, 0, 0, 11239, 'Wrath-Scryer Soccothrates - Kill'),
(@ENTRY, 3, 0, 'On guard!', 14, 0, 100, 0, 0, 11241, 'Wrath-Scryer Soccothrates - Charge'),
(@ENTRY, 3, 1, 'Defend yourself, for all the good it will do...', 14, 0, 100, 0, 0, 11242, 'Wrath-Scryer Soccothrates - Charge'),
(@ENTRY, 4, 0, 'Knew this was... the only way out', 14, 0, 100, 0, 0, 11243, 'Wrath-Scryer Soccothrates - Death');

View File

@@ -0,0 +1,32 @@
-- Creature text for Dalliah the Doomsayer
SET @ENTRY = 20885;
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
(@ENTRY, 0, 0, 'Don''t worry about me; kill that worthless dullard instead!', 14, 0, 100, 0, 0, 11085, 'Dalliah the Doomsayer - Aggro Soccothrates First'),
(@ENTRY, 1, 0, 'It is unwise to anger me.', 14, 0, 100, 0, 0, 11086, 'Dalliah the Doomsayer - Aggro'),
(@ENTRY, 2, 0, 'Completely ineffective. Just like someone else I know.', 14, 0, 100, 0, 0, 11087, 'Dalliah the Doomsayer - Kill'),
(@ENTRY, 2, 1, 'You chose the wrong opponent.', 14, 0, 100, 0, 0, 11088, 'Dalliah the Doomsayer - Kill'),
(@ENTRY, 3, 0, 'Reap the Whirlwind!', 14, 0, 100, 0, 0, 11089, 'Dalliah the Doomsayer - Cast Whirlwind'),
(@ENTRY, 3, 1, 'I''ll cut you to pieces!', 14, 0, 100, 0, 0, 11090, 'Dalliah the Doomsayer - Cast Whirlwind'),
(@ENTRY, 4, 0, 'Ahh... That is much better.', 14, 0, 100, 0, 0, 11091, 'Dalliah the Doomsayer - Cast Heal'),
(@ENTRY, 4, 1, 'Ahh... Just what I needed.', 14, 0, 100, 0, 0, 11092, 'Dalliah the Doomsayer - Cast Heal'),
(@ENTRY, 5, 0, 'Now I''m really... angry...', 14, 0, 100, 0, 0, 11093, 'Dalliah the Doomsayer - Death'),
(@ENTRY, 6, 0, 'More than you can handle, scryer?', 14, 0, 100, 0, 0, 11094, 'Dalliah the Doomsayer - Soccothrates at 25%'),
(@ENTRY, 6, 1, 'I suppose I''ll end up fighting them all myself.', 14, 0, 100, 0, 0, 11095, 'Dalliah the Doomsayer - Soccothrates at 25%'),
(@ENTRY, 6, 2, 'I''ve grown used to cleaning up your messes.', 14, 0, 100, 0, 0, 11096, 'Dalliah the Doomsayer - Soccothrates at 25%'),
(@ENTRY, 7, 0, 'Congratulations. I''ve wanted to do that for years.', 14, 0, 100, 0, 0, 11097, 'Dalliah the Doomsayer - Soccothratess dies');
-- Creature text for Wrath-Scryer Soccothrates
SET @ENTRY = 20886;
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
(@ENTRY, 0, 0, 'Have you come to kill Dalliah? Can I watch?', 14, 0, 100, 0, 0, 11237, 'Wrath-Scryer Soccothrates - Aggro Dalliah First'),
(@ENTRY, 1, 0, 'At last, a target for my frustrations!', 14, 0, 100, 0, 0, 11238, 'Wrath-Scryer Soccothrates - Aggro'),
(@ENTRY, 2, 0, 'Yes, that was quite satisfying', 14, 0, 100, 0, 0, 11239, 'Wrath-Scryer Soccothrates - Kill'),
(@ENTRY, 3, 0, 'On guard!', 14, 0, 100, 0, 0, 11241, 'Wrath-Scryer Soccothrates - Charge'),
(@ENTRY, 3, 1, 'Defend yourself, for all the good it will do...', 14, 0, 100, 0, 0, 11242, 'Wrath-Scryer Soccothrates - Charge'),
(@ENTRY, 4, 0, 'Knew this was... the only way out', 14, 0, 100, 0, 0, 11243, 'Wrath-Scryer Soccothrates - Death'),
(@ENTRY, 5, 0, 'Having problems, Dalliah? How nice.', 14, 0, 100, 0, 0, 11244, 'Wrath-Scryer Soccothrates - Dalliah at 25%'),
(@ENTRY, 5, 1, 'This may be the end of you Dalliah, what a shame that would be.', 14, 0, 100, 0, 0, 11245, 'Wrath-Scryer Soccothrates - Dalliah at 25%'),
(@ENTRY, 5, 2, 'I suggest a new strategy, you draw the attackers while I gather reinforcements. Hahaha!', 14, 0, 100, 0, 0, 11246, 'Wrath-Scryer Soccothrates - Dalliah at 25%'),
(@ENTRY, 6, 0, 'Finally! Well done!', 14, 0, 100, 0, 0, 11247, 'Wrath-Scryer Soccothrates - Dalliah dies');

View File

@@ -0,0 +1,10 @@
-- Creature text for Mennu the Betrayer
SET @ENTRY = 17941;
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
(@ENTRY, 0, 0, 'The work must continue.', 14, 0, 100, 0, 0, 10376, 'Mennu the Betrayer - Aggro'),
(@ENTRY, 0, 1, 'You brought this on yourselves.', 14, 0, 100, 0, 0, 10378, 'Mennu the Betrayer - Aggro'),
(@ENTRY, 0, 2, 'Don''t make me kill you!', 14, 0, 100, 0, 0, 10379, 'Mennu the Betrayer - Aggro'),
(@ENTRY, 1, 0, 'It had to be done.', 14, 0, 100, 0, 0, 10380, 'Mennu the Betrayer - Kill'),
(@ENTRY, 1, 1, 'You should not have come.', 14, 0, 100, 0, 0, 10381, 'Mennu the Betrayer - Kill'),
(@ENTRY, 2, 0, 'I... Deserve this.', 14, 0, 100, 0, 0, 10382, 'Mennu the Betrayer - Death');

View File

@@ -0,0 +1,10 @@
-- Remove some unused creature_ai_texts
DELETE FROM creature_ai_texts WHERE entry IN (-1,-133,-134,-135,-136,-137,-138,-139,-217,-218,-219,-220,-221,-222,-223,-224,-225,-226,-227,-810,-811,-812,-813,-814,-815);
DELETE FROM creature_ai_texts WHERE entry BETWEEN -876 AND -841;
DELETE FROM creature_ai_texts WHERE entry BETWEEN -643 AND -634;
DELETE FROM creature_ai_texts WHERE entry BETWEEN -763 AND -740;
-- Clean up some EAI errors
UPDATE creature_ai_scripts SET action1_param2 = 0 WHERE action1_type = 1 AND creature_id IN (22992,22993,22994,23163);
-- Remove some EAI already converted to cpp
DELETE FROM creature_ai_scripts WHERE creature_id IN (26529,26530,26532,26533);
UPDATE creature_template SET AIName = '' WHERE entry IN (26529,26530,26532,26533);

View File

@@ -60,7 +60,7 @@ public:
typedef std::map<std::string, Realm> RealmMap;
RealmList();
~RealmList() {}
~RealmList() { }
void Initialize(uint32 updateInterval);

View File

@@ -206,7 +206,7 @@ AuthSocket::AuthSocket(RealmSocket& socket) :
}
// Close patch file descriptor before leaving
AuthSocket::~AuthSocket(void) {}
AuthSocket::~AuthSocket(void) { }
// Accept the connection
void AuthSocket::OnAccept(void)
@@ -1096,9 +1096,7 @@ PatcherRunnable::PatcherRunnable(class AuthSocket* as)
}
// Send content of patch file to the client
void PatcherRunnable::run()
{
}
void PatcherRunnable::run() { }
// Preload MD5 hashes of existing patch files on server
#ifndef _WIN32

View File

@@ -23,7 +23,7 @@
#include "RealmSocket.h"
#include "Log.h"
RealmSocket::Session::Session(void) {}
RealmSocket::Session::Session(void) { }
RealmSocket::Session::~Session(void) { }

View File

@@ -219,6 +219,11 @@ LoginDatabase.WorkerThreads = 1
Appender.Console=1,2,0
Appender.Auth=2,2,0,Auth.log,w
# Logger config values: Given a logger "name"
# Logger.name
# Description: Defines 'What to log'
# Format: LogLevel,AppenderList
#
# LogLevel
# 0 - (Disabled)
# 1 - (Trace)
@@ -231,33 +236,8 @@ Appender.Auth=2,2,0,Auth.log,w
# AppenderList: List of appenders linked to logger
# (Using spaces as separator).
#
# Appenders
# Description: List of Appenders to read from config
# (Using spaces as separator).
# Default: "Console Server"
Appenders=Console Auth
# Logger config values: Given a logger "name"
# Logger.name
# Description: Defines 'What to log'
# Format: Type,LogLevel,AppenderList
# Type
# 0 - Default. Each type that has no config will
# rely on this one. Core will create this logger
# (disabled) if it's not configured
# 7 - Network input/output,
# 30 - Authserver
Logger.Root=0,3,Console Auth
#
# Loggers
# Description: List of Loggers to read from config
# (Using spaces as separator).
# Default: "root"
Loggers=Root
Logger.root=3,Console Auth
#
###################################################################################################

View File

@@ -35,7 +35,7 @@ class BIHWrap
RayCallback& _callback;
uint32 objects_size;
MDLCallback(RayCallback& callback, const T* const* objects_array, uint32 objects_size ) : objects(objects_array), _callback(callback), objects_size(objects_size) {}
MDLCallback(RayCallback& callback, const T* const* objects_array, uint32 objects_size ) : objects(objects_array), _callback(callback), objects_size(objects_size) { }
/// Intersect ray
bool operator() (const G3D::Ray& ray, uint32 idx, float& maxDist, bool /*stopAtFirst*/)
@@ -66,7 +66,7 @@ class BIHWrap
int unbalanced_times;
public:
BIHWrap() : unbalanced_times(0) {}
BIHWrap() : unbalanced_times(0) { }
void insert(const T& obj)
{

View File

@@ -107,9 +107,7 @@ struct DynTreeImpl : public ParentTree/*, public Intersectable*/
int unbalanced_times;
};
DynamicMapTree::DynamicMapTree() : impl(new DynTreeImpl())
{
}
DynamicMapTree::DynamicMapTree() : impl(new DynTreeImpl()) { }
DynamicMapTree::~DynamicMapTree()
{
@@ -150,7 +148,7 @@ struct DynamicTreeIntersectionCallback
{
bool did_hit;
uint32 phase_mask;
DynamicTreeIntersectionCallback(uint32 phasemask) : did_hit(false), phase_mask(phasemask) {}
DynamicTreeIntersectionCallback(uint32 phasemask) : did_hit(false), phase_mask(phasemask) { }
bool operator()(const G3D::Ray& r, const GameObjectModel& obj, float& distance)
{
did_hit = obj.intersectRay(r, distance, true, phase_mask);

View File

@@ -49,9 +49,9 @@ namespace VMAP
bool iEnableHeightCalc;
public:
IVMapManager() : iEnableLineOfSightCalc(true), iEnableHeightCalc(true) {}
IVMapManager() : iEnableLineOfSightCalc(true), iEnableHeightCalc(true) { }
virtual ~IVMapManager(void) {}
virtual ~IVMapManager(void) { }
virtual int loadMap(const char* pBasePath, unsigned int pMapId, int x, int y) = 0;

View File

@@ -33,7 +33,7 @@ namespace MMAP
// dummy struct to hold map's mmap data
struct MMapData
{
MMapData(dtNavMesh* mesh) : navMesh(mesh) {}
MMapData(dtNavMesh* mesh) : navMesh(mesh) { }
~MMapData()
{
for (NavMeshQuerySet::iterator i = navMeshQueries.begin(); i != navMeshQueries.end(); ++i)
@@ -58,7 +58,7 @@ namespace MMAP
class MMapManager
{
public:
MMapManager() : loadedTiles(0) {}
MMapManager() : loadedTiles(0) { }
~MMapManager();
bool loadMap(const std::string& basePath, uint32 mapId, int32 x, int32 y);

View File

@@ -53,7 +53,7 @@ namespace VMAP
class ManagedModel
{
public:
ManagedModel() : iModel(0), iRefCount(0) {}
ManagedModel() : iModel(0), iRefCount(0) { }
void setModel(WorldModel* model) { iModel = model; }
WorldModel* getModel() { return iModel; }
void incRefCount() { ++iRefCount; }

View File

@@ -36,7 +36,7 @@ namespace VMAP
class MapRayCallback
{
public:
MapRayCallback(ModelInstance* val): prims(val), hit(false) {}
MapRayCallback(ModelInstance* val): prims(val), hit(false) { }
bool operator()(const G3D::Ray& ray, uint32 entry, float& distance, bool pStopAtFirstHit=true)
{
bool result = prims[entry].intersectRay(ray, distance, pStopAtFirstHit);
@@ -53,7 +53,7 @@ namespace VMAP
class AreaInfoCallback
{
public:
AreaInfoCallback(ModelInstance* val): prims(val) {}
AreaInfoCallback(ModelInstance* val): prims(val) { }
void operator()(const Vector3& point, uint32 entry)
{
#ifdef VMAP_DEBUG
@@ -69,7 +69,7 @@ namespace VMAP
class LocationInfoCallback
{
public:
LocationInfoCallback(ModelInstance* val, LocationInfo &info): prims(val), locInfo(info), result(false) {}
LocationInfoCallback(ModelInstance* val, LocationInfo &info): prims(val), locInfo(info), result(false) { }
void operator()(const Vector3& point, uint32 entry)
{
#ifdef VMAP_DEBUG

View File

@@ -31,7 +31,7 @@ namespace VMAP
struct LocationInfo
{
LocationInfo(): hitInstance(0), hitModel(0), ground_Z(-G3D::inf()) {}
LocationInfo(): hitInstance(0), hitModel(0), ground_Z(-G3D::inf()) { }
const ModelInstance* hitInstance;
const GroupModel* hitModel;
float ground_Z;
@@ -86,7 +86,7 @@ namespace VMAP
struct AreaInfo
{
AreaInfo(): result(false), ground_Z(-G3D::inf()), flags(0), adtId(0),
rootId(0), groupId(0) {}
rootId(0), groupId(0) { }
bool result;
float ground_Z;
uint32 flags;

View File

@@ -76,7 +76,7 @@ namespace VMAP
class WmoLiquid* liquid;
GroupModel_Raw() : mogpflags(0), GroupWMOID(0), liquidflags(0),
liquid(NULL) {}
liquid(NULL) { }
~GroupModel_Raw();
bool Read(FILE* f);

View File

@@ -37,7 +37,7 @@ using G3D::AABox;
struct GameobjectModelData
{
GameobjectModelData(const std::string& name_, const AABox& box) :
bound(box), name(name_) {}
bound(box), name(name_) { }
AABox bound;
std::string name;

View File

@@ -45,7 +45,7 @@ class GameObjectModel /*, public Intersectable*/
float iScale;
VMAP::WorldModel* iModel;
GameObjectModel() : phasemask(0), iModel(NULL) {}
GameObjectModel() : phasemask(0), iModel(NULL) { }
bool initialize(const GameObject& go, const GameObjectDisplayInfoEntry& info);
public:

View File

@@ -63,7 +63,7 @@ namespace VMAP
class ModelInstance: public ModelSpawn
{
public:
ModelInstance(): iInvScale(0.0f), iModel(0) {}
ModelInstance(): iInvScale(0.0f), iModel(0) { }
ModelInstance(const ModelSpawn &spawn, WorldModel* model);
void setUnloaded() { iModel = 0; }
bool intersectRay(const G3D::Ray& pRay, float& pMaxDist, bool pStopAtFirstHit) const;

View File

@@ -84,7 +84,7 @@ namespace VMAP
class TriBoundFunc
{
public:
TriBoundFunc(std::vector<Vector3> &vert): vertices(vert.begin()) {}
TriBoundFunc(std::vector<Vector3> &vert): vertices(vert.begin()) { }
void operator()(const MeshTriangle &tri, G3D::AABox &out) const
{
G3D::Vector3 lo = vertices[tri.idx0];
@@ -360,7 +360,7 @@ namespace VMAP
struct GModelRayCallback
{
GModelRayCallback(const std::vector<MeshTriangle> &tris, const std::vector<Vector3> &vert):
vertices(vert.begin()), triangles(tris.begin()), hit(false) {}
vertices(vert.begin()), triangles(tris.begin()), hit(false) { }
bool operator()(const G3D::Ray& ray, uint32 entry, float& distance, bool /*pStopAtFirstHit*/)
{
bool result = IntersectTriangle(triangles[entry], vertices, ray, distance);
@@ -420,7 +420,7 @@ namespace VMAP
struct WModelRayCallBack
{
WModelRayCallBack(const std::vector<GroupModel> &mod): models(mod.begin()), hit(false) {}
WModelRayCallBack(const std::vector<GroupModel> &mod): models(mod.begin()), hit(false) { }
bool operator()(const G3D::Ray& ray, uint32 entry, float& distance, bool pStopAtFirstHit)
{
bool result = models[entry].IntersectRay(ray, distance, pStopAtFirstHit);
@@ -446,7 +446,7 @@ namespace VMAP
class WModelAreaCallback {
public:
WModelAreaCallback(const std::vector<GroupModel> &vals, const Vector3 &down):
prims(vals.begin()), hit(vals.end()), minVol(G3D::inf()), zDist(G3D::inf()), zVec(down) {}
prims(vals.begin()), hit(vals.end()), minVol(G3D::inf()), zDist(G3D::inf()), zVec(down) { }
std::vector<GroupModel>::const_iterator prims;
std::vector<GroupModel>::const_iterator hit;
float minVol;

View File

@@ -36,8 +36,8 @@ namespace VMAP
class MeshTriangle
{
public:
MeshTriangle(){}
MeshTriangle(uint32 na, uint32 nb, uint32 nc): idx0(na), idx1(nb), idx2(nc) {}
MeshTriangle(){ }
MeshTriangle(uint32 na, uint32 nb, uint32 nc): idx0(na), idx1(nb), idx2(nc) { }
uint32 idx0;
uint32 idx1;
@@ -59,7 +59,7 @@ namespace VMAP
bool writeToFile(FILE* wf);
static bool readFromFile(FILE* rf, WmoLiquid* &liquid);
private:
WmoLiquid(): iHeight(0), iFlags(0) {}
WmoLiquid(): iHeight(0), iFlags(0) { }
uint32 iTilesX; //!< number of tiles in x direction, each
uint32 iTilesY;
G3D::Vector3 iCorner; //!< the lower corner
@@ -74,10 +74,10 @@ namespace VMAP
class GroupModel
{
public:
GroupModel(): iLiquid(0) {}
GroupModel(): iLiquid(0) { }
GroupModel(const GroupModel &other);
GroupModel(uint32 mogpFlags, uint32 groupWMOID, const G3D::AABox &bound):
iBound(bound), iMogpFlags(mogpFlags), iGroupWMOID(groupWMOID), iLiquid(0) {}
iBound(bound), iMogpFlags(mogpFlags), iGroupWMOID(groupWMOID), iLiquid(0) { }
~GroupModel() { delete iLiquid; }
//! pass mesh data to object and create BIH. Passed vectors get get swapped with old geometry!
@@ -107,7 +107,7 @@ namespace VMAP
class WorldModel
{
public:
WorldModel(): RootWMOID(0) {}
WorldModel(): RootWMOID(0) { }
//! pass group models to WorldModel and create BIH. Passed vector is swapped with old geometry!
void setGroupModels(std::vector<GroupModel> &models);

View File

@@ -272,7 +272,7 @@ void TurretAI::UpdateAI(uint32 /*diff*/)
//VehicleAI
//////////////
VehicleAI::VehicleAI(Creature* c) : CreatureAI(c), m_vehicle(c->GetVehicleKit()), m_IsVehicleInUse(false), m_ConditionsTimer(VEHICLE_CONDITION_CHECK_TIME)
VehicleAI::VehicleAI(Creature* c) : CreatureAI(c), m_IsVehicleInUse(false), m_ConditionsTimer(VEHICLE_CONDITION_CHECK_TIME)
{
LoadConditions();
m_DoDismiss = false;
@@ -291,7 +291,9 @@ void VehicleAI::UpdateAI(uint32 diff)
m_DoDismiss = false;
me->SetVisible(false);
me->DespawnOrUnsummon();
}else m_DismissTimer -= diff;
}
else
m_DismissTimer -= diff;
}
}
@@ -310,6 +312,7 @@ void VehicleAI::OnCharmed(bool apply)
}
else if (apply)
m_DoDismiss = false;//in use again
m_DismissTimer = VEHICLE_DISMISS_TIME;//reset timer
m_IsVehicleInUse = apply;
}
@@ -327,19 +330,22 @@ void VehicleAI::CheckConditions(const uint32 diff)
{
if (!conditions.empty())
{
for (SeatMap::iterator itr = m_vehicle->Seats.begin(); itr != m_vehicle->Seats.end(); ++itr)
if (Unit* passenger = ObjectAccessor::GetUnit(*m_vehicle->GetBase(), itr->second.Passenger.Guid))
{
if (Player* player = passenger->ToPlayer())
if( Vehicle* vehicleKit = me->GetVehicleKit())
for (SeatMap::iterator itr = vehicleKit->Seats.begin(); itr != vehicleKit->Seats.end(); ++itr)
if (Unit* passenger = ObjectAccessor::GetUnit(*me, itr->second.Passenger.Guid))
{
if (!sConditionMgr->IsObjectMeetToConditions(player, me, conditions))
if (Player* player = passenger->ToPlayer())
{
player->ExitVehicle();
return;//check other pessanger in next tick
if (!sConditionMgr->IsObjectMeetToConditions(player, me, conditions))
{
player->ExitVehicle();
return;//check other pessanger in next tick
}
}
}
}
}
m_ConditionsTimer = VEHICLE_CONDITION_CHECK_TIME;
} else m_ConditionsTimer -= diff;
}
else
m_ConditionsTimer -= diff;
}

View File

@@ -28,7 +28,7 @@ class Creature;
class AggressorAI : public CreatureAI
{
public:
explicit AggressorAI(Creature* c) : CreatureAI(c) {}
explicit AggressorAI(Creature* c) : CreatureAI(c) { }
void UpdateAI(uint32);
static int Permissible(const Creature*);
@@ -39,7 +39,7 @@ typedef std::vector<uint32> SpellVct;
class CombatAI : public CreatureAI
{
public:
explicit CombatAI(Creature* c) : CreatureAI(c) {}
explicit CombatAI(Creature* c) : CreatureAI(c) { }
void InitializeAI();
void Reset();
@@ -100,12 +100,11 @@ struct VehicleAI : public CreatureAI
void UpdateAI(uint32 diff);
static int Permissible(const Creature*);
void Reset();
void MoveInLineOfSight(Unit*) {}
void AttackStart(Unit*) {}
void MoveInLineOfSight(Unit*) { }
void AttackStart(Unit*) { }
void OnCharmed(bool apply);
private:
Vehicle* m_vehicle;
bool m_IsVehicleInUse;
void LoadConditions();
void CheckConditions(const uint32 diff);

View File

@@ -18,7 +18,7 @@
#include "GameObjectAI.h"
//GameObjectAI::GameObjectAI(GameObject* g) : go(g) {}
//GameObjectAI::GameObjectAI(GameObject* g) : go(g) { }
int GameObjectAI::Permissible(const GameObject* go)
{
if (go->GetAIName() == "GameObjectAI")
@@ -26,4 +26,4 @@ int GameObjectAI::Permissible(const GameObject* go)
return PERMIT_BASE_NO;
}
NullGameObjectAI::NullGameObjectAI(GameObject* g) : GameObjectAI(g) {}
NullGameObjectAI::NullGameObjectAI(GameObject* g) : GameObjectAI(g) { }

View File

@@ -30,18 +30,18 @@ class GameObjectAI
protected:
GameObject* const go;
public:
explicit GameObjectAI(GameObject* g) : go(g) {}
virtual ~GameObjectAI() {}
explicit GameObjectAI(GameObject* g) : go(g) { }
virtual ~GameObjectAI() { }
virtual void UpdateAI(uint32 /*diff*/) {}
virtual void UpdateAI(uint32 /*diff*/) { }
virtual void InitializeAI() { Reset(); }
virtual void Reset() { }
// Pass parameters between AI
virtual void DoAction(int32 /*param = 0 */) {}
virtual void SetGUID(uint64 /*guid*/, int32 /*id = 0 */) {}
virtual void DoAction(int32 /*param = 0 */) { }
virtual void SetGUID(uint64 /*guid*/, int32 /*id = 0 */) { }
virtual uint64 GetGUID(int32 /*id = 0 */) const { return 0; }
static int Permissible(GameObject const* go);
@@ -52,14 +52,14 @@ class GameObjectAI
virtual bool QuestAccept(Player* /*player*/, Quest const* /*quest*/) { return false; }
virtual bool QuestReward(Player* /*player*/, Quest const* /*quest*/, uint32 /*opt*/) { return false; }
virtual uint32 GetDialogStatus(Player* /*player*/) { return 100; }
virtual void Destroyed(Player* /*player*/, uint32 /*eventId*/) {}
virtual void Destroyed(Player* /*player*/, uint32 /*eventId*/) { }
virtual uint32 GetData(uint32 /*id*/) const { return 0; }
virtual void SetData64(uint32 /*id*/, uint64 /*value*/) {}
virtual void SetData64(uint32 /*id*/, uint64 /*value*/) { }
virtual uint64 GetData64(uint32 /*id*/) const { return 0; }
virtual void SetData(uint32 /*id*/, uint32 /*value*/) {}
virtual void OnGameEvent(bool /*start*/, uint16 /*eventId*/) {}
virtual void OnStateChanged(uint32 /*state*/, Unit* /*unit*/) {}
virtual void EventInform(uint32 /*eventId*/) {}
virtual void SetData(uint32 /*id*/, uint32 /*value*/) { }
virtual void OnGameEvent(bool /*start*/, uint16 /*eventId*/) { }
virtual void OnStateChanged(uint32 /*state*/, Unit* /*unit*/) { }
virtual void EventInform(uint32 /*eventId*/) { }
};
class NullGameObjectAI : public GameObjectAI
@@ -67,7 +67,7 @@ class NullGameObjectAI : public GameObjectAI
public:
explicit NullGameObjectAI(GameObject* g);
void UpdateAI(uint32 /*diff*/) {}
void UpdateAI(uint32 /*diff*/) { }
static int Permissible(GameObject const* /*go*/) { return PERMIT_BASE_IDLE; }
};

View File

@@ -31,9 +31,7 @@ int GuardAI::Permissible(Creature const* creature)
return PERMIT_BASE_NO;
}
GuardAI::GuardAI(Creature* creature) : ScriptedAI(creature)
{
}
GuardAI::GuardAI(Creature* creature) : ScriptedAI(creature) { }
bool GuardAI::CanSeeAlways(WorldObject const* obj)
{

View File

@@ -26,8 +26,8 @@ class PassiveAI : public CreatureAI
public:
explicit PassiveAI(Creature* c);
void MoveInLineOfSight(Unit*) {}
void AttackStart(Unit*) {}
void MoveInLineOfSight(Unit*) { }
void AttackStart(Unit*) { }
void UpdateAI(uint32);
static int Permissible(const Creature*) { return PERMIT_BASE_IDLE; }
@@ -38,10 +38,10 @@ class PossessedAI : public CreatureAI
public:
explicit PossessedAI(Creature* c);
void MoveInLineOfSight(Unit*) {}
void MoveInLineOfSight(Unit*) { }
void AttackStart(Unit* target);
void UpdateAI(uint32);
void EnterEvadeMode() {}
void EnterEvadeMode() { }
void JustDied(Unit*);
void KilledUnit(Unit* victim);
@@ -54,11 +54,11 @@ class NullCreatureAI : public CreatureAI
public:
explicit NullCreatureAI(Creature* c);
void MoveInLineOfSight(Unit*) {}
void AttackStart(Unit*) {}
void UpdateAI(uint32) {}
void EnterEvadeMode() {}
void OnCharmed(bool /*apply*/) {}
void MoveInLineOfSight(Unit*) { }
void AttackStart(Unit*) { }
void UpdateAI(uint32) { }
void EnterEvadeMode() { }
void OnCharmed(bool /*apply*/) { }
static int Permissible(const Creature*) { return PERMIT_BASE_IDLE; }
};
@@ -66,7 +66,7 @@ class NullCreatureAI : public CreatureAI
class CritterAI : public PassiveAI
{
public:
explicit CritterAI(Creature* c) : PassiveAI(c) {}
explicit CritterAI(Creature* c) : PassiveAI(c) { }
void DamageTaken(Unit* done_by, uint32& /*damage*/);
void EnterEvadeMode();
@@ -75,7 +75,7 @@ class CritterAI : public PassiveAI
class TriggerAI : public NullCreatureAI
{
public:
explicit TriggerAI(Creature* c) : NullCreatureAI(c) {}
explicit TriggerAI(Creature* c) : NullCreatureAI(c) { }
void IsSummonedBy(Unit* summoner);
};

View File

@@ -45,9 +45,9 @@ class PetAI : public CreatureAI
// The following aren't used by the PetAI but need to be defined to override
// default CreatureAI functions which interfere with the PetAI
//
void MoveInLineOfSight(Unit* /*who*/) {} // CreatureAI interferes with returning pets
void MoveInLineOfSight_Safe(Unit* /*who*/) {} // CreatureAI interferes with returning pets
void EnterEvadeMode() {} // For fleeing, pets don't use this type of Evade mechanic
void MoveInLineOfSight(Unit* /*who*/) { } // CreatureAI interferes with returning pets
void MoveInLineOfSight_Safe(Unit* /*who*/) { } // CreatureAI interferes with returning pets
void EnterEvadeMode() { } // For fleeing, pets don't use this type of Evade mechanic
private:
bool _isVisible(Unit*) const;

View File

@@ -27,9 +27,9 @@ class ReactorAI : public CreatureAI
{
public:
explicit ReactorAI(Creature* c) : CreatureAI(c) {}
explicit ReactorAI(Creature* c) : CreatureAI(c) { }
void MoveInLineOfSight(Unit*) {}
void MoveInLineOfSight(Unit*) { }
void UpdateAI(uint32 diff);
static int Permissible(const Creature*);

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