Merge branch '4.3.4' of https://gitlab.com/trinitycore/TrinityCore_434 into 4.3.4
This commit is contained in:
commit
a0e288e761
45 files changed
+409
-99
No files matched your search
@@ -0,0 +1,5 @@
|
||||
--
|
||||
UPDATE `smart_scripts` SET `link`=1 WHERE `entryorguid`=184906 AND `source_type`=1 AND `id`=0;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=184906 AND `source_type`=1 AND `id`=1;
|
||||
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
|
||||
(184906,1,1,0,61,0,100,0,0,0,0,0,41,0,0,0,0,0,0,19,21737,5,0,0,0,0,0,"Power Converter - On linked event - despawn");
|
||||
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
--
|
||||
-- Razzle Sprysprocket
|
||||
DELETE FROM `creature_text` WHERE `CreatureID` IN (1269,5568);
|
||||
DELETE FROM `creature_text` WHERE `CreatureID`=1268 AND `GroupID`=1;
|
||||
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
|
||||
(1269,0,0,"Let me install these Gyromechanic Gears and Restabilization Cogs and we'll fire up The Recombobulator.",12,7,100,0,0,0,1883,0,"Razzle Sprysprocket"),
|
||||
(1269,1,0,"That should do the trick.",12,7,100,0,0,0,1884,0,"Razzle Sprysprocket"),
|
||||
(1269,2,0,"Time to save the entire gnomish race. Here goes nothing!",12,7,100,5,0,0,1885,0,"Razzle Sprysprocket"),
|
||||
(1269,3,0,"Back to the drawing board.",12,7,100,0,0,0,1887,0,"Razzle Sprysprocket"),
|
||||
(1269,4,0,"Perhaps a bit more grease will do the trick.",12,7,100,1,0,0,1888,0,"Razzle Sprysprocket"),
|
||||
(1269,4,1,"Pretty close that time. I think we've almost got it.",12,7,100,1,0,0,1889,0,"Razzle Sprysprocket"),
|
||||
(1269,4,2,"The Recombobulator is shaping up quite nicely. Just a few adjustments to go!",12,7,100,1,0,0,1890,0,"Razzle Sprysprocket"),
|
||||
(1268,1,0,"Precisely.",12,7,100,273,0,0,1891,0,"Ozzie Togglevolt"),
|
||||
(1268,1,1,"My thoughts exactly.",12,7,100,273,0,0,1892,0,"Ozzie Togglevolt"),
|
||||
(1268,1,2,"Couldn't have said it better myself.",12,7,100,273,0,0,1893,0,"Ozzie Togglevolt"),
|
||||
(1268,1,3,"Most definitely.",12,7,100,273,0,0,1894,0,"Ozzie Togglevolt"),
|
||||
(1268,1,4,"I was thinking the same thing.",12,7,100,273,0,0,1895,0,"Ozzie Togglevolt"),
|
||||
(5568,0,0,"Oh, great.",12,7,100,0,0,0,1886,0,"Captured Leper Gnome");
|
||||
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=1269;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=1269 AND `source_type`=0;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (126900,126901,126902) 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
|
||||
(1269,0,0,0,20,0,100,0,412,0,0,0,83,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Quest 'Operation Recombobulation' Finished - Remove Npc Flag Questgiver"),
|
||||
(1269,0,1,0,20,0,100,0,412,0,0,0,53,0,1269,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Quest 'Operation Recombobulation' Finished - Start Waypoint"),
|
||||
(1269,0,2,0,20,0,100,0,412,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Quest 'Operation Recombobulation' Finished - Say Line 0"),
|
||||
(1269,0,3,0,40,0,100,0,1,1269,0,0,80,126900,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Waypoint 1 Reached - Run Script"),
|
||||
(1269,0,4,0,40,0,100,0,2,1269,0,0,80,126901,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Waypoint 2 Reached - Run Script"),
|
||||
(1269,0,5,0,40,0,100,0,3,1269,0,0,80,126902,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Waypoint 3 Reached - Run Script"),
|
||||
(126900,9,0,0,0,0,100,0,0,0,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Pause Waypoint"),
|
||||
(126900,9,1,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,1.31425,"Razzle Sprysprocket - On Script - Set Orientation"),
|
||||
(126900,9,2,0,0,0,100,0,0,0,0,0,17,69,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Set Emote State 69"),
|
||||
(126900,9,3,0,0,0,100,0,8000,8000,0,0,17,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Set Emote State 0"),
|
||||
(126900,9,4,0,0,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Say Line 1"),
|
||||
(126901,9,0,0,0,0,100,0,0,0,0,0,54,15000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Pause Waypoint"),
|
||||
(126901,9,1,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,1.27153,"Razzle Sprysprocket - On Script - Set Orientation"),
|
||||
(126901,9,2,0,0,0,100,0,1000,1000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Say Line 2"),
|
||||
(126901,9,3,0,0,0,100,0,4000,4000,0,0,5,69,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Play Emote 69"),
|
||||
(126901,9,4,0,0,0,100,0,1000,1000,0,0,86,7344,0,19,5568,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Cross Cast 'Recombobulate'"),
|
||||
(126901,9,5,0,0,0,100,0,2000,2000,0,0,1,0,0,0,0,0,0,19,5568,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Say Line 0 (Captured Leper Gnome)"),
|
||||
(126901,9,6,0,0,0,100,0,3000,3000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Say Line 3"),
|
||||
(126902,9,0,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,5.63683,"Razzle Sprysprocket - On Script - Set Orientation"),
|
||||
(126902,9,1,0,0,0,100,0,500,500,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Say Line 4"),
|
||||
(126902,9,2,0,0,0,100,0,4000,4000,0,0,1,1,0,0,0,0,0,19,1268,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Say Line 0 (Ozzie Togglevolt)"),
|
||||
(126902,9,3,0,0,0,100,0,0,0,0,0,28,7344,0,0,0,0,0,19,5568,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Remove Aura 'Recombobulate' from Captured Leper Gnome"),
|
||||
(126902,9,4,0,0,0,100,0,0,0,0,0,82,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Add Npc Flag Questgiver");
|
||||
|
||||
DELETE FROM `waypoints` WHERE `entry`=1269;
|
||||
INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES
|
||||
(1269,1,-5496.54,-455.453,395.439,""),
|
||||
(1269,2,-5499.83,-454.55,395.439,""),
|
||||
(1269,3,-5497.94,-455.835,395.438,"");
|
||||
*/
|
||||
@@ -0,0 +1,18 @@
|
||||
/*
|
||||
--
|
||||
-- Mux Manascrambler
|
||||
DELETE FROM `gossip_menu_option` WHERE `MenuID`=7083;
|
||||
INSERT INTO `gossip_menu_option` (`MenuID`, `OptionID`, `OptionIcon`, `OptionText`, `OptionBroadcastTextID`, `OptionType`, `OptionNpcFlag`, `ActionMenuID`, `ActionPoiID`, `BoxCoded`, `BoxMoney`, `BoxText`, `BoxBroadcastTextID`, `VerifiedBuild`) VALUES
|
||||
(7083,0,0,"About that ghost revealer. Did I happen to leave it here? I seem to be missing it.",11909,1,1,0,0,0,0,"",0,0),
|
||||
(7083,1,0,"I seem to have misplaced the distiller, Mux. Did I happen to leave it here?",11908,1,1,0,0,0,0,"",0,0);
|
||||
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=7083 AND `SourceEntry`=1;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(15,7083,1,0,0,9,0,8924,0,0,0,0,0,"","Show gossip option if quest 'Hunting for Ectoplasm' is taken"),
|
||||
(15,7083,1,0,0,2,0,21946,1,1,1,0,0,"","Show gossip option if player does not have item 'Ectoplasmic Distiller'");
|
||||
|
||||
UPDATE `smart_scripts` SET `action_type`=85, `action_param2`=2 WHERE `entryorguid`=16014 AND `source_type`=0 AND `id`=0;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=16014 AND `source_type`=0 AND `id`=2;
|
||||
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
|
||||
(16014,0,2,1,62,0,100,0,7083,1,0,0,85,27752,2,0,0,0,0,7,0,0,0,0,0,0,0,"Mux Manascrambler - On Gossip Option 1 Selected - Invoker Cast 'Create Ectoplasmic Distiller'");
|
||||
*/
|
||||
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
--
|
||||
-- Anthion Harmon
|
||||
UPDATE `creature_template` SET `npcflag`=3, `gossip_menu_id`=7072 WHERE `entry`=16016;
|
||||
|
||||
DELETE FROM `gossip_menu` WHERE `MenuID`=7072;
|
||||
INSERT INTO `gossip_menu` (`MenuID`, `TextID`, `VerifiedBuild`) VALUES
|
||||
(7072,8334,0),
|
||||
(7072,8337,0),
|
||||
(7072,8338,0);
|
||||
|
||||
DELETE FROM `npc_text` WHERE `ID` IN (8337,8338);
|
||||
INSERT INTO `npc_text` (`ID`, `text0_0`, `text0_1`, `BroadcastTextID0`, `lang0`, `Probability0`, `em0_1`) VALUES
|
||||
(8337,"Ysida lives thanks to your courage, $n. I am deeply in your debt and shall assist you as much as it is in my power.","",11933,0,1,0),
|
||||
(8338,"I guess it's all just about over, right $n? I'm going to miss you... it'll be pretty lonely up here without someone to talk to.$B$BBut that doesn't mean that you can't come back to see me in the future!","",11912,0,1,1);
|
||||
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=7072;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(14,7072,8334,0,0,8,0,8946,0,0,1,0,0,"","Show gossip text 8334 if quest 'Proof of Life' is not rewarded"),
|
||||
(14,7072,8337,0,0,8,0,8946,0,0,0,0,0,"","Show gossip text 8337 if quest 'Proof of Life' is rewarded"),
|
||||
(14,7072,8337,0,0,8,0,9015,0,0,1,0,0,"","Show gossip text 8337 if quest 'The Challenge' is NOT rewarded"),
|
||||
(14,7072,8338,0,0,8,0,9015,0,0,0,0,0,"","Show gossip text 8338 if quest 'The Challenge' is rewarded");
|
||||
|
||||
-- Falrin Treeshaper
|
||||
UPDATE `creature_template` SET `npcflag`=3, `gossip_menu_id`=7073 WHERE `entry`=16032;
|
||||
|
||||
DELETE FROM `gossip_menu` WHERE `MenuID`=7073;
|
||||
INSERT INTO `gossip_menu` (`MenuID`, `TextID`, `VerifiedBuild`) VALUES
|
||||
(7073,8336,0);
|
||||
|
||||
DELETE FROM `gossip_menu_option` WHERE `MenuID`=7073;
|
||||
INSERT INTO `gossip_menu_option` (`MenuID`, `OptionID`, `OptionIcon`, `OptionText`, `OptionBroadcastTextID`, `OptionType`, `OptionNpcFlag`, `ActionMenuID`, `ActionPoiID`, `BoxCoded`, `BoxMoney`, `BoxText`, `BoxBroadcastTextID`, `VerifiedBuild`) VALUES
|
||||
(7073,0,0,"I believe I misplaced that banner you enchanted for me, Falrin.",11910,1,1,0,0,0,0,"",0,0);
|
||||
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=7073;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(15,7073,0,0,0,14,0,9015,0,0,1,0,0,"","Show gossip option if quest 'The Challenge' is taken, completed or rewarded"),
|
||||
(15,7073,0,0,0,2,0,21986,1,1,1,0,0,"","Show gossip option if player does not have item 'Banner of Provocation'");
|
||||
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=16032;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=16032 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
|
||||
(16032,0,0,1,62,0,100,0,7073,0,0,0,85,27755,2,0,0,0,0,7,0,0,0,0,0,0,0,"Falrin Treeshaper - On Gossip Option 0 Selected - Invoker Cast 'Create Banner of Provocation'"),
|
||||
(16032,0,1,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Falrin Treeshaper - On Gossip Option 0 Selected - Close Gossip");
|
||||
*/
|
||||
@@ -0,0 +1,7 @@
|
||||
/*
|
||||
--
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=1822;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(14,1822,2473,0,0,6,0,67,0,0,0,0,0,"","Show gossip text 2473 if player is Horde"),
|
||||
(14,1822,2474,0,0,6,0,469,0,0,0,0,0,"","Show gossip text 2474 if player is Alliance");
|
||||
*/
|
||||
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
--
|
||||
-- Thaurissan Relic
|
||||
UPDATE `gameobject_template` SET `AIName`="SmartGameObjectAI" WHERE `entry`=153556;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=153556 AND `source_type`=1;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=15355600 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
|
||||
(153556,1,0,0,70,0,100,1,2,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,"Thaurissan Relic - On Gameobject State Changed - Store Targetlist"),
|
||||
(153556,1,1,0,70,0,100,1,2,0,0,0,80,15355600,0,0,0,0,0,1,0,0,0,0,0,0,0,"Thaurissan Relic - On Gameobject State Changed - Run Script"),
|
||||
(15355600,9,0,0,0,0,100,0,0,0,0,0,12,8887,3,5000,0,0,0,1,0,0,0,0,0,0,0,"Thaurissan Relic - On Script - Summon Creature 'A tormented voice'"),
|
||||
(15355600,9,1,0,0,0,100,0,0,0,0,0,100,1,0,0,0,0,0,19,8887,0,0,0,0,0,0,"Thaurissan Relic - On Script - Send Targetlist"),
|
||||
(15355600,9,2,0,0,0,100,0,0,0,0,0,45,1,1,0,0,0,0,19,8887,0,0,0,0,0,0,"Thaurissan Relic - On Script - Set Data");
|
||||
|
||||
-- A tormented voice
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=8887;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=8887 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
|
||||
(8887,0,0,0,38,0,100,0,1,1,0,0,1,0,0,0,0,0,0,12,1,0,0,0,0,0,0,"A tormented voice - On Data Set - Say Line 0");
|
||||
|
||||
DELETE FROM `creature_text` WHERE `CreatureID`=8887;
|
||||
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
|
||||
(8887,0,0,"Leave this place. <The relic emits a white hot arc of flame. A memory has been gained: A lone Dark Iron dwarf is surrounded by seven corpses, kneeling before a monolith of flame.>",15,0,100,0,0,0,4594,0,"A tormented voice"),
|
||||
(8887,0,1,"You will perish here. <Your mind fills with visions of chaos and destruction.>",15,0,100,0,0,0,4595,0,"A tormented voice"),
|
||||
(8887,0,2,"Do not taint these ruins, mortal. <You are engulfed in a blinding flash of light. A creature composed entirely of flame is the only thing you can remember seeing.>",15,0,100,0,0,0,4596,0,"A tormented voice"),
|
||||
(8887,0,3,"Help us, outsider. <The relic crumbles to dust. A vision of eight Dark Iron dwarves performing some sort of ritual fills your head.>",15,0,100,0,0,0,4597,0,"A tormented voice"),
|
||||
(8887,0,4,"He cannot be defeated. <The relic burns to nothing. The memories it held are now your own. This city was destroyed by a being not of this world.>",15,0,100,0,0,0,4598,0,"A tormented voice"),
|
||||
(8887,0,5,"Your existence is acknowledged. <The relic turns to dust. Your head throbs with newfound wisdom. Something evil lurks in the heart of the mountain.>",15,0,100,0,0,0,4599,0,"A tormented voice"),
|
||||
(8887,0,6,"Defiler... you will be punished for this incursion. <A symbol of flame radiates from the relic before it crumbles to the earth.>",15,0,100,0,0,0,4600,0,"A tormented voice");
|
||||
*/
|
||||
@@ -0,0 +1,10 @@
|
||||
/*
|
||||
-- Royal Historian Archesonus
|
||||
DELETE FROM `gossip_menu` WHERE `MenuID`=1561 AND `TextID`=2235;
|
||||
INSERT INTO `gossip_menu` (`MenuID`, `TextID`, `VerifiedBuild`) VALUES
|
||||
(1561,2235,0);
|
||||
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=1561;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(14,1561,2235,0,0,9,0,3702,0,0,0,0,0,"","Show gossip text 2235 if quest 'The Smoldering Ruins of Thaurissan' is taken");
|
||||
*/
|
||||
@@ -0,0 +1,16 @@
|
||||
/*
|
||||
--
|
||||
-- Stone Watcher of Norgannon
|
||||
UPDATE `gossip_menu` SET `TextID`=1676 WHERE `MenuID`=57001;
|
||||
UPDATE `gossip_menu` SET `TextID`=1675 WHERE `MenuID`=57002;
|
||||
|
||||
DELETE FROM `creature_text` WHERE `CreatureID`=7918;
|
||||
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
|
||||
(7918,0,0,"Salutations! I am a guardian of entry. Please use the proper discs for access to Uldum.",12,0,100,0,0,0,4049,0,"Stone Watcher of Norgannon"),
|
||||
(7918,1,0,"Your discs will be returned to you once you access the pedestal.",12,0,100,0,0,0,4065,0,"Stone Watcher of Norgannon");
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=7918 AND `source_type`=0 AND `id` IN (2,3);
|
||||
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`, `event_param5`, `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
|
||||
(7918,0,2,0,11,0,100,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stone Watcher of Norgannon - On Spawn - Say Line 0"),
|
||||
(7918,0,3,0,62,0,100,0,57005,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stone Watcher of Norgannon - On Gossip Option Selected - Say Line 1");
|
||||
*/
|
||||
@@ -0,0 +1,4 @@
|
||||
-- Princess Moira Bronzebeard
|
||||
DELETE FROM `creature_text` WHERE `CreatureID`=8929;
|
||||
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
|
||||
(8929,0,0,"%s is visibly shaken by the death of Emperor Thaurissan.",16,0,100,18,0,0,5429,0,"Princess Moira Bronzebeard");
|
||||
@@ -0,0 +1,4 @@
|
||||
/*
|
||||
-- Gaffer Jack
|
||||
UPDATE `fishing_loot_template` SET `GroupId`=0 WHERE `entry` IN (148);
|
||||
*/
|
||||
@@ -0,0 +1,59 @@
|
||||
-- Sharth and Pathaleon conversation
|
||||
DELETE FROM `creature_text` WHERE `CreatureID`=21504 AND `GroupID`=13;
|
||||
DELETE FROM `creature_text` WHERE `CreatureID`=18554;
|
||||
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
|
||||
(18554,0,0,"You come into my house and threaten ME? I think not!'",12,0,100,1,0,0,15542,0,"Sharth Voldoun"),
|
||||
(18554,1,0,"My master, we are honored by your presence. How may I serve thee?",12,0,100,0,0,0,19156,0,"Sharth Voldoun"),
|
||||
(18554,2,0,"All goes exceedingly well, my lord. Testing of the smaller prototype at the Cenarion Thicket was a complete success. The second bomb is being ritually fueled in the courtyard below even as we speak. And, I''ve sent a courier to Tuurem to bring the rest of the parts to us here.",12,0,100,1,0,0,19159,0,"Sharth Voldoun"),
|
||||
(18554,3,0,'You are satisfied?',12,0,100,6,0,0,19160,0,"Sharth Voldoun"),
|
||||
(18554,4,0,'I can assure you that we will not fail, my master. I am personally overseeing every aspect of the construction, and I hold the final codes, myself. Within a day''s time, I will have the bomb detonated on those nearby pests.',12,0,100,2,0,0,19164,0,"Sharth Voldoun"),
|
||||
(21504,13,0,'Rise, young Voldoun. Do not worry yourself with pleasantries. I come at the behest of our master, Prince Kael''thas. He bids me to check on the progress of the mana bomb.',12,0,100,1,0,0,19157,0,"Pathaleon the Calculator's Image");
|
||||
|
||||
-- Incorrect spawning of Pathaleon the Calculators Image
|
||||
DELETE FROM `creature` WHERE `guid`=85566 AND `id`=21504;
|
||||
|
||||
-- Sharth Voldoun, fix position and weapon sheathed
|
||||
UPDATE `creature` SET `position_x` = -2288.34839, `position_y` = 3091.4968, `orientation` = 3.2263 WHERE `guid` = 86925;
|
||||
DELETE FROM `creature_template_addon` WHERE `entry`=18554;
|
||||
INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES
|
||||
(18554,0,0,0,0,0,"");
|
||||
|
||||
-- Sharth Voldoun
|
||||
UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`= 18554;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=18554 AND `source_type`=0;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=1855400 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`, `event_param5`, `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
|
||||
(18554,0,0,0,0,0,100,0,3000,5000,40000,45000,0,11,15277,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sharth Voldoun - IC - Cast Seal of Reckoning"),
|
||||
(18554,0,1,0,2,0,100,0,0,40,15000,20000,0,11,13952,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sharth Voldoun - On Below 40% HP - Cast Holy Light"),
|
||||
(18554,0,2,3,4,0,100,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sharth Voldoun - On Aggro - Say Line 0"),
|
||||
(18554,0,3,0,61,0,100,0,0,0,0,0,0,45,1,1,0,0,0,0,19,21504,50,0,0,0,0,0,"Sharth Voldoun - On Aggro - Set Data"),
|
||||
(18554,0,4,0,1,0,100,0,30000,30000,120000,120000,0,80,1855400,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sharth Voldoun - OOC - RunScript"),
|
||||
(1855400,9,0,0,0,0,100,0,0,0,0,0,0,12,21504,8,0,0,0,0,8,0,0,0,-2293.5210,3091.34302,152.817734,6.17546,"Sharth Voldoun - On Script - Summon Pathaleon the Calculators Image"),
|
||||
(1855400,9,1,0,0,0,100,0,2000,2000,0,0,0,90,8,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sharth Voldoun - On Script - Set Flag Standstate 'Kneel'"),
|
||||
(1855400,9,2,0,0,0,100,0,1000,1000,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sharth Voldoun - On Script - Say Line 1"),
|
||||
(1855400,9,3,0,0,0,100,0,7000,7000,0,0,0,1,13,0,0,0,0,0,19,21504,0,0,0,0,0,0,"Sharth Voldoun - On Script - Say Line 13 (Pathaleon the Calculators Image)"),
|
||||
(1855400,9,4,0,0,0,100,0,3000,3000,0,0,0,91,8,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sharth Voldoun - On Script - Remove Flag Standstate 'Kneel'"),
|
||||
(1855400,9,5,0,0,0,100,0,8000,8000,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sharth Voldoun - On Script - Say Line 2"),
|
||||
(1855400,9,6,0,0,0,100,0,14000,14000,0,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sharth Voldoun - On Script - Say Line 3"),
|
||||
(1855400,9,7,0,0,0,100,0,4000,4000,0,0,0,1,4,0,0,0,0,0,19,21504,0,0,0,0,0,0,"Sharth Voldoun - On Script - Say Line 4 (Pathaleon the Calculators Image)"),
|
||||
(1855400,9,8,0,0,0,100,0,16000,16000,0,0,0,1,5,0,0,0,0,0,19,21504,0,0,0,0,0,0,"Sharth Voldoun - On Script - Say Line 5 (Pathaleon the Calculators Image)"),
|
||||
(1855400,9,9,0,0,0,100,0,16000,16000,0,0,0,1,6,0,0,0,0,0,19,21504,0,0,0,0,0,0,"Sharth Voldoun - On Script - Say Line 6 (Pathaleon the Calculators Image)"),
|
||||
(1855400,9,10,0,0,0,100,0,10000,10000,0,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sharth Voldoun - On Script - Say Line 4"),
|
||||
(1855400,9,11,0,0,0,100,0,13000,13000,0,0,0,1,7,0,0,0,0,0,19,21504,0,0,0,0,0,0,"Sharth Voldoun - On Script - Say Line 7 (Pathaleon the Calculators Image)"),
|
||||
(1855400,9,12,0,0,0,100,0,0,0,0,0,0,45,3,3,0,0,0,0,19,21504,0,0,0,0,0,0,"Sharth Voldoun - On Script - Set Data to Pathaleon the Calculators Image");
|
||||
|
||||
-- Pathaleon the Calculators Image
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=21504 AND `ID`>1;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=2150401 AND `source_type`=9;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=2150402 AND `source_type`=9;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=21504 AND `ID`=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`, `event_param5`, `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
|
||||
(21504,0,2,0,54,0,100,0,0,0,0,0,0,11,34427,2,0,0,0,0,1,0,0,0,0,0,0,0,"Pathaleon the Calculator's Image - On Just Summoned - Cast Ethereal Teleport"),
|
||||
(21504,0,3,0,54,0,100,0,0,0,0,0,0,11,33900,2,0,0,0,0,1,0,0,0,0,0,0,0,"Pathaleon the Calculator's Image - On Just Summoned - Cast Shroud of Death"),
|
||||
(21504,0,4,0,38,0,100,0,3,3,0,0,0,80,2150401,2,0,0,0,0,1,0,0,0,0,0,0,0,"Pathaleon the Calculator's Image - On Data Set - Run Script"),
|
||||
(2150401,9,0,0,0,0,100,0,8000,8000,0,0,0,11,34427,2,0,0,0,0,1,0,0,0,0,0,0,0,"Pathaleon the Calculator's Image - On Script - Cast Ethereal Teleport"),
|
||||
(2150401,9,1,0,0,0,100,0,2000,2000,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Pathaleon the Calculator's Image - On Script - Despawn"),
|
||||
(21504,0,0,0,38,0,100,0,1,1,0,0,0,80,2150402,2,0,0,0,0,1,0,0,0,0,0,0,0,"Pathaleon the Calculator's Image - On Data Set - Run Script"),
|
||||
(2150402,9,0,0,0,0,100,0,1000,1000,0,0,0,1,8,0,0,0,0,0,1,0,0,0,0,0,0,0,"Pathaleon the Calculator's Image - On Script - Say text"),
|
||||
(2150402,9,1,0,0,0,100,0,5000,5000,0,0,0,11,34427,2,0,0,0,0,1,0,0,0,0,0,0,0,"Pathaleon the Calculator's Image - On Script - Cast Ethereal Teleport"),
|
||||
(2150402,9,2,0,0,0,100,0,1000,1000,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Pathaleon the Calculator's Image - On Script - Despawn");
|
||||
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
-- Quest "Protecting the Shipment"
|
||||
UPDATE `quest_template_addon` SET `SpecialFlags`=2 WHERE `ID`=309; -- Prevents quest from auto completing
|
||||
|
||||
-- Miran
|
||||
UPDATE `creature` SET `spawntimesecs`=120 WHERE `guid`=8975;
|
||||
|
||||
DELETE FROM `creature_text` WHERE `CreatureID`=1379 AND `GroupID` IN (1,2,3);
|
||||
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
|
||||
(1379,1,0,"Help! I've only one hand to defend myself with.",12,7,100,0,0,0,510,0,"Miran"),
|
||||
(1379,2,0,"Send them on! I'm not afraid of some scrawny beasts!",12,7,100,0,0,0,511,0,"Miran"),
|
||||
(1379,3,0,"Ah, here at last! It's going to feel so good to get rid of these barrels.",12,7,100,0,0,0,498,0,"Miran");
|
||||
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=1379;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=1379 AND `source_type`=0;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (137900,137901) 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`,`event_param5`,`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
|
||||
(1379,0,0,1,19,0,100,0,309,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,"Miran - On Quest 'Protecting the Shipment' Taken - Store Targetlist"),
|
||||
(1379,0,1,2,61,0,100,0,0,0,0,0,0,83,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Miran - On Quest 'Protecting the Shipment' Taken - Remove Npc Flag Questgiver"),
|
||||
(1379,0,2,0,61,0,100,0,0,0,0,0,0,53,0,1379,0,0,0,2,1,0,0,0,0,0,0,0,"Miran - On Quest 'Protecting the Shipment' Taken - Start Waypoint"),
|
||||
(1379,0,3,0,6,0,100,0,0,0,0,0,0,6,309,0,0,0,0,0,12,1,0,0,0,0,0,0,"Miran - On Just Died - Fail Quest 'Protecting the Shipment'"),
|
||||
(1379,0,4,0,40,0,100,0,19,1379,0,0,0,80,137900,2,0,0,0,0,1,0,0,0,0,0,0,0,"Miran - On Waypoint 19 Reached - Run Script"),
|
||||
(1379,0,5,0,40,0,100,0,23,1379,0,0,0,80,137901,2,0,0,0,0,1,0,0,0,0,0,0,0,"Miran - On Waypoint 23 Reached - Run Script"),
|
||||
(1379,0,6,0,40,0,100,0,24,1379,0,0,0,41,1000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Miran - On Waypoint 24 Reached - Despawn"),
|
||||
(137900,9,0,0,0,0,100,0,0,0,0,0,0,54,2000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Miran - On Script - Pause Waypoint"),
|
||||
(137900,9,1,0,0,0,100,0,0,0,0,0,0,107,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Miran - On Script - Summon Group"),
|
||||
(137900,9,2,0,0,0,100,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Miran - On Script - Say Line 1"),
|
||||
(137900,9,3,0,0,0,100,0,0,0,0,0,0,1,0,0,0,0,0,0,19,2149,0,0,0,0,0,0,"Miran - On Script - Say Line 0 (Dark Iron Raider)"),
|
||||
(137900,9,4,0,0,0,100,0,7000,7000,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Miran - On Script - Say Line 2"),
|
||||
(137901,9,0,0,0,0,100,0,0,0,0,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Miran - On Script - Pause Waypoint"),
|
||||
(137901,9,1,0,0,0,100,0,0,0,0,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Miran - On Script - Say Line 3"),
|
||||
(137901,9,2,0,0,0,100,0,0,0,0,0,0,15,309,0,0,0,0,0,12,1,0,0,0,0,0,0,"Miran - On Script - Complete Quest 'Protecting the Shipment'");
|
||||
|
||||
DELETE FROM `creature_summon_groups` WHERE `summonerId`=1379;
|
||||
INSERT INTO `creature_summon_groups` (`summonerId`, `summonerType`, `groupId`, `entry`, `position_x`, `position_y`, `position_z`, `orientation`, `summonType`, `summonTime`) VALUES
|
||||
(1379,0,1,2149,-5699.63,-3745.94,319.454,1.56927,1,10000),
|
||||
(1379,0,1,2149,-5706.36,-3744.81,318.798,1.04306,1,10000);
|
||||
|
||||
DELETE FROM `waypoints` WHERE `entry`=1379;
|
||||
INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES
|
||||
(1379,1,-5751.12,-3441.01,301.743,""),
|
||||
(1379,2,-5738.58,-3485.14,302.41,""),
|
||||
(1379,3,-5721.62,-3507.85,304.011,""),
|
||||
(1379,4,-5710.21,-3527.97,304.708,""),
|
||||
(1379,5,-5706.92,-3542.89,304.871,""),
|
||||
(1379,6,-5701.53,-3551.24,305.962,""),
|
||||
(1379,7,-5699.53,-3555.69,306.505,""),
|
||||
(1379,8,-5690.56,-3571.98,309.035,""),
|
||||
(1379,9,-5678.61,-3587.17,310.607,""),
|
||||
(1379,10,-5677.05,-3594.35,311.527,""),
|
||||
(1379,11,-5674.39,-3605.19,312.239,""),
|
||||
(1379,12,-5674.45,-3614.39,312.337,""),
|
||||
(1379,13,-5673.05,-3630.56,311.105,""),
|
||||
(1379,14,-5680.34,-3645.44,315.185,""),
|
||||
(1379,15,-5684.46,-3650.05,314.687,""),
|
||||
(1379,16,-5693.9,-3674.14,313.03,""),
|
||||
(1379,17,-5701.43,-3712.54,313.959,""),
|
||||
(1379,18,-5698.79,-3720.88,316.943,""),
|
||||
(1379,19,-5699.95,-3733.63,318.597,""),
|
||||
(1379,20,-5698.61,-3754.74,322.047,""),
|
||||
(1379,21,-5688.68,-3769,323.957,""),
|
||||
(1379,22,-5688.14,-3782.65,322.667,""),
|
||||
(1379,23,-5699.23,-3792.65,322.448,""),
|
||||
(1379,24,-5700.8,-3792.78,322.588,"");
|
||||
|
||||
-- Dark Iron Raider
|
||||
DELETE FROM `creature_text` WHERE `CreatureID`=2149;
|
||||
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
|
||||
(2149,0,0,"Get him!",12,6,100,0,0,0,512,0,"Dark Iron Raider");
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=2149 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`, `event_param5`, `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
|
||||
(2149,0,0,0,54,0,100,0,0,0,0,0,0,49,0,0,0,0,0,0,19,1379,0,0,0,0,0,0,"Dark Iron Raider - Just Summoned - Start Attacking");
|
||||
|
||||
-- Huldar
|
||||
DELETE FROM `gossip_menu` WHERE `MenuID`=4322 AND `TextID`=5501;
|
||||
INSERT INTO `gossip_menu` (`MenuID`, `TextID`, `VerifiedBuild`) VALUES
|
||||
(4322,5501,0);
|
||||
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=4322;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(14,4322,5494,0,0,29,0,1379,20,0,0,0,0,"","Show gossip text 5494 if Miran is nearby"),
|
||||
(14,4322,5501,0,0,29,0,1379,20,0,1,0,0,"","Show gossip text 3522 if Miran is not nearby");
|
||||
*/
|
||||
@@ -68,7 +68,8 @@ namespace Trinity
|
||||
// this element has chance (elementsToKeep / elementsToProcess) of being kept
|
||||
if (urand(1, elementsToProcess) <= elementsToKeep)
|
||||
{
|
||||
*keepIt = std::move(*curIt);
|
||||
if (keepIt != curIt)
|
||||
*keepIt = std::move(*curIt);
|
||||
++keepIt;
|
||||
--elementsToKeep;
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ void EventMap::SetPhase(uint8 phase)
|
||||
_phase = uint8(1 << (phase - 1));
|
||||
}
|
||||
|
||||
void EventMap::ScheduleEvent(uint32 eventId, Milliseconds const& minTime, Milliseconds const& maxTime, uint32 group /*= 0*/, uint32 phase /*= 0*/)
|
||||
void EventMap::ScheduleEvent(uint32 eventId, Milliseconds minTime, Milliseconds maxTime, uint32 group /*= 0*/, uint32 phase /*= 0*/)
|
||||
{
|
||||
ScheduleEvent(eventId, urand(uint32(minTime.count()), uint32(maxTime.count())), group, phase);
|
||||
}
|
||||
@@ -49,7 +49,7 @@ void EventMap::ScheduleEvent(uint32 eventId, uint32 time, uint32 group /*= 0*/,
|
||||
_eventMap.insert(EventStore::value_type(_time + time, eventId));
|
||||
}
|
||||
|
||||
void EventMap::RescheduleEvent(uint32 eventId, Milliseconds const& minTime, Milliseconds const& maxTime, uint32 group /*= 0*/, uint32 phase /*= 0*/)
|
||||
void EventMap::RescheduleEvent(uint32 eventId, Milliseconds minTime, Milliseconds maxTime, uint32 group /*= 0*/, uint32 phase /*= 0*/)
|
||||
{
|
||||
RescheduleEvent(eventId, urand(uint32(minTime.count()), uint32(maxTime.count())), group, phase);
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@ public:
|
||||
* @param group The group which the event is associated to. Has to be between 1 and 8. 0 means it has no group.
|
||||
* @param phase The phase in which the event can occur. Has to be between 1 and 8. 0 means it can occur in all phases.
|
||||
*/
|
||||
void ScheduleEvent(uint32 eventId, Milliseconds const& time, uint32 group = 0, uint8 phase = 0)
|
||||
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group = 0, uint8 phase = 0)
|
||||
{
|
||||
ScheduleEvent(eventId, uint32(time.count()), group, phase);
|
||||
}
|
||||
@@ -134,7 +134,7 @@ public:
|
||||
* @param group The group which the event is associated to. Has to be between 1 and 8. 0 means it has no group.
|
||||
* @param phase The phase in which the event can occur. Has to be between 1 and 8. 0 means it can occur in all phases.
|
||||
*/
|
||||
void ScheduleEvent(uint32 eventId, Milliseconds const& minTime, Milliseconds const& maxTime, uint32 group = 0, uint32 phase = 0);
|
||||
void ScheduleEvent(uint32 eventId, Milliseconds minTime, Milliseconds maxTime, uint32 group = 0, uint32 phase = 0);
|
||||
|
||||
/**
|
||||
* @name ScheduleEvent
|
||||
@@ -154,7 +154,7 @@ public:
|
||||
* @param group The group which the event is associated to. Has to be between 1 and 8. 0 means it has no group.
|
||||
* @param phase The phase in which the event can occur. Has to be between 1 and 8. 0 means it can occur in all phases.
|
||||
*/
|
||||
void RescheduleEvent(uint32 eventId, Milliseconds const& time, uint32 group = 0, uint8 phase = 0)
|
||||
void RescheduleEvent(uint32 eventId, Milliseconds time, uint32 group = 0, uint8 phase = 0)
|
||||
{
|
||||
RescheduleEvent(eventId, uint32(time.count()), group, phase);
|
||||
}
|
||||
@@ -168,7 +168,7 @@ public:
|
||||
* @param group The group which the event is associated to. Has to be between 1 and 8. 0 means it has no group.
|
||||
* @param phase The phase in which the event can occur. Has to be between 1 and 8. 0 means it can occur in all phases.
|
||||
*/
|
||||
void RescheduleEvent(uint32 eventId, Milliseconds const& minTime, Milliseconds const& maxTime, uint32 group = 0, uint32 phase = 0);
|
||||
void RescheduleEvent(uint32 eventId, Milliseconds minTime, Milliseconds maxTime, uint32 group = 0, uint32 phase = 0);
|
||||
|
||||
/**
|
||||
* @name RescheduleEvent
|
||||
@@ -189,7 +189,7 @@ public:
|
||||
* @brief Repeats the mostly recently executed event.
|
||||
* @param time Time until in milliseconds as std::chrono::duration the event occurs.
|
||||
*/
|
||||
void Repeat(Milliseconds const& time)
|
||||
void Repeat(Milliseconds time)
|
||||
{
|
||||
Repeat(uint32(time.count()));
|
||||
}
|
||||
@@ -210,7 +210,7 @@ public:
|
||||
* @param minTime Minimum time as std::chrono::duration until the event occurs.
|
||||
* @param maxTime Maximum time as std::chrono::duration until the event occurs.
|
||||
*/
|
||||
void Repeat(Milliseconds const& minTime, Milliseconds const& maxTime)
|
||||
void Repeat(Milliseconds minTime, Milliseconds maxTime)
|
||||
{
|
||||
Repeat(uint32(minTime.count()), uint32(maxTime.count()));
|
||||
}
|
||||
@@ -235,7 +235,7 @@ public:
|
||||
* @brief Delays all events in the map. If delay is greater than or equal internal timer, delay will be 0.
|
||||
* @param delay Amount of delay in ms as std::chrono::duration.
|
||||
*/
|
||||
void DelayEvents(Milliseconds const& delay)
|
||||
void DelayEvents(Milliseconds delay)
|
||||
{
|
||||
DelayEvents(uint32(delay.count()));
|
||||
}
|
||||
@@ -256,7 +256,7 @@ public:
|
||||
* @param delay Amount of delay in ms as std::chrono::duration.
|
||||
* @param group Group of the events.
|
||||
*/
|
||||
void DelayEvents(Milliseconds const& delay, uint32 group)
|
||||
void DelayEvents(Milliseconds delay, uint32 group)
|
||||
{
|
||||
DelayEvents(uint32(delay.count()), group);
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ class TC_COMMON_API EventProcessor
|
||||
void Update(uint32 p_time);
|
||||
void KillAllEvents(bool force);
|
||||
void AddEvent(BasicEvent* event, uint64 e_time, bool set_addtime = true);
|
||||
void AddEventAtOffset(BasicEvent* event, Milliseconds const& offset) { AddEvent(event, CalculateTime(offset.count())); }
|
||||
void AddEventAtOffset(BasicEvent* event, Milliseconds offset) { AddEvent(event, CalculateTime(offset.count())); }
|
||||
void ModifyEventTime(BasicEvent* event, uint64 newTime);
|
||||
uint64 CalculateTime(uint64 t_offset) const { return m_time + t_offset; }
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ float frand(float min, float max)
|
||||
return float(GetRng()->Random() * (max - min) + min);
|
||||
}
|
||||
|
||||
Milliseconds randtime(Milliseconds const& min, Milliseconds const& max)
|
||||
Milliseconds randtime(Milliseconds min, Milliseconds max)
|
||||
{
|
||||
long long diff = max.count() - min.count();
|
||||
ASSERT(diff >= 0);
|
||||
|
||||
@@ -36,7 +36,7 @@ TC_COMMON_API uint32 urandms(uint32 min, uint32 max);
|
||||
TC_COMMON_API uint32 rand32();
|
||||
|
||||
/* Return a random time in the range min..max (up to millisecond precision). Only works for values where millisecond difference is a valid uint32. */
|
||||
TC_COMMON_API Milliseconds randtime(Milliseconds const& min, Milliseconds const& max);
|
||||
TC_COMMON_API Milliseconds randtime(Milliseconds min, Milliseconds max);
|
||||
|
||||
/* Return a random number in the range min..max */
|
||||
TC_COMMON_API float frand(float min, float max);
|
||||
|
||||
@@ -122,7 +122,7 @@ void Channel::GetChannelName(std::string& channelName, uint32 channelId, LocaleC
|
||||
if (channelEntry->flags & CHANNEL_DBC_FLAG_CITY_ONLY)
|
||||
channelName = Trinity::StringFormat(channelEntry->pattern, sObjectMgr->GetTrinityString(LANG_CHANNEL_CITY, locale));
|
||||
else
|
||||
channelName = Trinity::StringFormat(channelEntry->pattern, ASSERT_NOTNULL(zoneEntry)->area_name);
|
||||
channelName = Trinity::StringFormat(channelEntry->pattern, ASSERT_NOTNULL(zoneEntry)->area_name->Str[locale]);
|
||||
}
|
||||
else
|
||||
channelName = channelEntry->pattern;
|
||||
|
||||
@@ -325,9 +325,9 @@ bool ChatHandler::ExecuteCommandInTable(std::vector<ChatCommand> const& table, c
|
||||
std::string zoneName = "Unknown";
|
||||
if (AreaTableEntry const* area = sAreaTableStore.LookupEntry(areaId))
|
||||
{
|
||||
areaName = area->area_name;
|
||||
areaName = area->area_name->Str[m_session->GetSessionDbcLocale()];
|
||||
if (AreaTableEntry const* zone = sAreaTableStore.LookupEntry(area->zone))
|
||||
zoneName = zone->area_name;
|
||||
zoneName = zone->area_name->Str[m_session->GetSessionDbcLocale()];
|
||||
}
|
||||
|
||||
sLog->outCommand(m_session->GetAccountId(), "Command: %s [Player: %s (%s) (Account: %u) X: %f Y: %f Z: %f Map: %u (%s) Area: %u (%s) Zone: %s Selected: %s (%s)]",
|
||||
|
||||
@@ -627,7 +627,7 @@ struct AreaTableEntry
|
||||
//uint32 unk8; // 8,
|
||||
//uint32 unk9; // 9,
|
||||
int32 area_level; // 10
|
||||
char* area_name; // 11
|
||||
LocalizedString* area_name; // 11
|
||||
uint32 team; // 12
|
||||
uint32 LiquidTypeOverride[4]; // 13-16 liquid override by type
|
||||
float MaxDepth; // 17,
|
||||
|
||||
@@ -1894,7 +1894,7 @@ void Creature::Respawn(bool force)
|
||||
GetName().c_str(), GetGUID().ToString().c_str());
|
||||
}
|
||||
|
||||
void Creature::ForcedDespawn(uint32 timeMSToDespawn, Seconds const& forceRespawnTimer)
|
||||
void Creature::ForcedDespawn(uint32 timeMSToDespawn, Seconds forceRespawnTimer)
|
||||
{
|
||||
if (timeMSToDespawn)
|
||||
{
|
||||
@@ -1946,7 +1946,7 @@ void Creature::ForcedDespawn(uint32 timeMSToDespawn, Seconds const& forceRespawn
|
||||
}
|
||||
}
|
||||
|
||||
void Creature::DespawnOrUnsummon(uint32 msTimeToDespawn /*= 0*/, Seconds const& forceRespawnTimer /*= 0*/)
|
||||
void Creature::DespawnOrUnsummon(uint32 msTimeToDespawn /*= 0*/, Seconds forceRespawnTimer /*= 0*/)
|
||||
{
|
||||
if (TempSummon* summon = this->ToTempSummon())
|
||||
summon->UnSummon(msTimeToDespawn);
|
||||
|
||||
@@ -228,8 +228,8 @@ class TC_GAME_API Creature : public Unit, public GridObject<Creature>, public Ma
|
||||
|
||||
void RemoveCorpse(bool setSpawnTime = true);
|
||||
|
||||
void DespawnOrUnsummon(uint32 msTimeToDespawn = 0, Seconds const& forceRespawnTime = Seconds(0));
|
||||
void DespawnOrUnsummon(Milliseconds const& time, Seconds const& forceRespawnTime = Seconds(0)) { DespawnOrUnsummon(uint32(time.count()), forceRespawnTime); }
|
||||
void DespawnOrUnsummon(uint32 msTimeToDespawn = 0, Seconds forceRespawnTime = 0s);
|
||||
void DespawnOrUnsummon(Milliseconds time, Seconds forceRespawnTime = 0s) { DespawnOrUnsummon(uint32(time.count()), forceRespawnTime); }
|
||||
|
||||
time_t const& GetRespawnTime() const { return m_respawnTime; }
|
||||
time_t GetRespawnTimeEx() const;
|
||||
@@ -391,7 +391,7 @@ class TC_GAME_API Creature : public Unit, public GridObject<Creature>, public Ma
|
||||
bool CanAlwaysSee(WorldObject const* obj) const override;
|
||||
|
||||
private:
|
||||
void ForcedDespawn(uint32 timeMSToDespawn = 0, Seconds const& forceRespawnTimer = Seconds(0));
|
||||
void ForcedDespawn(uint32 timeMSToDespawn = 0, Seconds forceRespawnTimer = 0s);
|
||||
bool CheckNoGrayAggroConfig(uint32 playerLevel, uint32 creatureLevel) const; // No aggro from gray creatures
|
||||
|
||||
//WaypointMovementGenerator vars
|
||||
@@ -431,7 +431,7 @@ class TC_GAME_API AssistDelayEvent : public BasicEvent
|
||||
class TC_GAME_API ForcedDespawnDelayEvent : public BasicEvent
|
||||
{
|
||||
public:
|
||||
ForcedDespawnDelayEvent(Creature& owner, Seconds const& respawnTimer) : BasicEvent(), m_owner(owner), m_respawnTimer(respawnTimer) { }
|
||||
ForcedDespawnDelayEvent(Creature& owner, Seconds respawnTimer) : BasicEvent(), m_owner(owner), m_respawnTimer(respawnTimer) { }
|
||||
bool Execute(uint64 e_time, uint32 p_time) override;
|
||||
|
||||
private:
|
||||
|
||||
@@ -387,7 +387,10 @@ void GameObject::Update(uint32 diff)
|
||||
if (m_despawnDelay > diff)
|
||||
m_despawnDelay -= diff;
|
||||
else
|
||||
{
|
||||
m_despawnDelay = 0;
|
||||
DespawnOrUnsummon(0ms, m_despawnRespawnTime);;
|
||||
}
|
||||
}
|
||||
|
||||
switch (m_lootState)
|
||||
@@ -806,7 +809,7 @@ void GameObject::AddUniqueUse(Player* player)
|
||||
m_unique_users.insert(player->GetGUID());
|
||||
}
|
||||
|
||||
void GameObject::DespawnOrUnsummon(Milliseconds const& delay, Seconds const& forceRespawnTime)
|
||||
void GameObject::DespawnOrUnsummon(Milliseconds delay, Seconds forceRespawnTime)
|
||||
{
|
||||
if (delay > 0ms)
|
||||
{
|
||||
@@ -818,9 +821,11 @@ void GameObject::DespawnOrUnsummon(Milliseconds const& delay, Seconds const& for
|
||||
}
|
||||
else
|
||||
{
|
||||
uint32 const respawnDelay = (forceRespawnTime > 0s) ? forceRespawnTime.count() : m_respawnDelayTime;
|
||||
if (m_goData && respawnDelay)
|
||||
if (m_goData)
|
||||
{
|
||||
uint32 const respawnDelay = (forceRespawnTime > 0s) ? forceRespawnTime.count() : m_goData->spawntimesecs;
|
||||
SaveRespawnTime(respawnDelay);
|
||||
}
|
||||
Delete();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,7 +153,7 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject<GameObject>
|
||||
void SetSpawnedByDefault(bool b) { m_spawnedByDefault = b; }
|
||||
uint32 GetRespawnDelay() const { return m_respawnDelayTime; }
|
||||
void Refresh();
|
||||
void DespawnOrUnsummon(Milliseconds const& delay = 0ms, Seconds const& forceRespawnTime = 0s);
|
||||
void DespawnOrUnsummon(Milliseconds delay = 0ms, Seconds forceRespawnTime = 0s);
|
||||
void Delete();
|
||||
void SendGameObjectDespawn();
|
||||
void getFishLoot(Loot* loot, Player* loot_owner);
|
||||
|
||||
@@ -394,8 +394,9 @@ class TC_GAME_API WorldObject : public Object, public WorldLocation
|
||||
ZoneScript* GetZoneScript() const { return m_zoneScript; }
|
||||
|
||||
TempSummon* SummonCreature(uint32 entry, Position const& pos, TempSummonType despawnType = TEMPSUMMON_MANUAL_DESPAWN, uint32 despawnTime = 0, uint32 vehId = 0, bool visibleBySummonerOnly = false);
|
||||
TempSummon* SummonCreature(uint32 entry, Position const& pos, TempSummonType despawnType, Milliseconds const& despawnTime, uint32 vehId = 0, bool visibleBySummonerOnly = false) { return SummonCreature(entry, pos, despawnType, uint32(despawnTime.count()), vehId, visibleBySummonerOnly); }
|
||||
TempSummon* SummonCreature(uint32 entry, Position const& pos, TempSummonType despawnType, Milliseconds despawnTime, uint32 vehId = 0, bool visibleBySummonerOnly = false) { return SummonCreature(entry, pos, despawnType, uint32(despawnTime.count()), vehId, visibleBySummonerOnly); }
|
||||
TempSummon* SummonCreature(uint32 entry, float x, float y, float z, float o = 0, TempSummonType despawnType = TEMPSUMMON_MANUAL_DESPAWN, uint32 despawnTime = 0, bool visibleBySummonerOnly = false);
|
||||
|
||||
GameObject* SummonGameObject(uint32 entry, Position const& pos, QuaternionData const& rot, uint32 respawnTime /* s */, GOSummonType summonType = GO_SUMMON_TIMED_OR_CORPSE_DESPAWN);
|
||||
GameObject* SummonGameObject(uint32 entry, float x, float y, float z, float ang, QuaternionData const& rot, uint32 respawnTime /* s */);
|
||||
Creature* SummonTrigger(float x, float y, float z, float ang, uint32 dur, CreatureAI* (*GetAI)(Creature*) = nullptr);
|
||||
|
||||
@@ -27848,9 +27848,9 @@ std::string Player::GetMapAreaAndZoneString() const
|
||||
if (AreaTableEntry const* area = sAreaTableStore.LookupEntry(areaId))
|
||||
{
|
||||
int locale = GetSession()->GetSessionDbcLocale();
|
||||
areaName = area->area_name[locale];
|
||||
areaName = area->area_name->Str[locale];
|
||||
if (AreaTableEntry const* zone = sAreaTableStore.LookupEntry(area->zone))
|
||||
zoneName = zone->area_name[locale];
|
||||
zoneName = zone->area_name->Str[locale];
|
||||
}
|
||||
|
||||
std::ostringstream str;
|
||||
|
||||
@@ -310,7 +310,7 @@ void WorldSession::HandleWhoOpcode(WorldPacket& recvData)
|
||||
|
||||
std::string aname;
|
||||
if (AreaTableEntry const* areaEntry = sAreaTableStore.LookupEntry(playerZoneId))
|
||||
aname = areaEntry->area_name[GetSessionDbcLocale()];
|
||||
aname = areaEntry->area_name->Str[GetSessionDbcLocale()];
|
||||
|
||||
bool s_show = true;
|
||||
for (uint32 i = 0; i < strCount; ++i)
|
||||
|
||||
@@ -441,14 +441,16 @@ void WorldSession::HandleCastSpellOpcode(WorldPacket& recvPacket)
|
||||
}
|
||||
|
||||
// auto-selection buff level base at target level (in spellInfo)
|
||||
if (targets.GetUnitTarget())
|
||||
{
|
||||
SpellInfo const* actualSpellInfo = spellInfo->GetAuraRankForLevel(targets.GetUnitTarget()->getLevel());
|
||||
// TODO: is this even necessary? client already seems to send correct rank for "standard" buffs
|
||||
if (spellInfo->IsPositive())
|
||||
if (Unit* target = targets.GetUnitTarget())
|
||||
{
|
||||
SpellInfo const* actualSpellInfo = spellInfo->GetAuraRankForLevel(target->getLevel());
|
||||
|
||||
// if rank not found then function return nullptr but in explicit cast case original spell can be cast and later failed with appropriate error message
|
||||
if (actualSpellInfo)
|
||||
spellInfo = actualSpellInfo;
|
||||
}
|
||||
// if rank not found then function return NULL but in explicit cast case original spell can be cast and later failed with appropriate error message
|
||||
if (actualSpellInfo)
|
||||
spellInfo = actualSpellInfo;
|
||||
}
|
||||
|
||||
Spell* spell = new Spell(caster, spellInfo, TRIGGERED_NONE, ObjectGuid::Empty, false);
|
||||
spell->m_cast_count = castCount; // set count of casts
|
||||
|
||||
@@ -578,46 +578,6 @@ void Spell::EffectDummy(SpellEffIndex effIndex)
|
||||
if (!unitTarget && !gameObjTarget && !itemTarget)
|
||||
return;
|
||||
|
||||
// selection by spell family
|
||||
switch (m_spellInfo->SpellFamilyName)
|
||||
{
|
||||
case SPELLFAMILY_PALADIN:
|
||||
switch (m_spellInfo->Id)
|
||||
{
|
||||
case 31789: // Righteous Defense (step 1)
|
||||
{
|
||||
// Clear targets for eff 1
|
||||
for (std::list<TargetInfo>::iterator ihit = m_UniqueTargetInfo.begin(); ihit != m_UniqueTargetInfo.end(); ++ihit)
|
||||
ihit->effectMask &= ~(1<<1);
|
||||
|
||||
// not empty (checked), copy
|
||||
Unit::AttackerSet attackers = unitTarget->getAttackers();
|
||||
|
||||
// remove invalid attackers
|
||||
for (Unit::AttackerSet::iterator aItr = attackers.begin(); aItr != attackers.end();)
|
||||
if (!(*aItr)->IsValidAttackTarget(m_caster))
|
||||
attackers.erase(aItr++);
|
||||
else
|
||||
++aItr;
|
||||
|
||||
// selected from list 3
|
||||
uint32 maxTargets = std::min<uint32>(3, attackers.size());
|
||||
for (uint32 i = 0; i < maxTargets; ++i)
|
||||
{
|
||||
Unit* attacker = Trinity::Containers::SelectRandomContainerElement(attackers);
|
||||
AddUnitTarget(attacker, 1 << 1);
|
||||
attackers.erase(attacker);
|
||||
}
|
||||
|
||||
// now let next effect cast spell at each target.
|
||||
return;
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
// pet auras
|
||||
if (m_caster->GetTypeId() == TYPEID_PLAYER)
|
||||
{
|
||||
|
||||
@@ -431,7 +431,7 @@ public:
|
||||
|
||||
if (map->Instanceable())
|
||||
{
|
||||
handler->PSendSysMessage(LANG_INVALID_ZONE_MAP, areaEntry->ID, areaEntry->area_name, map->GetId(), map->GetMapName());
|
||||
handler->PSendSysMessage(LANG_INVALID_ZONE_MAP, areaEntry->ID, areaEntry->area_name->Str[handler->GetSessionDbcLocale()], map->GetId(), map->GetMapName());
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -432,7 +432,7 @@ public:
|
||||
{
|
||||
AreaTableEntry const* zone = sAreaTableStore.LookupEntry(area->zone);
|
||||
if (zone)
|
||||
zoneName = zone->area_name[localeConstant];
|
||||
zoneName = zone->area_name->Str[localeConstant];
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -681,7 +681,7 @@ public:
|
||||
static char const* GetZoneName(uint32 zoneId, LocaleConstant locale)
|
||||
{
|
||||
AreaTableEntry const* zoneEntry = sAreaTableStore.LookupEntry(zoneId);
|
||||
return zoneEntry ? (const char*)zoneEntry->area_name[locale] : "<unknown zone>";
|
||||
return zoneEntry ? zoneEntry->area_name->Str[locale] : "<unknown zone>";
|
||||
}
|
||||
static bool HandleListRespawnsCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
|
||||
@@ -104,7 +104,7 @@ public:
|
||||
// Search in AreaTable.dbc
|
||||
for (AreaTableEntry const* areaEntry : sAreaTableStore)
|
||||
{
|
||||
std::string name = areaEntry->area_name;
|
||||
std::string name = areaEntry->area_name->Str[handler->GetSessionDbcLocale()];
|
||||
if (name.empty())
|
||||
continue;
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ public:
|
||||
AreaTableEntry const* zoneEntry = nullptr;
|
||||
for (AreaTableEntry const* entry : sAreaTableStore)
|
||||
{
|
||||
if (strstr(entry->area_name, channelStr))
|
||||
if (strstr(entry->area_name->Str[handler->GetSessionDbcLocale()], channelStr))
|
||||
{
|
||||
zoneEntry = entry;
|
||||
break;
|
||||
|
||||
@@ -277,8 +277,8 @@ public:
|
||||
|
||||
handler->PSendSysMessage(LANG_MAP_POSITION,
|
||||
mapId, (mapEntry ? mapEntry->name : unknown),
|
||||
zoneId, (zoneEntry ? zoneEntry->area_name : unknown),
|
||||
areaId, (areaEntry ? areaEntry->area_name : unknown),
|
||||
zoneId, (zoneEntry ? zoneEntry->area_name->Str[handler->GetSessionDbcLocale()] : unknown),
|
||||
areaId, (areaEntry ? areaEntry->area_name->Str[handler->GetSessionDbcLocale()] : unknown),
|
||||
object->GetPositionX(), object->GetPositionY(), object->GetPositionZ(), object->GetOrientation());
|
||||
if (Transport* transport = object->GetTransport())
|
||||
handler->PSendSysMessage(LANG_TRANSPORT_POSITION,
|
||||
@@ -1833,11 +1833,11 @@ public:
|
||||
AreaTableEntry const* area = sAreaTableStore.LookupEntry(areaId);
|
||||
if (area)
|
||||
{
|
||||
areaName = area->area_name;
|
||||
areaName = area->area_name->Str[handler->GetSessionDbcLocale()];;
|
||||
|
||||
AreaTableEntry const* zone = sAreaTableStore.LookupEntry(area->zone);
|
||||
if (zone)
|
||||
zoneName = zone->area_name;
|
||||
zoneName = zone->area_name->Str[handler->GetSessionDbcLocale()];
|
||||
}
|
||||
|
||||
if (target)
|
||||
|
||||
+6
@@ -39,6 +39,11 @@ enum Events
|
||||
EVENT_AVATAROFFLAME = 2
|
||||
};
|
||||
|
||||
enum Emotes
|
||||
{
|
||||
EMOTE_SHAKEN = 0
|
||||
};
|
||||
|
||||
class boss_emperor_dagran_thaurissan : public CreatureScript
|
||||
{
|
||||
public:
|
||||
@@ -76,6 +81,7 @@ class boss_emperor_dagran_thaurissan : public CreatureScript
|
||||
{
|
||||
moira->AI()->EnterEvadeMode();
|
||||
moira->SetFaction(FACTION_FRIENDLY);
|
||||
moira->AI()->Talk(EMOTE_SHAKEN);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -167,7 +167,7 @@ public:
|
||||
void SetupGroundPhase()
|
||||
{
|
||||
events.SetPhase(PHASE_GROUND);
|
||||
events.ScheduleEvent(EVENT_CLEAVE, Seconds(0), Seconds(15), GROUP_GROUND);
|
||||
events.ScheduleEvent(EVENT_CLEAVE, 0s, Seconds(15), GROUP_GROUND);
|
||||
events.ScheduleEvent(EVENT_TAIL_SWEEP, Seconds(4), Seconds(23), GROUP_GROUND);
|
||||
events.ScheduleEvent(EVENT_BELLOWING_ROAR, Seconds(48), GROUP_GROUND);
|
||||
events.ScheduleEvent(EVENT_CHARRED_EARTH, Seconds(12), Seconds(18), GROUP_GROUND);
|
||||
|
||||
@@ -385,12 +385,12 @@ public:
|
||||
_assassinCount = 6;
|
||||
_guardianCount = 2;
|
||||
_venomancerCount = 2;
|
||||
events.ScheduleEvent(EVENT_DARTER, Seconds(0), 0, PHASE_SUBMERGE);
|
||||
events.ScheduleEvent(EVENT_DARTER, 0s, 0, PHASE_SUBMERGE);
|
||||
break;
|
||||
}
|
||||
_petCount = _guardianCount + _venomancerCount;
|
||||
if (_assassinCount)
|
||||
events.ScheduleEvent(EVENT_ASSASSIN, Seconds(0), 0, PHASE_SUBMERGE);
|
||||
events.ScheduleEvent(EVENT_ASSASSIN, 0s, 0, PHASE_SUBMERGE);
|
||||
if (_guardianCount)
|
||||
events.ScheduleEvent(EVENT_GUARDIAN, Seconds(4), 0, PHASE_SUBMERGE);
|
||||
if (_venomancerCount)
|
||||
|
||||
@@ -104,7 +104,7 @@ class boss_faerlina : public CreatureScript
|
||||
summons.DoZoneInCombat();
|
||||
events.ScheduleEvent(EVENT_POISON, randtime(Seconds(10), Seconds(15)));
|
||||
events.ScheduleEvent(EVENT_FIRE, randtime(Seconds(6), Seconds(18)));
|
||||
events.ScheduleEvent(EVENT_FRENZY, Minutes(1)+randtime(Seconds(0), Seconds(20)));
|
||||
events.ScheduleEvent(EVENT_FRENZY, Minutes(1)+randtime(0s, Seconds(20)));
|
||||
}
|
||||
|
||||
void Reset() override
|
||||
@@ -174,7 +174,7 @@ class boss_faerlina : public CreatureScript
|
||||
{
|
||||
DoCast(SPELL_FRENZY);
|
||||
Talk(EMOTE_FRENZY);
|
||||
events.Repeat(Minutes(1) + randtime(Seconds(0), Seconds(20)));
|
||||
events.Repeat(Minutes(1) + randtime(0s, Seconds(20)));
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -532,7 +532,7 @@ class boss_gothik : public CreatureScript
|
||||
break;
|
||||
case EVENT_RESUME_ATTACK:
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
events.ScheduleEvent(EVENT_BOLT, Seconds(0), 0, PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_BOLT, 0s, 0, PHASE_TWO);
|
||||
// return to the start of this method so victim side etc is re-evaluated
|
||||
return UpdateAI(0u); // tail recursion for efficiency
|
||||
case EVENT_BOLT:
|
||||
|
||||
@@ -182,7 +182,7 @@ class boss_sapphiron : public CreatureScript
|
||||
me->CastSpell(me, SPELL_FROST_AURA, true);
|
||||
|
||||
events.SetPhase(PHASE_GROUND);
|
||||
events.ScheduleEvent(EVENT_CHECK_RESISTS, Seconds(0));
|
||||
events.ScheduleEvent(EVENT_CHECK_RESISTS, 0s);
|
||||
events.ScheduleEvent(EVENT_BERSERK, Minutes(15));
|
||||
EnterPhaseGround(true);
|
||||
}
|
||||
@@ -207,7 +207,7 @@ class boss_sapphiron : public CreatureScript
|
||||
void MovementInform(uint32 /*type*/, uint32 id) override
|
||||
{
|
||||
if (id == 1)
|
||||
events.ScheduleEvent(EVENT_LIFTOFF, Seconds(0), 0, PHASE_FLIGHT);
|
||||
events.ScheduleEvent(EVENT_LIFTOFF, 0s, 0, PHASE_FLIGHT);
|
||||
}
|
||||
|
||||
void DoAction(int32 param) override
|
||||
|
||||
@@ -223,7 +223,7 @@ class boss_erekem : public CreatureScript
|
||||
task.Repeat(Seconds(8), Seconds(13));
|
||||
});
|
||||
|
||||
scheduler.Schedule(Seconds(0), [this](TaskContext task)
|
||||
scheduler.Schedule(0s, [this](TaskContext task)
|
||||
{
|
||||
for (uint32 i = DATA_EREKEM_GUARD_1; i <= DATA_EREKEM_GUARD_2; ++i)
|
||||
{
|
||||
|
||||
@@ -585,7 +585,7 @@ class npc_azure_saboteur : public CreatureScript
|
||||
{
|
||||
if (type == EFFECT_MOTION_TYPE && pointId == POINT_INTRO)
|
||||
{
|
||||
_scheduler.Schedule(Seconds(0), [this](TaskContext task)
|
||||
_scheduler.Schedule(0s, [this](TaskContext task)
|
||||
{
|
||||
me->CastSpell(me, SPELL_SHIELD_DISRUPTION, false);
|
||||
|
||||
|
||||
@@ -1464,7 +1464,7 @@ public:
|
||||
switch (me->GetEntry())
|
||||
{
|
||||
case NPC_ENRAGED_WATER_SPIRIT:
|
||||
_events.ScheduleEvent(EVENT_ENRAGED_WATER_SPIRIT, Seconds(0), Seconds(1));
|
||||
_events.ScheduleEvent(EVENT_ENRAGED_WATER_SPIRIT, 0s, Seconds(1));
|
||||
break;
|
||||
case NPC_ENRAGED_FIRE_SPIRIT:
|
||||
if (!me->GetAura(SPELL_FEL_FIRE_AURA))
|
||||
|
||||
Reference in new issue
Block a user