From c4efac27f35007f48201e423f844766aca8a5da5 Mon Sep 17 00:00:00 2001 From: Gacko Date: Wed, 27 Mar 2013 19:03:12 +0100 Subject: DB/Spell: Target position for 'Boots of the Bay' (Thanks @kelsarhu) Closes: #9430 --- sql/updates/world/2013_03_27_00_world_spell_target_position.sql | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 sql/updates/world/2013_03_27_00_world_spell_target_position.sql (limited to 'sql') diff --git a/sql/updates/world/2013_03_27_00_world_spell_target_position.sql b/sql/updates/world/2013_03_27_00_world_spell_target_position.sql new file mode 100644 index 00000000000..4991fb35aa8 --- /dev/null +++ b/sql/updates/world/2013_03_27_00_world_spell_target_position.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_target_position` WHERE `id`=71436; +INSERT INTO `spell_target_position`(`id`,`target_position_x`,`target_position_y`,`target_position_z`,`target_orientation`) VALUE +(71436,-14459.48,492.46,15.12,3.21); -- cgit v1.2.3 From 326a0a76d19f68d281e5cc296994fe68ebd07fad Mon Sep 17 00:00:00 2001 From: Aokromes Date: Thu, 28 Mar 2013 04:54:55 +0100 Subject: DB/Quest: Fix Sql --- sql/updates/world/2013_03_20_00_world_guardians_of_the_altar.sql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'sql') diff --git a/sql/updates/world/2013_03_20_00_world_guardians_of_the_altar.sql b/sql/updates/world/2013_03_20_00_world_guardians_of_the_altar.sql index e1cfb8a2ac0..ce15a034185 100644 --- a/sql/updates/world/2013_03_20_00_world_guardians_of_the_altar.sql +++ b/sql/updates/world/2013_03_20_00_world_guardians_of_the_altar.sql @@ -115,6 +115,6 @@ INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x` (@GO_GUID+6,@GO_ELUNE_GEM,1,1,1,5514.49,-4917.57,850.538,2.3911,0,0,0.930417,0.366502,-900,100,1); -- EFFECT1 for 18953 -DELETE FROM `spell_dbc` WHERE `Id`=18954; -INSERT INTO `spell_dbc` (`Id`, `School`, `Category`, `CastUI`, `Dispel`, `Mechanic`, `Attributes`, `AttributesEx`, `AttributesEx2`, `AttributesEx3`, `AttributesEx4`, `Stances`, `StancesNot`, `Targets`, `TargetCreatureType`, `RequiresSpellFocus`, `CasterAuraState`, `TargetAuraState`, `CastingTimeIndex`, `RecoveryTime`, `CategoryRecoveryTime`, `InterruptFlags`, `AuraInterruptFlags`, `ChannelInterruptFlags`, `ProcFlags`, `ProcChance`, `ProcCharges`, `MaxLevel`, `BaseLevel`, `SpellLevel`, `DurationIndex`, `PowerType`, `PowerCost`, `PowerCostPerLevel`, `PowerCostPerSecond`, `PowerCostPerSecondPerLevel`, `RangeIndex`, `Speed`, `ModelNextSpell`, `StackAmount`, `Totem1`, `Totem2`, `Reagent1`, `Reagent2`, `Reagent3`, `Reagent4`, `Reagent5`, `Reagent6`, `Reagent7`, `Reagent8`, `ReagentCount1`, `ReagentCount2`, `ReagentCount3`, `ReagentCount4`, `ReagentCount5`, `ReagentCount6`, `ReagentCount7`, `ReagentCount8`, `EquippedItemClass`, `EquippedItemSubClassMask`, `EquippedItemInventoryTypeMask`, `Effect1`, `Effect2`, `Effect3`, `EffectDieSides1`, `EffectDieSides2`, `EffectDieSides3`, `EffectBaseDice1`, `EffectBaseDice2`, `EffectBaseDice3`, `EffectDicePerLevel1`, `EffectDicePerLevel2`, `EffectDicePerLevel3`, `EffectRealPointsPerLevel1`, `EffectRealPointsPerLevel2`, `EffectRealPointsPerLevel3`, `EffectBasePoints1`, `EffectBasePoints2`, `EffectBasePoints3`, `EffectMechanic1`, `EffectMechanic2`, `EffectMechanic3`, `EffectImplicitTargetA1`, `EffectImplicitTargetA2`, `EffectImplicitTargetA3`, `EffectImplicitTargetB1`, `EffectImplicitTargetB2`, `EffectImplicitTargetB3`, `EffectRadiusIndex1`, `EffectRadiusIndex2`, `EffectRadiusIndex3`, `EffectApplyAuraName1`, `EffectApplyAuraName2`, `EffectApplyAuraName3`, `EffectAmplitude1`, `EffectAmplitude2`, `EffectAmplitude3`, `EffectMultipleValue1`, `EffectMultipleValue2`, `EffectMultipleValue3`, `EffectChainTarget1`, `EffectChainTarget2`, `EffectChainTarget3`, `EffectItemType1`, `EffectItemType2`, `EffectItemType3`, `EffectMiscValue1`, `EffectMiscValue2`, `EffectMiscValue3`, `EffectTriggerSpell1`, `EffectTriggerSpell2`, `EffectTriggerSpell3`, `EffectPointsPerComboPoint1`, `EffectPointsPerComboPoint2`, `EffectPointsPerComboPoint3`, `SpellVisual`, `SpellVisual2`, `SpellIconID`, `ActiveIconID`, `SpellPriority`, `SpellName`, `Rank`, `Description`, `ToolTip`, `ManaCostPercentage`, `StartRecoveryCategory`, `StartRecoveryTime`, `MaxTargetLevel`, `SpellFamilyName`, `SpellFamilyFlags1`, `SpellFamilyFlags2`, `MaxAffectedTargets`, `DmgClass`, `PreventionType`, `StanceBarOrder`, `DmgMultiplier1`, `DmgMultiplier2`, `DmgMultiplier3`, `MinFactionId`, `MinReputation`, `RequiredAuraVision`) VALUES -(18954, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 'Ranshalla Despawn', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0); +DELETE FROM `spell_dbc` WHERE `id`=18954; +INSERT INTO `spell_dbc` (`id`, `Attributes`, `CastingTimeIndex`, `ProcChance`, `RangeIndex`, `EquippedItemClass`, `Effect1`, `EffectImplicitTargetA1`, `DmgMultiplier1`, `Comment`) VALUES +(18954, 256, 1, 101, 1, -1, 3, 1, 1, 'Ranshalla Despawn'); -- cgit v1.2.3 From 1ae84726b08f8a744c3c823fb767cb111ee65767 Mon Sep 17 00:00:00 2001 From: Kinzcool Date: Thu, 28 Mar 2013 21:11:20 -0400 Subject: DB/Misc: When you select Lothos's gossip, it should teleport you with a spell (like every teleportation). --- sql/updates/world/2013_03_28_00_world_misc.sql | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 sql/updates/world/2013_03_28_00_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2013_03_28_00_world_misc.sql b/sql/updates/world/2013_03_28_00_world_misc.sql new file mode 100644 index 00000000000..78e420872ba --- /dev/null +++ b/sql/updates/world/2013_03_28_00_world_misc.sql @@ -0,0 +1,12 @@ +SET @GOSSIP := 5750; +SET @LOTHOS := 14387; + +UPDATE `gossip_menu_option` SET `option_id`=1, `npc_option_npcflag`=1 WHERE `menu_id`=@GOSSIP; -- 4.3.4 (they are 0) + +DELETE FROM `smart_scripts` WHERE `entryorguid`=@LOTHOS 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 +(@LOTHOS, 0, 0, 0, 62, 0, 100, 0, @GOSSIP, 0, 0, 0, 11, 25139, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Lothos Riftwaker - On Gossip select - Teleport player'); + +DELETE FROM `spell_target_position` WHERE `id`=25139; +INSERT INTO `spell_target_position` (`id`, `target_map`, `target_position_x`, `target_position_y`, `target_position_z`, `target_orientation`) VALUES +(25139, 409, 1080, -483, -108, 1); -- Teleport to Molten Core DND -- cgit v1.2.3 From f0705d7169fccf12a748bd7bd6d0e8b9a49b32d7 Mon Sep 17 00:00:00 2001 From: Pitcrawler Date: Fri, 29 Mar 2013 16:25:30 +0100 Subject: DB/Quests: Fix Rampage, closes #8921 There are some spell issues regarding the chain spells. As these are only visual I push this anyway. --- sql/updates/world/2013_03_29_00_world_misc.sql | 240 +++++++++++++++++++++++++ 1 file changed, 240 insertions(+) create mode 100644 sql/updates/world/2013_03_29_00_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2013_03_29_00_world_misc.sql b/sql/updates/world/2013_03_29_00_world_misc.sql new file mode 100644 index 00000000000..1a7e88b3d59 --- /dev/null +++ b/sql/updates/world/2013_03_29_00_world_misc.sql @@ -0,0 +1,240 @@ +SET @GUID := 61994; + +SET @NPC_ELM_BUNNY := 23837; +SET @NPC_ELM_BUNNY_LARGE := 24110; +SET @NPC_ELM_BUNNY_LARGE_001 := 26298; +SET @NPC_AKALI := 28952; +SET @NPC_AKALI_SUBDUER := 28988; +SET @NPC_AKALI_PROPHET := 28996; + +DELETE FROM `creature_text` WHERE `entry` IN (@NPC_AKALI,@NPC_AKALI_PROPHET); +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(@NPC_AKALI,0,0,'I''M FREE, LITTLE DRAKKARI. TIME TO PAY FOR YOUR MANY TRESSPASSES!',14,0,100,33,0,771,'Akali'), +(@NPC_AKALI_PROPHET,0,0,'ENOUGH!',14,0,100,15,0,0,'Prophet of Akali'), +(@NPC_AKALI_PROPHET,1,0,'And now, Akali, my master will have your blood and I will take some of your power as well!',14,0,100,397,0,0,'Prophet of Akali'), +(@NPC_AKALI_PROPHET,2,0,'It is done. Run back to your masters. Run back to Har''koa. Tell her that I am coming!',14,0,100,14,0,0,'Prophet of Akali'); + +UPDATE `creature_model_info` SET `bounding_radius`=1.041666, `combat_reach`=4.5 WHERE `modelid`=25839; + +UPDATE `creature_template` SET `rank`=1, `unit_flags`=33536, `dmg_multiplier`=10 WHERE `entry`=@NPC_AKALI; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@NPC_ELM_BUNNY_LARGE,@NPC_AKALI,@NPC_AKALI_SUBDUER); +UPDATE `creature_template` SET `inhabitType`=4 WHERE `entry` IN (@NPC_ELM_BUNNY_LARGE,@NPC_ELM_BUNNY_LARGE_001); +UPDATE `creature_template` SET `faction_A`=2069, `faction_H`=2069, `unit_flags`=33536, `AIName`='SmartAI' WHERE `entry`=@NPC_AKALI_PROPHET; + +UPDATE `creature` SET `spawndist`=0, `MovementType`=0 WHERE `guid` IN (100333,100334,100335,100336); +UPDATE `creature` SET `modelid`=21999 WHERE `id`=@NPC_ELM_BUNNY_LARGE_001; +DELETE FROM `creature` WHERE `guid` IN (@GUID+0,@GUID+1,@GUID+2); +INSERT INTO `creature` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`modelid`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`MovementType`) VALUES +(@GUID+0,@NPC_ELM_BUNNY_LARGE_001,571,1,1,0,6863.839,-4503.26,443.1838,3.926991,300,0,0), +(@GUID+1,@NPC_ELM_BUNNY_LARGE_001,571,1,1,0,6862.341,-4549.724,443.0588,2.286381,300,0,0), +(@GUID+2,@NPC_ELM_BUNNY,571,1,1,11686,6829.338,-4525.157,442.068,3.420845,300,0,0); + +DELETE FROM `creature_addon` WHERE `guid` IN (100333,100334,100335,100336); +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(100333,0,0,0,1,0,'52855'), +(100334,0,0,0,1,0,'52855'), +(100335,0,0,0,1,0,'52855'), +(100336,0,0,0,1,0,'52855'); + +DELETE FROM `creature_summon_groups` WHERE `summonerId`=@NPC_AKALI; +INSERT INTO `creature_summon_groups` (`summonerId`,`summonerType`,`groupId`,`entry`,`position_x`,`position_y`,`position_z`,`orientation`,`summonType`,`summonTime`) VALUES +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6810.893,-4592.669,440.6777,1.299272,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6806.189,-4595.943,440.6777,1.250024,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6822.087,-4599.02,440.6777,1.469111,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6797.534,-4594.82,440.685,1.137566,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6827.478,-4601.454,440.6777,1.543024,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6817.193,-4601.688,440.6777,1.409492,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6834.823,-4602.401,440.6777,1.638796,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6805.295,-4601.961,440.6777,1.263096,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6765.525,-4543.851,440.6777,0.2786701,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6764.082,-4549.868,440.6777,0.3558455,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6765.489,-4564.422,440.6777,0.5454721,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6763.994,-4537.706,440.6782,0.1836674,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6826.999,-4607.5,440.6777,1.539239,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6763.607,-4558.375,440.6785,0.4619856,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6796.735,-4602.545,441.0136,1.167641,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6832.644,-4607.751,440.6777,1.607957,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6810.649,-4609.51,440.6977,1.349023,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6821.64,-4610.604,440.6777,1.477666,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6759.292,-4545.87,440.828,0.2817687,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6758.293,-4555.154,440.7154,0.393915,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6758.89,-4536.409,441.8029,0.152804,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6759.161,-4564.057,440.7889,0.5006734,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6800.313,-4611.478,442.0841,1.242545,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6755.442,-4540.723,441.9008,0.2022173,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6756.493,-4531.063,443.5255,0.07566226,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6754.277,-4551.221,440.8657,0.3288565,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6815.617,-4616.651,440.7146,1.418685,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6753.755,-4559.585,441.2291,0.4221908,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6750.038,-4544.226,441.7151,0.2309312,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6748.174,-4550.871,441.9503,0.301857,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6901.166,-4516.716,440.6777,3.263991,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6904.161,-4525.245,440.6777,3.145305,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6843.423,-4464.692,440.6777,4.488739,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6894.436,-4500.116,440.6777,3.514982,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6908.481,-4530.965,440.6777,3.0727,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6851.518,-4464.19,440.6777,4.368972,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6903.379,-4508.444,440.6777,3.369018,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6862.596,-4466.07,440.6777,4.205543,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6907.354,-4513.603,440.6777,3.293668,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6847.208,-4459.859,440.6799,4.450202,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6901.388,-4500.221,440.6777,3.480376,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6910.758,-4518.518,440.6777,3.22766,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6877.528,-4472.05,440.6777,3.981474,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6906.053,-4501.915,440.6777,3.441033,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6855.152,-4457.84,440.2045,4.351227,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6903.093,-4495.178,440.6777,3.533091,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6871.4,-4463.921,440.6777,4.11605,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6911.422,-4507.554,440.6777,3.357718,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6916.012,-4518.927,440.6807,3.217745,3,100000), +(@NPC_AKALI,0,1,@NPC_AKALI_SUBDUER,6864.756,-4459.202,440.6777,4.224802,3,100000); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (52816,52833,52834,52837,52838,52844,52867,52884); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,1,52816,0,0,31,0,3,@NPC_ELM_BUNNY_LARGE,0,0,0,'','Spell Akali Chain Anchor On Disturb targets ELM General Purpose Bunny Large'), +(13,1,52816,0,1,31,0,3,@NPC_ELM_BUNNY_LARGE_001,0,0,0,'','Spell Akali Chain Anchor On Disturb targets ELM General Purpose Bunny Large'), +(13,1,52833,0,0,31,0,3,@NPC_AKALI,0,0,0,'','Spell Akali''s Chains - Left Front Paw targets Akali'), +(13,1,52834,0,0,31,0,3,@NPC_AKALI,0,0,0,'','Spell Akali''s Chains - Right Front Paw targets Akali'), +(13,1,52837,0,0,31,0,3,@NPC_ELM_BUNNY_LARGE_001,0,0,0,'','Spell Akali''s Chains - Right Rear Paw targets ELM General Purpose Bunny Large'), +(13,1,52837,0,0,35,0,1,5,3,0,0,'','Spell Akali''s Chains - Right Rear Paw target distance must be 5y or more'), +(13,1,52838,0,0,31,0,3,@NPC_ELM_BUNNY_LARGE_001,0,0,0,'','Spell Akali''s Chains - Left Rear Paw targets ELM General Purpose Bunny Large'), +(13,1,52838,0,0,35,0,1,5,3,0,0,'','Spell Akali''s Chains - Left Rear Paw target distance must be 5y or more'), +(13,1,52844,0,0,31,0,3,@NPC_AKALI,0,0,0,'','Spell Akali''s Chains - Rear Paw Invisible Stun Channel targets Akali'), +(13,1,52867,0,0,31,0,3,@NPC_AKALI_SUBDUER,0,0,0,'','Spell Knockback targets Akali Subduer'), +(13,1,52884,0,0,31,0,3,@NPC_AKALI,0,0,0,'','Spell Drain Power targets Akali'); + +DELETE FROM `spell_linked_spell` WHERE `spell_trigger`=52860; +INSERT INTO `spell_linked_spell` (`spell_trigger`,`spell_effect`,`type`,`comment`) VALUES +(52860,45254,1,'On spellhit Rampage: Drain Power Effect - Spellcast Suicide'); + +DELETE FROM `spell_dbc` WHERE `Id`=52867; +INSERT INTO `spell_dbc` (`Id`,`Dispel`,`Mechanic`,`Attributes`,`AttributesEx`,`AttributesEx2`,`AttributesEx3`,`AttributesEx4`,`AttributesEx5`,`AttributesEx6`,`AttributesEx7`,`Stances`,`StancesNot`,`Targets`,`CastingTimeIndex`,`AuraInterruptFlags`,`ProcFlags`,`ProcChance`,`ProcCharges`,`MaxLevel`,`BaseLevel`,`SpellLevel`,`DurationIndex`,`RangeIndex`,`StackAmount`,`EquippedItemClass`,`EquippedItemSubClassMask`,`EquippedItemInventoryTypeMask`,`Effect1`,`Effect2`,`Effect3`,`EffectDieSides1`,`EffectDieSides2`,`EffectDieSides3`,`EffectRealPointsPerLevel1`,`EffectRealPointsPerLevel2`,`EffectRealPointsPerLevel3`,`EffectBasePoints1`,`EffectBasePoints2`,`EffectBasePoints3`,`EffectMechanic1`,`EffectMechanic2`,`EffectMechanic3`,`EffectImplicitTargetA1`,`EffectImplicitTargetA2`,`EffectImplicitTargetA3`,`EffectImplicitTargetB1`,`EffectImplicitTargetB2`,`EffectImplicitTargetB3`,`EffectRadiusIndex1`,`EffectRadiusIndex2`,`EffectRadiusIndex3`,`EffectApplyAuraName1`,`EffectApplyAuraName2`,`EffectApplyAuraName3`,`EffectAmplitude1`,`EffectAmplitude2`,`EffectAmplitude3`,`EffectMultipleValue1`,`EffectMultipleValue2`,`EffectMultipleValue3`,`EffectMiscValue1`,`EffectMiscValue2`,`EffectMiscValue3`,`EffectMiscValueB1`,`EffectMiscValueB2`,`EffectMiscValueB3`,`EffectTriggerSpell1`,`EffectTriggerSpell2`,`EffectTriggerSpell3`,`EffectSpellClassMaskA1`,`EffectSpellClassMaskA2`,`EffectSpellClassMaskA3`,`EffectSpellClassMaskB1`,`EffectSpellClassMaskB2`,`EffectSpellClassMaskB3`,`EffectSpellClassMaskC1`,`EffectSpellClassMaskC2`,`EffectSpellClassMaskC3`,`MaxTargetLevel`,`SpellFamilyName`,`SpellFamilyFlags1`,`SpellFamilyFlags2`,`SpellFamilyFlags3`,`MaxAffectedTargets`,`DmgClass`,`PreventionType`,`AreaGroupId`,`SchoolMask`,`Comment`) VALUES +(52867,0,0,538968320,525448,67108868,64,2177,0,512,0,0,0,0,1,0,0,101,0,0,0,0,0,1,0,-1,0,0,98,0,0,1,0,0,0,0,0,199,0,0,0,0,0,22,0,0,7,0,0,10,0,0,0,0,0,0,0,0,0,0,0,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,'Knockback'); + +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=28575; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (-100333,-100334,-100335,-100336,-113548,-113549,-113550,-113551,-(@GUID+0),-(@GUID+1),-(@GUID+2),@NPC_AKALI,@NPC_AKALI_SUBDUER,@NPC_AKALI_PROPHET) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@NPC_AKALI*100+0,@NPC_AKALI*100+1,@NPC_AKALI_SUBDUER*100,@NPC_AKALI_PROPHET*100+0,@NPC_AKALI_PROPHET*100+1) 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 +(-100333,0,0,1,8,0,100,0,52816,0,0,0,45,0,1,0,0,0,0,10,@GUID+2,@NPC_ELM_BUNNY,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit Chain Anchor On Disturb - Set data 0 1 ELM General Purpose Bunny'), +(-100333,0,1,0,61,0,100,0,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit Chain Anchor On Disturb - Despawn'), +(-100334,0,0,1,8,0,100,0,52816,0,0,0,45,0,1,0,0,0,0,10,@GUID+2,@NPC_ELM_BUNNY,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit Chain Anchor On Disturb - Set data 0 1 ELM General Purpose Bunny'), +(-100334,0,1,0,61,0,100,0,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit Chain Anchor On Disturb - Despawn'), +(-100335,0,0,1,8,0,100,0,52816,0,0,0,45,0,1,0,0,0,0,10,@GUID+2,@NPC_ELM_BUNNY,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit Chain Anchor On Disturb - Set data 0 1 ELM General Purpose Bunny'), +(-100335,0,1,0,61,0,100,0,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit Chain Anchor On Disturb - Despawn'), +(-100336,0,0,1,8,0,100,0,52816,0,0,0,45,0,1,0,0,0,0,10,@GUID+2,@NPC_ELM_BUNNY,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit Chain Anchor On Disturb - Set data 0 1 ELM General Purpose Bunny'), +(-100336,0,1,0,61,0,100,0,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit Chain Anchor On Disturb - Despawn'), + +(-113548,0,0,0,38,0,100,0,0,1,0,0,11,52833,0,0,0,0,0,10,98159,@NPC_AKALI,0,0,0,0,0, 'ELM General Purpose Bunny - On data 0 1 set - Spellcast Akali''s Chains - Left Front Paw'), +(-113548,0,1,0,8,0,100,0,52816,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit Chain Anchor On Disturb - Despawn'), +(-113549,0,0,0,38,0,100,0,0,1,0,0,11,52834,0,0,0,0,0,10,98159,@NPC_AKALI,0,0,0,0,0, 'ELM General Purpose Bunny - On data 0 1 set - Spellcast Akali''s Chains - Right Front Paw'), +(-113549,0,1,0,8,0,100,0,52816,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit Chain Anchor On Disturb - Despawn'), +(-113550,0,0,0,38,0,100,0,0,1,0,0,11,52844,0,0,0,0,0,10,98159,@NPC_AKALI,0,0,0,0,0, 'ELM General Purpose Bunny - On data 0 1 set - Spellcast Rear Paw Invisible Stun Channel'), +(-113550,0,1,0,8,0,100,0,52816,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit Chain Anchor On Disturb - Despawn'), +(-113551,0,0,0,38,0,100,0,0,1,0,0,11,52844,0,0,0,0,0,10,98159,@NPC_AKALI,0,0,0,0,0, 'ELM General Purpose Bunny - On data 0 1 set - Spellcast Rear Paw Invisible Stun Channel'), +(-113551,0,1,0,8,0,100,0,52816,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit Chain Anchor On Disturb - Despawn'), +(-(@GUID+0),0,0,0,38,0,100,0,0,1,0,0,11,52837,0,0,0,0,0,10,113478,@NPC_ELM_BUNNY_LARGE_001,0,0,0,0,0, 'ELM General Purpose Bunny - On data 0 1 set - Spellcast Akali''s Chains - Right Rear Paw'), +(-(@GUID+0),0,1,0,8,0,100,0,52816,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit Chain Anchor On Disturb - Despawn'), +(-(@GUID+1),0,0,0,38,0,100,0,0,1,0,0,11,52838,0,0,0,0,0,10,113479,@NPC_ELM_BUNNY_LARGE_001,0,0,0,0,0, 'ELM General Purpose Bunny - On data 0 1 set - Spellcast Akali''s Chains - Left Rear Paw'), +(-(@GUID+1),0,1,0,8,0,100,0,52816,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit Chain Anchor On Disturb - Despawn'), + +(-(@GUID+2),0,0,1,1,8,100,0,0,0,500,500,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny - On update OOC (phase 4) - Set event phase 0'), +(-(@GUID+2),0,1,0,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,19,@NPC_AKALI,30,0,0,0,0,0, 'ELM General Purpose Bunny - On update OOC (phase 4) - Set data 0 1 Akali'), +(-(@GUID+2),0,2,0,38,0,100,0,0,1,0,0,23,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny - On data 0 1 set - Increment event phase'), + +(@NPC_AKALI,0,0,0,38,0,100,0,0,1,0,0,80,@NPC_AKALI*100+0,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali - On data 0 1 set - Run script 0'), +(@NPC_AKALI,0,1,2,8,0,100,0,52859,0,0,0,102,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali - On spellhit Submission - Stop regen health'), +(@NPC_AKALI,0,2,3,61,0,100,0,0,0,0,0,18,512,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali - On spellhit Submission - Set unit_flags IMMUNE_TO_NPC'), +(@NPC_AKALI,0,3,0,61,0,100,0,0,0,0,0,69,1,0,0,0,0,0,8,0,0,0,6829.587,-4525.521,442.068,0, 'Akali - On spellhit Submission - Move to position'), +(@NPC_AKALI,0,4,0,34,0,100,0,0,1,0,0,80,@NPC_AKALI*100+1,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali - On movement inform - Run script 1'), +(@NPC_AKALI,0,5,0,9,0,100,0,0,80,10000,10000,11,52856,0,0,0,0,0,6,0,0,0,0,0,0,0, 'Akali - On target range 10-80y - Spellcast Charge'), +(@NPC_AKALI,0,6,7,11,0,100,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali - On spawn - Set faction default'), +(@NPC_AKALI,0,7,8,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,113548,@NPC_ELM_BUNNY_LARGE_001,0,0,0,0,0, 'Akali - On spawn - Set data 0 1 ELM General Purpose Bunny'), +(@NPC_AKALI,0,8,9,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,113549,@NPC_ELM_BUNNY_LARGE_001,0,0,0,0,0, 'Akali - On spawn - Set data 0 1 ELM General Purpose Bunny'), +(@NPC_AKALI,0,9,10,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,113550,@NPC_ELM_BUNNY_LARGE_001,0,0,0,0,0, 'Akali - On spawn - Set data 0 1 ELM General Purpose Bunny'), +(@NPC_AKALI,0,10,11,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,113551,@NPC_ELM_BUNNY_LARGE_001,0,0,0,0,0, 'Akali - On spawn - Set data 0 1 ELM General Purpose Bunny'), +(@NPC_AKALI,0,11,12,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,@GUID+0,@NPC_ELM_BUNNY_LARGE_001,0,0,0,0,0, 'Akali - On spawn - Set data 0 1 ELM General Purpose Bunny'), +(@NPC_AKALI,0,12,13,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,@GUID+1,@NPC_ELM_BUNNY_LARGE_001,0,0,0,0,0, 'Akali - On spawn - Set data 0 1 ELM General Purpose Bunny'), +(@NPC_AKALI,0,13,14,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,101661,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script - On spawn - Set data 0 1 Akali Subduer'), +(@NPC_AKALI,0,14,15,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,101662,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script - On spawn - Set data 0 1 Akali Subduer'), +(@NPC_AKALI,0,15,16,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,101663,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script - On spawn - Set data 0 1 Akali Subduer'), +(@NPC_AKALI,0,16,17,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,101665,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script - On spawn - Set data 0 1 Akali Subduer'), +(@NPC_AKALI,0,17,18,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,101666,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script - On spawn - Set data 0 1 Akali Subduer'), +(@NPC_AKALI,0,18,19,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,101667,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script - On spawn - Set data 0 1 Akali Subduer'), +(@NPC_AKALI,0,19,20,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,101668,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script - On spawn - Set data 0 1 Akali Subduer'), +(@NPC_AKALI,0,20,21,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,101669,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script - On spawn - Set data 0 1 Akali Subduer'), +(@NPC_AKALI,0,21,22,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,203572,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script - On spawn - Set data 0 1 Akali Subduer'), +(@NPC_AKALI,0,22,23,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,203573,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script - On spawn - Set data 0 1 Akali Subduer'), +(@NPC_AKALI,0,23,24,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,203574,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script - On spawn - Set data 0 1 Akali Subduer'), +(@NPC_AKALI,0,24,25,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,203575,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script - On spawn - Set data 0 1 Akali Subduer'), +(@NPC_AKALI,0,25,26,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,203576,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script - On spawn - Set data 0 1 Akali Subduer'), +(@NPC_AKALI,0,26,0,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,203577,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script - On spawn - Set data 0 1 Akali Subduer'), + +(@NPC_AKALI_SUBDUER,0,0,0,2,0,100,0,0,50,90000,90000,11,57843,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali Subduer - On health below 50% - Spellcast Mojo Empowered Fire Ward'), +(@NPC_AKALI_SUBDUER,0,1,0,9,0,100,0,25,35,4000,7000,11,9053,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Akali Subduer - On target range 0-35y - Spellcast Fireball'), +(@NPC_AKALI_SUBDUER,0,2,0,9,0,100,0,0,25,3000,5000,11,20801,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Akali Subduer - On target range 0-35y - Spellcast Firebolt'), +(@NPC_AKALI_SUBDUER,0,3,4,54,0,100,0,0,0,0,0,2,2102,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali Subduer - Just summoned - Set faction'), +(@NPC_AKALI_SUBDUER,0,4,5,61,0,100,0,0,0,0,0,18,256,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali Subduer - Just summoned - Set unit_flags IMMUNE_TO_PC'), +(@NPC_AKALI_SUBDUER,0,5,6,61,0,100,0,0,0,0,0,59,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali Subduer - Just summoned - Set run'), +(@NPC_AKALI_SUBDUER,0,6,0,61,0,100,0,0,0,0,0,46,60,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali Subduer - Just summoned - Move forward'), +(@NPC_AKALI_SUBDUER,0,7,8,31,0,100,0,52859,0,0,0,101,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali Subduer - On target spellhit Submission - Set homeposition'), +(@NPC_AKALI_SUBDUER,0,8,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali Subduer - On target spellhit Submission - Evade'), +(@NPC_AKALI_SUBDUER,0,9,10,38,0,100,0,0,3,0,0,92,0,0,1,0,0,0,1,0,0,0,0,0,0,0, 'Akali Subduer - On data 0 3 set - Interrupt spellcast'), +(@NPC_AKALI_SUBDUER,0,10,0,61,0,100,0,0,0,0,0,20,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali Subduer - On data 0 3 set - Stop combat'), +(@NPC_AKALI_SUBDUER,0,11,0,38,0,100,0,0,1,0,0,11,45579,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali Subduer - On data 0 1 set - Spellcast Fire Channeling'), +(@NPC_AKALI_SUBDUER,0,12,13,38,0,100,0,0,2,0,0,2,2102,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali Subduer - On data 0 2 set - Set faction'), +(@NPC_AKALI_SUBDUER,0,13,0,61,0,100,0,0,0,0,0,92,0,45579,1,0,0,0,1,0,0,0,0,0,0,0, 'Akali Subduer - On data 0 2 set - Interrupt spellcast'), +(@NPC_AKALI_SUBDUER,0,14,0,38,0,100,0,0,4,0,0,80,@NPC_AKALI_SUBDUER*100,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali Subduer - On data 0 4 set - Run script'), + +(@NPC_AKALI_PROPHET,0,0,1,54,0,100,0,0,0,0,0,11,34427,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Prophet of Akali - Just summoned - Spellcast Ethereal Teleport'), +(@NPC_AKALI_PROPHET,0,1,0,61,0,100,0,0,0,0,0,1,0,2300,0,0,0,0,1,0,0,0,0,0,0,0, 'Prophet of Akali - Just summoned - Say line'), +(@NPC_AKALI_PROPHET,0,2,3,52,0,100,0,0,@NPC_AKALI_PROPHET,0,0,59,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Prophet of Akali - On text over - Set run'), +(@NPC_AKALI_PROPHET,0,3,0,61,0,100,0,0,0,0,0,69,1,0,0,0,0,0,8,0,0,0,6869.146,-4558.086,443.3982,0, 'Prophet of Akali - On text over - Move to position'), +(@NPC_AKALI_PROPHET,0,4,5,34,0,100,0,0,1,0,0,97,30.7787,0,0,0,0,0,1,0,0,0,6856.265,-4543.67,441.9847,0, 'Prophet of Akali - On movement inform - Jump to position'), +(@NPC_AKALI_PROPHET,0,5,0,61,0,100,0,0,0,0,0,80,@NPC_AKALI_PROPHET*100+0,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Prophet of Akali - On WP 1 reached - Run script 0'), +(@NPC_AKALI_PROPHET,0,6,0,38,0,100,0,0,1,0,0,80,@NPC_AKALI_PROPHET*100+1,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Prophet of Akali - On data 0 1 set - Run script 1'), + +(@NPC_AKALI*100,9,0,0,0,0,100,0,2000,2000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali script 0 - Say line'), +(@NPC_AKALI*100,9,1,0,0,0,100,0,0,0,0,0,15,12721,0,0,0,0,0,18,50,0,0,0,0,0,0, 'Akali script 0 - Quest credit'), +(@NPC_AKALI*100,9,2,0,0,0,100,0,0,0,0,0,107,1,0,0,0,0,0,0,0,0,0,0,0,0,0, 'Akali script 0 - Summon creature group'), +(@NPC_AKALI*100,9,3,0,0,0,100,0,0,0,0,0,45,0,2,0,0,0,0,10,101661,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script 0 - Set data 0 2 Akali Subduer'), +(@NPC_AKALI*100,9,4,0,0,0,100,0,0,0,0,0,45,0,2,0,0,0,0,10,101662,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script 0 - Set data 0 2 Akali Subduer'), +(@NPC_AKALI*100,9,5,0,0,0,100,0,0,0,0,0,45,0,2,0,0,0,0,10,101663,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script 0 - Set data 0 2 Akali Subduer'), +(@NPC_AKALI*100,9,6,0,0,0,100,0,0,0,0,0,45,0,2,0,0,0,0,10,101665,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script 0 - Set data 0 2 Akali Subduer'), +(@NPC_AKALI*100,9,7,0,0,0,100,0,0,0,0,0,45,0,2,0,0,0,0,10,101666,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script 0 - Set data 0 2 Akali Subduer'), +(@NPC_AKALI*100,9,8,0,0,0,100,0,0,0,0,0,45,0,2,0,0,0,0,10,101667,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script 0 - Set data 0 2 Akali Subduer'), +(@NPC_AKALI*100,9,9,0,0,0,100,0,0,0,0,0,45,0,2,0,0,0,0,10,101668,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script 0 - Set data 0 2 Akali Subduer'), +(@NPC_AKALI*100,9,10,0,0,0,100,0,0,0,0,0,45,0,2,0,0,0,0,10,101669,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script 0 - Set data 0 2 Akali Subduer'), +(@NPC_AKALI*100,9,11,0,0,0,100,0,0,0,0,0,45,0,2,0,0,0,0,10,203572,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script 0 - Set data 0 2 Akali Subduer'), +(@NPC_AKALI*100,9,12,0,0,0,100,0,0,0,0,0,45,0,2,0,0,0,0,10,203573,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script 0 - Set data 0 2 Akali Subduer'), +(@NPC_AKALI*100,9,13,0,0,0,100,0,0,0,0,0,45,0,2,0,0,0,0,10,203574,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script 0 - Set data 0 2 Akali Subduer'), +(@NPC_AKALI*100,9,14,0,0,0,100,0,0,0,0,0,45,0,2,0,0,0,0,10,203575,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script 0 - Set data 0 2 Akali Subduer'), +(@NPC_AKALI*100,9,15,0,0,0,100,0,0,0,0,0,45,0,2,0,0,0,0,10,203576,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script 0 - Set data 0 2 Akali Subduer'), +(@NPC_AKALI*100,9,16,0,0,0,100,0,0,0,0,0,45,0,2,0,0,0,0,10,203577,@NPC_AKALI_SUBDUER,0,0,0,0,0, 'Akali script 0 - Set data 0 2 Akali Subduer'), +(@NPC_AKALI*100,9,17,0,0,0,100,0,4600,4600,0,0,19,512,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali script - Remove unit_flags IMMUNE_TO_NPC'), +(@NPC_AKALI*100,9,18,0,0,0,100,0,55000,55000,0,0,12,@NPC_AKALI_PROPHET,8,0,0,0,0,8,0,0,0,6882.029,-4571.001,442.3118,2.373648, 'Akali script - Summon Akali Prophet'), + +(@NPC_AKALI*100+1,9,0,0,0,0,100,0,0,0,0,0,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali script 1 - Set faction'), +(@NPC_AKALI*100+1,9,1,0,0,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali script 1 - Evade'), +(@NPC_AKALI*100+1,9,2,0,0,0,100,0,200,200,0,0,66,0,0,0,0,0,0,19,@NPC_AKALI_PROPHET,100,0,0,0,0,0, 'Akali script 1 - Turn to'), +(@NPC_AKALI*100+1,9,3,0,0,0,100,0,0,0,0,0,45,0,1,0,0,0,0,19,@NPC_AKALI_PROPHET,100,0,0,0,0,0, 'Akali script 1 - Set data 0 1 Prophet of Akali'), + +(@NPC_AKALI_SUBDUER*100,9,0,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,19,@NPC_AKALI_PROPHET,100,0,0,0,0,0, 'Akali Subduer script - Turn to'), +(@NPC_AKALI_SUBDUER*100,9,1,0,0,0,100,0,10000,10000,0,0,5,71,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali Subduer script - Play emote'), +(@NPC_AKALI_SUBDUER*100,9,2,0,0,0,100,0,1000,1200,0,0,5,71,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali Subduer script - Play emote'), +(@NPC_AKALI_SUBDUER*100,9,3,0,0,0,100,0,1000,1200,0,0,5,71,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali Subduer script - Play emote'), +(@NPC_AKALI_SUBDUER*100,9,4,0,0,0,100,0,1000,1200,0,0,5,71,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali Subduer script - Play emote'), +(@NPC_AKALI_SUBDUER*100,9,5,0,0,0,100,0,1000,1200,0,0,5,71,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali Subduer script - Play emote'), +(@NPC_AKALI_SUBDUER*100,9,6,0,0,0,100,0,1000,1200,0,0,5,71,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali Subduer script - Play emote'), +(@NPC_AKALI_SUBDUER*100,9,7,0,0,0,100,0,1000,1200,0,0,5,71,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali Subduer script - Play emote'), +(@NPC_AKALI_SUBDUER*100,9,8,0,0,0,100,0,1000,1200,0,0,5,71,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali Subduer script - Play emote'), +(@NPC_AKALI_SUBDUER*100,9,9,0,0,0,100,0,1000,1200,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akali Subduer script - Despawn'), + +(@NPC_AKALI_PROPHET*100+0,9,0,0,0,0,100,0,0,0,0,0,45,0,3,0,0,0,0,9,@NPC_AKALI_SUBDUER,0,100,0,0,0,0, 'Prophet of Akali script - Set data 0 4 Akali Subduer'), +(@NPC_AKALI_PROPHET*100+0,9,1,0,0,0,100,0,1000,1000,0,0,11,52859,0,0,0,0,0,19,@NPC_AKALI,100,0,0,0,0,0, 'Prophet of Akali script - Spellcast Submission'), + +(@NPC_AKALI_PROPHET*100+1,9,0,0,0,0,100,0,2000,2000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Prophet of Akali script - Say line'), +(@NPC_AKALI_PROPHET*100+1,9,1,0,0,0,100,0,4700,4700,0,0,11,52884,0,0,0,0,0,19,@NPC_AKALI,50,0,0,0,0,0, 'Prophet of Akali script - Spellcast Drain Power'), +(@NPC_AKALI_PROPHET*100+1,9,2,0,0,0,100,0,0,0,0,0,45,0,4,0,0,0,0,9,@NPC_AKALI_SUBDUER,0,100,0,0,0,0, 'Prophet of Akali script - Set data 0 3 Akali Subduer'), +(@NPC_AKALI_PROPHET*100+1,9,3,0,0,0,100,0,11600,11600,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Prophet of Akali script - Say line'), +(@NPC_AKALI_PROPHET*100+1,9,4,0,0,0,100,0,3500,3500,0,0,11,34427,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Prophet of Akali script - Spellcast Ethereal Teleport'), +(@NPC_AKALI_PROPHET*100+1,9,5,0,0,0,100,0,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Prophet of Akali script - Despawn'); -- cgit v1.2.3 From b05bf78048a9d74aa616c2d6d3111c70bc4bcb1d Mon Sep 17 00:00:00 2001 From: Pitcrawler Date: Fri, 29 Mar 2013 16:28:07 +0100 Subject: DB/Quests: Implement quest reward event of Rampage --- sql/updates/world/2013_03_29_01_world_misc.sql | 87 ++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 sql/updates/world/2013_03_29_01_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2013_03_29_01_world_misc.sql b/sql/updates/world/2013_03_29_01_world_misc.sql new file mode 100644 index 00000000000..ec9c2763186 --- /dev/null +++ b/sql/updates/world/2013_03_29_01_world_misc.sql @@ -0,0 +1,87 @@ +SET @NPC_ELM_BUNNY := 23837; +SET @NPC_HARKOA := 28401; +SET @NPC_KHUFU := 28479; +SET @NPC_AKILZON := 29021; +SET @NPC_HALAZZI := 29022; +SET @NPC_JANALAI := 29023; +SET @NPC_NALORAKK := 29024; + +DELETE FROM `creature_text` WHERE `entry`=@NPC_HARKOA AND `groupid`=1; +DELETE FROM `creature_text` WHERE `entry` IN (@NPC_AKILZON,@NPC_HALAZZI,@NPC_JANALAI,@NPC_NALORAKK); +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(@NPC_HARKOA,1,0,'No, not Akali too!',15,0,100,0,0,0,'Har''koa'), +(@NPC_AKILZON,0,0,'And yet we see only doom in your future. It is your destiny that you do this, $N, but we fear that the prophet is too powerful for you and your friends. Still, you must try.',12,0,100,0,0,12196,'Akil''zon'), +(@NPC_HALAZZI,0,0,'Once more we hear your call, Khufu. We have wisdom for you and $N. You face great peril and must act swiftly or you all and Har''koa will die.',12,0,100,0,0,643,'Halazzi'), +(@NPC_JANALAI,0,0,'The gusty essence of deceased Quetz''lun''s wardens must be gathered to draw him near. To Har''koa must both of these rarities be delivered.',12,0,100,0,0,9919,'Jana''lai'), +(@NPC_NALORAKK,0,0,'The unblemished heart of the guardian must be secured to show defiance and strength. Jealous Zim''Rhuk keeps those who harbor it.',12,0,100,0,0,473,'Nalorakk'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (52934,52935,52936,52937); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,1,52934,0,0,31,0,3,@NPC_ELM_BUNNY,0,0,0,'','Spell Rampage: Summon Akil''zon targets ELM General Purpose Bunny'), +(13,1,52934,0,0,29,0,28527,10,0,1,0,'','Spell Rampage: Summon Akil''zon target needs to be 35y from Chronicler To''kini'), +(13,1,52934,0,0,29,0,28527,15,0,1,0,'','Spell Rampage: Summon Akil''zon target needs to be 35y from Chronicler To''kini'), +(13,1,52934,0,0,29,0,28527,30,0,1,0,'','Spell Rampage: Summon Akil''zon target needs to be 35y from Chronicler To''kini'), +(13,1,52934,0,0,29,0,28527,35,0,0,0,'','Spell Rampage: Summon Akil''zon target needs to be 35y from Chronicler To''kini'), +(13,1,52935,0,0,31,0,3,@NPC_ELM_BUNNY,0,0,0,'','Spell Rampage: Summon Akil''zon targets ELM General Purpose Bunny'), +(13,1,52935,0,0,29,0,28527,10,0,0,0,'','Spell Rampage: Summon Akil''zon target needs to be 10y from Chronicler To''kini'), +(13,1,52936,0,0,31,0,3,@NPC_ELM_BUNNY,0,0,0,'','Spell Rampage: Summon Akil''zon targets ELM General Purpose Bunny'), +(13,1,52936,0,0,29,0,28527,10,0,1,0,'','Spell Rampage: Summon Akil''zon target needs to be 15y from Chronicler To''kini'), +(13,1,52936,0,0,29,0,28527,15,0,0,0,'','Spell Rampage: Summon Akil''zon target needs to be 15y from Chronicler To''kini'), +(13,1,52937,0,0,31,0,3,@NPC_ELM_BUNNY,0,0,0,'','Spell Rampage: Summon Akil''zon targets ELM General Purpose Bunny'), +(13,1,52937,0,0,29,0,28527,10,0,1,0,'','Spell Rampage: Summon Akil''zon target needs to be 30y from Chronicler To''kini'), +(13,1,52937,0,0,29,0,28527,15,0,1,0,'','Spell Rampage: Summon Akil''zon target needs to be 30y from Chronicler To''kini'), +(13,1,52937,0,0,29,0,28527,30,0,0,0,'','Spell Rampage: Summon Akil''zon target needs to be 30y from Chronicler To''kini'); + +DELETE FROM `spell_scripts` WHERE `id`=52933; +INSERT INTO `spell_scripts` (`id`,`effIndex`,`delay`,`command`,`datalong`,`datalong2`,`dataint`,`x`,`y`,`z`,`o`) VALUES +(52933,0,0,15,52934,0,0,0,0,0,0), +(52933,0,0,15,52935,0,0,0,0,0,0), +(52933,0,0,15,52936,0,0,0,0,0,0), +(52933,0,0,15,52937,0,0,0,0,0,0); + +UPDATE `creature_model_info` SET `bounding_radius`=0.93 WHERE `modelid`=21793; +UPDATE `creature_model_info` SET `bounding_radius`=1.833, `combat_reach`=4.5 WHERE `modelid`=21830; +UPDATE `creature_model_info` SET `bounding_radius`=0.525, `combat_reach`=2.625 WHERE `modelid`=21831; +UPDATE `creature_model_info` SET `bounding_radius`=0.775, `combat_reach`=5 WHERE `modelid`=22256; + +DELETE FROM `creature_template_addon` WHERE `entry`=29021; +INSERT INTO `creature_template_addon` (`entry`,`bytes1`) VALUES +(29021,33554432); + +UPDATE `creature_template` SET `minlevel`=83, `maxlevel`=83, `faction_A`=1610, `faction_H`=1610, `unit_flags`=512|256, `AIName`='SmartAI' WHERE `entry` IN (@NPC_AKILZON,@NPC_HALAZZI,@NPC_JANALAI,@NPC_NALORAKK); + +DELETE FROM `smart_scripts` WHERE `entryorguid`=@NPC_HARKOA AND `source_type`=0 AND `id`=16; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@NPC_KHUFU AND `source_type`=0 AND `id` IN (3,4,5); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@NPC_AKILZON,@NPC_HALAZZI,@NPC_JANALAI,@NPC_NALORAKK) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@NPC_HALAZZI*100 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 +(@NPC_HARKOA,0,16,15,38,0,100,0,0,2,0,0,1,1,0,0,0,0,0,12,1,0,0,0,0,0,0, 'Har''koa - On data 0 2 set - Say line'), + +(@NPC_KHUFU,0,3,4,20,0,100,0,12721,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Khufu - On quest rewarded - Store targetlist'), +(@NPC_KHUFU,0,4,5,61,0,100,0,0,0,0,0,100,1,0,0,0,0,0,19,@NPC_HARKOA,100,0,0,0,0,0, 'Khufu - On quest rewarded - Send targetlist to Har''koa'), +(@NPC_KHUFU,0,5,0,61,0,100,0,0,0,0,0,45,0,2,0,0,0,0,19,@NPC_HARKOA,100,0,0,0,0,0, 'Khufu - On quest rewarded - Set data 0 2 Har''koa'), + +(@NPC_AKILZON,0,0,0,54,0,100,0,0,0,0,0,11,35426,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akil''zon - Just summoned - Spellcast Arcane Explosion Visual'), +(@NPC_AKILZON,0,1,0,38,0,100,0,0,1,0,0,1,0,0,0,0,0,0,23,0,0,0,0,0,0,0, 'Akil''zon - On data 0 1 set - Say line'), +(@NPC_AKILZON,0,2,0,38,0,100,0,0,2,0,0,41,800,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Akil''zon - On data 0 2 set - Despawn'), + +(@NPC_HALAZZI,0,0,1,54,0,100,0,0,0,0,0,11,35426,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Halazzi - Just summoned - Spellcast Arcane Explosion Visual'), +(@NPC_HALAZZI,0,1,0,61,0,100,0,0,0,0,0,80,@NPC_HALAZZI*100,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Halazzi - Just summoned - Run script'), + +(@NPC_JANALAI,0,0,0,54,0,100,0,0,0,0,0,11,35426,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jana''lai - Just summoned - Spellcast Arcane Explosion Visual'), +(@NPC_JANALAI,0,1,0,38,0,100,0,0,1,0,0,1,0,0,0,0,0,0,23,0,0,0,0,0,0,0, 'Jana''lai - On data 0 1 set - Say line'), +(@NPC_JANALAI,0,2,0,38,0,100,0,0,2,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jana''lai - On data 0 2 set - Despawn'), + +(@NPC_NALORAKK,0,0,0,54,0,100,0,0,0,0,0,11,35426,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Nalorakk - Just summoned - Spellcast Arcane Explosion Visual'), +(@NPC_NALORAKK,0,1,0,38,0,100,0,0,1,0,0,1,0,0,0,0,0,0,23,0,0,0,0,0,0,0, 'Nalorakk - On data 0 1 set - Say line'), +(@NPC_NALORAKK,0,2,0,38,0,100,0,0,2,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Nalorakk - On data 0 2 set - Despawn'), + +(@NPC_HALAZZI*100,9,0,0,0,0,100,0,3300,3300,0,0,1,0,0,0,0,0,0,23,0,0,0,0,0,0,0, 'Halazzi script - Say line'), +(@NPC_HALAZZI*100,9,1,0,0,0,100,0,5200,5200,0,0,45,0,1,0,0,0,0,19,@NPC_NALORAKK,20,0,0,0,0,0, 'Halazzi script - Set data 0 1 Nalorakk'), +(@NPC_HALAZZI*100,9,2,0,0,0,100,0,5600,5600,0,0,45,0,1,0,0,0,0,19,@NPC_JANALAI,20,0,0,0,0,0, 'Halazzi script - Set data 0 1 Jana''lai'), +(@NPC_HALAZZI*100,9,3,0,0,0,100,0,7700,7700,0,0,45,0,1,0,0,0,0,19,@NPC_AKILZON,20,0,0,0,0,0, 'Halazzi script - Set data 0 1 Akil''zon'), +(@NPC_HALAZZI*100,9,4,0,0,0,100,0,8300,8300,0,0,45,0,2,0,0,0,0,19,@NPC_JANALAI,20,0,0,0,0,0, 'Halazzi script - Set data 0 2 Jana''lai'), +(@NPC_HALAZZI*100,9,5,0,0,0,100,0,800,800,0,0,11,42466,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Halazzi script - Spellcast Spirit Visual'), +(@NPC_HALAZZI*100,9,6,0,0,0,100,0,0,0,0,0,45,0,2,0,0,0,0,19,@NPC_AKILZON,20,0,0,0,0,0, 'Halazzi script - Set data 0 2 Akil''zon'), +(@NPC_HALAZZI*100,9,7,0,0,0,100,0,0,0,0,0,45,0,2,0,0,0,0,19,@NPC_NALORAKK,20,0,0,0,0,0, 'Halazzi script - Set data 0 2 Nalorakk'), +(@NPC_HALAZZI*100,9,8,0,0,0,100,0,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Halazzi script - Despawn'); -- cgit v1.2.3 From 53f2d812ee958b3ef0474bc5139985fce40fe6fd Mon Sep 17 00:00:00 2001 From: Gacko Date: Fri, 29 Mar 2013 22:00:22 +0100 Subject: DB/Waypoint: Vyragosa Vyragosa has multiple spawn points but they all use the same path so several paths with different start points are required. --- .../world/2013_03_29_02_world_waypoint_data.sql | 127 +++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 sql/updates/world/2013_03_29_02_world_waypoint_data.sql (limited to 'sql') diff --git a/sql/updates/world/2013_03_29_02_world_waypoint_data.sql b/sql/updates/world/2013_03_29_02_world_waypoint_data.sql new file mode 100644 index 00000000000..edee2e67b48 --- /dev/null +++ b/sql/updates/world/2013_03_29_02_world_waypoint_data.sql @@ -0,0 +1,127 @@ +DELETE FROM `creature_addon` WHERE `guid` BETWEEN 202441 AND 202460; +INSERT INTO `creature_addon`(`guid`,`path_id`,`bytes1`) VALUES +(202441,2024410,50331648), +(202442,2024410,50331648), +(202443,2024430,50331648), +(202444,2024430,50331648), +(202445,2024450,50331648), +(202446,2024410,50331648), +(202447,2024470,50331648), +(202448,2024450,50331648), +(202449,2024450,50331648), +(202450,2024450,50331648), +(202451,2024510,50331648), +(202452,2024520,50331648), +(202453,2024430,50331648), +(202454,2024430,50331648), +(202455,2024410,50331648), +(202456,2024450,50331648), +(202457,2024510,50331648), +(202458,2024510,50331648), +(202459,2024510,50331648), +(202460,2024430,50331648); + +DELETE FROM `waypoint_data` WHERE `id` IN (2024410,2024430,2024450,2024470,2024520,2024510); +INSERT INTO `waypoint_data`(`id`,`point`,`position_x`,`position_y`,`position_z`) VALUES +(2024410,1,7210.96,-1046.89,1006.18), +(2024410,2,6998.46,-1076.85,1024.82), +(2024410,3,6874.25,-1097.38,927.736), +(2024410,4,6614.79,-875.755,812.765), +(2024410,5,6563.27,-811.767,749.876), +(2024410,6,6299.5,-797.577,529.126), +(2024410,7,6194.55,-1013.14,501.542), +(2024410,8,6319.25,-1251.66,468.626), +(2024410,9,6309.16,-1537.86,615.042), +(2024410,10,6748.21,-1664.31,919.312), +(2024410,11,6913.31,-1725.26,954.792), +(2024410,12,7167.58,-1501.69,962.569), +(2024410,13,7440.4,-1295.86,997.291), +(2024410,14,7024.75,-1625.54,957.369), +(2024410,15,7025.49,-1624.87,957.369), +(2024410,16,7167.58,-1501.69,962.569), +(2024410,17,7440.4,-1295.86,997.291), +(2024430,1,7440.4,-1295.86,997.291), +(2024430,2,7210.96,-1046.89,1006.18), +(2024430,3,6998.46,-1076.85,1024.82), +(2024430,4,6874.25,-1097.38,927.736), +(2024430,5,6614.79,-875.755,812.765), +(2024430,6,6563.27,-811.767,749.876), +(2024430,7,6299.5,-797.577,529.126), +(2024430,8,6194.55,-1013.14,501.542), +(2024430,9,6319.25,-1251.66,468.626), +(2024430,10,6309.16,-1537.86,615.042), +(2024430,11,6748.21,-1664.31,919.312), +(2024430,12,6913.31,-1725.26,954.792), +(2024430,13,7167.58,-1501.69,962.569), +(2024430,14,7440.4,-1295.86,997.291), +(2024430,15,7024.75,-1625.54,957.369), +(2024430,16,7025.49,-1624.87,957.369), +(2024430,17,7167.58,-1501.69,962.569), +(2024450,1,6563.27,-811.767,749.876), +(2024450,2,6299.5,-797.577,529.126), +(2024450,3,6194.55,-1013.14,501.542), +(2024450,4,6319.25,-1251.66,468.626), +(2024450,5,6309.16,-1537.86,615.042), +(2024450,6,6748.21,-1664.31,919.312), +(2024450,7,6913.31,-1725.26,954.792), +(2024450,8,7167.58,-1501.69,962.569), +(2024450,9,7440.4,-1295.86,997.291), +(2024450,10,7024.75,-1625.54,957.369), +(2024450,11,7025.49,-1624.87,957.369), +(2024450,12,7167.58,-1501.69,962.569), +(2024450,13,7440.4,-1295.86,997.291), +(2024450,14,7210.96,-1046.89,1006.18), +(2024450,15,6998.46,-1076.85,1024.82), +(2024450,16,6874.25,-1097.38,927.736), +(2024450,17,6614.79,-875.755,812.765), +(2024470,1,6614.79,-875.755,812.765), +(2024470,2,6563.27,-811.767,749.876), +(2024470,3,6299.5,-797.577,529.126), +(2024470,4,6194.55,-1013.14,501.542), +(2024470,5,6319.25,-1251.66,468.626), +(2024470,6,6309.16,-1537.86,615.042), +(2024470,7,6748.21,-1664.31,919.312), +(2024470,8,6913.31,-1725.26,954.792), +(2024470,9,7167.58,-1501.69,962.569), +(2024470,10,7440.4,-1295.86,997.291), +(2024470,11,7024.75,-1625.54,957.369), +(2024470,12,7025.49,-1624.87,957.369), +(2024470,13,7167.58,-1501.69,962.569), +(2024470,14,7440.4,-1295.86,997.291), +(2024470,15,7210.96,-1046.89,1006.18), +(2024470,16,6998.46,-1076.85,1024.82), +(2024470,17,6874.25,-1097.38,927.736), +(2024510,1,6913.31,-1725.26,954.792), +(2024510,2,7167.58,-1501.69,962.569), +(2024510,3,7440.4,-1295.86,997.291), +(2024510,4,7024.75,-1625.54,957.369), +(2024510,5,7025.49,-1624.87,957.369), +(2024510,6,7167.58,-1501.69,962.569), +(2024510,7,7440.4,-1295.86,997.291), +(2024510,8,7210.96,-1046.89,1006.18), +(2024510,9,6998.46,-1076.85,1024.82), +(2024510,10,6874.25,-1097.38,927.736), +(2024510,11,6614.79,-875.755,812.765), +(2024510,12,6563.27,-811.767,749.876), +(2024510,13,6299.5,-797.577,529.126), +(2024510,14,6194.55,-1013.14,501.542), +(2024510,15,6319.25,-1251.66,468.626), +(2024510,16,6309.16,-1537.86,615.042), +(2024510,17,6748.21,-1664.31,919.312), +(2024520,1,7167.58,-1501.69,962.569), +(2024520,2,7440.4,-1295.86,997.291), +(2024520,3,7210.96,-1046.89,1006.18), +(2024520,4,6998.46,-1076.85,1024.82), +(2024520,5,6874.25,-1097.38,927.736), +(2024520,6,6614.79,-875.755,812.765), +(2024520,7,6563.27,-811.767,749.876), +(2024520,8,6299.5,-797.577,529.126), +(2024520,9,6194.55,-1013.14,501.542), +(2024520,10,6319.25,-1251.66,468.626), +(2024520,11,6309.16,-1537.86,615.042), +(2024520,12,6748.21,-1664.31,919.312), +(2024520,13,6913.31,-1725.26,954.792), +(2024520,14,7167.58,-1501.69,962.569), +(2024520,15,7440.4,-1295.86,997.291), +(2024520,16,7024.75,-1625.54,957.369), +(2024520,17,7025.49,-1624.87,957.369); -- cgit v1.2.3 From b8de1fdd846dad6cd3525123fd580d149aded749 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 31 Mar 2013 00:17:41 +0100 Subject: SQL: Removed BOM from 2013_03_29_01_world_misc.sql and renamed another file to meet standards --- sql/updates/world/2013_03_13_02_sai.sql | 49 -------------------------- sql/updates/world/2013_03_13_02_world_sai.sql | 49 ++++++++++++++++++++++++++ sql/updates/world/2013_03_29_01_world_misc.sql | 2 +- 3 files changed, 50 insertions(+), 50 deletions(-) delete mode 100644 sql/updates/world/2013_03_13_02_sai.sql create mode 100644 sql/updates/world/2013_03_13_02_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2013_03_13_02_sai.sql b/sql/updates/world/2013_03_13_02_sai.sql deleted file mode 100644 index b3712d52197..00000000000 --- a/sql/updates/world/2013_03_13_02_sai.sql +++ /dev/null @@ -1,49 +0,0 @@ --- Darkwraith -UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=15657 AND `source_type`=0 AND `id`=0 AND `link`=1; --- Plaguehound -UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=8598 AND `source_type`=0 AND `id`=0 AND `link`=1; --- Amani Berserker -UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=15643 AND `source_type`=0 AND `id`=0 AND `link`=1; --- Enraged Wraith -UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=17086 AND `source_type`=0 AND `id`=0 AND `link`=1; --- Anok'suten -UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=16357 AND `source_type`=0 AND `id`=3 AND `link`=0; --- Bloodscalp Warrior -UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=587 AND `source_type`=0 AND `id`=2 AND `link`=3; --- Bloodscalp Berserker -UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=597 AND `source_type`=0 AND `id`=0 AND `link`=1; --- Commander Aggro'gosh -UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=2464 AND `source_type`=0 AND `id`=3 AND `link`=4; --- Vilebranch Berserker -UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=2643 AND `source_type`=0 AND `id`=0 AND `link`=1; --- Hungering Wraith -UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=1802 AND `source_type`=0 AND `id`=1 AND `link`=2; --- Dark Strand Enforcer -UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=3727 AND `source_type`=0 AND `id`=0 AND `link`=1; --- Scarlet Myrmidon -UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=4295 AND `source_type`=0 AND `id`=0 AND `link`=1; --- Ymirjar Flesh Hunter -UPDATE `smart_scripts` SET `event_flags`=7 WHERE `entryorguid`=26670 AND `source_type`=0 AND `id`=27 AND `link`=28; --- Startup Errors -UPDATE `smart_scripts` SET `event_flags`=0 WHERE `entryorguid`=22895 AND `source_type`=0 AND `id`=0 AND `link`=0; -UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=1487 AND `source_type`=0 AND `id`=8 AND `link`=9; -UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=2245 AND `source_type`=0 AND `id`=14 AND `link`=15; -UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=2375 AND `source_type`=0 AND `id`=8 AND `link`=9; -UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=16344 AND `source_type`=0 AND `id`=8 AND `link`=9; -UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=29174 AND `source_type`=0 AND `id`=2 AND `link`=3; -UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=29174 AND `source_type`=0 AND `id`=3 AND `link`=4; -UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=29174 AND `source_type`=0 AND `id`=4 AND `link`=5; --- Timed action scripts aren't supposed to have links set on them -UPDATE `smart_scripts` SET `link`=0, `event_type`=0 WHERE `entryorguid`=83600 AND `source_type`=9 AND `id`=1 AND `link`=2; -UPDATE `smart_scripts` SET `link`=0, `event_type`=0 WHERE `entryorguid`=83600 AND `source_type`=9 AND `id`=2 AND `link`=3; -UPDATE `smart_scripts` SET `event_type`=0 WHERE `entryorguid`=83600 AND `source_type`=9 AND `id`=3 AND `link`=0; --- Aforementioned issue about links on timed scripts -UPDATE `smart_scripts` SET `event_type`=0 WHERE `entryorguid`=83600 AND `source_type`=9 AND `id`=3 AND `link`=0; -UPDATE `smart_scripts` SET `link`=0, `event_type`=0 WHERE `entryorguid`=305400 AND `source_type`=9 AND `id`=1 AND `link`=2; -UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=15938 AND `source_type`=0 AND `id`=7 AND `link`=8; --- This one had messed up ID's too -UPDATE `smart_scripts` SET `id`=5, `link`=6 WHERE `entryorguid`=19456 AND `source_type`=0 AND `id`=6 AND `link`=7; -UPDATE `smart_scripts` SET `id`=6 WHERE `entryorguid`=19456 AND `source_type`=0 AND `id`=7 AND `link`=0; -UPDATE `smart_scripts` SET `id`=7 WHERE `entryorguid`=19456 AND `source_type`=0 AND `id`=8 AND `link`=0; -UPDATE `smart_scripts` SET `id`=8 WHERE `entryorguid`=19456 AND `source_type`=0 AND `id`=9 AND `link`=0; -UPDATE `smart_scripts` SET `id`=9 WHERE `entryorguid`=19456 AND `source_type`=0 AND `id`=10 AND `link`=0; diff --git a/sql/updates/world/2013_03_13_02_world_sai.sql b/sql/updates/world/2013_03_13_02_world_sai.sql new file mode 100644 index 00000000000..b3712d52197 --- /dev/null +++ b/sql/updates/world/2013_03_13_02_world_sai.sql @@ -0,0 +1,49 @@ +-- Darkwraith +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=15657 AND `source_type`=0 AND `id`=0 AND `link`=1; +-- Plaguehound +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=8598 AND `source_type`=0 AND `id`=0 AND `link`=1; +-- Amani Berserker +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=15643 AND `source_type`=0 AND `id`=0 AND `link`=1; +-- Enraged Wraith +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=17086 AND `source_type`=0 AND `id`=0 AND `link`=1; +-- Anok'suten +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=16357 AND `source_type`=0 AND `id`=3 AND `link`=0; +-- Bloodscalp Warrior +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=587 AND `source_type`=0 AND `id`=2 AND `link`=3; +-- Bloodscalp Berserker +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=597 AND `source_type`=0 AND `id`=0 AND `link`=1; +-- Commander Aggro'gosh +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=2464 AND `source_type`=0 AND `id`=3 AND `link`=4; +-- Vilebranch Berserker +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=2643 AND `source_type`=0 AND `id`=0 AND `link`=1; +-- Hungering Wraith +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=1802 AND `source_type`=0 AND `id`=1 AND `link`=2; +-- Dark Strand Enforcer +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=3727 AND `source_type`=0 AND `id`=0 AND `link`=1; +-- Scarlet Myrmidon +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=4295 AND `source_type`=0 AND `id`=0 AND `link`=1; +-- Ymirjar Flesh Hunter +UPDATE `smart_scripts` SET `event_flags`=7 WHERE `entryorguid`=26670 AND `source_type`=0 AND `id`=27 AND `link`=28; +-- Startup Errors +UPDATE `smart_scripts` SET `event_flags`=0 WHERE `entryorguid`=22895 AND `source_type`=0 AND `id`=0 AND `link`=0; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=1487 AND `source_type`=0 AND `id`=8 AND `link`=9; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=2245 AND `source_type`=0 AND `id`=14 AND `link`=15; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=2375 AND `source_type`=0 AND `id`=8 AND `link`=9; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=16344 AND `source_type`=0 AND `id`=8 AND `link`=9; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=29174 AND `source_type`=0 AND `id`=2 AND `link`=3; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=29174 AND `source_type`=0 AND `id`=3 AND `link`=4; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=29174 AND `source_type`=0 AND `id`=4 AND `link`=5; +-- Timed action scripts aren't supposed to have links set on them +UPDATE `smart_scripts` SET `link`=0, `event_type`=0 WHERE `entryorguid`=83600 AND `source_type`=9 AND `id`=1 AND `link`=2; +UPDATE `smart_scripts` SET `link`=0, `event_type`=0 WHERE `entryorguid`=83600 AND `source_type`=9 AND `id`=2 AND `link`=3; +UPDATE `smart_scripts` SET `event_type`=0 WHERE `entryorguid`=83600 AND `source_type`=9 AND `id`=3 AND `link`=0; +-- Aforementioned issue about links on timed scripts +UPDATE `smart_scripts` SET `event_type`=0 WHERE `entryorguid`=83600 AND `source_type`=9 AND `id`=3 AND `link`=0; +UPDATE `smart_scripts` SET `link`=0, `event_type`=0 WHERE `entryorguid`=305400 AND `source_type`=9 AND `id`=1 AND `link`=2; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=15938 AND `source_type`=0 AND `id`=7 AND `link`=8; +-- This one had messed up ID's too +UPDATE `smart_scripts` SET `id`=5, `link`=6 WHERE `entryorguid`=19456 AND `source_type`=0 AND `id`=6 AND `link`=7; +UPDATE `smart_scripts` SET `id`=6 WHERE `entryorguid`=19456 AND `source_type`=0 AND `id`=7 AND `link`=0; +UPDATE `smart_scripts` SET `id`=7 WHERE `entryorguid`=19456 AND `source_type`=0 AND `id`=8 AND `link`=0; +UPDATE `smart_scripts` SET `id`=8 WHERE `entryorguid`=19456 AND `source_type`=0 AND `id`=9 AND `link`=0; +UPDATE `smart_scripts` SET `id`=9 WHERE `entryorguid`=19456 AND `source_type`=0 AND `id`=10 AND `link`=0; diff --git a/sql/updates/world/2013_03_29_01_world_misc.sql b/sql/updates/world/2013_03_29_01_world_misc.sql index ec9c2763186..bf59a7196c7 100644 --- a/sql/updates/world/2013_03_29_01_world_misc.sql +++ b/sql/updates/world/2013_03_29_01_world_misc.sql @@ -1,4 +1,4 @@ -SET @NPC_ELM_BUNNY := 23837; +SET @NPC_ELM_BUNNY := 23837; SET @NPC_HARKOA := 28401; SET @NPC_KHUFU := 28479; SET @NPC_AKILZON := 29021; -- cgit v1.2.3 From 294fac60a03a69d6f618c9d0e163615f379a9d33 Mon Sep 17 00:00:00 2001 From: Pitcrawler Date: Tue, 2 Apr 2013 01:06:19 +0200 Subject: DB/Quests: Fix It Was The Orcs, Honest! Closes #2037 --- sql/updates/world/2013_04_01_00_world_misc.sql | 20 +++++++++++ src/server/scripts/Spells/spell_generic.cpp | 50 ++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 sql/updates/world/2013_04_01_00_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_01_00_world_misc.sql b/sql/updates/world/2013_04_01_00_world_misc.sql new file mode 100644 index 00000000000..5cacfc839d8 --- /dev/null +++ b/sql/updates/world/2013_04_01_00_world_misc.sql @@ -0,0 +1,20 @@ +DELETE FROM `spell_script_names` WHERE `spell_id`=45759; +INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES +(45759,'spell_gen_orc_disguise'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=17 AND `SourceEntry`=45742; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(17,0,45742,0,0,1,0,45760,0,0,0,0,'','Spell Plant Warsong Banner can be casted only if player has aura Warsong Orc Disguise (Male)'), +(17,0,45742,0,0,31,1,3,25430,0,0,0,'','Spell Plant Warsong Banner can be casted only on Magmothregar'), +(17,0,45742,0,0,36,1,0,0,0,1,0,'','Spell Plant Warsong Banner can be casted only if target is dead'), +(17,0,45742,0,1,1,0,45762,0,0,0,0,'','Spell Plant Warsong Banner can be casted only if player has aura Warsong Orc Disguise (Female)'), +(17,0,45742,0,1,31,1,3,25430,0,0,0,'','Spell Plant Warsong Banner can be casted only on Magmothregar'), +(17,0,45742,0,1,36,1,0,0,0,1,0,'','Spell Plant Warsong Banner can be casted only if target is dead'); + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=25430; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=25430; +DELETE FROM `smart_scripts` WHERE `entryorguid`=25430 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 +(25430,0,0,0,4,0,100,0,0,0,0,0,11,50413,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Magmothregar - On aggro - Spellcast Magnataur Charge'), +(25430,0,1,0,0,0,100,0,3500,12800,10100,14000,11,50822,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Magmothregar - On update IC - Spellcast Fervor'), +(25430,0,2,0,8,0,100,0,45742,0,0,0,11,45744,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Magmothregar - On spellhit Plant Warsong Banner - Spellcast It Was The Orcs, Honest!: Plant Banner Kill Credit'); diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 00b504d2403..8c25fa1e24f 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -3513,6 +3513,55 @@ class spell_gen_aura_service_uniform : public SpellScriptLoader } }; +enum OrcDisguiseSpells +{ + SPELL_ORC_DISGUISE_TRIGGER = 45759, + SPELL_ORC_DISGUISE_MALE = 45760, + SPELL_ORC_DISGUISE_FEMALE = 45762, +}; + +class spell_gen_orc_disguise : public SpellScriptLoader +{ + public: + spell_gen_orc_disguise() : SpellScriptLoader("spell_gen_orc_disguise") { } + + class spell_gen_orc_disguise_SpellScript : public SpellScript + { + PrepareSpellScript(spell_gen_orc_disguise_SpellScript); + + bool Validate(SpellInfo const* /*spell*/) + { + if (!sSpellMgr->GetSpellInfo(SPELL_ORC_DISGUISE_TRIGGER) || !sSpellMgr->GetSpellInfo(SPELL_ORC_DISGUISE_MALE) || + !sSpellMgr->GetSpellInfo(SPELL_ORC_DISGUISE_FEMALE)) + return false; + return true; + } + + void HandleScript(SpellEffIndex /*effIndex*/) + { + Unit* caster = GetCaster(); + if (Player* target = GetHitPlayer()) + { + uint8 gender = target->getGender(); + if (!gender) + caster->CastSpell(target, SPELL_ORC_DISGUISE_MALE, true); + else + caster->CastSpell(target, SPELL_ORC_DISGUISE_FEMALE, true); + } + } + + void Register() + { + OnEffectHitTarget += SpellEffectFn(spell_gen_orc_disguise_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } + }; + + SpellScript* GetSpellScript() const + { + return new spell_gen_orc_disguise_SpellScript(); + } +}; + void AddSC_generic_spell_scripts() { new spell_gen_absorb0_hitlimit1(); @@ -3592,4 +3641,5 @@ void AddSC_generic_spell_scripts() new spell_gen_gift_of_naaru(); new spell_gen_replenishment(); new spell_gen_aura_service_uniform(); + new spell_gen_orc_disguise(); } -- cgit v1.2.3 From 3ce3c86dd26333d4f126f7613cfefa254e0c3a76 Mon Sep 17 00:00:00 2001 From: Gacko Date: Tue, 2 Apr 2013 19:28:02 +0200 Subject: Fix sql import --- sql/updates/world/2013_03_13_02_world_sai.sql | 6 ------ sql/updates/world/2013_04_01_00_world_misc.sql | 2 +- sql/updates/world/2013_04_02_00_world_smart_scripts.sql | 12 ++++++++++++ 3 files changed, 13 insertions(+), 7 deletions(-) create mode 100644 sql/updates/world/2013_04_02_00_world_smart_scripts.sql (limited to 'sql') diff --git a/sql/updates/world/2013_03_13_02_world_sai.sql b/sql/updates/world/2013_03_13_02_world_sai.sql index b3712d52197..70709b0ffcd 100644 --- a/sql/updates/world/2013_03_13_02_world_sai.sql +++ b/sql/updates/world/2013_03_13_02_world_sai.sql @@ -41,9 +41,3 @@ UPDATE `smart_scripts` SET `event_type`=0 WHERE `entryorguid`=83600 AND `source UPDATE `smart_scripts` SET `event_type`=0 WHERE `entryorguid`=83600 AND `source_type`=9 AND `id`=3 AND `link`=0; UPDATE `smart_scripts` SET `link`=0, `event_type`=0 WHERE `entryorguid`=305400 AND `source_type`=9 AND `id`=1 AND `link`=2; UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=15938 AND `source_type`=0 AND `id`=7 AND `link`=8; --- This one had messed up ID's too -UPDATE `smart_scripts` SET `id`=5, `link`=6 WHERE `entryorguid`=19456 AND `source_type`=0 AND `id`=6 AND `link`=7; -UPDATE `smart_scripts` SET `id`=6 WHERE `entryorguid`=19456 AND `source_type`=0 AND `id`=7 AND `link`=0; -UPDATE `smart_scripts` SET `id`=7 WHERE `entryorguid`=19456 AND `source_type`=0 AND `id`=8 AND `link`=0; -UPDATE `smart_scripts` SET `id`=8 WHERE `entryorguid`=19456 AND `source_type`=0 AND `id`=9 AND `link`=0; -UPDATE `smart_scripts` SET `id`=9 WHERE `entryorguid`=19456 AND `source_type`=0 AND `id`=10 AND `link`=0; diff --git a/sql/updates/world/2013_04_01_00_world_misc.sql b/sql/updates/world/2013_04_01_00_world_misc.sql index 5cacfc839d8..39b5d231c0f 100644 --- a/sql/updates/world/2013_04_01_00_world_misc.sql +++ b/sql/updates/world/2013_04_01_00_world_misc.sql @@ -1,4 +1,4 @@ -DELETE FROM `spell_script_names` WHERE `spell_id`=45759; +DELETE FROM `spell_script_names` WHERE `spell_id`=45759; INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES (45759,'spell_gen_orc_disguise'); diff --git a/sql/updates/world/2013_04_02_00_world_smart_scripts.sql b/sql/updates/world/2013_04_02_00_world_smart_scripts.sql new file mode 100644 index 00000000000..1687df8ff2d --- /dev/null +++ b/sql/updates/world/2013_04_02_00_world_smart_scripts.sql @@ -0,0 +1,12 @@ +DELETE FROM `smart_scripts` WHERE `entryorguid`=19456 AND `source_type`=0; +INSERT INTO `smart_scripts`(`entryorguid`,`id`,`link`,`event_type`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`target_type`,`comment`) VALUES +(19456,0,0,54,0,0,0,0,0,42,0,25,1,'Whitebarks Spirit - On summon - Set invincibility HP at 25%'), +(19456,1,0,4,1,0,0,0,0,1,0,0,1,'Whitebarks Spirit - On aggro (not repeatable) - Say 0'), +(19456,2,3,2,0,24,26,120000,120000,102,0,0,1,'Whitebarks Spirit - 24-26% HP - Disable HP reg (video)'), +(19456,3,4,61,0,0,0,0,0,101,0,0,1,'Whitebarks Spirit - Linked - Set home position'), +(19456,4,5,61,0,0,0,0,0,2,35,0,1,'Whitebarks Spirit - Linked - Change faction to friendly'), +(19456,5,6,61,0,0,0,0,0,1,1,0,1,'Whitebarks Spirit - Linked - Say 1'), +(19456,6,0,61,0,0,0,0,0,24,0,0,1,'Whitebarks Spirit - Linked - evade'), +(19456,7,0,0,0,2500,5500,12000,14500,11,31287,0,2,'Whitebarks Spirit - IC - Casts Entangling Roots'), +(19456,8,0,0,0,7500,7500,9500,16000,11,11442,0,2,'Whitebarks Spirit - IC - Casts Withered Touch'), +(19456,9,0,1,0,60000,60000,60000,60000,41,0,0,1,'Whitebarks Spirit - After 60sec OOC - Despawn'); -- cgit v1.2.3 From 25d7cd24eb62cd122be9846b4adeac8ae8aa4625 Mon Sep 17 00:00:00 2001 From: Kinzcool Date: Tue, 2 Apr 2013 21:08:55 -0400 Subject: DB/Gameobjects: Make Wrathscale Fountain visible to players and also updated positions with good ones. --- sql/updates/world/2013_04_02_01_world_gameobject.sql | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 sql/updates/world/2013_04_02_01_world_gameobject.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_02_01_world_gameobject.sql b/sql/updates/world/2013_04_02_01_world_gameobject.sql new file mode 100644 index 00000000000..120dd66eb0d --- /dev/null +++ b/sql/updates/world/2013_04_02_01_world_gameobject.sql @@ -0,0 +1,5 @@ +SET @OGUID := 1160; + +DELETE FROM `gameobject` WHERE `guid`=@OGUID; +INSERT INTO `gameobject` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`) VALUES +(@OGUID, 202275, 530, 1, 1, -2186.307, -12341.81, 56.27893, 0, 0, 0, 0, 1, 120, 255, 1); -- Wrathscale Fountain -- cgit v1.2.3 From c02ec5cc4d4a5521c6779337fc25d18427fed32f Mon Sep 17 00:00:00 2001 From: Kinzcool Date: Tue, 2 Apr 2013 21:27:26 -0400 Subject: DB/Creatures: Added a missing innkeeper in Dragon Maw Base Camp. --- sql/updates/world/2013_04_02_02_world_creature.sql | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 sql/updates/world/2013_04_02_02_world_creature.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_02_02_world_creature.sql b/sql/updates/world/2013_04_02_02_world_creature.sql new file mode 100644 index 00000000000..194eee288d2 --- /dev/null +++ b/sql/updates/world/2013_04_02_02_world_creature.sql @@ -0,0 +1,5 @@ +SET @CGUID := 40471; + +DELETE FROM `creature` WHERE `guid`=@CGUID; +INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES +(@CGUID, 23143, 530, 1, 1, -5142.569, 581.3281, 84.13567, 0.5061455, 120, 0, 0); -- Horus (Area: Netherwing Ledge) -- cgit v1.2.3 From 9aebfaf722127fa6477782aeac7534c48ba0bffb Mon Sep 17 00:00:00 2001 From: kandera Date: Wed, 3 Apr 2013 03:37:56 -0400 Subject: DB/Commands: fix the use of gobject info when used with a game object entry --- sql/updates/world/2013_04_03_00_world_command.sql | 1 + src/server/scripts/Commands/cs_gobject.cpp | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 sql/updates/world/2013_04_03_00_world_command.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_03_00_world_command.sql b/sql/updates/world/2013_04_03_00_world_command.sql new file mode 100644 index 00000000000..a94efebc8ea --- /dev/null +++ b/sql/updates/world/2013_04_03_00_world_command.sql @@ -0,0 +1 @@ +UPDATE `world`.`command` SET `help`='Syntax: .gobject info [$object_entry]\r \r Query Gameobject information for selected gameobject or given entry.' WHERE `name`='gobject info'; diff --git a/src/server/scripts/Commands/cs_gobject.cpp b/src/server/scripts/Commands/cs_gobject.cpp index f99e51fb260..12fd4250eb8 100644 --- a/src/server/scripts/Commands/cs_gobject.cpp +++ b/src/server/scripts/Commands/cs_gobject.cpp @@ -592,7 +592,8 @@ public: entry = object->GetEntry(); else entry = atoi((char*)args); - } + } else + entry = atoi((char*)args); GameObjectTemplate const* gameObjectInfo = sObjectMgr->GetGameObjectTemplate(entry); -- cgit v1.2.3 From 31fcb9e0d27b0428e5538098e8189bea2a628e24 Mon Sep 17 00:00:00 2001 From: kandera Date: Wed, 3 Apr 2013 03:42:03 -0400 Subject: DB/Commands: remove database name from previous sql --- sql/updates/world/2013_04_03_00_world_command.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql') diff --git a/sql/updates/world/2013_04_03_00_world_command.sql b/sql/updates/world/2013_04_03_00_world_command.sql index a94efebc8ea..3ce73686db3 100644 --- a/sql/updates/world/2013_04_03_00_world_command.sql +++ b/sql/updates/world/2013_04_03_00_world_command.sql @@ -1 +1 @@ -UPDATE `world`.`command` SET `help`='Syntax: .gobject info [$object_entry]\r \r Query Gameobject information for selected gameobject or given entry.' WHERE `name`='gobject info'; +UPDATE `command` SET `help`='Syntax: .gobject info [$object_entry]\r \r Query Gameobject information for selected gameobject or given entry.' WHERE `name`='gobject info'; -- cgit v1.2.3 From ad38ecaf988ab13cad0bcb11868874f89c7f7765 Mon Sep 17 00:00:00 2001 From: kandera Date: Wed, 3 Apr 2013 09:03:19 -0400 Subject: Core/Battlefield: Fix the invisible wall at the end of wintergrasp Closes #9422 DB/Strings: fix the error messages from the spirit guides Author Nastrand #9035 --- .../world/2013_04_03_01_world_trinity_string.sql | 11 +++++++++++ src/server/game/Battlefield/Zones/BattlefieldWG.h | 20 ++++++++++---------- src/server/scripts/Northrend/zone_wintergrasp.cpp | 2 +- 3 files changed, 22 insertions(+), 11 deletions(-) create mode 100644 sql/updates/world/2013_04_03_01_world_trinity_string.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_03_01_world_trinity_string.sql b/sql/updates/world/2013_04_03_01_world_trinity_string.sql new file mode 100644 index 00000000000..63a29a53d71 --- /dev/null +++ b/sql/updates/world/2013_04_03_01_world_trinity_string.sql @@ -0,0 +1,11 @@ +-- Add Trinity String for Spirit Guide and wintergrasp battle mage +DELETE FROM `trinity_string` WHERE `entry` IN (20071,20072,20074,20073,20070,20075,20076,20077); +INSERT INTO `trinity_string`(`entry`,`content_default`) VALUES +(20071, 'Guide me to the Sunken Ring Graveyard.'), +(20072, 'Guide me to the Broken Temple Graveyard.'), +(20074, 'Guide me to the Eastspark Graveyard.'), +(20073, 'Guide me to the Westspark Graveyard.'), +(20070, 'Guide me to the Fortress Graveyard.'), +(20075, 'Guide me back to the Horde landing camp.'), +(20076, 'Guide me back to the Alliance landing camp.'), +(20077, 'Queue for Wintergrasp.'); \ No newline at end of file diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.h b/src/server/game/Battlefield/Zones/BattlefieldWG.h index fcd000e75af..f67ba8a826f 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldWG.h +++ b/src/server/game/Battlefield/Zones/BattlefieldWG.h @@ -171,13 +171,13 @@ enum WGGraveyardId enum WGGossipText { - BATTLEFIELD_WG_GOSSIPTEXT_GY_NE = -1850501, - BATTLEFIELD_WG_GOSSIPTEXT_GY_NW = -1850502, - BATTLEFIELD_WG_GOSSIPTEXT_GY_SE = -1850504, - BATTLEFIELD_WG_GOSSIPTEXT_GY_SW = -1850503, - BATTLEFIELD_WG_GOSSIPTEXT_GY_KEEP = -1850500, - BATTLEFIELD_WG_GOSSIPTEXT_GY_HORDE = -1850505, - BATTLEFIELD_WG_GOSSIPTEXT_GY_ALLIANCE = -1850506 + BATTLEFIELD_WG_GOSSIPTEXT_GY_NE = 20071, + BATTLEFIELD_WG_GOSSIPTEXT_GY_NW = 20072, + BATTLEFIELD_WG_GOSSIPTEXT_GY_SE = 20074, + BATTLEFIELD_WG_GOSSIPTEXT_GY_SW = 20073, + BATTLEFIELD_WG_GOSSIPTEXT_GY_KEEP = 20070, + BATTLEFIELD_WG_GOSSIPTEXT_GY_HORDE = 20075, + BATTLEFIELD_WG_GOSSIPTEXT_GY_ALLIANCE = 20076 }; enum WintergraspNpcs @@ -1127,7 +1127,7 @@ struct BfWGGameObjectBuilding build->SetDestructibleState(GO_DESTRUCTIBLE_REBUILDING, NULL, true); if (build->GetEntry() == GO_WINTERGRASP_VAULT_GATE) if (GameObject* go = build->FindNearestGameObject(GO_WINTERGRASP_KEEP_COLLISION_WALL, 50.0f)) - go->EnableCollision(true); + go->SetGoState(GO_STATE_READY); // Update worldstate m_State = BATTLEFIELD_WG_OBJECTSTATE_ALLIANCE_INTACT - (m_Team * 3); @@ -1183,8 +1183,8 @@ struct BfWGGameObjectBuilding break; case BATTLEFIELD_WG_OBJECTTYPE_DOOR_LAST: if (GameObject* build = m_WG->GetGameObject(m_BuildGUID)) - if (GameObject* go = build->FindNearestGameObject(GO_WINTERGRASP_KEEP_COLLISION_WALL, 10.0f)) - go->EnableCollision(false); + if (GameObject* go = build->FindNearestGameObject(GO_WINTERGRASP_KEEP_COLLISION_WALL, 50.0f)) + go->SetGoState(GO_STATE_ACTIVE); m_WG->SetRelicInteractible(true); if (m_WG->GetRelic()) m_WG->GetRelic()->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE); diff --git a/src/server/scripts/Northrend/zone_wintergrasp.cpp b/src/server/scripts/Northrend/zone_wintergrasp.cpp index ce0eaefac90..1b944f9babb 100644 --- a/src/server/scripts/Northrend/zone_wintergrasp.cpp +++ b/src/server/scripts/Northrend/zone_wintergrasp.cpp @@ -40,7 +40,7 @@ enum WGqueuenpctext WG_NPCQUEUE_TEXT_A_NOWAR = 14782, WG_NPCQUEUE_TEXT_A_QUEUE = 14791, WG_NPCQUEUE_TEXT_A_WAR = 14781, - WG_NPCQUEUE_TEXTOPTION_JOIN = -1850507, + WG_NPCQUEUE_TEXTOPTION_JOIN = 20077, }; enum Spells -- cgit v1.2.3 From 9ca7a1f8e8eb5a50d484e59e6718c10329f60afb Mon Sep 17 00:00:00 2001 From: Gacko Date: Wed, 3 Apr 2013 18:05:04 +0200 Subject: New line at end of file --- sql/updates/world/2013_04_03_01_world_trinity_string.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql') diff --git a/sql/updates/world/2013_04_03_01_world_trinity_string.sql b/sql/updates/world/2013_04_03_01_world_trinity_string.sql index 63a29a53d71..b370664e4cf 100644 --- a/sql/updates/world/2013_04_03_01_world_trinity_string.sql +++ b/sql/updates/world/2013_04_03_01_world_trinity_string.sql @@ -8,4 +8,4 @@ INSERT INTO `trinity_string`(`entry`,`content_default`) VALUES (20070, 'Guide me to the Fortress Graveyard.'), (20075, 'Guide me back to the Horde landing camp.'), (20076, 'Guide me back to the Alliance landing camp.'), -(20077, 'Queue for Wintergrasp.'); \ No newline at end of file +(20077, 'Queue for Wintergrasp.'); -- cgit v1.2.3 From c55f711f49dc4513a30860913f331fd2e77de654 Mon Sep 17 00:00:00 2001 From: dr-j Date: Wed, 3 Apr 2013 21:32:12 +0200 Subject: DB/SAI: add SAI support for quest Quest: The Angry Gorloc Major thanks for everyone involved in this work, what i could see: Kirkhammett, Dr-j, Pitcrawler Closes #9468 --- sql/updates/world/2013_04_03_02_world_sai.sql | 679 ++++++++++++++++++++++++++ 1 file changed, 679 insertions(+) create mode 100644 sql/updates/world/2013_04_03_02_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_03_02_world_sai.sql b/sql/updates/world/2013_04_03_02_world_sai.sql new file mode 100644 index 00000000000..7fe2640c9ea --- /dev/null +++ b/sql/updates/world/2013_04_03_02_world_sai.sql @@ -0,0 +1,679 @@ +SET @HO_SOOSAY := 28027; +SET @HO_GOSSIP := 9742; +SET @O_STATE := 50503; +SET @T_STORM := 53071; +SET @FI_LAFOO := 52547; +SET @FI_JALOOT := 52548; +SET @FI_MOODLE := 52549; +SET @SEEINVIS := 52214; +SET @RAINSPEAKERAURA := 51639; +SET @TREASUREPING:= 51420; +SET @GORLOCPING := 51794; +SET @WOLVARPING := 51791; +SET @DIGUPGLINTINGBUG:= 51443; +SET @DIGUPSPARKINGHARE := 51441; +SET @DIGUPSHININGCRYSTAL := 51397; +SET @DIGUPGLINTINGARMOR := 51398; +SET @DIGUPGLOWINGGEM := 51400; +SET @DIGUPPOLISHEDPLATTER := 51401; +SET @DIGUPSPARKINGTREASURE := 51402; +SET @BLESSINGOFTHESPARKINGHARE := 51442; +SET @JALOOTSINTENSITY := 52119; +SET @RAINSPEAKERBUNNY := 28455; +SET @LAFOO := 28120; +SET @MOODLE := 28122; +SET @JALOOT := 28121; +SET @GLINTINGDIRT := 28362; +SET @GLINTINGBUG := 28372; +SET @SPARKLINGHARE := 28371; +SET @GLINTINGDIRTSCRIPT := 2836201; +SET @GORLOCTREASURESCRIPT := 2812000; +SET @ELDER_HARKEK := 28138; +SET @SHAMAN_RAKJAK := 28082; +SET @EH_GOSSIP:= 9741; +SET @FRENZYAURA := 51234; +SET @FRENZYBUNNY := 28299; +SET @GOREGEK := 28214; +SET @DAJIK := 28215; +SET @ZEPIK := 28216; +SET @FI_GOREGEK := 52542; +SET @FI_DAJIK := 52544; +SET @FI_ZEPIK := 52545; +SET @CHICKENSEEINVIS := 50735; +SET @DESSAWNRETAINER := 53163; +SET @MOSSWALKERAURA := 51644; +SET @MOSSWALKERBUNNY := 28459; +SET @ANGRYGORLOCCREDIT := 54057; +SET @MISTWHISPERAURA := 51239; +SET @MISTWHISPERBUNNY := 28300; +SET @SPEARBORNAURA := 51642; +SET @SPEARBORNBUNNY := 28457; +SET @KARTAKHOLDAURA := 51643; +SET @KARTAKHOLDBUNNY := 28458; +SET @SPARKTOUCHEDAURA := 51641; +SET @SPARKTOUCHEDBUNNY := 28456; +SET @SAPPHIREHIVEAURA := 51651; +SET @LIFEBLOODPILLARBUNNY := 28460; +SET @LIFEBLOODPILLARAURA:= 51649; +SET @SKYREACHPILLARBUNNY := 28454; +SET @SKYREACHPILLARAURA:= 51645; +SET @SAPPHIREHIVEBUNNY := 28462; +SET @GORLOCLOCATIONPERIODIC := 51793; +SET @WOLVARLOCATIONPERIODIC := 51792; +SET @LOOKINGFORTREASUREAURA := 51407; +SET @SHOLAZARGUARDIANHEARTBEAT := 51623; +SET @DIGGINGFORTEASURE := 51405; +SET @GOREGEKSSHACKLE := 38619; +SET @DAJIKSCHALK := 38621; +SET @ZEPIKSHUNTINGHORN := 38512; +SET @LAFOOSBUGBAG := 38622; +SET @JALOOTSCRYSTAL := 38623; +SET @MOODLESSTRESSBALL := 38624; +SET @INVISIBILTY := 52213; +SET @HARDKNUCKLE := 28096; +SET @HARDKNUCKLEMATRIARCH := 28213; +SET @SAPPHIREQUEEN := 28087; +SET @VENOMTIP := 28358; + +UPDATE `creature_template` SET `minlevel`=77, `maxlevel`=77, `exp`=2,`mindmg`=371, `maxdmg`=522,`attackpower`=478 WHERE `entry`IN (@GOREGEK,@DAJIK,@ZEPIK); +UPDATE `creature_template` SET `unit_flags` =33555200 WHERE `entry`IN (@MOSSWALKERBUNNY,@MISTWHISPERBUNNY,@SPEARBORNBUNNY,@KARTAKHOLDBUNNY,@SPARKTOUCHEDBUNNY,@SAPPHIREHIVEBUNNY,@LIFEBLOODPILLARBUNNY,@SKYREACHPILLARBUNNY); +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry` IN(@HO_SOOSAY,@ELDER_HARKEK,@SHAMAN_RAKJAK); +DELETE FROM `creature_ai_scripts` WHERE `creature_id`IN(@HO_SOOSAY,@ELDER_HARKEK,@SHAMAN_RAKJAK);; +DELETE FROM `smart_scripts` WHERE `entryorguid`IN(@HO_SOOSAY,@ELDER_HARKEK,@SHAMAN_RAKJAK); +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 +(@HO_SOOSAY, 0, 0, 0, 1, 0, 100, 0, 0, 0, 0, 0, 75, @O_STATE, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'High-Oracle Soo-say - Out of combat - Add Oracle State Aura'), +(@HO_SOOSAY, 0, 1, 0, 0, 0, 100, 0, 5000, 10000, 12000, 16000, 11, @T_STORM, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'High-Oracle Soo-say - In Combat - Cast Thunderstorm'), +(@HO_SOOSAY,0,2,8,62,0,100,0,@HO_GOSSIP,0,0,0,85,@FI_LAFOO,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Oracle Soo-say - On gossip select - Spellcast Forceitem Lafoo'), +(@HO_SOOSAY,0,3,8,62,0,100,0,@HO_GOSSIP,1,0,0,85,@FI_LAFOO,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Oracle Soo-say - On gossip select - Spellcast Forceitem Lafoo'), +(@HO_SOOSAY,0,4,8,62,0,100,0,@HO_GOSSIP,2,0,0,85,@FI_JALOOT,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Oracle Soo-say - On gossip select - Spellcast Forceitem Jaloot'), +(@HO_SOOSAY,0,5,8,62,0,100,0,@HO_GOSSIP,3,0,0,85,@FI_JALOOT,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Oracle Soo-say - On gossip select - Spellcast Forceitem Jaloot'), +(@HO_SOOSAY,0,6,8,62,0,100,0,@HO_GOSSIP,4,0,0,85,@FI_MOODLE,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Oracle Soo-say - On gossip select - Spellcast Forceitem Moodle'), +(@HO_SOOSAY,0,7,8,62,0,100,0,@HO_GOSSIP,5,0,0,85,@FI_MOODLE,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Oracle Soo-say - On gossip select - Spellcast Forceitem Moodle'), +(@HO_SOOSAY,0,8,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Oracle Soo-say - On gossip select - Close gossip'), +(@HO_SOOSAY,0,9, 0, 20, 0, 100, 0, 12704, 0, 0, 0, 28, @SEEINVIS, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'High-Oracle Soo-say - On Quest Complete - Remove Aura Rainspeaker Treasures: See Invisibility'), +(@HO_SOOSAY,0,10, 0, 19, 0, 100, 0, 12704, 0, 0, 0, 85, @SEEINVIS, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'High-Oracle Soo-say - On Quest Accept - Invoker Cast Rainspeaker Treasures: See Invisibility'), +(@HO_SOOSAY, 0, 11, 0, 20, 0, 100, 0, 12572, 0, 0, 0, 28, @SEEINVIS, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'High-Oracle Soo-say - On Quest Complete - Remove Aura Rainspeaker Treasures: See Invisibility'), +(@HO_SOOSAY, 0, 12, 0, 19, 0, 100, 0, 12574, 0, 0, 0, 57, @LAFOOSBUGBAG, 1, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'High-Oracle Soo-say - On Quest Accept - Remove Lafoos Bug bag'), +(@HO_SOOSAY, 0, 13, 0, 20, 0, 100, 0, 12577, 0, 0, 0, 57, @JALOOTSCRYSTAL, 1, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'High-Oracle Soo-say - On Quest Complete - Remove Jaloots favourite crystal'), +(@HO_SOOSAY, 0, 14, 0, 20, 0, 100, 0, 12581, 0, 0, 0, 57, @MOODLESSTRESSBALL, 1, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'High-Oracle Soo-say - On Quest Complete - Remove Moodles Stress Ball'), +-- +(@SHAMAN_RAKJAK,0,0,0,19,0,100,0,12529,0,0,0,11,@FI_GOREGEK,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Shaman Rakjak - On quest accept - Spellcast Forceitem Goregek'), +(@SHAMAN_RAKJAK,0,1,0,19,0,100,0,12530,0,0,0,11,@FI_GOREGEK,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Shaman Rakjak - On quest accept - Spellcast Forceitem Goregek'), +(@SHAMAN_RAKJAK,0,2,0,19,0,100,0,12533,0,0,0,11,@FI_DAJIK,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Shaman Rakjak - On quest accept - Spellcast Forceitem Dajik'), +(@SHAMAN_RAKJAK,0,3,0,19,0,100,0,12534,0,0,0,11,@FI_DAJIK,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Shaman Rakjak - On quest accept - Spellcast Forceitem Dajik'), +(@SHAMAN_RAKJAK,0,4,0,19,0,100,0,12536,0,0,0,11,@FI_ZEPIK,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Shaman Rakjak - On quest accept - Spellcast Forceitem Zepik'), +(@SHAMAN_RAKJAK, 0, 15, 0, 19, 0, 100, 0, 12533, 0, 0, 0, 57, @GOREGEKSSHACKLE, 1, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'High-Shaman Rakjak - On Quest Accept - Remove Goregeks Shackes'), +(@SHAMAN_RAKJAK, 0, 16, 0, 19, 0, 100, 0, 12536, 0, 0, 0, 57, @DAJIKSCHALK, 1, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'High-Shaman Rakjak - On Quest Accept - Remove Dajiks Chalk'), +(@SHAMAN_RAKJAK, 0, 17, 0, 19, 0, 100, 0, 12540, 0, 0, 0, 57, @ZEPIKSHUNTINGHORN, 1, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'High-Shaman Rakjak - On Quest Accept - Remove Zepiks Hunting Horn'), +-- +(@ELDER_HARKEK,0,4,10,62,0,100,0,@EH_GOSSIP,0,0,0,85,@FI_GOREGEK,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Elder Harkek - On gossip select - Spellcast Forceitem Goregek'), +(@ELDER_HARKEK,0,5,10,62,0,100,0,@EH_GOSSIP,1,0,0,85,@FI_GOREGEK,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Elder Harkek - On gossip select - Spellcast Forceitem Goregek'), +(@ELDER_HARKEK,0,6,10,62,0,100,0,@EH_GOSSIP,2,0,0,85,@FI_DAJIK,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Elder Harkek - On gossip select - Spellcast Forceitem Dajik'), +(@ELDER_HARKEK,0,7,10,62,0,100,0,@EH_GOSSIP,3,0,0,85,@FI_DAJIK,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Elder Harkek - On gossip select - Spellcast Forceitem Dajik'), +(@ELDER_HARKEK,0,8,10,62,0,100,0,@EH_GOSSIP,4,0,0,85,@FI_ZEPIK,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Elder Harkek - On gossip select - Spellcast Forceitem Zepik'), +(@ELDER_HARKEK,0,9,10,62,0,100,0,@EH_GOSSIP,5,0,0,85,@FI_ZEPIK,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Elder Harkek - On gossip select - Spellcast Forceitem Zepik'), +(@ELDER_HARKEK,0,10,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Elder Harkek - On gossip select - Close gossip'), +(@ELDER_HARKEK, 0, 3, 0, 20, 0, 100, 0, 12702, 0, 0, 0, 28, @CHICKENSEEINVIS, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Elder Harkek - On Quest Complete - Remove Aura Frenzyheart Chicken: See Invisibility'), +(@ELDER_HARKEK, 0, 2, 0, 20, 0, 100, 0, 12532, 0, 0, 0, 28, @CHICKENSEEINVIS, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Elder Harkek - On Quest Complete - Remove Aura Frenzyheart Chicken: See Invisibility'), +(@ELDER_HARKEK, 0, 1, 0, 19, 0, 100, 0, 12702, 0, 0, 0, 85, @CHICKENSEEINVIS, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Elder Harkek - On Quest Accept - Invoker Cast Frenzyheart Chicken: See Invisibility'), +(@ELDER_HARKEK, 0, 0, 0, 19, 0, 100, 0, 12532, 0, 0, 0, 85, @CHICKENSEEINVIS, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Elder Harkek - On Quest Accept - Invoker Cast Frenzyheart Chicken: See Invisibility'), +(@ELDER_HARKEK, 0, 11, 0, 19, 0, 100, 0, 12534, 0, 0, 0, 57, @GOREGEKSSHACKLE, 1, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Elder Harkek - On Quest Accept - Remove Goregeks Shackes'); +-- +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN(@HO_GOSSIP,@EH_GOSSIP) AND `id` IN(0,1,2,3,4,5); +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 +(@HO_GOSSIP,0,0, 'I need to find Lafoo, do you have his bug bag?',1,1,0,0,0,0, ''), +(@HO_GOSSIP,1,0, 'I need to find Lafoo, do you have his bug bag?',1,1,0,0,0,0, ''), +(@HO_GOSSIP,2,0, 'I need to find Jaloot, do you have his favorite crystal?',1,1,0,0,0,0, ''), +(@HO_GOSSIP,3,0, 'I need to find Jaloot, do you have his favorite crystal?',1,1,0,0,0,0, ''), +(@HO_GOSSIP,4,0, 'I need to find Moodle, do you have his stress ball?',1,1,0,0,0,0, ''), +(@HO_GOSSIP,5,0, 'I need to find Moodle, do you have his stress ball?',1,1,0,0,0,0, ''), +(@EH_GOSSIP,0,0, 'I need to find Goregek, do you have his shackles?',1,1,0,0,0,0, ''), +(@EH_GOSSIP,1,0, 'I need to find Goregek, do you have his shackles?',1,1,0,0,0,0, ''), +(@EH_GOSSIP,2,0, 'I need to find Dajik, do you have his chalk?',1,1,0,0,0,0, ''), +(@EH_GOSSIP,3,0, 'I need to find Dajik, do you have his chalk?',1,1,0,0,0,0, ''), +(@EH_GOSSIP,4,0, 'I need to find Zepik, do you have his hunting horn?',1,1,0,0,0,0, ''), +(@EH_GOSSIP,5,0, 'I need to find Zepik, do you have his hunting horn?',1,1,0,0,0,0, ''); +-- +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`IN(@HO_GOSSIP,@EH_GOSSIP); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(15,@HO_GOSSIP,0,0,0,2,0,@LAFOOSBUGBAG,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Lafoo''s Bug Bag'), +(15,@HO_GOSSIP,0,0,0,9,0,12571,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has Taken Quest Make the Bad Snake go away'), +(15,@HO_GOSSIP,0,0,2,2,0,@LAFOOSBUGBAG,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Lafoo''s Bug Bag'), +(15,@HO_GOSSIP,0,0,2,8,0,12571,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has Rewarded Quest Make the Bad Snake go away'), +(15,@HO_GOSSIP,0,0,1,2,0,@LAFOOSBUGBAG,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Lafoo''s Bug Bag'), +(15,@HO_GOSSIP,0,0,1,28,0,12571,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has completed Quest Make the Bad Snake go away'), +(15,@HO_GOSSIP,0,0,0,8,0,12573,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Quest Making Peace'), +(15,@HO_GOSSIP,0,0,1,8,0,12573,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Quest Making Peace'), +(15,@HO_GOSSIP,0,0,2,8,0,12573,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Quest Making Peace'), +(15,@HO_GOSSIP,1,0,0,8,0,12695,0,0,0,0,0, '', 'High-Oracle Soo-say - Show gossip option only if player has rewarded quest Return of the Friendly Dryskin'), +(15,@HO_GOSSIP,1,0,0,5,0,1105,224,0,0,0,0, '', 'High-Oracle Soo-say - Show gossip option only if player is at least honored with The Oracles'), +(15,@HO_GOSSIP,1,0,0,2,0,@LAFOOSBUGBAG,1,0,1,0,0, '', 'High-Oracle Soo-say - Show gossip option only if player has no item Lafoo''s Bug Bag'), +(15,@HO_GOSSIP,4,0,0,2,0,@MOODLESSTRESSBALL,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Moodle''s Stress Ball'), +(15,@HO_GOSSIP,4,0,0,9,0,12578,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has Taken Quest The Angry Gorloc'), +(15,@HO_GOSSIP,4,0,2,2,0,@MOODLESSTRESSBALL,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Moodle''s Stress Ball'), +(15,@HO_GOSSIP,4,0,2,8,0,12578,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has Rewarded Quest The Angry Gorloc'), +(15,@HO_GOSSIP,4,0,1,2,0,@MOODLESSTRESSBALL,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Moodle''s Stress Ball'), +(15,@HO_GOSSIP,4,0,1,28,0,12578,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has Completed Quest The Angry Gorloc'), +(15,@HO_GOSSIP,4,0,0,8,0,12579,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Quest Lifeblood of the Mosswalker Shrine'), +(15,@HO_GOSSIP,4,0,1,8,0,12579,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Quest Lifeblood of the Mosswalker Shrine'), +(15,@HO_GOSSIP,4,0,2,8,0,12579,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Quest Lifeblood of the Mosswalker Shrine'), +(15,@HO_GOSSIP,4,0,3,2,0,@MOODLESSTRESSBALL,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Moodle''s Stress Ball'), +(15,@HO_GOSSIP,4,0,3,9,0,12578,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has Taken Quest The Angry Gorloc'), +(15,@HO_GOSSIP,4,0,5,2,0,@MOODLESSTRESSBALL,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Moodle''s Stress Ball'), +(15,@HO_GOSSIP,4,0,5,8,0,12578,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has Rewarded Quest The Angry Gorloc'), +(15,@HO_GOSSIP,4,0,4,2,0,@MOODLESSTRESSBALL,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Moodle''s Stress Ball'), +(15,@HO_GOSSIP,4,0,4,28,0,12578,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has Completed Quest The Angry Gorloc'), +(15,@HO_GOSSIP,4,0,3,8,0,12580,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Quest The Mosswalker Savior'), +(15,@HO_GOSSIP,4,0,4,8,0,12580,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Quest The Mosswalker Savior'), +(15,@HO_GOSSIP,4,0,5,8,0,12580,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Quest The Mosswalker Savior'), +(15,@HO_GOSSIP,5,0,0,8,0,12695,0,0,0,0,0, '', 'High-Oracle Soo-say - Show gossip option only if player has rewarded quest Return of the Friendly Dryskin'), +(15,@HO_GOSSIP,5,0,0,5,0,1105,224,0,0,0,0, '', 'High-Oracle Soo-say - Show gossip option only if player is at least honored with The Oracles'), +(15,@HO_GOSSIP,5,0,0,2,0,@JALOOTSCRYSTAL,1,0,1,0,0, '', 'High-Oracle Soo-say - Show gossip option only if player has no item Jaloot''s Favorite Crystal'), +(15,@HO_GOSSIP,2,0,0,2,0,@JALOOTSCRYSTAL,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Jaloot''s Favourite Crystal'), +(15,@HO_GOSSIP,2,0,0,9,0,12574,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has Taken Quest Back so soon?'), +(15,@HO_GOSSIP,2,0,2,2,0,@JALOOTSCRYSTAL,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Jaloot''s Favourite Crystal'), +(15,@HO_GOSSIP,2,0,2,8,0,12574,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has Rewarded Back so soon?'), +(15,@HO_GOSSIP,2,0,1,2,0,@JALOOTSCRYSTAL,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Jaloot''s Favourite Crystal'), +(15,@HO_GOSSIP,2,0,1,28,0,12574,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has Completed Back so soon?'), +(15,@HO_GOSSIP,2,0,0,8,0,12577,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Home Time'), +(15,@HO_GOSSIP,2,0,1,8,0,12577,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Home Time'), +(15,@HO_GOSSIP,2,0,2,8,0,12577,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Home Time'), +(15,@HO_GOSSIP,3,0,0,8,0,12695,0,0,0,0,0, '', 'High-Oracle Soo-say - Show gossip option only if player has rewarded quest Return of the Friendly Dryskin'), +(15,@HO_GOSSIP,3,0,0,5,0,1105,224,0,0,0,0, '', 'High-Oracle Soo-say - Show gossip option only if player is at least honored with The Oracles'), +(15,@HO_GOSSIP,3,0,0,2,0,@MOODLESSTRESSBALL,1,0,1,0,0, '', 'High-Oracle Soo-say - Show gossip option only if player has no item Moodle''s Stress Ball'), +(15,@EH_GOSSIP,0,0,0,2,0,@GOREGEKSSHACKLE,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Gorekeks Shackles'), +(15,@EH_GOSSIP,0,0,0,9,0,12529,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has Taken Quest The Ape Hunters Slave'), +(15,@EH_GOSSIP,0,0,2,2,0,@GOREGEKSSHACKLE,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Gorekeks Shackles'), +(15,@EH_GOSSIP,0,0,2,8,0,12529,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has Rewarded Quest The Ape Hunters Slave'), +(15,@EH_GOSSIP,0,0,1,2,0,@GOREGEKSSHACKLE,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Gorekeks Shackles'), +(15,@EH_GOSSIP,0,0,1,28,0,12529,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has completed Quest The Ape Hunters Slave'), +(15,@EH_GOSSIP,0,0,3,2,0,@GOREGEKSSHACKLE,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Gorekeks Shackles'), +(15,@EH_GOSSIP,0,0,3,9,0,12530,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has Taken Quest Tormenting the Softknuckles'), +(15,@EH_GOSSIP,0,0,4,2,0,@GOREGEKSSHACKLE,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Gorekeks Shackles'), +(15,@EH_GOSSIP,0,0,4,8,0,12530,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has Rewarded Quest Tormenting the Softknuckles'), +(15,@EH_GOSSIP,0,0,5,2,0,@GOREGEKSSHACKLE,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Gorekeks Shackles'), +(15,@EH_GOSSIP,0,0,5,28,0,12530,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has completed Quest Tormenting the Softknuckles'), +(15,@EH_GOSSIP,0,0,0,14,0,12533,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Wasp Hunters Apprentice'), +(15,@EH_GOSSIP,0,0,1,14,0,12533,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Wasp Hunters Apprentice'), +(15,@EH_GOSSIP,0,0,2,14,0,12533,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Wasp Hunters Apprentice'), +(15,@EH_GOSSIP,0,0,3,14,0,12533,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Wasp Hunters Apprentice'), +(15,@EH_GOSSIP,0,0,4,14,0,12533,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Wasp Hunters Apprentice'), +(15,@EH_GOSSIP,0,0,5,14,0,12533,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Wasp Hunters Apprentice'), +(15,@EH_GOSSIP,0,0,0,14,0,12534,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Underground Menace '), +(15,@EH_GOSSIP,0,0,1,14,0,12534,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Underground Menace '), +(15,@EH_GOSSIP,0,0,2,14,0,12534,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Underground Menace '), +(15,@EH_GOSSIP,0,0,3,14,0,12534,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Underground Menace '), +(15,@EH_GOSSIP,0,0,4,14,0,12534,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Underground Menace '), +(15,@EH_GOSSIP,0,0,5,14,0,12534,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Underground Menace '), +(15,@EH_GOSSIP,2,0,0,2,0,@DAJIKSCHALK,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Dajiks Worn Chalk'), +(15,@EH_GOSSIP,2,0,0,9,0,12533,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has Taken Quest The Wasp Hunters Apprentice'), +(15,@EH_GOSSIP,2,0,2,2,0,@DAJIKSCHALK,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Dajiks Worn Chalk'), +(15,@EH_GOSSIP,2,0,2,8,0,12533,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has Rewarded Quest The Wasp Hunters Apprentice'), +(15,@EH_GOSSIP,2,0,1,2,0,@DAJIKSCHALK,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Dajiks Worn Chalk'), +(15,@EH_GOSSIP,2,0,1,28,0,12533,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has completed Quest The Wasp Hunters Apprentice'), +(15,@EH_GOSSIP,2,0,3,2,0,@DAJIKSCHALK,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Dajiks Worn Chalk'), +(15,@EH_GOSSIP,2,0,3,9,0,12534,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has Taken Quest The Underground Menace'), +(15,@EH_GOSSIP,2,0,4,2,0,@DAJIKSCHALK,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Dajiks Worn Chalk'), +(15,@EH_GOSSIP,2,0,4,8,0,12534,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has Rewarded Quest The Underground Menace'), +(15,@EH_GOSSIP,2,0,5,2,0,@DAJIKSCHALK,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Dajiks Worn Chalk'), +(15,@EH_GOSSIP,2,0,5,28,0,12534,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has completed Quest The Underground Menace'), +(15,@EH_GOSSIP,2,0,0,14,0,12536,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest A Rough Ride'), +(15,@EH_GOSSIP,2,0,1,14,0,12536,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest A Rough Ride'), +(15,@EH_GOSSIP,2,0,2,14,0,12536,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest A Rough Ride'), +(15,@EH_GOSSIP,2,0,3,14,0,12536,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest A Rough Ride'), +(15,@EH_GOSSIP,2,0,4,14,0,12536,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest A Rough Ride'), +(15,@EH_GOSSIP,2,0,5,14,0,12536,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest A Rough Ride'), +(15,@EH_GOSSIP,4,0,0,2,0,@ZEPIKSHUNTINGHORN,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Zepiks Hunting Horn'), +(15,@EH_GOSSIP,4,0,0,9,0,12536,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has Taken Quest A Rough Ride'), +(15,@EH_GOSSIP,4,0,2,2,0,@ZEPIKSHUNTINGHORN,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Zepiks Hunting Horn'), +(15,@EH_GOSSIP,4,0,2,8,0,12536,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has Rewarded Quest A Rough Ride'), +(15,@EH_GOSSIP,4,0,1,2,0,@ZEPIKSHUNTINGHORN,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Zepiks Hunting Horn'), +(15,@EH_GOSSIP,4,0,1,28,0,12536,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has completed Quest A Rough Ride'), +(15,@EH_GOSSIP,4,0,0,8,0,12539,0,0,1,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest Hoofing It'), +(15,@EH_GOSSIP,4,0,1,8,0,12539,0,0,1,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest Hoofing It'), +(15,@EH_GOSSIP,4,0,2,8,0,12539,0,0,1,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest Hoofing It'); +-- +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(15, @EH_GOSSIP,1,0,8,12692,0,0,0,0, '', 'Elder Harkek - Show gossip option only if player has rewarded quest Return of the Lich Hunter'), +(15, @EH_GOSSIP,1,0,5,1104,224,0,0,0, '', 'Elder Harkek - Show gossip option only if player is at least honored with Frenzheart Tribe'), +(15, @EH_GOSSIP,1,0,2,@GOREGEKSSHACKLE,1,0,1,0, '', 'Elder Harkek - Show gossip option only if player has no item Goregek''s Shackles'), +(15, @EH_GOSSIP,3,0,8,12692,0,0,0,0, '', 'Elder Harkek - Show gossip option only if player has rewarded quest Return of the Lich Hunter'), +(15, @EH_GOSSIP,3,0,5,1104,224,0,0,0, '', 'Elder Harkek - Show gossip option only if player is at least honored with Frenzheart Tribe'), +(15, @EH_GOSSIP,3,0,2,@DAJIKSCHALK,1,0,1,0, '', 'Elder Harkek - Show gossip option only if player has no item Dajiks Worn Chalk'), +(15, @EH_GOSSIP,5,0,8,12692,0,0,0,0, '', 'Elder Harkek - Show gossip option only if player has rewarded quest Return of the Lich Hunter'), +(15, @EH_GOSSIP,5,0,5,1104,224,0,0,0, '', 'Elder Harkek - Show gossip option only if player is at least honored with Frenzheart Tribe'), +(15, @EH_GOSSIP,5,0,2,@ZEPIKSHUNTINGHORN,1,0,1,0, '', 'Elder Harkek - Show gossip option only if player has no item Zepiks Hunting Horn'); +-- Jaloot's Itensity and Blessing of the Sparkling Hare don't stack +DELETE FROM `spell_group` WHERE `id`=@BLESSINGOFTHESPARKINGHARE; +INSERT INTO `spell_group` (`id`, `spell_id`) VALUES +(@BLESSINGOFTHESPARKINGHARE, @BLESSINGOFTHESPARKINGHARE), +(@BLESSINGOFTHESPARKINGHARE, @JALOOTSINTENSITY); + +DELETE FROM `spell_group_stack_rules` WHERE `group_id`=@BLESSINGOFTHESPARKINGHARE; +INSERT INTO `spell_group_stack_rules` (`group_id`,`stack_rule`) VALUES +(@BLESSINGOFTHESPARKINGHARE,1); +DELETE FROM `creature_template_addon` WHERE `entry`IN(@GLINTINGDIRT,@LAFOO,@JALOOT,@MOODLE,@GLINTINGBUG,@GOREGEK,@DAJIK,@ZEPIK); +INSERT INTO `creature_template_addon` (`entry`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(@GLINTINGBUG,0,0,0,1,0, '51444'), +(@GOREGEK,0,0,0,1,0, '54178'), +(@DAJIK,0,0,0,1,0, '52734'), +(@ZEPIK,0,0,0,1,0, '54176'); +DELETE FROM `spell_linked_spell` WHERE `spell_trigger`=@SEEINVIS AND `spell_effect`=@LOOKINGFORTREASUREAURA; +INSERT INTO `spell_linked_spell` (`spell_trigger`,`spell_effect`,`type`,`comment`) VALUES +(@SEEINVIS,@LOOKINGFORTREASUREAURA,2, 'Looking for treasure aura triggered by Rainspeaker Treasures: See Invisibility'); +DELETE FROM `spell_area` WHERE `spell` =@ANGRYGORLOCCREDIT; +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`=@GLINTINGDIRT; +DELETE FROM `smart_scripts` WHERE `entryorguid` =@GLINTINGDIRT; +DELETE FROM `smart_scripts` WHERE `entryorguid` BETWEEN @GLINTINGDIRTSCRIPT AND @GLINTINGDIRTSCRIPT+5; +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 +(@GLINTINGDIRT,0,0 ,0,38, 0,100,1,1,1,0,0,23,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - On Data Set - Increment Phase'), +(@GLINTINGDIRT,0,1 ,0,1, 1,100,1,0,0,0,0,87,@GLINTINGDIRTSCRIPT,@GLINTINGDIRTSCRIPT+1,@GLINTINGDIRTSCRIPT+2,@GLINTINGDIRTSCRIPT+3,@GLINTINGDIRTSCRIPT+4,@GLINTINGDIRTSCRIPT+5,1,0,0,0,0,0,0,0, 'Glinting Dirt - OOC (Phase 2) - Run Random Script'), +(@GLINTINGDIRT,0,2 ,0,1, 1,100,1,400,400,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - OOC (Phase 2) - Despawn'), +(@GLINTINGDIRT,0,3 ,0,11, 0,100,0,0,0,0,0,11,@INVISIBILTY,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - On Spawn - Cast Rainspeaker Treasures: Invisibility'), +(@GLINTINGDIRTSCRIPT,9,0 ,0,0, 0,100,0,5000,5000,0,0,11,@DIGUPSPARKINGHARE,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Cast Dig Up Sparking Hare'), +(@GLINTINGDIRTSCRIPT,9,1 ,0,0, 0,100,0,5500,5500,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Despawn'), +(@GLINTINGDIRTSCRIPT+1,9,0 ,0,0, 0,100,0,5000,5000,0,0,11,@DIGUPSHININGCRYSTAL,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Cast Dig Up Shining Crystal'), +(@GLINTINGDIRTSCRIPT+1,9,1 ,0,0, 0,100,0,5500,5500,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Despawn'), +(@GLINTINGDIRTSCRIPT+2,9,0 ,0,0, 0,100,0,5000,5000,0,0,11,@DIGUPGLINTINGARMOR,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Cast Dig Up Glinting Armor'), +(@GLINTINGDIRTSCRIPT+2,9,1 ,0,0, 0,100,0,5500,5500,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Despawn'), +(@GLINTINGDIRTSCRIPT+3,9,0 ,0,0, 0,100,0,5000,5000,0,0,11,@DIGUPGLOWINGGEM,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Cast Dig Up Glowing Gem'), +(@GLINTINGDIRTSCRIPT+3,9,1 ,0,0, 0,100,0,5500,5500,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Despawn'), +(@GLINTINGDIRTSCRIPT+4,9,0 ,0,0, 0,100,0,5000,5000,0,0,11,@DIGUPPOLISHEDPLATTER,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Cast Dig Up Polished Platter'), +(@GLINTINGDIRTSCRIPT+4,9,1 ,0,0, 0,100,0,5500,5500,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Despawn'), +(@GLINTINGDIRTSCRIPT+5,9,0 ,0,0, 0,100,0,5000,5000,0,0,11,@DIGUPSPARKINGTREASURE,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Cast Dig Up Sparking Treasure'), +(@GLINTINGDIRTSCRIPT+5,9,1 ,0,0, 0,100,0,5500,5500,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Despawn'); + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN(@RAINSPEAKERBUNNY,@FRENZYBUNNY,@MOSSWALKERBUNNY,@MISTWHISPERBUNNY,@SPEARBORNBUNNY,@KARTAKHOLDBUNNY,@SPARKTOUCHEDBUNNY,@SAPPHIREHIVEBUNNY,@LIFEBLOODPILLARBUNNY,@SKYREACHPILLARBUNNY); +UPDATE `creature_template` SET `AIName`= 'SmartAI',`unit_flags`=32776,`InhabitType`=3 WHERE `entry`In(@LAFOO,@MOODLE,@JALOOT,@GOREGEK,@DAJIK,@ZEPIK); +UPDATE `creature_template` SET `gossip_menu_id`=9747, `npcflag`=`npcflag`|1, `speed_run`=1.30952 WHERE `entry`=@JALOOT; +UPDATE `creature_template` SET `npcflag`=`npcflag`|1, `speed_run`=1.19048 WHERE `entry`=@MOODLE; +UPDATE `gossip_menu_option` SET `action_menu_id`=9684 WHERE `menu_id`=9677; +UPDATE `creature_template` SET `gossip_menu_id`=9745 WHERE `entry`=28106; +UPDATE `creature_template` SET `speed_walk`=0.66667, `speed_run`=0.99206 WHERE `entry`=@GOREGEK; +UPDATE `creature_template` SET `speed_walk`=0.66667, `speed_run`=0.99206, `npcflag`=`npcflag`|1 WHERE `entry`=@ZEPIK; +UPDATE `gossip_menu_option` SET `action_menu_id`=9684 WHERE `menu_id`=9677; +DELETE FROM `creature_involvedrelation` WHERE `id`=28216 AND `quest`=12582; + +DELETE FROM `gossip_menu` WHERE `entry`=9747; +DELETE FROM `gossip_menu` WHERE `entry`=9562 AND `text_id`=12883; +DELETE FROM `gossip_menu` WHERE `entry`=9570 AND `text_id`=12905; +DELETE FROM `gossip_menu` WHERE `entry`=9678 AND `text_id`=13136; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES +(9562,12883), +(9570,12905), +(9678,13136), +(9747,13367); + +DELETE FROM `npc_text` WHERE `ID`=13136; +INSERT INTO `npc_text` (`ID`,`text0_0`,`text0_1`,`lang0`,`prob0`,`em0_0`,`em0_1`,`em0_2`,`em0_3`,`em0_4`,`em0_5`,`text1_0`,`text1_1`,`lang1`,`prob1`,`em1_0`,`em1_1`,`em1_2`,`em1_3`,`em1_4`,`em1_5`,`text2_0`,`text2_1`,`lang2`,`prob2`,`em2_0`,`em2_1`,`em2_2`,`em2_3`,`em2_4`,`em2_5`,`text3_0`,`text3_1`,`lang3`,`prob3`,`em3_0`,`em3_1`,`em3_2`,`em3_3`,`em3_4`,`em3_5`,`text4_0`,`text4_1`,`lang4`,`prob4`,`em4_0`,`em4_1`,`em4_2`,`em4_3`,`em4_4`,`em4_5`,`text5_0`,`text5_1`,`lang5`,`prob5`,`em5_0`,`em5_1`,`em5_2`,`em5_3`,`em5_4`,`em5_5`,`text6_0`,`text6_1`,`lang6`,`prob6`,`em6_0`,`em6_1`,`em6_2`,`em6_3`,`em6_4`,`em6_5`,`text7_0`,`text7_1`,`lang7`,`prob7`,`em7_0`,`em7_1`,`em7_2`,`em7_3`,`em7_4`,`em7_5`,`WDBVerified`) VALUES +(13136,'Vekjik no want to be bothered.','',0,1,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,12340); + +DELETE FROM `creature_equip_template` WHERE `entry` IN (@GOREGEK,@DAJIK,@ZEPIK); +INSERT INTO `creature_equip_template` (`entry`,`id`,`itemEntry1`,`itemEntry2`,`itemEntry3`) VALUES +(@GOREGEK,1,36488,0,0), +(@DAJIK,1,28325,0,0), +(@ZEPIK,1,28914,0,5258); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN(@LAFOO,@MOODLE,@JALOOT,@GOREGEK,@DAJIK,@ZEPIK,@GORLOCTREASURESCRIPT,@RAINSPEAKERBUNNY,@FRENZYBUNNY,@MOSSWALKERBUNNY,@MISTWHISPERBUNNY,@SPEARBORNBUNNY,@KARTAKHOLDBUNNY,@SPARKTOUCHEDBUNNY,@SAPPHIREHIVEBUNNY,@LIFEBLOODPILLARBUNNY,@SKYREACHPILLARBUNNY); +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 +(@GOREGEK,0,0 ,0,11,0,100,0,0,0,0,0,8,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - On Spawn - Set React State'), +(@GOREGEK,0,1,0,8,0,100,0,@FRENZYAURA,0,45000,70000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - On spellhit - Say line'), +(@GOREGEK,0,2,0,8,0,100,0,@DESSAWNRETAINER,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - On spellhit - Despawn'), +(@GOREGEK,0,3,0,0,0,100,0,3000,6000,8000,16000,11,54188,2,0,0,0,0,5,0,0,0,0,0,0,0, 'Goregek - IC - Cast Sunder Armor'), +(@GOREGEK,0,4,0,0,0,100,0,5000,8000,15000,20000,11,52743,2,0,0,0,0,2,0,0,0,0,0,0,0, 'Goregek - IC - Cast Head Smack'), +(@GOREGEK,0,5,0,2,0,100,0,0,30,60000,60000,11,52748,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - On Less than 30% HP - Cast Voracious Appetite'), +(@GOREGEK,0,6,0,13,0,100,0,12000,20000,0,0,11,6713,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - On Target Casting - Cast Disarm'), +(@GOREGEK,0,7 ,0,5,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - On Creature Death - Say'), +(@GOREGEK,0,8 ,0,1,0,100,0,10000,40000,45000,90000,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Gorekek - OOC - Say'), +(@GOREGEK,0,9 ,0,11,0,100,0,0,0,0,0,11,@WOLVARLOCATIONPERIODIC,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - On Spawn - Cast Wolvar Location Periodic'), +(@GOREGEK,0,10 ,0,11,0,100,0,0,0,0,0,11,@SHOLAZARGUARDIANHEARTBEAT,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - On Spawn - Cast Sholazar Guardian Heartbeat'), +(@GOREGEK,0,11 ,0,1,0,100,0,10000,40000,45000,90000,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Gorekek - OOC - Say'), +(@GOREGEK,0,12 ,0,1,0,100,0,10000,10000,10000,10000,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - OOC - Set Phase 2'), +(@GOREGEK,0,13 ,0,4,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - On Agro - Set Phase 1'), +(@GOREGEK,0,14 ,0,38,0,100,0,1,1,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - On Data Set - Say'), +(@GOREGEK,0,15,0,8,2,100,0,@KARTAKHOLDAURA,0,40000,70000,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - On spellhit - Say line'), +(@DAJIK,0,0 ,0,11,0,100,0,0,0,0,0,8,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On Spawn - Set React State'), +(@DAJIK,0,1,0,8,0,100,0,@FRENZYAURA,0,45000,70000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On spellhit - Say line'), +(@DAJIK,0,2,0,8,0,100,0,@DESSAWNRETAINER,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On spellhit - Despawn'), +(@DAJIK,0,3,0,0,0,100,0,3000,6000,8000,12000,11,54195,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Dajik - IC - Cast Earth''s Wrath'), +(@DAJIK,0,4,0,0,0,100,0,5000,8000,15000,20000,11,54193,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Dajik - IC - Cast Earth''s Fury'), +(@DAJIK,0,5,0,2,0,100,0,0,30,60000,60000,11,54206,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On Less than 30% HP - Cast Mend'), +(@DAJIK,0,6 ,0,5,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On Creature Death - Say'), +(@DAJIK,0,8 ,0,1,0,100,0,10000,40000,45000,90000,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - OOC - Say'), +(@DAJIK,0,9,0,8,2,100,0,@SAPPHIREHIVEAURA,0,40000,70000,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On spellhit - Say line'), +(@DAJIK,0,10 ,0,11,0,100,0,0,0,0,0,11,@WOLVARLOCATIONPERIODIC,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On Spawn - Cast Wolvar Location Periodic'), +(@DAJIK,0,11 ,0,11,0,100,0,0,0,0,0,11,@SHOLAZARGUARDIANHEARTBEAT,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik -Goregek - On Spawn - Cast Sholazar Guardian Heartbeat'), +(@DAJIK,0,12 ,0,38,0,100,0,1,1,0,0,1,4,5000,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On Creature Death (Sapphire Queen) - Say'), +(@DAJIK,0,13 ,0,38,0,100,0,1,2,0,0,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On Creature Death (Serfex the Reaver) - Say'), +(@DAJIK,0,14 ,0,1,0,100,0,10000,10000,10000,10000,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - OOC - Set Phase 2'), +(@DAJIK,0,15 ,0,4,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On Agro - Set Phase 1'), +(@DAJIK,0,16 ,0,52,0,100,0,4,@DAJIK,0,0,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik On - Text Over - Say'), +(@DAJIK,0,17,0,8,2,100,0,@SKYREACHPILLARAURA,0,40000,70000,1,7,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On spellhit - Say line'), +(@DAJIK,0,18 ,0,1,0,100,0,10000,40000,45000,90000,1,8,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - OOC - Say'), +(@DAJIK,0,19,0,8,2,100,0,@LIFEBLOODPILLARAURA,0,40000,70000,1,9,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On spellhit - Say line'), +(@ZEPIK,0,0 ,0,11,0,100,0,0,0,0,0,8,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Zepik - On Spawn - Set React State'), +(@ZEPIK,0,1,0,8,0,100,0,@FRENZYAURA,0,45000,70000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Zepik - On spellhit - Say line'), +(@ZEPIK,0,2,0,8,0,100,0,@DESSAWNRETAINER,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Zepik - On spellhit - Despawn'), +(@ZEPIK,0,3,0,0,0,100,0,4000,7000,15000,18000,11,52761,0,0,0,0,0,5,0,0,0,0,0,0,0, 'Zepik the Gorloc Hunter - IC - Cast Barbed Net'), +(@ZEPIK,0,4,0,0,0,100,0,5000,8000,12000,15000,11,52889,0,0,0,0,0,5,0,0,0,0,0,0,0, 'Zepik the Gorloc Hunter - IC - Cast Envenomed Shot'), +(@ZEPIK,0,5,0,0,0,100,0,0,6000,15000,18000,11,52873,0,0,0,0,0,5,0,0,0,0,0,0,0, 'Zepik the Gorloc Hunter - IC - Cast Open Wound'), +(@ZEPIK,0,6,0,0,0,100,0,3000,5000,3000,7000,11,52758,0,0,0,0,0,5,0,0,0,0,0,0,0, 'Zepik the Gorloc Hunter - IC - Cast Piercing Arrow'), +(@ZEPIK,0,7,0,2,0,100,0,0,30,60000,60000,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'), +(@ZEPIK,0,8 ,0,5,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Zepik - On Creature Death - Say'), +(@ZEPIK,0,9 ,0,1,0,100,0,10000,40000,45000,90000,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Zepik - OOC - Say'), +(@ZEPIK,0,10,0,8,2,100,0,@MISTWHISPERAURA,0,40000,70000,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Zepik - On spellhit - Say line'), +(@ZEPIK,0,11 ,0,11,0,100,0,0,0,0,0,11,@WOLVARLOCATIONPERIODIC,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Zepik - On Spawn - Cast Wolvar Location Periodic'), +(@ZEPIK,0,12 ,0,11,0,100,0,0,0,0,0,11,@SHOLAZARGUARDIANHEARTBEAT,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Zepik - On Spawn - Cast Sholazar Guardian Heartbeat'), +(@ZEPIK,0,13 ,0,1,0,100,0,10000,10000,10000,10000,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - OOC - Set Phase 2'), +(@ZEPIK,0,14 ,0,4,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Zepik - On Agro - Set Phase 1'), +(@ZEPIK,0,15 ,0,38,0,100,0,1,2,0,0,1,4,5000,0,0,0,0,1,0,0,0,0,0,0,0, 'Zepik - On Data Set - Say'), +(@ZEPIK,0,16 ,0,52,0,100,0,4,@ZEPIK,0,0,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Zepik - On Text Over - Say'), +(@LAFOO,0,0 ,1,8, 2,100,1,@TREASUREPING,0,60000,60000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - On Spellhit - Say'), +(@LAFOO,0,1 ,0,61, 0,100,0,0,0,0,0,80,@GORLOCTREASURESCRIPT,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - Linked with Previous Event - Run Script'), +(@LAFOO,0,2 ,0,11,0,100,0,0,0,0,0,11,@GORLOCLOCATIONPERIODIC,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - On Spawn - Cast Gorloc Location Periodic'), +(@LAFOO,0,3 ,0,11,0,100,0,0,0,0,0,11,@SHOLAZARGUARDIANHEARTBEAT,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - On Spawn - Cast Sholazar Guardian Heartbeat'), +(@LAFOO,0,4 ,0,38, 0,100,0,1,1,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - On Data Set - Say'), +(@GORLOCTREASURESCRIPT,9,0 ,0,61, 0,100,0,0,0,0,0,69,0,0,0,0,0,0,11,28362,10,0,0,0,0,0, 'Lafoo - Script - Move to Glinting Dirt'), +(@GORLOCTREASURESCRIPT,9,1 ,0,61, 0,100,0,1000,1000,0,0,45,1,1,0,0,0,0,9,@GLINTINGDIRT,0,2,0,0,0,0, 'Lafoo - Script - Set Data'), +(@GORLOCTREASURESCRIPT,9,2 ,0,61, 0,100,0,1500,1500,0,0,11,51405,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - Script - Cast Digging for Treasure'), +(@GORLOCTREASURESCRIPT,9,3 ,0,61, 0,100,0,5000,5000,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - Script - Evade'), +(@LAFOO,0,6 ,0,0, 0,100,0,0,5000,10000,12000,11,52931,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Lafoo - IC - Cast Toxic Spit'), +(@LAFOO,0,7 ,0,2,0,100,0,0,50,60000,60000,11,52940,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - On Friendly Health - Cast Sleepy Time'), +(@LAFOO,0,8 ,0,11,0,100,0,0,0,0,0,8,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - On Spawn - Set React State'), +(@LAFOO,0,9 ,0,5,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - On Creature Death - Say'), +(@LAFOO,0,10 ,0,1,0,100,0,10000,40000,45000,90000,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - OOC - Say'), +(@LAFOO,0,11,0,8,0,100,0,@RAINSPEAKERAURA,0,45000,70000,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - On spellhit - Say line'), +(@LAFOO,0,12,0,8,0,100,0,@DESSAWNRETAINER,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - On spellhit - Despawn'), +(@LAFOO,0,13,0,19,0,100,0,12572,0,0,0,85,@SEEINVIS,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Lafoo - On Quest Accept - Invoker Cast Rainspeaker Treasures: See Invisibility'), +(@LAFOO,0,14 ,0,1,0,100,0,10000,10000,10000,10000,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - OOC - Set Phase 2'), +(@LAFOO,0,15 ,0,4,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - On Agro - Set Phase 1'), +(@JALOOT,0,0 ,1,8, 2,100,1,@TREASUREPING,0,60000,60000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On Spellhit - Say'), +(@JALOOT,0,1 ,0,61, 0,100,0,0,0,0,0,80,@GORLOCTREASURESCRIPT,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - Linked with Previous Event - Run Script'), +(@JALOOT,0,2 ,0,11,0,100,0,0,0,0,0,11,@GORLOCLOCATIONPERIODIC,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On Spawn - Cast Gorloc Location Periodic'), +(@JALOOT,0,3 ,0,11,0,100,0,0,0,0,0,11,@SHOLAZARGUARDIANHEARTBEAT,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On Spawn - Cast Sholazar Guardian Heartbeat'), +(@JALOOT,0,4 ,0,38, 0,100,0,1,1,0,0,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On Data Set - Say'), +(@JALOOT,0,6,0,0,0,100,0,9000,15000,20000,25000,11,52943,2,0,0,0,0,5,0,0,0,0,0,0,0, 'Jaloot - IC - Cast Lightning Whirl'), +(@JALOOT,0,7,0,0,0,100,0,5000,8000,15000,18000,11,52944,2,0,0,0,0,5,0,0,0,0,0,0,0, 'Jaloot - IC - Cast Lightning Strike'), +(@JALOOT,0,8,0,0,0,100,0,7000,15000,20000,25000,11,52964,2,0,0,0,0,5,0,0,0,0,0,0,0, 'Jaloot - IC - Cast Spark Frenzy'), +(@JALOOT,0,9,0,2,0,100,0,0,30,30000,45000,11,52969,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On Less than 30% HP - Cast Energy Siphon'), +(@JALOOT,0,10 ,0,11,0,100,0,0,0,0,0,8,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On Spawn - Set React State'), +(@JALOOT,0,11 ,0,5,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On Creature Death - Say'), +(@JALOOT,0,12 ,0,1,0,100,0,10000,40000,45000,90000,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - OOC - Say'), +(@JALOOT,0,13,0,8,0,100,0,@RAINSPEAKERAURA,0,45000,70000,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On spellhit - Say line'), +(@JALOOT,0,14,0,11,0,100,0,0,0,0,0,11,@JALOOTSINTENSITY,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On Spawn - Cast Jaloot''s Intensity'), +(@JALOOT,0,15,0,8,0,100,0,@DESSAWNRETAINER,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On spellhit - Despawn'), +(@JALOOT,0,16,0,8,2,100,0,@SPEARBORNAURA,0,40000,70000,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On spellhit - Say line'), +(@JALOOT,0,17 ,0,1,0,100,0,10000,10000,10000,10000,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - OOC - Set Phase 2'), +(@JALOOT,0,18 ,0,4,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On Agro - Set Phase 1'), +(@MOODLE,0,0 ,1,8, 2,100,1,@TREASUREPING,0,60000,60000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On Spellhit - Say'), +(@MOODLE,0,1 ,0,61, 0,100,0,0,0,0,0,80,@GORLOCTREASURESCRIPT,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - Linked with Previous Event - Run Script'), +(@MOODLE,0,2 ,0,11,0,100,0,0,0,0,0,11,@GORLOCLOCATIONPERIODIC,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On Spawn - Cast Gorloc Location Periodic'), +(@MOODLE,0,3 ,0,11,0,100,0,0,0,0,0,11,@SHOLAZARGUARDIANHEARTBEAT,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On Spawn - Cast Sholazar Guardian Heartbeat'), +(@MOODLE,0,4 ,0,0, 0,100,0,0,5000,20000,30000,11,52974,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - IC - Cast Vicious Roar'), +(@MOODLE,0,5 ,0,20, 0,100,0,12580,0,0,0,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On Quest Complete - Say'), +(@MOODLE,0,6 ,0,0, 0,100,0,0,5000,20000,24000,11,52973,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Moodle - IC - Cast Frost Breath'), +(@MOODLE,0,7,0,0,0,100,0,9000,15000,20000,25000,11,52979,0,0,0,0,0,5,0,0,0,0,0,0,0, 'Moodle - IC - Cast Whirlwind'), +(@MOODLE,0,8,0,0,0,100,0,2000,10000,40000,50000,11,52972,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - IC - Cast Dispersal'), +(@MOODLE,0,9 ,0,2,0,100,0,0,50,60000,60000,11,52979,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On less than 50% HP - Cast Frigid Absorbtion'), +(@MOODLE,0,10 ,0,11,0,100,0,0,0,0,0,8,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On Spawn - Set React State'), +(@MOODLE,0,11 ,0,5,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On Creature Death - Say'), +(@MOODLE,0,12 ,0,1,0,100,0,10000,40000,45000,90000,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - OOC - Say'), +(@MOODLE,0,13,0,8,0,100,0,@RAINSPEAKERAURA,0,45000,70000,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On spellhit - Say line'), +(@MOODLE,0,14,0,8,0,100,1,@DESSAWNRETAINER,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On spellhit - Despawn'), +(@MOODLE,0,15,0,8,2,100,0,@MOSSWALKERAURA,0,40000,70000,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On spellhit - Say line'), +(@MOODLE,0,16 ,0,61, 0,100,0,0,0,0,0,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - Linked with Previous Event - Run Passive'), +(@MOODLE,0,17 ,0,19, 0,100,0,12581,0,0,0,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On Quest Accept - Say'), +(@MOODLE,0,18 ,0,1,0,100,0,10000,10000,10000,10000,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - OOC - Set Phase 2'), +(@MOODLE,0,19 ,0,4,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On Agro - Set Phase 1'), +(@RAINSPEAKERBUNNY,0,0,0,10,0,100,0,1,150,10000,10000,11,@RAINSPEAKERAURA,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Rainspeaker Canopy Bunny - On update OOC - Spellcast Rainspeaker Canopy Aura'), +(@FRENZYBUNNY,0,0,0,10,0,100,0,1,150,10000,10000,11,@FRENZYAURA,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Frenzyheart Hill Bunny - On update OOC - Spellcast Frenzyheart Hill Aura'), +(@MOSSWALKERBUNNY,0,0,0,10,0,100,0,1,200,10000,10000,11,@MOSSWALKERAURA,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Mosswalker Village Bunny - On update OOC - Spellcast Mosswalker Village Aura'), +(@MOSSWALKERBUNNY,0,1,0,10,0,100,0,1,200,1000,1000,85,@ANGRYGORLOCCREDIT,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Mosswalker Village Bunny - On update OOC - Cast quest credit'), +(@MISTWHISPERBUNNY,0,0,0,10,0,100,0,1,200,10000,10000,11,@MISTWHISPERAURA,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Mistwhisper Refuge Bunny - On update OOC - Spellcast Mistwhisper Refuge Aura'), +(@SPEARBORNBUNNY,0,0,0,10,0,100,0,1,200,10000,10000,11,@SPEARBORNAURA,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Spearborn Encampment Bunny - On update OOC - Spellcast Spearborn Encampment Aura'), +(@KARTAKHOLDBUNNY,0,0,0,10,0,100,0,1,200,10000,10000,11,@KARTAKHOLDAURA,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Kartak Hold Bunny - On update OOC - Spellcast Kartak Hold Aura'), +(@SPARKTOUCHEDBUNNY,0,0,0,10,0,100,0,1,200,10000,10000,11,@SPARKTOUCHEDAURA,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Sparktouched Haven Bunny - On update OOC - Spellcast Sparktouched Haven Aura'), +(@SAPPHIREHIVEBUNNY,0,0,0,10,0,100,0,1,200,10000,10000,11,@SAPPHIREHIVEAURA,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Sapphire Hive Bunny - On update OOC - Spellcast Sapphire Hive Aura'), +(@SKYREACHPILLARBUNNY,0,0,0,10,0,100,0,1,200,10000,10000,11,@SKYREACHPILLARAURA,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Skyreach Pillar Bunny - On update OOC - Spellcast Skyreach Pillar Aura'), +(@LIFEBLOODPILLARBUNNY,0,0,0,10,0,100,0,1,200,10000,10000,11,@LIFEBLOODPILLARAURA,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Lifeblood Pillar Bunny - On update OOC - Spellcast Lifeblood Pillar Aura'); + +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`=@SPARKLINGHARE; +DELETE FROM `smart_scripts` WHERE `entryorguid` =@SPARKLINGHARE; +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 +(@SPARKLINGHARE,0,0 ,0,6, 0,100,0,0,0,0,0,11,@BLESSINGOFTHESPARKINGHARE,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Sparking Hare - On Death - Cast Blessing of the Sparkling Hare'); + +DELETE FROM `creature_text` WHERE `entry` IN(@LAFOO,@JALOOT,@MOODLE,@GOREGEK,@DAJIK,@ZEPIK); +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +(@LAFOO, 0, 0, 'Ooh! Shinies!', 12, 0, 18, 0, 0, 0, 'Lafoo'), +(@LAFOO, 0, 1, 'Maybe more shiny bugs! We like bugs!', 12, 0, 17, 0, 0, 0, 'Lafoo'), +(@LAFOO, 0, 2, 'Treasure for Lafoo! Treasure for shrine!', 12, 0, 17, 0, 0, 0, 'Lafoo'), +(@LAFOO, 0, 3, 'Dig, dig, dig...', 12, 0, 16, 0, 0, 0, 'Lafoo'), +(@LAFOO, 0, 4, 'Crunchy bugs so delicious. Want?', 12, 0, 16, 0, 0, 0, 'Lafoo'), +(@LAFOO, 0, 5, 'That weird. Someone took our bugs. You have maybe?', 12, 0, 16, 0, 0, 0, 'Lafoo'), +(@LAFOO, 1, 0, 'No come back this time!', 12, 0, 100, 0, 0, 0, 'Lafoo'), +(@LAFOO, 2, 0, 'One day maybe you can be Soo-dryskin. You like?', 12, 0, 20, 0, 0, 0, 'Lafoo'), +(@LAFOO, 2, 1, 'You have pie? Someone gave us pie year ago. Really yummy.', 12, 0, 20, 0, 0, 0, 'Lafoo'), +(@LAFOO, 2, 2, 'Big comfy tree. Good Home.', 12, 0, 20, 0, 0, 0, 'Lafoo'), +(@LAFOO, 2, 3, 'Never meet Great Ones. Nope, just met their shrines.', 12, 0, 20, 0, 0, 0, 'Lafoo'), +(@LAFOO, 2, 4, 'You got funny looking eyeballs.', 12, 0, 20, 0, 0, 0, 'Lafoo'), +(@LAFOO, 3, 0, 'Home good, but not stay long! More adventures!.', 12, 0, 100, 0, 0, 0, 'Lafoo'), +(@LAFOO, 4, 0, 'Hiss... hiss... dead. All dead', 12, 0, 100, 0, 0, 0, 'Lafoo'), +(@JALOOT, 0, 0, 'Shiny things! Shiny things! Not as shiny as my crystal, but still shiny!', 12, 0, 25, 0, 0, 0, 'Jaloot'), +(@JALOOT, 0, 1, 'More treasures! Treasures of all kinds! Yay treasures!', 12, 0, 25, 0, 0, 0, 'Jaloot'), +(@JALOOT, 0, 2, 'Can never have too many shiny crystals! Nope!', 12, 0, 25, 0, 0, 0, 'Jaloot'), +(@JALOOT, 0, 3, 'We are fast digger! Really fast! See... all done! That was fast, huh?', 12, 0, 25, 0, 0, 0, 'Jaloot'), +(@JALOOT, 1, 0, 'You like that? Bet not! Bet not cause you dead! Hahah!', 12, 0, 34, 0, 0, 0, 'Jaloot'), +(@JALOOT, 1, 1, 'Vic...tor...ious! Dun nun nun dun da da!', 12, 0, 33, 0, 0, 0, 'Jaloot'), +(@JALOOT, 1, 2, 'Killing Spree!', 12, 0, 33, 0, 0, 0, 'Jaloot'), +(@JALOOT, 2, 0, 'Mistcaller really good at controlling weather with shrine. They know just which crystals to use! Really good!', 12, 0, 16, 0, 0, 0, 'Jaloot'), +(@JALOOT, 2, 1, 'Ever trip over own feet? We have. Kind of hurt. No do it, not fun. Nope.', 12, 0, 16, 0, 0, 0, 'Jaloot'), +(@JALOOT, 2, 2, 'Want us to help with something? What we help with? We good at helping.', 12, 0, 16, 0, 0, 0, 'Jaloot'), +(@JALOOT, 2, 3, 'Hello! You''re pretty strong and nice and stuff. I like you. Lets stay friends, okay?', 12, 0, 16, 0, 0, 0, 'Jaloot'), +(@JALOOT, 2, 4, 'Misty. Very misty. Seem sort of misty to you? Maybe not so much.', 12, 0, 16, 0, 0, 0, 'Jaloot'), +(@JALOOT, 2, 5, 'Lets go jump off tree! Fun fun!', 12, 0, 15, 0, 0, 0, 'Jaloot'), +(@JALOOT, 3, 0, 'Chase the hatchlings! Chase the hatchlings! So fast!', 12, 0, 34, 0, 0, 0, 'Jaloot'), +(@JALOOT, 3, 1, 'Great Ones keep home safe because they like Oracles I think! They know we good and nice.', 12, 0, 33, 0, 0, 0, 'Jaloot'), +(@JALOOT, 3, 2, 'Home home home... place of the shinies!', 12, 0, 33, 0, 0, 0, 'Jaloot'), +(@JALOOT, 4, 0, 'We know you have dragon thing! We not scared! We going to get you and dragon thing!', 12, 0, 34, 0, 0, 0, 'Jaloot'), +(@JALOOT, 4, 1, 'Teach you to steal our treasures! Our treasures are... ours, okay?', 12, 0, 33, 0, 0, 0, 'Jaloot'), +(@JALOOT, 4, 2, 'Time to hide puppy-men! We are coming for you!', 12, 0, 33, 0, 0, 0, 'Jaloot'), +(@JALOOT, 5, 0, 'Tartek no match for you! You got the skills. Yeah!', 12, 0, 100, 0, 0, 0, 'Jaloot'), +(@MOODLE, 0, 0, 'What the heck are shiny rabbits doing here anyway?', 12, 0, 25, 0, 0, 0, 'Moodle'), +(@MOODLE, 0, 1, 'Here I am, digging up some useless bauble on the will of someone I just met...does that seem right to you?', 12, 0, 25, 0, 0, 0, 'Moodle'), +(@MOODLE, 0, 2, 'Hey, maybe we''ll find some more useless bugs!', 12, 0, 25, 0, 0, 0, 'Moodle'), +(@MOODLE, 0, 3, 'Yay... more dirt.', 12, 0, 25, 0, 0, 0, 'Moodle'), +(@MOODLE, 1, 0, 'I can''t believe ... they''re all ... dead', 12, 0, 50, 0, 0, 0, 'Moodle'), +(@MOODLE, 1, 1, 'Another one falls to our Onslaught, As it should be.', 12, 0, 50, 0, 0, 0, 'Moodle'), +(@MOODLE, 2, 0, 'There some reason why we''re still here? I''d love to hear it', 12, 0, 33, 0, 0, 0, 'Moodle'), +(@MOODLE, 2, 1, 'Yeah, let''s go now', 12, 0, 33, 0, 0, 0, 'Moodle'), +(@MOODLE, 2, 2, 'I''m done here', 12, 0, 34, 0, 0, 0, 'Moodle'), +(@MOODLE, 3, 0, 'Going to go take a nap? I apologize in advance for accidentally stepping on your face while you sleep.', 12, 0, 33, 0, 0, 0, 'Moodle'), +(@MOODLE, 3, 1, 'Planning to sit on your butt some more, or are we going to go do something that''s actually useful?', 12, 0, 34, 0, 0, 0, 'Moodle'), +(@MOODLE, 3, 2, 'Here I am, brain the size of a planet, and they ask me to take you to the other village. Call that job satisfaction? ''Cause I don''t.', 12, 0, 33, 0, 0, 0, 'Moodle'), +(@MOODLE, 4, 0, 'The Mosswalkers were good people... they did not deserve this.', 12, 0, 17, 0, 0, 0, 'Moodle'), +(@MOODLE, 4, 1, 'I know I talk down to them, but I never want to see any of my people die.', 12, 0, 17, 0, 0, 0, 'Moodle'), +(@MOODLE, 4, 2, 'It''s good to see some of the mosswalker were more resilient than I thought.', 12, 0, 17, 0, 0, 0, 'Moodle'), +(@MOODLE, 4, 3, 'It''s hard to believe any of them survived this.', 12, 0, 17, 0, 0, 0, 'Moodle'), +(@MOODLE, 4, 4, 'There are more that might still be alive! We need to keep moving.', 12, 0, 16, 0, 0, 0, 'Moodle'), +(@MOODLE, 4, 5, 'Where are they dragging those bodies? What are they doing to them?', 12, 0, 16, 0, 0, 0, 'Moodle'), +(@MOODLE, 5, 0, 'This fight''s all yours', 12, 0, 10, 0, 0, 0, 'Moodle'), +(@MOODLE, 6, 0, 'It''s a small comfort to see that they haven''t brought any back in undeath.', 12, 0, 100, 0, 0, 0, 'Moodle'), +(@GOREGEK,0,0,'Home! You better have brought back meat for Goregek, slave.',12,0,20,0,0,0,'Goregek'), +(@GOREGEK,0,1,'Goregek get some sleep. Go bring foodstuffs back, slave thing.',12,0,20,0,0,0,'Goregek'), +(@GOREGEK,0,2,'Goregek go get drink. You sit in corner til Goregek ready.',12,0,20,0,0,0,'Goregek'), +(@GOREGEK,0,3,'Goregek hungry. Go get on fire spit, slave thing. Tell Goregek when you well roasted.',12,0,20,0,0,0,'Goregek'), +(@GOREGEK,0,4,'Gorgek gonna catch chicken good!',12,0,20,0,0,0,'Goregek'), +(@GOREGEK,0,5,'You wait until Goregek ready.',12,0,20,0,0,0,'Goregek'), +(@GOREGEK,0,6,'You wait, slave thing. Goregek eating.',12,0,20,0,0,0,'Goregek'), +(@GOREGEK,1,0,'Goregek best hunter... ever.',12,0,15,0,0,0,'Goregek'), +(@GOREGEK,1,1,'Hah! Goregek''s kill!',12,0,15,0,0,0,'Goregek'), +(@GOREGEK,1,2,'Next time, maybe Goregek let you try.',12,0,15,0,0,0,'Goregek'), +(@GOREGEK,1,3,'I stabbed it in the face! Goregek so good.',12,0,15,0,0,0,'Goregek'), +(@GOREGEK,1,4,'Squeal! Squeal! So good!',12,0,15,0,0,0,'Goregek'), +(@GOREGEK,1,5,'Frenzyheart the strongest!',12,0,15,0,0,0,'Goregek'), +(@GOREGEK,1,6,'That how it done, slave thing. Maybe you figure out how someday.',12,0,10,0,0,0,'Goregek'), +(@GOREGEK,2,0,'Why Goregek even bring you. You useless.',12,0,25,0,0,0,'Goregek'), +(@GOREGEK,2,1,'Elder maybe says other stuff, but you always be slave thing to Goregek.',12,0,25,0,0,0,'Goregek'), +(@GOREGEK,2,2,'Pitch was weakling anyway... why else you think Goregek not bother with him?',12,0,25,0,0,0,'Goregek'), +(@GOREGEK,2,3,'You just get yourself beat up! Hah! You so dumb, slave thing.',12,0,25,0,0,0,'Goregek'), +(@GOREGEK,3,0,'Careful slave thing, the big bad softnuckles might eat you! Hah!',12,0,13,0,0,0,'Goregek'), +(@GOREGEK,3,1,'Hardknuckles still walk on hands... seem kind of dumb to Goregek.',12,0,13,0,0,0,'Goregek'), +(@GOREGEK,3,2,'Run away dumb softknuckle! We gonna poke you more!',12,0,13,0,0,0,'Goregek'), +(@GOREGEK,3,3,'Run away softknuckle! Goregek gonna get you!',12,0,13,0,0,0,'Goregek'), +(@GOREGEK,3,4,'You just watch slave thing, Goregek take care of these hardknuckles!',12,0,12,0,0,0,'Goregek'), +(@GOREGEK,3,5,'Better not get in Goregek''s way!',12,0,12,0,0,0,'Goregek'), +(@GOREGEK,3,6,'Get out of way silly slave thing! Goregek''s kill!',12,0,12,0,0,0,'Goregek'), +(@GOREGEK,3,7,'There were hundreds of times these hardknuckles before Goregek.',12,0,12,0,0,0,'Goregek'), +(@GOREGEK,4,0,'Hah! Goregek the greatest hunter ever! Goregek get biggest hardknuckle!',12,0,100,0,0,0,'Goregek'), +(@GOREGEK,5,0,'Frenzyheart feed Kartak big-tongue so Kartak not eat us. That why we smarter than you, slave thing.',12,0,100,0,0,0,'Goregek'), +(@DAJIK,0,0,'Frenzyheart came here not long ago for new home... big-tongue homes pretty nice, so we maybe take those too. They ugly anyway.',12,0,12,0,0,0,'Dajik'), +(@DAJIK,0,1,'Lot of strong Frenzyheart here. Dajik taught most of them. First time I teach something like you though. You not a Frenzyheart, you know.',12,0,12,0,0,0,'Dajik'), +(@DAJIK,0,2,'Let''s just eat bristlepine instead, okay? All done with chasing.',12,0,12,0,0,0,'Dajik'), +(@DAJIK,0,3,'There reason Frenzyheart not chase back chickens. Look kind of dumb to lose to chicken.',12,0,12,0,0,0,'Dajik'), +(@DAJIK,0,4,'Maybe you not notice, chicken move kind of fast.',12,0,13,0,0,0,'Dajik'), +(@DAJIK,0,5,'Time for more smart Dajik tip! If Goregek let chickens out again, make Goregek get chickens back again.',12,0,13,0,0,0,'Dajik'), +(@DAJIK,0,6,'I placed most of the spikes. Good amount of pointiness I think. You like?',12,0,13,0,0,0,'Dajik'), +(@DAJIK,0,7,'Oh! Dajik has idea! Make chicken sounds and maybe they come to you!',12,0,13,0,0,0,'Dajik'), +(@DAJIK,1,0,'Get the stuff off of body! Dajik hate it when he go skin something and there stuff in the way. So annoying.',12,0,20,0,0,0,'Dajik'), +(@DAJIK,1,1,'Did you see face? Looked so scared, "Ah, big thing going to smash me!" Hah.',12,0,20,0,0,0,'Dajik'), +(@DAJIK,1,2,'Hah! Maybe you learn a little after all!',12,0,20,0,0,0,'Dajik'), +(@DAJIK,1,3,'Yes! Stab few more time just in case! Stab good!',12,0,20,0,0,0,'Dajik'), +(@DAJIK,1,4,'Not sure how thing got here. Not matter if dead though',12,0,20,0,0,0,'Dajik'), +(@DAJIK,2,0,'We came for something, yes? Can''t remember.',12,0,20,0,0,0,'Dajik'), +(@DAJIK,2,1,'Make sure you not forget anything! I forgot stuff once.',12,0,20,0,0,0,'Dajik'), +(@DAJIK,2,2,'Dajik not think he seen you eat anything. You eat sometimes, yeah?',12,0,20,0,0,0,'Dajik'), +(@DAJIK,2,3,'I was going to draw picture of best attack plan... but you have my chalk.',12,0,20,0,0,0,'Dajik'), +(@DAJIK,2,4,'Time for more smart Dajik tip! Make sure thing dead before reach in mouth for loots.',12,0,20,0,0,0,'Dajik'), +(@DAJIK,3,0,'Seem like there more wasps every time Dajik come back. Why they not run out?',12,0,20,0,0,0,'Dajik'), +(@DAJIK,3,1,'Time for more smart Dajik tip! Try not to catch stinger with face. Not work so much.',12,0,20,0,0,0,'Dajik'), +(@DAJIK,3,2,'In case you wonder, wasp sting not feel so good. No need to try.',12,0,20,0,0,0,'Dajik'), +(@DAJIK,3,3,'Drone things not as tough as they look. Wasp things a bit nastier.',12,0,20,0,0,0,'Dajik'), +(@DAJIK,3,4,'Try not to catch stinger with face. Not work so much.',12,0,20,0,0,0,'Dajik'), +(@DAJIK,4,0,'No! You killed the queen thing! What have you... wait, nevermind. Sorry, that okay.',12,0,100,0,7000,0,'Dajik'), +(@DAJIK,5,0,'Dajik''s last learner eaten by sand-thing. We do better this time though!',12,0,100,0,0,0,'Dajik'), +(@DAJIK,6,0,'This not first queen slain by Frenzyheart. Seem like there always more.',12,0,100,0,0,0,'Dajik'), +(@DAJIK,7,0,'Sometimes big-tongues try to come get crystals. Not now because they not like it when we kill them.',12,0,34,0,0,0,'Dajik'), +(@DAJIK,7,1,'Time for more smart Dajik tip! Crystals work little too good for back scratch. No try.',12,0,33,0,0,0,'Dajik'), +(@DAJIK,7,2,'Something big make pillars and crystals and everything. Frenzyheart not care much cause it not here anymore.',12,0,33,0,0,0,'Dajik'), +(@DAJIK,8,0,'If you here to poke more softnuckles, Dajik going to poke you too.That a bad Goregek habit.',12,0,50,0,0,0,'Dajik'), +(@DAJIK,8,1,'Huh... where are we? This not right. I not tell you find hardknuckles, did I?',12,0,50,0,0,0,'Dajik'), +(@DAJIK,9,0,'Time for more smart Dajik tip! Lot of dead things mean lot of chance of being dead thing. Dajik leaving now.',12,0,33,0,0,0,'Dajik'), +(@DAJIK,9,1,'Dead thing there already learn lesson of broken pillar. Leave this lesson for dumb, dead things. Going home now.',12,0,33,0,0,0,'Dajik'), +(@DAJIK,9,2,'You all done with learning! Yup! All done! Dajik leave you and evil red pillar thing now.',12,0,34,0,0,0,'Dajik'), +(@ZEPIK,0,0,'Bring back good meat and the camp treat you like high-shaman for a day. Good deal.',12,0,20,0,0,0,'Zepik'), +(@ZEPIK,0,1,'Elder Harkek pretty good Frenzyheart. He help me a lot when I was littler and not liking Dajik.',12,0,20,0,0,0,'Zepik'), +(@ZEPIK,0,2,'I not in a big hurry. We can rest here a while if want.',12,0,20,0,0,0,'Zepik'), +(@ZEPIK,0,3,'I not live here always... I traveled lot of world on my own not long ago. I like all the stories of beasts and dragons and gods and stuff.',12,0,20,0,0,0,'Zepik'), +(@ZEPIK,0,4,'You should go let chickens out again and say Goregek did it. Never get old.',12,0,20,0,0,0,'Zepik'), +(@ZEPIK,1,0,'Hahah! You see that? Lightning bolt hit him right in the head!',12,0,33,0,0,0,'Zepik'), +(@ZEPIK,1,1,'Good one! It not even see it coming.',12,0,33,0,0,0,'Zepik'), +(@ZEPIK,1,2,'No more play?',12,0,34,0,0,0,'Zepik'), +(@ZEPIK,2,0,'You ever fought big dragon or god or anything? Zepik like hearing stories.',12,0,12,0,0,0,'Zepik'), +(@ZEPIK,2,1,'You pretty good! Natural at hunt, like me.',12,0,12,0,0,0,'Zepik'), +(@ZEPIK,2,2,'Goregek think he the boss of everyone, but he eat too much and hunt too little.',12,0,12,0,0,0,'Zepik'), +(@ZEPIK,2,3,'Bring back good meat and the camp treat you like high-shaman for a day. Good deal.',12,0,12,0,0,0,'Zepik'), +(@ZEPIK,2,4,'Dajik forget what he doing, where he at... sometime even forget his own name. Make him not so good teacher sometimes.',12,0,13,0,0,0,'Zepik'), +(@ZEPIK,2,5,'Elder Harkek pretty good Frenzyheart. He help me a lot when I was littler and not liking Dajik.',12,0,13,0,0,0,'Zepik'), +(@ZEPIK,2,6,'I think one reason I like hunting big-tongues so much... they not as dumb as the other hunts. They give a real fight.',12,0,13,0,0,0,'Zepik'), +(@ZEPIK,2,7,'Dajik tried to show me ways of hunt, but I do better when I do things my way.',12,0,13,0,0,0,'Zepik'), +(@ZEPIK,3,0,'Eat it big-tongues!',12,0,14,0,0,0,'Zepik'), +(@ZEPIK,3,1,'Hah! Leave some for Zepik too.',12,0,14,0,0,0,'Zepik'), +(@ZEPIK,3,2,'That lake near here actually full of sea things. Not sure how it all get here... maybe in floods?',12,0,14,0,0,0,'Zepik'), +(@ZEPIK,3,3,'I think one reason I like hunting big-tongues so much... they not as dumb as the other hunts. They give a real fight.',12,0,14,0,0,0,'Zepik'), +(@ZEPIK,3,4,'Mist big-tongues are smart with their shrine thing sometimes... cover whole area with mist and it get hard to find any.',12,0,14,0,0,0,'Zepik'), +(@ZEPIK,3,5,'Hah! This the fun part!',12,0,15,0,0,0,'Zepik'), +(@ZEPIK,3,6,'Flame! Death! Destruction! The black fire rages within my heart! I must... release it! Hahah!',12,0,15,0,0,0,'Zepik'), +(@ZEPIK,4,0,'Trust me - you going love this!',12,0,100,0,0,0,'Zepik'), +(@ZEPIK,5,0,'BOOM! That so good! More! More!',12,0,100,0,0,0,'Zepik'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=9678 AND `SourceEntry`=13137; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (@FRENZYAURA,@RAINSPEAKERAURA,@WOLVARPING,@GORLOCPING,@DESSAWNRETAINER,@TREASUREPING,@DIGGINGFORTEASURE,@MOSSWALKERAURA,@SPEARBORNAURA,@MISTWHISPERAURA,@SAPPHIREHIVEAURA,@SKYREACHPILLARAURA); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,7,@FRENZYAURA,0,31,@GOREGEK,0,0,0,0,'','Spell Frenzyheart Hill Aura targets Goregek the Bristlepine Hunter'), +(13,7,@FRENZYAURA,1,31,@DAJIK,0,0,0,0,'','Spell Frenzyheart Hill Aura targets Dajik the Wasp Hunter'), +(13,7,@FRENZYAURA,2,31,@ZEPIK,0,0,0,0,'','Spell Frenzyheart Hill Aura targets Zepik the Gorloc Hunter'), +(13,7,@RAINSPEAKERAURA,0,31,@LAFOO,0,0,0,0,'','Spell Rainspeaker Canopy Aura targets Lafoo'), +(13,7,@RAINSPEAKERAURA,1,31,@MOODLE,0,0,0,0,'','Spell Rainspeaker Canopy Aura targets Jaloot'), +(13,7,@RAINSPEAKERAURA,2,31,@JALOOT,0,0,0,0,'','Spell Rainspeaker Canopy Aura targets Moodle'), +(13,7,@WOLVARPING,0,31,@GOREGEK,0,0,0,0,'','Spell Wolvar Location Ping targets Goregek the Bristlepine Hunter'), +(13,7,@WOLVARPING,1,31,@DAJIK,0,0,0,0,'','Spell Wolvar Location Ping targets Dajik the Wasp Hunter'), +(13,7,@WOLVARPING,2,31,@ZEPIK,0,0,0,0,'','Spell Wolvar Location Ping targets Zepik the Gorloc Hunter'), +(13,7,@GORLOCPING,0,31,@LAFOO,0,0,0,0,'','Spell Gorloc Location Ping targets Lafoo'), +(13,7,@GORLOCPING,1,31,@JALOOT,0,0,0,0,'','Spell Gorloc Location Ping targets Jaloot'), +(13,7,@GORLOCPING,2,31,@MOODLE,0,0,0,0,'','Spell Gorloc Location Ping targets Moodle'), +(13,7,@DESSAWNRETAINER,0,31,@LAFOO,0,0,0,0,'','Spell Dessawn Retainer targets Lafoo'), +(13,7,@DESSAWNRETAINER,1,31,@DAJIK,0,0,0,0,'','Spell Dessawn Retainer targets Dajik the Wasp Hunter'), +(13,7,@DESSAWNRETAINER,2,31,@ZEPIK,0,0,0,0,'','Spell Dessawn Retainer targets Zepik the Gorloc Hunter'), +(13,7,@DESSAWNRETAINER,3,31,@JALOOT,0,0,0,0,'','Spell Dessawn Retainer targets Jaloot '), +(13,7,@DESSAWNRETAINER,4,31,@MOODLE,0,0,0,0,'','Spell Dessawn Retainer targets Moodle'), +(13,7,@DESSAWNRETAINER,5,31,@GOREGEK,0,0,0,0,'','Spell Dessawn Retainer targets Goregek'), +(13,7,@TREASUREPING,0,31,@LAFOO,0,0,0,0,'','Spell Dessawn Retainer targets Lafoo'), +(13,7,@TREASUREPING,1,31,@JALOOT,0,0,0,0,'','Spell Dessawn Retainer targets Jaloot '), +(13,7,@TREASUREPING,2,31,@MOODLE,0,0,0,0,'','Spell Dessawn Retainer targets Moodle'), +(13,7,@DIGGINGFORTEASURE,0,31,@GLINTINGDIRT,0,0,0,0,'','digging for treasure targets glinting dirt'), +(13,7,@MOSSWALKERAURA,0,31,@MOODLE,0,0,0,0,'','Mosswalker village aura targets moodle'), +(13,7,@SPEARBORNAURA,0,31,@JALOOT,0,0,0,0,'','spearborn encampment aura targets moodle'), +(13,7,@MISTWHISPERAURA,0,31,@ZEPIK,0,0,0,0,'','mistwhisper refuge aura targets zepik'), +(13,7,@SAPPHIREHIVEAURA,0,31,@DAJIK,0,0,0,0,'','sapphire hive aura targets dajik'), +(13,7,@SKYREACHPILLARAURA,0,31,@DAJIK,0,0,0,0,'','skyreach pillar aura targets dajik'), +(14,9678,13137,0,5,1104,7,0,0,0,'','Shaman Vekjik - Show different gossip if player is hated, hostile or unfriendly with Frenzyheart Tribe'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry` IN(@GLINTINGDIRT,@LAFOO,@JALOOT,@MOODLE,@GOREGEK,@DAJIK,@ZEPIK,@MOSSWALKERBUNNY) AND `SourceId`=0; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(22,1,@LAFOO,0,0,9,0,12704,0,0,0,0,'','Lafoo SAI only activates if player is on and has not completed the Appeasing the Great rainstone'), +(22,1,@LAFOO,0,0,29,0,@GLINTINGDIRT,10,0,0,0,'','Execute SAI only if there is glinting dirt within 5 yards'), +(22,1,@LAFOO,0,1,9,0,12572,0,0,0,0,'','Lafoo SAI only activates if player is on and has not completed the Gods like shiny things'), +(22,1,@LAFOO,0,1,29,0,@GLINTINGDIRT,10,0,0,0,'','Execute SAI only if there is glinting dirt within 5 yards'), +(22,1,@JALOOT,0,0,9,0,12704,0,0,0,0,'','Jaloot SAI only activates if player is on and has not completed the Appeasing the Great rainstone'), +(22,1,@JALOOT,0,0,29,0,@GLINTINGDIRT,10,0,0,0,'','Execute SAI only if there is glinting dirt within 5 yards'), +(22,1,@MOODLE,0,0,9,0,12704,0,0,0,0,'','Moodle SAI only activates if player is on and has not completed the Appeasing the Great rainstone'), +(22,1,@MOODLE,0,0,29,0,@GLINTINGDIRT,10,0,0,0,'','Execute SAI only if there is glinting dirt within 5 yards'), +(22,1,@GLINTINGDIRT,0,0,29,1,@LAFOO,5,0,0,0,'','Execute SAI only if Lafoo within 2 yards'), +(22,1,@GLINTINGDIRT,0,1,29,1,@JALOOT,5,0,0,0,'','Execute SAI only if Jaloot within 2 yards'), +(22,1,@GLINTINGDIRT,0,2,29,1,@MOODLE,5,0,0,0,'','Execute SAI only if Moodle within 2 yards'), +(22,13,@MOODLE,0,0,23,1,4297,0,0,1,0,'','Moodle dont execute SAI in Mosswalker Village'), +(22,9,@GOREGEK,0,0,23,1,4303,0,0,1,0,'','Goregek dont execute SAI in Hardknuckle Clearing'), +(22,10,@ZEPIK,0,0,23,1,4306,0,0,1,0,'','Zepik dont execute SAI in Mistwhisper Refuge'), +(22,12,@GOREGEK,0,0,23,1,4303,0,0,0,0,'','Goregek execute SAI in only in Hardknuckle Clearing'), +(22,9,@DAJIK,0,0,23,1,4304,0,0,1,0,'','Dajik Dont execute SAI in Sapphire Hive'), +(22,9,@DAJIK,0,0,23,1,4303,0,0,1,0,'','Dajik execute SAI in Hardknuckle Clearing'), +(22,9,@DAJIK,0,0,23,1,4388,0,0,1,0,'','Dajik execute SAI in Wintergrasp River'), +(22,9,@DAJIK,0,0,23,1,4295,0,0,1,0,'','Dajik execute SAI in The Sundered Shard'), +(22,19,@DAJIK,0,0,23,1,4303,0,0,0,0,'','Dajik execute SAI only in Hardknuckle Clearing'), +(22,11,@LAFOO,0,0,23,1,4291,0,0,1,0,'','Lafoo dont execute sai in rainspeaker canopy'), +(22,13,@JALOOT,0,0,23,1,4291,0,0,1,0,'','Jaloot dont execute sai in rainspeaker canopy'), +(22,13,@JALOOT,0,1,23,1,4308,0,0,1,0,'','Jaloot dont execute sai in spearborn encampment'), +(22,13,@MOODLE,0,0,23,1,4291,0,0,1,0,'','Moodle dont execute sai in rainspeaker canopy'), +(22,9,@GOREGEK,0,0,23,1,4292,0,0,1,0,'','Goregek dont execute sai in frenzyheart hill'), +(22,9,@DAJIK,0,0,23,1,4292,0,0,1,0,'','Dajik dont execute sai in frenzyheart hill'), +(22,10,@ZEPIK,0,0,23,1,4292,0,0,1,0,'','Zepik dont execute sai in frenzyheart hill'), +(22,2,@MOSSWALKERBUNNY,0,0,1,0,@SHOLAZARGUARDIANHEARTBEAT,0,0,0,0,'','Mosswalker Bunny execute SAI only if player has sholazar guardian heartbeat aura'); + +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`= @HARDKNUCKLEMATRIARCH; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@HARDKNUCKLEMATRIARCH; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@HARDKNUCKLEMATRIARCH; +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 +(@HARDKNUCKLEMATRIARCH, 0, 0, 1, 4, 0, 100, 0, 0, 0, 0, 0, 11, 54287, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Hardknuckle Matriarch - On Agro - Cast Enrage'), +(@HARDKNUCKLEMATRIARCH, 0, 1, 0,61, 0, 100, 0, 0, 0, 0, 0, 1 , 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Hardknuckle Matriarch - Linked with Previous Event - Say'), +(@HARDKNUCKLEMATRIARCH, 0, 2, 0, 0, 0, 100, 0, 6000, 10000, 12000, 15000, 11 , 61580, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Hardknuckle Matriarch - In Combat - Cast Cast Thunderstomp'), +(@HARDKNUCKLEMATRIARCH, 0, 3, 0, 6, 0, 100, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 9, @GOREGEK, 0, 50, 0, 0, 0, 0, 'Hardknuckle Matriarch - On Death Send Data to Goregek'); + +DELETE FROM `creature_ai_texts` WHERE `entry` -738; +DELETE FROM `creature_text` WHERE `entry` =@HARDKNUCKLEMATRIARCH; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +(@HARDKNUCKLEMATRIARCH, 0, 0, 'We are Not Amused', 12, 0, 100, 0, 0, 0, 'Hardknuckle Matriarch'); + +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`= @SAPPHIREQUEEN; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@SAPPHIREQUEEN; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@SAPPHIREQUEEN; +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 +(@SAPPHIREQUEEN, 0, 0, 0, 0, 0, 100, 0, 6000, 9000, 9000, 14000, 11, 48193, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Sapphire Hive Queen - IC - Cast Poison Stinger'), +(@SAPPHIREQUEEN, 0, 1, 0, 2, 0, 100, 0, 0, 30, 12000, 15000, 11, 54761, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Sapphire Hive Queen - On 30% Hp - Cast Enrage'), +(@SAPPHIREQUEEN, 0, 2, 0, 6, 0, 100, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 9, @DAJIK, 0, 50, 0, 0, 0, 0, 'Sapphire Hive Queen - On Death - Set Data Dajik'); + +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`= @VENOMTIP; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@VENOMTIP; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@VENOMTIP; +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 +(@VENOMTIP, 0, 0, 0, 0, 0, 100, 0, 7000, 9000, 17000, 20000, 11, 61550, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Venomtip - IC - Cast Cobra Strike'), +(@VENOMTIP, 0, 1, 0, 9, 0, 100, 0, 0, 30, 7000, 12000, 11, 32330, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Venomtip - On Range - Cast Poison Spit'), +(@VENOMTIP, 0, 2, 0, 6, 0, 100, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 9, @LAFOO, 0, 50, 0, 0, 0, 0, 'Venomtip - On Death - Set Data Lafoo'); -- cgit v1.2.3 From e277f0401b1eb43e08d7bd07f06d1252478ecfc8 Mon Sep 17 00:00:00 2001 From: ZxBiohazardZx Date: Wed, 3 Apr 2013 21:39:13 +0200 Subject: added = sign to prevent issues for people etc --- sql/updates/world/2013_04_03_02_world_sai.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sql') diff --git a/sql/updates/world/2013_04_03_02_world_sai.sql b/sql/updates/world/2013_04_03_02_world_sai.sql index 7fe2640c9ea..8ae37e21ff2 100644 --- a/sql/updates/world/2013_04_03_02_world_sai.sql +++ b/sql/updates/world/2013_04_03_02_world_sai.sql @@ -657,8 +657,8 @@ INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_ (@HARDKNUCKLEMATRIARCH, 0, 2, 0, 0, 0, 100, 0, 6000, 10000, 12000, 15000, 11 , 61580, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Hardknuckle Matriarch - In Combat - Cast Cast Thunderstomp'), (@HARDKNUCKLEMATRIARCH, 0, 3, 0, 6, 0, 100, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 9, @GOREGEK, 0, 50, 0, 0, 0, 0, 'Hardknuckle Matriarch - On Death Send Data to Goregek'); -DELETE FROM `creature_ai_texts` WHERE `entry` -738; -DELETE FROM `creature_text` WHERE `entry` =@HARDKNUCKLEMATRIARCH; +DELETE FROM `creature_ai_texts` WHERE `entry`= -738; +DELETE FROM `creature_text` WHERE `entry`=@HARDKNUCKLEMATRIARCH; INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES (@HARDKNUCKLEMATRIARCH, 0, 0, 'We are Not Amused', 12, 0, 100, 0, 0, 0, 'Hardknuckle Matriarch'); -- cgit v1.2.3 From 233142e380913060168f91729de0308b94336920 Mon Sep 17 00:00:00 2001 From: dr-j Date: Fri, 5 Apr 2013 10:56:43 +0200 Subject: DB/SAI: update script posted earlier Fixes the following *The Angry Gorloc *Tormenting the Softknuckles *The Mosswalker Saviour *Lightning Definitely Strikes twice *Quiet a few creature_ai to smart_ai conversions of creatures involved with quest chain so they can trigger text on companion. Adds support for *Gods Like Shiny Things *Appeasing the Great Rainstone Fixes #9468 --- sql/updates/world/2013_04_05_00_world_sai.sql | 927 ++++++++++++++++++++++++++ 1 file changed, 927 insertions(+) create mode 100644 sql/updates/world/2013_04_05_00_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_05_00_world_sai.sql b/sql/updates/world/2013_04_05_00_world_sai.sql new file mode 100644 index 00000000000..99d3e96073c --- /dev/null +++ b/sql/updates/world/2013_04_05_00_world_sai.sql @@ -0,0 +1,927 @@ +SET @HO_SOOSAY := 28027; +SET @HO_GOSSIP := 9742; +SET @O_STATE := 50503; +SET @T_STORM := 53071; +SET @FI_LAFOO := 52547; +SET @FI_JALOOT := 52548; +SET @FI_MOODLE := 52549; +SET @SEEINVIS := 52214; +SET @RAINSPEAKERAURA := 51639; +SET @TREASUREPING := 51420; +SET @GORLOCPING := 51794; +SET @WOLVARPING := 51791; +SET @DIGUPGLINTINGBUG := 51443; +SET @DIGUPSPARKINGHARE := 51441; +SET @DIGUPSHININGCRYSTAL := 51397; +SET @DIGUPGLINTINGARMOR := 51398; +SET @DIGUPGLOWINGGEM := 51400; +SET @DIGUPPOLISHEDPLATTER := 51401; +SET @DIGUPSPARKINGTREASURE := 51402; +SET @BLESSINGOFTHESPARKINGHARE := 51442; +SET @JALOOTSINTENSITY := 52119; +SET @RAINSPEAKERBUNNY := 28455; +SET @LAFOO := 28120; +SET @MOODLE := 28122; +SET @JALOOT := 28121; +SET @GLINTINGDIRT := 28362; +SET @GLINTINGBUG := 28372; +SET @SPARKLINGHARE := 28371; +SET @GLINTINGDIRTSCRIPT := 2836201; +SET @GORLOCTREASURESCRIPT := 2812000; +SET @ELDER_HARKEK := 28138; +SET @SHAMAN_RAKJAK := 28082; +SET @EH_GOSSIP := 9741; +SET @FRENZYAURA := 51234; +SET @FRENZYBUNNY := 28299; +SET @GOREGEK := 28214; +SET @DAJIK := 28215; +SET @ZEPIK := 28216; +SET @FI_GOREGEK := 52542; +SET @FI_DAJIK := 52544; +SET @FI_ZEPIK := 52545; +SET @CHICKENSEEINVIS := 50735; +SET @DESSAWNRETAINER := 53163; +SET @MOSSWALKERAURA := 51644; +SET @MOSSWALKERBUNNY := 28459; +SET @ANGRYGORLOCCREDIT := 54057; +SET @MISTWHISPERAURA := 51239; +SET @MISTWHISPERBUNNY := 28300; +SET @SPEARBORNAURA := 51642; +SET @SPEARBORNBUNNY := 28457; +SET @KARTAKHOLDAURA := 51643; +SET @KARTAKHOLDBUNNY := 28458; +SET @SPARKTOUCHEDAURA := 51641; +SET @SPARKTOUCHEDBUNNY := 28456; +SET @SAPPHIREHIVEAURA := 51651; +SET @LIFEBLOODPILLARBUNNY := 28460; +SET @LIFEBLOODPILLARAURA:= 51649; +SET @SKYREACHPILLARBUNNY := 28454; +SET @SKYREACHPILLARAURA:= 51645; +SET @SAPPHIREHIVEBUNNY := 28462; +SET @GORLOCLOCATIONPERIODIC := 51793; +SET @WOLVARLOCATIONPERIODIC := 51792; +SET @LOOKINGFORTREASUREAURA := 51407; +SET @SHOLAZARGUARDIANHEARTBEAT := 51623; +SET @DIGGINGFORTEASURE := 51405; +SET @GOREGEKSSHACKLE := 38619; +SET @DAJIKSCHALK := 38621; +SET @ZEPIKSHUNTINGHORN := 38512; +SET @LAFOOSBUGBAG := 38622; +SET @JALOOTSCRYSTAL := 38623; +SET @MOODLESSTRESSBALL := 38624; +SET @INVISIBILTY := 52213; +SET @CHICKENLOCATIONPING := 51843; +SET @CHICKENNET := 51959; +SET @CHICKENESCAPEE := 28161; +SET @HARDKNUCKLE := 28096; +SET @HARDKNUCKLEMATRIARCH := 28213; +SET @SOFTKNUCKLE := 28127; +SET @SAPPHIREQUEEN := 28087; +SET @VENOMTIP := 28358; +SET @SERFEXTHEREAVER := 28083; +SET @MISTWHISPERLIGHTNINGCLOUD := 28253; +SET @MISTWHISPERLIGHTNINGTARGET := 28254; +SET @ARRANGEDCRYSTALFORMATIONBUNNY := 28273; +SET @SCAREDSOFTKNUCKLE := 50979; +SET @PITCH := 28097; +SET @TRACKERGEKGEK := 28095; +SET @MOSSWALKERVICTIM := 28113; + +SET @GOBJGUID := 4598; -- Needs 2 gobject guids for Lightning Definitly strikes twice, one for spellfocus, other for arranged crystal formation since cant find spell to spawn this, +SET @QUESTPOOL := 359; -- Needs 4, 2 for oracles and 2 for frenzyheart, + +UPDATE `creature_template` SET `unit_class`=2 WHERE `entry` IN(@DAJIK,@ZEPIK); +UPDATE `creature_template` SET `minlevel`=77, `maxlevel`=77, `exp`=2,`mindmg`=371, `maxdmg`=522,`attackpower`=478 WHERE `entry`IN (@GOREGEK,@DAJIK,@ZEPIK); +UPDATE `creature_template` SET `unit_flags` =33555200 WHERE `entry`IN (@MOSSWALKERBUNNY,@MISTWHISPERBUNNY,@SPEARBORNBUNNY,@KARTAKHOLDBUNNY,@SPARKTOUCHEDBUNNY,@SAPPHIREHIVEBUNNY,@LIFEBLOODPILLARBUNNY,@SKYREACHPILLARBUNNY); +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry` IN(@HO_SOOSAY,@ELDER_HARKEK,@SHAMAN_RAKJAK); +DELETE FROM `creature_ai_scripts` WHERE `creature_id`IN(@HO_SOOSAY,@ELDER_HARKEK,@SHAMAN_RAKJAK); +DELETE FROM `smart_scripts` WHERE `entryorguid`IN(@HO_SOOSAY,@ELDER_HARKEK,@SHAMAN_RAKJAK); +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 +(@HO_SOOSAY,0,0,0,1,0,100,0,0,0,0,0,75,@O_STATE,0,0,0,0,0,1,0,0,0,0,0,0,0, 'High-Oracle Soo-say - Out of combat - Add Oracle State Aura'), +(@HO_SOOSAY,0,1,0,0,0,100,0,5000,10000,12000,16000,11,@T_STORM,0,0,0,0,0,2,0,0,0,0,0,0,0, 'High-Oracle Soo-say - In Combat - Cast Thunderstorm'), +(@HO_SOOSAY,0,2,8,62,0,100,0,@HO_GOSSIP,0,0,0,85,@FI_LAFOO,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Oracle Soo-say - On gossip select - Spellcast Forceitem Lafoo'), +(@HO_SOOSAY,0,3,8,62,0,100,0,@HO_GOSSIP,1,0,0,85,@FI_LAFOO,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Oracle Soo-say - On gossip select - Spellcast Forceitem Lafoo'), +(@HO_SOOSAY,0,4,8,62,0,100,0,@HO_GOSSIP,2,0,0,85,@FI_JALOOT,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Oracle Soo-say - On gossip select - Spellcast Forceitem Jaloot'), +(@HO_SOOSAY,0,5,8,62,0,100,0,@HO_GOSSIP,3,0,0,85,@FI_JALOOT,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Oracle Soo-say - On gossip select - Spellcast Forceitem Jaloot'), +(@HO_SOOSAY,0,6,8,62,0,100,0,@HO_GOSSIP,4,0,0,85,@FI_MOODLE,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Oracle Soo-say - On gossip select - Spellcast Forceitem Moodle'), +(@HO_SOOSAY,0,7,8,62,0,100,0,@HO_GOSSIP,5,0,0,85,@FI_MOODLE,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Oracle Soo-say - On gossip select - Spellcast Forceitem Moodle'), +(@HO_SOOSAY,0,8,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Oracle Soo-say - On gossip select - Close gossip'), +(@HO_SOOSAY,0,9,0,20,0,100,0,12704,0,0,0,28,@SEEINVIS,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Oracle Soo-say - On Quest Complete - Remove Aura Rainspeaker Treasures: See Invisibility'), +(@HO_SOOSAY,0,10,0,19,0,100,0,12704,0,0,0,85,@SEEINVIS,2,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Oracle Soo-say - On Quest Accept - Invoker Cast Rainspeaker Treasures: See Invisibility'), +(@HO_SOOSAY,0,11,0,20,0,100,0,12572,0,0,0,28,@SEEINVIS,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Oracle Soo-say - On Quest Complete - Remove Aura Rainspeaker Treasures: See Invisibility'), +(@HO_SOOSAY,0,12,0,19,0,100,0,12574,0,0,0,57,@LAFOOSBUGBAG,1,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Oracle Soo-say - On Quest Accept - Remove Lafoos Bug bag'), +(@HO_SOOSAY,0,13,0,20,0,100,0,12577,0,0,0,57,@JALOOTSCRYSTAL,1,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Oracle Soo-say - On Quest Complete - Remove Jaloots favourite crystal'), +(@HO_SOOSAY,0,14,0,20,0,100,0,12581,0,0,0,57,@MOODLESSTRESSBALL,1,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Oracle Soo-say - On Quest Complete - Remove Moodles Stress Ball'), +(@SHAMAN_RAKJAK,0,0,0,19,0,100,0,12529,0,0,0,11,@FI_GOREGEK,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Shaman Rakjak - On quest accept - Spellcast Forceitem Goregek'), +(@SHAMAN_RAKJAK,0,1,0,19,0,100,0,12530,0,0,0,11,@FI_GOREGEK,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Shaman Rakjak - On quest accept - Spellcast Forceitem Goregek'), +(@SHAMAN_RAKJAK,0,2,0,19,0,100,0,12533,0,0,0,11,@FI_DAJIK,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Shaman Rakjak - On quest accept - Spellcast Forceitem Dajik'), +(@SHAMAN_RAKJAK,0,3,0,19,0,100,0,12534,0,0,0,11,@FI_DAJIK,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Shaman Rakjak - On quest accept - Spellcast Forceitem Dajik'), +(@SHAMAN_RAKJAK,0,4,0,19,0,100,0,12536,0,0,0,11,@FI_ZEPIK,0,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Shaman Rakjak - On quest accept - Spellcast Forceitem Zepik'), +(@SHAMAN_RAKJAK,0,15,0,19,0,100,0,12533,0,0,0,57,@GOREGEKSSHACKLE,1,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Shaman Rakjak - On Quest Accept - Remove Goregeks Shackes'), +(@SHAMAN_RAKJAK,0,16,0,19,0,100,0,12536,0,0,0,57,@DAJIKSCHALK,1,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Shaman Rakjak - On Quest Accept - Remove Dajiks Chalk'), +(@SHAMAN_RAKJAK,0,17,0,19,0,100,0,12540,0,0,0,57,@ZEPIKSHUNTINGHORN,1,0,0,0,0,7,0,0,0,0,0,0,0, 'High-Shaman Rakjak - On Quest Accept - Remove Zepiks Hunting Horn'), +(@ELDER_HARKEK,0,4,10,62,0,100,0,@EH_GOSSIP,0,0,0,85,@FI_GOREGEK,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Elder Harkek - On gossip select - Spellcast Forceitem Goregek'), +(@ELDER_HARKEK,0,5,10,62,0,100,0,@EH_GOSSIP,1,0,0,85,@FI_GOREGEK,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Elder Harkek - On gossip select - Spellcast Forceitem Goregek'), +(@ELDER_HARKEK,0,6,10,62,0,100,0,@EH_GOSSIP,2,0,0,85,@FI_DAJIK,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Elder Harkek - On gossip select - Spellcast Forceitem Dajik'), +(@ELDER_HARKEK,0,7,10,62,0,100,0,@EH_GOSSIP,3,0,0,85,@FI_DAJIK,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Elder Harkek - On gossip select - Spellcast Forceitem Dajik'), +(@ELDER_HARKEK,0,8,10,62,0,100,0,@EH_GOSSIP,4,0,0,85,@FI_ZEPIK,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Elder Harkek - On gossip select - Spellcast Forceitem Zepik'), +(@ELDER_HARKEK,0,9,10,62,0,100,0,@EH_GOSSIP,5,0,0,85,@FI_ZEPIK,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Elder Harkek - On gossip select - Spellcast Forceitem Zepik'), +(@ELDER_HARKEK,0,10,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Elder Harkek - On gossip select - Close gossip'), +(@ELDER_HARKEK,0,3,0,20,0,100,0,12702,0,0,0,28,@CHICKENSEEINVIS,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Elder Harkek - On Quest Complete - Remove Aura Frenzyheart Chicken: See Invisibility'), +(@ELDER_HARKEK,0,2,0,20,0,100,0,12532,0,0,0,28,@CHICKENSEEINVIS,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Elder Harkek - On Quest Complete - Remove Aura Frenzyheart Chicken: See Invisibility'), +(@ELDER_HARKEK,0,1,0,19,0,100,0,12702,0,0,0,85,@CHICKENSEEINVIS,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Elder Harkek - On Quest Accept - Invoker Cast Frenzyheart Chicken: See Invisibility'), +(@ELDER_HARKEK,0,0,0,19,0,100,0,12532,0,0,0,85,@CHICKENSEEINVIS,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Elder Harkek - On Quest Accept - Invoker Cast Frenzyheart Chicken: See Invisibility'), +(@ELDER_HARKEK,0,11,0,19,0,100,0,12534,0,0,0,57,@GOREGEKSSHACKLE,1,0,0,0,0,7,0,0,0,0,0,0,0, 'Elder Harkek - On Quest Accept - Remove Goregeks Shackes'); + +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN(@HO_GOSSIP,@EH_GOSSIP) AND `id` IN(0,1,2,3,4,5); +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 +(@HO_GOSSIP,0,0, 'I need to find Lafoo, do you have his bug bag?',1,1,0,0,0,0, ''), +(@HO_GOSSIP,1,0, 'I need to find Lafoo, do you have his bug bag?',1,1,0,0,0,0, ''), +(@HO_GOSSIP,2,0, 'I need to find Jaloot, do you have his favorite crystal?',1,1,0,0,0,0, ''), +(@HO_GOSSIP,3,0, 'I need to find Jaloot, do you have his favorite crystal?',1,1,0,0,0,0, ''), +(@HO_GOSSIP,4,0, 'I need to find Moodle, do you have his stress ball?',1,1,0,0,0,0, ''), +(@HO_GOSSIP,5,0, 'I need to find Moodle, do you have his stress ball?',1,1,0,0,0,0, ''), +(@EH_GOSSIP,0,0, 'I need to find Goregek, do you have his shackles?',1,1,0,0,0,0, ''), +(@EH_GOSSIP,1,0, 'I need to find Goregek, do you have his shackles?',1,1,0,0,0,0, ''), +(@EH_GOSSIP,2,0, 'I need to find Dajik, do you have his chalk?',1,1,0,0,0,0, ''), +(@EH_GOSSIP,3,0, 'I need to find Dajik, do you have his chalk?',1,1,0,0,0,0, ''), +(@EH_GOSSIP,4,0, 'I need to find Zepik, do you have his hunting horn?',1,1,0,0,0,0, ''), +(@EH_GOSSIP,5,0, 'I need to find Zepik, do you have his hunting horn?',1,1,0,0,0,0, ''); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`IN(@HO_GOSSIP,@EH_GOSSIP); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(15,@HO_GOSSIP,0,0,0,2,0,@LAFOOSBUGBAG,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Lafoo''s Bug Bag'), +(15,@HO_GOSSIP,0,0,0,9,0,12571,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has Taken Quest Make the Bad Snake go away'), +(15,@HO_GOSSIP,0,0,2,2,0,@LAFOOSBUGBAG,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Lafoo''s Bug Bag'), +(15,@HO_GOSSIP,0,0,2,8,0,12571,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has Rewarded Quest Make the Bad Snake go away'), +(15,@HO_GOSSIP,0,0,1,2,0,@LAFOOSBUGBAG,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Lafoo''s Bug Bag'), +(15,@HO_GOSSIP,0,0,1,28,0,12571,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has completed Quest Make the Bad Snake go away'), +(15,@HO_GOSSIP,0,0,0,8,0,12573,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Quest Making Peace'), +(15,@HO_GOSSIP,0,0,1,8,0,12573,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Quest Making Peace'), +(15,@HO_GOSSIP,0,0,2,8,0,12573,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Quest Making Peace'), +(15,@HO_GOSSIP,1,0,0,8,0,12695,0,0,0,0,0, '', 'High-Oracle Soo-say - Show gossip option only if player has rewarded quest Return of the Friendly Dryskin'), +(15,@HO_GOSSIP,1,0,0,5,0,1105,224,0,0,0,0, '', 'High-Oracle Soo-say - Show gossip option only if player is at least honored with The Oracles'), +(15,@HO_GOSSIP,1,0,0,2,0,@LAFOOSBUGBAG,1,0,1,0,0, '', 'High-Oracle Soo-say - Show gossip option only if player has no item Lafoo''s Bug Bag'), +(15,@HO_GOSSIP,4,0,0,2,0,@MOODLESSTRESSBALL,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Moodle''s Stress Ball'), +(15,@HO_GOSSIP,4,0,0,9,0,12578,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has Taken Quest The Angry Gorloc'), +(15,@HO_GOSSIP,4,0,2,2,0,@MOODLESSTRESSBALL,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Moodle''s Stress Ball'), +(15,@HO_GOSSIP,4,0,2,8,0,12578,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has Rewarded Quest The Angry Gorloc'), +(15,@HO_GOSSIP,4,0,1,2,0,@MOODLESSTRESSBALL,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Moodle''s Stress Ball'), +(15,@HO_GOSSIP,4,0,1,28,0,12578,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has Completed Quest The Angry Gorloc'), +(15,@HO_GOSSIP,4,0,0,8,0,12579,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Quest Lifeblood of the Mosswalker Shrine'), +(15,@HO_GOSSIP,4,0,1,8,0,12579,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Quest Lifeblood of the Mosswalker Shrine'), +(15,@HO_GOSSIP,4,0,2,8,0,12579,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Quest Lifeblood of the Mosswalker Shrine'), +(15,@HO_GOSSIP,4,0,3,2,0,@MOODLESSTRESSBALL,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Moodle''s Stress Ball'), +(15,@HO_GOSSIP,4,0,3,9,0,12578,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has Taken Quest The Angry Gorloc'), +(15,@HO_GOSSIP,4,0,5,2,0,@MOODLESSTRESSBALL,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Moodle''s Stress Ball'), +(15,@HO_GOSSIP,4,0,5,8,0,12578,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has Rewarded Quest The Angry Gorloc'), +(15,@HO_GOSSIP,4,0,4,2,0,@MOODLESSTRESSBALL,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Moodle''s Stress Ball'), +(15,@HO_GOSSIP,4,0,4,28,0,12578,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has Completed Quest The Angry Gorloc'), +(15,@HO_GOSSIP,4,0,3,8,0,12580,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Quest The Mosswalker Savior'), +(15,@HO_GOSSIP,4,0,4,8,0,12580,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Quest The Mosswalker Savior'), +(15,@HO_GOSSIP,4,0,5,8,0,12580,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Quest The Mosswalker Savior'), +(15,@HO_GOSSIP,3,0,0,8,0,12695,0,0,0,0,0, '', 'High-Oracle Soo-say - Show gossip option only if player has rewarded quest Return of the Friendly Dryskin'), +(15,@HO_GOSSIP,3,0,0,5,0,1105,224,0,0,0,0, '', 'High-Oracle Soo-say - Show gossip option only if player is at least honored with The Oracles'), +(15,@HO_GOSSIP,3,0,0,2,0,@JALOOTSCRYSTAL,1,0,1,0,0, '', 'High-Oracle Soo-say - Show gossip option only if player has no item Jaloot''s Favorite Crystal'), +(15,@HO_GOSSIP,2,0,0,2,0,@JALOOTSCRYSTAL,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Jaloot''s Favourite Crystal'), +(15,@HO_GOSSIP,2,0,0,9,0,12574,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has Taken Quest Back so soon?'), +(15,@HO_GOSSIP,2,0,2,2,0,@JALOOTSCRYSTAL,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Jaloot''s Favourite Crystal'), +(15,@HO_GOSSIP,2,0,2,8,0,12574,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has Rewarded Back so soon?'), +(15,@HO_GOSSIP,2,0,1,2,0,@JALOOTSCRYSTAL,1,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player doesn''t already have Jaloot''s Favourite Crystal'), +(15,@HO_GOSSIP,2,0,1,28,0,12574,0,0,0,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has Completed Back so soon?'), +(15,@HO_GOSSIP,2,0,0,8,0,12577,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Home Time'), +(15,@HO_GOSSIP,2,0,1,8,0,12577,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Home Time'), +(15,@HO_GOSSIP,2,0,2,8,0,12577,0,0,1,0,0, '', 'High-Oracle Soo-say - Show Gossip if player Has not completed Home Time'), +(15,@HO_GOSSIP,5,0,0,8,0,12695,0,0,0,0,0, '', 'High-Oracle Soo-say - Show gossip option only if player has rewarded quest Return of the Friendly Dryskin'), +(15,@HO_GOSSIP,5,0,0,5,0,1105,224,0,0,0,0, '', 'High-Oracle Soo-say - Show gossip option only if player is at least honored with The Oracles'), +(15,@HO_GOSSIP,5,0,0,2,0,@MOODLESSTRESSBALL,1,0,1,0,0, '', 'High-Oracle Soo-say - Show gossip option only if player has no item Moodle''s Stress Ball'), +(15,@EH_GOSSIP,0,0,0,2,0,@GOREGEKSSHACKLE,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Gorekeks Shackles'), +(15,@EH_GOSSIP,0,0,0,9,0,12529,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has Taken Quest The Ape Hunters Slave'), +(15,@EH_GOSSIP,0,0,2,2,0,@GOREGEKSSHACKLE,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Gorekeks Shackles'), +(15,@EH_GOSSIP,0,0,2,8,0,12529,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has Rewarded Quest The Ape Hunters Slave'), +(15,@EH_GOSSIP,0,0,1,2,0,@GOREGEKSSHACKLE,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Gorekeks Shackles'), +(15,@EH_GOSSIP,0,0,1,28,0,12529,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has completed Quest The Ape Hunters Slave'), +(15,@EH_GOSSIP,0,0,3,2,0,@GOREGEKSSHACKLE,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Gorekeks Shackles'), +(15,@EH_GOSSIP,0,0,3,9,0,12530,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has Taken Quest Tormenting the Softknuckles'), +(15,@EH_GOSSIP,0,0,4,2,0,@GOREGEKSSHACKLE,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Gorekeks Shackles'), +(15,@EH_GOSSIP,0,0,4,8,0,12530,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has Rewarded Quest Tormenting the Softknuckles'), +(15,@EH_GOSSIP,0,0,5,2,0,@GOREGEKSSHACKLE,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Gorekeks Shackles'), +(15,@EH_GOSSIP,0,0,5,28,0,12530,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has completed Quest Tormenting the Softknuckles'), +(15,@EH_GOSSIP,0,0,0,14,0,12533,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Wasp Hunters Apprentice'), +(15,@EH_GOSSIP,0,0,1,14,0,12533,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Wasp Hunters Apprentice'), +(15,@EH_GOSSIP,0,0,2,14,0,12533,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Wasp Hunters Apprentice'), +(15,@EH_GOSSIP,0,0,3,14,0,12533,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Wasp Hunters Apprentice'), +(15,@EH_GOSSIP,0,0,4,14,0,12533,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Wasp Hunters Apprentice'), +(15,@EH_GOSSIP,0,0,5,14,0,12533,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Wasp Hunters Apprentice'), +(15,@EH_GOSSIP,0,0,0,14,0,12534,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Underground Menace '), +(15,@EH_GOSSIP,0,0,1,14,0,12534,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Underground Menace '), +(15,@EH_GOSSIP,0,0,2,14,0,12534,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Underground Menace '), +(15,@EH_GOSSIP,0,0,3,14,0,12534,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Underground Menace '), +(15,@EH_GOSSIP,0,0,4,14,0,12534,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Underground Menace '), +(15,@EH_GOSSIP,0,0,5,14,0,12534,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest The Underground Menace '), +(15,@EH_GOSSIP,2,0,0,2,0,@DAJIKSCHALK,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Dajiks Worn Chalk'), +(15,@EH_GOSSIP,2,0,0,9,0,12533,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has Taken Quest The Wasp Hunters Apprentice'), +(15,@EH_GOSSIP,2,0,2,2,0,@DAJIKSCHALK,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Dajiks Worn Chalk'), +(15,@EH_GOSSIP,2,0,2,8,0,12533,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has Rewarded Quest The Wasp Hunters Apprentice'), +(15,@EH_GOSSIP,2,0,1,2,0,@DAJIKSCHALK,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Dajiks Worn Chalk'), +(15,@EH_GOSSIP,2,0,1,28,0,12533,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has completed Quest The Wasp Hunters Apprentice'), +(15,@EH_GOSSIP,2,0,3,2,0,@DAJIKSCHALK,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Dajiks Worn Chalk'), +(15,@EH_GOSSIP,2,0,3,9,0,12534,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has Taken Quest The Underground Menace'), +(15,@EH_GOSSIP,2,0,4,2,0,@DAJIKSCHALK,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Dajiks Worn Chalk'), +(15,@EH_GOSSIP,2,0,4,8,0,12534,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has Rewarded Quest The Underground Menace'), +(15,@EH_GOSSIP,2,0,5,2,0,@DAJIKSCHALK,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Dajiks Worn Chalk'), +(15,@EH_GOSSIP,2,0,5,28,0,12534,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has completed Quest The Underground Menace'), +(15,@EH_GOSSIP,2,0,0,14,0,12536,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest A Rough Ride'), +(15,@EH_GOSSIP,2,0,1,14,0,12536,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest A Rough Ride'), +(15,@EH_GOSSIP,2,0,2,14,0,12536,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest A Rough Ride'), +(15,@EH_GOSSIP,2,0,3,14,0,12536,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest A Rough Ride'), +(15,@EH_GOSSIP,2,0,4,14,0,12536,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest A Rough Ride'), +(15,@EH_GOSSIP,2,0,5,14,0,12536,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest A Rough Ride'), +(15,@EH_GOSSIP,4,0,0,2,0,@ZEPIKSHUNTINGHORN,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Zepiks Hunting Horn'), +(15,@EH_GOSSIP,4,0,0,9,0,12536,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has Taken Quest A Rough Ride'), +(15,@EH_GOSSIP,4,0,2,2,0,@ZEPIKSHUNTINGHORN,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Zepiks Hunting Horn'), +(15,@EH_GOSSIP,4,0,2,8,0,12536,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has Rewarded Quest A Rough Ride'), +(15,@EH_GOSSIP,4,0,1,2,0,@ZEPIKSHUNTINGHORN,1,1,1,0,0, '', 'Elder Harkek - Show Gossip if player doesn''t already have Zepiks Hunting Horn'), +(15,@EH_GOSSIP,4,0,1,28,0,12536,0,0,0,0,0, '', 'Elder Harkek - Show Gossip if player Has completed Quest A Rough Ride'), +(15,@EH_GOSSIP,4,0,0,8,0,12539,0,0,1,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest Hoofing It'), +(15,@EH_GOSSIP,4,0,1,8,0,12539,0,0,1,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest Hoofing It'), +(15,@EH_GOSSIP,4,0,2,8,0,12539,0,0,1,0,0, '', 'Elder Harkek - Show Gossip if player Has not completed Quest Hoofing It'); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(15,@EH_GOSSIP,1,0,8,12692,0,0,0,0, '', 'Elder Harkek - Show gossip option only if player has rewarded quest Return of the Lich Hunter'), +(15,@EH_GOSSIP,1,0,5,1104,224,0,0,0, '', 'Elder Harkek - Show gossip option only if player is at least honored with Frenzheart Tribe'), +(15,@EH_GOSSIP,1,0,2,@GOREGEKSSHACKLE,1,0,1,0, '', 'Elder Harkek - Show gossip option only if player has no item Goregek''s Shackles'), +(15,@EH_GOSSIP,3,0,8,12692,0,0,0,0, '', 'Elder Harkek - Show gossip option only if player has rewarded quest Return of the Lich Hunter'), +(15,@EH_GOSSIP,3,0,5,1104,224,0,0,0, '', 'Elder Harkek - Show gossip option only if player is at least honored with Frenzheart Tribe'), +(15,@EH_GOSSIP,3,0,2,@DAJIKSCHALK,1,0,1,0, '', 'Elder Harkek - Show gossip option only if player has no item Dajiks Worn Chalk'), +(15,@EH_GOSSIP,5,0,8,12692,0,0,0,0, '', 'Elder Harkek - Show gossip option only if player has rewarded quest Return of the Lich Hunter'), +(15,@EH_GOSSIP,5,0,5,1104,224,0,0,0, '', 'Elder Harkek - Show gossip option only if player is at least honored with Frenzheart Tribe'), +(15,@EH_GOSSIP,5,0,2,@ZEPIKSHUNTINGHORN,1,0,1,0, '', 'Elder Harkek - Show gossip option only if player has no item Zepiks Hunting Horn'); +-- Jaloot's Itensity and Blessing of the Sparkling Hare don't stack +DELETE FROM `spell_group` WHERE `id`=@BLESSINGOFTHESPARKINGHARE; +INSERT INTO `spell_group` (`id`,`spell_id`) VALUES +(@BLESSINGOFTHESPARKINGHARE,@BLESSINGOFTHESPARKINGHARE), +(@BLESSINGOFTHESPARKINGHARE,@JALOOTSINTENSITY); + +DELETE FROM `spell_group_stack_rules` WHERE `group_id`=@BLESSINGOFTHESPARKINGHARE; +INSERT INTO `spell_group_stack_rules` (`group_id`,`stack_rule`) VALUES +(@BLESSINGOFTHESPARKINGHARE,1); + +DELETE FROM `creature_template_addon` WHERE `entry`IN(@GLINTINGDIRT,@LAFOO,@JALOOT,@MOODLE,@GLINTINGBUG,@GOREGEK,@DAJIK,@ZEPIK); +INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(@GLINTINGBUG, 0, 0, 0, 1, 0, '51444'), +(@GOREGEK, 0, 0, 0, 1, 0,'54178'), +(@DAJIK, 0, 0, 0, 1, 0,'52734'), +(@ZEPIK, 0, 0, 0, 1, 0,'54176'); + +DELETE FROM `spell_linked_spell` WHERE `spell_trigger`=@SEEINVIS AND `spell_effect`=@LOOKINGFORTREASUREAURA; +INSERT INTO `spell_linked_spell` (`spell_trigger`, `spell_effect`, `type`, `comment`) VALUES +(@SEEINVIS, @LOOKINGFORTREASUREAURA, 2, 'Looking for treasure aura triggered by Rainspeaker Treasures: See Invisibility'); + +DELETE FROM `spell_area` WHERE `spell`=@SEEINVIS; +DELETE FROM `spell_area` WHERE `spell`=@ANGRYGORLOCCREDIT; +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`=@GLINTINGDIRT; +DELETE FROM `smart_scripts` WHERE `entryorguid` =@GLINTINGDIRT; +DELETE FROM `smart_scripts` WHERE `entryorguid` BETWEEN @GLINTINGDIRTSCRIPT AND @GLINTINGDIRTSCRIPT+5; +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 +(@GLINTINGDIRT,0,0 ,0,38, 0,100,1,1,1,0,0,23,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - On Data Set - Increment Phase'), +(@GLINTINGDIRT,0,1 ,0,1, 1,100,1,0,0,0,0,87,@GLINTINGDIRTSCRIPT,@GLINTINGDIRTSCRIPT+1,@GLINTINGDIRTSCRIPT+2,@GLINTINGDIRTSCRIPT+3,@GLINTINGDIRTSCRIPT+4,@GLINTINGDIRTSCRIPT+5,1,0,0,0,0,0,0,0, 'Glinting Dirt - OOC (Phase 2) - Run Random Script'), +(@GLINTINGDIRT,0,2 ,0,1, 1,40,1,100,300,3500,3500,11,@DIGUPGLINTINGBUG,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - OOC (Phase 2) - Cast Dig up Glinting Bug'), +(@GLINTINGDIRT,0,3 ,0,1, 1,40,1,100,300,3500,3500,11,@DIGUPGLINTINGBUG,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - OOC (Phase 2) - Cast Dig up Glinting Bug'), +(@GLINTINGDIRT,0,4 ,0,1, 1,40,1,100,300,3500,3500,11,@DIGUPGLINTINGBUG,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - OOC (Phase 2) - Cast Dig up Glinting Bug'), +(@GLINTINGDIRT,0,5 ,0,1, 1,100,1,400,400,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - OOC (Phase 2) - Despawn'), +(@GLINTINGDIRT,0,6 ,0,11, 0,100,0,0,0,0,0,11,@INVISIBILTY,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - On Spawn - Cast Rainspeaker Treasures: Invisibility'), +(@GLINTINGDIRTSCRIPT,9,0 ,0,0, 0,100,0,5000,5000,0,0,11,@DIGUPSPARKINGHARE,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Cast Dig Up Sparking Hare'), +(@GLINTINGDIRTSCRIPT,9,1 ,0,0, 0,100,0,5500,5500,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Despawn'), +(@GLINTINGDIRTSCRIPT+1,9,0 ,0,0, 0,100,0,5000,5000,0,0,11,@DIGUPSHININGCRYSTAL,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Cast Dig Up Shining Crystal'), +(@GLINTINGDIRTSCRIPT+1,9,1 ,0,0, 0,100,0,5500,5500,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Despawn'), +(@GLINTINGDIRTSCRIPT+2,9,0 ,0,0, 0,100,0,5000,5000,0,0,11,@DIGUPGLINTINGARMOR,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Cast Dig Up Glinting Armor'), +(@GLINTINGDIRTSCRIPT+2,9,1 ,0,0, 0,100,0,5500,5500,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Despawn'), +(@GLINTINGDIRTSCRIPT+3,9,0 ,0,0, 0,100,0,5000,5000,0,0,11,@DIGUPGLOWINGGEM,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Cast Dig Up Glowing Gem'), +(@GLINTINGDIRTSCRIPT+3,9,1 ,0,0, 0,100,0,5500,5500,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Despawn'), +(@GLINTINGDIRTSCRIPT+4,9,0 ,0,0, 0,100,0,5000,5000,0,0,11,@DIGUPPOLISHEDPLATTER,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Cast Dig Up Polished Platter'), +(@GLINTINGDIRTSCRIPT+4,9,1 ,0,0, 0,100,0,5500,5500,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Despawn'), +(@GLINTINGDIRTSCRIPT+5,9,0 ,0,0, 0,100,0,5000,5000,0,0,11,@DIGUPSPARKINGTREASURE,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Cast Dig Up Sparking Treasure'), +(@GLINTINGDIRTSCRIPT+5,9,1 ,0,0, 0,100,0,5500,5500,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Dirt - Script - Despawn'); + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN(@RAINSPEAKERBUNNY,@FRENZYBUNNY,@MOSSWALKERBUNNY,@MISTWHISPERBUNNY,@SPEARBORNBUNNY,@KARTAKHOLDBUNNY,@SPARKTOUCHEDBUNNY,@SAPPHIREHIVEBUNNY,@LIFEBLOODPILLARBUNNY,@SKYREACHPILLARBUNNY); +UPDATE `creature_template` SET `AIName`= 'SmartAI',`unit_flags`=32776,`InhabitType`=3 WHERE `entry`In(@LAFOO,@MOODLE,@JALOOT,@GOREGEK,@DAJIK,@ZEPIK); +UPDATE `creature_template` SET `gossip_menu_id`=9747, `npcflag`=`npcflag`|1, `speed_run`=1.30952 WHERE `entry`=@JALOOT; +UPDATE `creature_template` SET `npcflag`=`npcflag`|1, `speed_run`=1.19048 WHERE `entry`=@MOODLE; +UPDATE `gossip_menu_option` SET `action_menu_id`=9684 WHERE `menu_id`=9677; +UPDATE `creature_template` SET `gossip_menu_id`=9745 WHERE `entry`=28106; +UPDATE `creature_template` SET `speed_walk`=0.66667, `speed_run`=0.99206 WHERE `entry`=@GOREGEK; +UPDATE `creature_template` SET `speed_walk`=0.66667, `speed_run`=0.99206, `npcflag`=`npcflag`|1 WHERE `entry`=@ZEPIK; +UPDATE `gossip_menu_option` SET `action_menu_id`=9684 WHERE `menu_id`=9677; +DELETE FROM `creature_involvedrelation` WHERE `id`=28216 AND `quest`=12582; + +DELETE FROM `gossip_menu` WHERE `entry`=9747; +DELETE FROM `gossip_menu` WHERE `entry`=9562 AND `text_id`=12883; +DELETE FROM `gossip_menu` WHERE `entry`=9570 AND `text_id`=12905; +DELETE FROM `gossip_menu` WHERE `entry`=9678 AND `text_id`=13136; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES +(9562,12883), +(9570,12905), +(9678,13136), +(9747,13367); + +DELETE FROM `npc_text` WHERE `ID`=13136; +INSERT INTO `npc_text` (`ID`,`text0_0`,`text0_1`,`lang0`,`prob0`,`em0_0`,`em0_1`,`em0_2`,`em0_3`,`em0_4`,`em0_5`,`text1_0`,`text1_1`,`lang1`,`prob1`,`em1_0`,`em1_1`,`em1_2`,`em1_3`,`em1_4`,`em1_5`,`text2_0`,`text2_1`,`lang2`,`prob2`,`em2_0`,`em2_1`,`em2_2`,`em2_3`,`em2_4`,`em2_5`,`text3_0`,`text3_1`,`lang3`,`prob3`,`em3_0`,`em3_1`,`em3_2`,`em3_3`,`em3_4`,`em3_5`,`text4_0`,`text4_1`,`lang4`,`prob4`,`em4_0`,`em4_1`,`em4_2`,`em4_3`,`em4_4`,`em4_5`,`text5_0`,`text5_1`,`lang5`,`prob5`,`em5_0`,`em5_1`,`em5_2`,`em5_3`,`em5_4`,`em5_5`,`text6_0`,`text6_1`,`lang6`,`prob6`,`em6_0`,`em6_1`,`em6_2`,`em6_3`,`em6_4`,`em6_5`,`text7_0`,`text7_1`,`lang7`,`prob7`,`em7_0`,`em7_1`,`em7_2`,`em7_3`,`em7_4`,`em7_5`,`WDBVerified`) VALUES +(13136,'Vekjik no want to be bothered.','',0,1,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,12340); + +DELETE FROM `creature_equip_template` WHERE `entry` IN (@GOREGEK,@DAJIK,@ZEPIK); +INSERT INTO `creature_equip_template` (`entry`,`id`,`itemEntry1`,`itemEntry2`,`itemEntry3`) VALUES +(@GOREGEK,1,36488,0,0), +(@DAJIK,1,28325,0,0), +(@ZEPIK,1,28914,0,5258); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN(@LAFOO,@MOODLE,@JALOOT,@GOREGEK,@DAJIK,@ZEPIK,@GORLOCTREASURESCRIPT,@RAINSPEAKERBUNNY,@FRENZYBUNNY,@MOSSWALKERBUNNY,@MISTWHISPERBUNNY,@SPEARBORNBUNNY,@KARTAKHOLDBUNNY,@SPARKTOUCHEDBUNNY,@SAPPHIREHIVEBUNNY,@LIFEBLOODPILLARBUNNY,@SKYREACHPILLARBUNNY); +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 +(@GOREGEK,0,0 ,0,11,0,100,0,0,0,0,0,8,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - On Spawn - Set React State'), +(@GOREGEK,0,1,0,8,0,100,0,@FRENZYAURA,0,45000,70000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - On spellhit - Say line'), +(@GOREGEK,0,2,0,8,0,100,0,@DESSAWNRETAINER,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - On spellhit - Despawn'), +(@GOREGEK,0,3,0,0,0,100,0,3000,6000,8000,16000,11,54188,2,0,0,0,0,5,0,0,0,0,0,0,0, 'Goregek - IC - Cast Sunder Armor'), +(@GOREGEK,0,4,0,0,0,100,0,5000,8000,15000,20000,11,52743,2,0,0,0,0,2,0,0,0,0,0,0,0, 'Goregek - IC - Cast Head Smack'), +(@GOREGEK,0,5,0,2,0,100,0,0,30,60000,60000,11,52748,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - On Less than 30% HP - Cast Voracious Appetite'), +(@GOREGEK,0,6,0,13,0,100,0,12000,20000,0,0,11,6713,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - On Target Casting - Cast Disarm'), +(@GOREGEK,0,7 ,0,5,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - On Creature Death - Say'), +(@GOREGEK,0,8 ,0,1,0,100,0,10000,40000,45000,90000,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Gorekek - OOC - Say'), +(@GOREGEK,0,9 ,0,11,0,100,0,0,0,0,0,11,@WOLVARLOCATIONPERIODIC,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - On Spawn - Cast Wolvar Location Periodic'), +(@GOREGEK,0,10 ,0,11,0,100,0,0,0,0,0,11,@SHOLAZARGUARDIANHEARTBEAT,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - On Spawn - Cast Sholazar Guardian Heartbeat'), +(@GOREGEK,0,11 ,0,1,0,100,0,10000,40000,45000,90000,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Gorekek - OOC - Say'), +(@GOREGEK,0,12 ,0,1,0,100,0,10000,10000,10000,10000,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - OOC - Set Phase 2'), +(@GOREGEK,0,13 ,0,4,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - On Agro - Set Phase 1'), +(@GOREGEK,0,14 ,0,38,0,100,0,1,1,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - On Data Set - Say'), +(@GOREGEK,0,15,0,8,2,100,0,@KARTAKHOLDAURA,0,40000,70000,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - On spellhit - Say line'), +(@GOREGEK,0,16,0,8,2,100,0,@CHICKENLOCATIONPING,0,6000,10000,11,@CHICKENNET,0,0,0,0,0,19,@CHICKENESCAPEE,5,0,0,0,0,0, 'Goregek - On spellhit - Cast Chicken Net'), +(@DAJIK,0,0 ,0,11,0,100,0,0,0,0,0,8,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On Spawn - Set React State'), +(@DAJIK,0,1,0,8,0,100,0,@FRENZYAURA,0,45000,70000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On spellhit - Say line'), +(@DAJIK,0,2,0,8,0,100,0,@DESSAWNRETAINER,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On spellhit - Despawn'), +(@DAJIK,0,3,0,0,0,100,0,3000,6000,8000,12000,11,54195,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Dajik - IC - Cast Earth''s Wrath'), +(@DAJIK,0,4,0,0,0,100,0,5000,8000,15000,20000,11,54193,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Dajik - IC - Cast Earth''s Fury'), +(@DAJIK,0,5,0,2,0,100,0,0,30,60000,60000,11,54206,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On Less than 30% HP - Cast Mend'), +(@DAJIK,0,6 ,0,5,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On Creature Death - Say'), +(@DAJIK,0,8 ,0,1,0,100,0,10000,40000,45000,90000,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - OOC - Say'), +(@DAJIK,0,9,0,8,2,100,0,@SAPPHIREHIVEAURA,0,40000,70000,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On spellhit - Say line'), +(@DAJIK,0,10 ,0,11,0,100,0,0,0,0,0,11,@WOLVARLOCATIONPERIODIC,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On Spawn - Cast Wolvar Location Periodic'), +(@DAJIK,0,11 ,0,11,0,100,0,0,0,0,0,11,@SHOLAZARGUARDIANHEARTBEAT,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik -Goregek - On Spawn - Cast Sholazar Guardian Heartbeat'), +(@DAJIK,0,12 ,0,38,0,100,0,1,1,0,0,1,4,5000,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On Creature Death (Sapphire Queen) - Say'), +(@DAJIK,0,13 ,0,38,0,100,0,1,2,0,0,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On Creature Death (Serfex the Reaver) - Say'), +(@DAJIK,0,14 ,0,1,0,100,0,10000,10000,10000,10000,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - OOC - Set Phase 2'), +(@DAJIK,0,15 ,0,4,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On Agro - Set Phase 1'), +(@DAJIK,0,16 ,0,52,0,100,0,4,@DAJIK,0,0,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik On - Text Over - Say'), +(@DAJIK,0,17,0,8,2,100,0,@SKYREACHPILLARAURA,0,40000,70000,1,7,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On spellhit - Say line'), +(@DAJIK,0,18 ,0,1,0,100,0,10000,40000,45000,90000,1,8,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - OOC - Say'), +(@DAJIK,0,19,0,8,2,100,0,@LIFEBLOODPILLARAURA,0,40000,70000,1,9,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dajik - On spellhit - Say line'), +(@DAJIK,0,20,0,8,2,100,0,@CHICKENLOCATIONPING,0,6000,10000,11,@CHICKENNET,0,0,0,0,0,19,@CHICKENESCAPEE,5,0,0,0,0,0, 'Dajik - On spellhit - Cast Chicken Net'), +(@ZEPIK,0,0 ,0,11,0,100,0,0,0,0,0,8,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Zepik - On Spawn - Set React State'), +(@ZEPIK,0,1,0,8,0,100,0,@FRENZYAURA,0,45000,70000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Zepik - On spellhit - Say line'), +(@ZEPIK,0,2,0,8,0,100,0,@DESSAWNRETAINER,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Zepik - On spellhit - Despawn'), +(@ZEPIK,0,3,0,0,0,100,0,4000,7000,15000,18000,11,52761,0,0,0,0,0,5,0,0,0,0,0,0,0, 'Zepik the Gorloc Hunter - IC - Cast Barbed Net'), +(@ZEPIK,0,4,0,0,0,100,0,5000,8000,12000,15000,11,52889,0,0,0,0,0,5,0,0,0,0,0,0,0, 'Zepik the Gorloc Hunter - IC - Cast Envenomed Shot'), +(@ZEPIK,0,5,0,0,0,100,0,0,6000,15000,18000,11,52873,0,0,0,0,0,5,0,0,0,0,0,0,0, 'Zepik the Gorloc Hunter - IC - Cast Open Wound'), +(@ZEPIK,0,6,0,0,0,100,0,3000,5000,3000,7000,11,52758,0,0,0,0,0,5,0,0,0,0,0,0,0, 'Zepik the Gorloc Hunter - IC - Cast Piercing Arrow'), +(@ZEPIK,0,7,0,2,0,100,0,0,30,60000,60000,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'), +(@ZEPIK,0,8 ,0,5,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Zepik - On Creature Death - Say'), +(@ZEPIK,0,9 ,0,1,0,100,0,10000,40000,45000,90000,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Zepik - OOC - Say'), +(@ZEPIK,0,10,0,8,2,100,0,@MISTWHISPERAURA,0,40000,70000,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Zepik - On spellhit - Say line'), +(@ZEPIK,0,11 ,0,11,0,100,0,0,0,0,0,11,@WOLVARLOCATIONPERIODIC,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Zepik - On Spawn - Cast Wolvar Location Periodic'), +(@ZEPIK,0,12 ,0,11,0,100,0,0,0,0,0,11,@SHOLAZARGUARDIANHEARTBEAT,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Zepik - On Spawn - Cast Sholazar Guardian Heartbeat'), +(@ZEPIK,0,13 ,0,1,0,100,0,10000,10000,10000,10000,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Goregek - OOC - Set Phase 2'), +(@ZEPIK,0,14 ,0,4,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Zepik - On Agro - Set Phase 1'), +(@ZEPIK,0,15 ,0,38,0,100,0,1,2,0,0,1,4,5000,0,0,0,0,1,0,0,0,0,0,0,0, 'Zepik - On Data Set - Say'), +(@ZEPIK,0,16 ,0,52,0,100,0,4,@ZEPIK,0,0,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Zepik - On Text Over - Say'), +(@ZEPIK,0,17,0,8,2,100,0,@CHICKENLOCATIONPING,0,6000,10000,11,@CHICKENNET,0,0,0,0,0,19,@CHICKENESCAPEE,5,0,0,0,0,0, 'Zepik - On spellhit - Cast Chicken Net'), +(@LAFOO,0,0 ,1,8, 2,100,1,@TREASUREPING,0,60000,60000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - On Spellhit - Say'), +(@LAFOO,0,1 ,0,61, 0,100,0,0,0,0,0,80,@GORLOCTREASURESCRIPT,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - Linked with Previous Event - Run Script'), +(@LAFOO,0,2 ,0,11,0,100,0,0,0,0,0,11,@GORLOCLOCATIONPERIODIC,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - On Spawn - Cast Gorloc Location Periodic'), +(@LAFOO,0,3 ,0,11,0,100,0,0,0,0,0,11,@SHOLAZARGUARDIANHEARTBEAT,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - On Spawn - Cast Sholazar Guardian Heartbeat'), +(@LAFOO,0,4 ,0,38, 0,100,0,1,1,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - On Data Set - Say'), +(@GORLOCTREASURESCRIPT,9,0 ,0,61, 0,100,0,0,0,0,0,69,0,0,0,0,0,0,11,28362,10,0,0,0,0,0, 'Lafoo - Script - Move to Glinting Dirt'), +(@GORLOCTREASURESCRIPT,9,1 ,0,61, 0,100,0,1000,1000,0,0,45,1,1,0,0,0,0,9,@GLINTINGDIRT,0,2,0,0,0,0, 'Lafoo - Script - Set Data'), +(@GORLOCTREASURESCRIPT,9,2 ,0,61, 0,100,0,1500,1500,0,0,11,51405,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - Script - Cast Digging for Treasure'), +(@GORLOCTREASURESCRIPT,9,3 ,0,61, 0,100,0,5000,5000,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - Script - Evade'), +(@LAFOO,0,6 ,0,0, 0,100,0,0,5000,10000,12000,11,52931,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Lafoo - IC - Cast Toxic Spit'), +(@LAFOO,0,7 ,0,2,0,100,0,0,50,60000,60000,11,52940,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - On Friendly Health - Cast Sleepy Time'), +(@LAFOO,0,8 ,0,11,0,100,0,0,0,0,0,8,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - On Spawn - Set React State'), +(@LAFOO,0,9 ,0,5,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - On Creature Death - Say'), +(@LAFOO,0,10 ,0,1,0,100,0,10000,40000,45000,90000,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - OOC - Say'), +(@LAFOO,0,11,0,8,0,100,0,@RAINSPEAKERAURA,0,45000,70000,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - On spellhit - Say line'), +(@LAFOO,0,12,0,8,0,100,0,@DESSAWNRETAINER,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - On spellhit - Despawn'), +(@LAFOO,0,13,0,19,0,100,0,12572,0,0,0,85,@SEEINVIS,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Lafoo - On Quest Accept - Invoker Cast Rainspeaker Treasures: See Invisibility'), +(@LAFOO,0,14 ,0,1,0,100,0,10000,10000,10000,10000,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - OOC - Set Phase 2'), +(@LAFOO,0,15 ,0,4,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lafoo - On Agro - Set Phase 1'), +(@JALOOT,0,0 ,1,8, 2,100,1,@TREASUREPING,0,60000,60000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On Spellhit - Say'), +(@JALOOT,0,1 ,0,61, 0,100,0,0,0,0,0,80,@GORLOCTREASURESCRIPT,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - Linked with Previous Event - Run Script'), +(@JALOOT,0,2 ,0,11,0,100,0,0,0,0,0,11,@GORLOCLOCATIONPERIODIC,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On Spawn - Cast Gorloc Location Periodic'), +(@JALOOT,0,3 ,0,11,0,100,0,0,0,0,0,11,@SHOLAZARGUARDIANHEARTBEAT,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On Spawn - Cast Sholazar Guardian Heartbeat'), +(@JALOOT,0,4 ,0,38, 0,100,0,1,1,0,0,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On Data Set - Say'), +(@JALOOT,0,6,0,0,0,100,0,9000,15000,20000,25000,11,52943,2,0,0,0,0,5,0,0,0,0,0,0,0, 'Jaloot - IC - Cast Lightning Whirl'), +(@JALOOT,0,7,0,0,0,100,0,5000,8000,15000,18000,11,52944,2,0,0,0,0,5,0,0,0,0,0,0,0, 'Jaloot - IC - Cast Lightning Strike'), +(@JALOOT,0,8,0,0,0,100,0,7000,15000,20000,25000,11,52964,2,0,0,0,0,5,0,0,0,0,0,0,0, 'Jaloot - IC - Cast Spark Frenzy'), +(@JALOOT,0,9,0,2,0,100,0,0,30,30000,45000,11,52969,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On Less than 30% HP - Cast Energy Siphon'), +(@JALOOT,0,10 ,0,11,0,100,0,0,0,0,0,8,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On Spawn - Set React State'), +(@JALOOT,0,11 ,0,5,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On Creature Death - Say'), +(@JALOOT,0,12 ,0,1,0,100,0,10000,40000,45000,90000,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - OOC - Say'), +(@JALOOT,0,13,0,8,0,100,0,@RAINSPEAKERAURA,0,45000,70000,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On spellhit - Say line'), +(@JALOOT,0,14,0,11,0,100,0,0,0,0,0,11,@JALOOTSINTENSITY,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On Spawn - Cast Jaloot''s Intensity'), +(@JALOOT,0,15,0,8,0,100,0,@DESSAWNRETAINER,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On spellhit - Despawn'), +(@JALOOT,0,16,0,8,2,100,0,@SPEARBORNAURA,0,40000,70000,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On spellhit - Say line'), +(@JALOOT,0,17 ,0,1,0,100,0,10000,10000,10000,10000,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - OOC - Set Phase 2'), +(@JALOOT,0,18 ,0,4,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Jaloot - On Agro - Set Phase 1'), +(@MOODLE,0,0 ,1,8, 2,100,1,@TREASUREPING,0,60000,60000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On Spellhit - Say'), +(@MOODLE,0,1 ,0,61, 0,100,0,0,0,0,0,80,@GORLOCTREASURESCRIPT,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - Linked with Previous Event - Run Script'), +(@MOODLE,0,2 ,0,11,0,100,0,0,0,0,0,11,@GORLOCLOCATIONPERIODIC,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On Spawn - Cast Gorloc Location Periodic'), +(@MOODLE,0,3 ,0,11,0,100,0,0,0,0,0,11,@SHOLAZARGUARDIANHEARTBEAT,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On Spawn - Cast Sholazar Guardian Heartbeat'), +(@MOODLE,0,4 ,0,0, 0,100,0,0,5000,20000,30000,11,52974,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - IC - Cast Vicious Roar'), +(@MOODLE,0,5 ,0,20, 0,100,0,12580,0,0,0,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On Quest Complete - Say'), +(@MOODLE,0,6 ,0,0, 0,100,0,0,5000,20000,24000,11,52973,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Moodle - IC - Cast Frost Breath'), +(@MOODLE,0,7,0,0,0,100,0,9000,15000,20000,25000,11,52979,0,0,0,0,0,5,0,0,0,0,0,0,0, 'Moodle - IC - Cast Whirlwind'), +(@MOODLE,0,8,0,0,0,100,0,2000,10000,40000,50000,11,52972,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - IC - Cast Dispersal'), +(@MOODLE,0,9 ,0,2,0,100,0,0,50,60000,60000,11,52979,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On less than 50% HP - Cast Frigid Absorbtion'), +(@MOODLE,0,10 ,0,11,0,100,0,0,0,0,0,8,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On Spawn - Set React State'), +(@MOODLE,0,11 ,0,5,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On Creature Death - Say'), +(@MOODLE,0,12 ,0,1,0,100,0,10000,40000,45000,90000,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - OOC - Say'), +(@MOODLE,0,13,0,8,0,100,0,@RAINSPEAKERAURA,0,45000,70000,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On spellhit - Say line'), +(@MOODLE,0,14,0,8,0,100,1,@DESSAWNRETAINER,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On spellhit - Despawn'), +(@MOODLE,0,15,0,8,2,100,0,@MOSSWALKERAURA,0,40000,70000,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On spellhit - Say line'), +(@MOODLE,0,16 ,0,61, 0,100,0,0,0,0,0,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - Linked with Previous Event - Run Passive'), +(@MOODLE,0,17 ,0,19, 0,100,0,12581,0,0,0,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On Quest Accept - Say'), +(@MOODLE,0,18 ,0,1,0,100,0,10000,10000,10000,10000,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - OOC - Set Phase 2'), +(@MOODLE,0,19 ,0,4,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Moodle - On Agro - Set Phase 1'), +(@RAINSPEAKERBUNNY,0,0,0,10,0,100,0,1,150,10000,10000,11,@RAINSPEAKERAURA,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Rainspeaker Canopy Bunny - On update OOC - Spellcast Rainspeaker Canopy Aura'), +(@FRENZYBUNNY,0,0,0,10,0,100,0,1,150,10000,10000,11,@FRENZYAURA,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Frenzyheart Hill Bunny - On update OOC - Spellcast Frenzyheart Hill Aura'), +(@MOSSWALKERBUNNY,0,0,0,10,0,100,0,1,200,10000,10000,11,@MOSSWALKERAURA,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Mosswalker Village Bunny - On update OOC - Spellcast Mosswalker Village Aura'), +(@MOSSWALKERBUNNY,0,1,0,10,0,100,0,1,200,1000,1000,85,@ANGRYGORLOCCREDIT,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Mosswalker Village Bunny - On update OOC - Cast quest credit'), +(@MISTWHISPERBUNNY,0,0,0,10,0,100,0,1,200,10000,10000,11,@MISTWHISPERAURA,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Mistwhisper Refuge Bunny - On update OOC - Spellcast Mistwhisper Refuge Aura'), +(@SPEARBORNBUNNY,0,0,0,10,0,100,0,1,200,10000,10000,11,@SPEARBORNAURA,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Spearborn Encampment Bunny - On update OOC - Spellcast Spearborn Encampment Aura'), +(@KARTAKHOLDBUNNY,0,0,0,10,0,100,0,1,200,10000,10000,11,@KARTAKHOLDAURA,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Kartak Hold Bunny - On update OOC - Spellcast Kartak Hold Aura'), +(@SPARKTOUCHEDBUNNY,0,0,0,10,0,100,0,1,200,10000,10000,11,@SPARKTOUCHEDAURA,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Sparktouched Haven Bunny - On update OOC - Spellcast Sparktouched Haven Aura'), +(@SAPPHIREHIVEBUNNY,0,0,0,10,0,100,0,1,200,10000,10000,11,@SAPPHIREHIVEAURA,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Sapphire Hive Bunny - On update OOC - Spellcast Sapphire Hive Aura'), +(@SKYREACHPILLARBUNNY,0,0,0,10,0,100,0,1,200,10000,10000,11,@SKYREACHPILLARAURA,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Skyreach Pillar Bunny - On update OOC - Spellcast Skyreach Pillar Aura'), +(@LIFEBLOODPILLARBUNNY,0,0,0,10,0,100,0,1,200,10000,10000,11,@LIFEBLOODPILLARAURA,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Lifeblood Pillar Bunny - On update OOC - Spellcast Lifeblood Pillar Aura'); + +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`=@SPARKLINGHARE; +DELETE FROM `smart_scripts` WHERE `entryorguid` =@SPARKLINGHARE; +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 +(@SPARKLINGHARE,0,0 ,0,6, 0,100,0,0,0,0,0,11,@BLESSINGOFTHESPARKINGHARE,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Sparking Hare - On Death - Cast Blessing of the Sparkling Hare'); + +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`=@GLINTINGBUG; +DELETE FROM `smart_scripts` WHERE `entryorguid` =@GLINTINGBUG; +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 +(@GLINTINGBUG,0,0 ,0,11, 0,100,0,0,0,0,0,89,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Glinting Bug - On Spawn - Set Random Movement'); + +DELETE FROM `creature_text` WHERE `entry` IN(@LAFOO,@JALOOT,@MOODLE,@GOREGEK,@DAJIK,@ZEPIK); +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +(@LAFOO, 0, 0, 'Ooh! Shinies!', 12, 0, 18, 0, 0, 0, 'Lafoo'), +(@LAFOO, 0, 1, 'Maybe more shiny bugs! We like bugs!', 12, 0, 17, 0, 0, 0, 'Lafoo'), +(@LAFOO, 0, 2, 'Treasure for Lafoo! Treasure for shrine!', 12, 0, 17, 0, 0, 0, 'Lafoo'), +(@LAFOO, 0, 3, 'Dig, dig, dig...', 12, 0, 16, 0, 0, 0, 'Lafoo'), +(@LAFOO, 0, 4, 'Crunchy bugs so delicious. Want?', 12, 0, 16, 0, 0, 0, 'Lafoo'), +(@LAFOO, 0, 5, 'That weird. Someone took our bugs. You have maybe?', 12, 0, 16, 0, 0, 0, 'Lafoo'), +(@LAFOO, 1, 0, 'No come back this time!', 12, 0, 100, 0, 0, 0, 'Lafoo'), +(@LAFOO, 2, 0, 'One day maybe you can be Soo-dryskin. You like?', 12, 0, 20, 0, 0, 0, 'Lafoo'), +(@LAFOO, 2, 1, 'You have pie? Someone gave us pie year ago. Really yummy.', 12, 0, 20, 0, 0, 0, 'Lafoo'), +(@LAFOO, 2, 2, 'Big comfy tree. Good Home.', 12, 0, 20, 0, 0, 0, 'Lafoo'), +(@LAFOO, 2, 3, 'Never meet Great Ones. Nope, just met their shrines.', 12, 0, 20, 0, 0, 0, 'Lafoo'), +(@LAFOO, 2, 4, 'You got funny looking eyeballs.', 12, 0, 20, 0, 0, 0, 'Lafoo'), +(@LAFOO, 3, 0, 'Home good, but not stay long! More adventures!.', 12, 0, 100, 0, 0, 0, 'Lafoo'), +(@LAFOO, 4, 0, 'Hiss... hiss... dead. All dead', 12, 0, 100, 0, 0, 0, 'Lafoo'), +(@JALOOT, 0, 0, 'Shiny things! Shiny things! Not as shiny as my crystal, but still shiny!', 12, 0, 25, 0, 0, 0, 'Jaloot'), +(@JALOOT, 0, 1, 'More treasures! Treasures of all kinds! Yay treasures!', 12, 0, 25, 0, 0, 0, 'Jaloot'), +(@JALOOT, 0, 2, 'Can never have too many shiny crystals! Nope!', 12, 0, 25, 0, 0, 0, 'Jaloot'), +(@JALOOT, 0, 3, 'We are fast digger! Really fast! See... all done! That was fast, huh?', 12, 0, 25, 0, 0, 0, 'Jaloot'), +(@JALOOT, 1, 0, 'You like that? Bet not! Bet not cause you dead! Hahah!', 12, 0, 34, 0, 0, 0, 'Jaloot'), +(@JALOOT, 1, 1, 'Vic...tor...ious! Dun nun nun dun da da!', 12, 0, 33, 0, 0, 0, 'Jaloot'), +(@JALOOT, 1, 2, 'Killing Spree!', 12, 0, 33, 0, 0, 0, 'Jaloot'), +(@JALOOT, 2, 0, 'Mistcaller really good at controlling weather with shrine. They know just which crystals to use! Really good!', 12, 0, 16, 0, 0, 0, 'Jaloot'), +(@JALOOT, 2, 1, 'Ever trip over own feet? We have. Kind of hurt. No do it, not fun. Nope.', 12, 0, 16, 0, 0, 0, 'Jaloot'), +(@JALOOT, 2, 2, 'Want us to help with something? What we help with? We good at helping.', 12, 0, 16, 0, 0, 0, 'Jaloot'), +(@JALOOT, 2, 3, 'Hello! You''re pretty strong and nice and stuff. I like you. Lets stay friends, okay?', 12, 0, 16, 0, 0, 0, 'Jaloot'), +(@JALOOT, 2, 4, 'Misty. Very misty. Seem sort of misty to you? Maybe not so much.', 12, 0, 16, 0, 0, 0, 'Jaloot'), +(@JALOOT, 2, 5, 'Lets go jump off tree! Fun fun!', 12, 0, 15, 0, 0, 0, 'Jaloot'), +(@JALOOT, 3, 0, 'Chase the hatchlings! Chase the hatchlings! So fast!', 12, 0, 34, 0, 0, 0, 'Jaloot'), +(@JALOOT, 3, 1, 'Great Ones keep home safe because they like Oracles I think! They know we good and nice.', 12, 0, 33, 0, 0, 0, 'Jaloot'), +(@JALOOT, 3, 2, 'Home home home... place of the shinies!', 12, 0, 33, 0, 0, 0, 'Jaloot'), +(@JALOOT, 4, 0, 'We know you have dragon thing! We not scared! We going to get you and dragon thing!', 12, 0, 34, 0, 0, 0, 'Jaloot'), +(@JALOOT, 4, 1, 'Teach you to steal our treasures! Our treasures are... ours, okay?', 12, 0, 33, 0, 0, 0, 'Jaloot'), +(@JALOOT, 4, 2, 'Time to hide puppy-men! We are coming for you!', 12, 0, 33, 0, 0, 0, 'Jaloot'), +(@JALOOT, 5, 0, 'Tartek no match for you! You got the skills. Yeah!', 12, 0, 100, 0, 0, 0, 'Jaloot'), +(@MOODLE, 0, 0, 'What the heck are shiny rabbits doing here anyway?', 12, 0, 25, 0, 0, 0, 'Moodle'), +(@MOODLE, 0, 1, 'Here I am, digging up some useless bauble on the will of someone I just met...does that seem right to you?', 12, 0, 25, 0, 0, 0, 'Moodle'), +(@MOODLE, 0, 2, 'Hey, maybe we''ll find some more useless bugs!', 12, 0, 25, 0, 0, 0, 'Moodle'), +(@MOODLE, 0, 3, 'Yay... more dirt.', 12, 0, 25, 0, 0, 0, 'Moodle'), +(@MOODLE, 1, 0, 'I can''t believe ... they''re all ... dead', 12, 0, 50, 0, 0, 0, 'Moodle'), +(@MOODLE, 1, 1, 'Another one falls to our Onslaught, As it should be.', 12, 0, 50, 0, 0, 0, 'Moodle'), +(@MOODLE, 2, 0, 'There some reason why we''re still here? I''d love to hear it', 12, 0, 33, 0, 0, 0, 'Moodle'), +(@MOODLE, 2, 1, 'Yeah, let''s go now', 12, 0, 33, 0, 0, 0, 'Moodle'), +(@MOODLE, 2, 2, 'I''m done here', 12, 0, 34, 0, 0, 0, 'Moodle'), +(@MOODLE, 3, 0, 'Going to go take a nap? I apologize in advance for accidentally stepping on your face while you sleep.', 12, 0, 33, 0, 0, 0, 'Moodle'), +(@MOODLE, 3, 1, 'Planning to sit on your butt some more, or are we going to go do something that''s actually useful?', 12, 0, 34, 0, 0, 0, 'Moodle'), +(@MOODLE, 3, 2, 'Here I am, brain the size of a planet, and they ask me to take you to the other village. Call that job satisfaction? ''Cause I don''t.', 12, 0, 33, 0, 0, 0, 'Moodle'), +(@MOODLE, 4, 0, 'The Mosswalkers were good people... they did not deserve this.', 12, 0, 17, 0, 0, 0, 'Moodle'), +(@MOODLE, 4, 1, 'I know I talk down to them, but I never want to see any of my people die.', 12, 0, 17, 0, 0, 0, 'Moodle'), +(@MOODLE, 4, 2, 'It''s good to see some of the mosswalker were more resilient than I thought.', 12, 0, 17, 0, 0, 0, 'Moodle'), +(@MOODLE, 4, 3, 'It''s hard to believe any of them survived this.', 12, 0, 17, 0, 0, 0, 'Moodle'), +(@MOODLE, 4, 4, 'There are more that might still be alive! We need to keep moving.', 12, 0, 16, 0, 0, 0, 'Moodle'), +(@MOODLE, 4, 5, 'Where are they dragging those bodies? What are they doing to them?', 12, 0, 16, 0, 0, 0, 'Moodle'), +(@MOODLE, 5, 0, 'This fight''s all yours', 12, 0, 10, 0, 0, 0, 'Moodle'), +(@MOODLE, 6, 0, 'It''s a small comfort to see that they haven''t brought any back in undeath.', 12, 0, 100, 0, 0, 0, 'Moodle'), +(@GOREGEK,0,0,'Home! You better have brought back meat for Goregek, slave.',12,0,20,0,0,0,'Goregek'), +(@GOREGEK,0,1,'Goregek get some sleep. Go bring foodstuffs back, slave thing.',12,0,20,0,0,0,'Goregek'), +(@GOREGEK,0,2,'Goregek go get drink. You sit in corner til Goregek ready.',12,0,20,0,0,0,'Goregek'), +(@GOREGEK,0,3,'Goregek hungry. Go get on fire spit, slave thing. Tell Goregek when you well roasted.',12,0,20,0,0,0,'Goregek'), +(@GOREGEK,0,4,'Gorgek gonna catch chicken good!',12,0,20,0,0,0,'Goregek'), +(@GOREGEK,0,5,'You wait until Goregek ready.',12,0,20,0,0,0,'Goregek'), +(@GOREGEK,0,6,'You wait, slave thing. Goregek eating.',12,0,20,0,0,0,'Goregek'), +(@GOREGEK,1,0,'Goregek best hunter... ever.',12,0,15,0,0,0,'Goregek'), +(@GOREGEK,1,1,'Hah! Goregek''s kill!',12,0,15,0,0,0,'Goregek'), +(@GOREGEK,1,2,'Next time, maybe Goregek let you try.',12,0,15,0,0,0,'Goregek'), +(@GOREGEK,1,3,'I stabbed it in the face! Goregek so good.',12,0,15,0,0,0,'Goregek'), +(@GOREGEK,1,4,'Squeal! Squeal! So good!',12,0,15,0,0,0,'Goregek'), +(@GOREGEK,1,5,'Frenzyheart the strongest!',12,0,15,0,0,0,'Goregek'), +(@GOREGEK,1,6,'That how it done, slave thing. Maybe you figure out how someday.',12,0,10,0,0,0,'Goregek'), +(@GOREGEK,2,0,'Why Goregek even bring you. You useless.',12,0,25,0,0,0,'Goregek'), +(@GOREGEK,2,1,'Elder maybe says other stuff, but you always be slave thing to Goregek.',12,0,25,0,0,0,'Goregek'), +(@GOREGEK,2,2,'Pitch was weakling anyway... why else you think Goregek not bother with him?',12,0,25,0,0,0,'Goregek'), +(@GOREGEK,2,3,'You just get yourself beat up! Hah! You so dumb, slave thing.',12,0,25,0,0,0,'Goregek'), +(@GOREGEK,3,0,'Careful slave thing, the big bad softnuckles might eat you! Hah!',12,0,13,0,0,0,'Goregek'), +(@GOREGEK,3,1,'Hardknuckles still walk on hands... seem kind of dumb to Goregek.',12,0,13,0,0,0,'Goregek'), +(@GOREGEK,3,2,'Run away dumb softknuckle! We gonna poke you more!',12,0,13,0,0,0,'Goregek'), +(@GOREGEK,3,3,'Run away softknuckle! Goregek gonna get you!',12,0,13,0,0,0,'Goregek'), +(@GOREGEK,3,4,'You just watch slave thing, Goregek take care of these hardknuckles!',12,0,12,0,0,0,'Goregek'), +(@GOREGEK,3,5,'Better not get in Goregek''s way!',12,0,12,0,0,0,'Goregek'), +(@GOREGEK,3,6,'Get out of way silly slave thing! Goregek''s kill!',12,0,12,0,0,0,'Goregek'), +(@GOREGEK,3,7,'There were hundreds of times these hardknuckles before Goregek.',12,0,12,0,0,0,'Goregek'), +(@GOREGEK,4,0,'Hah! Goregek the greatest hunter ever! Goregek get biggest hardknuckle!',12,0,100,0,0,0,'Goregek'), +(@GOREGEK,5,0,'Frenzyheart feed Kartak big-tongue so Kartak not eat us. That why we smarter than you, slave thing.',12,0,100,0,0,0,'Goregek'), +(@DAJIK,0,0,'Frenzyheart came here not long ago for new home... big-tongue homes pretty nice, so we maybe take those too. They ugly anyway.',12,0,12,0,0,0,'Dajik'), +(@DAJIK,0,1,'Lot of strong Frenzyheart here. Dajik taught most of them. First time I teach something like you though. You not a Frenzyheart, you know.',12,0,12,0,0,0,'Dajik'), +(@DAJIK,0,2,'Let''s just eat bristlepine instead, okay? All done with chasing.',12,0,12,0,0,0,'Dajik'), +(@DAJIK,0,3,'There reason Frenzyheart not chase back chickens. Look kind of dumb to lose to chicken.',12,0,12,0,0,0,'Dajik'), +(@DAJIK,0,4,'Maybe you not notice, chicken move kind of fast.',12,0,13,0,0,0,'Dajik'), +(@DAJIK,0,5,'Time for more smart Dajik tip! If Goregek let chickens out again, make Goregek get chickens back again.',12,0,13,0,0,0,'Dajik'), +(@DAJIK,0,6,'I placed most of the spikes. Good amount of pointiness I think. You like?',12,0,13,0,0,0,'Dajik'), +(@DAJIK,0,7,'Oh! Dajik has idea! Make chicken sounds and maybe they come to you!',12,0,13,0,0,0,'Dajik'), +(@DAJIK,1,0,'Get the stuff off of body! Dajik hate it when he go skin something and there stuff in the way. So annoying.',12,0,20,0,0,0,'Dajik'), +(@DAJIK,1,1,'Did you see face? Looked so scared, "Ah, big thing going to smash me!" Hah.',12,0,20,0,0,0,'Dajik'), +(@DAJIK,1,2,'Hah! Maybe you learn a little after all!',12,0,20,0,0,0,'Dajik'), +(@DAJIK,1,3,'Yes! Stab few more time just in case! Stab good!',12,0,20,0,0,0,'Dajik'), +(@DAJIK,1,4,'Not sure how thing got here. Not matter if dead though',12,0,20,0,0,0,'Dajik'), +(@DAJIK,2,0,'We came for something, yes? Can''t remember.',12,0,20,0,0,0,'Dajik'), +(@DAJIK,2,1,'Make sure you not forget anything! I forgot stuff once.',12,0,20,0,0,0,'Dajik'), +(@DAJIK,2,2,'Dajik not think he seen you eat anything. You eat sometimes, yeah?',12,0,20,0,0,0,'Dajik'), +(@DAJIK,2,3,'I was going to draw picture of best attack plan... but you have my chalk.',12,0,20,0,0,0,'Dajik'), +(@DAJIK,2,4,'Time for more smart Dajik tip! Make sure thing dead before reach in mouth for loots.',12,0,20,0,0,0,'Dajik'), +(@DAJIK,3,0,'Seem like there more wasps every time Dajik come back. Why they not run out?',12,0,20,0,0,0,'Dajik'), +(@DAJIK,3,1,'Time for more smart Dajik tip! Try not to catch stinger with face. Not work so much.',12,0,20,0,0,0,'Dajik'), +(@DAJIK,3,2,'In case you wonder, wasp sting not feel so good. No need to try.',12,0,20,0,0,0,'Dajik'), +(@DAJIK,3,3,'Drone things not as tough as they look. Wasp things a bit nastier.',12,0,20,0,0,0,'Dajik'), +(@DAJIK,3,4,'Try not to catch stinger with face. Not work so much.',12,0,20,0,0,0,'Dajik'), +(@DAJIK,4,0,'No! You killed the queen thing! What have you... wait, nevermind. Sorry, that okay.',12,0,100,0,7000,0,'Dajik'), +(@DAJIK,5,0,'Dajik''s last learner eaten by sand-thing. We do better this time though!',12,0,100,0,0,0,'Dajik'), +(@DAJIK,6,0,'This not first queen slain by Frenzyheart. Seem like there always more.',12,0,100,0,0,0,'Dajik'), +(@DAJIK,7,0,'Sometimes big-tongues try to come get crystals. Not now because they not like it when we kill them.',12,0,34,0,0,0,'Dajik'), +(@DAJIK,7,1,'Time for more smart Dajik tip! Crystals work little too good for back scratch. No try.',12,0,33,0,0,0,'Dajik'), +(@DAJIK,7,2,'Something big make pillars and crystals and everything. Frenzyheart not care much cause it not here anymore.',12,0,33,0,0,0,'Dajik'), +(@DAJIK,8,0,'If you here to poke more softnuckles, Dajik going to poke you too.That a bad Goregek habit.',12,0,50,0,0,0,'Dajik'), +(@DAJIK,8,1,'Huh... where are we? This not right. I not tell you find hardknuckles, did I?',12,0,50,0,0,0,'Dajik'), +(@DAJIK,9,0,'Time for more smart Dajik tip! Lot of dead things mean lot of chance of being dead thing. Dajik leaving now.',12,0,33,0,0,0,'Dajik'), +(@DAJIK,9,1,'Dead thing there already learn lesson of broken pillar. Leave this lesson for dumb, dead things. Going home now.',12,0,33,0,0,0,'Dajik'), +(@DAJIK,9,2,'You all done with learning! Yup! All done! Dajik leave you and evil red pillar thing now.',12,0,34,0,0,0,'Dajik'), +(@ZEPIK,0,0,'Bring back good meat and the camp treat you like high-shaman for a day. Good deal.',12,0,20,0,0,0,'Zepik'), +(@ZEPIK,0,1,'Elder Harkek pretty good Frenzyheart. He help me a lot when I was littler and not liking Dajik.',12,0,20,0,0,0,'Zepik'), +(@ZEPIK,0,2,'I not in a big hurry. We can rest here a while if want.',12,0,20,0,0,0,'Zepik'), +(@ZEPIK,0,3,'I not live here always... I traveled lot of world on my own not long ago. I like all the stories of beasts and dragons and gods and stuff.',12,0,20,0,0,0,'Zepik'), +(@ZEPIK,0,4,'You should go let chickens out again and say Goregek did it. Never get old.',12,0,20,0,0,0,'Zepik'), +(@ZEPIK,1,0,'Hahah! You see that? Lightning bolt hit him right in the head!',12,0,33,0,0,0,'Zepik'), +(@ZEPIK,1,1,'Good one! It not even see it coming.',12,0,33,0,0,0,'Zepik'), +(@ZEPIK,1,2,'No more play?',12,0,34,0,0,0,'Zepik'), +(@ZEPIK,2,0,'You ever fought big dragon or god or anything? Zepik like hearing stories.',12,0,12,0,0,0,'Zepik'), +(@ZEPIK,2,1,'You pretty good! Natural at hunt, like me.',12,0,12,0,0,0,'Zepik'), +(@ZEPIK,2,2,'Goregek think he the boss of everyone, but he eat too much and hunt too little.',12,0,12,0,0,0,'Zepik'), +(@ZEPIK,2,3,'Bring back good meat and the camp treat you like high-shaman for a day. Good deal.',12,0,12,0,0,0,'Zepik'), +(@ZEPIK,2,4,'Dajik forget what he doing, where he at... sometime even forget his own name. Make him not so good teacher sometimes.',12,0,13,0,0,0,'Zepik'), +(@ZEPIK,2,5,'Elder Harkek pretty good Frenzyheart. He help me a lot when I was littler and not liking Dajik.',12,0,13,0,0,0,'Zepik'), +(@ZEPIK,2,6,'Goregek never ''stumble'' into chicken hut... Goregek always have to feed his dumb belly. Always one chicken missing when we catch them all.',12,0,13,0,0,0,'Zepik'), +(@ZEPIK,2,7,'Dajik tried to show me ways of hunt, but I do better when I do things my way.',12,0,13,0,0,0,'Zepik'), +(@ZEPIK,3,0,'Eat it big-tongues!',12,0,14,0,0,0,'Zepik'), +(@ZEPIK,3,1,'Hah! Leave some for Zepik too.',12,0,14,0,0,0,'Zepik'), +(@ZEPIK,3,2,'That lake near here actually full of sea things. Not sure how it all get here... maybe in floods?',12,0,14,0,0,0,'Zepik'), +(@ZEPIK,3,3,'I think one reason I like hunting big-tongues so much... they not as dumb as the other hunts. They give a real fight.',12,0,14,0,0,0,'Zepik'), +(@ZEPIK,3,4,'Mist big-tongues are smart with their shrine thing sometimes... cover whole area with mist and it get hard to find any.',12,0,14,0,0,0,'Zepik'), +(@ZEPIK,3,5,'Hah! This the fun part!',12,0,15,0,0,0,'Zepik'), +(@ZEPIK,3,6,'Flame! Death! Destruction! The black fire rages within my heart! I must... release it! Hahah!',12,0,15,0,0,0,'Zepik'), +(@ZEPIK,4,0,'Trust me - you going love this!',12,0,100,0,0,0,'Zepik'), +(@ZEPIK,5,0,'BOOM! That so good! More! More!',12,0,100,0,0,0,'Zepik'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=9678 AND `SourceEntry`=13137; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (@FRENZYAURA,@RAINSPEAKERAURA,@WOLVARPING,@GORLOCPING,@DESSAWNRETAINER,@TREASUREPING,@DIGGINGFORTEASURE,@MOSSWALKERAURA,@SPEARBORNAURA,@MISTWHISPERAURA,@SAPPHIREHIVEAURA,@SKYREACHPILLARAURA,@CHICKENLOCATIONPING,51846); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,7,@FRENZYAURA,0,31,@GOREGEK,0,0,0,0,'','Spell Frenzyheart Hill Aura targets Goregek the Bristlepine Hunter'), +(13,7,@FRENZYAURA,1,31,@DAJIK,0,0,0,0,'','Spell Frenzyheart Hill Aura targets Dajik the Wasp Hunter'), +(13,7,@FRENZYAURA,2,31,@ZEPIK,0,0,0,0,'','Spell Frenzyheart Hill Aura targets Zepik the Gorloc Hunter'), +(13,7,@RAINSPEAKERAURA,0,31,@LAFOO,0,0,0,0,'','Spell Rainspeaker Canopy Aura targets Lafoo'), +(13,7,@RAINSPEAKERAURA,1,31,@MOODLE,0,0,0,0,'','Spell Rainspeaker Canopy Aura targets Jaloot'), +(13,7,@RAINSPEAKERAURA,2,31,@JALOOT,0,0,0,0,'','Spell Rainspeaker Canopy Aura targets Moodle'), +(13,7,@WOLVARPING,0,31,@GOREGEK,0,0,0,0,'','Spell Wolvar Location Ping targets Goregek the Bristlepine Hunter'), +(13,7,@WOLVARPING,1,31,@DAJIK,0,0,0,0,'','Spell Wolvar Location Ping targets Dajik the Wasp Hunter'), +(13,7,@WOLVARPING,2,31,@ZEPIK,0,0,0,0,'','Spell Wolvar Location Ping targets Zepik the Gorloc Hunter'), +(13,7,@GORLOCPING,0,31,@LAFOO,0,0,0,0,'','Spell Gorloc Location Ping targets Lafoo'), +(13,7,@GORLOCPING,1,31,@JALOOT,0,0,0,0,'','Spell Gorloc Location Ping targets Jaloot'), +(13,7,@GORLOCPING,2,31,@MOODLE,0,0,0,0,'','Spell Gorloc Location Ping targets Moodle'), +(13,7,@DESSAWNRETAINER,0,31,@LAFOO,0,0,0,0,'','Spell Dessawn Retainer targets Lafoo'), +(13,7,@DESSAWNRETAINER,1,31,@DAJIK,0,0,0,0,'','Spell Dessawn Retainer targets Dajik the Wasp Hunter'), +(13,7,@DESSAWNRETAINER,2,31,@ZEPIK,0,0,0,0,'','Spell Dessawn Retainer targets Zepik the Gorloc Hunter'), +(13,7,@DESSAWNRETAINER,3,31,@JALOOT,0,0,0,0,'','Spell Dessawn Retainer targets Jaloot '), +(13,7,@DESSAWNRETAINER,4,31,@MOODLE,0,0,0,0,'','Spell Dessawn Retainer targets Moodle'), +(13,7,@DESSAWNRETAINER,5,31,@GOREGEK,0,0,0,0,'','Spell Dessawn Retainer targets Goregek'), +(13,7,@TREASUREPING,0,31,@LAFOO,0,0,0,0,'','Spell looking for treasure ping targets Lafoo'), +(13,7,@TREASUREPING,1,31,@JALOOT,0,0,0,0,'','Spell looking for treasure ping targets Jaloot '), +(13,7,@TREASUREPING,2,31,@MOODLE,0,0,0,0,'','Spell looking for treasure ping targets Moodle'), +(13,7,@CHICKENLOCATIONPING,0,31,@GOREGEK,0,0,0,0,'','Spell chicken ping targets Goregek'), +(13,7,@CHICKENLOCATIONPING,1,31,@DAJIK,0,0,0,0,'','Spell chicken ping targets Dajik '), +(13,7,@CHICKENLOCATIONPING,2,31,@ZEPIK,0,0,0,0,'','Spell chicken ping targets Zepik'), +(13,7,@DIGGINGFORTEASURE,0,31,@GLINTINGDIRT,0,0,0,0,'','digging for treasure targets glinting dirt'), +(13,7,@MOSSWALKERAURA,0,31,@MOODLE,0,0,0,0,'','Mosswalker village aura targets moodle'), +(13,7,@SPEARBORNAURA,0,31,@JALOOT,0,0,0,0,'','spearborn encampment aura targets moodle'), +(13,7,@MISTWHISPERAURA,0,31,@ZEPIK,0,0,0,0,'','mistwhisper refuge aura targets zepik'), +(13,7,@SAPPHIREHIVEAURA,0,31,@DAJIK,0,0,0,0,'','sapphire hive aura targets dajik'), +(13,7,@SKYREACHPILLARAURA,0,31,@DAJIK,0,0,0,0,'','skyreach pillar aura targets dajik'), +(13,7,51846,0,31,@CHICKENESCAPEE,0,0,0,0,'','Scared Chicken targets only chicken escapee'), +(14,9678,13137,0,5,1104,7,0,0,0,'','Shaman Vekjik - Show different gossip if player is hated, hostile or unfriendly with Frenzyheart Tribe'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry` IN(@GLINTINGDIRT,@LAFOO,@JALOOT,@MOODLE,@GOREGEK,@DAJIK,@ZEPIK,@MOSSWALKERBUNNY) AND `SourceId`=0; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(22,17,@GOREGEK,0,0,9,0,12702,0,0,0,0, '', 'Goregek SAI only activates if player is on and has not completed the Chicken Party!'), +(22,17,@GOREGEK,0,0,29,0,@CHICKENESCAPEE,5,0,0,0, '', 'Execute SAI only if there is chicken escapee within 5 yards'), +(22,21,@DAJIK,0,1,9,0,12532,0,0,0,0, '', 'Dajik SAI only activates if player is on and has not completed Flown the Coop!'), +(22,21,@DAJIK,0,1,29,0,@CHICKENESCAPEE,5,0,0,0, '', 'Execute SAI only if there is chicken escapee within 5 yards'), +(22,21,@DAJIK,0,0,9,0,12702,0,0,0,0, '', 'Dajik SAI only activates if player is on and has not completed the Chicken Party!'), +(22,21,@DAJIK,0,0,29,0,@CHICKENESCAPEE,5,0,0,0, '', 'Execute SAI only if there is chicken escapee within 5 yards'), +(22,18,@ZEPIK,0,0,9,0,12702,0,0,0,0, '', 'Dajik SAI only activates if player is on and has not completed the Chicken Party!'), +(22,18,@ZEPIK,0,0,29,0,@CHICKENESCAPEE,5,0,0,0, '', 'Execute SAI only if there is chicken escapee within 5 yards'), +(22,1,@LAFOO,0,0,9,0,12704,0,0,0,0, '', 'Lafoo SAI only activates if player is on and has not completed the Appeasing the Great rainstone'), +(22,1,@LAFOO,0,0,29,0,@GLINTINGDIRT,10,0,0,0, '', 'Execute SAI only if there is glinting dirt within 5 yards'), +(22,1,@LAFOO,0,1,9,0,12572,0,0,0,0, '', 'Lafoo SAI only activates if player is on and has not completed the Gods like shiny things'), +(22,1,@LAFOO,0,1,29,0,@GLINTINGDIRT,10,0,0,0, '', 'Execute SAI only if there is glinting dirt within 5 yards'), +(22,1,@JALOOT,0,0,9,0,12704,0,0,0,0, '', 'Jaloot SAI only activates if player is on and has not completed the Appeasing the Great rainstone'), +(22,1,@JALOOT,0,0,29,0,@GLINTINGDIRT,10,0,0,0, '', 'Execute SAI only if there is glinting dirt within 5 yards'), +(22,1,@MOODLE,0,0,9,0,12704,0,0,0,0, '', 'Moodle SAI only activates if player is on and has not completed the Appeasing the Great rainstone'), +(22,1,@MOODLE,0,0,29,0,@GLINTINGDIRT,10,0,0,0, '', 'Execute SAI only if there is glinting dirt within 5 yards'), +(22,1,@GLINTINGDIRT,0,0,29,1,@LAFOO,5,0,0,0, '', 'Execute SAI only if Lafoo within 2 yards'), +(22,1,@GLINTINGDIRT,0,1,29,1,@JALOOT,5,0,0,0, '', 'Execute SAI only if Jaloot within 2 yards'), +(22,1,@GLINTINGDIRT,0,2,29,1,@MOODLE,5,0,0,0, '', 'Execute SAI only if Moodle within 2 yards'), +(22,13,@MOODLE,0,0,23,1,4297,0,0,1,0, '', 'Moodle dont execute SAI in Mosswalker Village'), +(22,9,@GOREGEK,0,0,23,1,4303,0,0,1,0, '', 'Goregek dont execute SAI in Hardknuckle Clearing'), +(22,10,@ZEPIK,0,0,23,1,4306,0,0,1,0, '', 'Zepik dont execute SAI in Mistwhisper Refuge'), +(22,12,@GOREGEK,0,0,23,1,4303,0,0,0,0, '', 'Goregek execute SAI in only in Hardknuckle Clearing'), +(22,9,@DAJIK,0,0,23,1,4304,0,0,1,0, '', 'Dajik Dont execute SAI in Sapphire Hive'), +(22,9,@DAJIK,0,0,23,1,4303,0,0,1,0, '', 'Dajik execute SAI in Hardknuckle Clearing'), +(22,9,@DAJIK,0,0,23,1,4388,0,0,1,0, '', 'Dajik execute SAI in Wintergrasp River'), +(22,9,@DAJIK,0,0,23,1,4295,0,0,1,0, '', 'Dajik execute SAI in The Sundered Shard'), +(22,19,@DAJIK,0,0,23,1,4303,0,0,0,0, '', 'Dajik execute SAI only in Hardknuckle Clearing'), +(22,11,@LAFOO,0,0,23,1,4291,0,0,1,0, '', 'Lafoo dont execute sai in rainspeaker canopy'), +(22,13,@JALOOT,0,0,23,1,4291,0,0,1,0, '', 'Jaloot dont execute sai in rainspeaker canopy'), +(22,13,@JALOOT,0,1,23,1,4308,0,0,1,0, '', 'Jaloot dont execute sai in spearborn encampment'), +(22,13,@MOODLE,0,0,23,1,4291,0,0,1,0, '', 'Moodle dont execute sai in rainspeaker canopy'), +(22,9,@GOREGEK,0,0,23,1,4292,0,0,1,0, '', 'Goregek dont execute sai in frenzyheart hill'), +(22,9,@DAJIK,0,0,23,1,4292,0,0,1,0, '', 'Dajik dont execute sai in frenzyheart hill'), +(22,10,@ZEPIK,0,0,23,1,4292,0,0,1,0, '', 'Zepik dont execute sai in frenzyheart hill'), +(22,2,@MOSSWALKERBUNNY,0,0,1,0,@SHOLAZARGUARDIANHEARTBEAT,0,0,0,0, '', 'Mosswalker Bunny execute SAI only if player has sholazar guardian heartbeat aura'); + +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`= @SOFTKNUCKLE; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@SOFTKNUCKLE; +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 +(@SOFTKNUCKLE,0,0,0,8,0,20 ,0,@SCAREDSOFTKNUCKLE,0,10000,10000,45,1,1,0,0,0,0,10,100797,@HARDKNUCKLEMATRIARCH,0,0,0,0,0, 'Softknuckle - On Spellhit - Set Data on Hardknuckle Matriach'); +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`= @HARDKNUCKLE; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@HARDKNUCKLE; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@HARDKNUCKLE; +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 +(@HARDKNUCKLE,0,0,0,9,0,100,0,10,30,15000,21000,11,49758,2,0,0,0,0,2,0,0,0,0,0,0,0, 'Hardknuckle Charger - On Range - Cast Charge'); + +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`= @HARDKNUCKLEMATRIARCH; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@HARDKNUCKLEMATRIARCH; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@HARDKNUCKLEMATRIARCH; +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 +(@HARDKNUCKLEMATRIARCH,0,0,1,4,0,100,0,0,0,0,0,11,54287,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Hardknuckle Matriarch - On Agro - Cast Enrage'), +(@HARDKNUCKLEMATRIARCH,0,1,0,61,0,100,0,0,0,0,0,1 ,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Hardknuckle Matriarch - Linked with Previous Event - Say'), +(@HARDKNUCKLEMATRIARCH,0,2,0,0,0,100,0,6000,10000,12000,15000,11 ,61580,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Hardknuckle Matriarch - In Combat - Cast Cast Thunderstomp'), +(@HARDKNUCKLEMATRIARCH,0,3,4,38,0,100,0,1,1,0,0,45,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Hardknuckle Matriarch - On Data Set 1 1 - Set Data 10'), +(@HARDKNUCKLEMATRIARCH,0,4,5,61,0,100,0,0,0,0,0,19,756,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Hardknuckle Matriarch - Linked with Previous Event - Remove unit flags'), +(@HARDKNUCKLEMATRIARCH,0,5,6,61,0,100,0,0,0,0,0,47,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Hardknuckle Matriarch - Linked with Previous Event - Set Visible'), +(@HARDKNUCKLEMATRIARCH,0,6,0,61,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,500,0,0,0,0,0,0, 'Hardknuckle Matriarch - Linked with Previous Event - Attack closest player'), +(@HARDKNUCKLEMATRIARCH,0,7,8,11,0,100,0,0,0,0,0,18,756,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Hardknuckle Matriarch - On spawn - Add unit flags'), +(@HARDKNUCKLEMATRIARCH,0,8,0,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Hardknuckle Matriarch - Linked with Previous Event - Set Invisible'), +(@HARDKNUCKLEMATRIARCH,0,9,10,21,0,100,0,0,0,0,0,18,756,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Hardknuckle Matriarch - On Creature reached home - Add unit flags'), +(@HARDKNUCKLEMATRIARCH,0,10,0,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Hardknuckle Matriarch - Linked with Previous Event - Set Invisible'), +(@HARDKNUCKLEMATRIARCH,0,11,12,6,0,100,0,0,0,0,0,45,1,1,0,0,0,0,9,@GOREGEK,0,50,0,0,0,0, 'Hardknuckle Matriarch - On Death Send Data to Goregek'), +(@HARDKNUCKLEMATRIARCH,0,12,0,61,0,100,0,0,0,0,0,41,60000,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Hardknuckle Matriarch - Linked with Previous Event - Despawn after 1m'); + +DELETE FROM `creature_ai_texts` WHERE `entry`=-738; +DELETE FROM `creature_text` WHERE `entry` =@HARDKNUCKLEMATRIARCH; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +(@HARDKNUCKLEMATRIARCH, 0, 0, 'We are Not Amused', 12, 0, 100, 0, 0, 0, 'Hardknuckle Matriarch'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry` =@SOFTKNUCKLE; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(22,2,@SOFTKNUCKLE,0,0,23,0,4303,0,0,0,0, '', 'Softknuckle - Only execute SAI in hardknuckle clearing'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`IN(13,17) AND `SourceEntry`=@SCAREDSOFTKNUCKLE; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(17,0,@SCAREDSOFTKNUCKLE,0,0,31,1,3,@SOFTKNUCKLE,0,0,0, '', 'Scared Softknuckle only hits Softknuckle'), +(13,0,@SCAREDSOFTKNUCKLE,0,0,31,1,3,@SOFTKNUCKLE,0,0,0, '', 'Scared Softknuckle only hits Softknuckle'); + +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`= @SAPPHIREQUEEN; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@SAPPHIREQUEEN; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@SAPPHIREQUEEN; +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 +(@SAPPHIREQUEEN,0,0,0,0,0,100,0,6000,9000,9000,14000,11,48193,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Sapphire Hive Queen - IC - Cast Poison Stinger'), +(@SAPPHIREQUEEN,0,1,0,2,0,100,0,0,30,12000,15000,11,54761,1,0,0,0,0,1,0,0,0,0,0,0,0, 'Sapphire Hive Queen - On 30% Hp - Cast Enrage'), +(@SAPPHIREQUEEN,0,2,0,6,0,100,0,0,0,0,0,45,1,1,0,0,0,0,9,@DAJIK,0,50,0,0,0,0, 'Sapphire Hive Queen - On Death - Set Data Dajik'); + +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`= @VENOMTIP; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@VENOMTIP; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@VENOMTIP; +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 +(@VENOMTIP,0,0,0,0,0,100,0,7000,9000,17000,20000,11,61550,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Venomtip - IC - Cast Cobra Strike'), +(@VENOMTIP,0,1,0,9,0,100,0,0,30,7000,12000,11,32330,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Venomtip - On Range - Cast Poison Spit'), +(@VENOMTIP,0,2,0,6,0,100,0,0,0,0,0,45,1,1,0,0,0,0,9,@LAFOO,0,50,0,0,0,0, 'Venomtip - On Death - Set Data Lafoo'); + +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`= @SERFEXTHEREAVER; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@SERFEXTHEREAVER; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@SERFEXTHEREAVER; +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 +(@SERFEXTHEREAVER,0,0,1,1,0,100,0,0,0,60000,90000,11,20567,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Serfex the Reaver - OOC - Cast Submerge Visual'), +(@SERFEXTHEREAVER,0,1,0,61,0,100,0,0,0,0,0,18,33554434,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Serfex the Reaver - Linked with Previous Event - Set Unselectable and Unattackable Flags'), +(@SERFEXTHEREAVER,0,2,3,4,0,100,0,0,0,0,0,28,20567,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Serfex the Reaver - On Agro - Remove Submerge Visual'), +(@SERFEXTHEREAVER,0,3,4,61,0,100,0,0,0,0,0,28,29147,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Serfex the Reaver - Linked with Previous Event - Remove Submerge Visual'), +(@SERFEXTHEREAVER,0,4,5,61,0,100,0,0,0,0,0,11,37752,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Serfex the Reaver - Linked with Previous Event - Cast Stand'), +(@SERFEXTHEREAVER,0,5,6,61,0,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Serfex the Reaver - Linked with Previous Event - Stop Combat Movement'), +(@SERFEXTHEREAVER,0,6,7,61,0,100,0,0,0,0,0,19,33554434,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Serfex the Reaver - Linked with Previous Event - Remove Unselectable and Unattackable Flags'), +(@SERFEXTHEREAVER,0,7,0,61,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Serfex the Reaver - Linked with Previous Event - Set Phase 1'), +(@SERFEXTHEREAVER,0,8,0,0,1,100,0,1000,1000,2100,4500,11,20567,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Serfex the Reaver - IC - Cast Poison'), +(@SERFEXTHEREAVER,0,9,10,9,0,100,0,40,60,0,0,11,68909,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Serfex the Reaver - On Range - Cast Submerge Visual'), +(@SERFEXTHEREAVER,0,10,11,61,0,100,0,0,0,0,0,11,29147,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Serfex the Reaver - Linked with Previous Event - Cast Stand'), +(@SERFEXTHEREAVER,0,11,0,61,0,100,0,0,0,0,0,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Serfex the Reaver - Linked with Previous Event - Set Phase 2'), +(@SERFEXTHEREAVER,0,12,13,9,1,100,0,0,8,0,0,28,20567,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Serfex the Reaver - On Range - Remove Submerge Visual'), +(@SERFEXTHEREAVER,0,13,14,61,1,100,0,0,0,0,0,11,37752,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Serfex the Reaver - Linked with Previous Event - Cast Stand'), +(@SERFEXTHEREAVER,0,14,15,61,1,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Serfex the Reaver - Linked with Previous Event - Stop Combat Movement'), +(@SERFEXTHEREAVER,0,15,0 ,61,1,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Serfex the Reaver - Linked with Previous Event - Set Phase 1'), +(@SERFEXTHEREAVER,0,16,17,7,0,100,0,0,0,0,0,11,20567,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Serfex the Reaver - Evade - Cast Submerge Visual'), +(@SERFEXTHEREAVER,0,17,18,61,0,100,0,0,0,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Serfex the Reaver - Linked with Previous Event - Allow Combat Movement'), +(@SERFEXTHEREAVER,0,18,19,61,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Serfex the Reaver - Linked with Previous Event - Set Phase 0'), +(@SERFEXTHEREAVER,0,19,20,61,0,100,0,0,0,0,0,11,29147,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Serfex the Reaver - Evade - Cast Submerge Visual'), +(@SERFEXTHEREAVER,0,20,21,61,0,100,0,0,0,0,0,14,100,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Serfex the Reaver - Evade - Set Threat'), +(@SERFEXTHEREAVER,0,21,0,61,0,100,0,0,0,0,0,18,33554434,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Serfex the Reaver - Evade - Set Untargetable flags'), +(@SERFEXTHEREAVER,0,22,0,6,0,100,0,0,0,0,0,45,1,2,0,0,0,0,9,@DAJIK,0,50,0,0,0,0, 'Serfex the Reaver - On Death - Set Data Dajik'); + +DELETE FROM `gameobject` WHERE `guid` IN (@GOBJGUID,@GOBJGUID+1); +INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`) VALUES +(@GOBJGUID,300213,571,1,1,6206.71,4951.67,-98.9126,3.84683,0,0,0.938472,-0.345355,300,0,1), +(@GOBJGUID+1,190502,571,1,1,6206.71,4951.67,-98.9126,3.84683,0,0,0.938472,-0.345355,-5000,0,1); + +DELETE FROM `event_scripts` WHERE `id`IN(18475,18474); +INSERT INTO `event_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`dataint`,`x`,`y`,`z`,`o`) VALUES +(18475,2,9,@GOBJGUID+1,60,0,0,0,0,0), +(18474,1,10,@MISTWHISPERLIGHTNINGCLOUD,60000,0,6202.683105,4948.736328,-86,0); + +UPDATE `creature_template` SET `AIName`= 'SmartAI',`InhabitType`=4 WHERE `entry`=@MISTWHISPERLIGHTNINGCLOUD; +DELETE FROM `smart_scripts` WHERE `entryorguid` =@MISTWHISPERLIGHTNINGCLOUD; +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 +(@MISTWHISPERLIGHTNINGCLOUD,0,0,0,1, 0,100,1,10000,10000,0,0,15,12537,0,0,0,0,0,18,40,0,0,0,0,0,0, 'Mistwhisper Lightning Cloud - OOC - Give Quest Credit'), +(@MISTWHISPERLIGHTNINGCLOUD,0,1,0,1, 0,100,0,3000,5000,2000,11000,11,51172,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Mistwhisper Lightning Cloud - OOC - Cloud to Lightning'), +(@MISTWHISPERLIGHTNINGCLOUD,0,2,3,11, 0,100,0,0,0,0,0,45,1,1,0,0,0,0,10,106338,28273,0,0,0,0,0, 'Mistwhisper Lightning Cloud - On Spawn - Send Data to Arranged Crystal Formation Bunny'), +(@MISTWHISPERLIGHTNINGCLOUD,0,3,0,61,0,100,0,0,0,0,0,45,1,2,0,0,0,0,9,@ZEPIK,0,50,0,0,0,0, 'Mistwhisper Lightning Cloud - Linked with Previous Event - Set Data Zepik'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=51172; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,7,51172,0,0,31,0,3,@MISTWHISPERLIGHTNINGTARGET,0,0,0,0, '', 'Cloud to Lightning hits Mistwhisper Lightning Target'), +(13,7,51172,0,1,31,0,3,@MISTWHISPERLIGHTNINGCLOUD,0,0,0,0, '', 'Cloud to Lightning hits Mistwhisper Lightning Cloud'); + +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`=@ARRANGEDCRYSTALFORMATIONBUNNY; +DELETE FROM `smart_scripts` WHERE `entryorguid` =@ARRANGEDCRYSTALFORMATIONBUNNY; +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 +(@ARRANGEDCRYSTALFORMATIONBUNNY,0,0,1,38, 0,100,0,1,1,0,0,45,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Arranged Crystal Formation Bunny - On Receive Data - Reset Data'), +(@ARRANGEDCRYSTALFORMATIONBUNNY,0,1,2,61, 0,100,0,0,0,0,0,11,51150,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Arranged Crystal Formation Bunny - Linked with Previous Event - Cast Crystal Shatter Visual'), +(@ARRANGEDCRYSTALFORMATIONBUNNY,0,2,3,61, 0,100,0,0,0,0,0,11,51172,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Arranged Crystal Formation Bunny - Linked with Previous Event - Cast Lightning to Cloud'), +(@ARRANGEDCRYSTALFORMATIONBUNNY,0,3,0,61, 0,100,0,0,0,0,0,70,1,0,0,0,0,0,14,@GOBJGUID+1,190502,0,0,0,0,0, 'Arranged Crystal Formation Bunny - Linked with Previous Event - Despawn Arranged Crystal formation'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN(19,20) AND `SourceGroup`=0 AND `SourceEntry`=12528; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(19,0,12528,0,8,12654,0,0,0,0,'','Playing Along can be taken if player has quest part time hunter completed in log'), +(20,0,12528,0,8,12654,0,0,0,0,'','Playing Along can be taken if player has quest part time hunter completed in log'), +(19,0,12528,1,9,12654,0,0,0,0,'','Playing Along can be taken if player has quest part time hunter taken in log'), +(20,0,12528,1,9,12654,0,0,0,0,'','Playing Along can be taken if player has quest part time hunter taken in log'), +(19,0,12528,2,28,12654,0,0,0,0,'','Playing Along can be taken if player has quest part time hunter rewarded'), +(20,0,12528,2,28,12654,0,0,0,0,'','Playing Along can be taken if player has quest part time hunter rewarded'); + +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`= @PITCH; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@PITCH; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@PITCH; +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 +(@PITCH,0,0,0,9,0,100,0,5,30,9000,12000,11,54487,2,0,0,0,0,2,0,0,0,0,0,0,0, 'Pitch - On Range - Cast Jump Attack'), +(@PITCH,0,1,0,0,0,100,0,5000,8000,7000,13000,11,24332,2,0,0,0,0,2,0,0,0,0,0,0,0, 'Pitch - In Combat - Cast Rake'), +(@PITCH,0,2,0,11,0,100,0,0,0,0,0,45,1,1,0,0,0,0,9,@TRACKERGEKGEK,0,200,0,0,0,0, 'Pitch - On Spawn - Set Data Tracker Gekgek'), +(@PITCH,0,3,0,6,0,100,0,0,0,0,0,45,1,2,0,0,0,0,9,@TRACKERGEKGEK,0,200,0,0,0,0, 'Pitch - On Death - Set Data Tracker Gekgek'), +(@PITCH,0,4,0,4,0,100,0,0,0,0,0,45,1,3,0,0,0,0,9,@TRACKERGEKGEK,0,200,0,0,0,0, 'Pitch - On Aggro - Set Data Tracker Gekgek'), +(@PITCH,0,5,0,7,0,100,0,0,0,0,0,45,1,4,0,0,0,0,9,@TRACKERGEKGEK,0,200,0,0,0,0, 'Pitch - On Evade - Set Data Tracker Gekgek'); + +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`= @TRACKERGEKGEK; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@TRACKERGEKGEK; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@TRACKERGEKGEK; +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 +(@TRACKERGEKGEK,0,0,0,0,0,100,0,3000,6000,4000,7000,11,50533,2,0,0,0,0,2,0,0,0,0,0,0,0, 'Tracker Gekgek - In Combat - Cast Flip Attack'), +(@TRACKERGEKGEK,0,1,2,38,0,100,0,1,1,0,0,45,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Tracker Gekgek - On Data Set (Pitch Spawn 1 1) - Set Data 1 0'), +(@TRACKERGEKGEK,0,2,3,61,0,100,0,0,0,0,0,81,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Tracker Gekgek - Linked with Previous Event- Remove Quest Giver Flag'), +(@TRACKERGEKGEK,0,3,0,61,0,100,0,0,0,0,0,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Tracker Gekgek - Linked with Previous Event- Set Phase 2'), +(@TRACKERGEKGEK,0,4,5,38,0,100,0,1,2,0,0,45,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Tracker Gekgek - On Data Set (Pitch Die 1 2) - Set Data 1 0'), +(@TRACKERGEKGEK,0,5,6,61,0,100,0,0,0,0,0,81,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Tracker Gekgek - Linked with Previous Event- Add Quest Giver Flag'), +(@TRACKERGEKGEK,0,6,7,61,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Tracker Gekgek - Linked with Previous Event- Say'), +(@TRACKERGEKGEK,0,7,0,61,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Tracker Gekgek - Linked with Previous Event- Set Phase 0'), +(@TRACKERGEKGEK,0,8,9,38,0,100,0,1,3,0,0,45,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Tracker Gekgek - On Data Set (Pitch Aggro 1 3) - Set Data 1 0'), +(@TRACKERGEKGEK,0,9,10,61,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Tracker Gekgek - Linked with Previous Event- Say'), +(@TRACKERGEKGEK,0,10,0,61,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Tracker Gekgek - Linked with Previous Event- Set Phase 0'), +(@TRACKERGEKGEK,0,10,11,38,0,100,0,1,4,0,0,45,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Tracker Gekgek - On Data Set (Pitch Evade 1 4) - Set Data 1 0'), +(@TRACKERGEKGEK,0,11,0,61,0,100,0,0,0,0,0,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Tracker Gekgek - Linked with Previous Event- Say'), +(@TRACKERGEKGEK,0,12,0,10,2,100,0,1,100,30000,90000,1,2,2,0,0,0,0,1,0 ,0,0,0,0,0,0, 'Tracker Gekgek - On Los OOC - Say'), +(@TRACKERGEKGEK,0,13,0,11,0,100,0,0,0,0,0,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Tracker Gekgek - On Spawn - Set Phase 2'); + +DELETE FROM `creature_text` WHERE `entry` =@TRACKERGEKGEK; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +(@TRACKERGEKGEK,0,0, 'No! You steal kill! Now you owe Gekgek!', 12, 0, 100, 0, 0, 0, 'Tracker Gekgek'), +(@TRACKERGEKGEK,1,0, 'Dumb! Don''t shoot at it! Gekgek want trophy in one piece!', 12, 0, 100, 0, 0, 0, 'Tracker Gekgek'), +(@TRACKERGEKGEK,2,0, 'No let it get away! We got it this time.', 12, 0, 33, 0, 0, 0, 'Tracker Gekgek'), +(@TRACKERGEKGEK,2,1, 'Careful! No let it scratch you like last time.', 12, 0, 33, 0, 0, 0, 'Tracker Gekgek'), +(@TRACKERGEKGEK,2,2, 'Ahh! It''s coming right for us!', 12, 0, 34, 0, 0, 0, 'Tracker Gekgek'); + +UPDATE `creature_template` SET `AIName` = 'SmartAI',`unit_flags`=`unit_flags`&~33554432 WHERE `entry` = @MOSSWALKERVICTIM; +UPDATE `creature` SET `MovementType` = 0, `spawndist`=0 WHERE `id` = @MOSSWALKERVICTIM; + +DELETE FROM `smart_scripts` WHERE `entryorguid` IN(28113,2811301,2811302); +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 +(@MOSSWALKERVICTIM,0,0,1,62,0,100,0,9728,0,0,0,87,(@MOSSWALKERVICTIM*100)+1,(@MOSSWALKERVICTIM*100)+2,(@MOSSWALKERVICTIM*100)+1,(@MOSSWALKERVICTIM*100)+2,(@MOSSWALKERVICTIM*100)+1,(@MOSSWALKERVICTIM*100)+2,1,0,0,0,0.0,0.0,0.0,0.0, 'Mosswalker Victim - On Gossip Select - Random Script Start'), +(@MOSSWALKERVICTIM,0,1,2,61,0,100,0,0,0,0,0,81,0,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, 'Mosswalker Victim - Linked with Previous Event - Remove Gossip Flag'), +(@MOSSWALKERVICTIM,0,2,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0.0,0.0,0.0,0.0, 'Mosswalker Victim - Linked with Previous Event - Close Gossip'), +(@MOSSWALKERVICTIM,0,3,0,25,0,100,0,0,0,0,0,11,58806,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, 'Mosswalker Victim - On Spawn - Cast Permament Feign Death on Self'), +((@MOSSWALKERVICTIM*100)+1,9,0,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Mosswalker Victim - Script 1 - Say'), +((@MOSSWALKERVICTIM*100)+1,9,1,0,0,0,100,0,2000,2000,0,0,37,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Mosswalker Victim - Script 1 - Die'), +((@MOSSWALKERVICTIM*100)+2,9,0,0,0,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Mosswalker Victim - Script 2 - Say'), +((@MOSSWALKERVICTIM*100)+2,9,1,0,0,0,100,0,1000,1000,0,0,85,52157,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Mosswalker Victim -Script 2 - Credit'), +((@MOSSWALKERVICTIM*100)+2,9,2,0,0,0,100,0,100,100,0,0,28,58806,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Mosswalker Victim - Script 2 - Remove Permament Feign Death'), +((@MOSSWALKERVICTIM*100)+2,9,3,0,0,0,100,0,15000,15000,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Mosswalker Victim - Script 2 - Set Invisible'), +((@MOSSWALKERVICTIM*100)+2,9,4,0,0,0,100,0,15500,15500,0,0,37,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Mosswalker Victim - Script 2 - Die'); + +DELETE FROM `creature_text` WHERE `entry` = @MOSSWALKERVICTIM; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +(@MOSSWALKERVICTIM,0,0, 'Please take... my shinies. All done...', 12, 0, 100, 0, 0, 0, 'Mosswalker Victim'), +(@MOSSWALKERVICTIM,0,1, 'We not do anything... to them... I no understand.', 12, 0, 100, 0, 0, 0, 'Mosswalker Victim'), +(@MOSSWALKERVICTIM,0,2, 'Use my shinies... make weather good again... make undead things go away.', 12, 0, 100, 0, 0, 0, 'Mosswalker Victim'), +(@MOSSWALKERVICTIM,0,3, 'We gave shinies to shrine... we not greedy... why this happen?', 12, 0, 100, 0, 0, 0, 'Mosswalker Victim'), +(@MOSSWALKERVICTIM,0,4, 'I do something bad? I sorry...', 12, 0, 100, 0, 0, 0, 'Mosswalker Victim'), +(@MOSSWALKERVICTIM,1,0, 'We saved. You nice, dryskin.', 12, 0, 100, 0, 0, 0, 'Mosswalker Victim'), +(@MOSSWALKERVICTIM,1,1, 'Maybe you make weather better too?', 12, 0, 100, 0, 0, 0, 'Mosswalker Victim'), +(@MOSSWALKERVICTIM,1,2, 'You save us! Yay for you!', 12, 0, 100, 0, 0, 0, 'Mosswalker Victim'), +(@MOSSWALKERVICTIM,1,3, 'Thank you! You good!', 12, 0, 100, 0, 0, 0, 'Mosswalker Victim'); + +DELETE FROM `conditions` WHERE `SourceGroup`=9728 AND `SourceTypeOrReferenceId`=15 ; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry` ,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3` ,`ErrorTextId`,`ScriptName`,`Comment`) +VALUES (15,9728,0 ,0,9,12580,0 ,0,0 ,0, 'Only show gossip when quest player in on and has not completed the mosswalker saviour'); + +-- set correct previous quest for obtaining oracles or frenzyheart dailys, return of the lich hunter or return of the friendly dry skin not heros burden +UPDATE `quest_template` SET `PrevQuestId`=12695 WHERE `Id`IN(12735,12737,12736,12726,12761,12762,12705,12704); +UPDATE `quest_template` SET `PrevQuestId`=12692 WHERE `Id`IN(12703,12760,12759,12758,12734,12741,12732,12702); + +-- Pooling/grouping for Oracles/Frenzyheart Dailys +-- already exclusive grouped just not pooled +DELETE FROM `pool_quest` WHERE `pool_entry`=@QUESTPOOL; +INSERT INTO `pool_quest` (`entry`, `pool_entry`, `description`) VALUES +(12735, @QUESTPOOL, 'Oracle Soo-nee - A Cleansing Song'), +(12737, @QUESTPOOL, 'Oracle Soo-nee - Song of Fecundity'), +(12736, @QUESTPOOL, 'Oracle Soo-nee - Song of Reflection'), +(12726, @QUESTPOOL, 'Oracle Soo-nee - Song of Wind and Water'); +UPDATE `quest_template` SET `ExclusiveGroup`=12761 WHERE `Id`IN(12761,12762,12705); +DELETE FROM `pool_quest` WHERE `pool_entry`=@QUESTPOOL+1; +INSERT INTO `pool_quest` (`entry`, `pool_entry`, `description`) VALUES +(12761, @QUESTPOOL+1, 'Oracle Soo-dow - Mastery of the Crystals'), +(12762, @QUESTPOOL+1, 'Oracle Soo-dow - Power of the Great Ones'), +(12705, @QUESTPOOL+1, 'Oracle Soo-dow - Will of the Titans'); +DELETE FROM `pool_quest` WHERE `pool_entry`=@QUESTPOOL+2; +UPDATE `quest_template` SET `ExclusiveGroup`=12758 WHERE `Id`IN(12758,12734,12741,12732); +INSERT INTO `pool_quest` (`entry`, `pool_entry`, `description`) VALUES +(12758, @QUESTPOOL+2, 'Rejek - A Hero''s Headgear'), +(12734, @QUESTPOOL+2, 'Rejek - Rejek: First Blood'), +(12741, @QUESTPOOL+2, 'Rejek - Strength of the Tempest'), +(12732, @QUESTPOOL+2, 'Rejek - The Heartblood''s Strength'); +UPDATE `quest_template` SET `ExclusiveGroup`=12703 WHERE `Id`IN(12703,12760,12759); +DELETE FROM `pool_quest` WHERE `pool_entry`=@QUESTPOOL+3; +INSERT INTO `pool_quest` (`entry`, `pool_entry`, `description`) VALUES +(12703, @QUESTPOOL+3, 'Vekgar - Kartak''s Rampage'), +(12760, @QUESTPOOL+3, 'Vekgar - Secret Strength of the Frenzyheart'), +(12759, @QUESTPOOL+3, 'Vekgar - Tools of War'); +DELETE FROM `pool_template` WHERE `entry` BETWEEN @QUESTPOOL AND @QUESTPOOL+3; +INSERT INTO `pool_template` (`entry`, `max_limit`, `description`) VALUES +(@QUESTPOOL, 1, 'Oracle Soo-nee Dailies'), +(@QUESTPOOL+1, 1, 'Oracle Soo-dow Dailies'), +(@QUESTPOOL+2, 1, 'Rejek Dailies'), +(@QUESTPOOL+3, 1, 'Vekgar Dailies'); +-- Return of the lich hunter should be takable by both factions not only horde +UPDATE `quest_template` SET `RequiredRaces`=0 WHERE `Id`=12692 -- cgit v1.2.3 From 4d9eaf093d719dfbe2dab8b3aa7a2a4cebe11463 Mon Sep 17 00:00:00 2001 From: Pitcrawler Date: Fri, 5 Apr 2013 13:16:28 +0200 Subject: DB/Conditions: Fix recently introduced startup error, closes #9569 --- sql/updates/world/2013_04_05_01_world_misc.sql | 91 ++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 sql/updates/world/2013_04_05_01_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_05_01_world_misc.sql b/sql/updates/world/2013_04_05_01_world_misc.sql new file mode 100644 index 00000000000..adcdb5382a4 --- /dev/null +++ b/sql/updates/world/2013_04_05_01_world_misc.sql @@ -0,0 +1,91 @@ +SET @LAFOO := 28120; +SET @MOODLE := 28122; +SET @JALOOT := 28121; +SET @CHICKENESCAPEE := 28161; +SET @GOREGEK := 28214; +SET @DAJIK := 28215; +SET @ZEPIK := 28216; +SET @MISTWHISPERLIGHTNINGCLOUD := 28253; +SET @MISTWHISPERLIGHTNINGTARGET := 28254; +SET @GLINTINGDIRT := 28362; +SET @RHUNOK := 28416; +SET @TORMENTOR := 28575; +SET @SCAREDSOFTKNUCKLE := 50979; +SET @LIGHTNING := 51172; +SET @FRENZYAURA := 51234; +SET @MISTWHISPERAURA := 51239; +SET @DIGGINGFORTEASURE := 51405; +SET @TREASUREPING:= 51420; +SET @THROWSPEAR := 51603; +SET @CHAINS1 := 51606; +SET @CHAINS2 := 51607; +SET @RAINSPEAKERAURA := 51639; +SET @SPEARBORNAURA := 51642; +SET @MOSSWALKERAURA := 51644; +SET @SKYREACHPILLARAURA:= 51645; +SET @SAPPHIREHIVEAURA := 51651; +SET @WOLVARPING := 51791; +SET @GORLOCPING := 51794; +SET @CHICKENLOCATIONPING := 51843; +SET @SCAREDCHICKEN := 51846; +SET @DESSAWNRETAINER := 53163; + +DELETE FROM `creature_text` WHERE `entry`=@TORMENTOR; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(@TORMENTOR,0,0,'Filthy $R intruder. DIE!',12,0,100,0,0,0,'Rhunok''s Tormentor'), +(@TORMENTOR,0,1,'If Rhunok regains his strength, we all die!',12,0,100,0,0,0,'Rhunok''s Tormentor'), +(@TORMENTOR,0,2,'There are intruders about. Slay them before they ruin everything!',12,0,100,0,0,0,'Rhunok''s Tormentor'), +(@TORMENTOR,0,3,'The bear god must be kept enfeebled so that the prophet can finish the ritual.',12,0,100,0,0,0,'Rhunok''s Tormentor'), +(@TORMENTOR,0,4,'Keep him weak!',12,0,100,0,0,0,'Rhunok''s Tormentor'); + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@TORMENTOR; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@TORMENTOR; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (-113481,-113482,-113483,-113558,@TORMENTOR) 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 +(@TORMENTOR,0,0,0,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Rhunok''s Tormentor - On aggro - Say line'), +(@TORMENTOR,0,1,0,0,0,100,0,3000,8000,10000,20000,11,38556,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Rhunok''s Tormentor - On update IC - Spellcast Throw'), +(@TORMENTOR,0,2,0,0,0,100,0,5000,30000,30000,35000,11,54526,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Rhunok''s Tormentor - On update IC - Spellcast Torment'), +(@TORMENTOR,0,3,0,1,0,100,0,5000,30000,30000,40000,11,@THROWSPEAR,0,0,0,0,0,10,95460,@RHUNOK,0,0,0,0,0, 'Rhunok''s Tormentor - On update OOC - Spellcast Throw Spear'), + +(-113481,0,0,0,1,0,100,0,0,0,5000,5000,11,@CHAINS1,0,0,0,0,0,10,95460,@RHUNOK,0,0,0,0,0, 'ELM General Purpose Bunny - On update OOC - Spellcast Rhunok''s Chains'), +(-113482,0,0,0,1,0,100,0,0,0,5000,5000,11,@CHAINS2,0,0,0,0,0,10,95460,@RHUNOK,0,0,0,0,0, 'ELM General Purpose Bunny - On update OOC - Spellcast Rhunok''s Chains'), +(-113483,0,0,0,1,0,100,0,0,0,5000,5000,11,@CHAINS1,0,0,0,0,0,10,95460,@RHUNOK,0,0,0,0,0, 'ELM General Purpose Bunny - On update OOC - Spellcast Rhunok''s Chains'), +(-113558,0,0,0,1,0,100,0,0,0,5000,5000,11,@CHAINS2,0,0,0,0,0,10,95460,@RHUNOK,0,0,0,0,0, 'ELM General Purpose Bunny - On update OOC - Spellcast Rhunok''s Chains'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (@THROWSPEAR,@CHAINS1,@CHAINS2,@LIGHTNING,@SCAREDSOFTKNUCKLE,@FRENZYAURA,@RAINSPEAKERAURA,@WOLVARPING,@GORLOCPING,@DESSAWNRETAINER,@CHICKENLOCATIONPING,@TREASUREPING,@DIGGINGFORTEASURE,@MOSSWALKERAURA,@SPEARBORNAURA,@MISTWHISPERAURA,@SAPPHIREHIVEAURA,@SCAREDCHICKEN,@SKYREACHPILLARAURA); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,1,@LIGHTNING,0,31,3,@MISTWHISPERLIGHTNINGTARGET,0,0,0, '', 'Cloud to Lightning hits Mistwhisper Lightning Target'), +(13,1,@LIGHTNING,1,31,3,@MISTWHISPERLIGHTNINGCLOUD,0,0,0, '', 'Cloud to Lightning hits Mistwhisper Lightning Cloud'), +(13,1,@FRENZYAURA,0,31,3,@GOREGEK,0,0,0,'','Spell Frenzyheart Hill Aura targets Goregek the Bristlepine Hunter'), +(13,1,@FRENZYAURA,1,31,3,@DAJIK,0,0,0,'','Spell Frenzyheart Hill Aura targets Dajik the Wasp Hunter'), +(13,1,@FRENZYAURA,2,31,3,@ZEPIK,0,0,0,'','Spell Frenzyheart Hill Aura targets Zepik the Gorloc Hunter'), +(13,1,@RAINSPEAKERAURA,0,31,3,@LAFOO,0,0,0,'','Spell Rainspeaker Canopy Aura targets Lafoo'), +(13,1,@RAINSPEAKERAURA,1,31,3,@MOODLE,0,0,0,'','Spell Rainspeaker Canopy Aura targets Jaloot'), +(13,1,@RAINSPEAKERAURA,2,31,3,@JALOOT,0,0,0,'','Spell Rainspeaker Canopy Aura targets Moodle'), +(13,1,@WOLVARPING,0,31,3,@GOREGEK,0,0,0,'','Spell Wolvar Location Ping targets Goregek the Bristlepine Hunter'), +(13,1,@WOLVARPING,1,31,3,@DAJIK,0,0,0,'','Spell Wolvar Location Ping targets Dajik the Wasp Hunter'), +(13,1,@WOLVARPING,2,31,3,@ZEPIK,0,0,0,'','Spell Wolvar Location Ping targets Zepik the Gorloc Hunter'), +(13,1,@GORLOCPING,0,31,3,@LAFOO,0,0,0,'','Spell Gorloc Location Ping targets Lafoo'), +(13,1,@GORLOCPING,1,31,3,@JALOOT,0,0,0,'','Spell Gorloc Location Ping targets Jaloot'), +(13,1,@GORLOCPING,2,31,3,@MOODLE,0,0,0,'','Spell Gorloc Location Ping targets Moodle'), +(13,1,@DESSAWNRETAINER,0,31,3,@LAFOO,0,0,0,'','Spell Dessawn Retainer targets Lafoo'), +(13,1,@DESSAWNRETAINER,1,31,3,@DAJIK,0,0,0,'','Spell Dessawn Retainer targets Dajik the Wasp Hunter'), +(13,1,@DESSAWNRETAINER,2,31,3,@ZEPIK,0,0,0,'','Spell Dessawn Retainer targets Zepik the Gorloc Hunter'), +(13,1,@DESSAWNRETAINER,3,31,3,@JALOOT,0,0,0,'','Spell Dessawn Retainer targets Jaloot '), +(13,1,@DESSAWNRETAINER,4,31,3,@MOODLE,0,0,0,'','Spell Dessawn Retainer targets Moodle'), +(13,1,@DESSAWNRETAINER,5,31,3,@GOREGEK,0,0,0,'','Spell Dessawn Retainer targets Goregek'), +(13,1,@TREASUREPING,0,31,3,@LAFOO,0,0,0,'','Spell Dessawn Retainer targets Lafoo'), +(13,1,@TREASUREPING,1,31,3,@JALOOT,0,0,0,'','Spell Dessawn Retainer targets Jaloot '), +(13,1,@TREASUREPING,2,31,3,@MOODLE,0,0,0,'','Spell Dessawn Retainer targets Moodle'), +(13,1,@CHICKENLOCATIONPING,0,31,3,@GOREGEK,0,0,0,'','Spell chicken ping targets Goregek'), +(13,1,@CHICKENLOCATIONPING,1,31,3,@DAJIK,0,0,0,'','Spell chicken ping targets Dajik '), +(13,1,@CHICKENLOCATIONPING,2,31,3,@ZEPIK,0,0,0,'','Spell chicken ping targets Zepik'), +(13,3,@SCAREDCHICKEN,0,31,3,@CHICKENESCAPEE,0,0,0,'','Scared Chicken targets only chicken escapee'), +(13,1,@MOSSWALKERAURA,0,31,3,@MOODLE,0,0,0,'','Mosswalker village aura targets moodle'), +(13,1,@SPEARBORNAURA,0,31,3,@JALOOT,0,0,0,'','spearborn encampment aura targets moodle'), +(13,1,@MISTWHISPERAURA,0,31,3,@ZEPIK,0,0,0,'','mistwhisper refuge aura targets zepik'), +(13,1,@SAPPHIREHIVEAURA,0,31,3,@DAJIK,0,0,0,'','sapphire hive aura targets dajik'), +(13,1,@THROWSPEAR,0,31,3,@RHUNOK,0,0,0,'','Spell Throw Spear targets Rhunok'), +(13,1,@CHAINS1,0,31,3,@RHUNOK,0,0,0,'','Spell Rhunok''s Chains targets Rhunok'), +(13,1,@CHAINS2,0,31,3,@RHUNOK,0,0,0,'','Spell Rhunok''s Chains targets Rhunok'), +(13,1,@SKYREACHPILLARAURA,0,31,3,@DAJIK,0,0,0,'','skyreach pillar aura targets dajik'); -- cgit v1.2.3 From 140614b882021a33d00440f4526cae52bb28dcab Mon Sep 17 00:00:00 2001 From: Pitcrawler Date: Fri, 5 Apr 2013 13:33:43 +0200 Subject: DB/Conditions: Fix one remaining startup error --- sql/updates/world/2013_04_05_02_world_creature_ai_scripts.sql | 1 + 1 file changed, 1 insertion(+) create mode 100644 sql/updates/world/2013_04_05_02_world_creature_ai_scripts.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_05_02_world_creature_ai_scripts.sql b/sql/updates/world/2013_04_05_02_world_creature_ai_scripts.sql new file mode 100644 index 00000000000..be1c01153ae --- /dev/null +++ b/sql/updates/world/2013_04_05_02_world_creature_ai_scripts.sql @@ -0,0 +1 @@ +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=28371; -- cgit v1.2.3 From d24ef896dfd9932ca8b74b5683fdda71b77f0287 Mon Sep 17 00:00:00 2001 From: Shauren Date: Fri, 5 Apr 2013 15:06:35 +0200 Subject: Core/PacketIO: Implemented possibility to ban client addons serverside --- sql/base/characters_database.sql | 26 +++++++++ .../2013_04_05_00_characters_banned_addons.sql | 9 +++ src/server/game/Addons/AddonMgr.cpp | 68 +++++++++++++++++----- src/server/game/Addons/AddonMgr.h | 16 ++++- src/server/game/DataStores/DBCStores.cpp | 2 + src/server/game/DataStores/DBCStores.h | 1 + src/server/game/DataStores/DBCStructure.h | 9 +++ src/server/game/DataStores/DBCfmt.h | 1 + src/server/game/Server/WorldSession.cpp | 29 +++++---- 9 files changed, 127 insertions(+), 34 deletions(-) create mode 100644 sql/updates/characters/2013_04_05_00_characters_banned_addons.sql (limited to 'sql') diff --git a/sql/base/characters_database.sql b/sql/base/characters_database.sql index c5a011871ca..46b6a1a2bdb 100644 --- a/sql/base/characters_database.sql +++ b/sql/base/characters_database.sql @@ -213,6 +213,32 @@ LOCK TABLES `auctionhouse` WRITE; /*!40000 ALTER TABLE `auctionhouse` ENABLE KEYS */; UNLOCK TABLES; +-- +-- Table structure for table `banned_addons` +-- + +DROP TABLE IF EXISTS `banned_addons`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `banned_addons` ( + `Id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, + `Name` varchar(255) NOT NULL, + `Version` varchar(255) NOT NULL DEFAULT '', + `Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`Id`), + UNIQUE KEY `idx_name_ver` (`Name`, `Version`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `banned_addons` +-- + +LOCK TABLES `banned_addons` WRITE; +/*!40000 ALTER TABLE `banned_addons` DISABLE KEYS */; +/*!40000 ALTER TABLE `banned_addons` ENABLE KEYS */; +UNLOCK TABLES; + -- -- Table structure for table `bugreport` -- diff --git a/sql/updates/characters/2013_04_05_00_characters_banned_addons.sql b/sql/updates/characters/2013_04_05_00_characters_banned_addons.sql new file mode 100644 index 00000000000..4f286b2326c --- /dev/null +++ b/sql/updates/characters/2013_04_05_00_characters_banned_addons.sql @@ -0,0 +1,9 @@ +DROP TABLE IF EXISTS `banned_addons`; +CREATE TABLE `banned_addons` ( + `Id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, + `Name` varchar(255) NOT NULL, + `Version` varchar(255) NOT NULL DEFAULT '', + `Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`Id`), + UNIQUE KEY `idx_name_ver` (`Name`, `Version`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/src/server/game/Addons/AddonMgr.cpp b/src/server/game/Addons/AddonMgr.cpp index 86a90d4d78a..3e1180727d0 100644 --- a/src/server/game/Addons/AddonMgr.cpp +++ b/src/server/game/Addons/AddonMgr.cpp @@ -18,10 +18,10 @@ #include "AddonMgr.h" #include "DatabaseEnv.h" +#include "DBCStores.h" #include "Log.h" #include "Timer.h" - -#include +#include namespace AddonMgr { @@ -34,6 +34,8 @@ namespace typedef std::list SavedAddonsList; SavedAddonsList m_knownAddons; + + BannedAddonList m_bannedAddons; } void LoadFromDB() @@ -41,28 +43,57 @@ void LoadFromDB() uint32 oldMSTime = getMSTime(); QueryResult result = CharacterDatabase.Query("SELECT name, crc FROM addons"); - if (!result) + if (result) { - sLog->outInfo(LOG_FILTER_SERVER_LOADING, ">> Loaded 0 known addons. DB table `addons` is empty!"); - return; - } + uint32 count = 0; - uint32 count = 0; + do + { + Field* fields = result->Fetch(); - do - { - Field* fields = result->Fetch(); + std::string name = fields[0].GetString(); + uint32 crc = fields[1].GetUInt32(); - std::string name = fields[0].GetString(); - uint32 crc = fields[1].GetUInt32(); + m_knownAddons.push_back(SavedAddon(name, crc)); - m_knownAddons.push_back(SavedAddon(name, crc)); + ++count; + } + while (result->NextRow()); - ++count; + sLog->outInfo(LOG_FILTER_SERVER_LOADING, ">> Loaded %u known addons in %u ms", count, GetMSTimeDiffToNow(oldMSTime)); } - while (result->NextRow()); + else + sLog->outInfo(LOG_FILTER_SERVER_LOADING, ">> Loaded 0 known addons. DB table `addons` is empty!"); + + oldMSTime = getMSTime(); + result = CharacterDatabase.Query("SELECT id, name, version, UNIX_TIMESTAMP(timestamp) FROM banned_addons"); + if (result) + { + uint32 count = 0; + uint32 dbcMaxBannedAddon = sBannedAddOnsStore.GetNumRows(); + + do + { + Field* fields = result->Fetch(); - sLog->outInfo(LOG_FILTER_SERVER_LOADING, ">> Loaded %u known addons in %u ms", count, GetMSTimeDiffToNow(oldMSTime)); + BannedAddon addon; + addon.Id = fields[0].GetUInt32() + dbcMaxBannedAddon; + addon.Timestamp = uint32(fields[3].GetUInt64()); + + std::string name = fields[1].GetString(); + std::string version = fields[2].GetString(); + + MD5(reinterpret_cast(name.c_str()), name.length(), addon.NameMD5); + MD5(reinterpret_cast(version.c_str()), version.length(), addon.VersionMD5); + + m_bannedAddons.push_back(addon); + + ++count; + } + while (result->NextRow()); + + sLog->outInfo(LOG_FILTER_SERVER_LOADING, ">> Loaded %u banned addons in %u ms", count, GetMSTimeDiffToNow(oldMSTime)); + } } void SaveAddon(AddonInfo const& addon) @@ -91,4 +122,9 @@ SavedAddon const* GetAddonInfo(const std::string& name) return NULL; } +BannedAddonList const* GetBannedAddons() +{ + return &m_bannedAddons; +} + } // Namespace diff --git a/src/server/game/Addons/AddonMgr.h b/src/server/game/Addons/AddonMgr.h index 4d387fcfd4c..35e24e965b5 100644 --- a/src/server/game/Addons/AddonMgr.h +++ b/src/server/game/Addons/AddonMgr.h @@ -21,6 +21,7 @@ #include "Define.h" #include +#include struct AddonInfo { @@ -37,7 +38,7 @@ struct AddonInfo struct SavedAddon { - SavedAddon(const std::string& name, uint32 crc) : Name(name) + SavedAddon(std::string const& name, uint32 crc) : Name(name) { CRC = crc; } @@ -46,13 +47,24 @@ struct SavedAddon uint32 CRC; }; -#define STANDARD_ADDON_CRC 0x4c1c776d +struct BannedAddon +{ + uint32 Id; + uint8 NameMD5[16]; + uint8 VersionMD5[16]; + uint32 Timestamp; +}; + +#define STANDARD_ADDON_CRC 0x4C1C776D namespace AddonMgr { void LoadFromDB(); void SaveAddon(AddonInfo const& addon); SavedAddon const* GetAddonInfo(const std::string& name); + + typedef std::list BannedAddonList; + BannedAddonList const* GetBannedAddons(); } #endif diff --git a/src/server/game/DataStores/DBCStores.cpp b/src/server/game/DataStores/DBCStores.cpp index f58a04df6af..3f5ff28a6c3 100644 --- a/src/server/game/DataStores/DBCStores.cpp +++ b/src/server/game/DataStores/DBCStores.cpp @@ -61,6 +61,7 @@ DBCStorage sAchievementCriteriaStore(AchievementCrite DBCStorage sAreaTriggerStore(AreaTriggerEntryfmt); DBCStorage sAuctionHouseStore(AuctionHouseEntryfmt); DBCStorage sBankBagSlotPricesStore(BankBagSlotPricesEntryfmt); +DBCStorage sBannedAddOnsStore(BannedAddOnsfmt); DBCStorage sBattlemasterListStore(BattlemasterListEntryfmt); DBCStorage sBarberShopStyleStore(BarberShopStyleEntryfmt); DBCStorage sCharStartOutfitStore(CharStartOutfitEntryfmt); @@ -286,6 +287,7 @@ void LoadDBCStores(const std::string& dataPath) LoadDBC(availableDbcLocales, bad_dbc_files, sAreaPOIStore, dbcPath, "AreaPOI.dbc"); LoadDBC(availableDbcLocales, bad_dbc_files, sAuctionHouseStore, dbcPath, "AuctionHouse.dbc"); LoadDBC(availableDbcLocales, bad_dbc_files, sBankBagSlotPricesStore, dbcPath, "BankBagSlotPrices.dbc"); + LoadDBC(availableDbcLocales, bad_dbc_files, sBannedAddOnsStore, dbcPath, "BannedAddOns.dbc"); LoadDBC(availableDbcLocales, bad_dbc_files, sBattlemasterListStore, dbcPath, "BattlemasterList.dbc"); LoadDBC(availableDbcLocales, bad_dbc_files, sBarberShopStyleStore, dbcPath, "BarberShopStyle.dbc"); LoadDBC(availableDbcLocales, bad_dbc_files, sCharStartOutfitStore, dbcPath, "CharStartOutfit.dbc"); diff --git a/src/server/game/DataStores/DBCStores.h b/src/server/game/DataStores/DBCStores.h index a7be35612a5..0090ec7d132 100644 --- a/src/server/game/DataStores/DBCStores.h +++ b/src/server/game/DataStores/DBCStores.h @@ -75,6 +75,7 @@ extern DBCStorage sAreaPOIStore; extern DBCStorage sAreaTriggerStore; extern DBCStorage sAuctionHouseStore; extern DBCStorage sBankBagSlotPricesStore; +extern DBCStorage sBannedAddOnsStore; extern DBCStorage sBarberShopStyleStore; extern DBCStorage sBattlemasterListStore; extern DBCStorage sChatChannelsStore; diff --git a/src/server/game/DataStores/DBCStructure.h b/src/server/game/DataStores/DBCStructure.h index 532deefa268..a8c2f1b132e 100644 --- a/src/server/game/DataStores/DBCStructure.h +++ b/src/server/game/DataStores/DBCStructure.h @@ -596,6 +596,15 @@ struct BankBagSlotPricesEntry uint32 price; }; +struct BannedAddOnsEntry +{ + uint32 Id; + // uint32 NameMD5[4]; + // uint32 VersionMD5[4]; + // uint32 Timestamp; + // uint32 State; +}; + struct BarberShopStyleEntry { uint32 Id; // 0 diff --git a/src/server/game/DataStores/DBCfmt.h b/src/server/game/DataStores/DBCfmt.h index 4d48b29b968..a07d3abb52a 100644 --- a/src/server/game/DataStores/DBCfmt.h +++ b/src/server/game/DataStores/DBCfmt.h @@ -29,6 +29,7 @@ char const AreaPOIEntryfmt[] = "niiiiiiiiiiifffixixxxxxxxxxxxxxxxxxxxxxxxxxxxxxx char const AreaTriggerEntryfmt[] = "niffffffff"; char const AuctionHouseEntryfmt[] = "niiixxxxxxxxxxxxxxxxx"; char const BankBagSlotPricesEntryfmt[] = "ni"; +char const BannedAddOnsfmt[] = "nxxxxxxxxxx"; char const BarberShopStyleEntryfmt[] = "nixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxiii"; char const BattlemasterListEntryfmt[] = "niiiiiiiiixssssssssssssssssxiixx"; char const CharStartOutfitEntryfmt[] = "dbbbXiiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index 5e91f0f2464..71b74ad3a5f 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -960,12 +960,7 @@ void WorldSession::ReadAddonsInfo(WorldPacket &data) SavedAddon const* savedAddon = AddonMgr::GetAddonInfo(addonName); if (savedAddon) { - bool match = true; - if (addon.CRC != savedAddon->CRC) - match = false; - - if (!match) sLog->outInfo(LOG_FILTER_GENERAL, "ADDON: %s was known, but didn't match known CRC (0x%x)!", addon.Name.c_str(), savedAddon->CRC); else sLog->outInfo(LOG_FILTER_GENERAL, "ADDON: %s was known, CRC is correct (0x%x)", addon.Name.c_str(), savedAddon->CRC); @@ -984,9 +979,6 @@ void WorldSession::ReadAddonsInfo(WorldPacket &data) uint32 currentTime; addonInfo >> currentTime; sLog->outDebug(LOG_FILTER_NETWORKIO, "ADDON: CurrentTime: %u", currentTime); - - if (addonInfo.rpos() != addonInfo.size()) - sLog->outDebug(LOG_FILTER_NETWORKIO, "packet under-read!"); } else sLog->outError(LOG_FILTER_GENERAL, "Addon packet uncompress error!"); @@ -1037,18 +1029,23 @@ void WorldSession::SendAddonsInfo() data << uint32(0); /// @todo Find out the meaning of this. } - uint8 unk3 = 0; // 0 is sent here - data << uint8(unk3); - if (unk3) - { - // String, length 256 (null terminated) - data << uint8(0); - } + data << uint8(0); // uses URL + //if (usesURL) + // data << uint8(0); // URL } m_addonsList.clear(); - data << uint32(0); // count for an unknown for loop + AddonMgr::BannedAddonList const* bannedAddons = AddonMgr::GetBannedAddons(); + data << uint32(bannedAddons->size()); + for (AddonMgr::BannedAddonList::const_iterator itr = bannedAddons->begin(); itr != bannedAddons->end(); ++itr) + { + data << uint32(itr->Id); + data.append(itr->NameMD5, sizeof(itr->NameMD5)); + data.append(itr->VersionMD5, sizeof(itr->VersionMD5)); + data << uint32(itr->Timestamp); + data << uint32(1); // IsBanned + } SendPacket(&data); } -- cgit v1.2.3 From fae0b53a21f1fe20a9bfecf6972065e89fc3ae2f Mon Sep 17 00:00:00 2001 From: wintergreen77 Date: Sat, 6 Apr 2013 12:17:24 +0200 Subject: DB/Quest: Fix Bouldercrag the Rockshaper Quests linking Closes #9578 --- sql/updates/world/2013_04_06_00_world_quest_template.sql | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 sql/updates/world/2013_04_06_00_world_quest_template.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_06_00_world_quest_template.sql b/sql/updates/world/2013_04_06_00_world_quest_template.sql new file mode 100644 index 00000000000..ebd4ad2ffcc --- /dev/null +++ b/sql/updates/world/2013_04_06_00_world_quest_template.sql @@ -0,0 +1,10 @@ +UPDATE `quest_template` SET `NextQuestId`=12931,`NextQuestIdChain`=12931 WHERE `Id`=12930; +UPDATE `quest_template` SET `PrevQuestId`=12930,`ExclusiveGroup`=-12931 WHERE `Id` IN (12931,12937); +UPDATE `quest_template` SET `PrevQuestId`=12931,`ExclusiveGroup`=-12957 WHERE `Id` IN (12957,12964); +UPDATE `quest_template` SET `PrevQuestId`=12957,`ExclusiveGroup`=-12965 WHERE `Id` IN (12965,12978); +UPDATE `quest_template` SET `NextQuestId`=12984 WHERE `Id`=12980; +UPDATE `quest_template` SET `PrevQuestId`=12980,`NextQuestId`=12988 WHERE `Id`=12984; +UPDATE `quest_template` SET `ExclusiveGroup`=-12988 WHERE `Id`=12988; +UPDATE `quest_template` SET `PrevQuestId`=12984,`ExclusiveGroup`=-12988 WHERE `Id`=12991; +UPDATE `quest_template` SET `PrevQuestId`=12988,`NextQuestId`=12998 WHERE `Id` =12993; +UPDATE `quest_template` SET `PrevQuestId`=12993,`NextQuestIdChain`=13007 WHERE `Id` =12998; -- cgit v1.2.3 From 6431dc8b125d00a8de0b156016b7b77290e00639 Mon Sep 17 00:00:00 2001 From: ZxBiohazardZx Date: Sat, 6 Apr 2013 12:25:50 +0200 Subject: DB/Trainers: Add Enchant Boots - Lesser Accuracy to appropriate trainers Closes #9571 --- sql/updates/world/2013_04_06_01_world_npc_trainer.sql | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 sql/updates/world/2013_04_06_01_world_npc_trainer.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_06_01_world_npc_trainer.sql b/sql/updates/world/2013_04_06_01_world_npc_trainer.sql new file mode 100644 index 00000000000..b975f29d8c8 --- /dev/null +++ b/sql/updates/world/2013_04_06_01_world_npc_trainer.sql @@ -0,0 +1,4 @@ +-- Add Enchant Boots - Lesser Accuracy to appropriate trainers +DELETE FROM `npc_trainer` WHERE `spell`=63746; +INSERT INTO `npc_trainer` (`entry`,`spell`,`spellcost`,`reqskill`,`reqskillvalue`,`reqlevel`) VALUES +(201009,63746,5000,333,225,0); -- cgit v1.2.3 From 7cab8b3f2c493c62e6d221b580c7ba897c36f346 Mon Sep 17 00:00:00 2001 From: Pitcrawler Date: Sat, 6 Apr 2013 12:42:18 +0200 Subject: DB/Creature: Adding missing spawns of Glinting Dirt --- sql/updates/world/2013_04_06_02_world_creature.sql | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 sql/updates/world/2013_04_06_02_world_creature.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_06_02_world_creature.sql b/sql/updates/world/2013_04_06_02_world_creature.sql new file mode 100644 index 00000000000..e2658210522 --- /dev/null +++ b/sql/updates/world/2013_04_06_02_world_creature.sql @@ -0,0 +1,39 @@ +SET @GUID := 110224; +SET @DIRT := 28362; + +DELETE FROM `creature` WHERE `guid` BETWEEN @GUID+0 AND @GUID+33; +INSERT INTO `creature` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`modelid`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`MovementType`) VALUES +(@GUID+0 ,@DIRT,571,1,1,0,5652.974,4494.586,-136.6679,2.600541,300,0,0), +(@GUID+1 ,@DIRT,571,1,1,0,5682.897,4479.211,-135.6831,4.817109,300,0,0), +(@GUID+2 ,@DIRT,571,1,1,0,5616.783,4507.514,-136.2347,2.792527,300,0,0), +(@GUID+3 ,@DIRT,571,1,1,0,5566.848,4608.069,-140.0046,0.08726646,300,0,0), +(@GUID+4 ,@DIRT,571,1,1,0,5726.52,4535.192,-138.999,1.256637,300,0,0), +(@GUID+5 ,@DIRT,571,1,1,0,5693.346,4629.685,-138.3224,4.921828,300,0,0), +(@GUID+6 ,@DIRT,571,1,1,0,5733.776,4598.793,-134.9071,0.8028514,300,0,0), +(@GUID+7 ,@DIRT,571,1,1,0,5752.648,4496.542,-132.4478,4.886922,300,0,0), +(@GUID+8 ,@DIRT,571,1,1,0,5705.064,4435.867,-141.0292,5.986479,300,0,0), +(@GUID+9 ,@DIRT,571,1,1,0,5736.984,4459.437,-134.9569,1.291544,300,0,0), +(@GUID+10,@DIRT,571,1,1,0,5579.51,4442.721,-139.8728,5.5676,300,0,0), +(@GUID+11,@DIRT,571,1,1,0,5726.514,4370.49,-138.5187,3.106686,300,0,0), +(@GUID+12,@DIRT,571,1,1,0,5801.268,4529.366,-134.282,3.228859,300,0,0), +(@GUID+13,@DIRT,571,1,1,0,5806.822,4481.874,-131.8635,4.607669,300,0,0), +(@GUID+14,@DIRT,571,1,1,0,5868.016,4498.958,-133.2091,3.525565,300,0,0), +(@GUID+15,@DIRT,571,1,1,0,5865.933,4563.596,-133.3011,3.525565,300,0,0), +(@GUID+16,@DIRT,571,1,1,0,5847.393,4599.288,-136.0588,5.532694,300,0,0), +(@GUID+17,@DIRT,571,1,1,0,5768.064,4605.938,-137.6851,3.874631,300,0,0), +(@GUID+18,@DIRT,571,1,1,0,5743.717,4645.34,-135.1314,3.071779,300,0,0), +(@GUID+19,@DIRT,571,1,1,0,5789.393,4640.829,-135.5909,5.532694,300,0,0), +(@GUID+20,@DIRT,571,1,1,0,5906.656,4612.754,-132.0416,2.600541,300,0,0), +(@GUID+21,@DIRT,571,1,1,0,5842.542,4682.008,-134.9288,4.677482,300,0,0), +(@GUID+22,@DIRT,571,1,1,0,5822.073,4726.694,-132.8639,6.195919,300,0,0), +(@GUID+23,@DIRT,571,1,1,0,5917.018,4735.479,-137.8103,1.43117,300,0,0), +(@GUID+24,@DIRT,571,1,1,0,5863.843,4759.619,-131.9068,5.166174,300,0,0), +(@GUID+25,@DIRT,571,1,1,0,5656.485,4679.363,-132.4746,0.8552113,300,0,0), +(@GUID+26,@DIRT,571,1,1,0,5699.089,4671.949,-135.4732,5.986479,300,0,0), +(@GUID+27,@DIRT,571,1,1,0,5731.342,4688.484,-134.2571,3.438299,300,0,0), +(@GUID+28,@DIRT,571,1,1,0,5760.655,4690.131,-134.4649,5.585053,300,0,0), +(@GUID+29,@DIRT,571,1,1,0,5677.118,4725.341,-135.5663,3.577925,300,0,0), +(@GUID+30,@DIRT,571,1,1,0,5704.706,4763.644,-137.0218,5.009095,300,0,0), +(@GUID+31,@DIRT,571,1,1,0,5751.76,4767.774,-134.9354,3.979351,300,0,0), +(@GUID+32,@DIRT,571,1,1,0,5786.583,4751.955,-133.6232,0.7679449,300,0,0), +(@GUID+33,@DIRT,571,1,1,0,5807.025,4767.91,-134.8856,3.560472,300,0,0); -- cgit v1.2.3 From d4e5ea5db99831f317167da435ed62ef6862a7fb Mon Sep 17 00:00:00 2001 From: Gacko Date: Sat, 6 Apr 2013 14:17:00 +0200 Subject: Fix imports --- sql/updates/world/2013_04_05_00_world_sai.sql | 2 +- sql/updates/world/2013_04_05_01_world_misc.sql | 2 +- sql/updates/world/2013_04_05_02_world_creature_ai_scripts.sql | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'sql') diff --git a/sql/updates/world/2013_04_05_00_world_sai.sql b/sql/updates/world/2013_04_05_00_world_sai.sql index 99d3e96073c..4e304843d4f 100644 --- a/sql/updates/world/2013_04_05_00_world_sai.sql +++ b/sql/updates/world/2013_04_05_00_world_sai.sql @@ -924,4 +924,4 @@ INSERT INTO `pool_template` (`entry`, `max_limit`, `description`) VALUES (@QUESTPOOL+2, 1, 'Rejek Dailies'), (@QUESTPOOL+3, 1, 'Vekgar Dailies'); -- Return of the lich hunter should be takable by both factions not only horde -UPDATE `quest_template` SET `RequiredRaces`=0 WHERE `Id`=12692 +UPDATE `quest_template` SET `RequiredRaces`=0 WHERE `Id`=12692; diff --git a/sql/updates/world/2013_04_05_01_world_misc.sql b/sql/updates/world/2013_04_05_01_world_misc.sql index adcdb5382a4..816a4f5c0fa 100644 --- a/sql/updates/world/2013_04_05_01_world_misc.sql +++ b/sql/updates/world/2013_04_05_01_world_misc.sql @@ -1,4 +1,4 @@ -SET @LAFOO := 28120; +SET @LAFOO := 28120; SET @MOODLE := 28122; SET @JALOOT := 28121; SET @CHICKENESCAPEE := 28161; diff --git a/sql/updates/world/2013_04_05_02_world_creature_ai_scripts.sql b/sql/updates/world/2013_04_05_02_world_creature_ai_scripts.sql index be1c01153ae..311ae1781f8 100644 --- a/sql/updates/world/2013_04_05_02_world_creature_ai_scripts.sql +++ b/sql/updates/world/2013_04_05_02_world_creature_ai_scripts.sql @@ -1 +1 @@ -DELETE FROM `creature_ai_scripts` WHERE `creature_id`=28371; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=28371; -- cgit v1.2.3 From 1ceb779b09a06c1d39e208dcfd6a27079fc91f8b Mon Sep 17 00:00:00 2001 From: Pitcrawler Date: Sat, 6 Apr 2013 16:59:21 +0200 Subject: DB/Quests: Fix Pa'Troll and Lab Work, closes #5910 and really closes #2382 --- sql/updates/world/2013_04_06_03_world_misc.sql | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 sql/updates/world/2013_04_06_03_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_06_03_world_misc.sql b/sql/updates/world/2013_04_06_03_world_misc.sql new file mode 100644 index 00000000000..6cc441d9e5a --- /dev/null +++ b/sql/updates/world/2013_04_06_03_world_misc.sql @@ -0,0 +1,25 @@ +DELETE FROM `gameobject_loot_template` WHERE `entry`=24320 AND `item` IN (38340,38341,38397); +DELETE FROM `gameobject_loot_template` WHERE `entry`=24326 AND `item`=38397; +DELETE FROM `gameobject_loot_template` WHERE `entry`=24330 AND `item`=38335; +DELETE FROM `gameobject_loot_template` WHERE `entry`=25028 AND `item`=38337; + +UPDATE `gameobject_loot_template` SET `ChanceOrQuestChance`=100 WHERE `entry` BETWEEN 24319 AND 24340; +UPDATE `gameobject_loot_template` SET `ChanceOrQuestChance`=100 WHERE `entry` IN (25026,25027,25028); + +DELETE FROM `spell_linked_spell` WHERE `spell_trigger` IN (51060,51068,51088,51094); +INSERT INTO `spell_linked_spell` (`spell_trigger`,`spell_effect`,`type`,`comment`) VALUES +(51060,51226,1,'On spellhit Have Withered Batwing - Spellcast Withered Batwing Kill Credit'), +(51068,51227,1,'On spellhit Have Muddy Mire Maggot - Spellcast Muddy Mire Maggot Kill Credit'), +(51088,51228,1,'On spellhit Have Amberseed - Spellcast Amberseed Kill Credit'), +(51094,51229,1,'On spellhit Have Chilled Serpent Mucus - Spellcast Chilled Serpent Mucus Kill Credit'); + +DELETE FROM `spell_dbc` WHERE `Id`=50574; +INSERT INTO `spell_dbc` (`Id`,`Attributes`,`CastingTimeIndex`,`ProcChance`,`RangeIndex`,`EquippedItemClass`,`Effect1`,`EffectMiscValue1`,`EffectImplicitTargetA1`,`SchoolMask`,`Comment`) VALUES +(50574,256,1,101,11,-1,90,28042,25,1,'Captain Brandon Kill Credit'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=9668 AND `SourceEntry` IN (13098,13119); +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9668 AND `SourceEntry`=0; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,9668,13098,0,9,12587,0,0,0,'','Alchemist Finklestein - Show different gossip if player has taken quest Troll Patrol'), +(14,9668,13119,0,9,12541,0,0,0,'','Alchemist Finklestein - Show different gossip if player has taken quest Troll Patrol: The Alchemist''s Apprentice'), +(15,9668,0,0,9,12541,0,0,0,'','Alchemist Finklestein - Show gossip option only if player has taken quest Troll Patrol: The Alchemist''s Apprentice'); -- cgit v1.2.3 From 6e6ed50ab3e2f2559acf92f998516d0e7d094968 Mon Sep 17 00:00:00 2001 From: Kinzcool Date: Sun, 7 Apr 2013 02:23:06 -0400 Subject: DB/Triggers: Implemented arenas triggers teleport to stop people that go outside the walls. --- .../2013_04_07_00_world_areatrigger_teleport.sql | 27 ++++++++++++++++++++++ .../game/Battlegrounds/Zones/BattlegroundBE.cpp | 6 ----- .../game/Battlegrounds/Zones/BattlegroundBE.h | 1 - .../game/Battlegrounds/Zones/BattlegroundDS.cpp | 6 ----- .../game/Battlegrounds/Zones/BattlegroundDS.h | 1 - .../game/Battlegrounds/Zones/BattlegroundNA.cpp | 6 ----- .../game/Battlegrounds/Zones/BattlegroundNA.h | 1 - .../game/Battlegrounds/Zones/BattlegroundRL.cpp | 6 ----- .../game/Battlegrounds/Zones/BattlegroundRL.h | 1 - .../game/Battlegrounds/Zones/BattlegroundRV.cpp | 6 ----- .../game/Battlegrounds/Zones/BattlegroundRV.h | 1 - 11 files changed, 27 insertions(+), 35 deletions(-) create mode 100644 sql/updates/world/2013_04_07_00_world_areatrigger_teleport.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_07_00_world_areatrigger_teleport.sql b/sql/updates/world/2013_04_07_00_world_areatrigger_teleport.sql new file mode 100644 index 00000000000..b9669aaf9c0 --- /dev/null +++ b/sql/updates/world/2013_04_07_00_world_areatrigger_teleport.sql @@ -0,0 +1,27 @@ +DELETE FROM `areatrigger_teleport` WHERE `id` IN (4917, 4919, 4921, 4922, 4923, 4924, 4925, 4927, 4928, 4929, 4930, 4931, 4932, 4933, 4934, 4935, 4936, 4941, 4944, 5326, 5328, 5329, 5330, 5331, 5447); +INSERT INTO `areatrigger_teleport` (`id`, `target_map`, `target_position_x`, `target_position_y`, `target_position_z`, `target_orientation`, `name`) VALUES +(4917, 559, 4054.57, 2923.23, 13.8179, 0, 'Arena - Nagrand - Teleport Target - Game On'), +(4919, 562, 6238.89, 264.155, 0.894302, 0, 'Arena - Bladesedge - Teleport Target - Game On'), +(4921, 562, 6238.89, 264.155, 0.894302, 0, 'Arena - Bladesedge - Teleport Target - Game On'), +(4922, 562, 6238.89, 264.155, 0.894302, 0, 'Arena - Bladesedge - Teleport Target - Game On'), +(4923, 562, 6238.89, 264.155, 0.894302, 0, 'Arena - Bladesedge - Teleport Target - Game On'), +(4924, 562, 6238.89, 264.155, 0.894302, 0, 'Arena - Bladesedge - Teleport Target - Game On'), +(4925, 562, 6238.89, 264.155, 0.894302, 0, 'Arena - Bladesedge - Teleport Target - Game On'), +(4927, 572, 1286.57, 1667.4, 39.602, 0, 'Arena - Undercity - Teleport Target - Game On'), +(4928, 572, 1286.57, 1667.4, 39.602, 0, 'Arena - Undercity - Teleport Target - Game On'), +(4929, 572, 1286.57, 1667.4, 39.602, 0, 'Arena - Undercity - Teleport Target - Game On'), +(4930, 572, 1286.57, 1667.4, 39.602, 0, 'Arena - Undercity - Teleport Target - Game On'), +(4931, 572, 1286.57, 1667.4, 39.602, 0, 'Arena - Undercity - Teleport Target - Game On'), +(4932, 572, 1286.57, 1667.4, 39.602, 0, 'Arena - Undercity - Teleport Target - Game On'), +(4933, 572, 1286.57, 1667.4, 39.602, 0, 'Arena - Undercity - Teleport Target - Game On'), +(4934, 572, 1286.57, 1667.4, 39.602, 0, 'Arena - Undercity - Teleport Target - Game On'), +(4935, 572, 1286.57, 1667.4, 39.602, 0, 'Arena - Undercity - Teleport Target - Game On'), +(4936, 572, 1286.57, 1667.4, 39.602, 0, 'Arena - Undercity - Teleport Target - Game On'), +(4941, 572, 1286.57, 1667.4, 39.602, 0, 'Arena - Undercity - Teleport Target - Game On'), +(4944, 562, 6238.89, 264.155, 0.894302, 0, 'Arena - Bladesedge - Teleport Target - Game On'), +(5326, 617, 1291.57, 792.965, 8.11463, 0, 'Arena - Dalaran Arena - Teleport Target'), +(5328, 617, 1291.57, 792.965, 8.11463, 0, 'Arena - Dalaran Arena - Teleport Target'), +(5329, 617, 1291.57, 792.965, 8.11463, 0, 'Arena - Dalaran Arena - Teleport Target'), +(5330, 617, 1291.57, 792.965, 8.11463, 0, 'Arena - Dalaran Arena - Teleport Target'), +(5331, 617, 1291.57, 792.965, 8.11463, 0, 'Arena - Dalaran Arena - Teleport Target'), +(5447, 618, 763.365, -284.29, 28.2767, 0, 'Arena - Orgrimmar - Teleport Target 3'); diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundBE.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundBE.cpp index 9d1c12a8903..c09b42f1e7f 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundBE.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundBE.cpp @@ -94,12 +94,6 @@ void BattlegroundBE::HandleKillPlayer(Player* player, Player* killer) CheckArenaWinConditions(); } -bool BattlegroundBE::HandlePlayerUnderMap(Player* player) -{ - player->TeleportTo(GetMapId(), 6238.930176f, 262.963470f, 0.889519f, player->GetOrientation()); - return true; -} - void BattlegroundBE::HandleAreaTrigger(Player* player, uint32 trigger) { if (GetStatus() != STATUS_IN_PROGRESS) diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundBE.h b/src/server/game/Battlegrounds/Zones/BattlegroundBE.h index 9953e548df6..f9a3028ddf6 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundBE.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundBE.h @@ -59,7 +59,6 @@ class BattlegroundBE : public Battleground void Reset(); void FillInitialWorldStates(WorldPacket &d); void HandleKillPlayer(Player* player, Player* killer); - bool HandlePlayerUnderMap(Player* player); /* Scorekeeping */ void UpdatePlayerScore(Player* Source, uint32 type, uint32 value, bool doAddHonor = true); diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundDS.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundDS.cpp index e7462f970a3..fe1973d3daf 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundDS.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundDS.cpp @@ -201,12 +201,6 @@ void BattlegroundDS::HandleAreaTrigger(Player* player, uint32 trigger) } } -bool BattlegroundDS::HandlePlayerUnderMap(Player* player) -{ - player->TeleportTo(GetMapId(), 1299.046f, 784.825f, 9.338f, 2.422f); - return true; -} - void BattlegroundDS::FillInitialWorldStates(WorldPacket &data) { data << uint32(3610) << uint32(1); // 9 show diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundDS.h b/src/server/game/Battlegrounds/Zones/BattlegroundDS.h index 43437595220..cdfbbc480bb 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundDS.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundDS.h @@ -96,7 +96,6 @@ class BattlegroundDS : public Battleground void Reset(); void FillInitialWorldStates(WorldPacket &d); void HandleKillPlayer(Player* player, Player* killer); - bool HandlePlayerUnderMap(Player* player); private: uint32 _waterfallTimer; uint8 _waterfallStatus; diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundNA.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundNA.cpp index 4d0cdf08eba..d3ce5c1544e 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundNA.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundNA.cpp @@ -91,12 +91,6 @@ void BattlegroundNA::HandleKillPlayer(Player* player, Player* killer) CheckArenaWinConditions(); } -bool BattlegroundNA::HandlePlayerUnderMap(Player* player) -{ - player->TeleportTo(GetMapId(), 4055.504395f, 2919.660645f, 13.611241f, player->GetOrientation()); - return true; -} - void BattlegroundNA::HandleAreaTrigger(Player* player, uint32 trigger) { if (GetStatus() != STATUS_IN_PROGRESS) diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundNA.h b/src/server/game/Battlegrounds/Zones/BattlegroundNA.h index d53f47787a4..e3633197253 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundNA.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundNA.h @@ -58,6 +58,5 @@ class BattlegroundNA : public Battleground void Reset(); void FillInitialWorldStates(WorldPacket &d); void HandleKillPlayer(Player* player, Player* killer); - bool HandlePlayerUnderMap(Player* player); }; #endif diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundRL.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundRL.cpp index 1b18583827d..de7d6995120 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundRL.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundRL.cpp @@ -91,12 +91,6 @@ void BattlegroundRL::HandleKillPlayer(Player* player, Player* killer) CheckArenaWinConditions(); } -bool BattlegroundRL::HandlePlayerUnderMap(Player* player) -{ - player->TeleportTo(GetMapId(), 1285.810547f, 1667.896851f, 39.957642f, player->GetOrientation()); - return true; -} - void BattlegroundRL::HandleAreaTrigger(Player* player, uint32 trigger) { if (GetStatus() != STATUS_IN_PROGRESS) diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundRL.h b/src/server/game/Battlegrounds/Zones/BattlegroundRL.h index e5e55782005..877e0626271 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundRL.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundRL.h @@ -54,6 +54,5 @@ class BattlegroundRL : public Battleground void HandleAreaTrigger(Player* Source, uint32 Trigger); bool SetupBattleground(); void HandleKillPlayer(Player* player, Player* killer); - bool HandlePlayerUnderMap(Player* player); }; #endif diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundRV.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundRV.cpp index 9f15bd29bed..6325bd2a629 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundRV.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundRV.cpp @@ -135,12 +135,6 @@ void BattlegroundRV::HandleKillPlayer(Player* player, Player* killer) CheckArenaWinConditions(); } -bool BattlegroundRV::HandlePlayerUnderMap(Player* player) -{ - player->TeleportTo(GetMapId(), 763.5f, -284, 28.276f, 2.422f); - return true; -} - void BattlegroundRV::HandleAreaTrigger(Player* player, uint32 trigger) { if (GetStatus() != STATUS_IN_PROGRESS) diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundRV.h b/src/server/game/Battlegrounds/Zones/BattlegroundRV.h index b6dc3775df8..a836e4e1af3 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundRV.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundRV.h @@ -108,7 +108,6 @@ class BattlegroundRV : public Battleground void HandleAreaTrigger(Player* Source, uint32 Trigger); bool SetupBattleground(); void HandleKillPlayer(Player* player, Player* killer); - bool HandlePlayerUnderMap(Player* player); private: uint32 Timer; -- cgit v1.2.3 From 81908c7d7bc7c765c262793a56d90f4e8dd18450 Mon Sep 17 00:00:00 2001 From: Kinzcool Date: Mon, 8 Apr 2013 15:47:32 -0400 Subject: DB/Triggers: Added some missing trigger teleportation in the Ebon Hold. --- .../world/2013_04_08_00_world_areatrigger_teleport.sql | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 sql/updates/world/2013_04_08_00_world_areatrigger_teleport.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_08_00_world_areatrigger_teleport.sql b/sql/updates/world/2013_04_08_00_world_areatrigger_teleport.sql new file mode 100644 index 00000000000..10e1668136c --- /dev/null +++ b/sql/updates/world/2013_04_08_00_world_areatrigger_teleport.sql @@ -0,0 +1,14 @@ +DELETE FROM `areatrigger_teleport` WHERE `id` IN (5127, 5128, 5129, 5130, 5131, 5132, 5133, 5134, 5135, 5136, 5137, 5138); +INSERT INTO `areatrigger_teleport` (`id`, `target_map`, `target_position_x`, `target_position_y`, `target_position_z`, `target_orientation`, `name`) VALUES +(5127, 0, 2462.76, -5598.19, 550.22, 3.66519, 'Ebon Hold (E.K.) Top Return Target'), +(5128, 0, 2472.67, -5530.1, 420.642, 4.50295, 'Ebon Hold (E.K.) Top West Target'), +(5129, 0, 2462.76, -5598.19, 550.22, 3.66519, 'Ebon Hold (E.K.) Top Return Target'), +(5130, 0, 2397.37, -5581.06, 420.643, 6.07375, 'Ebon Hold (E.K.) Top South Target'), +(5131, 0, 2462.76, -5598.19, 550.22, 3.66519, 'Ebon Hold (E.K.) Top Return Target'), +(5132, 0, 2522.45, -5605.7, 420.642, 2.94961, 'Ebon Hold (E.K.) Top North Target'), +(5133, 0, 2462.76, -5598.19, 550.22, 3.66519, 'Ebon Hold (E.K.) Top Return Target'), +(5134, 0, 2448.02, -5655.82, 420.643, 1.3439, 'Ebon Hold (E.K.) Top East Target'), +(5135, 0, 2435.77, -5610.34, 366.82, 0.610865, 'Ebon Hold (E.K.) Middle -> Bottom Target'), +(5136, 0, 2435.77, -5610.34, 366.82, 0.610865, 'Ebon Hold (E.K.) Middle -> Bottom Target'), +(5137, 0, 2472.9, -5530.64, 420.643, 4.45059, 'Ebon Hold (E.K.) Bottom -> Middle Target'), +(5138, 0, 2415.16, -5733.04, 153.922, 3.64774, 'Ebon Hold (E.K.) Bottom -> Ground Target'); -- cgit v1.2.3 From faf7ddc2fc90d46613344042a0934e24c98169ed Mon Sep 17 00:00:00 2001 From: Pitcrawler Date: Thu, 11 Apr 2013 01:26:51 +0200 Subject: DB/Quests: Fix Ursoc, the Bear God, closes #3165 #9535 --- sql/updates/world/2013_04_11_00_world_misc.sql | 168 +++++++++++++++++++++++++ 1 file changed, 168 insertions(+) create mode 100644 sql/updates/world/2013_04_11_00_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_11_00_world_misc.sql b/sql/updates/world/2013_04_11_00_world_misc.sql new file mode 100644 index 00000000000..53e2ffcb716 --- /dev/null +++ b/sql/updates/world/2013_04_11_00_world_misc.sql @@ -0,0 +1,168 @@ +SET @NPC_URSOC := 26633; +SET @NPC_RAGEPAW := 27328; +SET @NPC_SPIRIT := 27373; +SET @NPC_BLOOD := 28854; + +DELETE FROM `gossip_menu_option` WHERE `menu_id`=9496 AND `id`=0; +DELETE FROM `gossip_menu_option` WHERE `menu_id`=9497 AND `id` IN (0,1,2); +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 +(9496,0,0, 'We have the purified ashes of Vordrassil''s sapling. If we can subdue Ursoc, we might be able to heal his soul.',1,1,9497,0,0,0, ''), +(9497,0,0, 'Assume your druidic bear form, Tur.',1,1,0,0,0,0, ''), +(9497,1,0, 'Help us subdue him.',1,1,0,0,0,0, ''), +(9497,2,0, 'We could use a healer.',1,1,0,0,0,0, ''); + +DELETE FROM `gossip_menu` WHERE `entry`=9496 AND `text_id`=12785; +DELETE FROM `gossip_menu` WHERE `entry`=9497 AND `text_id`=12787; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES +(9496,12785), +(9497,12787); + +UPDATE `creature_template` SET `faction_A`=16, `faction_H`=16, `dmg_multiplier`=4.6, `unit_flags`=32832 WHERE `entry`=@NPC_URSOC; +UPDATE `creature_template` SET `gossip_menu_id`=9496, `speed_walk`=0.666667, `speed_run`=0.992063 WHERE `entry`=@NPC_RAGEPAW; +UPDATE `creature_template` SET `speed_run`=0.357143 WHERE `entry`=@NPC_BLOOD; + +UPDATE `creature_model_info` SET `bounding_radius`=3.666, `combat_reach`=9 WHERE `modelid`=23964; + +DELETE FROM `creature_template_addon` WHERE `entry`=28854; +INSERT INTO `creature_template_addon` (`entry`,`bytes2`,`auras`) VALUES +(28854,1,'52561'); + +UPDATE `creature` SET `spawntimesecs`=0 WHERE `guid` IN (104065,104066,114077); + +DELETE FROM `creature_addon` WHERE `guid` IN (104065,104066,104068,104069,104070,104071); +INSERT INTO `creature_addon` (`guid`,`auras`) VALUES +(104065,'16245'), +(104066,'16245'), +(104068,'16245'), +(104069,'16245'), +(104070,'16245'), +(104071,'16245'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (48398,48399); +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9496 AND `SourceEntry`=0; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=17 AND `SourceEntry` IN (52551,52554); +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@NPC_RAGEPAW; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,1,48398,0,0,31,0,3,24921,0,0,'','Spell Tur''s Chains targets Cosmetic Trigger - LAB'), +(13,1,48398,0,0,29,0,@NPC_RAGEPAW,2,0,0,'','Spell Tur''s Chains target needs to be within 2y of Tur Ragepaw'), +(13,1,48399,0,0,31,0,3,24921,0,0,'','Spell Tur''s Chains targets Cosmetic Trigger - LAB'), +(13,1,48399,0,0,29,0,@NPC_RAGEPAW,2,0,0,'','Spell Tur''s Chains target needs to be within 2y of Tur Ragepaw'), +(15,9496,0,0,0,9,0,12236,0,0,0,'','Tur Ragepaw - Show gossip option only if player has taken quest Ursoc, the Bear God'), +(15,9496,0,0,1,9,0,12249,0,0,0,'','Tur Ragepaw - Show gossip option only if player has taken quest Ursoc, the Bear God'), +(17,0,52551,0,0,38,1,80,4,0,0,'','Spell Lifebloom will be casted only if target has less than 80% health'), +(17,0,52554,0,0,38,1,65,4,0,0,'','Spell Nourish will be casted only if target has less than 65% health'), +(22,14,@NPC_RAGEPAW,0,0,1,1,48368,1,0,0,'','SAI of Tur Ragepaw triggers only if under the effect of aura Bearform'), +(22,16,@NPC_RAGEPAW,0,0,1,1,48369,1,0,0,'','SAI of Tur Ragepaw triggers only if under the effect of aura Moonkin Form'), +(22,17,@NPC_RAGEPAW,0,0,1,1,48371,1,0,0,'','SAI of Tur Ragepaw triggers only if under the effect of aura Tree of Life'); + +DELETE FROM `creature_text` WHERE `entry` IN (@NPC_RAGEPAW,@NPC_SPIRIT); +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(@NPC_RAGEPAW,0,0, 'Stay behind me, $r. I will do my best to protect you.',12,0,100,0,0,0, 'Tur Ragepaw'), +(@NPC_RAGEPAW,1,0, 'My freedom means nothing if we fail to save Ursoc. Make haste, $N.',12,0,100,0,0,0, 'Tur Ragepaw'), +(@NPC_RAGEPAW,2,0, 'I will watch over you and your allies, $r.',12,0,100,0,0,0, 'Tur Ragepaw'), +(@NPC_RAGEPAW,3,0, 'Ursoc, brother of Ursol and guardian of the furbolg tribes... show yourself!',12,0,100,0,0,0, 'Tur Ragepaw'), +(@NPC_SPIRIT,0,0, 'I thank you all. The druids of old were wise to tear down Vordrassil, for its roots seep deep into the dwelling of an ancient evil.',12,0,100,0,0,0, 'Spirit of Ursoc'), +(@NPC_SPIRIT,1,0, 'You know their kind as old gods. Beware Yogg-Saron, the beast with a thousand maws. His evil extends beyond Vordrassil''s roots.',12,0,100,0,0,0, 'Spirit of Ursoc'); + +DELETE FROM `waypoints` WHERE `entry`=@NPC_RAGEPAW; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(@NPC_RAGEPAW, 1, 4688.4, -3854.87, 327.0471, 'Tur Ragepaw'), +(@NPC_RAGEPAW, 2, 4705.639, -3845.388, 327.5565, 'Tur Ragepaw'), +(@NPC_RAGEPAW, 3, 4726.497, -3846.529, 330.2256, 'Tur Ragepaw'), +(@NPC_RAGEPAW, 4, 4743.628, -3848.904, 332.7676, 'Tur Ragepaw'), +(@NPC_RAGEPAW, 5, 4756.063, -3847.442, 333.9136, 'Tur Ragepaw'), +(@NPC_RAGEPAW, 6, 4782.305, -3843.417, 333.9443, 'Tur Ragepaw'), +(@NPC_RAGEPAW, 7, 4813.348, -3838.03, 336.6674, 'Tur Ragepaw'), +(@NPC_RAGEPAW, 8, 4835.112, -3837.782, 338.4213, 'Tur Ragepaw'), +(@NPC_RAGEPAW, 9, 4865.375, -3842.427, 338.2963, 'Tur Ragepaw'); + +DELETE FROM `creature_ai_scripts` WHERE `creature_id` IN (@NPC_URSOC,@NPC_BLOOD); +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@NPC_URSOC,@NPC_RAGEPAW,@NPC_SPIRIT,@NPC_BLOOD); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (-104065,-104066,-104068,-104069,-104070,-104071,@NPC_URSOC,@NPC_RAGEPAW,@NPC_SPIRIT,@NPC_BLOOD) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@NPC_RAGEPAW*100+0,@NPC_RAGEPAW*100+1,@NPC_RAGEPAW*100+2,@NPC_RAGEPAW*100+3,@NPC_SPIRIT*100) 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 +(-104068,0,0,0,38,0,100,0,0,1,0,0,11,48399,0,0,0,0,0,1,0,0,0,0,0,0,0,'Cosmetic Trigger - LAB - On data 0 1 set - Spellcast Tur''s Chains'), +(-104068,0,1,0,38,0,100,0,0,2,0,0,11,48334,0,0,0,0,0,19,@NPC_RAGEPAW,20,0,0,0,0,0,'Cosmetic Trigger - LAB - On data 0 1 set - Spellcast Tur''s Chains'), +(-104069,0,0,0,38,0,100,0,0,1,0,0,11,48398,0,0,0,0,0,1,0,0,0,0,0,0,0,'Cosmetic Trigger - LAB - On data 0 1 set - Spellcast Tur''s Chains'), +(-104069,0,1,0,38,0,100,0,0,2,0,0,11,48334,0,0,0,0,0,19,@NPC_RAGEPAW,20,0,0,0,0,0,'Cosmetic Trigger - LAB - On data 0 1 set - Spellcast Tur''s Chains'), +(-104070,0,0,0,38,0,100,0,0,1,0,0,11,48399,0,0,0,0,0,1,0,0,0,0,0,0,0,'Cosmetic Trigger - LAB - On data 0 1 set - Spellcast Tur''s Chains'), +(-104070,0,1,0,38,0,100,0,0,2,0,0,11,48334,0,0,0,0,0,19,@NPC_RAGEPAW,20,0,0,0,0,0,'Cosmetic Trigger - LAB - On data 0 1 set - Spellcast Tur''s Chains'), +(-104071,0,0,0,38,0,100,0,0,1,0,0,11,48398,0,0,0,0,0,1,0,0,0,0,0,0,0,'Cosmetic Trigger - LAB - On data 0 1 set - Spellcast Tur''s Chains'), +(-104071,0,1,0,38,0,100,0,0,2,0,0,11,48334,0,0,0,0,0,19,@NPC_RAGEPAW,20,0,0,0,0,0,'Cosmetic Trigger - LAB - On data 0 1 set - Spellcast Tur''s Chains'), +(-104065,0,0,0,8,0,100,0,48399,0,0,0,69,1,0,0,0,0,0,8,0,0,0,4672.254,-3872.959,327.6967,0,'Cosmetic Trigger - LAB - On spellhit Tur''s Chains - Move to position'), +(-104065,0,1,0,34,0,100,0,0,1,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Cosmetic Trigger - LAB - On movement inform - Despawn'), +(-104066,0,0,0,8,0,100,0,48398,0,0,0,69,1,0,0,0,0,0,8,0,0,0,4677.567,-3874.965,323.9017,0,'Cosmetic Trigger - LAB - On spellhit Tur''s Chains - Move to position'), +(-104066,0,1,0,34,0,100,0,0,1,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Cosmetic Trigger - LAB - On movement inform - Despawn'), + +(@NPC_URSOC,0,0,0,54,0,100,0,0,0,0,0,5,53,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ursoc - Just summoned - Play emote'), +(@NPC_URSOC,0,1,0,0,0,100,0,7000,8000,20000,20000,11,52560,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ursoc - On update IC - Spellcast Summon Blood of the Old God'), +(@NPC_URSOC,0,2,0,0,0,100,0,10000,13000,21000,25000,11,52583,0,0,0,0,0,18,50,0,0,0,0,0,0,'Ursoc - On update IC - Spellcast Old God''s Influence'), +(@NPC_URSOC,0,3,0,9,0,100,0,0,5,9000,12000,11,52581,0,0,0,0,0,2,0,0,0,0,0,0,0,'Ursoc - On target within 5y - Spellcast Crunch Armor'), +(@NPC_URSOC,0,4,0,8,0,100,0,48549,0,0,0,12,@NPC_SPIRIT,3,25000,0,0,0,1,0,0,0,0,0,0,0,'Ursoc - On spellhit Ashes of Vordrassil - Summon Spirit of Ursoc'), +(@NPC_URSOC,0,5,0,6,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,114077,@NPC_RAGEPAW,0,0,0,0,0,'Ursoc - On death - Set data 0 1 Tur Ragepaw'), + +(@NPC_RAGEPAW,0,0,1,11,0,100,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw - On spawn - Set faction default'), +(@NPC_RAGEPAW,0,1,2,61,0,100,0,0,0,0,0,45,0,2,0,0,0,0,9,24921,2,20,0,0,0,0,'Tur Ragepaw - On spawn - Set data 0 2 Cosmetic Trigger - LAB'), +(@NPC_RAGEPAW,0,2,3,61,0,100,0,0,0,0,0,90,8,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw - On spawn - Set unit_field_bytes1 (kneel)'), +(@NPC_RAGEPAW,0,3,4,61,0,100,0,0,0,0,0,82,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw - On spawn - Set npcflag gossip'), +(@NPC_RAGEPAW,0,4,0,61,0,100,0,0,0,0,0,8,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw - On spawn - Set reaction defensive'), +(@NPC_RAGEPAW,0,5,8,62,0,100,0,9497,0,0,0,80,@NPC_RAGEPAW*100+0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw - On gossip select - Run script 0'), +(@NPC_RAGEPAW,0,6,8,62,0,100,0,9497,1,0,0,80,@NPC_RAGEPAW*100+1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw - On gossip select - Run script 1'), +(@NPC_RAGEPAW,0,7,8,62,0,100,0,9497,2,0,0,80,@NPC_RAGEPAW*100+2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw - On gossip select - Run script 2'), +(@NPC_RAGEPAW,0,8,9,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Tur Ragepaw - On gossip select - Close gossip'), +(@NPC_RAGEPAW,0,9,10,61,0,100,0,0,0,0,0,83,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw - On gossip select - Remove npcflag gossip'), +(@NPC_RAGEPAW,0,10,0,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,9,24921,2,20,0,0,0,0,'Tur Ragepaw - On gossip select - Set data 0 1 Cosmetic Trigger - LAB'), +(@NPC_RAGEPAW,0,11,0,38,0,100,0,0,1,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw - On data 0 1 set - Despawn'), +(@NPC_RAGEPAW,0,12,0,40,0,100,0,9,@NPC_RAGEPAW,0,0,80,@NPC_RAGEPAW*100+3,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw - On WP 9 Reached - Run script 3'), +(@NPC_RAGEPAW,0,13,14,25,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw - On reset - Set event phase 1'), +(@NPC_RAGEPAW,0,14,0,61,0,100,0,0,0,0,0,28,52507,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw - On reset - Remove aura Ragepaw''s Presence'), +(@NPC_RAGEPAW,0,15,0,25,0,100,0,0,0,0,0,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw - On reset - Set event phase 2'), +(@NPC_RAGEPAW,0,16,0,25,0,100,0,0,0,0,0,22,3,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw - On reset - Set event phase 3'), +(@NPC_RAGEPAW,0,17,0,4,1,100,0,0,0,0,0,11,52507,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw - On aggro (phase 1) - Spellcast Ragepaw''s Presence'), +(@NPC_RAGEPAW,0,18,0,9,1,100,0,0,5,2500,4000,11,52504,0,0,0,0,0,2,0,0,0,0,0,0,0,'Tur Ragepaw - On target within 5y (phase 1) - Spellcast Lacerate'), +(@NPC_RAGEPAW,0,19,0,9,1,100,0,0,5,6000,8000,11,52506,0,0,0,0,0,2,0,0,0,0,0,0,0,'Tur Ragepaw - On target within 5y (phase 1) - Spellcast Maul'), +(@NPC_RAGEPAW,0,20,0,14,1,100,0,2000,30,20000,20000,11,6795,0,0,0,0,0,2,0,0,0,0,0,0,0,'Tur Ragepaw - On friendly attacked (phase 1) - Spellcast Growl'), +(@NPC_RAGEPAW,0,21,0,4,2,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw - On aggro (phase 2) - Stop combat movement'), +(@NPC_RAGEPAW,0,22,0,9,2,100,0,0,40,2500,4000,11,52501,0,0,0,0,0,2,0,0,0,0,0,0,0,'Tur Ragepaw - On target within 40y (phase 2) - Spellcast Wrath'), +(@NPC_RAGEPAW,0,23,0,9,2,100,0,0,40,13000,14000,11,52502,0,0,0,0,0,2,0,0,0,0,0,0,0,'Tur Ragepaw - On target within 40y (phase 2) - Spellcast Moonfire'), +(@NPC_RAGEPAW,0,24,0,0,4,100,0,0,0,1500,1500,11,52554,0,0,0,0,0,18,40,0,0,0,0,0,0,'Tur Ragepaw - On update IC (phase 4) - Spellcast Nourish'), +(@NPC_RAGEPAW,0,25,0,0,4,100,0,50,50,1700,1700,11,52551,0,0,0,0,0,18,40,0,0,0,0,0,0,'Tur Ragepaw - On update IC (phase 4) - Spellcast Lifebloom'), +(@NPC_RAGEPAW,0,26,0,4,4,100,0,0,0,0,0,8,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw - On aggro (phase 4) - Set reaction aggressive'), + +(@NPC_SPIRIT,0,0,0,54,0,100,0,0,0,0,0,80,@NPC_SPIRIT*100,2,0,0,0,0,1,0,0,0,0,0,0,0,'Spirit of Ursoc - Just summoned - Run script'), + +(@NPC_BLOOD,0,0,0,9,0,100,1,0,1.5,0,0,11,52564,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blood of the Old God - On target within 1.5y - Spellcast Corruption of the Old God'), + +(@NPC_RAGEPAW*100+0,9,0,0,0,0,100,0,0,0,0,0,11,48368,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 0 - Spellcast Bearform'), +(@NPC_RAGEPAW*100+0,9,1,0,0,0,100,0,300,300,0,0,2,250,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 0 - Set faction'), +(@NPC_RAGEPAW*100+0,9,2,0,0,0,100,0,0,0,0,0,91,8,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 0 - Remove unit_field_bytes1 (kneel)'), +(@NPC_RAGEPAW*100+0,9,3,0,0,0,100,0,2500,2500,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Tur Ragepaw script 0 - Say line'), +(@NPC_RAGEPAW*100+0,9,4,0,0,0,100,0,4700,4700,0,0,53,1,@NPC_RAGEPAW,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 0 - Start WP movement'), +(@NPC_RAGEPAW*100+0,9,6,0,0,0,100,0,0,0,0,0,8,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 0 - Set reaction aggressive'), +(@NPC_RAGEPAW*100+0,9,5,0,0,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 0 - Set event phase 1'), + +(@NPC_RAGEPAW*100+1,9,0,0,0,0,100,0,0,0,0,0,11,48369,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 1 - Spellcast Moonkin Form'), +(@NPC_RAGEPAW*100+1,9,1,0,0,0,100,0,300,300,0,0,2,250,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 1 - Set faction'), +(@NPC_RAGEPAW*100+1,9,2,0,0,0,100,0,0,0,0,0,91,8,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 1 - Remove unit_field_bytes1 (kneel)'), +(@NPC_RAGEPAW*100+1,9,3,0,0,0,100,0,0,0,0,0,11,24905,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 1 - Spellcast Moonkin Form (Passive)'), +(@NPC_RAGEPAW*100+1,9,4,0,0,0,100,0,0,0,0,0,11,24907,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 1 - Spellcast Moonkin Aura'), +(@NPC_RAGEPAW*100+1,9,5,0,0,0,100,0,400,400,0,0,11,52503,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 1 - Spellcast Empowered Moonkin Aura'), +(@NPC_RAGEPAW*100+1,9,6,0,0,0,100,0,2500,2500,0,0,1,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'Tur Ragepaw script 1 - Say line'), +(@NPC_RAGEPAW*100+1,9,7,0,0,0,100,0,4700,4700,0,0,53,1,@NPC_RAGEPAW,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 1 - Start WP movement'), +(@NPC_RAGEPAW*100+1,9,8,0,0,0,100,0,0,0,0,0,8,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 1 - Set reaction aggressive'), +(@NPC_RAGEPAW*100+1,9,9,0,0,0,100,0,0,0,0,0,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 1 - Set event phase 2'), + +(@NPC_RAGEPAW*100+2,9,0,0,0,0,100,0,0,0,0,0,11,48371,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 2 - Spellcast Tree of Life'), +(@NPC_RAGEPAW*100+2,9,1,0,0,0,100,0,100,100,0,0,11,52553,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 2 - Spellcast Empowered Tree of Life'), +(@NPC_RAGEPAW*100+2,9,2,0,0,0,100,0,0,0,0,0,2,113,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 2 - Set faction'), +(@NPC_RAGEPAW*100+2,9,3,0,0,0,100,0,0,0,0,0,91,8,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 2 - Remove unit_field_bytes1 (kneel)'), +(@NPC_RAGEPAW*100+2,9,4,0,0,0,100,0,2600,2600,0,0,1,2,0,0,0,0,0,7,0,0,0,0,0,0,0,'Tur Ragepaw script 2 - Say line'), +(@NPC_RAGEPAW*100+2,9,5,0,0,0,100,0,4700,4700,0,0,53,1,@NPC_RAGEPAW,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 2 - Start WP movement'), +(@NPC_RAGEPAW*100+2,9,6,0,0,0,100,0,0,0,0,0,22,3,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 2 - Set event phase 3'), + +(@NPC_RAGEPAW*100+3,9,0,0,0,0,100,0,0,0,0,0,101,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 3 - Set homeposition'), +(@NPC_RAGEPAW*100+3,9,1,0,0,0,100,0,6000,6000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tur Ragepaw script 3 - Say line'), +(@NPC_RAGEPAW*100+3,9,2,0,0,0,100,0,300,300,0,0,12,@NPC_URSOC,6,60000,0,0,0,8,0,0,0,4893.267,-3842.415,337.6485,3.124139,'Tur Ragepaw script 3 - Summon Ursoc'), + +(@NPC_SPIRIT*100,9,0,0,0,0,100,0,1000,1000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Spirit of Ursoc script 0 - Say line'), +(@NPC_SPIRIT*100,9,1,0,0,0,100,0,5000,5000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Spirit of Ursoc script 0 - Say line'); -- cgit v1.2.3 From 6521b1aad60d229b9c6be310629ab2a83e57da73 Mon Sep 17 00:00:00 2001 From: Pitcrawler Date: Thu, 11 Apr 2013 02:14:49 +0200 Subject: DB/SAI: Convert a core script to SAI. Fixes issues when abandoning the quest. Thanks @dr-j for the initial work. --- sql/updates/world/2013_04_11_01_world_misc.sql | 64 +++++++ src/server/scripts/Outland/zone_shattrath_city.cpp | 196 +-------------------- 2 files changed, 65 insertions(+), 195 deletions(-) create mode 100644 sql/updates/world/2013_04_11_01_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_11_01_world_misc.sql b/sql/updates/world/2013_04_11_01_world_misc.sql new file mode 100644 index 00000000000..e7b7ef4f132 --- /dev/null +++ b/sql/updates/world/2013_04_11_01_world_misc.sql @@ -0,0 +1,64 @@ +SET @NPC_LARRY := 19720; +SET @NPC_MALONE := 19725; +SET @NPC_JACK := 19726; + +DELETE FROM `gossip_menu_option` WHERE `menu_id`=8033; +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 +(8033, 0, 0, 'Ezekiel said that you might have a certain book...', 1, 1, 0, 0, 0, 0, ''); + +UPDATE `creature_template` SET `AIName`='SmartAI', `ScriptName`='' WHERE `entry` IN (@NPC_LARRY,@NPC_MALONE,@NPC_JACK); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@NPC_LARRY,@NPC_MALONE,@NPC_JACK) 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_LARRY,0,0,1,25,0,100,0,0,0,0,0,2,1194,0,0,0,0,0,1,0,0,0,0,0,0,0,'"Dirty" Larry - On reset - Set faction'), +(@NPC_LARRY,0,1,2,61,0,100,0,0,0,0,0,18,256,0,0,0,0,0,1,0,0,0,0,0,0,0,'"Dirty" Larry - On reset - Set unit_flags IMMUNE_TO_PC'), +(@NPC_LARRY,0,2,3,61,0,100,0,0,0,0,0,81,3,0,0,0,0,0,1,0,0,0,0,0,0,0,'"Dirty" Larry - On reset - Set npcflag gossip, questgiver'), +(@NPC_LARRY,0,3,4,61,0,100,0,0,0,0,0,45,1,2,0,0,0,0,10,70376,@NPC_MALONE,0,0,0,0,0,'Dirty" Larry - On reset - Set data 1 2 "Epic" Malone'), +(@NPC_LARRY,0,4,0,61,0,100,0,0,0,0,0,45,1,2,0,0,0,0,10,70377,@NPC_JACK,0,0,0,0,0,'Dirty" Larry - On reset - Set data 1 2 "Creepjack"'), +(@NPC_LARRY,0,5,6,62,0,100,0,8033,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'Dirty" Larry - On gossip select - Store targetlist'), +(@NPC_LARRY,0,6,7,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Dirty" Larry - On gossip select - Close Gossip'), +(@NPC_LARRY,0,7,8,61,0,100,0,0,0,0,0,1,0,5000,0,0,0,0,1,0,0,0,0,0,0,0,'Dirty" Larry - On gossip select - Say line'), +(@NPC_LARRY,0,8,9,61,0,100,0,0,0,0,0,81,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Dirty" Larry - On gossip select - Set npcflag none'), +(@NPC_LARRY,0,9,10,61,0,100,0,0,0,0,0,70,0,0,0,0,0,0,10,70376,@NPC_MALONE,0,0,0,0,0,'Dirty" Larry - On gossip select - Respawn "Epic" Malone '), +(@NPC_LARRY,0,10,0,61,0,100,0,0,0,0,0,70,0,0,0,0,0,0,10,70377,@NPC_JACK,0,0,0,0,0,'Dirty" Larry - On gossip select - Respawn "Creepjack" '), +(@NPC_LARRY,0,11,0,52,0,100,0,0,@NPC_LARRY,0,0,1,1,5000,0,0,0,0,1,0,0,0,0,0,0,0,'Dirty" Larry - On text over - Say line'), +(@NPC_LARRY,0,12,0,52,0,100,0,1,@NPC_LARRY,0,0,1,2,2000,0,0,0,0,1,0,0,0,0,0,0,0,'Dirty" Larry - On text over - Say line'), +(@NPC_LARRY,0,13,0,52,0,100,0,2,@NPC_LARRY,0,0,1,3,2000,0,0,0,0,1,0,0,0,0,0,0,0,'Dirty" Larry - On text over - Say line'), +(@NPC_LARRY,0,14,0,52,0,100,0,3,@NPC_LARRY,0,0,1,4,2000,0,0,0,0,1,0,0,0,0,0,0,0,'Dirty" Larry - On text over - Say line'), +(@NPC_LARRY,0,15,16,52,0,100,0,4,@NPC_LARRY,0,0,2,14,0,0,0,0,0,1,0,0,0,0,0,0,0,'Dirty" Larry - On text over - Set faction'), +(@NPC_LARRY,0,16,17,61,0,100,0,0,0,0,0,19,256,0,0,0,0,0,1,0,0,0,0,0,0,0,'Dirty" Larry - On text over - Remove unit_flags IMMUNE_TO_PC'), +(@NPC_LARRY,0,17,18,61,0,100,0,0,0,0,0,49,0,0,0,0,0,0,12,1,0,0,0,0,0,0,'Dirty" Larry - On text over - Attack'), +(@NPC_LARRY,0,18,19,61,0,100,0,0,0,0,0,100,1,0,0,0,0,0,10,70376,@NPC_MALONE,0,0,0,0,0,'Dirty" Larry - On text over - Send targetlist to "Epic" Malone'), +(@NPC_LARRY,0,19,20,61,0,100,0,0,0,0,0,45,1,1,0,0,0,0,10,70376,@NPC_MALONE,0,0,0,0,0,'Dirty" Larry - On text over - Set data 1 1 "Epic" Malone'), +(@NPC_LARRY,0,20,21,61,0,100,0,0,0,0,0,100,1,0,0,0,0,0,10,70377,@NPC_JACK,0,0,0,0,0,'Dirty" Larry - On text over - Send targetlist to "Creepjack"'), +(@NPC_LARRY,0,21,0,61,0,100,0,0,0,0,0,45,1,1,0,0,0,0,10,70377,@NPC_JACK,0,0,0,0,0,'Dirty" Larry - On text over - Set data 1 1 "Creepjack"'), +(@NPC_LARRY,0,22,23,2,0,100,0,0,20,0,0,15,10231,0,0,0,0,0,16,0,0,0,0,0,0,0,'Dirty" Larry - On health below 20% - Quest credit'), +(@NPC_LARRY,0,23,24,61,0,100,0,0,0,0,0,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0,'Dirty" Larry - On health below 20% - Say line'), +(@NPC_LARRY,0,24,3,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Dirty" Larry - On health below 20% - Evade'), +(@NPC_LARRY,0,25,0,11,0,100,0,0,0,0,0,42,0,15,0,0,0,0,1,0,0,0,0,0,0,0,'Dirty" Larry - On spawn - Set invincibility HP level'), + +(@NPC_MALONE,0,0,1,25,0,100,0,0,0,0,0,2,1194,0,0,0,0,0,1,0,0,0,0,0,0,0,'"Epic" Malone - On reset - Set faction'), +(@NPC_MALONE,0,1,0,61,0,100,0,0,0,0,0,18,256,0,0,0,0,0,1,0,0,0,0,0,0,0,'"Epic" Malone - On reset - Set unit_flags IMMUNE_TO_PC'), +(@NPC_MALONE,0,2,3,38,0,100,0,1,1,0,0,2,14,0,0,0,0,0,1,0,0,0,0,0,0,0,'"Epic" Malone - On data 1 1 set - Set faction'), +(@NPC_MALONE,0,3,4,61,0,100,0,0,0,0,0,19,256,0,0,0,0,0,1,0,0,0,0,0,0,0,'"Epic" Malone - On data 1 1 set - Remove unit_flags IMMUNE_TO_PC'), +(@NPC_MALONE,0,4,0,61,0,100,0,0,0,0,0,49,0,0,0,0,0,0,12,1,0,0,0,0,0,0,'"Epic" Malone - On data 1 1 set - Attack'), +(@NPC_MALONE,0,5,0,38,0,100,0,1,2,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'"Epic" Malone - On data 1 2 set - Evade'), + +(@NPC_JACK,0,0,1,25,0,100,0,0,0,0,0,2,1194,0,0,0,0,0,1,0,0,0,0,0,0,0,'"Creepjack" - On reset - Set faction'), +(@NPC_JACK,0,1,0,61,0,100,0,0,0,0,0,18,256,0,0,0,0,0,1,0,0,0,0,0,0,0,'"Creepjack" - On reset - Set unit_flags IMMUNE_TO_PC'), +(@NPC_JACK,0,2,3,38,0,100,0,1,1,0,0,2,14,0,0,0,0,0,1,0,0,0,0,0,0,0,'"Creepjack" - On data 1 1 set - Set faction'), +(@NPC_JACK,0,3,4,61,0,100,0,0,0,0,0,19,256,0,0,0,0,0,1,0,0,0,0,0,0,0,'"Creepjack" - On data 1 1 set - Remove unit_flags IMMUNE_TO_PC'), +(@NPC_JACK,0,4,0,61,0,100,0,0,0,0,0,49,0,0,0,0,0,0,12,1,0,0,0,0,0,0,'"Creepjack" - On data 1 1 set - Attack'), +(@NPC_JACK,0,5,0,38,0,100,0,1,2,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'"Creepjack" - On data 1 2 set - Evade'); + +DELETE FROM `creature_text` WHERE `entry`=@NPC_LARRY; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +(@NPC_LARRY, 0, 0, 'Time to teach you a lesson in manners, little boy! ', 12, 0, 100, 0, 0, 0, '"Dirty" Larry'), +(@NPC_LARRY, 1, 0, 'I''m now going to give you to the count of "3" to get out of here before I sick the dogs on you.', 12, 0, 100, 0, 0, 0, '"Dirty" Larry'), +(@NPC_LARRY, 2, 0, '1...', 12, 0, 100, 0, 0, 0, '"Dirty" Larry'), +(@NPC_LARRY, 3, 0, '2...', 12, 0, 100, 0, 0, 0, '"Dirty" Larry'), +(@NPC_LARRY, 4, 0, 'Time to meet your maker!', 12, 0, 100, 0, 0, 0, '"Dirty" Larry'), +(@NPC_LARRY, 5, 0, 'Alright, we give up! Don''t hurt us!', 12, 0, 100, 0, 0, 0, '"Dirty" Larry'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=8033; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(15,8033,0,0,9,10231,0,0,0,'','"Dirty" Larry only show gossip if player is on and has not completed What Book? I Dont See Any Book'); diff --git a/src/server/scripts/Outland/zone_shattrath_city.cpp b/src/server/scripts/Outland/zone_shattrath_city.cpp index 4af11191708..1fb0210bb73 100644 --- a/src/server/scripts/Outland/zone_shattrath_city.cpp +++ b/src/server/scripts/Outland/zone_shattrath_city.cpp @@ -19,7 +19,7 @@ /* ScriptData SDName: Shattrath_City SD%Complete: 100 -SDComment: Quest support: 10004, 10009, 10211, 10231. Flask vendors, Teleport to Caverns of Time +SDComment: Quest support: 10004, 10009, 10211. Flask vendors, Teleport to Caverns of Time SDCategory: Shattrath City EndScriptData */ @@ -29,7 +29,6 @@ npc_salsalabim npc_shattrathflaskvendors npc_zephyr npc_kservant -npc_dirty_larry npc_ishanah npc_khadgar EndContentData */ @@ -424,198 +423,6 @@ public: }; }; -/*###### -# npc_dirty_larry -######*/ - -#define GOSSIP_BOOK "Ezekiel said that you might have a certain book..." - -enum DirtyLarry -{ - SAY_1 = 0, - SAY_2 = 1, - SAY_3 = 2, - SAY_4 = 3, - SAY_5 = 4, - SAY_GIVEUP = 5, - - QUEST_WBI = 10231, - NPC_CREEPJACK = 19726, - NPC_MALONE = 19725 -}; - -class npc_dirty_larry : public CreatureScript -{ -public: - npc_dirty_larry() : CreatureScript("npc_dirty_larry") { } - - struct npc_dirty_larryAI : public ScriptedAI - { - npc_dirty_larryAI(Creature* creature) : ScriptedAI(creature) {} - - bool Event; - bool Attack; - bool Done; - - uint64 PlayerGUID; - - uint32 SayTimer; - uint32 Step; - - void Reset() - { - Event = false; - Attack = false; - Done = false; - - PlayerGUID = 0; - SayTimer = 0; - Step = 0; - - me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - me->setFaction(1194); - if (Creature* Creepjack = me->FindNearestCreature(NPC_CREEPJACK, 20)) - { - Creepjack->AI()->EnterEvadeMode(); - Creepjack->setFaction(1194); - Creepjack->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - } - - if (Creature* Malone = me->FindNearestCreature(NPC_MALONE, 20)) - { - Malone->AI()->EnterEvadeMode(); - Malone->setFaction(1194); - Malone->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - } - } - - uint32 NextStep(uint32 Step) - { - Player* player = Unit::GetPlayer(*me, PlayerGUID); - - switch (Step) - { - case 0:{ me->SetInFront(player); - Unit* Creepjack = me->FindNearestCreature(NPC_CREEPJACK, 20); - if (Creepjack) - Creepjack->SetUInt32Value(UNIT_FIELD_BYTES_1, 0); - Unit* Malone = me->FindNearestCreature(NPC_MALONE, 20); - if (Malone) - Malone->SetUInt32Value(UNIT_FIELD_BYTES_1, 0); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); }return 2000; - case 1: Talk(SAY_1, player->GetGUID()); return 3000; - case 2: Talk(SAY_2, player->GetGUID()); return 5000; - case 3: Talk(SAY_3, player->GetGUID()); return 2000; - case 4: Talk(SAY_4, player->GetGUID()); return 2000; - case 5: Talk(SAY_5, player->GetGUID()); return 2000; - case 6: Attack = true; return 2000; - default: return 0; - } - } - - void EnterCombat(Unit* /*who*/){} - - void UpdateAI(uint32 diff) - { - if (SayTimer <= diff) - { - if (Event) - SayTimer = NextStep(++Step); - } - else - SayTimer -= diff; - - if (Attack) - { - me->setFaction(14); - me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - if (Player* player = Unit::GetPlayer(*me, PlayerGUID)) - { - if (Creature* Creepjack = me->FindNearestCreature(NPC_CREEPJACK, 20)) - { - Creepjack->Attack(player, true); - Creepjack->setFaction(14); - Creepjack->GetMotionMaster()->MoveChase(player); - Creepjack->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - } - - if (Creature* Malone = me->FindNearestCreature(NPC_MALONE, 20)) - { - Malone->Attack(player, true); - Malone->setFaction(14); - Malone->GetMotionMaster()->MoveChase(player); - Malone->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - } - DoStartMovement(player); - AttackStart(player); - } - Attack = false; - } - - if (HealthBelowPct(5) && !Done) - { - me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - me->RemoveAllAuras(); - - if (Creature* Creepjack = me->FindNearestCreature(NPC_CREEPJACK, 20)) - { - Creepjack->AI()->EnterEvadeMode(); - Creepjack->setFaction(1194); - Creepjack->GetMotionMaster()->MoveTargetedHome(); - Creepjack->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - } - - if (Creature* Malone = me->FindNearestCreature(NPC_MALONE, 20)) - { - Malone->AI()->EnterEvadeMode(); - Malone->setFaction(1194); - Malone->GetMotionMaster()->MoveTargetedHome(); - Malone->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - } - me->setFaction(1194); - Done = true; - Talk(SAY_GIVEUP); - me->DeleteThreatList(); - me->CombatStop(); - me->GetMotionMaster()->MoveTargetedHome(); - if (Player* player = Unit::GetPlayer(*me, PlayerGUID)) - player->GroupEventHappens(QUEST_WBI, me); - } - DoMeleeAttackIfReady(); - } - }; - - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) - { - player->PlayerTalkClass->ClearMenus(); - if (action == GOSSIP_ACTION_INFO_DEF+1) - { - CAST_AI(npc_dirty_larry::npc_dirty_larryAI, creature->AI())->Event = true; - CAST_AI(npc_dirty_larry::npc_dirty_larryAI, creature->AI())->PlayerGUID = player->GetGUID(); - player->CLOSE_GOSSIP_MENU(); - } - - return true; - } - - bool OnGossipHello(Player* player, Creature* creature) - { - if (creature->isQuestGiver()) - player->PrepareQuestMenu(creature->GetGUID()); - - if (player->GetQuestStatus(QUEST_WBI) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_BOOK, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); - return true; - } - - CreatureAI* GetAI(Creature* creature) const - { - return new npc_dirty_larryAI (creature); - } -}; - /*###### # npc_ishanah ######*/ @@ -727,7 +534,6 @@ void AddSC_shattrath_city() new npc_shattrathflaskvendors(); new npc_zephyr(); new npc_kservant(); - new npc_dirty_larry(); new npc_ishanah(); new npc_khadgar(); } -- cgit v1.2.3 From 0d85538fabfc3e15f261c8a7780d4afdbfc80254 Mon Sep 17 00:00:00 2001 From: Pitcrawler Date: Thu, 11 Apr 2013 15:32:43 +0200 Subject: DB/Quests: Fix Bringing Down Heb'Jin, closes #376 --- sql/updates/world/2013_04_11_02_world_misc.sql | 69 ++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 sql/updates/world/2013_04_11_02_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_11_02_world_misc.sql b/sql/updates/world/2013_04_11_02_world_misc.sql new file mode 100644 index 00000000000..0b54c1b87aa --- /dev/null +++ b/sql/updates/world/2013_04_11_02_world_misc.sql @@ -0,0 +1,69 @@ +SET @NPC_HEBJIN := 28636; +SET @NPC_BAT := 28639; +SET @GO_DRUM := 190695; + +DELETE FROM `creature` WHERE `guid` IN (117079,117301); + +UPDATE `creature_template` SET `speed_run`=0.857143, `unit_flags`=33024, `AIName`='SmartAI' WHERE `entry`=@NPC_HEBJIN; +UPDATE `creature_template` SET `speed_run`=2, `unit_flags`=256, `AIName`='SmartAI', `InhabitType`=4 WHERE `entry`=@NPC_BAT; + +DELETE FROM `event_scripts` WHERE `id`=18773; +INSERT INTO `event_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`dataint`,`x`,`y`,`z`,`o`) VALUES +(18773,0,10,@NPC_HEBJIN,180000,0,5988.715,-3878.036,417.1502,2.356194); + +DELETE FROM `creature_text` WHERE `entry`=@NPC_HEBJIN; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(@NPC_HEBJIN,0,0,'Who''s that beatin'' on my drum?',14,0,100,5,0,12009,'Heb''Jin'), +(@NPC_HEBJIN,1,0,'I''m gonna come down there and kill you good, $r!',14,0,100,15,0,0,'Heb''Jin'), +(@NPC_HEBJIN,2,0,'Now you gonna die!',14,0,100,0,0,0,'Heb''Jin'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=52151; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,1,52151,0,31,3,@NPC_BAT,0,0,'','Spell Bat Net targets Heb''Jin''s Bat'); + +DELETE FROM `waypoints` WHERE `entry`=@NPC_BAT; +INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES +(@NPC_BAT,1,5982.633,-3879.573,422.4082,'Heb''Jin''s Bat'), +(@NPC_BAT,2,5968.549,-3869.597,420.1865,'Heb''Jin''s Bat'), +(@NPC_BAT,3,5954.345,-3851.714,395.2976,'Heb''Jin''s Bat'), +(@NPC_BAT,4,5934.977,-3822.782,369.5197,'Heb''Jin''s Bat'); + +UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI' WHERE `entry`=@GO_DRUM; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@NPC_HEBJIN,@NPC_BAT) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@GO_DRUM AND `source_type`=1; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@NPC_HEBJIN*100,@NPC_BAT*100) 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 +(@NPC_HEBJIN,0,0,0,54,0,100,0,0,0,0,0,80,@NPC_HEBJIN*100,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Heb''Jin - Just summoned - Run script'), +(@NPC_HEBJIN,0,1,2,38,0,100,0,0,1,0,0,11,52354,0,0,0,0,0,12,1,0,0,0,0,0,0, 'Heb''Jin - On data 0 1 set - Spellcast Script Effect - Creature Attack GUID from Dot Variable'), +(@NPC_HEBJIN,0,2,3,61,0,100,0,0,0,0,0,69,0,0,0,0,0,0,8,0,0,0,5937.22,-3820.871,366.5563,0, 'Heb''Jin - On data 0 1 set - Move to position'), +(@NPC_HEBJIN,0,3,4,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Heb''Jin - On data 0 1 set - Say line'), +(@NPC_HEBJIN,0,4,5,61,0,100,0,0,0,0,0,19,256,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Heb''Jin - On data 0 1 set - Remove unit_flags IMMUNE_TO_PC'), +(@NPC_HEBJIN,0,5,0,61,0,100,0,0,0,0,0,49,0,0,0,0,0,0,12,1,0,0,0,0,0,0, 'Heb''Jin - On data 0 1 set - Start attack'), +(@NPC_HEBJIN,0,6,0,0,0,100,0,1000,1000,7000,8000,11,12734,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Heb''Jin - On update IC - Spellcast Ground Smash'), +(@NPC_HEBJIN,0,7,0,0,0,100,0,5000,5000,10000,12000,11,15548,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Heb''Jin - On update IC - Spellcast Thunder Clap'), +(@NPC_HEBJIN,0,8,0,13,0,100,0,12000,15000,0,0,11,12555,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Heb''Jin - On target casting - Spellcast Pummel'), + +(@NPC_BAT,0,0,1,11,0,100,0,0,0,0,0,91,7,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Heb''Jin''s Bat - On spawn - Remove unit_field_bytes1 (dead)'), +(@NPC_BAT,0,1,2,61,0,100,0,0,0,0,0,11,52353,0,0,0,0,0,12,1,0,0,0,0,0,0, 'Heb''Jin''s Bat - On spawn - Spellcast Script Effect - Creature Capture GUID to Dot Variable'), +(@NPC_BAT,0,2,0,61,0,100,0,0,0,0,0,4,10892,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Heb''Jin''s Bat - On spawn - Play sound'), +(@NPC_BAT,0,3,0,27,0,100,1,0,0,0,0,53,1,@NPC_BAT,0,0,0,0,1,0,0,0,0,0,0,0, 'Heb''Jin''s Bat - On passenger boarded - Start WP movement'), +(@NPC_BAT,0,4,5,40,0,100,0,4,@NPC_BAT,0,0,28,43671,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Heb''Jin''s Bat - On WP 4 reached - Remove aura Ride Vehicle'), +(@NPC_BAT,0,5,6,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,19,@NPC_HEBJIN,10,0,0,0,0,0, 'Heb''Jin''s Bat - On WP 4 reached - Set data 0 1 Heb''Jin'), +(@NPC_BAT,0,6,0,61,0,100,0,0,0,0,0,80,@NPC_BAT*100,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Heb''Jin''s Bat - On WP 4 reached - Run script'), +(@NPC_BAT,0,7,8,8,0,100,0,52151,0,0,0,18,256,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Heb''Jin''s Bat - On spellhit Bat Net - Set unit_flags IMMUNE_TO_PC'), +(@NPC_BAT,0,8,9,61,0,100,0,0,0,0,0,90,7,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Heb''Jin''s Bat - On spellhit Bat Net - Set unit_field_bytes1 (dead)'), +(@NPC_BAT,0,9,0,61,0,100,0,0,0,0,0,41,5000,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Heb''Jin''s Bat - On spellhit Bat Net - Despawn after 5 seconds'), + +(@GO_DRUM,1,0,1,70,0,100,0,2,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Heb''Jin''s Drum - On state changed - Store targetlist'), +(@GO_DRUM,1,1,0,61,0,100,0,0,0,0,0,100,1,0,0,0,0,0,19,@NPC_HEBJIN,100,0,0,0,0,0, 'Heb''Jin''s Drum - On state changed - Send targetlist to Heb''Jin'), + +(@NPC_HEBJIN*100,9,0,0,0,0,100,0,0,0,0,0,11,52353,0,0,0,0,0,12,1,0,0,0,0,0,0, 'Heb''Jin script - Spellcast Script Effect - Creature Capture GUID to Dot Variable'), +(@NPC_HEBJIN*100,9,1,0,0,0,100,0,3200,3200,0,0,11,52154,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Heb''Jin script - Spellcast Taunt'), +(@NPC_HEBJIN*100,9,2,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Heb''Jin script - Say line'), +(@NPC_HEBJIN*100,9,3,0,0,0,100,0,300,300,0,0,12,@NPC_BAT,8,0,0,0,0,8,0,0,0,5984.547,-3882.621,417.4379,1.919862, 'Heb''Jin script - Summon Heb''Jin''s Bat'), +(@NPC_HEBJIN*100,9,4,0,0,0,100,0,0,0,0,0,100,1,0,0,0,0,0,19,@NPC_BAT,10,0,0,0,0,0, 'Heb''Jin script - Send targetlist'), +(@NPC_HEBJIN*100,9,5,0,0,0,100,0,5700,5700,0,0,1,1,0,0,0,0,0,12,1,0,0,0,0,0,0, 'Heb''Jin script - Say line'), +(@NPC_HEBJIN*100,9,6,0,0,0,100,0,2400,2400,0,0,11,43671,0,0,0,0,0,19,@NPC_BAT,10,0,0,0,0,0, 'Heb''Jin script - Spellcast Ride Vehicle'), + +(@NPC_BAT*100,9,0,0,0,0,100,0,2000,2000,0,0,19,256,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Heb''Jin''s Bat script 1 - Remove unit_flags IMMUNE_TO_PC'), +(@NPC_BAT*100,9,1,0,0,0,100,0,0,0,0,0,49,0,0,0,0,0,0,12,1,0,0,0,0,0,0, 'Heb''Jin''s Bat script 1 - Start attack'); -- cgit v1.2.3 From b8586e1c9bfcef9a88f417b3d2539d65545b9250 Mon Sep 17 00:00:00 2001 From: LeGuybrush Date: Thu, 11 Apr 2013 16:30:11 -0300 Subject: Remove BOM --- sql/updates/world/2013_04_11_01_world_misc.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql') diff --git a/sql/updates/world/2013_04_11_01_world_misc.sql b/sql/updates/world/2013_04_11_01_world_misc.sql index e7b7ef4f132..699f65f1c5a 100644 --- a/sql/updates/world/2013_04_11_01_world_misc.sql +++ b/sql/updates/world/2013_04_11_01_world_misc.sql @@ -1,4 +1,4 @@ -SET @NPC_LARRY := 19720; +SET @NPC_LARRY := 19720; SET @NPC_MALONE := 19725; SET @NPC_JACK := 19726; -- cgit v1.2.3 From e3feabefec64d1e67958ceba2ca196078f3b6ef0 Mon Sep 17 00:00:00 2001 From: Gacko Date: Fri, 12 Apr 2013 17:46:17 +0200 Subject: Remove BOM --- sql/updates/world/2013_04_11_02_world_misc.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql') diff --git a/sql/updates/world/2013_04_11_02_world_misc.sql b/sql/updates/world/2013_04_11_02_world_misc.sql index 0b54c1b87aa..be9652a13bb 100644 --- a/sql/updates/world/2013_04_11_02_world_misc.sql +++ b/sql/updates/world/2013_04_11_02_world_misc.sql @@ -1,4 +1,4 @@ -SET @NPC_HEBJIN := 28636; +SET @NPC_HEBJIN := 28636; SET @NPC_BAT := 28639; SET @GO_DRUM := 190695; -- cgit v1.2.3 From c0303c82bf100b8fcce217c5e84e731b135b9c45 Mon Sep 17 00:00:00 2001 From: joschiwald Date: Fri, 12 Apr 2013 21:21:30 +0200 Subject: Scripts/Quest: Fix "Massacre At Light's" after recent vehicle changes and drop some silly code Closes #9448 --- sql/updates/world/2013_04_11_03_world_misc.sql | 8 + .../EasternKingdoms/ScarletEnclave/chapter1.cpp | 332 ++++++++++----------- 2 files changed, 166 insertions(+), 174 deletions(-) create mode 100644 sql/updates/world/2013_04_11_03_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_11_03_world_misc.sql b/sql/updates/world/2013_04_11_03_world_misc.sql new file mode 100644 index 00000000000..5f1e89d631d --- /dev/null +++ b/sql/updates/world/2013_04_11_03_world_misc.sql @@ -0,0 +1,8 @@ +DELETE FROM `spell_target_position` WHERE `id`=52464; +INSERT INTO `spell_target_position` (`id`, `target_map`, `target_position_x`, `target_position_y`, `target_position_z`, `target_orientation`) VALUES +(52464, 609, 2384.13, -5900.07, 107.998, 0); + +UPDATE `gameobject_template` SET `ScriptName`='' WHERE `entry`=190767; + +DELETE FROM `creature` WHERE `guid`=129164; +DELETE FROM `creature_addon` WHERE `guid`=129164; diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index abaf900508c..7f6a9c1d63b 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -861,59 +861,82 @@ public: ## npc_scarlet_miner_cart ####*/ -enum Spells_SM +enum ScarletMinerCart { - SPELL_CART_CHECK = 54173, - SPELL_CART_DRAG = 52465 + SPELL_CART_CHECK = 54173, + SPELL_SUMMON_CART = 52463, + SPELL_SUMMON_MINER = 52464, + SPELL_CART_DRAG = 52465, + + NPC_MINER = 28841 }; class npc_scarlet_miner_cart : public CreatureScript { -public: - npc_scarlet_miner_cart() : CreatureScript("npc_scarlet_miner_cart") { } + public: + npc_scarlet_miner_cart() : CreatureScript("npc_scarlet_miner_cart") { } - CreatureAI* GetAI(Creature* creature) const - { - return new npc_scarlet_miner_cartAI(creature); - } - - struct npc_scarlet_miner_cartAI : public PassiveAI - { - npc_scarlet_miner_cartAI(Creature* creature) : PassiveAI(creature), minerGUID(0) + struct npc_scarlet_miner_cartAI : public PassiveAI { - me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); - me->SetDisplayId(me->GetCreatureTemplate()->Modelid1); // Modelid2 is a horse. - } + npc_scarlet_miner_cartAI(Creature* creature) : PassiveAI(creature), _minerGUID(0), _playerGUID(0) + { + me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); + me->SetDisplayId(me->GetCreatureTemplate()->Modelid1); // Modelid2 is a horse. + } - uint64 minerGUID; + void JustSummoned(Creature* summon) + { + if (summon->GetEntry() == NPC_MINER) + { + _minerGUID = summon->GetGUID(); + summon->AI()->SetGUID(_playerGUID); + } + } - void SetGUID(uint64 guid, int32 /*id*/) - { - minerGUID = guid; - } + void SummonedCreatureDespawn(Creature* summon) + { + if (summon->GetEntry() == NPC_MINER) + _minerGUID = 0; + } - void DoAction(int32 /*param*/) - { - if (Creature* miner = Unit::GetCreature(*me, minerGUID)) + void DoAction(int32 /*param*/) { - me->SetWalk(false); + if (Creature* miner = ObjectAccessor::GetCreature(*me, _minerGUID)) + { + me->SetWalk(false); - //Not 100% correct, but movement is smooth. Sometimes miner walks faster - //than normal, this speed is fast enough to keep up at those times. - me->SetSpeed(MOVE_RUN, 1.25f); + // Not 100% correct, but movement is smooth. Sometimes miner walks faster + // than normal, this speed is fast enough to keep up at those times. + me->SetSpeed(MOVE_RUN, 1.25f); - me->GetMotionMaster()->MoveFollow(miner, 1.0f, 0); + me->GetMotionMaster()->MoveFollow(miner, 1.0f, 0); + } } - } - void PassengerBoarded(Unit* /*who*/, int8 /*seatId*/, bool apply) + void PassengerBoarded(Unit* who, int8 /*seatId*/, bool apply) + { + if (apply) + { + _playerGUID = who->GetGUID(); + me->CastSpell((Unit*)NULL, SPELL_SUMMON_MINER, true); + } + else + { + _playerGUID = 0; + if (Creature* miner = ObjectAccessor::GetCreature(*me, _minerGUID)) + miner->DespawnOrUnsummon(); + } + } + + private: + uint64 _minerGUID; + uint64 _playerGUID; + }; + + CreatureAI* GetAI(Creature* creature) const { - if (!apply) - if (Creature* miner = Unit::GetCreature(*me, minerGUID)) - miner->DisappearAndDie(); + return new npc_scarlet_miner_cartAI(creature); } - }; - }; /*#### @@ -928,166 +951,128 @@ enum Says_SM class npc_scarlet_miner : public CreatureScript { -public: - npc_scarlet_miner() : CreatureScript("npc_scarlet_miner") { } - - CreatureAI* GetAI(Creature* creature) const - { - return new npc_scarlet_minerAI(creature); - } + public: + npc_scarlet_miner() : CreatureScript("npc_scarlet_miner") { } - struct npc_scarlet_minerAI : public npc_escortAI - { - npc_scarlet_minerAI(Creature* creature) : npc_escortAI(creature) + struct npc_scarlet_minerAI : public npc_escortAI { - me->SetReactState(REACT_PASSIVE); - } + npc_scarlet_minerAI(Creature* creature) : npc_escortAI(creature) + { + me->SetReactState(REACT_PASSIVE); + } - uint32 IntroTimer; - uint32 IntroPhase; - uint64 carGUID; + uint32 IntroTimer; + uint32 IntroPhase; + uint64 carGUID; - void Reset() - { - carGUID = 0; - IntroTimer = 0; - IntroPhase = 0; - } + void Reset() + { + carGUID = 0; + IntroTimer = 0; + IntroPhase = 0; + } - void InitWaypoint() - { - AddWaypoint(1, 2389.03f, -5902.74f, 109.014f, 5000); - AddWaypoint(2, 2341.812012f, -5900.484863f, 102.619743f); - AddWaypoint(3, 2306.561279f, -5901.738281f, 91.792419f); - AddWaypoint(4, 2300.098389f, -5912.618652f, 86.014885f); - AddWaypoint(5, 2294.142090f, -5927.274414f, 75.316849f); - AddWaypoint(6, 2286.984375f, -5944.955566f, 63.714966f); - AddWaypoint(7, 2280.001709f, -5961.186035f, 54.228283f); - AddWaypoint(8, 2259.389648f, -5974.197754f, 42.359348f); - AddWaypoint(9, 2242.882812f, -5984.642578f, 32.827850f); - AddWaypoint(10, 2217.265625f, -6028.959473f, 7.675705f); - AddWaypoint(11, 2202.595947f, -6061.325684f, 5.882018f); - AddWaypoint(12, 2188.974609f, -6080.866699f, 3.370027f); - - if (urand(0, 1)) + void IsSummonedBy(Unit* summoner) { - AddWaypoint(13, 2176.483887f, -6110.407227f, 1.855181f); - AddWaypoint(14, 2172.516602f, -6146.752441f, 1.074235f); - AddWaypoint(15, 2138.918457f, -6158.920898f, 1.342926f); - AddWaypoint(16, 2129.866699f, -6174.107910f, 4.380779f); - AddWaypoint(17, 2117.709473f, -6193.830078f, 13.3542f, 10000); + carGUID = summoner->GetGUID(); } - else + + void InitWaypoint() { - AddWaypoint(13, 2184.190186f, -6166.447266f, 0.968877f); - AddWaypoint(14, 2234.265625f, -6163.741211f, 0.916021f); - AddWaypoint(15, 2268.071777f, -6158.750977f, 1.822252f); - AddWaypoint(16, 2270.028320f, -6176.505859f, 6.340538f); - AddWaypoint(17, 2271.739014f, -6195.401855f, 13.3542f, 10000); + AddWaypoint(1, 2389.03f, -5902.74f, 109.014f, 5000); + AddWaypoint(2, 2341.812012f, -5900.484863f, 102.619743f); + AddWaypoint(3, 2306.561279f, -5901.738281f, 91.792419f); + AddWaypoint(4, 2300.098389f, -5912.618652f, 86.014885f); + AddWaypoint(5, 2294.142090f, -5927.274414f, 75.316849f); + AddWaypoint(6, 2286.984375f, -5944.955566f, 63.714966f); + AddWaypoint(7, 2280.001709f, -5961.186035f, 54.228283f); + AddWaypoint(8, 2259.389648f, -5974.197754f, 42.359348f); + AddWaypoint(9, 2242.882812f, -5984.642578f, 32.827850f); + AddWaypoint(10, 2217.265625f, -6028.959473f, 7.675705f); + AddWaypoint(11, 2202.595947f, -6061.325684f, 5.882018f); + AddWaypoint(12, 2188.974609f, -6080.866699f, 3.370027f); + + if (urand(0, 1)) + { + AddWaypoint(13, 2176.483887f, -6110.407227f, 1.855181f); + AddWaypoint(14, 2172.516602f, -6146.752441f, 1.074235f); + AddWaypoint(15, 2138.918457f, -6158.920898f, 1.342926f); + AddWaypoint(16, 2129.866699f, -6174.107910f, 4.380779f); + AddWaypoint(17, 2117.709473f, -6193.830078f, 13.3542f, 10000); + } + else + { + AddWaypoint(13, 2184.190186f, -6166.447266f, 0.968877f); + AddWaypoint(14, 2234.265625f, -6163.741211f, 0.916021f); + AddWaypoint(15, 2268.071777f, -6158.750977f, 1.822252f); + AddWaypoint(16, 2270.028320f, -6176.505859f, 6.340538f); + AddWaypoint(17, 2271.739014f, -6195.401855f, 13.3542f, 10000); + } } - } - void InitCartQuest(Player* who) - { - carGUID = who->GetVehicleBase()->GetGUID(); - InitWaypoint(); - Start(false, false, who->GetGUID()); - SetDespawnAtFar(false); - } + void SetGUID(uint64 guid, int32 /*id = 0*/) + { + InitWaypoint(); + Start(false, false, guid); + SetDespawnAtFar(false); + } - void WaypointReached(uint32 waypointId) - { - switch (waypointId) + void WaypointReached(uint32 waypointId) { - case 1: - if (Unit* car = Unit::GetCreature(*me, carGUID)) - { - me->SetInFront(car); - me->SendMovementFlagUpdate(); - } - Talk(SAY_SCARLET_MINER_0); - SetRun(true); - IntroTimer = 4000; - IntroPhase = 1; - break; - case 17: - if (Unit* car = Unit::GetCreature(*me, carGUID)) - { - me->SetInFront(car); - me->SendMovementFlagUpdate(); - car->Relocate(car->GetPositionX(), car->GetPositionY(), me->GetPositionZ() + 1); - car->StopMoving(); - car->RemoveAura(SPELL_CART_DRAG); - } - Talk(SAY_SCARLET_MINER_1); - break; - default: - break; + switch (waypointId) + { + case 1: + if (Unit* car = ObjectAccessor::GetCreature(*me, carGUID)) + me->SetFacingToObject(car); + Talk(SAY_SCARLET_MINER_0); + SetRun(true); + IntroTimer = 4000; + IntroPhase = 1; + break; + case 17: + if (Unit* car = ObjectAccessor::GetCreature(*me, carGUID)) + { + me->SetFacingToObject(car); + car->RemoveAura(SPELL_CART_DRAG); + } + Talk(SAY_SCARLET_MINER_1); + break; + default: + break; + } } - } - void UpdateAI(uint32 diff) - { - if (IntroPhase) + void UpdateAI(uint32 diff) { - if (IntroTimer <= diff) + if (IntroPhase) { - if (IntroPhase == 1) + if (IntroTimer <= diff) { - if (Creature* car = Unit::GetCreature(*me, carGUID)) - DoCast(car, SPELL_CART_DRAG); - IntroTimer = 800; - IntroPhase = 2; + if (IntroPhase == 1) + { + if (Creature* car = Unit::GetCreature(*me, carGUID)) + DoCast(car, SPELL_CART_DRAG); + IntroTimer = 800; + IntroPhase = 2; + } + else + { + if (Creature* car = Unit::GetCreature(*me, carGUID)) + car->AI()->DoAction(0); + IntroPhase = 0; + } } else - { - if (Creature* car = Unit::GetCreature(*me, carGUID)) - car->AI()->DoAction(0); - IntroPhase = 0; - } - } else IntroTimer-=diff; + IntroTimer -= diff; + } + npc_escortAI::UpdateAI(diff); } - npc_escortAI::UpdateAI(diff); - } - }; - -}; - -/*###### -## go_inconspicuous_mine_car -######*/ + }; -enum Spells_Cart -{ - SPELL_CART_SUMM = 52463 -}; - -class go_inconspicuous_mine_car : public GameObjectScript -{ -public: - go_inconspicuous_mine_car() : GameObjectScript("go_inconspicuous_mine_car") { } - - bool OnGossipHello(Player* player, GameObject* /*go*/) - { - if (player->GetQuestStatus(12701) == QUEST_STATUS_INCOMPLETE) + CreatureAI* GetAI(Creature* creature) const { - // Hack Why Trinity Dont Support Custom Summon Location - if (Creature* miner = player->SummonCreature(28841, 2383.869629f, -5900.312500f, 107.996086f, player->GetOrientation(), TEMPSUMMON_DEAD_DESPAWN, 1)) - { - player->CastSpell(player, SPELL_CART_SUMM, true); - if (Creature* car = player->GetVehicleCreatureBase()) - { - if (car->GetEntry() == 28817) - { - car->AI()->SetGUID(miner->GetGUID()); - CAST_AI(npc_scarlet_miner::npc_scarlet_minerAI, miner->AI())->InitCartQuest(player); - } else sLog->outError(LOG_FILTER_TSCR, "OnGossipHello vehicle entry is not correct."); - } else sLog->outError(LOG_FILTER_TSCR, "OnGossipHello player is not on the vehicle."); - } else sLog->outError(LOG_FILTER_TSCR, "OnGossipHello Scarlet Miner cant be found by script."); + return new npc_scarlet_minerAI(creature); } - return true; - } - }; // npc 28912 quest 17217 boss 29001 mob 29007 go 191092 @@ -1105,5 +1090,4 @@ void AddSC_the_scarlet_enclave_c1() new npc_scarlet_ghoul(); new npc_scarlet_miner(); new npc_scarlet_miner_cart(); - new go_inconspicuous_mine_car(); } -- cgit v1.2.3 From 51f6db79159576d6b8f550670629a8eb65fa2150 Mon Sep 17 00:00:00 2001 From: Kirkhammett Date: Fri, 12 Apr 2013 22:07:52 +0200 Subject: Script/SAI: Remove Shadow's Edge on completing 'Shadowmourne...' Closes: #9600 --- sql/updates/world/2013_04_12_00_world_smart_scripts.sql | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 sql/updates/world/2013_04_12_00_world_smart_scripts.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_12_00_world_smart_scripts.sql b/sql/updates/world/2013_04_12_00_world_smart_scripts.sql new file mode 100644 index 00000000000..6e7dddee60c --- /dev/null +++ b/sql/updates/world/2013_04_12_00_world_smart_scripts.sql @@ -0,0 +1,4 @@ +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=37120; +DELETE FROM `smart_scripts` WHERE `entryorguid`=37120; +INSERT INTO `smart_scripts` (`entryorguid`,`event_type`,`event_param1`,`action_type`,`action_param1`,`action_param2`,`target_type`,`comment`) VALUES +(37120,20,24549,57,49888,1,7,'Highlord Darion Mograine - On quest rewarded - Remove item from player'); -- cgit v1.2.3 From 37c02196ae0f017978410018709e1991518bd139 Mon Sep 17 00:00:00 2001 From: Kirkhammett Date: Sat, 13 Apr 2013 19:15:39 +0200 Subject: DB/Misc: 2 updates to fix non working SAI scripts Closes #9460 --- sql/updates/world/2013_04_13_00_world_misc.sql | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 sql/updates/world/2013_04_13_00_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_13_00_world_misc.sql b/sql/updates/world/2013_04_13_00_world_misc.sql new file mode 100644 index 00000000000..b2c6d11d9d9 --- /dev/null +++ b/sql/updates/world/2013_04_13_00_world_misc.sql @@ -0,0 +1,4 @@ +-- Malcrom +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=2305 AND `source_type`=0 AND `id`=2; +-- Kirkhammett +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=15656 AND `source_type`=0 AND `id`=0 AND `link`=1; -- cgit v1.2.3 From a1049abba0c76dcc082880e753b26f6c1988dc4d Mon Sep 17 00:00:00 2001 From: Kirkhammett Date: Sat, 13 Apr 2013 20:20:12 +0200 Subject: DB/Misc: Doing this out of the kindness of my heart, not because @Aokromes forced me into slavery. Closes #9624 --- sql/updates/world/2013_04_13_01_world_misc.sql | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 sql/updates/world/2013_04_13_01_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_13_01_world_misc.sql b/sql/updates/world/2013_04_13_01_world_misc.sql new file mode 100644 index 00000000000..8b8afe05026 --- /dev/null +++ b/sql/updates/world/2013_04_13_01_world_misc.sql @@ -0,0 +1,22 @@ +-- Runtime errors +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=1124 AND `source_type`=0 AND `id`=14 AND `link`=15; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=1124 AND `source_type`=0 AND `id`=15 AND `link`=16; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=5710 AND `source_type`=0 AND `id`=1 AND `link`=2; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=5997 AND `source_type`=0 AND `id`=8 AND `link`=9; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=7843 AND `source_type`=0 AND `id`=9 AND `link`=10; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=8564 AND `source_type`=0 AND `id`=12 AND `link`=13; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=10824 AND `source_type`=0 AND `id`=8 AND `link`=9; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=12236 AND `source_type`=0 AND `id`=3 AND `link`=4; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=12236 AND `source_type`=0 AND `id`=4 AND `link`=5; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=12236 AND `source_type`=0 AND `id`=9 AND `link`=10; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=12322 AND `source_type`=0 AND `id`=8 AND `link`=9; +-- Timed action scripts aren't supposed to have links set on them +UPDATE `smart_scripts` SET `link`=0, `event_type`=0 WHERE `entryorguid`=83600 AND `source_type`=9 AND `id`=1 AND `link`=2; +UPDATE `smart_scripts` SET `link`=0, `event_type`=0 WHERE `entryorguid`=83600 AND `source_type`=9 AND `id`=2 AND `link`=3; +UPDATE `smart_scripts` SET `event_type`=0 WHERE `entryorguid`=83600 AND `source_type`=9 AND `id`=3 AND `link`=0; +-- Aforementioned issue about links on timed scripts +UPDATE `smart_scripts` SET `link`=0, `event_type`=0 WHERE `entryorguid`=305400 AND `source_type`=9 AND `id`=1 AND `link`=2; +UPDATE `smart_scripts` SET `event_type`=0 WHERE `entryorguid`=305400 AND `source_type`=9 AND `id`=2 AND `link`=0; +-- Missing AI's +UPDATE `creature_template` SET `ScriptName`='SmartAI' WHERE `entry` IN +(10876,14389,13326,13328,12050,12053,10981,10986,10990,11678,11839,12051,12127,13179,13284,13438,13442,13443,13447,13577,13798,14282,14283,10987,10982,11603,11605,13089,13097,13089); -- cgit v1.2.3 From 40904ef0c112137a976f7a95a1112076abee1b4c Mon Sep 17 00:00:00 2001 From: Gacko Date: Sat, 13 Apr 2013 14:17:12 +0200 Subject: Script/SAI: Convert Arzeth the Merciless to SAI --- sql/updates/world/2013_04_13_00_world_smart_scripts.sql | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 sql/updates/world/2013_04_13_00_world_smart_scripts.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_13_00_world_smart_scripts.sql b/sql/updates/world/2013_04_13_00_world_smart_scripts.sql new file mode 100644 index 00000000000..416da57ac65 --- /dev/null +++ b/sql/updates/world/2013_04_13_00_world_smart_scripts.sql @@ -0,0 +1,7 @@ +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=19354; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=19354; +DELETE FROM `smart_scripts` WHERE `entryorguid`=19354 AND `source_type`=0; +INSERT INTO `smart_scripts`(`entryorguid`,`id`,`event_type`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`target_type`,`comment`) VALUES +(19354,0,0,0,8000,12000,8000,14000,11,16856,0,2,'Arzeth the Merciless - Cast Mortal Strike'), +(19354,1,9,0,0,30,12000,14000,11,15245,1,2,'Arzeth the Merciless - Cast Shadow Bolt Volley'), +(19354,2,8,1,35460,0,0,0,36,20680,1,1,'Arzeth the Merciless - Change Template to Arzeth the Powerless after using Staff of the Dreghood Elders'); \ No newline at end of file -- cgit v1.2.3 From 35f03185f2db2ebfb8b959e9c86257fdb88b734a Mon Sep 17 00:00:00 2001 From: Gacko Date: Sat, 13 Apr 2013 20:37:40 +0200 Subject: Script/SAI: Fix runtime errors --- sql/updates/world/2013_04_13_01_world_smart_scripts.sql | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 sql/updates/world/2013_04_13_01_world_smart_scripts.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_13_01_world_smart_scripts.sql b/sql/updates/world/2013_04_13_01_world_smart_scripts.sql new file mode 100644 index 00000000000..15302e15008 --- /dev/null +++ b/sql/updates/world/2013_04_13_01_world_smart_scripts.sql @@ -0,0 +1,5 @@ +UPDATE `smart_scripts` SET `event_type`=37 WHERE `entryorguid` IN (589,476,95) AND `id`=0 AND `source_type`=0; + +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=3448 AND `source_type`=0 AND `id`=3; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=61 AND `source_type`=1 AND `id`=3; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=22231 AND `source_type`=0 AND `id`=0; -- cgit v1.2.3 From bf10860a1c237fda0f7dd62297d6a591247ec660 Mon Sep 17 00:00:00 2001 From: Gacko Date: Sat, 13 Apr 2013 20:41:08 +0200 Subject: Rename sql files from previous commit and add new line at eof --- sql/updates/world/2013_04_13_00_world_smart_scripts.sql | 7 ------- sql/updates/world/2013_04_13_01_world_smart_scripts.sql | 5 ----- sql/updates/world/2013_04_13_02_world_smart_scripts.sql | 7 +++++++ sql/updates/world/2013_04_13_03_world_smart_scripts.sql | 5 +++++ 4 files changed, 12 insertions(+), 12 deletions(-) delete mode 100644 sql/updates/world/2013_04_13_00_world_smart_scripts.sql delete mode 100644 sql/updates/world/2013_04_13_01_world_smart_scripts.sql create mode 100644 sql/updates/world/2013_04_13_02_world_smart_scripts.sql create mode 100644 sql/updates/world/2013_04_13_03_world_smart_scripts.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_13_00_world_smart_scripts.sql b/sql/updates/world/2013_04_13_00_world_smart_scripts.sql deleted file mode 100644 index 416da57ac65..00000000000 --- a/sql/updates/world/2013_04_13_00_world_smart_scripts.sql +++ /dev/null @@ -1,7 +0,0 @@ -UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=19354; -DELETE FROM `creature_ai_scripts` WHERE `creature_id`=19354; -DELETE FROM `smart_scripts` WHERE `entryorguid`=19354 AND `source_type`=0; -INSERT INTO `smart_scripts`(`entryorguid`,`id`,`event_type`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`target_type`,`comment`) VALUES -(19354,0,0,0,8000,12000,8000,14000,11,16856,0,2,'Arzeth the Merciless - Cast Mortal Strike'), -(19354,1,9,0,0,30,12000,14000,11,15245,1,2,'Arzeth the Merciless - Cast Shadow Bolt Volley'), -(19354,2,8,1,35460,0,0,0,36,20680,1,1,'Arzeth the Merciless - Change Template to Arzeth the Powerless after using Staff of the Dreghood Elders'); \ No newline at end of file diff --git a/sql/updates/world/2013_04_13_01_world_smart_scripts.sql b/sql/updates/world/2013_04_13_01_world_smart_scripts.sql deleted file mode 100644 index 15302e15008..00000000000 --- a/sql/updates/world/2013_04_13_01_world_smart_scripts.sql +++ /dev/null @@ -1,5 +0,0 @@ -UPDATE `smart_scripts` SET `event_type`=37 WHERE `entryorguid` IN (589,476,95) AND `id`=0 AND `source_type`=0; - -UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=3448 AND `source_type`=0 AND `id`=3; -UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=61 AND `source_type`=1 AND `id`=3; -UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=22231 AND `source_type`=0 AND `id`=0; diff --git a/sql/updates/world/2013_04_13_02_world_smart_scripts.sql b/sql/updates/world/2013_04_13_02_world_smart_scripts.sql new file mode 100644 index 00000000000..78ef1e82a00 --- /dev/null +++ b/sql/updates/world/2013_04_13_02_world_smart_scripts.sql @@ -0,0 +1,7 @@ +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=19354; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=19354; +DELETE FROM `smart_scripts` WHERE `entryorguid`=19354 AND `source_type`=0; +INSERT INTO `smart_scripts`(`entryorguid`,`id`,`event_type`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`target_type`,`comment`) VALUES +(19354,0,0,0,8000,12000,8000,14000,11,16856,0,2,'Arzeth the Merciless - Cast Mortal Strike'), +(19354,1,9,0,0,30,12000,14000,11,15245,1,2,'Arzeth the Merciless - Cast Shadow Bolt Volley'), +(19354,2,8,1,35460,0,0,0,36,20680,1,1,'Arzeth the Merciless - Change Template to Arzeth the Powerless after using Staff of the Dreghood Elders'); diff --git a/sql/updates/world/2013_04_13_03_world_smart_scripts.sql b/sql/updates/world/2013_04_13_03_world_smart_scripts.sql new file mode 100644 index 00000000000..15302e15008 --- /dev/null +++ b/sql/updates/world/2013_04_13_03_world_smart_scripts.sql @@ -0,0 +1,5 @@ +UPDATE `smart_scripts` SET `event_type`=37 WHERE `entryorguid` IN (589,476,95) AND `id`=0 AND `source_type`=0; + +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=3448 AND `source_type`=0 AND `id`=3; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=61 AND `source_type`=1 AND `id`=3; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=22231 AND `source_type`=0 AND `id`=0; -- cgit v1.2.3 From 5c2203f185ec276f25963841ef212a85239927f1 Mon Sep 17 00:00:00 2001 From: Pitcrawler Date: Sun, 14 Apr 2013 14:55:24 +0200 Subject: DB/Quests: Fix The Leaders at Jin'Alai, closes #902 Remove some double spawns Add some missing spawns Convert some EAI to SAI Add some visual effects for quest Breaking Through Jin'Alai --- sql/updates/world/2013_04_14_00_world_misc.sql | 146 +++++++++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 sql/updates/world/2013_04_14_00_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_14_00_world_misc.sql b/sql/updates/world/2013_04_14_00_world_misc.sql new file mode 100644 index 00000000000..1f239cf0d1f --- /dev/null +++ b/sql/updates/world/2013_04_14_00_world_misc.sql @@ -0,0 +1,146 @@ +SET @CGUID := 110258; + +SET @NPC_BUNNY := 23837; +SET @NPC_WARRIOR := 28388; +SET @NPC_KUTUBESA := 28494; +SET @NPC_GAWANIL := 28495; +SET @NPC_CHULO := 28496; +SET @NPC_MEDICINEMAN := 28504; + +UPDATE `creature` SET `spawntimesecs`=600 WHERE `id`=@NPC_KUTUBESA; +DELETE FROM `creature` WHERE `guid` IN (117763,117764,117766); +DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+00 AND @CGUID+25; +INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES +(@CGUID+00, @NPC_MEDICINEMAN, 571, 1, 1, 5591.043, -3475.191, 351.5252, 0.1047198, 300, 0, 0), +(@CGUID+01, @NPC_MEDICINEMAN, 571, 1, 1, 5566.45, -3498.799, 351.0538, 4.590216, 300, 0, 0), +(@CGUID+02, @NPC_MEDICINEMAN, 571, 1, 1, 5547.046, -3498.974, 350.4519, 2.339428, 300, 0, 2), +(@CGUID+03, @NPC_MEDICINEMAN, 571, 1, 1, 5526.021, -3355.056, 364.3894, 4.677482, 300, 0, 0), +(@CGUID+04, @NPC_MEDICINEMAN, 571, 1, 1, 5517.316, -3449.934, 351.4341, 3.054326, 300, 0, 0), +(@CGUID+05, @NPC_BUNNY, 571, 1, 1, 5493.355, -3456.877, 350.4105, 2.024582, 300, 0, 0), +(@CGUID+06, @NPC_MEDICINEMAN, 571, 1, 1, 5521.364, -3386.496, 350.327, 5.654867, 300, 0, 2), +(@CGUID+07, @NPC_MEDICINEMAN, 571, 1, 1, 5492.875, -3459.563, 350.4502, 1.58825, 300, 0, 0), +(@CGUID+08, @NPC_MEDICINEMAN, 571, 1, 1, 5529.104, -3382.233, 350.4102, 2.356194, 300, 0, 0), +(@CGUID+09, @NPC_MEDICINEMAN, 571, 1, 1, 5541.636, -3425.828, 350.7735, 1.58825, 300, 0, 0), +(@CGUID+10, @NPC_WARRIOR, 571, 1, 1, 5674.67, -3491.495, 364.4726, 0.5366452, 300, 0, 0), +(@CGUID+11, @NPC_WARRIOR, 571, 1, 1, 5648.147, -3448.292, 362.8895, 5.986479, 300, 0, 0), +(@CGUID+12, @NPC_WARRIOR, 571, 1, 1, 5666.273, -3428.566, 365.5977, 6.085189, 300, 0, 0), +(@CGUID+13, @NPC_WARRIOR, 571, 1, 1, 5503.863, -3369.427, 363.1629, 4.918784, 300, 0, 0), +(@CGUID+14, @NPC_WARRIOR, 571, 1, 1, 5533.224, -3322.825, 366.5383, 0.8552113, 300, 0, 0), +(@CGUID+15, @NPC_WARRIOR, 571, 1, 1, 5528.603, -3501.259, 350.6893, 0.7853982, 300, 0, 0), +(@CGUID+16, @NPC_WARRIOR, 571, 1, 1, 5646.593, -3513.597, 362.6178, 0.2094395, 300, 0, 0), +(@CGUID+17, @NPC_WARRIOR, 571, 1, 1, 5525.68, -3477.987, 350.4114, 5.487214, 300, 0, 0), +(@CGUID+18, @NPC_BUNNY, 571, 1, 1, 5527.289, -3380.66, 350.4102, 1.867502, 120, 0, 0), +(@CGUID+19, @NPC_GAWANIL, 571, 1, 1, 5601.297, -3501.478, 350.4102, 2.059489, 600, 0, 0), +(@CGUID+20, @NPC_CHULO, 571, 1, 1, 5508.03, -3418.04, 350.9052, 5.689773, 600, 0, 0), +(@CGUID+21, @NPC_BUNNY, 571, 1, 1, 5627.774, -3505.409, 355.8583, 5.044002, 120, 0, 0), +(@CGUID+22, @NPC_BUNNY, 571, 1, 1, 5637.709, -3478.724, 354.5638, 4.502949, 120, 0, 0), +(@CGUID+23, @NPC_BUNNY, 571, 1, 1, 5553.081, -3459.962, 350.4102, 6.213372, 120, 0, 0), +(@CGUID+24, @NPC_BUNNY, 571, 1, 1, 5618.041, -3450.443, 353.8071, 4.939282, 120, 0, 0), +(@CGUID+25, @NPC_BUNNY, 571, 1, 1, 5647.352, -3502.605, 362.8272, 4.39823, 120, 0, 0); + +DELETE FROM `creature_addon` WHERE `guid` IN (@CGUID+02,@CGUID+06,@CGUID+19,@CGUID+20); +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`emote`) VALUES +(@CGUID+02,(@CGUID+02)*10,1,0), +(@CGUID+06,(@CGUID+06)*10,1,0), +(@CGUID+19,0,1,375), +(@CGUID+20,0,1,375); + +DELETE FROM `waypoint_data` WHERE `id` IN ((@CGUID+02)*10,(@CGUID+06)*10); +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +((@CGUID+02)*10,1,5495.677,-3457.071,350.3303,0,10000,0,(@CGUID+02)*100+1,100,0), +((@CGUID+02)*10,2,5579.755,-3533.386,350.4519,0,10000,0,(@CGUID+02)*100+2,100,0), +((@CGUID+06)*10,1,5525.278,-3382.127,350.3272,0,10000,0,(@CGUID+06)*100+1,100,0), +((@CGUID+06)*10,2,5521.364,-3386.496,350.327,0,0,0,0,100,0), +((@CGUID+06)*10,3,5611.445,-3474.975,350.4102,0,10000,0,(@CGUID+06)*100+2,100,0), +((@CGUID+06)*10,4,5521.364,-3386.496,350.327,0,0,0,0,100,0); + +DELETE FROM `waypoint_scripts` WHERE `id` IN ((@CGUID+02)*100+1,(@CGUID+02)*100+2,(@CGUID+06)*100+1,(@CGUID+06)*100+2); +INSERT INTO `waypoint_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`dataint`,`x`,`y`,`z`,`o`,`guid`) VALUES +((@CGUID+02)*100+1,0,30,0,0,0,0,0,0,3.001966,858), +((@CGUID+02)*100+1,1,15,51733,1,0,0,0,0,0,859), +((@CGUID+02)*100+2,1,15,51733,1,0,0,0,0,0,860), +((@CGUID+06)*100+1,1,15,51733,1,0,0,0,0,0,861), +((@CGUID+06)*100+2,1,15,51733,1,0,0,0,0,0,862); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=51511; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry` IN (@NPC_KUTUBESA,@NPC_GAWANIL,@NPC_CHULO); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,3,51511,0,31,0,3,@NPC_BUNNY,0,0,'','Spell Toss Ice Boulder targets ELM General Purpose Bunny'), +(13,3,51511,1,31,0,3,@NPC_WARRIOR,0,0,'','Spell Toss Ice Boulder targets Jin''Alai Warrior'), +(13,3,51511,2,31,0,3,@NPC_MEDICINEMAN,0,0,'','Spell Toss Ice Boulder targets Jin''Alai Medicine Man'), +(22,1,@NPC_KUTUBESA,0,38,1,100,0,0,0,'','SAI Kutub''sa triggers only when at full health'), +(22,1,@NPC_GAWANIL,0,38,1,100,0,0,0,'','SAI Gawanil triggers only when at full health'), +(22,1,@NPC_CHULO,0,38,1,100,0,0,0,'','SAI Chulo the Mad triggers only when at full health'); + +DELETE FROM `creature_template_addon` WHERE `entry`=@NPC_WARRIOR; +INSERT INTO `creature_template_addon` (`entry`,`bytes2`,`emote`) VALUES +(@NPC_WARRIOR,1,375); + +DELETE FROM `creature_text` WHERE `entry` IN (@NPC_KUTUBESA,@NPC_GAWANIL,@NPC_CHULO); +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(@NPC_KUTUBESA,0,0,'Death to the Zandalari and their puppets! Nothing can stop us now!',14,0,100,15,0,0,'Kutube''sa'), +(@NPC_GAWANIL,0,0,'Kill them! Kill them all and take back Zim''Torga!',14,0,100,15,0,0,'Gawanil'), +(@NPC_CHULO,0,0,'Hah! You''ll not get my treasure!',14,0,100,15,0,0,'Chulo the Mad'); + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (28387,@NPC_WARRIOR,@NPC_KUTUBESA,@NPC_GAWANIL,@NPC_CHULO,@NPC_MEDICINEMAN); +UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI' WHERE `entry` IN (190618,190619,190620,190630); +DELETE FROM `creature_ai_scripts` WHERE `creature_id` IN (28387,@NPC_WARRIOR,@NPC_KUTUBESA,@NPC_GAWANIL,@NPC_CHULO,@NPC_MEDICINEMAN); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (-98550,-98551,-(@CGUID+05),-(@CGUID+18),28387,@NPC_WARRIOR,@NPC_KUTUBESA,@NPC_GAWANIL,@NPC_CHULO,@NPC_MEDICINEMAN) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (190618,190619,190620,190630) AND `source_type`=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 +(-98550,0,0,0,38,0,100,0,0,1,0,0,11,51848,0,0,0,0,0,1,0,0,0,0,0,0,0,'ELM General Purpose Bunny - On event triggered - Spellcast Cauldron Disturbed'), +(-98551,0,0,0,38,0,100,0,0,1,0,0,11,51848,0,0,0,0,0,1,0,0,0,0,0,0,0,'ELM General Purpose Bunny - On event triggered - Spellcast Cauldron Disturbed'), +(-(@CGUID+05),0,0,0,38,0,100,0,0,1,0,0,11,51848,0,0,0,0,0,1,0,0,0,0,0,0,0,'ELM General Purpose Bunny - On event triggered - Spellcast Cauldron Disturbed'), +(-(@CGUID+18),0,0,0,38,0,100,0,0,1,0,0,11,51848,0,0,0,0,0,1,0,0,0,0,0,0,0,'ELM General Purpose Bunny - On event triggered - Spellcast Cauldron Disturbed'), + +(28387,0,0,0,0,0,100,0,5000,7000,10000,14000,11,54673,0,0,0,0,0,2,0,0,0,0,0,0,0,'Zim''Torga Defender - On update IC - Spellcast Ice Boulder'), +(28387,0,1,0,1,0,100,0,20000,30000,30000,30000,11,51511,0,0,0,0,0,1,0,0,0,0,0,0,0,'Zim''Torga Defender - On update OOC - Spellcast Toss Ice Boulder'), + +(@NPC_WARRIOR,0,0,0,4,0,100,0,0,0,0,0,11,38556,0,0,0,0,0,2,0,0,0,0,0,0,0,'Jin''Alai Warrior - On aggro - Spellcast Throw'), +(@NPC_WARRIOR,0,1,0,0,0,100,0,5000,6000,10000,12000,11,54630,0,0,0,0,0,2,0,0,0,0,0,0,0,'Jin''Alai Warrior - On update IC - Spellcast Poison Tipped Spear'), +(@NPC_WARRIOR,0,2,0,6,0,10,0,0,0,0,0,45,0,1,0,0,0,0,10,@CGUID+20,@NPC_CHULO,0,0,0,0,0,'Jin''Alai Warrior - On death (10% chance) - Set data 0 1 Chulo the Mad'), +(@NPC_WARRIOR,0,3,0,6,0,10,0,0,0,0,0,45,0,1,0,0,0,0,10,103225,@NPC_KUTUBESA,0,0,0,0,0,'Jin''Alai Warrior - On death (10% chance) - Set data 0 1 Kutube''sa'), +(@NPC_WARRIOR,0,4,0,6,0,10,0,0,0,0,0,45,0,1,0,0,0,0,10,@CGUID+19,@NPC_GAWANIL,0,0,0,0,0,'Jin''Alai Warrior - On death (10% chance) - Set data 0 1 Gawanil'), + +(@NPC_KUTUBESA,0,0,1,38,0,100,0,0,1,0,0,19,256,0,0,0,0,0,1,0,0,0,0,0,0,0,'Kutube''sa - On data 0 1 set - Remove unit_flags IMMUNE_TO_PC'), +(@NPC_KUTUBESA,0,1,2,61,0,100,0,0,0,0,0,47,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Kutube''sa - On data 0 1 set - Set visible'), +(@NPC_KUTUBESA,0,2,0,61,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Kutube''sa - On data 0 1 set - Say line'), +(@NPC_KUTUBESA,0,3,0,4,0,100,0,0,0,0,0,11,57793,0,0,0,0,0,2,0,0,0,0,0,0,0,'Kutube''sa - On aggro - Spellcast Heroic Leap'), +(@NPC_KUTUBESA,0,4,0,0,0,100,0,3000,5000,17500,20000,11,35144,0,0,0,0,0,2,0,0,0,0,0,0,0,'Kutube''sa - On update IC - Spellcast Vicious Rend'), +(@NPC_KUTUBESA,0,5,0,0,0,100,0,6000,8000,20000,25000,11,49807,0,0,0,0,0,1,0,0,0,0,0,0,0,'Kutube''sa - On update IC - Spellcast Whirlwind'), +(@NPC_KUTUBESA,0,6,0,6,0,100,0,0,0,0,0,11,51815,0,0,0,0,0,1,0,0,0,0,0,0,0,'Kutube''sa - On death - The Leaders at Jin''Alai: Summon the Treasure of Kutube''sa'), +(@NPC_KUTUBESA,0,7,8,11,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Kutube''sa - On spawn - Set invisible'), +(@NPC_KUTUBESA,0,8,0,61,0,100,0,0,0,0,0,18,256,0,0,0,0,0,1,0,0,0,0,0,0,0,'Kutube''sa - On spawn - Set unit_flags IMMUNE_TO_PC'), + +(@NPC_GAWANIL,0,0,1,38,0,100,0,0,1,0,0,19,256,0,0,0,0,0,1,0,0,0,0,0,0,0,'Gawanil - On data 0 1 set - Remove unit_flags IMMUNE_TO_PC'), +(@NPC_GAWANIL,0,1,2,61,0,100,0,0,0,0,0,47,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Gawanil - On data 0 1 set - Set visible'), +(@NPC_GAWANIL,0,2,0,61,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Gawanil - On data 0 1 set - Say line'), +(@NPC_GAWANIL,0,3,0,9,0,100,0,0,40,3400,4800,11,20791,0,0,0,0,0,2,0,0,0,0,0,0,0,'Gawanil - On target within 40y - Spellcast Shadow Bolt'), +(@NPC_GAWANIL,0,4,0,9,0,100,0,0,30,16500,18000,11,14868,0,0,0,0,0,2,0,0,0,0,0,0,0,'Gawanil - On target within 30y - Spellcast Curse of Agony'), +(@NPC_GAWANIL,0,5,0,9,0,100,0,0,30,16500,18000,11,39212,0,0,0,0,0,2,0,0,0,0,0,0,0,'Gawanil - On target within 30y - Spellcast Corruption'), +(@NPC_GAWANIL,0,6,0,2,0,100,0,0,70,20000,25000,11,35195,0,0,0,0,0,2,0,0,0,0,0,0,0,'Gawanil - On health below 70% - Spellcast Siphon Life'), +(@NPC_GAWANIL,0,7,0,6,0,100,0,0,0,0,0,11,51814,0,0,0,0,0,1,0,0,0,0,0,0,0,'Gawanil - On death - Spellcast The Leaders at Jin''Alai: Summon the Treasure of Gawanil'), +(@NPC_GAWANIL,0,8,9,11,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Gawanil - On spawn - Set invisible'), +(@NPC_GAWANIL,0,9,0,61,0,100,0,0,0,0,0,18,256,0,0,0,0,0,1,0,0,0,0,0,0,0,'Gawanil - On spawn - Set unit_flags IMMUNE_TO_PC'), + +(@NPC_CHULO,0,0,1,38,0,100,0,0,1,0,0,19,256,0,0,0,0,0,1,0,0,0,0,0,0,0,'Chulo the Mad - On data 0 1 set - Remove unit_flags IMMUNE_TO_PC'), +(@NPC_CHULO,0,1,2,61,0,100,0,0,0,0,0,47,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Chulo the Mad - On data 0 1 set - Set visible'), +(@NPC_CHULO,0,2,0,61,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Chulo the Mad - On data 0 1 set - Say line'), +(@NPC_CHULO,0,3,0,0,0,100,0,3000,5000,17500,20000,11,17687,0,0,0,0,0,1,0,0,0,0,0,0,0,'Chulo the Mad - On update IC - Spellcast Flurry'), +(@NPC_CHULO,0,4,0,0,0,100,0,6000,8000,20000,25000,11,50188,0,0,0,0,0,2,0,0,0,0,0,0,0,'Chulo the Mad - On update IC - Spellcast Wildly Flailing'), +(@NPC_CHULO,0,5,0,6,0,100,0,0,0,0,0,11,51813,0,0,0,0,0,1,0,0,0,0,0,0,0,'Chulo the Mad - On death - The Leaders at Jin''Alai: Summon the Treasure of Chulo the Mad'), +(@NPC_CHULO,0,6,7,11,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Chulo the Mad - On spawn - Set invisible'), +(@NPC_CHULO,0,7,0,61,0,100,0,0,0,0,0,18,256,0,0,0,0,0,1,0,0,0,0,0,0,0,'Chulo the Mad - On spawn - Set unit_flags IMMUNE_TO_PC'), + +(@NPC_MEDICINEMAN,0,0,0,11,0,100,0,0,0,0,0,11,51733,0,0,0,0,0,1,0,0,0,0,0,0,0,'Jin''Alai Medicine Man - On spawn - Spellcast Shadow Channelling'), +(@NPC_MEDICINEMAN,0,1,0,21,0,100,0,0,0,0,0,11,51733,0,0,0,0,0,1,0,0,0,0,0,0,0,'Jin''Alai Medicine Man - On homeposition - Spellcast Shadow Channelling'), +(@NPC_MEDICINEMAN,0,2,0,0,0,100,0,5000,6000,15000,20000,11,54626,0,0,0,0,0,2,0,0,0,0,0,0,0,'Jin''Alai Medicine Man - On update IC - Spellcast Vial of Poison'), +(@NPC_MEDICINEMAN,0,3,0,2,0,100,1,0,50,0,0,11,54633,0,0,0,0,0,1,0,0,0,0,0,0,0,'Jin''Alai Medicine Man - On health below 50% - Spellcast Drink Healing Potion'), +(@NPC_MEDICINEMAN,0,4,0,6,0,10,0,0,0,0,0,45,0,1,0,0,0,0,10,@CGUID+20,@NPC_CHULO,0,0,0,0,0,'Jin''Alai Medicine Man - On death (10% chance) - Set data 0 1 Chulo the Mad'), +(@NPC_MEDICINEMAN,0,5,0,6,0,10,0,0,0,0,0,45,0,1,0,0,0,0,10,103225,@NPC_KUTUBESA,0,0,0,0,0,'Jin''Alai Medicine Man - On death (10% chance) - Set data 0 1 Kutube''sa'), +(@NPC_MEDICINEMAN,0,6,0,6,0,10,0,0,0,0,0,45,0,1,0,0,0,0,10,@CGUID+19,@NPC_GAWANIL,0,0,0,0,0,'Jin''Alai Medicine Man - On death (10% chance) - Set data 0 1 Gawanil'), + +(190618,1,0,0,70,0,100,0,2,0,0,0,45,0,1,0,0,0,0,19,@NPC_BUNNY,5,0,0,0,0,0,'Blue Cauldron - On state changed - Set data 0 1 ELM General Purpose Bunny'), +(190619,1,0,0,70,0,100,0,2,0,0,0,45,0,1,0,0,0,0,19,@NPC_BUNNY,5,0,0,0,0,0,'Purple Cauldron - On state changed - Set data 0 1 ELM General Purpose Bunny'), +(190620,1,0,0,70,0,100,0,2,0,0,0,45,0,1,0,0,0,0,19,@NPC_BUNNY,5,0,0,0,0,0,'Red Cauldron - On state changed - Set data 0 1 ELM General Purpose Bunny'), +(190630,1,0,0,70,0,100,0,2,0,0,0,45,0,1,0,0,0,0,19,@NPC_BUNNY,5,0,0,0,0,0,'Green Cauldron - On state changed - Set data 0 1 ELM General Purpose Bunny'); -- cgit v1.2.3 From 19b47e452fff6ca20d1ba1b7ab4c037d87aa4df0 Mon Sep 17 00:00:00 2001 From: xjose93 Date: Sun, 14 Apr 2013 11:19:30 +0200 Subject: Core/Events: announce event system improvement. --- sql/updates/world/2013_04_14_00_world_game_event.sql | 2 ++ src/server/game/Events/GameEventMgr.cpp | 8 +++++--- src/server/game/Events/GameEventMgr.h | 1 + 3 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 sql/updates/world/2013_04_14_00_world_game_event.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_14_00_world_game_event.sql b/sql/updates/world/2013_04_14_00_world_game_event.sql new file mode 100644 index 00000000000..82929053e8c --- /dev/null +++ b/sql/updates/world/2013_04_14_00_world_game_event.sql @@ -0,0 +1,2 @@ +ALTER TABLE `game_event` +ADD COLUMN `announce` tinyint(3) unsigned NULL DEFAULT 2 COMMENT '0 dont announce, 1 announce, 2 value from config' AFTER `world_event`; diff --git a/src/server/game/Events/GameEventMgr.cpp b/src/server/game/Events/GameEventMgr.cpp index 9141f77b852..737a6d1b91c 100644 --- a/src/server/game/Events/GameEventMgr.cpp +++ b/src/server/game/Events/GameEventMgr.cpp @@ -205,8 +205,8 @@ void GameEventMgr::LoadFromDB() { { uint32 oldMSTime = getMSTime(); - // 0 1 2 3 4 5 6 7 - QueryResult result = WorldDatabase.Query("SELECT eventEntry, UNIX_TIMESTAMP(start_time), UNIX_TIMESTAMP(end_time), occurence, length, holiday, description, world_event FROM game_event"); + // 0 1 2 3 4 5 6 7 8 + QueryResult result = WorldDatabase.Query("SELECT eventEntry, UNIX_TIMESTAMP(start_time), UNIX_TIMESTAMP(end_time), occurence, length, holiday, description, world_event, announce FROM game_event"); if (!result) { mGameEvent.clear(); @@ -237,6 +237,7 @@ void GameEventMgr::LoadFromDB() pGameEvent.state = (GameEventState)(fields[7].GetUInt8()); pGameEvent.nextstart = 0; + pGameEvent.announce = fields[8].GetUInt8(); if (pGameEvent.length == 0 && pGameEvent.state == GAMEEVENT_NORMAL) // length>0 is validity check { @@ -1104,7 +1105,8 @@ void GameEventMgr::UnApplyEvent(uint16 event_id) void GameEventMgr::ApplyNewEvent(uint16 event_id) { - if (sWorld->getBoolConfig(CONFIG_EVENT_ANNOUNCE)) + uint8 announce = mGameEvent[event_id].announce; + if (announce == 1 || (announce == 2 && sWorld->getBoolConfig(CONFIG_EVENT_ANNOUNCE))) sWorld->SendWorldText(LANG_EVENTMESSAGE, mGameEvent[event_id].description.c_str()); sLog->outInfo(LOG_FILTER_GAMEEVENTS, "GameEvent %u \"%s\" started.", event_id, mGameEvent[event_id].description.c_str()); diff --git a/src/server/game/Events/GameEventMgr.h b/src/server/game/Events/GameEventMgr.h index 4175e57f28a..ad4ddeeba88 100644 --- a/src/server/game/Events/GameEventMgr.h +++ b/src/server/game/Events/GameEventMgr.h @@ -66,6 +66,7 @@ struct GameEventData GameEventConditionMap conditions; // conditions to finish std::set prerequisite_events; // events that must be completed before starting this event std::string description; + uint8 announce; // if 0 dont announce, if 1 announce, if 2 take config value bool isValid() const { return length > 0 || state > GAMEEVENT_NORMAL; } }; -- cgit v1.2.3 From 03be44f499bc3a699dac898c86ed13cce0a6399c Mon Sep 17 00:00:00 2001 From: Pitcrawler Date: Tue, 16 Apr 2013 07:41:35 +0200 Subject: DB/Quests Fix Mission: Eternal Flame, closes #6852 --- sql/updates/world/2013_04_16_00_world_sai.sql | 54 +++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 sql/updates/world/2013_04_16_00_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_16_00_world_sai.sql b/sql/updates/world/2013_04_16_00_world_sai.sql new file mode 100644 index 00000000000..c45fd63a256 --- /dev/null +++ b/sql/updates/world/2013_04_16_00_world_sai.sql @@ -0,0 +1,54 @@ +SET @NPC_BUNNY1 := 23921; +SET @NPC_BUNNY2 := 23922; +SET @NPC_BUNNY3 := 23923; +SET @NPC_BUNNY4 := 23924; + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=42564; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,1,42564,0,31,3,@NPC_BUNNY1,0,0,'','Spell Ever-burning Torch targets Halgrind Torch Bunny 01'), +(13,1,42564,1,31,3,@NPC_BUNNY2,0,0,'','Spell Ever-burning Torch targets Halgrind Torch Bunny 02'), +(13,1,42564,2,31,3,@NPC_BUNNY3,0,0,'','Spell Ever-burning Torch targets Halgrind Torch Bunny 03'), +(13,1,42564,3,31,3,@NPC_BUNNY4,0,0,'','Spell Ever-burning Torch targets Halgrind Torch Bunny 04'); + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@NPC_BUNNY1,@NPC_BUNNY2,@NPC_BUNNY3,@NPC_BUNNY4); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@NPC_BUNNY1,@NPC_BUNNY2,@NPC_BUNNY3,@NPC_BUNNY4) 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_BUNNY1,0,0,1,8,0,100,0,42564,0,0,0,11,42632,0,0,0,0,0,7,0,0,0,0,0,0,0,'Halgrind Torch Bunny 01 - On spellhit Ever-burning Torch - Spellcast Mission: Eternal Flame: Bunny 01 Kill Credit'), +(@NPC_BUNNY1,0,1,2,61,0,100,0,0,0,0,0,50,186457,20,0,0,0,0,8,0,0,0,868.8023,-4339.792,182.2122,1.937312,'Halgrind Torch Bunny 01 - On spellhit Ever-burning Torch - Summon Blacksmith Smoke (x2.0)'), +(@NPC_BUNNY1,0,2,3,61,0,100,0,0,0,0,0,50,186457,20,0,0,0,0,8,0,0,0,870.0853,-4333.663,175.9133,2.059488,'Halgrind Torch Bunny 01 - On spellhit Ever-burning Torch - Summon Blacksmith Smoke (x2.0)'), +(@NPC_BUNNY1,0,3,4,61,0,100,0,0,0,0,0,50,186457,20,0,0,0,0,8,0,0,0,863.741,-4335.814,175.8825,2.809975,'Halgrind Torch Bunny 01 - On spellhit Ever-burning Torch - Summon Blacksmith Smoke (x2.0)'), +(@NPC_BUNNY1,0,4,5,61,0,100,0,0,0,0,0,50,186457,20,0,0,0,0,8,0,0,0,865.0932,-4329.501,184.862,-1.239183,'Halgrind Torch Bunny 01 - On spellhit Ever-burning Torch - Summon Blacksmith Smoke (x2.0)'), +(@NPC_BUNNY1,0,5,6,61,0,100,0,0,0,0,0,50,186459,20,0,0,0,0,8,0,0,0,868.7471,-4339.819,182.2086,-2.216565,'Halgrind Torch Bunny 01 - On spellhit Ever-burning Torch - Summon Stratholme Fire Medium'), +(@NPC_BUNNY1,0,6,7,61,0,100,0,0,0,0,0,50,186459,20,0,0,0,0,8,0,0,0,870.0593,-4333.669,175.9119,-3.019413,'Halgrind Torch Bunny 01 - On spellhit Ever-burning Torch - Summon Stratholme Fire Medium'), +(@NPC_BUNNY1,0,7,8,61,0,100,0,0,0,0,0,50,186459,20,0,0,0,0,8,0,0,0,863.8395,-4335.782,175.8698,2.251473,'Halgrind Torch Bunny 01 - On spellhit Ever-burning Torch - Summon Stratholme Fire Medium'), +(@NPC_BUNNY1,0,8,0,61,0,100,0,0,0,0,0,50,186459,20,0,0,0,0,8,0,0,0,865.0274,-4329.538,184.8592,-2.513274,'Halgrind Torch Bunny 01 - On spellhit Ever-burning Torch - Summon Stratholme Fire Medium'), + +(@NPC_BUNNY2,0,0,1,8,0,100,0,42564,0,0,0,11,42633,0,0,0,0,0,7,0,0,0,0,0,0,0,'Halgrind Torch Bunny 02 - On spellhit Ever-burning Torch - Spellcast Mission: Eternal Flame: Bunny 02 Kill Credit'), +(@NPC_BUNNY2,0,1,2,61,0,100,0,0,0,0,0,50,186457,20,0,0,0,0,8,0,0,0,990.3699,-4312.481,169.8106,-0.1396245,'Halgrind Torch Bunny 02 - On spellhit Ever-burning Torch - Summon Blacksmith Smoke (x2.0)'), +(@NPC_BUNNY2,0,2,3,61,0,100,0,0,0,0,0,50,186457,20,0,0,0,0,8,0,0,0,986.9997,-4317.327,175.7941,-0.9948372,'Halgrind Torch Bunny 02 - On spellhit Ever-burning Torch - Summon Blacksmith Smoke (x2.0)'), +(@NPC_BUNNY2,0,3,4,61,0,100,0,0,0,0,0,50,186457,20,0,0,0,0,8,0,0,0,984.7455,-4311.373,170.311,0.9250239,'Halgrind Torch Bunny 02 - On spellhit Ever-burning Torch - Summon Blacksmith Smoke (x2.0)'), +(@NPC_BUNNY2,0,4,5,61,0,100,0,0,0,0,0,50,186457,20,0,0,0,0,8,0,0,0,989.3688,-4306.89,178.847,-0.6806787,'Halgrind Torch Bunny 02 - On spellhit Ever-burning Torch - Summon Blacksmith Smoke (x2.0)'), +(@NPC_BUNNY2,0,5,6,61,0,100,0,0,0,0,0,50,186459,20,0,0,0,0,8,0,0,0,986.9559,-4317.405,175.7507,-0.7853968,'Halgrind Torch Bunny 02 - On spellhit Ever-burning Torch - Summon Stratholme Fire Medium'), +(@NPC_BUNNY2,0,6,7,61,0,100,0,0,0,0,0,50,186459,20,0,0,0,0,8,0,0,0,990.3775,-4312.451,169.8137,-1.605702,'Halgrind Torch Bunny 02 - On spellhit Ever-burning Torch - Summon Stratholme Fire Medium'), +(@NPC_BUNNY2,0,7,8,61,0,100,0,0,0,0,0,50,186459,20,0,0,0,0,8,0,0,0,984.8902,-4311.392,170.2798,-1.169369,'Halgrind Torch Bunny 02 - On spellhit Ever-burning Torch - Summon Stratholme Fire Medium'), +(@NPC_BUNNY2,0,8,0,61,0,100,0,0,0,0,0,50,186459,20,0,0,0,0,8,0,0,0,989.3943,-4306.688,178.8235,1.448622,'Halgrind Torch Bunny 02 - On spellhit Ever-burning Torch - Summon Stratholme Fire Medium'), + +(@NPC_BUNNY3,0,0,1,8,0,100,0,42564,0,0,0,11,42634,0,0,0,0,0,7,0,0,0,0,0,0,0,'Halgrind Torch Bunny 03 - On spellhit Ever-burning Torch - Spellcast Mission: Eternal Flame: Bunny 03 Kill Credit'), +(@NPC_BUNNY3,0,1,2,61,0,100,0,0,0,0,0,50,186457,20,0,0,0,0,8,0,0,0,1082.445,-4486.045,197.2445,2.268925,'Halgrind Torch Bunny 03 - On spellhit Ever-burning Torch - Summon Blacksmith Smoke (x2.0)'), +(@NPC_BUNNY3,0,2,3,61,0,100,0,0,0,0,0,50,186457,20,0,0,0,0,8,0,0,0,1084.6,-4491.493,190.9798,1.239183,'Halgrind Torch Bunny 03 - On spellhit Ever-burning Torch - Summon Blacksmith Smoke (x2.0)'), +(@NPC_BUNNY3,0,3,4,61,0,100,0,0,0,0,0,50,186457,20,0,0,0,0,8,0,0,0,1088.523,-4486.683,191.1761,2.652894,'Halgrind Torch Bunny 03 - On spellhit Ever-burning Torch - Summon Blacksmith Smoke (x2.0)'), +(@NPC_BUNNY3,0,4,5,61,0,100,0,0,0,0,0,50,186457,20,0,0,0,0,8,0,0,0,1091.084,-4492.35,199.8263,1.53589,'Halgrind Torch Bunny 03 - On spellhit Ever-burning Torch - Summon Blacksmith Smoke (x2.0)'), +(@NPC_BUNNY3,0,5,6,61,0,100,0,0,0,0,0,50,186459,20,0,0,0,0,8,0,0,0,1082.465,-4486.012,197.2427,-2.530723,'Halgrind Torch Bunny 03 - On spellhit Ever-burning Torch - Summon Stratholme Fire Medium'), +(@NPC_BUNNY3,0,6,7,61,0,100,0,0,0,0,0,50,186459,20,0,0,0,0,8,0,0,0,1084.627,-4491.507,190.978,2.583081,'Halgrind Torch Bunny 03 - On spellhit Ever-burning Torch - Summon Stratholme Fire Medium'), +(@NPC_BUNNY3,0,7,8,61,0,100,0,0,0,0,0,50,186459,20,0,0,0,0,8,0,0,0,1088.549,-4486.602,191.1885,-0.4886912,'Halgrind Torch Bunny 03 - On spellhit Ever-burning Torch - Summon Stratholme Fire Medium'), +(@NPC_BUNNY3,0,8,0,61,0,100,0,0,0,0,0,50,186459,20,0,0,0,0,8,0,0,0,1090.992,-4492.313,199.8432,-1.937316,'Halgrind Torch Bunny 03 - On spellhit Ever-burning Torch - Summon Stratholme Fire Medium'), + +(@NPC_BUNNY4,0,0,1,8,0,100,0,42564,0,0,0,11,42635,0,0,0,0,0,7,0,0,0,0,0,0,0,'Halgrind Torch Bunny 04 - On spellhit Ever-burning Torch - Spellcast Mission: Eternal Flame: Bunny 04 Kill Credit'), +(@NPC_BUNNY4,0,1,2,61,0,100,0,0,0,0,0,50,186457,20,0,0,0,0,8,0,0,0,800.0019,-4499.426,192.1779,0.5934101,'Halgrind Torch Bunny 04 - On spellhit Ever-burning Torch - Summon Blacksmith Smoke (x2.0)'), +(@NPC_BUNNY4,0,2,3,61,0,100,0,0,0,0,0,50,186457,20,0,0,0,0,8,0,0,0,793.686,-4502.086,187.2915,1.53589,'Halgrind Torch Bunny 04 - On spellhit Ever-burning Torch - Summon Blacksmith Smoke (x2.0)'), +(@NPC_BUNNY4,0,3,4,61,0,100,0,0,0,0,0,50,186457,20,0,0,0,0,8,0,0,0,798.1101,-4505.706,186.7136,-0.4886912,'Halgrind Torch Bunny 04 - On spellhit Ever-burning Torch - Summon Blacksmith Smoke (x2.0)'), +(@NPC_BUNNY4,0,4,5,61,0,100,0,0,0,0,0,50,186457,20,0,0,0,0,8,0,0,0,794.305,-4506.923,196.7457,0.7330382,'Halgrind Torch Bunny 04 - On spellhit Ever-burning Torch - Summon Blacksmith Smoke (x2.0)'), +(@NPC_BUNNY4,0,5,6,61,0,100,0,0,0,0,0,50,186459,20,0,0,0,0,8,0,0,0,800.0145,-4499.367,192.1402,-1.047198,'Halgrind Torch Bunny 04 - On spellhit Ever-burning Torch - Summon Stratholme Fire Medium'), +(@NPC_BUNNY4,0,6,7,61,0,100,0,0,0,0,0,50,186459,20,0,0,0,0,8,0,0,0,793.655,-4502.067,187.294,2.268925,'Halgrind Torch Bunny 04 - On spellhit Ever-burning Torch - Summon Stratholme Fire Medium'), +(@NPC_BUNNY4,0,7,8,61,0,100,0,0,0,0,0,50,186459,20,0,0,0,0,8,0,0,0,798.0519,-4505.68,186.7271,0.2094394,'Halgrind Torch Bunny 04 - On spellhit Ever-burning Torch - Summon Stratholme Fire Medium'), +(@NPC_BUNNY4,0,8,0,61,0,100,0,0,0,0,0,50,186459,20,0,0,0,0,8,0,0,0,794.0874,-4507.057,196.7687,-0.2268925,'Halgrind Torch Bunny 04 - On spellhit Ever-burning Torch - Summon Stratholme Fire Medium'); -- cgit v1.2.3 From 2a96e1919dc00a57df89f5b164fdbc42a7ee4c0f Mon Sep 17 00:00:00 2001 From: Gacko Date: Tue, 16 Apr 2013 08:52:01 +0300 Subject: Script/SAI: Fix runtime error. Thanks @Kirkhammett Closes #9653 (Can not commit for other authors using the web interface...) --- sql/updates/world/2013_04_16_01_world_smart_scripts.sql | 1 + 1 file changed, 1 insertion(+) create mode 100644 sql/updates/world/2013_04_16_01_world_smart_scripts.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_16_01_world_smart_scripts.sql b/sql/updates/world/2013_04_16_01_world_smart_scripts.sql new file mode 100644 index 00000000000..02af2caf3b3 --- /dev/null +++ b/sql/updates/world/2013_04_16_01_world_smart_scripts.sql @@ -0,0 +1 @@ +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=2369 AND `source_type`=0 AND `id`=7 AND `link`=8; -- cgit v1.2.3 From e9d7b53e6dd74793b5ad81e7df7cd365adfe61e5 Mon Sep 17 00:00:00 2001 From: Gacko Date: Tue, 16 Apr 2013 20:29:24 +0200 Subject: Fix some creature text runtime errors --- .../world/2013_04_16_02_world_creature_text.sql | 44 ++++++++++++++++++++++ .../EasternKingdoms/ScarletEnclave/chapter1.cpp | 2 +- .../ShadowfangKeep/shadowfang_keep.cpp | 12 +++--- .../UtgardeKeep/boss_ingvar_the_plunderer.cpp | 9 ++--- 4 files changed, 54 insertions(+), 13 deletions(-) create mode 100644 sql/updates/world/2013_04_16_02_world_creature_text.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_16_02_world_creature_text.sql b/sql/updates/world/2013_04_16_02_world_creature_text.sql new file mode 100644 index 00000000000..034c632d12a --- /dev/null +++ b/sql/updates/world/2013_04_16_02_world_creature_text.sql @@ -0,0 +1,44 @@ +UPDATE `creature_text` SET `entry`=29227 WHERE `entry`=29173 AND `groupid`=76; +UPDATE `creature_text` SET `entry`=36794 WHERE `entry`=36658 AND `groupid` IN (1,2); + +DELETE FROM `creature_text` WHERE `entry` IN (18879,17491); +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`text`,`type`,`comment`) VALUES +(18879,0,0,'The %s is very weak',16,'Phase Hunter - Emote'), +(17491,0,0,'Gakarah ma!',12,'Laughing Skull Rogue'), +(17491,0,1,'We are the true Horde!',12,'Laughing Skull Rogue'); + +DELETE FROM `smart_scripts` WHERE `entryorguid`=26670; +INSERT INTO `smart_scripts` VALUES +(26670,0,0,1,1,0,100,6,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter - Out Of Combat - Allow Combat Movement'), +(26670,0,1,0,61,0,100,0,0,0,0,0,20,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter - Out Of Combat - Start Auto Attack'), +(26670,0,2,3,4,0,100,3,0,0,0,0,11,48854,0,0,0,0,0,2,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter (Normal) - On Aggro - Cast Shoot'), +(26670,0,3,0,61,0,100,0,0,0,0,0,23,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter (Normal) - On Aggro - Increment Phase'), +(26670,0,4,5,9,1,100,2,5,30,5000,8000,11,48854,0,0,0,0,0,2,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter (Normal) - At 5 - 30 Range - Cast Shoot'), +(26670,0,5,0,61,0,100,0,0,0,0,0,40,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter (Normal) - At 5 - 30 Range - Display ranged weapon'), +(26670,0,6,7,4,0,100,5,0,0,0,0,11,59241,0,0,0,0,0,2,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter (Heroic) - On Aggro - Cast Shoot'), +(26670,0,7,0,61,0,100,0,0,0,0,0,23,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter (Heroic) - On Aggro - Increment Phase'), +(26670,0,8,9,9,1,100,4,5,30,5000,8000,11,59241,0,0,0,0,0,2,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter (Heroic) - At 5 - 30 Range - Cast Shoot'), +(26670,0,9,0,61,0,100,0,0,0,0,0,40,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter (Heroic) - At 5 - 30 Range - Display ranged weapon'), +(26670,0,10,11,9,1,100,6,25,80,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter - At 25 - 80 Range - Allow Combat Movement'), +(26670,0,11,0,61,0,100,0,0,0,0,0,20,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter - At 25 - 80 Range - Start Auto Attack'), +(26670,0,12,13,9,1,100,6,0,5,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter - At 0 - 5 Range - Allow Combat Movement'), +(26670,0,13,14,61,0,100,0,0,0,0,0,40,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter - At 0 - 5 Range - Display melee weapon'), +(26670,0,14,0,61,0,100,0,0,0,0,0,20,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter - At 0 - 5 Range - Start Auto Attack'), +(26670,0,15,16,9,1,100,6,5,15,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter - At 5 - 15 Range - Allow Combat Movement'), +(26670,0,16,0,61,0,100,0,0,0,0,0,20,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter - At 5 - 15 Range - Start Auto Attack'),(26670,0,17,17,0,0,100,2,9000,14000,22000,26000,11,48871,0,0,0,0,0,5,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter (Normal) - In Combat - Cast Aimed Shot'),(26670,0,18,0,61,0,100,0,0,0,0,0,40,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter (Normal) - In Combat - Display ranged weapon'),(26670,0,19,20,0,0,100,4,9000,14000,22000,26000,11,59243,0,0,0,0,0,5,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter (Heroic) - In Combat - Cast Aimed Shot'),(26670,0,20,0,61,0,100,0,0,0,0,0,40,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter (Heroic) - In Combat - Display ranged weapon'),(26670,0,21,22,0,0,100,2,14000,17000,24000,27000,11,48872,1,0,0,0,0,6,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter (Normal) - In Combat - Cast Multi-Shot'),(26670,0,22,0,61,0,100,0,0,0,0,0,40,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter (Normal) - In Combat - Display ranged weapon'),(26670,0,23,24,0,0,100,4,14000,17000,24000,27000,11,59244,1,0,0,0,0,6,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter (Heroic) - In Combat - Cast Multi-Shot'),(26670,0,24,0,61,0,100,0,0,0,0,0,40,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter (Heroic) - In Combat - Display ranged weapon'),(26670,0,25,0,2,0,100,7,0,15,0,0,23,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter - At 15% HP - Increment Phase'),(26670,0,26,27,2,2,100,7,0,15,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter - At 15% HP - Allow Combat Movement'),(26670,0,27,0,61,0,100,0,0,0,0,0,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter - At 15% HP - Flee For Assist'),(26670,0,28,0,7,0,100,6,0,0,0,0,40,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ymirjar Flesh Hunter - On Evade - Display melee weapon'); + +DELETE FROM `creature_text` WHERE `entry` IN (23980,23954); +INSERT INTO `creature_text`(`entry`,`groupid`,`text`,`type`,`sound`,`comment`) VALUES +(23954,0,'I\'ll paint my face with your blood!',14,13207,'ingvar SAY_AGGRO_FIRST'), +(23954,1,'Mjul orm agn gjor!',14,13212,'ingvar SAY_KILL_FIRST'), +(23954,2,'My life for the... death god!',14,13213,'ingvar SAY_DEATH_FIRST'), +(23980,0,'I return! A second chance to carve out your skull!',14,13209,'ingvar SAY_AGGRO_SECOND'), +(23980,1,'I am a warrior born!',14,13214,'ingvar SAY_KILL_SECOND'), +(23980,2,'No! I can do... better! I can...',14,13211,'ingvar SAY_DEATH_SECOND'); + +DELETE FROM `creature_text` WHERE `entry`=11440; +INSERT INTO `creature_text`(`entry`,`id`,`text`,`type`,`probability`,`comment`) VALUES +(11440,0,'I\'ll crush you!',12,100,'Gordok Enforcer Aggro'), +(11440,1,'Me not feel so good.',12,100,'Gordok Enforcer Aggro'), +(11440,2,'Me smash! You die!',12,100,'Gordok Enforcer Aggro'), +(11440,3,'Raaar!!! Me smash $R!',12,100,'Gordok Enforcer Aggro'); diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index 7f6a9c1d63b..c479e4ef432 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -371,7 +371,7 @@ public: creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNK_15); - sCreatureTextMgr->SendChat(creature, SAY_EVENT_ATTACK, 0, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, player); + sCreatureTextMgr->SendChat(creature, SAY_DUEL, 0, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, player); player->CastSpell(creature, SPELL_DUEL, false); player->CastSpell(player, SPELL_DUEL_FLAG, true); diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp index 7af7e1e78bc..156d31c804f 100644 --- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp +++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp @@ -98,34 +98,32 @@ public: npc_shadowfang_prisonerAI(Creature* creature) : npc_escortAI(creature) { instance = creature->GetInstanceScript(); - uiNpcEntry = creature->GetEntry(); } InstanceScript* instance; - uint32 uiNpcEntry; void WaypointReached(uint32 waypointId) { switch (waypointId) { case 0: - if (uiNpcEntry == NPC_ASH) + if (me->GetEntry() == NPC_ASH) Talk(SAY_FREE_AS); else Talk(SAY_FREE_AD); break; case 10: - if (uiNpcEntry == NPC_ASH) + if (me->GetEntry() == NPC_ASH) Talk(SAY_OPEN_DOOR_AS); else Talk(SAY_OPEN_DOOR_AD); break; case 11: - if (uiNpcEntry == NPC_ASH) + if (me->GetEntry() == NPC_ASH) DoCast(me, SPELL_UNLOCK); break; case 12: - if (uiNpcEntry == NPC_ASH) + if (me->GetEntry() == NPC_ASH) Talk(SAY_POST_DOOR_AS); else Talk(SAY_POST1_DOOR_AD); @@ -134,7 +132,7 @@ public: instance->SetData(TYPE_FREE_NPC, DONE); break; case 13: - if (uiNpcEntry != NPC_ASH) + if (me->GetEntry() != NPC_ASH) Talk(SAY_POST2_DOOR_AD); break; } diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp index 215630ac5fa..dfb12a03c33 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp @@ -30,13 +30,12 @@ enum Yells { //Yells Ingvar YELL_AGGRO_1 = 0, - YELL_AGGRO_2 = 1, - + YELL_KILL_1 = 1, YELL_DEAD_1 = 2, - YELL_DEAD_2 = 3, - YELL_KILL_1 = 4, - YELL_KILL_2 = 5, + YELL_AGGRO_2 = 0, + YELL_KILL_2 = 1, + YELL_DEAD_2 = 2 }; enum Creatures -- cgit v1.2.3 From 353b82c48b65e53ec1637e4dc25765725da32914 Mon Sep 17 00:00:00 2001 From: Kirkhammett Date: Fri, 19 Apr 2013 18:07:19 +0200 Subject: DB/SAI: Missing event flags now added Closes #9668 --- sql/updates/world/2013_04_19_00_world_sai.sql | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 sql/updates/world/2013_04_19_00_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_19_00_world_sai.sql b/sql/updates/world/2013_04_19_00_world_sai.sql new file mode 100644 index 00000000000..9ea635824ea --- /dev/null +++ b/sql/updates/world/2013_04_19_00_world_sai.sql @@ -0,0 +1,10 @@ +-- Event flag additions +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=7023 AND `source_type`=0 AND `id`=0 AND `link`=1; +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=7023 AND `source_type`=0 AND `id`=1 AND `link`=0; +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=7023 AND `source_type`=0 AND `id`=2 AND `link`=3; +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=7023 AND `source_type`=0 AND `id`=3 AND `link`=0; +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=7023 AND `source_type`=0 AND `id`=4 AND `link`=5; +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=7023 AND `source_type`=0 AND `id`=5 AND `link`=0; +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=7023 AND `source_type`=0 AND `id`=6 AND `link`=7; +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=7023 AND `source_type`=0 AND `id`=7 AND `link`=0; +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=2244 AND `source_type`=0 AND `id`=11 AND `link`=12; -- cgit v1.2.3 From 678cade1163080263bdea9e349fbb67b7af15ea7 Mon Sep 17 00:00:00 2001 From: xjose93 Date: Tue, 16 Apr 2013 17:08:58 +0200 Subject: Core/Commands: rename guilds (.guild rename "old guildname" "new guildname") --- sql/updates/world/2013_04_16_01_world_misc.sql | 10 +++++ src/server/game/Guilds/Guild.cpp | 13 ++++++ src/server/game/Guilds/Guild.h | 2 + src/server/game/Miscellaneous/Language.h | 4 +- src/server/scripts/Commands/cs_guild.cpp | 50 ++++++++++++++++++++++ .../Database/Implementation/CharacterDatabase.cpp | 2 + .../Database/Implementation/CharacterDatabase.h | 1 + 7 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 sql/updates/world/2013_04_16_01_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_16_01_world_misc.sql b/sql/updates/world/2013_04_16_01_world_misc.sql new file mode 100644 index 00000000000..4c7561a0e69 --- /dev/null +++ b/sql/updates/world/2013_04_16_01_world_misc.sql @@ -0,0 +1,10 @@ +DELETE FROM `command` WHERE `name` = 'guild rename'; +INSERT INTO `command` (`name`, `security`, `help`) VALUES +('guild rename', 3, 'Syntax: .guild rename "$GuildName" "$NewGuildName" \n\n Rename a guild named $GuildName with $NewGuildName. Guild name and new guild name must in quotes.'); + +SET @ENTRY1 := 96; +SET @ENTRY2 := 97; +DELETE FROM `trinity_string` WHERE `entry` IN (@ENTRY1, @ENTRY2); +INSERT INTO `trinity_string` (`entry`, `content_default`) VALUES +(@ENTRY1, 'The guild name \'%s\' is already taken'), +(@ENTRY2, 'Changed guild name \'%s\' to \'%s\''); diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index 158a20d67d1..2ec9130f263 100644 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -1285,6 +1285,19 @@ void Guild::OnPlayerStatusChange(Player* player, uint32 flag, bool state) } } +bool Guild::SetName(std::string const& name) +{ + if (m_name == name || name.empty() || name.length() > 24 || sObjectMgr->IsReservedName(name) || !ObjectMgr::IsValidCharterName(name)) + return false; + + m_name = name; + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_GUILD_NAME); + stmt->setString(0, m_name); + stmt->setUInt32(1, GetId()); + CharacterDatabase.Execute(stmt); + return true; +} + void Guild::HandleRoster(WorldSession* session /*= NULL*/) { // Guess size diff --git a/src/server/game/Guilds/Guild.h b/src/server/game/Guilds/Guild.h index 6af397f6fed..f6a3e095957 100644 --- a/src/server/game/Guilds/Guild.h +++ b/src/server/game/Guilds/Guild.h @@ -657,6 +657,8 @@ public: std::string const& GetMOTD() const { return m_motd; } std::string const& GetInfo() const { return m_info; } + bool SetName(std::string const& name); + // Handle client commands void HandleRoster(WorldSession* session = NULL); // NULL = broadcast void HandleQuery(WorldSession* session); diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h index f4379e59f19..e03adf2a4a1 100644 --- a/src/server/game/Miscellaneous/Language.h +++ b/src/server/game/Miscellaneous/Language.h @@ -119,7 +119,9 @@ enum TrinityStrings LANG_RBAC_LIST_GROUPS_HEADER = 93, LANG_RBAC_LIST_ROLES_HEADER = 94, LANG_RBAC_LIST_PERMISSIONS_HEADER = 95, - // Room for more level 0 96-99 not used + LANG_GUILD_RENAME_ALREADY_EXISTS = 96, + LANG_GUILD_RENAME_DONE = 97, + // Room for more level 0 98-99 not used // level 1 chat LANG_GLOBAL_NOTIFY = 100, diff --git a/src/server/scripts/Commands/cs_guild.cpp b/src/server/scripts/Commands/cs_guild.cpp index afe792048f6..9d2214c82e9 100644 --- a/src/server/scripts/Commands/cs_guild.cpp +++ b/src/server/scripts/Commands/cs_guild.cpp @@ -43,6 +43,7 @@ public: { "invite", SEC_GAMEMASTER, true, &HandleGuildInviteCommand, "", NULL }, { "uninvite", SEC_GAMEMASTER, true, &HandleGuildUninviteCommand, "", NULL }, { "rank", SEC_GAMEMASTER, true, &HandleGuildRankCommand, "", NULL }, + { "rename", SEC_GAMEMASTER, true, &HandleGuildRenameCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = @@ -192,6 +193,55 @@ public: uint8 newRank = uint8(atoi(rankStr)); return targetGuild->ChangeMemberRank(targetGuid, newRank); } + + static bool HandleGuildRenameCommand(ChatHandler* handler, char const* _args) + { + if (!*_args) + return false; + + char *args = (char *)_args; + + char const* oldGuildStr = handler->extractQuotedArg(args); + if (!oldGuildStr) + { + handler->SendSysMessage(LANG_BAD_VALUE); + handler->SetSentErrorMessage(true); + return false; + } + + char const* newGuildStr = handler->extractQuotedArg(strtok(NULL, "")); + if (!newGuildStr) + { + handler->SendSysMessage(LANG_INSERT_GUILD_NAME); + handler->SetSentErrorMessage(true); + return false; + } + + Guild* guild = sGuildMgr->GetGuildByName(oldGuildStr); + if (!guild) + { + handler->PSendSysMessage(LANG_COMMAND_COULDNOTFIND, oldGuildStr); + handler->SetSentErrorMessage(true); + return false; + } + + if (sGuildMgr->GetGuildByName(newGuildStr)) + { + handler->PSendSysMessage(LANG_GUILD_RENAME_ALREADY_EXISTS, newGuildStr); + handler->SetSentErrorMessage(true); + return false; + } + + if (!guild->SetName(newGuildStr)) + { + handler->SendSysMessage(LANG_BAD_VALUE); + handler->SetSentErrorMessage(true); + return false; + } + + handler->PSendSysMessage(LANG_GUILD_RENAME_DONE, oldGuildStr, newGuildStr); + return true; + } }; void AddSC_guild_commandscript() diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.cpp b/src/server/shared/Database/Implementation/CharacterDatabase.cpp index 2b57693db9b..f834ead6a5b 100644 --- a/src/server/shared/Database/Implementation/CharacterDatabase.cpp +++ b/src/server/shared/Database/Implementation/CharacterDatabase.cpp @@ -171,6 +171,8 @@ void CharacterDatabaseConnection::DoPrepareStatements() // 0: uint32, 1: string, 2: uint32, 3: string, 4: string, 5: uint64, 6-10: uint32, 11: uint64 PrepareStatement(CHAR_INS_GUILD, "INSERT INTO guild (guildid, name, leaderguid, info, motd, createdate, EmblemStyle, EmblemColor, BorderStyle, BorderColor, BackgroundColor, BankMoney) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC); PrepareStatement(CHAR_DEL_GUILD, "DELETE FROM guild WHERE guildid = ?", CONNECTION_ASYNC); // 0: uint32 + // 0: string, 1: uint32 + PrepareStatement(CHAR_UPD_GUILD_NAME, "UPDATE guild SET name = ? WHERE guildid = ?", CONNECTION_ASYNC); // 0: uint32, 1: uint32, 2: uint8, 4: string, 5: string PrepareStatement(CHAR_INS_GUILD_MEMBER, "INSERT INTO guild_member (guildid, guid, rank, pnote, offnote) VALUES (?, ?, ?, ?, ?)", CONNECTION_ASYNC); PrepareStatement(CHAR_DEL_GUILD_MEMBER, "DELETE FROM guild_member WHERE guid = ?", CONNECTION_ASYNC); // 0: uint32 diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.h b/src/server/shared/Database/Implementation/CharacterDatabase.h index 3eb6a726007..65878b4c577 100644 --- a/src/server/shared/Database/Implementation/CharacterDatabase.h +++ b/src/server/shared/Database/Implementation/CharacterDatabase.h @@ -166,6 +166,7 @@ enum CharacterDatabaseStatements CHAR_INS_GUILD, CHAR_DEL_GUILD, + CHAR_UPD_GUILD_NAME, CHAR_INS_GUILD_MEMBER, CHAR_DEL_GUILD_MEMBER, CHAR_DEL_GUILD_MEMBERS, -- cgit v1.2.3 From 888f8f7a8a17d58a46968bdc169f4a25a0fef4ab Mon Sep 17 00:00:00 2001 From: wintergreen77 Date: Sat, 20 Apr 2013 09:50:13 +0200 Subject: DB/Loot: Insert Frozen Orb into The Prophet Tharon'ja's loot template Closes #9605 --- sql/updates/world/2013_04_20_00_world_creature_loot_template.sql | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 sql/updates/world/2013_04_20_00_world_creature_loot_template.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_20_00_world_creature_loot_template.sql b/sql/updates/world/2013_04_20_00_world_creature_loot_template.sql new file mode 100644 index 00000000000..70bb2735f90 --- /dev/null +++ b/sql/updates/world/2013_04_20_00_world_creature_loot_template.sql @@ -0,0 +1,4 @@ +-- Insert Frozen Orb into The Prophet Tharon'ja's loot template +DELETE FROM `creature_loot_template` WHERE `entry`=31360 and `item`=43102; +INSERT INTO `creature_loot_template` (`entry`,`item`,`ChanceOrQuestChance`,`lootmode`,`groupid`,`mincountOrRef`,`maxcount`) VALUES +(31360,43102,100,1,0,1,1); -- cgit v1.2.3 From d1964f6ee12eb9cef0e4a1ce1c5dbf1c1000810e Mon Sep 17 00:00:00 2001 From: kirkhammett Date: Sat, 20 Apr 2013 09:57:21 +0200 Subject: DB/Conditions: add correct conditions to Lokhtos Darkbargainer's shop Closes #9594 --- .../world/2013_04_20_01_world_conditions.sql | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 sql/updates/world/2013_04_20_01_world_conditions.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_20_01_world_conditions.sql b/sql/updates/world/2013_04_20_01_world_conditions.sql new file mode 100644 index 00000000000..3f4ce559256 --- /dev/null +++ b/sql/updates/world/2013_04_20_01_world_conditions.sql @@ -0,0 +1,38 @@ +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=23 AND `SourceGroup`=12944 AND `SourceEntry` IN (20761,17051,17022,17018,17023,19444); +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=23 AND `SourceGroup`=12944 AND `SourceEntry` IN (19219,17017,17025,19330,19448,17059,17060,17049,19206); +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=23 AND `SourceGroup`=12944 AND `SourceEntry` IN (19220,19332,19333,19331,19449,19209,19208,19207,17053,17052); +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=23 AND `SourceGroup`=12944 AND `SourceEntry` IN (19211,19210,19212,20040); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +-- Conditon rep Friendly +(23,12944,20761,0,0,5,0,59,16|32|64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Friendly with Thorium Brotherhood'), +(23,12944,17051,0,0,5,0,59,16|32|64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Friendly with Thorium Brotherhood'), +(23,12944,17022,0,0,5,0,59,16|32|64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Friendly with Thorium Brotherhood'), +(23,12944,17018,0,0,5,0,59,16|32|64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Friendly with Thorium Brotherhood'), +(23,12944,17023,0,0,5,0,59,16|32|64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Friendly with Thorium Brotherhood'), +(23,12944,19444,0,0,5,0,59,16|32|64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Friendly with Thorium Brotherhood'), +-- Conditon rep Honored +(23,12944,19219,0,0,5,0,59,32|64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Honored with Thorium Brotherhood'), +(23,12944,17017,0,0,5,0,59,32|64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Honored with Thorium Brotherhood'), +(23,12944,17025,0,0,5,0,59,32|64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Honored with Thorium Brotherhood'), +(23,12944,19330,0,0,5,0,59,32|64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Honored with Thorium Brotherhood'), +(23,12944,19448,0,0,5,0,59,32|64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Honored with Thorium Brotherhood'), +(23,12944,17059,0,0,5,0,59,32|64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Honored with Thorium Brotherhood'), +(23,12944,17060,0,0,5,0,59,32|64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Honored with Thorium Brotherhood'), +(23,12944,17049,0,0,5,0,59,32|64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Honored with Thorium Brotherhood'), +(23,12944,19206,0,0,5,0,59,32|64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Honored with Thorium Brotherhood'), +-- Conditon rep Revered +(23,12944,19220,0,0,5,0,59,64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Revered with Thorium Brotherhood'), +(23,12944,19332,0,0,5,0,59,64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Revered with Thorium Brotherhood'), +(23,12944,19333,0,0,5,0,59,64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Revered with Thorium Brotherhood'), +(23,12944,19331,0,0,5,0,59,64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Revered with Thorium Brotherhood'), +(23,12944,19449,0,0,5,0,59,64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Revered with Thorium Brotherhood'), +(23,12944,19209,0,0,5,0,59,64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Revered with Thorium Brotherhood'), +(23,12944,19208,0,0,5,0,59,64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Revered with Thorium Brotherhood'), +(23,12944,19207,0,0,5,0,59,64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Revered with Thorium Brotherhood'), +(23,12944,17053,0,0,5,0,59,64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Revered with Thorium Brotherhood'), +(23,12944,17052,0,0,5,0,59,64|128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Revered with Thorium Brotherhood'), +-- Conditon rep Exalted +(23,12944,19211,0,0,5,0,59,128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Exalted with Thorium Brotherhood'), +(23,12944,19210,0,0,5,0,59,128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Exalted with Thorium Brotherhood'), +(23,12944,19212,0,0,5,0,59,128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Exalted with Thorium Brotherhood'), +(23,12944,20040,0,0,5,0,59,128,0,0,0, '', 'Lokhtos Darkbargainer - Only sell item if Exalted with Thorium Brotherhood'); -- cgit v1.2.3 From 62ecc11cfbc92899637b133ec36b28716945b1f7 Mon Sep 17 00:00:00 2001 From: ZxBiohazardZx Date: Sun, 21 Apr 2013 12:27:52 +0200 Subject: DB/Loot: Update loot for Scarab Coffers in AQ (related to issue #9638) Update loot for Axtroz (related to issue #9610) --- ...013_04_21_00_world_gameobject_loot_template.sql | 23 ++++++++++++++++++++++ .../2013_04_21_00_world_skinning_loot_template.sql | 7 +++++++ 2 files changed, 30 insertions(+) create mode 100644 sql/updates/world/2013_04_21_00_world_gameobject_loot_template.sql create mode 100644 sql/updates/world/2013_04_21_00_world_skinning_loot_template.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_21_00_world_gameobject_loot_template.sql b/sql/updates/world/2013_04_21_00_world_gameobject_loot_template.sql new file mode 100644 index 00000000000..54b91b9fd44 --- /dev/null +++ b/sql/updates/world/2013_04_21_00_world_gameobject_loot_template.sql @@ -0,0 +1,23 @@ +-- Updating maxcount for Scarab Scarab Bag +UPDATE `item_loot_template` SET `maxcount`=5 WHERE `entry`=21156 AND `item` IN (20858,20859,20860,20861,20862,20863,20864,20865); +UPDATE `reference_loot_template` SET `maxcount`=2 WHERE `entry`=14001 AND `item` IN (20866,20867,20868,20869,20870,20871,20872,20873); +-- Updating loot for Scarab Coffer +DELETE FROM `gameobject_loot_template` WHERE `entry` IN (17532,17533); +INSERT INTO `gameobject_loot_template` VALUES +-- Scarab Coffer +(17532,21156,-100,1,0,1,1), -- Always drop a Sacrab Bag +(17532,1,100,1,0,-14001,1), -- Drop a AQ20 idol from reference +-- Large Scarab Coffer +(17533,21156,-100,1,0,1,1), -- Always drop a Sacrab Bag +(17533,1,100,1,0,-14502,1); -- Drop a AQ40 idol from reference +-- Updating loot for Large Scarab Coffer +DELETE FROM `reference_loot_template` WHERE `entry`=14502; +INSERT INTO `reference_loot_template` VALUES +(14502,20877,0,1,1,1,3), -- 1 to 3 Idol of the Sage +(14502,20879,0,1,1,1,3), -- 1 to 3 Idol of Life +(14502,20878,0,1,1,1,3), -- 1 to 3 Idol of Rebirth +(14502,20881,0,1,1,1,3), -- 1 to 3 Idol of Strife +(14502,20874,0,1,1,1,3), -- 1 to 3 Idol of the Sun +(14502,20882,0,1,1,1,3), -- 1 to 3 Idol of War +(14502,20876,0,1,1,1,3), -- 1 to 3 Idol of Death +(14502,20875,0,1,1,1,3); -- 1 to 3 Idol of Night diff --git a/sql/updates/world/2013_04_21_00_world_skinning_loot_template.sql b/sql/updates/world/2013_04_21_00_world_skinning_loot_template.sql new file mode 100644 index 00000000000..b9daf120d7a --- /dev/null +++ b/sql/updates/world/2013_04_21_00_world_skinning_loot_template.sql @@ -0,0 +1,7 @@ +-- Simplify skinloot for Axtroz and make sure something drops as well +UPDATE `skinning_loot_template` SET `ChanceOrQuestChance`=50 WHERE `entry`=12899 AND `item`=8170; +UPDATE `skinning_loot_template` SET `ChanceOrQuestChance`=35 WHERE `entry`=12899 AND `item`=15414; +UPDATE `skinning_loot_template` SET `ChanceOrQuestChance`=10 WHERE `entry`=12899 AND `item`=8165; +UPDATE `skinning_loot_template` SET `ChanceOrQuestChance`=0 WHERE `entry`=12899 AND `item`=4304; +-- Update dropchance for rare items on Axtroz +UPDATE `creature_loot_template` SET `ChanceOrQuestChance`=5 WHERE `entry`=12899 AND `mincountOrRef`=-24020; -- cgit v1.2.3 From f692d368f5ef1e99e496878018a1b40746ffd1da Mon Sep 17 00:00:00 2001 From: Foldor Date: Sun, 21 Apr 2013 12:32:59 +0200 Subject: DB/Gameobject: Add missing template for Silver Covenant Banner (202193) Closes # 9080 --- sql/updates/world/2013_04_21_01_world_gameobject_template.sql | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 sql/updates/world/2013_04_21_01_world_gameobject_template.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_21_01_world_gameobject_template.sql b/sql/updates/world/2013_04_21_01_world_gameobject_template.sql new file mode 100644 index 00000000000..6888545c123 --- /dev/null +++ b/sql/updates/world/2013_04_21_01_world_gameobject_template.sql @@ -0,0 +1,3 @@ +DELETE FROM `gameobject_template` WHERE `entry`=202193; +INSERT INTO `gameobject_template` (`entry`, `type`, `displayId`, `name`, `IconName`, `castBarCaption`, `unk1`, `faction`, `flags`, `size`, `questItem1`, `questItem2`, `questItem3`, `questItem4`, `questItem5`, `questItem6`, `data0`, `data1`, `data2`, `data3`, `data4`, `data5`, `data6`, `data7`, `data8`, `data9`, `data10`, `data11`, `data12`, `data13`, `data14`, `data15`, `data16`, `data17`, `data18`, `data19`, `data20`, `data21`, `data22`, `data23`, `AIName`, `ScriptName`, `WDBVerified`) VALUES +(202193, 5, 9050, 'Silver Covenant Banner', '', '', '', 0, 0, 0.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', '', 15595); -- cgit v1.2.3 From 00a3023314402a039963bf9023dfc0e04a2bac06 Mon Sep 17 00:00:00 2001 From: Kirkhammett Date: Sun, 21 Apr 2013 12:51:47 +0200 Subject: DB/SAI: fix runtime errors and some other stuff. see issue #9667 --- sql/updates/world/2013_04_21_02_world_sai.sql | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 sql/updates/world/2013_04_21_02_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_21_02_world_sai.sql b/sql/updates/world/2013_04_21_02_world_sai.sql new file mode 100644 index 00000000000..75dc64161ef --- /dev/null +++ b/sql/updates/world/2013_04_21_02_world_sai.sql @@ -0,0 +1,10 @@ +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=17210 AND `source_type`=0 AND `id`=2 AND `link`=3; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=23619 AND `source_type`=0 AND `id`=1 AND `link`=2; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=23623 AND `source_type`=0 AND `id`=1 AND `link`=2; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=23624 AND `source_type`=0 AND `id`=1 AND `link`=2; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=23625 AND `source_type`=0 AND `id`=1 AND `link`=2; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=23626 AND `source_type`=0 AND `id`=1 AND `link`=2; +UPDATE `smart_scripts` SET `link`=0, `event_type`=0 WHERE `entryorguid`=83600 AND `source_type`=9 AND `id`=0 AND `link`=1; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=1173 AND `source_type`=0 AND `id`=8 AND `link`=9; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=23339 AND `source_type`=0 AND `id`=8 AND `link`=9; +UPDATE `creature_template` SET `ScriptName`='' WHERE `entry` IN (10981,10982,10986,10987,10990,11602,11603,11605,11678,11839,12050,12051,12053,12127,13078,13080,13089,13097,13098,13179,13284,13316,13317,13326,13328,13396,13438,13442,13443,13447,13577,13797,13798,14283); -- cgit v1.2.3 From 7542049eba46205572b9c9498d6891df31d0ca5b Mon Sep 17 00:00:00 2001 From: Bezo Date: Mon, 15 Apr 2013 14:56:00 +0300 Subject: [Ip2nationLock] Implement the ip2nation lock country. --- sql/base/auth_database.sql | 1 + sql/updates/auth/2013_04_22_00_auth_misc.sql | 21 ++++++++ sql/updates/world/2013_04_22_00_world_misc.sql | 7 +++ src/server/authserver/Server/AuthSocket.cpp | 40 ++++++++++++--- src/server/scripts/Commands/cs_account.cpp | 60 +++++++++++++++++++++- src/server/scripts/Commands/cs_misc.cpp | 2 +- .../Database/Implementation/LoginDatabase.cpp | 5 +- .../shared/Database/Implementation/LoginDatabase.h | 3 ++ .../Database/Implementation/WorldDatabase.cpp | 1 - .../shared/Database/Implementation/WorldDatabase.h | 1 - 10 files changed, 129 insertions(+), 12 deletions(-) create mode 100644 sql/updates/auth/2013_04_22_00_auth_misc.sql create mode 100644 sql/updates/world/2013_04_22_00_world_misc.sql (limited to 'sql') diff --git a/sql/base/auth_database.sql b/sql/base/auth_database.sql index c3752e980dd..943be73b20f 100644 --- a/sql/base/auth_database.sql +++ b/sql/base/auth_database.sql @@ -34,6 +34,7 @@ CREATE TABLE `account` ( `last_ip` varchar(15) NOT NULL DEFAULT '127.0.0.1', `failed_logins` int(10) unsigned NOT NULL DEFAULT '0', `locked` tinyint(3) unsigned NOT NULL DEFAULT '0', + `lock_country` varchar(2) NOT NULL DEFAULT '00', `last_login` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `online` tinyint(3) unsigned NOT NULL DEFAULT '0', `expansion` tinyint(3) unsigned NOT NULL DEFAULT '2', diff --git a/sql/updates/auth/2013_04_22_00_auth_misc.sql b/sql/updates/auth/2013_04_22_00_auth_misc.sql new file mode 100644 index 00000000000..508c0aab944 --- /dev/null +++ b/sql/updates/auth/2013_04_22_00_auth_misc.sql @@ -0,0 +1,21 @@ +ALTER TABLE `account` ADD COLUMN `lock_country` VARCHAR(2) NOT NULL DEFAULT '00' AFTER `locked`; + +DROP TABLE IF EXISTS ip2nation; +CREATE TABLE ip2nation ( + ip int(11) unsigned NOT NULL default '0', + country char(2) NOT NULL default '', + KEY ip (ip) +); + +DROP TABLE IF EXISTS ip2nationCountries; +CREATE TABLE ip2nationCountries ( + code varchar(4) NOT NULL default '', + iso_code_2 varchar(2) NOT NULL default '', + iso_code_3 varchar(3) default '', + iso_country varchar(255) NOT NULL default '', + country varchar(255) NOT NULL default '', + lat float NOT NULL default '0', + lon float NOT NULL default '0', + PRIMARY KEY (code), + KEY code (code) +); diff --git a/sql/updates/world/2013_04_22_00_world_misc.sql b/sql/updates/world/2013_04_22_00_world_misc.sql new file mode 100644 index 00000000000..99eee20ffef --- /dev/null +++ b/sql/updates/world/2013_04_22_00_world_misc.sql @@ -0,0 +1,7 @@ +DROP TABLE IF EXISTS ip2nation; +DROP TABLE IF EXISTS ip2nationCountries; + +DELETE FROM `command` WHERE `name` in ('account lock', 'account lock ip', 'account lock country'); +INSERT INTO `command` (`name`,`security`,`help`) VALUES +('account lock ip', 0, 'Syntax: .account lock ip [on|off]\nAllow login from account only from current used IP or remove this requirement.'), +('account lock country', 0, 'Syntax: .account lock country [on|off]\nAllow login from account only from current used Country or remove this requirement.'); diff --git a/src/server/authserver/Server/AuthSocket.cpp b/src/server/authserver/Server/AuthSocket.cpp index 32ddf029f1c..a080a038314 100644 --- a/src/server/authserver/Server/AuthSocket.cpp +++ b/src/server/authserver/Server/AuthSocket.cpp @@ -386,17 +386,45 @@ bool AuthSocket::_HandleLogonChallenge() sLog->outDebug(LOG_FILTER_AUTHSERVER, "[AuthChallenge] Account '%s' is locked to IP - '%s'", _login.c_str(), fields[3].GetCString()); sLog->outDebug(LOG_FILTER_AUTHSERVER, "[AuthChallenge] Player address is '%s'", ip_address.c_str()); - if (strcmp(fields[3].GetCString(), ip_address.c_str())) + if (strcmp(fields[4].GetCString(), ip_address.c_str())) { sLog->outDebug(LOG_FILTER_AUTHSERVER, "[AuthChallenge] Account IP differs"); - pkt << (uint8) WOW_FAIL_SUSPENDED; + pkt << uint8(WOW_FAIL_LOCKED_ENFORCED); locked = true; } else sLog->outDebug(LOG_FILTER_AUTHSERVER, "[AuthChallenge] Account IP matches"); } else + { sLog->outDebug(LOG_FILTER_AUTHSERVER, "[AuthChallenge] Account '%s' is not locked to ip", _login.c_str()); + std::string accountCountry = fields[3].GetString(); + if (accountCountry.empty() || accountCountry == "00") + sLog->outDebug(LOG_FILTER_AUTHSERVER, "[AuthChallenge] Account '%s' is not locked to country", _login.c_str()); + else if (!accountCountry.empty()) + { + uint32 ip = inet_addr(ip_address.c_str()); + EndianConvertReverse(ip); + + stmt = LoginDatabase.GetPreparedStatement(LOGIN_SEL_LOGON_COUNTRY); + stmt->setUInt32(0, ip); + if (PreparedQueryResult sessionCountryQuery = LoginDatabase.Query(stmt)) + { + std::string loginCountry = (*sessionCountryQuery)[0].GetString(); + sLog->outDebug(LOG_FILTER_AUTHSERVER, "[AuthChallenge] Account '%s' is locked to country: '%s' Player country is '%s'", _login.c_str(), accountCountry.c_str(), loginCountry.c_str()); + if (loginCountry != accountCountry) + { + sLog->outDebug(LOG_FILTER_AUTHSERVER, "[AuthChallenge] Account country differs."); + pkt << uint8(WOW_FAIL_UNLOCKABLE_LOCK); + locked = true; + } + else + sLog->outDebug(LOG_FILTER_AUTHSERVER, "[AuthChallenge] Account country matches"); + } + else + sLog->outDebug(LOG_FILTER_AUTHSERVER, "[AuthChallenge] IP2NATION Table empty"); + } + } if (!locked) { @@ -426,8 +454,8 @@ bool AuthSocket::_HandleLogonChallenge() std::string rI = fields[0].GetString(); // Don't calculate (v, s) if there are already some in the database - std::string databaseV = fields[5].GetString(); - std::string databaseS = fields[6].GetString(); + std::string databaseV = fields[6].GetString(); + std::string databaseS = fields[7].GetString(); sLog->outDebug(LOG_FILTER_NETWORKIO, "database authentication values: v='%s' s='%s'", databaseV.c_str(), databaseS.c_str()); @@ -484,7 +512,7 @@ bool AuthSocket::_HandleLogonChallenge() if (securityFlags & 0x04) // Security token input pkt << uint8(1); - uint8 secLevel = fields[4].GetUInt8(); + uint8 secLevel = fields[5].GetUInt8(); _accountSecurityLevel = secLevel <= SEC_ADMINISTRATOR ? AccountTypes(secLevel) : SEC_ADMINISTRATOR; _localizationName.resize(4); @@ -498,7 +526,7 @@ bool AuthSocket::_HandleLogonChallenge() } } else //no account - pkt << (uint8)WOW_FAIL_UNKNOWN_ACCOUNT; + pkt << uint8(WOW_FAIL_UNKNOWN_ACCOUNT); } socket().send((char const*)pkt.contents(), pkt.size()); diff --git a/src/server/scripts/Commands/cs_account.cpp b/src/server/scripts/Commands/cs_account.cpp index 3953beab3da..cf2816c985e 100644 --- a/src/server/scripts/Commands/cs_account.cpp +++ b/src/server/scripts/Commands/cs_account.cpp @@ -42,13 +42,19 @@ public: { "password", SEC_CONSOLE, true, &HandleAccountSetPasswordCommand, "", NULL }, { NULL, SEC_PLAYER, false, NULL, "", NULL } }; + static ChatCommand accountLockCommandTable[] = + { + { "country", SEC_PLAYER, true, &HandleAccountLockCountryCommand, "", NULL }, + { "ip", SEC_PLAYER, true, &HandleAccountLockIpCommand, "", NULL }, + { NULL, SEC_PLAYER, false, NULL, "", NULL }, + }; static ChatCommand accountCommandTable[] = { { "addon", SEC_MODERATOR, false, &HandleAccountAddonCommand, "", NULL }, { "create", SEC_CONSOLE, true, &HandleAccountCreateCommand, "", NULL }, { "delete", SEC_CONSOLE, true, &HandleAccountDeleteCommand, "", NULL }, { "onlinelist", SEC_CONSOLE, true, &HandleAccountOnlineListCommand, "", NULL }, - { "lock", SEC_PLAYER, false, &HandleAccountLockCommand, "", NULL }, + { "lock", SEC_PLAYER, false, NULL, "", accountLockCommandTable }, { "set", SEC_ADMINISTRATOR, true, NULL, "", accountSetCommandTable }, { "password", SEC_PLAYER, false, &HandleAccountPasswordCommand, "", NULL }, { "", SEC_PLAYER, false, &HandleAccountCommand, "", NULL }, @@ -245,7 +251,57 @@ public: return true; } - static bool HandleAccountLockCommand(ChatHandler* handler, char const* args) + static bool HandleAccountLockCountryCommand(ChatHandler* handler, char const* args) + { + if (!*args) + { + handler->SendSysMessage(LANG_USE_BOL); + handler->SetSentErrorMessage(true); + return false; + } + std::string param = (char*)args; + + if (!param.empty()) + { + if (param == "on") + { + PreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_SEL_LOGON_COUNTRY); + uint32 ip = inet_addr(handler->GetSession()->GetRemoteAddress().c_str()); + EndianConvertReverse(ip); + stmt->setUInt32(0, ip); + PreparedQueryResult result = LoginDatabase.Query(stmt); + if (result) + { + Field* fields = result->Fetch(); + std::string country = fields[0].GetString(); + stmt = LoginDatabase.GetPreparedStatement(LOGIN_UPD_ACCOUNT_LOCK_CONTRY); + stmt->setString(0, country); + stmt->setUInt32(1, handler->GetSession()->GetAccountId()); + LoginDatabase.Execute(stmt); + handler->PSendSysMessage(LANG_COMMAND_ACCLOCKLOCKED); + } + else + { + handler->PSendSysMessage("[IP2NATION] Table empty"); + sLog->outDebug(LOG_FILTER_AUTHSERVER, "[IP2NATION] Table empty"); + } + } + else if (param == "off") + { + PreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_UPD_ACCOUNT_LOCK_CONTRY); + stmt->setString(0, "00"); + stmt->setUInt32(1, handler->GetSession()->GetAccountId()); + LoginDatabase.Execute(stmt); + handler->PSendSysMessage(LANG_COMMAND_ACCLOCKUNLOCKED); + } + return true; + } + handler->SendSysMessage(LANG_USE_BOL); + handler->SetSentErrorMessage(true); + return false; + } + + static bool HandleAccountLockIpCommand(ChatHandler* handler, char const* args) { if (!*args) { diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index c6d80cea3a5..bb7d6ea9594 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -1587,7 +1587,7 @@ public: EndianConvertReverse(ip); #endif - PreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_SEL_IP2NATION_COUNTRY); + PreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_SEL_IP2NATION_COUNTRY); stmt->setUInt32(0, ip); diff --git a/src/server/shared/Database/Implementation/LoginDatabase.cpp b/src/server/shared/Database/Implementation/LoginDatabase.cpp index a23294a038c..4b0ee041603 100644 --- a/src/server/shared/Database/Implementation/LoginDatabase.cpp +++ b/src/server/shared/Database/Implementation/LoginDatabase.cpp @@ -37,7 +37,8 @@ void LoginDatabaseConnection::DoPrepareStatements() PrepareStatement(LOGIN_SEL_SESSIONKEY, "SELECT a.sessionkey, a.id, aa.gmlevel FROM account a LEFT JOIN account_access aa ON (a.id = aa.id) WHERE username = ?", CONNECTION_SYNCH); PrepareStatement(LOGIN_UPD_VS, "UPDATE account SET v = ?, s = ? WHERE username = ?", CONNECTION_ASYNC); PrepareStatement(LOGIN_UPD_LOGONPROOF, "UPDATE account SET sessionkey = ?, last_ip = ?, last_login = NOW(), locale = ?, failed_logins = 0, os = ? WHERE username = ?", CONNECTION_ASYNC); - PrepareStatement(LOGIN_SEL_LOGONCHALLENGE, "SELECT a.sha_pass_hash, a.id, a.locked, a.last_ip, aa.gmlevel, a.v, a.s FROM account a LEFT JOIN account_access aa ON (a.id = aa.id) WHERE a.username = ?", CONNECTION_SYNCH); + PrepareStatement(LOGIN_SEL_LOGONCHALLENGE, "SELECT a.sha_pass_hash, a.id, a.locked, a.lock_country, a.last_ip, aa.gmlevel, a.v, a.s FROM account a LEFT JOIN account_access aa ON (a.id = aa.id) WHERE a.username = ?", CONNECTION_SYNCH); + PrepareStatement(LOGIN_SEL_LOGON_COUNTRY, "SELECT country FROM ip2nation WHERE ip < ? ORDER BY ip DESC LIMIT 0,1", CONNECTION_SYNCH); PrepareStatement(LOGIN_UPD_FAILEDLOGINS, "UPDATE account SET failed_logins = failed_logins + 1 WHERE username = ?", CONNECTION_ASYNC); PrepareStatement(LOGIN_SEL_FAILEDLOGINS, "SELECT id, failed_logins FROM account WHERE username = ?", CONNECTION_SYNCH); PrepareStatement(LOGIN_SEL_ACCOUNT_ID_BY_NAME, "SELECT id FROM account WHERE username = ?", CONNECTION_SYNCH); @@ -59,6 +60,7 @@ void LoginDatabaseConnection::DoPrepareStatements() PrepareStatement(LOGIN_INS_REALM_CHARACTERS_INIT, "INSERT INTO realmcharacters (realmid, acctid, numchars) SELECT realmlist.id, account.id, 0 FROM realmlist, account LEFT JOIN realmcharacters ON acctid=account.id WHERE acctid IS NULL", CONNECTION_ASYNC); PrepareStatement(LOGIN_UPD_EXPANSION, "UPDATE account SET expansion = ? WHERE id = ?", CONNECTION_ASYNC); PrepareStatement(LOGIN_UPD_ACCOUNT_LOCK, "UPDATE account SET locked = ? WHERE id = ?", CONNECTION_ASYNC); + PrepareStatement(LOGIN_UPD_ACCOUNT_LOCK_CONTRY, "UPDATE account SET lock_country = ? WHERE id = ?", CONNECTION_ASYNC); PrepareStatement(LOGIN_INS_LOG, "INSERT INTO logs (time, realm, type, level, string) VALUES (?, ?, ?, ?, ?)", CONNECTION_ASYNC); PrepareStatement(LOGIN_UPD_USERNAME, "UPDATE account SET v = 0, s = 0, username = ?, sha_pass_hash = ? WHERE id = ?", CONNECTION_ASYNC); PrepareStatement(LOGIN_UPD_PASSWORD, "UPDATE account SET v = 0, s = 0, sha_pass_hash = ? WHERE id = ?", CONNECTION_ASYNC); @@ -88,6 +90,7 @@ void LoginDatabaseConnection::DoPrepareStatements() PrepareStatement(LOGIN_SEL_ACCOUNT_WHOIS, "SELECT username, email, last_ip FROM account WHERE id = ?", CONNECTION_SYNCH); PrepareStatement(LOGIN_SEL_REALMLIST_SECURITY_LEVEL, "SELECT allowedSecurityLevel from realmlist WHERE id = ?", CONNECTION_SYNCH); PrepareStatement(LOGIN_DEL_ACCOUNT, "DELETE FROM account WHERE id = ?", CONNECTION_ASYNC); + PrepareStatement(LOGIN_SEL_IP2NATION_COUNTRY, "SELECT c.country FROM ip2nationCountries c, ip2nation i WHERE i.ip < ? AND c.code = i.country ORDER BY i.ip DESC LIMIT 0,1", CONNECTION_SYNCH); PrepareStatement(LOGIN_SEL_ACCOUNT_ACCESS_BY_ID, "SELECT gmlevel, RealmID FROM account_access WHERE id = ? and (RealmID = ? OR RealmID = -1) ORDER BY gmlevel desc", CONNECTION_SYNCH); diff --git a/src/server/shared/Database/Implementation/LoginDatabase.h b/src/server/shared/Database/Implementation/LoginDatabase.h index 939cc4b4790..0f5a388a0b0 100644 --- a/src/server/shared/Database/Implementation/LoginDatabase.h +++ b/src/server/shared/Database/Implementation/LoginDatabase.h @@ -56,6 +56,7 @@ enum LoginDatabaseStatements LOGIN_UPD_VS, LOGIN_UPD_LOGONPROOF, LOGIN_SEL_LOGONCHALLENGE, + LOGIN_SEL_LOGON_COUNTRY, LOGIN_UPD_FAILEDLOGINS, LOGIN_SEL_FAILEDLOGINS, LOGIN_SEL_ACCOUNT_ID_BY_NAME, @@ -79,6 +80,7 @@ enum LoginDatabaseStatements LOGIN_INS_REALM_CHARACTERS_INIT, LOGIN_UPD_EXPANSION, LOGIN_UPD_ACCOUNT_LOCK, + LOGIN_UPD_ACCOUNT_LOCK_CONTRY, LOGIN_INS_LOG, LOGIN_UPD_USERNAME, LOGIN_UPD_PASSWORD, @@ -108,6 +110,7 @@ enum LoginDatabaseStatements LOGIN_SEL_ACCOUNT_WHOIS, LOGIN_SEL_REALMLIST_SECURITY_LEVEL, LOGIN_DEL_ACCOUNT, + LOGIN_SEL_IP2NATION_COUNTRY, LOGIN_SEL_ACCOUNT_ACCESS_BY_ID, LOGIN_SEL_RBAC_ACCOUNT_GROUPS, diff --git a/src/server/shared/Database/Implementation/WorldDatabase.cpp b/src/server/shared/Database/Implementation/WorldDatabase.cpp index 89f3cf8fdce..fa7818d2dca 100644 --- a/src/server/shared/Database/Implementation/WorldDatabase.cpp +++ b/src/server/shared/Database/Implementation/WorldDatabase.cpp @@ -80,7 +80,6 @@ void WorldDatabaseConnection::DoPrepareStatements() PrepareStatement(WORLD_SEL_COMMANDS, "SELECT name, security, help FROM command", CONNECTION_SYNCH); PrepareStatement(WORLD_SEL_CREATURE_TEMPLATE, "SELECT difficulty_entry_1, difficulty_entry_2, difficulty_entry_3, KillCredit1, KillCredit2, modelid1, modelid2, modelid3, modelid4, name, subname, IconName, gossip_menu_id, minlevel, maxlevel, exp, faction_A, faction_H, npcflag, speed_walk, speed_run, scale, rank, mindmg, maxdmg, dmgschool, attackpower, dmg_multiplier, baseattacktime, rangeattacktime, unit_class, unit_flags, unit_flags2, dynamicflags, family, trainer_type, trainer_spell, trainer_class, trainer_race, minrangedmg, maxrangedmg, rangedattackpower, type, type_flags, lootid, pickpocketloot, skinloot, resistance1, resistance2, resistance3, resistance4, resistance5, resistance6, spell1, spell2, spell3, spell4, spell5, spell6, spell7, spell8, PetSpellDataId, VehicleId, mingold, maxgold, AIName, MovementType, InhabitType, HoverHeight, Health_mod, Mana_mod, Armor_mod, RacialLeader, questItem1, questItem2, questItem3, questItem4, questItem5, questItem6, movementId, RegenHealth, mechanic_immune_mask, flags_extra, ScriptName FROM creature_template WHERE entry = ?", CONNECTION_SYNCH); PrepareStatement(WORLD_SEL_WAYPOINT_SCRIPT_BY_ID, "SELECT guid, delay, command, datalong, datalong2, dataint, x, y, z, o FROM waypoint_scripts WHERE id = ?", CONNECTION_SYNCH); - PrepareStatement(WORLD_SEL_IP2NATION_COUNTRY, "SELECT c.country FROM ip2nationCountries c, ip2nation i WHERE i.ip < ? AND c.code = i.country ORDER BY i.ip DESC LIMIT 0,1", CONNECTION_SYNCH); PrepareStatement(WORLD_SEL_ITEM_TEMPLATE_BY_NAME, "SELECT entry FROM item_template WHERE name = ?", CONNECTION_SYNCH); PrepareStatement(WORLD_SEL_CREATURE_BY_ID, "SELECT guid FROM creature WHERE id = ?", CONNECTION_SYNCH); PrepareStatement(WORLD_SEL_GAMEOBJECT_NEAREST, "SELECT guid, id, position_x, position_y, position_z, map, (POW(position_x - ?, 2) + POW(position_y - ?, 2) + POW(position_z - ?, 2)) AS order_ FROM gameobject WHERE map = ? AND (POW(position_x - ?, 2) + POW(position_y - ?, 2) + POW(position_z - ?, 2)) <= ? ORDER BY order_", CONNECTION_SYNCH); diff --git a/src/server/shared/Database/Implementation/WorldDatabase.h b/src/server/shared/Database/Implementation/WorldDatabase.h index 032baf29dd9..d8c3c69dbba 100644 --- a/src/server/shared/Database/Implementation/WorldDatabase.h +++ b/src/server/shared/Database/Implementation/WorldDatabase.h @@ -100,7 +100,6 @@ enum WorldDatabaseStatements WORLD_SEL_COMMANDS, WORLD_SEL_CREATURE_TEMPLATE, WORLD_SEL_WAYPOINT_SCRIPT_BY_ID, - WORLD_SEL_IP2NATION_COUNTRY, WORLD_SEL_ITEM_TEMPLATE_BY_NAME, WORLD_SEL_CREATURE_BY_ID, WORLD_SEL_GAMEOBJECT_NEAREST, -- cgit v1.2.3 From d7e9d1bafb288596f0057fcd5517ba95981579e4 Mon Sep 17 00:00:00 2001 From: xjose93 Date: Thu, 25 Apr 2013 19:10:10 +0200 Subject: Core/World: Improvements in Autobroadcast system (dropped from world database and moved to auth database, added realmid and weight columns) --- sql/updates/auth/2013_04_25_00_auth_misc.txt | 8 +++++ sql/updates/world/2013_04_25_00_world_misc.sql | 1 + src/server/game/World/World.cpp | 41 +++++++++++++++++++--- src/server/game/World/World.h | 6 +++- .../Database/Implementation/LoginDatabase.cpp | 1 + .../shared/Database/Implementation/LoginDatabase.h | 1 + 6 files changed, 52 insertions(+), 6 deletions(-) create mode 100644 sql/updates/auth/2013_04_25_00_auth_misc.txt create mode 100644 sql/updates/world/2013_04_25_00_world_misc.sql (limited to 'sql') diff --git a/sql/updates/auth/2013_04_25_00_auth_misc.txt b/sql/updates/auth/2013_04_25_00_auth_misc.txt new file mode 100644 index 00000000000..383b19ebd55 --- /dev/null +++ b/sql/updates/auth/2013_04_25_00_auth_misc.txt @@ -0,0 +1,8 @@ +DROP TABLE IF EXISTS `autobroadcast`; +CREATE TABLE `autobroadcast` ( + `realmid` int(10) NOT NULL, + `id` int(11) NOT NULL AUTO_INCREMENT, + `weight` tinyint(3) DEFAULT 1, + `text` longtext NOT NULL, + PRIMARY KEY (`id`, `realmid`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; diff --git a/sql/updates/world/2013_04_25_00_world_misc.sql b/sql/updates/world/2013_04_25_00_world_misc.sql new file mode 100644 index 00000000000..c07a3f76b5f --- /dev/null +++ b/sql/updates/world/2013_04_25_00_world_misc.sql @@ -0,0 +1 @@ +DROP TABLE IF EXISTS `autobroadcast`; diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index a786a218dc5..144d91485b5 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -1866,12 +1866,16 @@ void World::LoadAutobroadcasts() uint32 oldMSTime = getMSTime(); m_Autobroadcasts.clear(); + m_AutobroadcastsWeights.clear(); - QueryResult result = WorldDatabase.Query("SELECT text FROM autobroadcast"); + uint32 realmId = ConfigMgr::GetIntDefault("RealmID", 0); + PreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_SEL_AUTOBROADCAST); + stmt->setInt32(0, realmId); + PreparedQueryResult result = LoginDatabase.Query(stmt); if (!result) { - sLog->outInfo(LOG_FILTER_SERVER_LOADING, ">> Loaded 0 autobroadcasts definitions. DB table `autobroadcast` is empty!"); + sLog->outInfo(LOG_FILTER_SERVER_LOADING, ">> Loaded 0 autobroadcasts definitions. DB table `autobroadcast` is empty for this realm!"); return; } @@ -1880,9 +1884,10 @@ void World::LoadAutobroadcasts() do { Field* fields = result->Fetch(); - std::string message = fields[0].GetString(); + uint8 id = fields[0].GetUInt8(); - m_Autobroadcasts.push_back(message); + m_Autobroadcasts[id] = fields[2].GetString(); + m_AutobroadcastsWeights[id] = fields[1].GetUInt8(); ++count; } while (result->NextRow()); @@ -2635,9 +2640,35 @@ void World::SendAutoBroadcast() if (m_Autobroadcasts.empty()) return; + uint32 weight = 0; + AutobroadcastsWeightMap selectionWeights; std::string msg; - msg = Trinity::Containers::SelectRandomContainerElement(m_Autobroadcasts); + for (AutobroadcastsWeightMap::const_iterator it = m_AutobroadcastsWeights.begin(); it != m_AutobroadcastsWeights.end(); ++it) + { + if (it->second) + { + weight += it->second; + selectionWeights[it->first] = it->second; + } + } + + if (weight) + { + uint32 selectedWeight = urand(0, weight - 1); + weight = 0; + for (AutobroadcastsWeightMap::const_iterator it = selectionWeights.begin(); it != selectionWeights.end(); ++it) + { + weight += it->second; + if (selectedWeight < weight) + { + msg = m_Autobroadcasts[it->first]; + break; + } + } + } + else + msg = m_Autobroadcasts[urand(0, m_Autobroadcasts.size())]; uint32 abcenter = sWorld->getIntConfig(CONFIG_AUTOBROADCAST_CENTER); diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h index 00bb9e7ffb2..b303ca4bd4b 100644 --- a/src/server/game/World/World.h +++ b/src/server/game/World/World.h @@ -820,7 +820,11 @@ class World // used versions std::string m_DBVersion; - std::list m_Autobroadcasts; + typedef std::map AutobroadcastsMap; + AutobroadcastsMap m_Autobroadcasts; + + typedef std::map AutobroadcastsWeightMap; + AutobroadcastsWeightMap m_AutobroadcastsWeights; std::map _characterNameDataMap; void LoadCharacterNameData(); diff --git a/src/server/shared/Database/Implementation/LoginDatabase.cpp b/src/server/shared/Database/Implementation/LoginDatabase.cpp index 4b0ee041603..0118f637205 100644 --- a/src/server/shared/Database/Implementation/LoginDatabase.cpp +++ b/src/server/shared/Database/Implementation/LoginDatabase.cpp @@ -91,6 +91,7 @@ void LoginDatabaseConnection::DoPrepareStatements() PrepareStatement(LOGIN_SEL_REALMLIST_SECURITY_LEVEL, "SELECT allowedSecurityLevel from realmlist WHERE id = ?", CONNECTION_SYNCH); PrepareStatement(LOGIN_DEL_ACCOUNT, "DELETE FROM account WHERE id = ?", CONNECTION_ASYNC); PrepareStatement(LOGIN_SEL_IP2NATION_COUNTRY, "SELECT c.country FROM ip2nationCountries c, ip2nation i WHERE i.ip < ? AND c.code = i.country ORDER BY i.ip DESC LIMIT 0,1", CONNECTION_SYNCH); + PrepareStatement(LOGIN_SEL_AUTOBROADCAST, "SELECT id, weight, text FROM autobroadcast WHERE realmid = ? OR realmid = -1", CONNECTION_SYNCH); PrepareStatement(LOGIN_SEL_ACCOUNT_ACCESS_BY_ID, "SELECT gmlevel, RealmID FROM account_access WHERE id = ? and (RealmID = ? OR RealmID = -1) ORDER BY gmlevel desc", CONNECTION_SYNCH); diff --git a/src/server/shared/Database/Implementation/LoginDatabase.h b/src/server/shared/Database/Implementation/LoginDatabase.h index 0f5a388a0b0..97cf91fc178 100644 --- a/src/server/shared/Database/Implementation/LoginDatabase.h +++ b/src/server/shared/Database/Implementation/LoginDatabase.h @@ -111,6 +111,7 @@ enum LoginDatabaseStatements LOGIN_SEL_REALMLIST_SECURITY_LEVEL, LOGIN_DEL_ACCOUNT, LOGIN_SEL_IP2NATION_COUNTRY, + LOGIN_SEL_AUTOBROADCAST, LOGIN_SEL_ACCOUNT_ACCESS_BY_ID, LOGIN_SEL_RBAC_ACCOUNT_GROUPS, -- cgit v1.2.3 From 619d9750121289a8648b379ceb61eade8a7a6fbb Mon Sep 17 00:00:00 2001 From: Bezo Date: Fri, 26 Apr 2013 00:58:34 +0300 Subject: Update auth_database.sql due the added ip2nation tables. --- sql/base/auth_database.sql | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'sql') diff --git a/sql/base/auth_database.sql b/sql/base/auth_database.sql index 943be73b20f..05e680f94eb 100644 --- a/sql/base/auth_database.sql +++ b/sql/base/auth_database.sql @@ -126,6 +126,32 @@ CREATE TABLE `ip_banned` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Banned IPs'; /*!40101 SET character_set_client = @saved_cs_client */; +/*Table structure for table `ip2nation` */ + +DROP TABLE IF EXISTS `ip2nation`; + +CREATE TABLE `ip2nation` ( + `ip` int(11) unsigned NOT NULL DEFAULT '0', + `country` char(2) NOT NULL DEFAULT '', + KEY `ip` (`ip`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +/*Table structure for table `ip2nationCountries` */ + +DROP TABLE IF EXISTS `ip2nationCountries`; + +CREATE TABLE `ip2nationCountries` ( + `code` varchar(4) NOT NULL DEFAULT '', + `iso_code_2` varchar(2) NOT NULL DEFAULT '', + `iso_code_3` varchar(3) DEFAULT '', + `iso_country` varchar(255) NOT NULL DEFAULT '', + `country` varchar(255) NOT NULL DEFAULT '', + `lat` float NOT NULL DEFAULT '0', + `lon` float NOT NULL DEFAULT '0', + PRIMARY KEY (`code`), + KEY `code` (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + -- -- Dumping data for table `ip_banned` -- -- cgit v1.2.3 From 7bead2d15102975167a9d4da7ca11ad63716a7f3 Mon Sep 17 00:00:00 2001 From: Vincent_Michael Date: Sat, 27 Apr 2013 23:46:29 +0200 Subject: SQL: Fix file format and rename for merge --- sql/updates/auth/2013_04_25_00_auth_misc.txt | 8 -------- sql/updates/auth/2013_04_27_00_auth_misc.sql | 8 ++++++++ 2 files changed, 8 insertions(+), 8 deletions(-) delete mode 100644 sql/updates/auth/2013_04_25_00_auth_misc.txt create mode 100644 sql/updates/auth/2013_04_27_00_auth_misc.sql (limited to 'sql') diff --git a/sql/updates/auth/2013_04_25_00_auth_misc.txt b/sql/updates/auth/2013_04_25_00_auth_misc.txt deleted file mode 100644 index 383b19ebd55..00000000000 --- a/sql/updates/auth/2013_04_25_00_auth_misc.txt +++ /dev/null @@ -1,8 +0,0 @@ -DROP TABLE IF EXISTS `autobroadcast`; -CREATE TABLE `autobroadcast` ( - `realmid` int(10) NOT NULL, - `id` int(11) NOT NULL AUTO_INCREMENT, - `weight` tinyint(3) DEFAULT 1, - `text` longtext NOT NULL, - PRIMARY KEY (`id`, `realmid`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; diff --git a/sql/updates/auth/2013_04_27_00_auth_misc.sql b/sql/updates/auth/2013_04_27_00_auth_misc.sql new file mode 100644 index 00000000000..383b19ebd55 --- /dev/null +++ b/sql/updates/auth/2013_04_27_00_auth_misc.sql @@ -0,0 +1,8 @@ +DROP TABLE IF EXISTS `autobroadcast`; +CREATE TABLE `autobroadcast` ( + `realmid` int(10) NOT NULL, + `id` int(11) NOT NULL AUTO_INCREMENT, + `weight` tinyint(3) DEFAULT 1, + `text` longtext NOT NULL, + PRIMARY KEY (`id`, `realmid`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- cgit v1.2.3 From 52a86950e1c4fb6c7f0eb1fbb5afcf8a08b6e18b Mon Sep 17 00:00:00 2001 From: Vincent_Michael Date: Sun, 28 Apr 2013 00:07:59 +0200 Subject: SQL: Add missing renames for merge --- sql/updates/world/2013_04_16_01_world_misc.sql | 10 ---------- sql/updates/world/2013_04_25_00_world_misc.sql | 1 - sql/updates/world/2013_04_27_00_world_misc.sql | 10 ++++++++++ sql/updates/world/2013_04_27_01_world_misc.sql | 1 + 4 files changed, 11 insertions(+), 11 deletions(-) delete mode 100644 sql/updates/world/2013_04_16_01_world_misc.sql delete mode 100644 sql/updates/world/2013_04_25_00_world_misc.sql create mode 100644 sql/updates/world/2013_04_27_00_world_misc.sql create mode 100644 sql/updates/world/2013_04_27_01_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_16_01_world_misc.sql b/sql/updates/world/2013_04_16_01_world_misc.sql deleted file mode 100644 index 4c7561a0e69..00000000000 --- a/sql/updates/world/2013_04_16_01_world_misc.sql +++ /dev/null @@ -1,10 +0,0 @@ -DELETE FROM `command` WHERE `name` = 'guild rename'; -INSERT INTO `command` (`name`, `security`, `help`) VALUES -('guild rename', 3, 'Syntax: .guild rename "$GuildName" "$NewGuildName" \n\n Rename a guild named $GuildName with $NewGuildName. Guild name and new guild name must in quotes.'); - -SET @ENTRY1 := 96; -SET @ENTRY2 := 97; -DELETE FROM `trinity_string` WHERE `entry` IN (@ENTRY1, @ENTRY2); -INSERT INTO `trinity_string` (`entry`, `content_default`) VALUES -(@ENTRY1, 'The guild name \'%s\' is already taken'), -(@ENTRY2, 'Changed guild name \'%s\' to \'%s\''); diff --git a/sql/updates/world/2013_04_25_00_world_misc.sql b/sql/updates/world/2013_04_25_00_world_misc.sql deleted file mode 100644 index c07a3f76b5f..00000000000 --- a/sql/updates/world/2013_04_25_00_world_misc.sql +++ /dev/null @@ -1 +0,0 @@ -DROP TABLE IF EXISTS `autobroadcast`; diff --git a/sql/updates/world/2013_04_27_00_world_misc.sql b/sql/updates/world/2013_04_27_00_world_misc.sql new file mode 100644 index 00000000000..4c7561a0e69 --- /dev/null +++ b/sql/updates/world/2013_04_27_00_world_misc.sql @@ -0,0 +1,10 @@ +DELETE FROM `command` WHERE `name` = 'guild rename'; +INSERT INTO `command` (`name`, `security`, `help`) VALUES +('guild rename', 3, 'Syntax: .guild rename "$GuildName" "$NewGuildName" \n\n Rename a guild named $GuildName with $NewGuildName. Guild name and new guild name must in quotes.'); + +SET @ENTRY1 := 96; +SET @ENTRY2 := 97; +DELETE FROM `trinity_string` WHERE `entry` IN (@ENTRY1, @ENTRY2); +INSERT INTO `trinity_string` (`entry`, `content_default`) VALUES +(@ENTRY1, 'The guild name \'%s\' is already taken'), +(@ENTRY2, 'Changed guild name \'%s\' to \'%s\''); diff --git a/sql/updates/world/2013_04_27_01_world_misc.sql b/sql/updates/world/2013_04_27_01_world_misc.sql new file mode 100644 index 00000000000..c07a3f76b5f --- /dev/null +++ b/sql/updates/world/2013_04_27_01_world_misc.sql @@ -0,0 +1 @@ +DROP TABLE IF EXISTS `autobroadcast`; -- cgit v1.2.3 From f2b6b2f95e2664686e247ec0870fbb77a5770d54 Mon Sep 17 00:00:00 2001 From: xjose93 Date: Tue, 23 Apr 2013 15:33:42 +0200 Subject: Core/Commands: Improve .character rename [name], now can force rename .character rename [name] [newName] --- sql/updates/world/2013_04_29_00_world_misc.sql | 11 ++ src/server/game/Miscellaneous/Language.h | 5 +- src/server/scripts/Commands/cs_character.cpp | 121 ++++++++++++++++++--- .../Database/Implementation/CharacterDatabase.cpp | 1 + .../Database/Implementation/CharacterDatabase.h | 1 + 5 files changed, 123 insertions(+), 16 deletions(-) create mode 100644 sql/updates/world/2013_04_29_00_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2013_04_29_00_world_misc.sql b/sql/updates/world/2013_04_29_00_world_misc.sql new file mode 100644 index 00000000000..716a77be584 --- /dev/null +++ b/sql/updates/world/2013_04_29_00_world_misc.sql @@ -0,0 +1,11 @@ +DELETE FROM `command` WHERE `name` = 'character rename'; +INSERT INTO `command` (`name`, `security`, `help`) VALUES +('character rename', 2, 'Syntax: .character rename [$name] [$newName] \n\nMark selected in game or by $name in command character for rename at next login.\n\nIf $newName then the player will be forced rename.'); + +SET @ENTRY := 98; +SET @ENTRY1 := 167; +DELETE FROM `trinity_string` WHERE `entry` IN (@ENTRY, @ENTRY+1, @ENTRY1); +INSERT INTO `trinity_string` (`entry`, `content_default`) VALUES +(@ENTRY, '\'%s\' already exists as character name, choose another one'), +(@ENTRY+1, 'Player \'%s\' forced rename to \'%s\''), +(@ENTRY1, 'This name is reserved, choose another one'); diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h index e03adf2a4a1..eb55e44c9ee 100644 --- a/src/server/game/Miscellaneous/Language.h +++ b/src/server/game/Miscellaneous/Language.h @@ -121,7 +121,8 @@ enum TrinityStrings LANG_RBAC_LIST_PERMISSIONS_HEADER = 95, LANG_GUILD_RENAME_ALREADY_EXISTS = 96, LANG_GUILD_RENAME_DONE = 97, - // Room for more level 0 98-99 not used + LANG_RENAME_PLAYER_ALREADY_EXISTS = 98, + LANG_RENAME_PLAYER_WITH_NEW_NAME = 99, // level 1 chat LANG_GLOBAL_NOTIFY = 100, @@ -198,7 +199,7 @@ enum TrinityStrings LANG_COMMAND_TELE_NOTFOUND = 164, LANG_COMMAND_TELE_PARAMETER = 165, LANG_COMMAND_TELE_NOLOCATION = 166, - // 167 // not used + LANG_RESERVED_NAME = 167, LANG_COMMAND_TELE_LOCATION = 168, LANG_MAIL_SENT = 169, diff --git a/src/server/scripts/Commands/cs_character.cpp b/src/server/scripts/Commands/cs_character.cpp index c29b62975ab..fdcf88177a9 100644 --- a/src/server/scripts/Commands/cs_character.cpp +++ b/src/server/scripts/Commands/cs_character.cpp @@ -308,28 +308,121 @@ public: if (!handler->extractPlayerTarget((char*)args, &target, &targetGuid, &targetName)) return false; - if (target) + char const* newNameStr = strtok(NULL, " "); + + if (newNameStr) { - // check online security - if (handler->HasLowerSecurity(target, 0)) + std::string playerOldName; + std::string newName = newNameStr; + + if (target) + { + // check online security + if (handler->HasLowerSecurity(target, 0)) + return false; + + playerOldName = target->GetName(); + } + else + { + // check offline security + if (handler->HasLowerSecurity(NULL, targetGuid)) + return false; + + sObjectMgr->GetPlayerNameByGUID(targetGuid, playerOldName); + } + + if (!normalizePlayerName(newName)) + { + handler->SendSysMessage(LANG_BAD_VALUE); + handler->SetSentErrorMessage(true); + return false; + } + + if (ObjectMgr::CheckPlayerName(newName, true) != CHAR_NAME_SUCCESS) + { + handler->SendSysMessage(LANG_BAD_VALUE); + handler->SetSentErrorMessage(true); + return false; + } + + if (WorldSession* session = handler->GetSession()) + { + if (!session->HasPermission(RBAC_PERM_SKIP_CHECK_CHARACTER_CREATION_RESERVEDNAME) && sObjectMgr->IsReservedName(newName)) + { + handler->SendSysMessage(LANG_RESERVED_NAME); + handler->SetSentErrorMessage(true); + return false; + } + } + + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHECK_NAME); + stmt->setString(0, newName); + PreparedQueryResult result = CharacterDatabase.Query(stmt); + if (result) + { + handler->PSendSysMessage(LANG_RENAME_PLAYER_ALREADY_EXISTS, newName.c_str()); + handler->SetSentErrorMessage(true); return false; + } + + // Remove declined name from db + stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_DECLINED_NAME); + stmt->setUInt32(0, targetGuid); + CharacterDatabase.Execute(stmt); + + if (target) + { + target->SetName(newName); + + if (WorldSession* session = target->GetSession()) + session->KickPlayer(); + } + else + { + stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_NAME_BY_GUID); + stmt->setString(0, newName); + stmt->setUInt32(1, GUID_LOPART(targetGuid)); + CharacterDatabase.Execute(stmt); + } + + sWorld->UpdateCharacterNameData(targetGuid, newName); - handler->PSendSysMessage(LANG_RENAME_PLAYER, handler->GetNameLink(target).c_str()); - target->SetAtLoginFlag(AT_LOGIN_RENAME); + handler->PSendSysMessage(LANG_RENAME_PLAYER_WITH_NEW_NAME, playerOldName.c_str(), newName.c_str()); + + if (WorldSession* session = handler->GetSession()) + { + if (Player* player = session->GetPlayer()) + sLog->outCommand(session->GetAccountId(), "GM %s (Account: %u) forced rename %s to player %s (Account: %u)", player->GetName().c_str(), session->GetAccountId(), newName.c_str(), playerOldName.c_str(), sObjectMgr->GetPlayerAccountIdByGUID(targetGuid)); + } + else + sLog->outCommand(0, "CONSOLE forced rename '%s' to '%s' (GUID: %u)", playerOldName.c_str(), newName.c_str(), GUID_LOPART(targetGuid)); } else { - // check offline security - if (handler->HasLowerSecurity(NULL, targetGuid)) - return false; + if (target) + { + // check online security + if (handler->HasLowerSecurity(target, 0)) + return false; - std::string oldNameLink = handler->playerLink(targetName); - handler->PSendSysMessage(LANG_RENAME_PLAYER_GUID, oldNameLink.c_str(), GUID_LOPART(targetGuid)); + handler->PSendSysMessage(LANG_RENAME_PLAYER, handler->GetNameLink(target).c_str()); + target->SetAtLoginFlag(AT_LOGIN_RENAME); + } + else + { + // check offline security + if (handler->HasLowerSecurity(NULL, targetGuid)) + return false; - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_ADD_AT_LOGIN_FLAG); - stmt->setUInt16(0, uint16(AT_LOGIN_RENAME)); - stmt->setUInt32(1, GUID_LOPART(targetGuid)); - CharacterDatabase.Execute(stmt); + std::string oldNameLink = handler->playerLink(targetName); + handler->PSendSysMessage(LANG_RENAME_PLAYER_GUID, oldNameLink.c_str(), GUID_LOPART(targetGuid)); + + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_ADD_AT_LOGIN_FLAG); + stmt->setUInt16(0, uint16(AT_LOGIN_RENAME)); + stmt->setUInt32(1, GUID_LOPART(targetGuid)); + CharacterDatabase.Execute(stmt); + } } return true; diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.cpp b/src/server/shared/Database/Implementation/CharacterDatabase.cpp index f834ead6a5b..2e6ab10b087 100644 --- a/src/server/shared/Database/Implementation/CharacterDatabase.cpp +++ b/src/server/shared/Database/Implementation/CharacterDatabase.cpp @@ -165,6 +165,7 @@ void CharacterDatabaseConnection::DoPrepareStatements() PrepareStatement(CHAR_SEL_MATCH_MAKER_RATING, "SELECT matchMakerRating FROM character_arena_stats WHERE guid = ? AND slot = ?", CONNECTION_SYNCH); PrepareStatement(CHAR_SEL_CHARACTER_COUNT, "SELECT account, COUNT(guid) FROM characters WHERE account = ? GROUP BY account", CONNECTION_ASYNC); PrepareStatement(CHAR_UPD_NAME, "UPDATE characters set name = ?, at_login = at_login & ~ ? WHERE guid = ?", CONNECTION_ASYNC); + PrepareStatement(CHAR_UPD_NAME_BY_GUID, "UPDATE characters SET name = ? WHERE guid = ?", CONNECTION_ASYNC); PrepareStatement(CHAR_DEL_DECLINED_NAME, "DELETE FROM character_declinedname WHERE guid = ?", CONNECTION_ASYNC); // Guild handling diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.h b/src/server/shared/Database/Implementation/CharacterDatabase.h index 65878b4c577..59ac15978b6 100644 --- a/src/server/shared/Database/Implementation/CharacterDatabase.h +++ b/src/server/shared/Database/Implementation/CharacterDatabase.h @@ -161,6 +161,7 @@ enum CharacterDatabaseStatements CHAR_SEL_MATCH_MAKER_RATING, CHAR_SEL_CHARACTER_COUNT, CHAR_UPD_NAME, + CHAR_UPD_NAME_BY_GUID, CHAR_DEL_DECLINED_NAME, CHAR_SEL_CHARACTER_DATA_BY_GUID, -- cgit v1.2.3 From ef19606212f43ee384f138c3f4765bc966255edd Mon Sep 17 00:00:00 2001 From: razer025 Date: Sat, 4 May 2013 10:41:44 +0200 Subject: DB/Creatures: set immunities for some Raidbosses Closes #4947 Closes #9674 Closes #9675 --- .../2013_05_04_00_world_creature_template.sql | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 sql/updates/world/2013_05_04_00_world_creature_template.sql (limited to 'sql') diff --git a/sql/updates/world/2013_05_04_00_world_creature_template.sql b/sql/updates/world/2013_05_04_00_world_creature_template.sql new file mode 100644 index 00000000000..01037f835de --- /dev/null +++ b/sql/updates/world/2013_05_04_00_world_creature_template.sql @@ -0,0 +1,46 @@ +UPDATE `creature_template` SET `mechanic_immune_mask`=`mechanic_immune_mask` +|1 -- CHARM +|2 -- DISORIENTED +|4 -- DISARM +|8 -- DISTRACT +|16 -- FEAR +|32 -- GRIP +|64 -- ROOT +|256 -- SILENCE +|512 -- SLEEP +|1024 -- SNARE +|2048 -- STUN +|4096 -- FREEZE +|8192 -- KNOCKOUT +|65536 -- POLYMORPH +|131072 -- BANISH +|524288 -- SHACKLE +|4194304 -- TURN +|8388608 -- HORROR +|67108864 -- DAZE +|536870912 -- SAPPED +WHERE `entry` IN +(28859,31734, -- Malygos +39863,39864,39944,39945,40142,40143,40144,40145, -- Halion +39746,39805, -- General Zarithrian +39747,39823, -- Saviana Ragefire +39751,39899,39920,39922, -- Baltharus the Warborn +37025,38064,37217,38103, -- Stinky & Precious +10184,36538, -- Onyxia +33113,34003, -- Flame Leviathan +33293,33885, -- XT-002 Deconstructor +32857,33694, -- Stormcaller Brundir +32927,33692, -- Runemaster Molgeim +32867,33693, -- Steelbreaker +32930,33909, -- Kologarn +32933,32934, -- Kologarn Arms +33515,34175, -- Auriaya +32906,33360, -- Freya +32915,33391, -- Elder Brightleaf +32914,33393, -- Elder Stonebark +32913,33392, -- Elder Ironbranch +33350, -- Mimiron +32865,33147, -- Thorim +33271,33449, -- General Vezax +32871,33070, -- Algalon the Observer +33288,33955); -- Yogg-Saron -- cgit v1.2.3 From 80769a4366b8c3b3eab344a1f108273175d84852 Mon Sep 17 00:00:00 2001 From: joschiwald Date: Sat, 4 May 2013 10:43:26 +0200 Subject: DB/Creatures: update creature_text for Forgemaster Garfrost and add visual aura Closes #9720 --- sql/updates/world/2013_05_04_01_world_creature_template.sql | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 sql/updates/world/2013_05_04_01_world_creature_template.sql (limited to 'sql') diff --git a/sql/updates/world/2013_05_04_01_world_creature_template.sql b/sql/updates/world/2013_05_04_01_world_creature_template.sql new file mode 100644 index 00000000000..899a912fca5 --- /dev/null +++ b/sql/updates/world/2013_05_04_01_world_creature_template.sql @@ -0,0 +1,11 @@ +UPDATE `creature_text` SET `sound`=16912 WHERE `entry`=36494 AND `groupid`=0 AND `id`=0; +UPDATE `creature_text` SET `sound`=16916 WHERE `entry`=36494 AND `groupid`=1 AND `id`=0; +UPDATE `creature_text` SET `sound`=16917 WHERE `entry`=36494 AND `groupid`=2 AND `id`=0; +UPDATE `creature_text` SET `sound`=16915 WHERE `entry`=36494 AND `groupid`=3 AND `id`=0; +UPDATE `creature_text` SET `type`=14, `sound`=16913 WHERE `entry`=36494 AND `groupid`=4 AND `id`=0; +UPDATE `creature_text` SET `type`=14, `sound`=16914 WHERE `entry`=36494 AND `groupid`=4 AND `id`=1; +UPDATE `creature_text` SET `type`=42 WHERE `entry`=36494 AND `groupid`=5 AND `id`=0; + +DELETE FROM `creature_template_addon` WHERE `entry`=36494; +INSERT INTO `creature_template_addon` (`entry`, `mount`, `bytes1`, `bytes2`, `auras`) VALUES +(36494, 0, 0x0, 0x1, '68792'); -- cgit v1.2.3 From e2f8abd48dbd5ef61b63b673b3093fdaf5747163 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sat, 11 May 2013 12:16:36 +0200 Subject: Core/Spells * Removed area MiscValue check for spells with SPELL_EFFECT_BIND, it's purpose is only to be sent in packets, not determine real area player will be bound to. * Corrected guid sent in SMSG_PLAYERBOUND, it should be caster's guid, not player's * Also updated position for Teach: Death Gate Closes #9661 --- .../world/2013_05_11_00_world_spell_target_position.sql | 1 + src/server/game/Spells/SpellEffects.cpp | 6 +++--- src/server/game/Spells/SpellMgr.cpp | 12 +----------- 3 files changed, 5 insertions(+), 14 deletions(-) create mode 100644 sql/updates/world/2013_05_11_00_world_spell_target_position.sql (limited to 'sql') diff --git a/sql/updates/world/2013_05_11_00_world_spell_target_position.sql b/sql/updates/world/2013_05_11_00_world_spell_target_position.sql new file mode 100644 index 00000000000..0e6b14682ae --- /dev/null +++ b/sql/updates/world/2013_05_11_00_world_spell_target_position.sql @@ -0,0 +1 @@ +UPDATE `spell_target_position` SET `target_map`=0 WHERE `id`=53821; diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 9807e7a016d..fac5a5748de 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -6085,7 +6085,7 @@ void Spell::EffectBind(SpellEffIndex effIndex) player->SetHomebind(homeLoc, areaId); // binding - WorldPacket data(SMSG_BINDPOINTUPDATE, (4+4+4+4+4)); + WorldPacket data(SMSG_BINDPOINTUPDATE, 4 + 4 + 4 + 4 + 4); data << float(homeLoc.GetPositionX()); data << float(homeLoc.GetPositionY()); data << float(homeLoc.GetPositionZ()); @@ -6097,8 +6097,8 @@ void Spell::EffectBind(SpellEffIndex effIndex) homeLoc.GetPositionX(), homeLoc.GetPositionY(), homeLoc.GetPositionZ(), homeLoc.GetMapId(), areaId); // zone update - data.Initialize(SMSG_PLAYERBOUND, 8+4); - data << uint64(player->GetGUID()); + data.Initialize(SMSG_PLAYERBOUND, 8 + 4); + data << uint64(m_caster->GetGUID()); data << uint32(areaId); player->SendDirectMessage(&data); } diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 9aebffcf53c..ee34e26808c 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -1549,21 +1549,11 @@ void SpellMgr::LoadSpellTargetPositions() { if (spellInfo->Effects[i].TargetA.GetTarget() == TARGET_DEST_DB || spellInfo->Effects[i].TargetB.GetTarget() == TARGET_DEST_DB) { - // additional requirements - if (spellInfo->Effects[i].Effect == SPELL_EFFECT_BIND && spellInfo->Effects[i].MiscValue) - { - uint32 area_id = sMapMgr->GetAreaId(st.target_mapId, st.target_X, st.target_Y, st.target_Z); - if (area_id != uint32(spellInfo->Effects[i].MiscValue)) - { - sLog->outError(LOG_FILTER_SQL, "Spell (Id: %u) listed in `spell_target_position` expected to point to area %u, but points to area %u instead.", Spell_ID, spellInfo->Effects[i].MiscValue, area_id); - break; - } - } - found = true; break; } } + if (!found) { sLog->outError(LOG_FILTER_SQL, "Spell (Id: %u) listed in `spell_target_position` does not have target TARGET_DEST_DB (17).", Spell_ID); -- cgit v1.2.3 From 16074667c074131476adb6166918d4a9ee450d4d Mon Sep 17 00:00:00 2001 From: Pitcrawler Date: Sun, 12 May 2013 14:08:42 +0200 Subject: DB/Quests: Fix: The Focus on the Beach, Atop the Woodlands, The End of the Line Closes #367 #1848 --- sql/updates/world/2013_05_12_00_world_misc.sql | 198 +++++++++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 sql/updates/world/2013_05_12_00_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2013_05_12_00_world_misc.sql b/sql/updates/world/2013_05_12_00_world_misc.sql new file mode 100644 index 00000000000..88e79b8a409 --- /dev/null +++ b/sql/updates/world/2013_05_12_00_world_misc.sql @@ -0,0 +1,198 @@ +DELETE FROM `creature` WHERE `guid` IN (116020,116021,116022,116023,116024,116025,116026,116029,116030,116031,116032,116033,116035,116037,116038,116039,116040,116042,116043,116044,116045,116046,116047,116049,116050,116051,116053,116054,116055,116056,116057,116058,116059,116060,116061,116065); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (47374,47469,47634,50546,50547,50548); +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=17 AND `SourceEntry` IN (47374,47469,47634); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorType`,`ScriptName`,`Comment`) VALUES +(13,1,47374,0,31,0,3,23837,0,0,'','Spell Ley Line Focus Control Ring targets ELM General Purpose Bunny'), +(13,1,47469,0,31,0,3,23837,0,0,'','Spell Ley Line Focus Control Amulet targets ELM General Purpose Bunny'), +(13,1,47634,0,31,0,3,23837,0,0,'','Spell Ley Line Focus Control Talisman targets ELM General Purpose Bunny'), +(13,1,50546,0,31,0,3,23837,0,0,'','Spell The Focus on the Beach: Ley Line Focus Control Ring Effect targets ELM General Purpose Bunny'), +(13,1,50547,0,31,0,3,23837,0,0,'','Spell Atop the Woodlands: Ley Line Focus Control Amulet Effect targets ELM General Purpose Bunny'), +(13,1,50548,0,31,0,3,23837,0,0,'','Spell The End of the Line: Ley Line Focus Control Talisman Effect targets ELM General Purpose Bunny'), +(17,0,47374,0,29,0,23837,7,0,97,'','Spell Ley Line Focus Control Ring can be casted only within 7y from ELM General Purpose Bunny'), +(17,0,47469,0,29,0,23837,7,0,97,'','Spell Ley Line Focus Control Amulet can be casted only within 7y from ELM General Purpose Bunny'), +(17,0,47634,0,29,0,23837,7,0,97,'','Spell Ley Line Focus Control Talisman can be casted only within 7y from ELM General Purpose Bunny'); + +DELETE FROM `creature_text` WHERE `entry` IN (26762,26815); +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(26762,0,0,'Keep them away from the focus!',12,0,100,0,0,0,'Captain Emmy Malin'), +(26815,0,0,'Ya shouldn''a taken the boat north, mon!',12,0,100,0,0,0,'Lieutenant Ta''zinni'); + +DELETE FROM `spell_scripts` WHERE `id` IN (47393,47615,47638); +INSERT INTO `spell_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`dataint`,`x`,`y`,`z`,`o`) VALUES +(47393,0,14,47391,0,0,0,0,0,0), +(47615,0,14,47473,0,0,0,0,0,0), +(47638,0,14,47636,0,0,0,0,0,0); + +DELETE FROM `areatrigger_scripts` WHERE `entry`=4956; +INSERT INTO `areatrigger_scripts` (`entry`,`ScriptName`) VALUES +(4956,'SmartTrigger'); + +UPDATE `creature_template` SET `npcflag`=2 WHERE `entry`=26873; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (26762,26815); +DELETE FROM `creature_ai_scripts` WHERE `creature_id` IN (26762,26815); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (-98534,-98535,-98537,-98564,-98599,-98617,-115920,-115921,-115922,-115923,-115924,-115925,-115926,-115927,-115945,-115946,-115947,-115948,-115958,-115959,-115973,-115974,-115975,-115976,24021,26762,26815) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=4956 AND `source_type`=2; +DELETE FROM `smart_scripts` WHERE `entryorguid` BETWEEN 24021*100+0 AND 24021*100+16 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 +(-98534,0,0,0,8,0,100,0,47469,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit Ley Line Focus Control Amulet - Store targetlist'), +(-98534,0,1,0,8,0,100,0,50547,0,0,0,11,47472,0,0,0,0,0,12,1,0,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit Atop the Woodlands: Ley Line Focus Control Amulet Effect - Spellcast Atop the Woodlands: Ley Line Focus Bunny Beam'), +(-98535,0,0,0,8,0,100,0,47469,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit Ley Line Focus Control Amulet - Store targetlist'), +(-98535,0,1,0,8,0,100,0,50547,0,0,0,11,47472,0,0,0,0,0,12,1,0,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit Atop the Woodlands: Ley Line Focus Control Amulet Effect - Spellcast Atop the Woodlands: Ley Line Focus Bunny Beam'), +(-98537,0,0,0,8,0,100,0,47374,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit Ley Line Focus Control Ring - Store targetlist'), +(-98537,0,1,0,8,0,100,0,50546,0,0,0,11,47390,0,0,0,0,0,12,1,0,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit The Focus on the Beach: Ley Line Focus Control Ring Effect - Spellcast The Focus on the Beach: Ley Line Focus Bunny Beam'), +(-98564,0,0,0,8,0,100,0,47634,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit Ley Line Focus Control Talisman - Store targetlist'), +(-98564,0,1,0,8,0,100,0,50548,0,0,0,11,47635,0,0,0,0,0,12,1,0,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit The End of the Line: Ley Line Focus Control Talisman Effect - Spellcast The End of the Line: Ley Line Focus Bunny Beam'), +(-98599,0,0,0,8,0,100,0,47374,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit Ley Line Focus Control Ring - Store targetlist'), +(-98599,0,1,0,8,0,100,0,50546,0,0,0,11,47390,0,0,0,0,0,12,1,0,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit The Focus on the Beach: Ley Line Focus Control Ring Effect - Spellcast The Focus on the Beach: Ley Line Focus Bunny Beam'), +(-98617,0,0,0,8,0,100,0,47634,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit Ley Line Focus Control Talisman - Store targetlist'), +(-98617,0,1,0,8,0,100,0,50548,0,0,0,11,47635,0,0,0,0,0,12,1,0,0,0,0,0,0, 'ELM General Purpose Bunny - On spellhit The End of the Line: Ley Line Focus Control Talisman Effect - Spellcast The End of the Line: Ley Line Focus Bunny Beam'), + +(-115924,0,0,0,1,0,100,0,0,1000,24000,25000,87,24021*100+1,24021*100+2,24021*100+3,24021*100+4,24021*100+5,24021*100+6,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny Large - On update OOC - Run random script'), +(-115925,0,0,0,1,0,100,0,0,1000,24000,25000,87,24021*100+1,24021*100+2,24021*100+3,24021*100+4,24021*100+5,24021*100+6,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny Large - On update OOC - Run random script'), +(-115926,0,0,0,1,0,100,0,0,1000,24000,25000,87,24021*100+1,24021*100+2,24021*100+3,24021*100+4,24021*100+5,24021*100+6,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny Large - On update OOC - Run random script'), +(-115927,0,0,0,1,0,100,0,0,1000,24000,25000,87,24021*100+1,24021*100+2,24021*100+3,24021*100+4,24021*100+5,24021*100+6,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny Large - On update OOC - Run random script'), +(-115947,0,0,0,1,0,100,0,0,1000,24000,25000,87,24021*100+1,24021*100+2,24021*100+3,24021*100+4,24021*100+5,24021*100+6,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny Large - On update OOC - Run random script'), +(-115948,0,0,0,1,0,100,0,0,1000,24000,25000,87,24021*100+1,24021*100+2,24021*100+3,24021*100+4,24021*100+5,24021*100+6,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny Large - On update OOC - Run random script'), + +(-115920,0,0,0,1,0,100,0,0,1000,20000,21000,87,24021*100+7,24021*100+8,24021*100+9,24021*100+10,24021*100+11,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny Large - On update OOC - Run random script'), +(-115921,0,0,0,1,0,100,0,0,1000,20000,21000,87,24021*100+7,24021*100+8,24021*100+9,24021*100+10,24021*100+11,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny Large - On update OOC - Run random script'), +(-115922,0,0,0,1,0,100,0,0,1000,20000,21000,87,24021*100+7,24021*100+8,24021*100+9,24021*100+10,24021*100+11,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny Large - On update OOC - Run random script'), +(-115923,0,0,0,1,0,100,0,0,1000,20000,21000,87,24021*100+7,24021*100+8,24021*100+9,24021*100+10,24021*100+11,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny Large - On update OOC - Run random script'), +(-115945,0,0,0,1,0,100,0,0,1000,20000,21000,87,24021*100+7,24021*100+8,24021*100+9,24021*100+10,24021*100+11,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny Large - On update OOC - Run random script'), +(-115946,0,0,0,1,0,100,0,0,1000,20000,21000,87,24021*100+7,24021*100+8,24021*100+9,24021*100+10,24021*100+11,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny Large - On update OOC - Run random script'), + +(-115958,0,0,0,1,0,100,0,0,1000,24000,25000,87,24021*100+12,24021*100+13,24021*100+14,24021*100+15,24021*100+16,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny Large - On update OOC - Run random script'), +(-115959,0,0,0,1,0,100,0,0,1000,24000,25000,87,24021*100+12,24021*100+13,24021*100+14,24021*100+15,24021*100+16,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny Large - On update OOC - Run random script'), +(-115973,0,0,0,1,0,100,0,0,1000,24000,25000,87,24021*100+12,24021*100+13,24021*100+14,24021*100+15,24021*100+16,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny Large - On update OOC - Run random script'), +(-115974,0,0,0,1,0,100,0,0,1000,24000,25000,87,24021*100+12,24021*100+13,24021*100+14,24021*100+15,24021*100+16,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny Large - On update OOC - Run random script'), +(-115975,0,0,0,1,0,100,0,0,1000,24000,25000,87,24021*100+12,24021*100+13,24021*100+14,24021*100+15,24021*100+16,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny Large - On update OOC - Run random script'), +(-115976,0,0,0,1,0,100,0,0,1000,24000,25000,87,24021*100+12,24021*100+13,24021*100+14,24021*100+15,24021*100+16,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny Large - On update OOC - Run random script'), + +(24021,0,0,0,54,0,100,0,0,0,0,0,80,24021*100+0,2,0,0,0,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny Large - Just summoned - Run script'), + +(26762,0,0,0,11,0,100,0,0,0,0,0,11,46906,0,0,0,0,0,10,115948,24021,0,0,0,0,0, 'Captain Emmy Malin - On spawn - Spellcast Surge Needle Beam'), +(26762,0,1,0,21,0,100,0,0,0,0,0,11,46906,0,0,0,0,0,10,115948,24021,0,0,0,0,0, 'Captain Emmy Malin - On homeposition reached - Spellcast Surge Needle Beam'), +(26762,0,2,0,9,0,100,0,0,40,3000,4000,11,20792,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Captain Emmy Malin - On target within 40y - Spellcast Frostbolt'), +(26762,0,3,0,0,0,100,0,7000,10000,9000,12000,11,49906,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Captain Emmy Malin - On update IC - Spellcast Ice Lance'), +(26762,0,4,0,9,0,100,0,0,5,9000,12000,11,11831,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Captain Emmy Malin - On target within 5y - Spellcast Frost Nova'), +(26762,0,5,0,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Captain Emmy Malin - On aggro - Say line'), + +(26815,0,0,0,9,0,100,0,0,40,3000,4000,11,51779,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Lieutenant Ta''zinni - On target within 40y - Spellcast Frostfirebolt'), +(26815,0,1,0,9,0,100,0,0,10,12000,18000,11,35250,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lieutenant Ta''zinni - On target within 10y - Spellcast Dragon''s Breath'), +(26815,0,2,0,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Lieutenant Ta''zinni - On aggro - Say line'), + +(4956,2,0,0,46,0,100,0,4956,0,0,0,33,26889,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Areatrigger Azure Dragonshire - On trigger - Quest credit'), + +(24021*100+0,9,0,0,0,0,100,0,0,0,0,0,11,47334,0,0,0,0,0,7,0,0,0,0,0,0,0, 'ELM General Purpose Bunny Large script 0 - Spellcast Ley Line Beam (no cast kit)'), +(24021*100+0,9,1,0,0,0,100,0,3000,4000,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'ELM General Purpose Bunny Large script 0 - Despawn'), + +(24021*100+1,9,0,0,0,0,100,0,0,0,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3126.05,2140.401,17.8579,5.585053, 'ELM General Purpose Bunny Large script 1 - Summon ELM General Purpose Bunny Large'), +(24021*100+1,9,1,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3125.524,2146.786,15.84835,2.129302, 'ELM General Purpose Bunny Large script 1 - Summon ELM General Purpose Bunny Large'), +(24021*100+1,9,2,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3121.857,2144.208,19.87348,0.3141593, 'ELM General Purpose Bunny Large script 1 - Summon ELM General Purpose Bunny Large'), +(24021*100+1,9,3,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3131.571,2143.177,19.43405,0.4014257, 'ELM General Purpose Bunny Large script 1 - Summon ELM General Purpose Bunny Large'), +(24021*100+1,9,4,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3128.101,2141.035,17.94403,1.902409, 'ELM General Purpose Bunny Large script 1 - Summon ELM General Purpose Bunny Large'), +(24021*100+1,9,5,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3123.163,2141.134,16.98522,3.316126, 'ELM General Purpose Bunny Large script 1 - Summon ELM General Purpose Bunny Large'), + +(24021*100+2,9,0,0,0,0,100,0,0,0,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3125.091,2140.601,17.71151,2.443461, 'ELM General Purpose Bunny Large script 2 - Summon ELM General Purpose Bunny Large'), +(24021*100+2,9,1,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3132.777,2149.866,15.00388,5.986479, 'ELM General Purpose Bunny Large script 2 - Summon ELM General Purpose Bunny Large'), +(24021*100+2,9,2,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3127.046,2144.976,16.4135,5.183628, 'ELM General Purpose Bunny Large script 2 - Summon ELM General Purpose Bunny Large'), +(24021*100+2,9,3,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3122.372,2139.047,17.24562,5.009095, 'ELM General Purpose Bunny Large script 2 - Summon ELM General Purpose Bunny Large'), +(24021*100+2,9,4,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3126.123,2142.99,17.00723,2.792527, 'ELM General Purpose Bunny Large script 2 - Summon ELM General Purpose Bunny Large'), +(24021*100+2,9,5,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3128.526,2145.889,15.85672,0.2443461, 'ELM General Purpose Bunny Large script 2 - Summon ELM General Purpose Bunny Large'), + +(24021*100+3,9,0,0,0,0,100,0,0,0,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3126.866,2149.983,13.7796,1.832596, 'ELM General Purpose Bunny Large script 3 - Summon ELM General Purpose Bunny Large'), +(24021*100+3,9,1,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3131.825,2144.75,17.25836,1.570796, 'ELM General Purpose Bunny Large script 3 - Summon ELM General Purpose Bunny Large'), +(24021*100+3,9,2,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3121.043,2140.726,16.30317,4.24115, 'ELM General Purpose Bunny Large script 3 - Summon ELM General Purpose Bunny Large'), +(24021*100+3,9,3,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3129.281,2141.083,18.61101,3.124139, 'ELM General Purpose Bunny Large script 3 - Summon ELM General Purpose Bunny Large'), +(24021*100+3,9,4,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3125.717,2146.401,16.13597,5.72468, 'ELM General Purpose Bunny Large script 3 - Summon ELM General Purpose Bunny Large'), +(24021*100+3,9,5,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3123.911,2142.552,17.50746,4.380776, 'ELM General Purpose Bunny Large script 3 - Summon ELM General Purpose Bunny Large'), + +(24021*100+4,9,0,0,0,0,100,0,0,0,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3130.754,2151.47,14.37193,5.183628, 'ELM General Purpose Bunny Large script 4 - Summon ELM General Purpose Bunny Large'), +(24021*100+4,9,1,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3124.838,2143.604,17.12428,0.4014257, 'ELM General Purpose Bunny Large script 4 - Summon ELM General Purpose Bunny Large'), +(24021*100+4,9,2,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3127.993,2143.675,16.80205,5.148721, 'ELM General Purpose Bunny Large script 4 - Summon ELM General Purpose Bunny Large'), +(24021*100+4,9,3,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3121.175,2142.392,17.06362,0.9075712, 'ELM General Purpose Bunny Large script 4 - Summon ELM General Purpose Bunny Large'), +(24021*100+4,9,4,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3128.526,2145.889,15.85672,0.2443461, 'ELM General Purpose Bunny Large script 4 - Summon ELM General Purpose Bunny Large'), +(24021*100+4,9,5,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3134.843,2147.028,18.17949,5.864306, 'ELM General Purpose Bunny Large script 4 - Summon ELM General Purpose Bunny Large'), + +(24021*100+5,9,0,0,0,0,100,0,0,0,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3122.565,2142.866,17.20188,3.647738, 'ELM General Purpose Bunny Large script 5 - Summon ELM General Purpose Bunny Large'), +(24021*100+5,9,1,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3126.29,2142.063,17.4064,5.72468, 'ELM General Purpose Bunny Large script 5 - Summon ELM General Purpose Bunny Large'), +(24021*100+5,9,2,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3129.656,2149.474,14.7912,5.550147, 'ELM General Purpose Bunny Large script 5 - Summon ELM General Purpose Bunny Large'), +(24021*100+5,9,3,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3124.519,2149.514,14.5581,4.29351, 'ELM General Purpose Bunny Large script 5 - Summon ELM General Purpose Bunny Large'), +(24021*100+5,9,4,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3127.796,2138.372,19.97332,0.01745329, 'ELM General Purpose Bunny Large script 5 - Summon ELM General Purpose Bunny Large'), +(24021*100+5,9,5,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3132.397,2147.686,15.91525,0.9599311, 'ELM General Purpose Bunny Large script 5 - Summon ELM General Purpose Bunny Large'), + +(24021*100+6,9,0,0,0,0,100,0,0,0,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3131.072,2147.995,15.61533,1.466077, 'ELM General Purpose Bunny Large script 6 - Summon ELM General Purpose Bunny Large'), +(24021*100+6,9,1,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3128.782,2144.123,16.61955,5.742133, 'ELM General Purpose Bunny Large script 6 - Summon ELM General Purpose Bunny Large'), +(24021*100+6,9,2,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3123.601,2139.016,17.71019,0.4537856, 'ELM General Purpose Bunny Large script 6 - Summon ELM General Purpose Bunny Large'), +(24021*100+6,9,3,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3133.935,2143.841,21.74682,6.178465, 'ELM General Purpose Bunny Large script 6 - Summon ELM General Purpose Bunny Large'), +(24021*100+6,9,4,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3126.675,2146.103,16.11657,1.43117, 'ELM General Purpose Bunny Large script 6 - Summon ELM General Purpose Bunny Large'), +(24021*100+6,9,5,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3130.211,2145.085,16.58946,2.827433, 'ELM General Purpose Bunny Large script 6 - Summon ELM General Purpose Bunny Large'), + +(24021*100+7,9,0,0,0,0,100,0,0,0,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2894.85,1820.674,131.0997,1.012291, 'ELM General Purpose Bunny Large script 7 - Summon ELM General Purpose Bunny Large'), +(24021*100+7,9,1,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2891.408,1818.045,128.5932,0.541052, 'ELM General Purpose Bunny Large script 7 - Summon ELM General Purpose Bunny Large'), +(24021*100+7,9,2,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2888.546,1816.658,131.655,2.024582, 'ELM General Purpose Bunny Large script 7 - Summon ELM General Purpose Bunny Large'), +(24021*100+7,9,3,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2890.363,1810.202,129.936,0.7679449, 'ELM General Purpose Bunny Large script 7 - Summon ELM General Purpose Bunny Large'), +(24021*100+7,9,4,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2889.329,1822.168,130.1942,2.600541, 'ELM General Purpose Bunny Large script 7 - Summon ELM General Purpose Bunny Large'), +(24021*100+7,9,5,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2892.142,1809.754,129.4616,5.689773, 'ELM General Purpose Bunny Large script 7 - Summon ELM General Purpose Bunny Large'), + +(24021*100+8,9,0,0,0,0,100,0,0,0,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2894.762,1813.133,132.1913,1.256637, 'ELM General Purpose Bunny Large script 8 - Summon ELM General Purpose Bunny Large'), +(24021*100+8,9,1,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2888.24,1811.167,131.9773,3.473205, 'ELM General Purpose Bunny Large script 8 - Summon ELM General Purpose Bunny Large'), +(24021*100+8,9,2,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2891.765,1820.341,128.2378,2.443461, 'ELM General Purpose Bunny Large script 8 - Summon ELM General Purpose Bunny Large'), +(24021*100+8,9,3,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2889.968,1816.515,130.1833,3.577925, 'ELM General Purpose Bunny Large script 8 - Summon ELM General Purpose Bunny Large'), +(24021*100+8,9,4,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2895.262,1817.665,131.9376,4.415683, 'ELM General Purpose Bunny Large script 8 - Summon ELM General Purpose Bunny Large'), +(24021*100+8,9,5,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2892.956,1819.63,129.6165,3.106686, 'ELM General Purpose Bunny Large script 8 - Summon ELM General Purpose Bunny Large'), + +(24021*100+9,9,0,0,0,0,100,0,0,0,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2890.813,1812.197,129.4449,4.24115, 'ELM General Purpose Bunny Large script 9 - Summon ELM General Purpose Bunny Large'), +(24021*100+9,9,1,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2894.83,1810.606,132.5347,1.37881, 'ELM General Purpose Bunny Large script 9 - Summon ELM General Purpose Bunny Large'), +(24021*100+9,9,2,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2891.949,1816.533,128.7643,4.502949, 'ELM General Purpose Bunny Large script 9 - Summon ELM General Purpose Bunny Large'), +(24021*100+9,9,3,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2888.356,1820.349,131.507,3.839724, 'ELM General Purpose Bunny Large script 9 - Summon ELM General Purpose Bunny Large'), +(24021*100+9,9,4,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2893.333,1820.718,129.6705,1.48353, 'ELM General Purpose Bunny Large script 9 - Summon ELM General Purpose Bunny Large'), + +(24021*100+10,9,0,0,0,0,100,0,0,0,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2889.118,1823.984,130.3343,3.455752, 'ELM General Purpose Bunny Large script 10 - Summon ELM General Purpose Bunny Large'), +(24021*100+10,9,1,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2896.332,1820.913,131.8123,5.689773, 'ELM General Purpose Bunny Large script 10 - Summon ELM General Purpose Bunny Large'), +(24021*100+10,9,2,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2894.166,1819.122,130.8789,3.211406, 'ELM General Purpose Bunny Large script 10 - Summon ELM General Purpose Bunny Large'), +(24021*100+10,9,3,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2890.605,1822.912,128.89,1.762783, 'ELM General Purpose Bunny Large script 10 - Summon ELM General Purpose Bunny Large'), +(24021*100+10,9,4,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2888.642,1809.098,131.9985,3.385939, 'ELM General Purpose Bunny Large script 10 - Summon ELM General Purpose Bunny Large'), +(24021*100+10,9,5,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2892.705,1812.745,129.8363,1.308997, 'ELM General Purpose Bunny Large script 10 - Summon ELM General Purpose Bunny Large'), + +(24021*100+11,9,0,0,0,0,100,0,0,0,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2895.333,1822.925,131.1403,2.879793, 'ELM General Purpose Bunny Large script 11 - Summon ELM General Purpose Bunny Large'), +(24021*100+11,9,1,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2891.805,1822.136,128.129,6.161012, 'ELM General Purpose Bunny Large script 11 - Summon ELM General Purpose Bunny Large'), +(24021*100+11,9,2,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2894.475,1823.367,130.2928,1.937315, 'ELM General Purpose Bunny Large script 11 - Summon ELM General Purpose Bunny Large'), +(24021*100+11,9,3,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2889.26,1810.871,130.8892,0.8726646, 'ELM General Purpose Bunny Large script 11 - Summon ELM General Purpose Bunny Large'), +(24021*100+11,9,4,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,2893.049,1810.656,130.546,1.396263, 'ELM General Purpose Bunny Large script 11 - Summon ELM General Purpose Bunny Large'), + +(24021*100+12,9,0,0,0,0,100,0,0,0,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3057.062,1394.183,113.0584,5.8294, 'ELM General Purpose Bunny Large script 12 - Summon ELM General Purpose Bunny Large'), +(24021*100+12,9,1,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3054.48,1394.618,112.7426,1.762783, 'ELM General Purpose Bunny Large script 12 - Summon ELM General Purpose Bunny Large'), +(24021*100+12,9,2,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3060.249,1394.656,113.9411,0.3141593, 'ELM General Purpose Bunny Large script 12 - Summon ELM General Purpose Bunny Large'), +(24021*100+12,9,3,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3055.488,1393.478,112.698,3.141593, 'ELM General Purpose Bunny Large script 12 - Summon ELM General Purpose Bunny Large'), +(24021*100+12,9,4,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3061.458,1396.66,115.1446,0.1570796, 'ELM General Purpose Bunny Large script 12 - Summon ELM General Purpose Bunny Large'), +(24021*100+12,9,5,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3051.968,1401.044,116.3351,0.9424778, 'ELM General Purpose Bunny Large script 12 - Summon ELM General Purpose Bunny Large'), + +(24021*100+13,9,0,0,0,0,100,0,0,0,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3054.074,1397.247,113.4051,0.4712389, 'ELM General Purpose Bunny Large script 13 - Summon ELM General Purpose Bunny Large'), +(24021*100+13,9,1,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3057.188,1403.892,115.3656,4.380776, 'ELM General Purpose Bunny Large script 13 - Summon ELM General Purpose Bunny Large'), +(24021*100+13,9,2,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3052.451,1405.315,117.081,0.8552113, 'ELM General Purpose Bunny Large script 13 - Summon ELM General Purpose Bunny Large'), +(24021*100+13,9,3,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3059.104,1401.156,116.369,5.096361, 'ELM General Purpose Bunny Large script 13 - Summon ELM General Purpose Bunny Large'), +(24021*100+13,9,4,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3049.546,1404.567,114.6574,4.24115, 'ELM General Purpose Bunny Large script 13 - Summon ELM General Purpose Bunny Large'), +(24021*100+13,9,5,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3060.958,1399.016,117.6381,0.3665192, 'ELM General Purpose Bunny Large script 13 - Summon ELM General Purpose Bunny Large'), + +(24021*100+14,9,0,0,0,0,100,0,0,0,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3056.078,1396.021,113.2624,1.919862, 'ELM General Purpose Bunny Large script 14 - Summon ELM General Purpose Bunny Large'), +(24021*100+14,9,1,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3051.097,1400.683,119.1771,3.124139, 'ELM General Purpose Bunny Large script 14 - Summon ELM General Purpose Bunny Large'), +(24021*100+14,9,2,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3061.056,1398.113,116.3519,2.303835, 'ELM General Purpose Bunny Large script 14 - Summon ELM General Purpose Bunny Large'), +(24021*100+14,9,3,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3057.511,1398.638,114.0719,0.4886922, 'ELM General Purpose Bunny Large script 14 - Summon ELM General Purpose Bunny Large'), +(24021*100+14,9,4,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3055.962,1397.876,113.629,4.171337, 'ELM General Purpose Bunny Large script 14 - Summon ELM General Purpose Bunny Large'), +(24021*100+14,9,5,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3053.035,1396.689,115.7215,3.054326, 'ELM General Purpose Bunny Large script 14 - Summon ELM General Purpose Bunny Large'), + +(24021*100+15,9,0,0,0,0,100,0,0,0,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3054.111,1406.132,118.344,5.183628, 'ELM General Purpose Bunny Large script 15 - Summon ELM General Purpose Bunny Large'), +(24021*100+15,9,1,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3058.348,1399.74,114.4599,1.117011, 'ELM General Purpose Bunny Large script 15 - Summon ELM General Purpose Bunny Large'), +(24021*100+15,9,2,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3060.409,1401.954,119.1423,4.433136, 'ELM General Purpose Bunny Large script 15 - Summon ELM General Purpose Bunny Large'), +(24021*100+15,9,3,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3055.117,1405.109,116.396,1.867502, 'ELM General Purpose Bunny Large script 15 - Summon ELM General Purpose Bunny Large'), +(24021*100+15,9,4,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3051.709,1402.488,113.6939,5.009095, 'ELM General Purpose Bunny Large script 15 - Summon ELM General Purpose Bunny Large'), +(24021*100+15,9,5,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3059.448,1404.954,119.1292,4.712389, 'ELM General Purpose Bunny Large script 15 - Summon ELM General Purpose Bunny Large'), + +(24021*100+16,9,0,0,0,0,100,0,0,0,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3056.558,1406.72,119.7402,3.124139, 'ELM General Purpose Bunny Large script 16 - Summon ELM General Purpose Bunny Large'), +(24021*100+16,9,1,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3052.471,1393.973,116.9445,5.637414, 'ELM General Purpose Bunny Large script 16 - Summon ELM General Purpose Bunny Large'), +(24021*100+16,9,2,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3061.914,1394.956,114.8677,0.7853982, 'ELM General Purpose Bunny Large script 16 - Summon ELM General Purpose Bunny Large'), +(24021*100+16,9,3,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3054.167,1403.503,114.3343,1.256637, 'ELM General Purpose Bunny Large script 16 - Summon ELM General Purpose Bunny Large'), +(24021*100+16,9,4,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3049.392,1406.412,118.5037,2.80998, 'ELM General Purpose Bunny Large script 16 - Summon ELM General Purpose Bunny Large'), +(24021*100+16,9,5,0,0,0,100,0,4000,4000,0,0,12,24021,8,4000,0,0,0,8,0,0,0,3057.68,1392.579,112.8306,2.792527, 'ELM General Purpose Bunny Large script 16 - Summon ELM General Purpose Bunny Large'); -- cgit v1.2.3 From 78195b3c54a32866f96efb02457fe8161460b692 Mon Sep 17 00:00:00 2001 From: Vlad Date: Mon, 13 May 2013 11:30:48 +0300 Subject: Allow use effectIndex in spell_target_position. --- .../2013_05_13_00_world_spell_target_position.sql | 5 +++ src/server/game/Spells/Spell.cpp | 2 +- src/server/game/Spells/SpellMgr.cpp | 44 ++++++++++------------ src/server/game/Spells/SpellMgr.h | 6 +-- 4 files changed, 28 insertions(+), 29 deletions(-) create mode 100644 sql/updates/world/2013_05_13_00_world_spell_target_position.sql (limited to 'sql') diff --git a/sql/updates/world/2013_05_13_00_world_spell_target_position.sql b/sql/updates/world/2013_05_13_00_world_spell_target_position.sql new file mode 100644 index 00000000000..c4ef5521094 --- /dev/null +++ b/sql/updates/world/2013_05_13_00_world_spell_target_position.sql @@ -0,0 +1,5 @@ +ALTER TABLE `spell_target_position` ADD COLUMN `effIndex` tinyint(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `id`; +ALTER TABLE `spell_target_position` DROP INDEX `PRIMARY`, ADD PRIMARY KEY (`id`, `effIndex`); + +UPDATE `spell_target_position` SET `effIndex`='1' WHERE `id` IN (53821, 68081, 46473, 73655, 72546, 72340, 67838, 67835, 67836, 67837, 67834, 49098, 49097, 54963, 11012, 8606); +UPDATE `spell_target_position` SET `effIndex`='2' WHERE `id` IN (36801, 71765, 71763, 71762, 71744, 71712, 71751, 43209, 51852); diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 0c6d70add0b..63ec9d032ff 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -1391,7 +1391,7 @@ void Spell::SelectImplicitCasterDestTargets(SpellEffIndex effIndex, SpellImplici m_targets.SetDst(playerCaster->m_homebindX, playerCaster->m_homebindY, playerCaster->m_homebindZ, playerCaster->GetOrientation(), playerCaster->m_homebindMapId); return; case TARGET_DEST_DB: - if (SpellTargetPosition const* st = sSpellMgr->GetSpellTargetPosition(m_spellInfo->Id)) + if (SpellTargetPosition const* st = sSpellMgr->GetSpellTargetPosition(m_spellInfo->Id, effIndex)) { /// @todo fix this check if (m_spellInfo->HasEffect(SPELL_EFFECT_TELEPORT_UNITS) || m_spellInfo->HasEffect(SPELL_EFFECT_BIND)) diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index ee34e26808c..8f2e05bde53 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -620,9 +620,9 @@ bool SpellMgr::IsSpellLearnToSpell(uint32 spell_id1, uint32 spell_id2) const return false; } -SpellTargetPosition const* SpellMgr::GetSpellTargetPosition(uint32 spell_id) const +SpellTargetPosition const* SpellMgr::GetSpellTargetPosition(uint32 spell_id, SpellEffIndex effIndex) const { - SpellTargetPositionMap::const_iterator itr = mSpellTargetPositions.find(spell_id); + SpellTargetPositionMap::const_iterator itr = mSpellTargetPositions.find(std::make_pair(spell_id, effIndex)); if (itr != mSpellTargetPositions.end()) return &itr->second; return NULL; @@ -1501,8 +1501,8 @@ void SpellMgr::LoadSpellTargetPositions() mSpellTargetPositions.clear(); // need for reload case - // 0 1 2 3 4 5 - QueryResult result = WorldDatabase.Query("SELECT id, target_map, target_position_x, target_position_y, target_position_z, target_orientation FROM spell_target_position"); + // 0 1 2 3 4 5 6 + QueryResult result = WorldDatabase.Query("SELECT id, effIndex, target_map, target_position_x, target_position_y, target_position_z, target_orientation FROM spell_target_position"); if (!result) { sLog->outInfo(LOG_FILTER_SERVER_LOADING, ">> Loaded 0 spell target coordinates. DB table `spell_target_position` is empty."); @@ -1515,54 +1515,48 @@ void SpellMgr::LoadSpellTargetPositions() Field* fields = result->Fetch(); uint32 Spell_ID = fields[0].GetUInt32(); + SpellEffIndex effIndex = SpellEffIndex(fields[1].GetUInt8()); SpellTargetPosition st; - st.target_mapId = fields[1].GetUInt16(); - st.target_X = fields[2].GetFloat(); - st.target_Y = fields[3].GetFloat(); - st.target_Z = fields[4].GetFloat(); - st.target_Orientation = fields[5].GetFloat(); + st.target_mapId = fields[2].GetUInt16(); + st.target_X = fields[3].GetFloat(); + st.target_Y = fields[4].GetFloat(); + st.target_Z = fields[5].GetFloat(); + st.target_Orientation = fields[6].GetFloat(); MapEntry const* mapEntry = sMapStore.LookupEntry(st.target_mapId); if (!mapEntry) { - sLog->outError(LOG_FILTER_SQL, "Spell (ID:%u) target map (ID: %u) does not exist in `Map.dbc`.", Spell_ID, st.target_mapId); + sLog->outError(LOG_FILTER_SQL, "Spell (Id: %u, effIndex: %u) target map (ID: %u) does not exist in `Map.dbc`.", Spell_ID, effIndex, st.target_mapId); continue; } if (st.target_X==0 && st.target_Y==0 && st.target_Z==0) { - sLog->outError(LOG_FILTER_SQL, "Spell (ID:%u) target coordinates not provided.", Spell_ID); + sLog->outError(LOG_FILTER_SQL, "Spell (Id: %u, effIndex: %u) target coordinates not provided.", Spell_ID, effIndex); continue; } SpellInfo const* spellInfo = GetSpellInfo(Spell_ID); if (!spellInfo) { - sLog->outError(LOG_FILTER_SQL, "Spell (Id: %u) listed in `spell_target_position` does not exist.", Spell_ID); + sLog->outError(LOG_FILTER_SQL, "Spell (ID:%u) listed in `spell_target_position` does not exist.", Spell_ID); continue; } - bool found = false; - for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i) + if (spellInfo->Effects[effIndex].TargetA.GetTarget() == TARGET_DEST_DB || spellInfo->Effects[effIndex].TargetB.GetTarget() == TARGET_DEST_DB) { - if (spellInfo->Effects[i].TargetA.GetTarget() == TARGET_DEST_DB || spellInfo->Effects[i].TargetB.GetTarget() == TARGET_DEST_DB) - { - found = true; - break; - } + std::pair key = std::make_pair(Spell_ID, effIndex); + mSpellTargetPositions[key] = st; + ++count; } - - if (!found) + else { - sLog->outError(LOG_FILTER_SQL, "Spell (Id: %u) listed in `spell_target_position` does not have target TARGET_DEST_DB (17).", Spell_ID); + sLog->outError(LOG_FILTER_SQL, "Spell (Id: %u, effIndex: %u) listed in `spell_target_position` does not have target TARGET_DEST_DB (17).", Spell_ID, effIndex); continue; } - mSpellTargetPositions[Spell_ID] = st; - ++count; - } while (result->NextRow()); /* diff --git a/src/server/game/Spells/SpellMgr.h b/src/server/game/Spells/SpellMgr.h index c1b64e76a41..b7a3294efe3 100644 --- a/src/server/game/Spells/SpellMgr.h +++ b/src/server/game/Spells/SpellMgr.h @@ -377,6 +377,8 @@ struct SpellTargetPosition float target_Orientation; }; +typedef std::map, SpellTargetPosition> SpellTargetPositionMap; + // Enum with EffectRadiusIndex and their actual radius enum EffectRadiusIndex { @@ -439,8 +441,6 @@ enum EffectRadiusIndex EFFECT_RADIUS_80_YARDS_2 = 65 }; -typedef UNORDERED_MAP SpellTargetPositionMap; - // Spell pet auras class PetAura { @@ -641,7 +641,7 @@ class SpellMgr bool IsSpellLearnToSpell(uint32 spell_id1, uint32 spell_id2) const; // Spell target coordinates - SpellTargetPosition const* GetSpellTargetPosition(uint32 spell_id) const; + SpellTargetPosition const* GetSpellTargetPosition(uint32 spell_id, SpellEffIndex effIndex) const; // Spell Groups table SpellSpellGroupMapBounds GetSpellSpellGroupMapBounds(uint32 spell_id) const; -- cgit v1.2.3