mirror of
https://github.com/araxiaonline/TrinityCore.git
synced 2026-06-19 22:49:39 -04:00
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts: src/server/game/DungeonFinding/LFGMgr.cpp src/server/scripts/Kalimdor/zone_silithus.cpp
This commit is contained in:
@@ -61,9 +61,9 @@ INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`
|
||||
UPDATE `creature` SET `spawndist`=5,`MovementType`=1 WHERE `guid`=74216;
|
||||
UPDATE `creature` SET `spawndist`=10,`MovementType`=1 WHERE `id`=21423;
|
||||
UPDATE `creature` SET `spawndist`=0,`MovementType`=0 WHERE `guid` IN (74147,74148,74149,74151,74152,74153,74154,74156);
|
||||
UPDATE `Creature_template` SET InhabitType=4 WHERE `entry`=21757;
|
||||
UPDATE `creature_template` SET InhabitType=4 WHERE `entry`=21757;
|
||||
UPDATE `creature_template` SET `InhabitType`=4, `flags_extra`=`flags_extra`|128 WHERE `entry` IN (21393,21413,21819);
|
||||
UPDATE `Creature_template_addon` SET bytes2=258 WHERE `entry`=21115;
|
||||
UPDATE `creature_template_addon` SET bytes2=258 WHERE `entry`=21115;
|
||||
|
||||
DELETE FROM `creature_template_addon` WHERE `entry`=21441;
|
||||
INSERT INTO `creature_template_addon` (`entry`,`path_id`,`bytes2`,`emote`,`auras`) VALUES (21441,0,258,214, '');
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
-- Grovestalker Lynx SAI "Missing AI"
|
||||
SET @ENTRY := 21022;
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
|
||||
UPDATE `creature` SET `curhealth`=1 WHERE `id`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,4,0,100,0,0,0,0,0,11,36589,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grovestalker Lynx - On Aggro - Cast Dash");
|
||||
|
||||
-- Fey Drake SAI "Missing AI"
|
||||
SET @ENTRY := 20713;
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
|
||||
UPDATE `creature` SET `curhealth`=1, `curmana`=0 WHERE `id`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,0,0,100,0,12000,12000,12000,15000,11,11981,0,0,0,0,0,2,0,0,0,0,0,0,0,"Fey Drake - In Combat - Cast Mana Burn"),
|
||||
(@ENTRY,0,1,0,0,0,100,0,5000,6000,5000,7000,11,36718,0,0,0,0,0,1,0,0,0,0,0,0,0,"Fey Drake - In Combat - Cast Blink");
|
||||
|
||||
-- Pathing for High Commander Halford Wyrmbane Entry: 27136
|
||||
SET @NPC := 131105;
|
||||
SET @PATH := @NPC * 10;
|
||||
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3767.499,`position_y`=-775.0477,`position_z`=196.087 WHERE `guid`=@NPC;
|
||||
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
|
||||
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
|
||||
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
|
||||
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
|
||||
(@PATH,1,3767.499,-775.0477,196.087,0,0,0,100,0),
|
||||
(@PATH,2,3776.538,-783.3422,196.087,0,0,0,100,0);
|
||||
|
||||
-- Pathing for Stronglimb Deeproot Entry: 21023
|
||||
SET @NPC := 73833;
|
||||
SET @PATH := @NPC * 10;
|
||||
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1562.740,`position_y`=6815.711,`position_z`=126.20748 WHERE `guid`=@NPC;
|
||||
UPDATE `creature_template_addon` SET `path_id`=@PATH WHERE `entry`=21023;
|
||||
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
|
||||
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
|
||||
(@PATH,1,1562.740,6815.711,126.20748,0,0,0,0,100,0),
|
||||
(@PATH,2,1579.44,6823.31,128.221,0,0,0,0,100,0),
|
||||
(@PATH,3,1596.410,6824.691,129.57422,0,0,0,0,100,0),
|
||||
(@PATH,4,1613.536,6820.844,130.43893,0,0,0,0,100,0),
|
||||
(@PATH,5,1626.575,6815.952,131.11913,0,0,0,0,100,0),
|
||||
(@PATH,6,1647.335,6811.267,132.32887,0,0,0,0,100,0),
|
||||
(@PATH,7,1666.315,6811.949,134.0304,0,0,0,0,100,0),
|
||||
(@PATH,8,1682.469,6819.250,135.48557,0,0,0,0,100,0),
|
||||
(@PATH,9,1704.364,6826.659,135.97731,0,0,0,0,100,0),
|
||||
(@PATH,10,1723.946,6822.768,136.24043,0,0,0,0,100,0),
|
||||
(@PATH,11,1744.097,6815.729,136.71513,0,0,0,0,100,0),
|
||||
(@PATH,12,1767.085,6807.892,137.25296,0,0,0,0,100,0),
|
||||
(@PATH,13,1794.797,6805.661,137.31673,0,0,0,0,100,0),
|
||||
(@PATH,14,1824.876,6814.818,138.48926,0,0,0,0,100,0),
|
||||
(@PATH,15,1851.305,6823.799,141.24908,0,0,0,0,100,0),
|
||||
(@PATH,16,1877.366,6829.852,144.43327,0,0,0,0,100,0),
|
||||
(@PATH,17,1897.890,6833.999,146.215,0,0,0,0,100,0),
|
||||
(@PATH,18,1907.787,6835.113,147.04056,3.015979,30000,0,0,100,0),
|
||||
(@PATH,19,1897.890,6833.999,146.215,0,0,0,0,100,0),
|
||||
(@PATH,20,1877.366,6829.852,144.43327,0,0,0,0,100,0),
|
||||
(@PATH,21,1851.305,6823.799,141.24908,0,0,0,0,100,0),
|
||||
(@PATH,22,1824.876,6814.818,138.48926,0,0,0,0,100,0),
|
||||
(@PATH,23,1794.797,6805.661,137.31673,0,0,0,0,100,0),
|
||||
(@PATH,24,1767.085,6807.892,137.25296,0,0,0,0,100,0),
|
||||
(@PATH,25,1744.097,6815.729,136.71513,0,0,0,0,100,0),
|
||||
(@PATH,26,1723.946,6822.768,136.24043,0,0,0,0,100,0),
|
||||
(@PATH,27,1704.364,6826.659,135.97731,0,0,0,0,100,0),
|
||||
(@PATH,28,1682.469,6819.250,135.48557,0,0,0,0,100,0),
|
||||
(@PATH,29,1666.315,6811.949,134.03040,0,0,0,0,100,0),
|
||||
(@PATH,30,1647.335,6811.267,132.32887,0,0,0,0,100,0),
|
||||
(@PATH,31,1626.575,6815.952,131.11913,0,0,0,0,100,0),
|
||||
(@PATH,32,1613.536,6820.844,130.43893,0,0,0,0,100,0),
|
||||
(@PATH,33,1596.410,6824.691,129.57422,0,0,0,0,100,0),
|
||||
(@PATH,34,1579.440,6823.310,128.22100,0,0,0,0,100,0),
|
||||
(@PATH,35,1562.740,6815.711,126.20748,0,0,0,0,100,0),
|
||||
(@PATH,36,1548.781,6810.126,124.27861,2.58955,30000,0,0,100,0);
|
||||
@@ -0,0 +1,525 @@
|
||||
-- Bloodmaul Skirmisher SAI
|
||||
SET @ENTRY := 19948;
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`= '' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Skirmisher - On Death - Say text 1 CONDITIONED"),
|
||||
(@ENTRY,0,1,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Skirmisher - On Aggro - Say text 0"),
|
||||
(@ENTRY,0,2,0,2,0,100,0,10000,12000,10000,12000,11,37786,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodmaul Skirmisher - In Combat - Cast Bloodmaul Rage");
|
||||
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||
(@ENTRY,0,0, 'Stupid puny thing. Me smash!',12,0,100,0,0,0, 'Bloodmaul Skirmisher on Aggro Text'),
|
||||
(@ENTRY,0,1, 'Me mad. You get smash in face!',12,0,100,0,0,0, 'Bloodmaul Skirmisher on Aggro Text'),
|
||||
(@ENTRY,0,2, 'Me angered. Raaah!',12,0,100,0,0,0, 'Bloodmaul Skirmisher on Aggro Text'),
|
||||
(@ENTRY,0,3, 'I''ll crush you!',12,0,100,0,0,0, 'Bloodmaul Skirmisher on Aggro Text'),
|
||||
(@ENTRY,1,0, 'Puny $r... you were a... horrible king.',12,0,100,0,0,0, 'Bloodmaul Skirmisher on death Quest 11000 complete'),
|
||||
(@ENTRY,1,1, 'Agh... me am...dead.',12,0,100,0,0,0, 'Bloodmaul Skirmisher on death Quest 11000 complete'),
|
||||
(@ENTRY,1,2, 'Me go to Ogri''la.',12,0,100,0,0,0, 'Bloodmaul Skirmisher on death Quest 11000 complete'),
|
||||
(@ENTRY,1,3, 'King think... there really is... an Ogri''la',12,0,100,0,0,0, 'Bloodmaul Skirmisher on death Quest 11000 complete'),
|
||||
(@ENTRY,1,4, 'Me honored... king kill me.',12,0,100,0,0,0, 'Bloodmaul Skirmisher on death Quest 11000 complete'),
|
||||
(@ENTRY,1,5, 'King $n, me die now.',12,0,100,0,0,0, 'Bloodmaul Skirmisher on death Quest 11000 complete');
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@ENTRY;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22,1,@ENTRY,0,0,8,0,11000,0,0,0,0,0, '', 'SAI - Bloodmaul Skirmisher says text on death if quest 11000 is rewarded');
|
||||
|
||||
-- Bloodmaul Mauler SAI
|
||||
SET @ENTRY := 19993;
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`= '' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Mauler - On Death - Say text 1 CONDITIONED"),
|
||||
(@ENTRY,0,1,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Mauler - On Aggro - Say text 0"),
|
||||
(@ENTRY,0,2,0,2,0,100,0,10000,12000,10000,12000,11,37786,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodmaul Mauler - In Combat - Cast Bloodmaul Rage");
|
||||
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||
(@ENTRY,0,0, 'Stupid puny thing. Me smash!',12,0,100,0,0,0, 'Bloodmaul Mauler on Aggro Text'),
|
||||
(@ENTRY,0,1, 'Me mad. You get smash in face!',12,0,100,0,0,0, 'Bloodmaul Mauler on Aggro Text'),
|
||||
(@ENTRY,0,2, 'Me angered. Raaah!',12,0,100,0,0,0, 'Bloodmaul Mauler on Aggro Text'),
|
||||
(@ENTRY,0,3, 'I''ll crush you!',12,0,100,0,0,0, 'Bloodmaul Mauler on Aggro Text'),
|
||||
(@ENTRY,1,0, 'Puny $r... you were a... horrible king.',12,0,100,0,0,0, 'Bloodmaul Mauler on death Quest 11000 complete'),
|
||||
(@ENTRY,1,1, 'Agh... me am...dead.',12,0,100,0,0,0, 'Bloodmaul Mauler on death Quest 11000 complete'),
|
||||
(@ENTRY,1,2, 'Me go to Ogri''la.',12,0,100,0,0,0, 'Bloodmaul Mauler on death Quest 11000 complete'),
|
||||
(@ENTRY,1,3, 'King think... there really is... an Ogri''la',12,0,100,0,0,0, 'Bloodmaul Mauler on death Quest 11000 complete'),
|
||||
(@ENTRY,1,4, 'Me honored... king kill me.',12,0,100,0,0,0, 'Bloodmaul Mauler on death Quest 11000 complete'),
|
||||
(@ENTRY,1,5, 'King $n, me die now.',12,0,100,0,0,0, 'Bloodmaul Mauler on death Quest 11000 complete');
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@ENTRY;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22,1,@ENTRY,0,0,8,0,11000,0,0,0,0,0, '', 'SAI - Bloodmaul Mauler says text on death if quest 11000 is rewarded');
|
||||
|
||||
-- Bloodmaul Warlock SAI
|
||||
SET @ENTRY := 19994;
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`= '' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Warlock - On Death - Say text 1 CONDITIONED"),
|
||||
(@ENTRY,0,1,0,1,0,100,0,1000,1000,1800000,1800000,11,13787,1,1,0,0,0,1,0,0,0,0,0,0,0,"Bloodmaul Warlock - Out Of Combat - Cast Demon Armor"),
|
||||
(@ENTRY,0,2,0,1,0,100,0,3000,3000,0,0,11,11939,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodmaul Warlock - Out Of Combat - Cast Summon Imp"),
|
||||
(@ENTRY,0,3,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Warlock - On Aggro - Say text 0"),
|
||||
(@ENTRY,0,4,0,0,0,100,0,0,0,2400,3800,11,20825,64,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Warlock - In Combat - Cast Shadow Bolt"),
|
||||
(@ENTRY,0,5,0,2,0,100,1,0,20,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodmaul Warlock - Between 0-20% Health - Flee for assist");
|
||||
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||
(@ENTRY,0,0, 'Me smash! You die!',12,0,100,0,0,0, 'Bloodmaul Warlock on Aggro Text'),
|
||||
(@ENTRY,0,1, 'Raaar!!! Me smash $r!',12,0,100,0,0,0, 'Bloodmaul Warlock on Aggro Text'),
|
||||
(@ENTRY,0,2, 'I''ll crush you!',12,0,100,0,0,0, 'Bloodmaul Warlock on Aggro Text'),
|
||||
(@ENTRY,1,0, 'Puny $r... you were a... horrible king.',12,0,100,0,0,0, 'Bloodmaul Warlock on death Quest 11000 complete'),
|
||||
(@ENTRY,1,1, 'Agh... me am...dead.',12,0,100,0,0,0, 'Bloodmaul Warlock on death Quest 11000 complete'),
|
||||
(@ENTRY,1,2, 'Me go to Ogri''la.',12,0,100,0,0,0, 'Bloodmaul Warlock on death Quest 11000 complete'),
|
||||
(@ENTRY,1,3, 'King think... there really is... an Ogri''la',12,0,100,0,0,0, 'Bloodmaul Warlock on death Quest 11000 complete'),
|
||||
(@ENTRY,1,4, 'Me honored... king kill me.',12,0,100,0,0,0, 'Bloodmaul Warlock on death Quest 11000 complete'),
|
||||
(@ENTRY,1,5, 'King $n, me die now.',12,0,100,0,0,0, 'Bloodmaul Warlock on death Quest 11000 complete');
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@ENTRY;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22,1,@ENTRY,0,0,8,0,11000,0,0,0,0,0, '', 'SAI - Bloodmaul Warlock says text on death if quest 11000 is rewarded');
|
||||
|
||||
-- Bladespire Crusher SAI
|
||||
SET @ENTRY := 20765;
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`= '' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@ENTRY;
|
||||
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
|
||||
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bladespire Crusher - On Death - Say text 1 CONDITIONED"),
|
||||
(@ENTRY,0,1,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bladespire Crusher - on Aggro - Say Text 0'),
|
||||
(@ENTRY,0,2,0,0,0,100,0,3000,5000,10000,20000,11,15496,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bladespire Crusher - In Combat - Cast Cleave'),
|
||||
(@ENTRY,0,3,4,2,0,100,0,0,30,35000,45000,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bladespire Crusher - HP below 30% - Cast Enrage'),
|
||||
(@ENTRY,0,4,0,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bladespire Crusher - HP below 30% - Say text 2");
|
||||
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||
(@ENTRY,0,0, 'Stupid puny thing. Me smash!',12,0,100,0,0,0, 'Bladespire Crusher on Aggro Text'),
|
||||
(@ENTRY,0,1, 'Me mad. You get smash in face!',12,0,100,0,0,0, 'Bladespire Crusher on Aggro Text'),
|
||||
(@ENTRY,0,2, 'Raaar!!! Me smash $r!',12,0,100,0,0,0, 'Bladespire Crusher on Aggro Text'),
|
||||
(@ENTRY,1,0, 'Puny $r... you were a... horrible king.',12,0,100,0,0,0, 'Bladespire Crusher on death Quest 11000 complete'),
|
||||
(@ENTRY,1,1, 'Agh... me am...dead.',12,0,100,0,0,0, 'Bladespire Crusher on death Quest 11000 complete'),
|
||||
(@ENTRY,1,2, 'Me go to Ogri''la.',12,0,100,0,0,0, 'Bladespire Crusher on death Quest 11000 complete'),
|
||||
(@ENTRY,1,3, 'King think... there really is... an Ogri''la',12,0,100,0,0,0, 'Bladespire Crusher on death Quest 11000 complete'),
|
||||
(@ENTRY,1,4, 'Me honored... king kill me.',12,0,100,0,0,0, 'Bladespire Crusher on death Quest 11000 complete'),
|
||||
(@ENTRY,1,5, 'King $n, me die now.',12,0,100,0,0,0, 'Bladespire Crusher on death Quest 11000 complete'),
|
||||
(@ENTRY,2,0, '%s becomes enraged!',16,0,100,0,0,0, 'Bladespire Crusher on enrage');
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@ENTRY;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22,1,@ENTRY,0,0,8,0,11000,0,0,0,0,0, '', 'SAI - Bladespire Crusher says text on death if quest 11000 is rewarded');
|
||||
|
||||
-- Bladespire Mystic SAI
|
||||
SET @ENTRY := 20766;
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`= '' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@ENTRY;
|
||||
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
|
||||
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bladespire Mystic - On Death - Say text 1 CONDITIONED"),
|
||||
(@ENTRY,0,1,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bladespire Mystic - On Aggro - Say Text 0'),
|
||||
(@ENTRY,0,2,0,1,0,100,0,500,1000,600000,600000,11,12550,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bladespire Mystic - Out of Combat - Cast Lightning Shield'),
|
||||
(@ENTRY,0,3,0,0,0,100,0,6000,9000,17000,17000,11,37599,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bladespire Mystic - In Combat - Cast Bloodlust'),
|
||||
(@ENTRY,0,4,0,14,0,100,0,3000,40,15000,18000,11,11986,0,0,0,0,0,7,0,0,0,0,0,0,0,'Bladespire Mystic - Friendly HP below 60% - Cast Healing Wave');
|
||||
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||
(@ENTRY,0,0, 'Stupid puny thing. Me smash!',12,0,100,0,0,0, 'Bladespire Mystic on Aggro Text'),
|
||||
(@ENTRY,0,1, 'Me mad. You get smash in face!',12,0,100,0,0,0, 'Bladespire Mystic on Aggro Text'),
|
||||
(@ENTRY,0,2, 'Raaar!!! Me smash $r!',12,0,100,0,0,0, 'Bladespire Mystic on Aggro Text'),
|
||||
(@ENTRY,1,0, 'Puny $r... you were a... horrible king.',12,0,100,0,0,0, 'Bladespire Mystic on death Quest 11000 complete'),
|
||||
(@ENTRY,1,1, 'Agh... me am...dead.',12,0,100,0,0,0, 'Bladespire Mystic on death Quest 11000 complete'),
|
||||
(@ENTRY,1,2, 'Me go to Ogri''la.',12,0,100,0,0,0, 'Bladespire Mystic on death Quest 11000 complete'),
|
||||
(@ENTRY,1,3, 'King think... there really is... an Ogri''la',12,0,100,0,0,0, 'Bladespire Mystic on death Quest 11000 complete'),
|
||||
(@ENTRY,1,4, 'Me honored... king kill me.',12,0,100,0,0,0, 'Bladespire Mystic on death Quest 11000 complete'),
|
||||
(@ENTRY,1,5, 'King $n, me die now.',12,0,100,0,0,0, 'Bladespire Mystic on death Quest 11000 complete');
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@ENTRY;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22,1,@ENTRY,0,0,8,0,11000,0,0,0,0,0, '', 'SAI - Bladespire Mystic says text on death if quest 11000 is rewarded');
|
||||
|
||||
-- Gnosh Brognat SAI
|
||||
SET @ENTRY := 20768;
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`= '' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@ENTRY;
|
||||
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
|
||||
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Gnosh Brognat - On Death - Say text 1 CONDITIONED"),
|
||||
(@ENTRY,0,1,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Gnosh Brognat - On Aggro - Say Text 0'),
|
||||
(@ENTRY,0,2,0,0,0,100,0,15000,20000,15000,20000,11,37597,0,0,0,0,0,2,0,0,0,0,0,0,0,'Gnosh Brognat - In Combat - Cast Meat Slap'),
|
||||
(@ENTRY,0,3,0,0,0,100,0,15000,20000,15000,20000,11,37596,32,0,0,0,0,2,0,0,0,0,0,0,0,'Gnosh Brognat - In Combat - Cast Tenderize');
|
||||
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||
(@ENTRY,0,0, 'Stupid puny thing. Me smash!',12,0,100,0,0,0, 'Gnosh Brognat on Aggro Text'),
|
||||
(@ENTRY,0,1, 'Me mad. You get smash in face!',12,0,100,0,0,0, 'Gnosh Brognat on Aggro Text'),
|
||||
(@ENTRY,0,2, 'Raaar!!! Me smash $r!',12,0,100,0,0,0, 'Gnosh Brognat on Aggro Text'),
|
||||
(@ENTRY,1,0, 'Puny $r... you were a... horrible king.',12,0,100,0,0,0, 'Gnosh Brognat on death Quest 11000 complete'),
|
||||
(@ENTRY,1,1, 'Agh... me am...dead.',12,0,100,0,0,0, 'Gnosh Brognat on death Quest 11000 complete'),
|
||||
(@ENTRY,1,2, 'Me go to Ogri''la.',12,0,100,0,0,0, 'Gnosh Brognat on death Quest 11000 complete'),
|
||||
(@ENTRY,1,3, 'King think... there really is... an Ogri''la',12,0,100,0,0,0, 'Gnosh Brognat on death Quest 11000 complete'),
|
||||
(@ENTRY,1,4, 'Me honored... king kill me.',12,0,100,0,0,0, 'Gnosh Brognat on death Quest 11000 complete'),
|
||||
(@ENTRY,1,5, 'King $n, me die now.',12,0,100,0,0,0, 'Gnosh Brognat on death Quest 11000 complete');
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@ENTRY;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22,1,@ENTRY,0,0,8,0,11000,0,0,0,0,0, '', 'SAI - Gnosh Brognat says text on death if quest 11000 is rewarded');
|
||||
|
||||
-- Bloodmaul Drudger SAI
|
||||
SET @ENTRY := 21238;
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`= '' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@ENTRY;
|
||||
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
|
||||
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Drudger - On Death - Say text 1 CONDITIONED"),
|
||||
(@ENTRY,0,1,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bloodmaul Drudger - On Aggro - Say Text 0'),
|
||||
(@ENTRY,0,2,0,0,0,100,0,9000,9000,30000,30000,11,35918,0,0,0,0,0,2,0,0,0,0,0,0,0,'Bloodmaul Drudger - In Combat - Cast Puncture Armor'),
|
||||
(@ENTRY,0,3,4,2,0,100,0,0,30,35000,45000,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bloodmaul Drudger - HP below 30% - Cast Enrage'),
|
||||
(@ENTRY,0,4,0,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Drudger - HP below 30% - Say text 2");
|
||||
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||
(@ENTRY,0,0, 'Stupid puny thing. Me smash!',12,0,100,0,0,0, 'Bloodmaul Drudger on Aggro Text'),
|
||||
(@ENTRY,0,1, 'Me mad. You get smash in face!',12,0,100,0,0,0, 'Bloodmaul Drudger on Aggro Text'),
|
||||
(@ENTRY,0,2, 'Raaar!!! Me smash $r!',12,0,100,0,0,0, 'Bloodmaul Drudger on Aggro Text'),
|
||||
(@ENTRY,1,0, 'Puny $r... you were a... horrible king.',12,0,100,0,0,0, 'Bloodmaul Drudger on death Quest 11000 complete'),
|
||||
(@ENTRY,1,1, 'Agh... me am...dead.',12,0,100,0,0,0, 'Bloodmaul Drudger on death Quest 11000 complete'),
|
||||
(@ENTRY,1,2, 'Me go to Ogri''la.',12,0,100,0,0,0, 'Bloodmaul Drudger on death Quest 11000 complete'),
|
||||
(@ENTRY,1,3, 'King think... there really is... an Ogri''la',12,0,100,0,0,0, 'Bloodmaul Drudger on death Quest 11000 complete'),
|
||||
(@ENTRY,1,4, 'Me honored... king kill me.',12,0,100,0,0,0, 'Bloodmaul Drudger on death Quest 11000 complete'),
|
||||
(@ENTRY,1,5, 'King $n, me die now.',12,0,100,0,0,0, 'Bloodmaul Drudger on death Quest 11000 complete'),
|
||||
(@ENTRY,2,0, '%s goes into a frenzy!',16,0,100,0,0,0, 'Bloodmaul Drudger on enrage');
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@ENTRY;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22,1,@ENTRY,0,0,8,0,11000,0,0,0,0,0, '', 'SAI - Bloodmaul Drudger says text on death if quest 11000 is rewarded');
|
||||
|
||||
-- Bloodmaul Brute SAI
|
||||
SET @ENTRY := 19991;
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`= '' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@ENTRY;
|
||||
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
|
||||
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Brute - On Death - Say text 1 CONDITIONED"),
|
||||
(@ENTRY,0,1,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bloodmaul Brute - On Aggro - Say Text 0'),
|
||||
(@ENTRY,0,2,0,0,0,100,0,9000,12000,9000,12000,11,15496,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bloodmaul Brute - In Combat - Cast Cleave'),
|
||||
(@ENTRY,0,3,0,0,0,100,0,15000,15000,18000,22000,11,37577,0,0,0,0,0,2,0,0,0,0,0,0,0,'Bloodmaul Brute - In Combat - Cast Debilitating Strike'),
|
||||
(@ENTRY,0,4,5,2,0,100,0,0,30,35000,45000,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bloodmaul Brute - HP below 30% - Cast Enrage'),
|
||||
(@ENTRY,0,5,0,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Brute - HP below 30% - Say text 2");
|
||||
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||
(@ENTRY,0,0, 'Stupid puny thing. Me smash!',12,0,100,0,0,0, 'Bloodmaul Brute on Aggro Text'),
|
||||
(@ENTRY,0,1, 'Me mad. You get smash in face!',12,0,100,0,0,0, 'Bloodmaul Brute on Aggro Text'),
|
||||
(@ENTRY,0,2, 'Raaar!!! Me smash $r!',12,0,100,0,0,0, 'Bloodmaul Brute on Aggro Text'),
|
||||
(@ENTRY,1,0, 'Puny $r... you were a... horrible king.',12,0,100,0,0,0, 'Bloodmaul Brute on death Quest 11000 complete'),
|
||||
(@ENTRY,1,1, 'Agh... me am...dead.',12,0,100,0,0,0, 'Bloodmaul Brute on death Quest 11000 complete'),
|
||||
(@ENTRY,1,2, 'Me go to Ogri''la.',12,0,100,0,0,0, 'Bloodmaul Brute on death Quest 11000 complete'),
|
||||
(@ENTRY,1,3, 'King think... there really is... an Ogri''la',12,0,100,0,0,0, 'Bloodmaul Brute on death Quest 11000 complete'),
|
||||
(@ENTRY,1,4, 'Me honored... king kill me.',12,0,100,0,0,0, 'Bloodmaul Brute on death Quest 11000 complete'),
|
||||
(@ENTRY,1,5, 'King $n, me die now.',12,0,100,0,0,0, 'Bloodmaul Brute on death Quest 11000 complete'),
|
||||
(@ENTRY,2,0, '%s goes into a frenzy!',16,0,100,0,0,0, 'Bloodmaul Brute on enrage');
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@ENTRY;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22,1,@ENTRY,0,0,8,0,11000,0,0,0,0,0, '', 'SAI - Bloodmaul Brute says text on death if quest 11000 is rewarded');
|
||||
|
||||
-- Bloodmaul Shaman SAI
|
||||
SET @ENTRY := 19992;
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`= '' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Shaman - On Death - Say text 1 CONDITIONED"),
|
||||
(@ENTRY,0,1,0,1,0,100,0,0,0,60000,60000,11,12550,1,1,0,0,0,1,0,0,0,0,0,0,0,"Bloodmaul Shaman - Out Of Combat - Cast Lightning Shield"),
|
||||
(@ENTRY,0,2,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Shaman - On Aggro - Say text 0"),
|
||||
(@ENTRY,0,3,0,0,0,50,0,6000,6000,50000,50000,11,15038,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodmaul Shaman - In Combat - Cast Scorching Totem"),
|
||||
(@ENTRY,0,4,0,0,0,100,0,12000,12000,45000,45000,11,15869,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodmaul Shaman - In Combat - Cast Superior Healing Ward");
|
||||
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||
(@ENTRY,0,0, 'Me smash! You die!',12,0,100,0,0,0, 'Bloodmaul Shaman on Aggro Text'),
|
||||
(@ENTRY,0,1, 'Raaar!!! Me smash $r!',12,0,100,0,0,0, 'Bloodmaul Shaman on Aggro Text'),
|
||||
(@ENTRY,0,2, 'I''ll crush you!',12,0,100,0,0,0, 'Bloodmaul Shaman on Aggro Text'),
|
||||
(@ENTRY,1,0, 'Puny $r... you were a... horrible king.',12,0,100,0,0,0, 'Bloodmaul Shaman on death Quest 11000 complete'),
|
||||
(@ENTRY,1,1, 'Agh... me am...dead.',12,0,100,0,0,0, 'Bloodmaul Shaman on death Quest 11000 complete'),
|
||||
(@ENTRY,1,2, 'Me go to Ogri''la.',12,0,100,0,0,0, 'Bloodmaul Shaman on death Quest 11000 complete'),
|
||||
(@ENTRY,1,3, 'King think... there really is... an Ogri''la',12,0,100,0,0,0, 'Bloodmaul Shaman on death Quest 11000 complete'),
|
||||
(@ENTRY,1,4, 'Me honored... king kill me.',12,0,100,0,0,0, 'Bloodmaul Shaman on death Quest 11000 complete'),
|
||||
(@ENTRY,1,5, 'King $n, me die now.',12,0,100,0,0,0, 'Bloodmaul Shaman on death Quest 11000 complete');
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@ENTRY;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22,1,@ENTRY,0,0,8,0,11000,0,0,0,0,0, '', 'SAI - Bloodmaul Shaman says text on death if quest 11000 is rewarded');
|
||||
|
||||
-- Grimnok Battleborn SAI
|
||||
SET @ENTRY := 20095;
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`= '' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Grimnok Battleborn - On Death - Say text 1 CONDITIONED"),
|
||||
(@ENTRY,0,1,0,0,0,100,0,6000,10000,6000,10000,11,15496,0,0,0,0,0,1,0,0,0,0,0,0,0,'Grimnok Battleborn - In Combat - Cast Cleave'),
|
||||
(@ENTRY,0,2,3,0,0,100,0,10000,12000,10000,12000,11,37786,0,0,0,0,0,1,0,0,0,0,0,0,0,'Grimnok Battleborn - In Combat - Cast Bloodmaul Rage'),
|
||||
(@ENTRY,0,3,0,61,0,100,0,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,"Grimnok Battleborn - In Combat - Say text 0 when cast Cast Bloodmaul Rage"),
|
||||
(@ENTRY,0,4,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,"Grimnok Battleborn - On Aggro - Say text 0"),
|
||||
(@ENTRY,0,5,0,1,0,100,0,120000,120000,180000,180000,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grimnok Battleborn - Out of Combat - Say text 2");
|
||||
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||
(@ENTRY,0,0, 'Stupid puny thing. Me smash!',12,0,100,0,0,0, 'Grimnok Battleborn on Aggro Text'),
|
||||
(@ENTRY,0,1, 'Me mad. You get smash in face!',12,0,100,0,0,0, 'Grimnok Battleborn on Aggro Text'),
|
||||
(@ENTRY,0,2, 'Raaar!!! Me smash $r!',12,0,100,0,0,0, 'Grimnok Battleborn on Aggro Text'),
|
||||
(@ENTRY,1,0, 'Puny $r... you were a... horrible king.',12,0,100,0,0,0, 'Grimnok Battleborn on death Quest 11000 complete'),
|
||||
(@ENTRY,1,1, 'Agh... me am...dead.',12,0,100,0,0,0, 'Grimnok Battleborn on death Quest 11000 complete'),
|
||||
(@ENTRY,1,2, 'Me go to Ogri''la.',12,0,100,0,0,0, 'Grimnok Battleborn on death Quest 11000 complete'),
|
||||
(@ENTRY,1,3, 'King think... there really is... an Ogri''la',12,0,100,0,0,0, 'Grimnok Battleborn on death Quest 11000 complete'),
|
||||
(@ENTRY,1,4, 'Me honored... king kill me.',12,0,100,0,0,0, 'Grimnok Battleborn on death Quest 11000 complete'),
|
||||
(@ENTRY,1,5, 'King $n, me die now.',12,0,100,0,0,0, 'Grimnok Battleborn on death Quest 11000 complete'),
|
||||
(@ENTRY,2,0, 'You! I see you! One of you, kill them!',14,0,100,0,0,0, 'Grimnok Battleborn OOC'),
|
||||
(@ENTRY,2,1, 'Don''t let any escape, you dogs!',14,0,100,0,0,0, 'Grimnok Battleborn OOC'),
|
||||
(@ENTRY,2,2, 'I want these Alliance and Horde pigs dead!',14,0,100,0,0,0, 'Grimnok Battleborn OOC'),
|
||||
(@ENTRY,2,3, 'Get up there. March on Bladespire Hold. I want to adorn my tower with Gorr''Dim''s head!',14,0,100,0,0,0, 'Grimnok Battleborn OOC');
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@ENTRY;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22,1,@ENTRY,0,0,8,0,11000,0,0,0,0,0, '', 'SAI - Grimnok Battleborn says text on death if quest 11000 is rewarded');
|
||||
|
||||
-- Bloodmaul Brewmaster SAI
|
||||
SET @ENTRY := 19957;
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`= '' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Brewmaster - On Death - Say text 1 CONDITIONED"),
|
||||
(@ENTRY,0,1,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Brewmaster - On Aggro - Say text 0"),
|
||||
(@ENTRY,0,2,0,0,0,85,0,6000,6000,30000,35000,11,37591,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Brewmaster - In Combat - Cast Drunken Haze");
|
||||
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||
(@ENTRY,0,0, 'Stupid puny thing. Me smash!',12,0,100,0,0,0, 'Bloodmaul Brewmaster on Aggro Text'),
|
||||
(@ENTRY,0,1, 'Me mad. You get smash in face!',12,0,100,0,0,0, 'Bloodmaul Brewmaster on Aggro Text'),
|
||||
(@ENTRY,0,2, 'Raaar!!! Me smash $r!',12,0,100,0,0,0, 'Bloodmaul Brewmaster on Aggro Text'),
|
||||
(@ENTRY,1,0, 'Puny $r... you were a... horrible king.',12,0,100,0,0,0, 'Bloodmaul Brewmaster on death Quest 11000 complete'),
|
||||
(@ENTRY,1,1, 'Agh... me am...dead.',12,0,100,0,0,0, 'Bloodmaul Brewmaster on death Quest 11000 complete'),
|
||||
(@ENTRY,1,2, 'Me go to Ogri''la.',12,0,100,0,0,0, 'Bloodmaul Brewmaster on death Quest 11000 complete'),
|
||||
(@ENTRY,1,3, 'King think... there really is... an Ogri''la',12,0,100,0,0,0, 'Bloodmaul Brewmaster on death Quest 11000 complete'),
|
||||
(@ENTRY,1,4, 'Me honored... king kill me.',12,0,100,0,0,0, 'Bloodmaul Brewmaster on death Quest 11000 complete'),
|
||||
(@ENTRY,1,5, 'King $n, me die now.',12,0,100,0,0,0, 'Bloodmaul Brewmaster on death Quest 11000 complete');
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@ENTRY;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22,1,@ENTRY,0,0,8,0,11000,0,0,0,0,0, '', 'SAI - Bloodmaul Brewmaster says text on death if quest 11000 is rewarded');
|
||||
|
||||
-- Bloodmaul Geomancer SAI
|
||||
SET @ENTRY := 19952;
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`= '' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Geomancer - On Death - Say text 1 CONDITIONED"),
|
||||
(@ENTRY,0,1,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Geomancer - On Aggro - Say text 0"),
|
||||
(@ENTRY,0,2,0,1,0,100,0,0,0,1800000,1800000,11,12544,33,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodmaul Geomancer - Out Of Combat - Cast Frost Armor"),
|
||||
(@ENTRY,0,3,0,4,0,50,0,0,0,0,0,11,6136,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Geomancer - On Aggro - Cast Chilled"),
|
||||
(@ENTRY,0,4,0,0,0,100,0,0,0,2400,3800,11,9053,64,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Geomancer - In Combat CMC - Cast Fireball");
|
||||
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||
(@ENTRY,0,0, 'Me smash! You die!',12,0,100,0,0,0, 'Bloodmaul Geomancer on Aggro Text'),
|
||||
(@ENTRY,0,1, 'Raaar!!! Me smash $r!',12,0,100,0,0,0, 'Bloodmaul Geomancer on Aggro Text'),
|
||||
(@ENTRY,0,2, 'I''ll crush you!',12,0,100,0,0,0, 'Bloodmaul Geomancer on Aggro Text'),
|
||||
(@ENTRY,1,0, 'Puny $r... you were a... horrible king.',12,0,100,0,0,0, 'Bloodmaul Geomancer on death Quest 11000 complete'),
|
||||
(@ENTRY,1,1, 'Agh... me am...dead.',12,0,100,0,0,0, 'Bloodmaul Geomancer on death Quest 11000 complete'),
|
||||
(@ENTRY,1,2, 'Me go to Ogri''la.',12,0,100,0,0,0, 'Bloodmaul Geomancer on death Quest 11000 complete'),
|
||||
(@ENTRY,1,3, 'King think... there really is... an Ogri''la',12,0,100,0,0,0, 'Bloodmaul Geomancer on death Quest 11000 complete'),
|
||||
(@ENTRY,1,4, 'Me honored... king kill me.',12,0,100,0,0,0, 'Bloodmaul Geomancer on death Quest 11000 complete'),
|
||||
(@ENTRY,1,5, 'King $n, me die now.',12,0,100,0,0,0, 'Bloodmaul Geomancer on death Quest 11000 complete');
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@ENTRY;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22,1,@ENTRY,0,0,8,0,11000,0,0,0,0,0, '', 'SAI - Bloodmaul Geomancer says text on death if quest 11000 is rewarded');
|
||||
|
||||
-- Bladespire Brute SAI
|
||||
SET @ENTRY := 19995;
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`= '' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bladespire Brute - On Death - Say text 1 CONDITIONED"),
|
||||
(@ENTRY,0,1,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bladespire Brute - On Aggro - Say Text 0'),
|
||||
(@ENTRY,0,2,0,0,0,100,0,9000,12000,8000,18000,11,15496,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bladespire Brute - In Combat - Cast Cleave');
|
||||
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||
(@ENTRY,0,0, 'Stupid puny thing. Me smash!',12,0,100,0,0,0, 'Bladespire Brute on Aggro Text'),
|
||||
(@ENTRY,0,1, 'Me mad. You get smash in face!',12,0,100,0,0,0, 'Bladespire Brute on Aggro Text'),
|
||||
(@ENTRY,0,2, 'Raaar!!! Me smash $r!',12,0,100,0,0,0, 'Bladespire Brute on Aggro Text'),
|
||||
(@ENTRY,1,0, 'Puny $r... you were a... horrible king.',12,0,100,0,0,0, 'Bladespire Brute on death Quest 11000 complete'),
|
||||
(@ENTRY,1,1, 'Agh... me am...dead.',12,0,100,0,0,0, 'Bladespire Brute on death Quest 11000 complete'),
|
||||
(@ENTRY,1,2, 'Me go to Ogri''la.',12,0,100,0,0,0, 'Bladespire Brute on death Quest 11000 complete'),
|
||||
(@ENTRY,1,3, 'King think... there really is... an Ogri''la',12,0,100,0,0,0, 'Bladespire Brute on death Quest 11000 complete'),
|
||||
(@ENTRY,1,4, 'Me honored... king kill me.',12,0,100,0,0,0, 'Bladespire Brute on death Quest 11000 complete'),
|
||||
(@ENTRY,1,5, 'King $n, me die now.',12,0,100,0,0,0, 'Bladespire Brute on death Quest 11000 complete');
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@ENTRY;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22,1,@ENTRY,0,0,8,0,11000,0,0,0,0,0, '', 'SAI - Bladespire Brute says text on death if quest 11000 is rewarded');
|
||||
|
||||
-- Bladespire Shaman SAI
|
||||
SET @ENTRY := 19998;
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`= '' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bladespire Shaman - On Death - Say text 1 CONDITIONED"),
|
||||
(@ENTRY,0,1,0,1,0,100,0,0,0,60000,60000,11,12550,1,1,0,0,0,1,0,0,0,0,0,0,0,"Bladespire Shaman - Out Of Combat - Cast Lightning Shield"),
|
||||
(@ENTRY,0,2,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bladespire Shaman - On Aggro - Say text 0"),
|
||||
(@ENTRY,0,3,0,0,0,100,0,2000,4000,8000,12000,11,26098,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bladespire Shaman - In Combat - Cast Lightning Bolt");
|
||||
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||
(@ENTRY,0,0, 'Me smash! You die!',12,0,100,0,0,0, 'Bladespire Shaman on Aggro Text'),
|
||||
(@ENTRY,0,1, 'Raaar!!! Me smash $r!',12,0,100,0,0,0, 'Bladespire Shaman on Aggro Text'),
|
||||
(@ENTRY,0,2, 'I''ll crush you!',12,0,100,0,0,0, 'Bladespire Shaman on Aggro Text'),
|
||||
(@ENTRY,1,0, 'Puny $r... you were a... horrible king.',12,0,100,0,0,0, 'Bladespire Shaman on death Quest 11000 complete'),
|
||||
(@ENTRY,1,1, 'Agh... me am...dead.',12,0,100,0,0,0, 'Bladespire Shaman on death Quest 11000 complete'),
|
||||
(@ENTRY,1,2, 'Me go to Ogri''la.',12,0,100,0,0,0, 'Bladespire Shaman on death Quest 11000 complete'),
|
||||
(@ENTRY,1,3, 'King think... there really is... an Ogri''la',12,0,100,0,0,0, 'Bladespire Shaman on death Quest 11000 complete'),
|
||||
(@ENTRY,1,4, 'Me honored... king kill me.',12,0,100,0,0,0, 'Bladespire Shaman on death Quest 11000 complete'),
|
||||
(@ENTRY,1,5, 'King $n, me die now.',12,0,100,0,0,0, 'Bladespire Shaman on death Quest 11000 complete');
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@ENTRY;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22,1,@ENTRY,0,0,8,0,11000,0,0,0,0,0, '', 'SAI - Bladespire Shaman says text on death if quest 11000 is rewarded');
|
||||
|
||||
-- Bladespire Cook SAI
|
||||
SET @ENTRY := 20334;
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`= '' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@ENTRY;
|
||||
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
|
||||
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bladespire Cook - On Death - Say text 1 CONDITIONED"),
|
||||
(@ENTRY,0,1,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bladespire Cook - On Aggro - Say Text 0'),
|
||||
(@ENTRY,0,2,0,0,0,100,0,15000,20000,15000,20000,11,37597,0,0,0,0,0,2,0,0,0,0,0,0,0,'Bladespire Cook - In Combat - Cast Meat Slap'),
|
||||
(@ENTRY,0,3,0,0,0,100,0,15000,20000,15000,20000,11,37596,32,0,0,0,0,2,0,0,0,0,0,0,0,'Bladespire Cook - In Combat - Cast Tenderize');
|
||||
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||
(@ENTRY,0,0, 'Stupid puny thing. Me smash!',12,0,100,0,0,0, 'Bladespire Cook on Aggro Text'),
|
||||
(@ENTRY,0,1, 'Me mad. You get smash in face!',12,0,100,0,0,0, 'Bladespire Cook on Aggro Text'),
|
||||
(@ENTRY,0,2, 'Raaar!!! Me smash $r!',12,0,100,0,0,0, 'Bladespire Cook on Aggro Text'),
|
||||
(@ENTRY,1,0, 'Puny $r... you were a... horrible king.',12,0,100,0,0,0, 'Bladespire Cook on death Quest 11000 complete'),
|
||||
(@ENTRY,1,1, 'Agh... me am...dead.',12,0,100,0,0,0, 'Bladespire Cook on death Quest 11000 complete'),
|
||||
(@ENTRY,1,2, 'Me go to Ogri''la.',12,0,100,0,0,0, 'Bladespire Cook on death Quest 11000 complete'),
|
||||
(@ENTRY,1,3, 'King think... there really is... an Ogri''la',12,0,100,0,0,0, 'Bladespire Cook on death Quest 11000 complete'),
|
||||
(@ENTRY,1,4, 'Me honored... king kill me.',12,0,100,0,0,0, 'Bladespire Cook on death Quest 11000 complete'),
|
||||
(@ENTRY,1,5, 'King $n, me die now.',12,0,100,0,0,0, 'Bladespire Cook on death Quest 11000 complete');
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@ENTRY;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22,1,@ENTRY,0,0,8,0,11000,0,0,0,0,0, '', 'SAI - Bladespire Cook says text on death if quest 11000 is rewarded');
|
||||
|
||||
-- Bladespire Champion SAI
|
||||
SET @ENTRY := 21296;
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`= '' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bladespire Champion - On Death - Say text 1 CONDITIONED"),
|
||||
(@ENTRY,0,1,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bladespire Champion - On Aggro - Say Text 0'),
|
||||
(@ENTRY,0,2,0,0,0,100,0,10000,14000,11000,22000,11,8078,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bladespire Champion - In Combat - Cast Thunderclap'),
|
||||
(@ENTRY,0,3,0,9,0,100,0,5,10,2000,2000,11,37777,0,0,0,0,0,2,0,0,0,0,0,0,0,'Bladespire Champion - Range 5 - 10 yards - Cast Mighty Charge');
|
||||
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||
(@ENTRY,0,0, 'Stupid puny thing. Me smash!',12,0,100,0,0,0, 'Bladespire Champion on Aggro Text'),
|
||||
(@ENTRY,0,1, 'Me mad. You get smash in face!',12,0,100,0,0,0, 'Bladespire Champion on Aggro Text'),
|
||||
(@ENTRY,0,2, 'Raaar!!! Me smash $r!',12,0,100,0,0,0, 'Bladespire Champion on Aggro Text'),
|
||||
(@ENTRY,1,0, 'Puny $r... you were a... horrible king.',12,0,100,0,0,0, 'Bladespire Champion on death Quest 11000 complete'),
|
||||
(@ENTRY,1,1, 'Agh... me am...dead.',12,0,100,0,0,0, 'Bladespire Champion on death Quest 11000 complete'),
|
||||
(@ENTRY,1,2, 'Me go to Ogri''la.',12,0,100,0,0,0, 'Bladespire Champion on death Quest 11000 complete'),
|
||||
(@ENTRY,1,3, 'King think... there really is... an Ogri''la',12,0,100,0,0,0, 'Bladespire Champion on death Quest 11000 complete'),
|
||||
(@ENTRY,1,4, 'Me honored... king kill me.',12,0,100,0,0,0, 'Bladespire Champion on death Quest 11000 complete'),
|
||||
(@ENTRY,1,5, 'King $n, me die now.',12,0,100,0,0,0, 'Bladespire Champion on death Quest 11000 complete');
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@ENTRY;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22,1,@ENTRY,0,0,8,0,11000,0,0,0,0,0, '', 'SAI - Bladespire Champion says text on death if quest 11000 is rewarded');
|
||||
|
||||
-- Bloodmaul Taskmaster SAI
|
||||
SET @ENTRY := 22160;
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Taskmaster - On Death - Say text 1 CONDITIONED"),
|
||||
(@ENTRY,0,1,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bloodmaul Taskmaster - On Aggro - Say Text 0'),
|
||||
(@ENTRY,0,2,3,0,0,100,0,10000,12000,10000,12000,11,37786,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bloodmaul Taskmaster - In Combat - Cast Bloodmaul Rage'),
|
||||
(@ENTRY,0,3,0,61,0,100,0,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Taskmaster - In Combat - Say text 0 when cast Cast Bloodmaul Rage");
|
||||
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||
(@ENTRY,0,0, 'Stupid puny thing. Me smash!',12,0,100,0,0,0, 'Bloodmaul Taskmaster on Aggro Text'),
|
||||
(@ENTRY,0,1, 'Me mad. You get smash in face!',12,0,100,0,0,0, 'Bloodmaul Taskmaster on Aggro Text'),
|
||||
(@ENTRY,0,2, 'Raaar!!! Me smash $r!',12,0,100,0,0,0, 'Bloodmaul Taskmaster on Aggro Text'),
|
||||
(@ENTRY,1,0, 'Puny $r... you were a... horrible king.',12,0,100,0,0,0, 'Bloodmaul Taskmaster on death Quest 11000 complete'),
|
||||
(@ENTRY,1,1, 'Agh... me am...dead.',12,0,100,0,0,0, 'Bloodmaul Taskmaster on death Quest 11000 complete'),
|
||||
(@ENTRY,1,2, 'Me go to Ogri''la.',12,0,100,0,0,0, 'Bloodmaul Taskmaster on death Quest 11000 complete'),
|
||||
(@ENTRY,1,3, 'King think... there really is... an Ogri''la',12,0,100,0,0,0, 'Bloodmaul Taskmaster on death Quest 11000 complete'),
|
||||
(@ENTRY,1,4, 'Me honored... king kill me.',12,0,100,0,0,0, 'Bloodmaul Taskmaster on death Quest 11000 complete'),
|
||||
(@ENTRY,1,5, 'King $n, me die now.',12,0,100,0,0,0, 'Bloodmaul Taskmaster on death Quest 11000 complete'),
|
||||
(@ENTRY,2,0, '%s goes into a frenzy!',16,0,100,0,0,0, 'Bloodmaul Taskmaster on enrage');
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@ENTRY;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22,1,@ENTRY,0,0,8,0,11000,0,0,0,0,0, '', 'SAI - Bloodmaul Taskmaster says text on death if quest 11000 is rewarded');
|
||||
|
||||
-- Bloodmaul Soothsayer SAI
|
||||
SET @ENTRY := 22384;
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Soothsayer - On Death - Say text 1 CONDITIONED"),
|
||||
(@ENTRY,0,1,0,1,0,100,0,1000,1000,1800000,1800000,11,13787,1,1,0,0,0,1,0,0,0,0,0,0,0,"Bloodmaul Soothsayer - Out Of Combat - Cast Demon Armor"),
|
||||
(@ENTRY,0,2,0,1,0,100,0,3000,3000,0,0,11,11939,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodmaul Soothsayer - Out Of Combat - Cast Summon Imp"),
|
||||
(@ENTRY,0,3,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Soothsayer - On Aggro - Say text 0"),
|
||||
(@ENTRY,0,4,0,0,0,100,0,0,0,2400,3800,11,20825,64,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Soothsayer - In Combat - Cast Shadow Bolt"),
|
||||
(@ENTRY,0,5,0,2,0,100,1,0,20,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodmaul Soothsayer - Between 0-20% Health - Flee for assist");
|
||||
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||
(@ENTRY,0,0, 'Me smash! You die!',12,0,100,0,0,0, 'Bloodmaul Soothsayer on Aggro Text'),
|
||||
(@ENTRY,0,1, 'Raaar!!! Me smash $r!',12,0,100,0,0,0, 'Bloodmaul Soothsayer on Aggro Text'),
|
||||
(@ENTRY,0,2, 'I''ll crush you!',12,0,100,0,0,0, 'Bloodmaul Soothsayer on Aggro Text'),
|
||||
(@ENTRY,1,0, 'Puny $r... you were a... horrible king.',12,0,100,0,0,0, 'Bloodmaul Soothsayer on death Quest 11000 complete'),
|
||||
(@ENTRY,1,1, 'Agh... me am...dead.',12,0,100,0,0,0, 'Bloodmaul Soothsayer on death Quest 11000 complete'),
|
||||
(@ENTRY,1,2, 'Me go to Ogri''la.',12,0,100,0,0,0, 'Bloodmaul Soothsayer on death Quest 11000 complete'),
|
||||
(@ENTRY,1,3, 'King think... there really is... an Ogri''la',12,0,100,0,0,0, 'Bloodmaul Soothsayer on death Quest 11000 complete'),
|
||||
(@ENTRY,1,4, 'Me honored... king kill me.',12,0,100,0,0,0, 'Bloodmaul Soothsayer on death Quest 11000 complete'),
|
||||
(@ENTRY,1,5, 'King $n, me die now.',12,0,100,0,0,0, 'Bloodmaul Soothsayer on death Quest 11000 complete');
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@ENTRY;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22,1,@ENTRY,0,0,8,0,11000,0,0,0,0,0, '', 'SAI - Bloodmaul Soothsayer says text on death if quest 11000 is rewarded');
|
||||
|
||||
-- Bladespire Battlemage SAI
|
||||
SET @ENTRY := 19996;
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`= '' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bladespire Battlemage - On Death - Say text 1 CONDITIONED"),
|
||||
(@ENTRY,0,1,0,1,0,100,0,0,0,60000,60000,11,12550,1,1,0,0,0,1,0,0,0,0,0,0,0,"Bladespire Battlemage - Out Of Combat - Cast Lightning Shield"),
|
||||
(@ENTRY,0,2,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bladespire Battlemage - On Aggro - Say text 0"),
|
||||
(@ENTRY,0,3,0,0,0,100,0,8000,16000,8000,16000,11,16102,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bladespire Battlemage - In Combat - Cast Flamestrike"),
|
||||
(@ENTRY,0,4,0,0,0,100,0,6000,9000,17000,17000,11,37599,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bladespire Battlemage - In Combat - Cast Bloodlust');
|
||||
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||
(@ENTRY,0,0, 'Me smash! You die!',12,0,100,0,0,0, 'Bladespire Battlemage on Aggro Text'),
|
||||
(@ENTRY,0,1, 'Raaar!!! Me smash $r!',12,0,100,0,0,0, 'Bladespire Battlemage on Aggro Text'),
|
||||
(@ENTRY,0,2, 'I''ll crush you!',12,0,100,0,0,0, 'Bladespire Battlemage on Aggro Text'),
|
||||
(@ENTRY,1,0, 'Puny $r... you were a... horrible king.',12,0,100,0,0,0, 'Bladespire Battlemage on death Quest 11000 complete'),
|
||||
(@ENTRY,1,1, 'Agh... me am...dead.',12,0,100,0,0,0, 'Bladespire Battlemage on death Quest 11000 complete'),
|
||||
(@ENTRY,1,2, 'Me go to Ogri''la.',12,0,100,0,0,0, 'Bladespire Battlemage on death Quest 11000 complete'),
|
||||
(@ENTRY,1,3, 'King think... there really is... an Ogri''la',12,0,100,0,0,0, 'Bladespire Battlemage on death Quest 11000 complete'),
|
||||
(@ENTRY,1,4, 'Me honored... king kill me.',12,0,100,0,0,0, 'Bladespire Battlemage on death Quest 11000 complete'),
|
||||
(@ENTRY,1,5, 'King $n, me die now.',12,0,100,0,0,0, 'Bladespire Battlemage on death Quest 11000 complete');
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@ENTRY;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22,1,@ENTRY,0,0,8,0,11000,0,0,0,0,0, '', 'SAI - Bladespire Battlemage says text on death if quest 11000 is rewarded');
|
||||
|
||||
-- Bladespire Enforcer SAI
|
||||
SET @ENTRY := 19997;
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bladespire Enforcer - On Death - Say text 1 CONDITIONED"),
|
||||
(@ENTRY,0,1,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bladespire Enforcer - On Aggro - Say Text 0'),
|
||||
(@ENTRY,0,2,0,0,0,100,0,10000,14000,11000,22000,11,8078,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bladespire Enforcer - In Combat - Cast Thunderclap'),
|
||||
(@ENTRY,0,3,4,2,0,100,0,0,30,35000,45000,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bladespire Enforcer - HP below 30% - Cast Enrage'),
|
||||
(@ENTRY,0,4,0,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bladespire Enforcer - HP below 30% - Say text 2");
|
||||
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||
(@ENTRY,0,0, 'Stupid puny thing. Me smash!',12,0,100,0,0,0, 'Bladespire Enforcer on Aggro Text'),
|
||||
(@ENTRY,0,1, 'Me mad. You get smash in face!',12,0,100,0,0,0, 'Bladespire Enforcer on Aggro Text'),
|
||||
(@ENTRY,0,2, 'Raaar!!! Me smash $r!',12,0,100,0,0,0, 'Bladespire Enforcer on Aggro Text'),
|
||||
(@ENTRY,1,0, 'Puny $r... you were a... horrible king.',12,0,100,0,0,0, 'Bladespire Enforcer on death Quest 11000 complete'),
|
||||
(@ENTRY,1,1, 'Agh... me am...dead.',12,0,100,0,0,0, 'Bladespire Enforcer on death Quest 11000 complete'),
|
||||
(@ENTRY,1,2, 'Me go to Ogri''la.',12,0,100,0,0,0, 'Bladespire Enforcer on death Quest 11000 complete'),
|
||||
(@ENTRY,1,3, 'King think... there really is... an Ogri''la',12,0,100,0,0,0, 'Bladespire Enforcer on death Quest 11000 complete'),
|
||||
(@ENTRY,1,4, 'Me honored... king kill me.',12,0,100,0,0,0, 'Bladespire Enforcer on death Quest 11000 complete'),
|
||||
(@ENTRY,1,5, 'King $n, me die now.',12,0,100,0,0,0, 'Bladespire Enforcer on death Quest 11000 complete'),
|
||||
(@ENTRY,2,0, '%s goes into a frenzy!',16,0,100,0,0,0, 'Bladespire Enforcer on enrage');
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@ENTRY;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22,1,@ENTRY,0,0,8,0,11000,0,0,0,0,0, '', 'SAI - Bladespire Enforcer says text on death if quest 11000 is rewarded');
|
||||
|
||||
-- Bladespire Chef SAI
|
||||
SET @ENTRY := 20756;
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bladespire Chef - On Death - Say text 1 CONDITIONED"),
|
||||
(@ENTRY,0,1,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bladespire Chef - On Aggro - Say Text 0'),
|
||||
(@ENTRY,0,2,0,0,0,100,0,15000,20000,15000,20000,11,37597,0,0,0,0,0,2,0,0,0,0,0,0,0,'Bladespire Chef - In Combat - Cast Meat Slap'),
|
||||
(@ENTRY,0,3,0,0,0,100,0,15000,20000,15000,20000,11,37596,32,0,0,0,0,2,0,0,0,0,0,0,0,'Bladespire Chef - In Combat - Cast Tenderize');
|
||||
DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||
(@ENTRY,0,0, 'Stupid puny thing. Me smash!',12,0,100,0,0,0, 'Bladespire Chef on Aggro Text'),
|
||||
(@ENTRY,0,1, 'Me mad. You get smash in face!',12,0,100,0,0,0, 'Bladespire Chef on Aggro Text'),
|
||||
(@ENTRY,0,2, 'Raaar!!! Me smash $r!',12,0,100,0,0,0, 'Bladespire Chef on Aggro Text'),
|
||||
(@ENTRY,1,0, 'Puny $r... you were a... horrible king.',12,0,100,0,0,0, 'Bladespire Chef on death Quest 11000 complete'),
|
||||
(@ENTRY,1,1, 'Agh... me am...dead.',12,0,100,0,0,0, 'Bladespire Chef on death Quest 11000 complete'),
|
||||
(@ENTRY,1,2, 'Me go to Ogri''la.',12,0,100,0,0,0, 'Bladespire Chef on death Quest 11000 complete'),
|
||||
(@ENTRY,1,3, 'King think... there really is... an Ogri''la',12,0,100,0,0,0, 'Bladespire Chef on death Quest 11000 complete'),
|
||||
(@ENTRY,1,4, 'Me honored... king kill me.',12,0,100,0,0,0, 'Bladespire Chef on death Quest 11000 complete'),
|
||||
(@ENTRY,1,5, 'King $n, me die now.',12,0,100,0,0,0, 'Bladespire Chef on death Quest 11000 complete');
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@ENTRY;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22,1,@ENTRY,0,0,8,0,11000,0,0,0,0,0, '', 'SAI - Bladespire Chef says text on death if quest 11000 is rewarded');
|
||||
@@ -0,0 +1,49 @@
|
||||
-- Bloodscalp Shaman
|
||||
SET @ENTRY := 697;
|
||||
DELETE FROM `creature_addon` WHERE `guid` IN (SELECT `guid` FROM `creature` WHERE `id`=@ENTRY);
|
||||
DELETE FROM `creature_template_addon` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_template_addon` (`entry`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@ENTRY,0,4097,0, '');
|
||||
|
||||
-- Defias Conjurer SAI
|
||||
SET @ENTRY := 619;
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
|
||||
UPDATE `creature_template_addon` SET `auras`= '' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,1,0,100,0,1000,1000,1800000,1800000,11,12544,1,0,0,0,0,1,0,0,0,0,0,0,0,"Defias Conjurer - Out Of Combat - Cast Frost Armor"),
|
||||
(@ENTRY,0,1,0,0,0,100,0,0,0,2400,3800,11,9053,64,0,0,0,0,2,0,0,0,0,0,0,0,"Defias Conjurer - In Combat - Cast Fireball"),
|
||||
(@ENTRY,0,2,0,2,0,100,0,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Defias Conjurer - Between 0-15% Health - Flee For Assist");
|
||||
|
||||
-- Razormane Stalker SAI
|
||||
SET @ENTRY := 3457;
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
|
||||
UPDATE `creature` SET `modelid`=0, `curhealth`=1 WHERE `id`=3457;
|
||||
UPDATE `creature_template_addon` SET `auras`= '' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,1,0,100,0,0,0,1000,1000,11,22766,32,0,0,0,0,1,0,0,0,0,0,0,0,"Razormane Stalker - In Combat - Cast Sneak"),
|
||||
(@ENTRY,0,1,0,0,0,100,0,6000,6000,1000,1000,11,1758,0,0,0,0,0,2,0,0,0,0,0,0,0,"Razormane Stalker - In Combat - Cast Sinister Strike");
|
||||
|
||||
-- Dark Rune Elementalist SAI
|
||||
SET @ENTRY := 27962;
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `creature_addon` WHERE `guid` IN (126700,126702,126704);
|
||||
DELETE FROM `creature_template_addon` WHERE `entry`=@ENTRY;
|
||||
INSERT INTO `creature_template_addon` (`entry`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@ENTRY,0,4097,0, '');
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,25,0,100,6,0,0,0,0,11,51475,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dark Rune Elementalist - Out Of Combat - Cast Summon Air Elemental (Dungeon Only)"),
|
||||
(@ENTRY,0,1,0,1,0,100,2,1000,1000,600000,600000,11,51776,1,0,0,0,0,1,0,0,0,0,0,0,0,"Dark Rune Elementalist - Out Of Combat - Cast Lightning Shield (Normal Dungeon)"),
|
||||
(@ENTRY,0,2,0,0,0,100,2,0,0,4000,6000,11,53314,64,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Rune Elementalist - In Combat - Cast Lightning Bolt (Normal Dungeon)"),
|
||||
(@ENTRY,0,3,0,1,0,100,4,1000,1000,600000,600000,11,59025,1,0,0,0,0,1,0,0,0,0,0,0,0,"Dark Rune Elementalist - Out Of Combat - Cast Lightning Shield (Heroic Dungeon)"),
|
||||
(@ENTRY,0,4,0,0,0,100,4,0,0,4000,6000,11,59024,64,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Rune Elementalist - In Combat - Cast Lightning Bolt (Heroic Dungeon)"),
|
||||
(@ENTRY,0,5,0,2,0,100,7,0,30,0,0,11,32693,1,0,0,0,0,1,0,0,0,0,0,0,0,"Dark Rune Elementalist - Between 0-30% Health - Cast Arcane Haste (Dungeon Only)");
|
||||
|
||||
-- Felboar SAI
|
||||
SET @ENTRY := 21878;
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
|
||||
UPDATE `creature_template_addon` SET `auras`= '' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,25,0,100,0,0,0,0,0,11,33908,32,0,0,0,0,1,0,0,0,0,0,0,0,"Felboar - On Spawn - Cast Burning Spikes"),
|
||||
(@ENTRY,0,1,0,0,0,100,0,100,100,30000,55000,11,35570,0,0,0,0,0,2,0,0,0,0,0,0,0,"Felboar - In Combat - Cast Charge");
|
||||
@@ -0,0 +1,30 @@
|
||||
-- Highlord Demitrian SAI
|
||||
SET @ENTRY := 14347;
|
||||
UPDATE `creature_template` SET `gossip_menu_id`=5689, `AIName`='SmartAI',`ScriptName`= '' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,62,0,100,0,5704,0,0,0,56,19016,1,0,0,0,0,7,0,0,0,0,0,0,0,"Highlord Demitrian - On Gossip Select - Add item Vessel of Rebirth to player"),
|
||||
(@ENTRY,0,1,0,20,0,100,0,7786,0,0,0,12,14435,2,0,0,0,0,7,0,0,0,0,0,0,0,"Highlord Demitrian - On Quest Thunderaan the Windseeker rewarded - Summon creature");
|
||||
-- Add Gossip
|
||||
DELETE FROM `gossip_menu` WHERE `entry` IN (5675,5687,5688,5689,5701,5702,5703,5704);
|
||||
INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES
|
||||
(5675,6812),(5687,6844),(5688,6843),(5689,6842),(5701,6868),(5702,6867),(5703,6870),(5704,6869);
|
||||
-- Add Gossip Options
|
||||
DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (5675,5687,5688,5689,5701,5702,5704);
|
||||
INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`) VALUES
|
||||
(5675,0,0, 'What do you know of it?',1,1,5689),
|
||||
(5689,0,0, 'I am listening, Demitrian.',1,1,5688),
|
||||
(5688,0,0, 'Continue, please.',1,1,5687),
|
||||
(5687,0,0, 'A battle?',1,1,5702),
|
||||
(5702,0,0, '<Nod>',1,1,5701),
|
||||
(5701,0,0, 'Caught unaware? How?',1,1,5704),
|
||||
(5704,0,0, 'So what did Ragnaros do next?',1,1,5703);
|
||||
-- Add Conditions
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=5675;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
-- Both of these must be true
|
||||
(15,5675,0,0,0,14,0,7785,0,0,0,0,0, '', 'Gossip Option - Show Option if Quest 7785 is not taken'),
|
||||
(15,5675,0,1,0,2,0,19016,1,0,1,0,0, '', 'Gossip Option - Show Option if player does not have Vessel of Rebirth'),
|
||||
-- One of these must be true
|
||||
(15,5675,0,2,0,2,0,18563,0,0,1,0,0, '', 'Gossip Option - Show Option if player has Bindings of the Windseeker'),
|
||||
(15,5675,0,2,0,2,0,18564,0,0,1,0,0, '', 'Gossip Option - Show Option if player has Bindings of the Windseeker');
|
||||
@@ -0,0 +1,28 @@
|
||||
-- Caelyb <Pet Trainer>
|
||||
UPDATE `creature_template` SET AIName='' WHERE `entry`=4320;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=4320 AND `source_type`=0;
|
||||
|
||||
-- Milli Featherwhistle <Mechanostrider Merchant>
|
||||
UPDATE `creature_template` SET ScriptName='' WHERE `entry`=7955;
|
||||
-- Add Gossip Options
|
||||
DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (3186);
|
||||
INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`) VALUES
|
||||
(3186,0,1, 'I would like to buy from you.',3,128,0);
|
||||
-- Add Conditions
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=3186;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
-- Both of these must be true
|
||||
(15,3186,0,0,0,16,0,8,0,0,0,0,0, '', 'Gossip Option - Show Option if Player is Gnome'),
|
||||
(15,3186,0,0,0,5,0,54,128,0,1,0,0, '', 'Gossip Option - Show Option if player is Exalted with Gnomeregan');
|
||||
|
||||
-- Murkblood Overseer SAI
|
||||
SET @ENTRY := 23309;
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI', `ScriptName`= '' WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,1,62,0,100,0,8697,0,0,0,11,41121,0,0,0,0,0,7,0,0,0,0,0,0,0,"Murkblood Overseer - On gossip Option select - cast spell"),
|
||||
(@ENTRY,0,1,0,61,0,100,0,0,0,0,0,15,11082,0,0,0,0,0,7,0,0,0,0,0,0,0,"Murkblood Overseer - On gossip Option select - Complete quest");
|
||||
-- Add Conditions
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=8697;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(15,8697,0,0,0,9,0,11082,0,0,0,0,0, '', 'Gossip Option - Show Option if Quest 11082 taken');
|
||||
@@ -0,0 +1,112 @@
|
||||
-- Missing Wintergrasp Battle-Mage spawns
|
||||
SET @GUID := 63451;
|
||||
DELETE FROM `creature` WHERE `guid` BETWEEN @GUID AND @GUID+2;
|
||||
INSERT INTO `creature` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`modelid`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`) VALUES
|
||||
(@GUID,35597,530,1,1,0,1,-1977.80212,5267.618,-41.65557,4.3982296,300,0,0,1,1,0),
|
||||
(@GUID+1,35611,0,1,1,0,1,1333.57642,320.9896,-63.6309357,2.8972466,300,0,0,1,1,0),
|
||||
(@GUID+2,35612,530,1,1,0,1,9855.403,-7578.021,20.61899,1.78023577,300,0,0,1,1,0);
|
||||
|
||||
-- Fix up Wintergrasp Battle-Mages
|
||||
UPDATE `creature` SET `modelid`=0,`equipment_id`=1,`spawntimesecs`=300,`curhealth`=1,`curmana`=1 WHERE `id` IN (SELECT `entry` FROM `creature_template` WHERE `subname`='Wintergrasp Battle-Mage');
|
||||
UPDATE `creature_template` SET `gossip_menu_id`=10662 WHERE `entry` IN (35597,35602,35612);
|
||||
UPDATE `creature_template` SET `gossip_menu_id`=10666 WHERE `entry` IN (35596,35598);
|
||||
UPDATE `creature_template` SET `faction_A`=2123, `faction_H`=2123 WHERE `entry` IN (35603,35611,35612);
|
||||
UPDATE `creature_template` SET `baseattacktime`=2000 WHERE `entry` IN (35600,35601,35602,35603,35611,35612);
|
||||
UPDATE `creature_template` SET `npcflag`=1, `unit_flags`=8040, `flags_extra`=0 WHERE `subname`= 'Wintergrasp Battle-Mage';
|
||||
UPDATE `creature_template` SET `unit_flags`=8340 WHERE `entry` IN (35597,35596,32170,32169);
|
||||
DELETE FROM `creature_equip_template` WHERE `entry`=35603 AND `id`=2;
|
||||
DELETE FROM `creature_equip_template` WHERE `entry`=35601;
|
||||
INSERT INTO `creature_equip_template` (`entry`,`id`,`itemEntry1`,`itemEntry2`,`itemEntry3`) VALUES (35601,1,30423,0,0);
|
||||
-- Add Gossip
|
||||
DELETE FROM `gossip_menu` WHERE `entry` IN (10662,10666);
|
||||
INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES
|
||||
(10662,14775),(10662,14777),(10662,14781),(10662,14782),(10662,14790),(10662,14791),
|
||||
(10666,14775),(10666,14777),(10666,14781),(10666,14782),(10666,14790),(10666,14791);
|
||||
-- Add Gossip Options
|
||||
DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (10662);
|
||||
INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`) VALUES
|
||||
(10662,0,19, 'Queue for Wintergrasp.',12,1,1048576);
|
||||
|
||||
-- Arcanist Braedin SAI
|
||||
SET @ENTRY := 32169;
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,1,0,100,0,0,0,1800000,1800000,11,12544,0,0,0,0,0,1,0,0,0,0,0,0,0,"Arcanist Braedin - Out of Combat - Cast Frost Armor");
|
||||
|
||||
-- Magister Surdiel SAI
|
||||
SET @ENTRY := 32170;
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,1,0,100,0,0,0,1800000,1800000,11,12544,0,0,0,0,0,1,0,0,0,0,0,0,0,"Magister Surdiel - Out of Combat - Cast Frost Armor");
|
||||
|
||||
-- Arcanist Iramhir SAI
|
||||
SET @ENTRY := 35596;
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,1,0,100,0,0,0,1800000,1800000,11,12544,0,0,0,0,0,1,0,0,0,0,0,0,0,"Arcanist Iramhir - Out of Combat - Cast Frost Armor");
|
||||
|
||||
-- Magistrix Aldessia SAI
|
||||
SET @ENTRY := 35597;
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,1,0,100,0,0,0,1800000,1800000,11,12544,0,0,0,0,0,1,0,0,0,0,0,0,0,"Magistrix Aldessia - Out of Combat - Cast Frost Armor");
|
||||
|
||||
-- Arcanist Paharin SAI
|
||||
SET @ENTRY := 35598;
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,1,0,100,0,0,0,1800000,1800000,11,12544,0,0,0,0,0,1,0,0,0,0,0,0,0,"Arcanist Paharin - Out of Combat - Cast Frost Armor");
|
||||
|
||||
-- Arcanist Dulial SAI
|
||||
SET @ENTRY := 35599;
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,1,0,100,0,0,0,1800000,1800000,11,12544,0,0,0,0,0,1,0,0,0,0,0,0,0,"Arcanist Dulial - Out of Combat - Cast Frost Armor");
|
||||
|
||||
-- Arcanist Laniria SAI
|
||||
SET @ENTRY := 35600;
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,1,0,100,0,0,0,1800000,1800000,11,12544,0,0,0,0,0,1,0,0,0,0,0,0,0,"Arcanist Laniria - Out of Combat - Cast Frost Armor");
|
||||
|
||||
-- Arcanist Nazalia SAI
|
||||
SET @ENTRY := 35601;
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,1,0,100,0,0,0,1800000,1800000,11,12544,0,0,0,0,0,1,0,0,0,0,0,0,0,"Arcanist Nazalia - Out of Combat - Cast Frost Armor");
|
||||
|
||||
-- Magister Savarin SAI
|
||||
SET @ENTRY := 35602;
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,1,0,100,0,0,0,1800000,1800000,11,12544,0,0,0,0,0,1,0,0,0,0,0,0,0,"Magister Savarin - Out of Combat - Cast Frost Armor");
|
||||
|
||||
-- Magister Dalhyr SAI
|
||||
SET @ENTRY := 35603;
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,1,0,100,0,0,0,1800000,1800000,11,12544,0,0,0,0,0,1,0,0,0,0,0,0,0,"Magister Dalhyr - Out of Combat - Cast Frost Armor");
|
||||
|
||||
-- Magistrix Erembria SAI
|
||||
SET @ENTRY := 35611;
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,1,0,100,0,0,0,1800000,1800000,11,12544,0,0,0,0,0,1,0,0,0,0,0,0,0,"Magistrix Erembria - Out of Combat - Cast Frost Armor");
|
||||
|
||||
-- Magistrix Caradess SAI
|
||||
SET @ENTRY := 35612;
|
||||
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
|
||||
(@ENTRY,0,0,0,1,0,100,0,0,0,1800000,1800000,11,12544,0,0,0,0,0,1,0,0,0,0,0,0,0,"Magistrix Caradess - Out of Combat - Cast Frost Armor");
|
||||
@@ -394,6 +394,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
||||
(*itr)->ToCreature()->SetReactState(ReactStates(e.action.react.state));
|
||||
}
|
||||
|
||||
delete targets;
|
||||
break;
|
||||
}
|
||||
case SMART_ACTION_RANDOM_EMOTE:
|
||||
@@ -1059,6 +1060,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
||||
(*itr)->ToCreature()->DespawnOrUnsummon(e.action.forceDespawn.delay);
|
||||
}
|
||||
|
||||
delete targets;
|
||||
break;
|
||||
}
|
||||
case SMART_ACTION_SET_INGAME_PHASE_MASK:
|
||||
@@ -1076,6 +1078,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
||||
(*itr)->ToGameObject()->SetPhaseMask(e.action.ingamePhaseMask.mask, true);
|
||||
}
|
||||
|
||||
delete targets;
|
||||
break;
|
||||
}
|
||||
case SMART_ACTION_MOUNT_TO_ENTRY_OR_MODEL:
|
||||
@@ -1120,6 +1123,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
||||
ai->SetInvincibilityHpLevel(me->CountPctFromMaxHealth(e.action.invincHP.percent));
|
||||
else
|
||||
ai->SetInvincibilityHpLevel(e.action.invincHP.minHP);
|
||||
|
||||
break;
|
||||
}
|
||||
case SMART_ACTION_SET_DATA:
|
||||
|
||||
@@ -237,7 +237,7 @@ void LFGMgr::LoadLFGDungeons(bool reload /* = false */)
|
||||
AreaTriggerStruct const* at = sObjectMgr->GetMapEntranceTrigger(dungeon.map);
|
||||
if (!at)
|
||||
{
|
||||
TC_LOG_ERROR("lfg", "LFGMgr::LoadLFGDungeons: Failed to load dungeon %s (Id: %u), cant find areatrigger for map %u", dungeon.name.c_str(), dungeon.id, dungeon.map);
|
||||
TC_LOG_ERROR("sql.sql", "Failed to load dungeon %s (Id: %u), cant find areatrigger for map %u", dungeon.name.c_str(), dungeon.id, dungeon.map);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -324,7 +324,7 @@ void LFGMgr::Update(uint32 diff)
|
||||
// Check if a proposal can be formed with the new groups being added
|
||||
for (LfgQueueContainer::iterator it = QueuesStore.begin(); it != QueuesStore.end(); ++it)
|
||||
if (uint8 newProposals = it->second.FindGroups())
|
||||
TC_LOG_DEBUG("lfg", "LFGMgr::Update: Found %u new groups in queue %u", newProposals, it->first);
|
||||
TC_LOG_DEBUG("lfg.update", "Found %u new groups in queue %u", newProposals, it->first);
|
||||
|
||||
if (lastProposalId != m_lfgProposalId)
|
||||
{
|
||||
@@ -541,7 +541,6 @@ void LFGMgr::JoinLfg(Player* player, uint8 roles, LfgDungeonSet& dungeons, const
|
||||
isRaid = true;
|
||||
break;
|
||||
default:
|
||||
TC_LOG_ERROR("lfg", "Wrong dungeon type %u for dungeon %u", type, *it);
|
||||
joinData.result = LFG_JOIN_DUNGEON_INVALID;
|
||||
break;
|
||||
}
|
||||
@@ -564,7 +563,9 @@ void LFGMgr::JoinLfg(Player* player, uint8 roles, LfgDungeonSet& dungeons, const
|
||||
// Can't join. Send result
|
||||
if (joinData.result != LFG_JOIN_OK)
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "LFGMgr::Join: [" UI64FMTD "] joining with %u members. result: %u", guid, grp ? grp->GetMembersCount() : 1, joinData.result);
|
||||
TC_LOG_DEBUG("lfg.join", "%u joining with %u members. Result: %u, Dungeons: %s",
|
||||
GUID_LOPART(guid), grp ? grp->GetMembersCount() : 1, joinData.result, ConcatenateDungeons(dungeons).c_str());
|
||||
|
||||
if (!dungeons.empty()) // Only should show lockmap when have no dungeons available
|
||||
joinData.lockmap.clear();
|
||||
player->GetSession()->SendLfgJoinResult(joinData);
|
||||
@@ -575,7 +576,7 @@ void LFGMgr::JoinLfg(Player* player, uint8 roles, LfgDungeonSet& dungeons, const
|
||||
|
||||
if (isRaid)
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "LFGMgr::Join: [" UI64FMTD "] trying to join raid browser and it's disabled.", guid);
|
||||
TC_LOG_DEBUG("lfg.join", "%u trying to join raid browser and it's disabled.", GUID_LOPART(guid));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -641,13 +642,8 @@ void LFGMgr::JoinLfg(Player* player, uint8 roles, LfgDungeonSet& dungeons, const
|
||||
debugNames.append(player->GetName());
|
||||
}
|
||||
|
||||
if (sLog->ShouldLog("lfg", LOG_LEVEL_DEBUG))
|
||||
{
|
||||
std::ostringstream o;
|
||||
o << "LFGMgr::Join: [" << guid << "] joined (" << (grp ? "group" : "player") << ") Members: " << debugNames.c_str()
|
||||
<< ". Dungeons (" << uint32(dungeons.size()) << "): " << ConcatenateDungeons(dungeons);
|
||||
TC_LOG_DEBUG("lfg", "%s", o.str().c_str());
|
||||
}
|
||||
TC_LOG_DEBUG("lfg.join", "%u joined (%s), Members: %s. Dungeons (%u): %s", GUID_LOPART(guid),
|
||||
grp ? "group" : "player", debugNames.c_str(), uint32(dungeons.size()), ConcatenateDungeons(dungeons).c_str());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -658,9 +654,10 @@ void LFGMgr::JoinLfg(Player* player, uint8 roles, LfgDungeonSet& dungeons, const
|
||||
*/
|
||||
void LFGMgr::LeaveLfg(uint64 guid)
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "LFGMgr::LeaveLfg: [" UI64FMTD "]", guid);
|
||||
|
||||
uint64 gguid = IS_GROUP_GUID(guid) ? guid : GetGroup(guid);
|
||||
|
||||
TC_LOG_DEBUG("lfg.leave", "%u left (%s)", GUID_LOPART(guid), guid == gguid ? "group" : "player");
|
||||
|
||||
LfgState state = GetState(guid);
|
||||
switch (state)
|
||||
{
|
||||
@@ -1020,7 +1017,7 @@ void LFGMgr::UpdateProposal(uint32 proposalId, uint64 guid, bool accept)
|
||||
LfgProposalPlayer& player = itProposalPlayer->second;
|
||||
player.accept = LfgAnswer(accept);
|
||||
|
||||
TC_LOG_DEBUG("lfg", "LFGMgr::UpdateProposal: Player [" UI64FMTD "] of proposal %u selected: %u", guid, proposalId, accept);
|
||||
TC_LOG_DEBUG("lfg.proposal.update", "Player %u, Proposal %u, Selection: %u", GUID_LOPART(guid), proposalId, accept);
|
||||
if (!accept)
|
||||
{
|
||||
RemoveProposal(itProposal, LFG_UPDATETYPE_PROPOSAL_DECLINED);
|
||||
@@ -1111,7 +1108,7 @@ void LFGMgr::RemoveProposal(LfgProposalContainer::iterator itProposal, LfgUpdate
|
||||
LfgProposal& proposal = itProposal->second;
|
||||
proposal.state = LFG_PROPOSAL_FAILED;
|
||||
|
||||
TC_LOG_DEBUG("lfg", "LFGMgr::RemoveProposal: Proposal %u, state FAILED, UpdateType %u", itProposal->first, type);
|
||||
TC_LOG_DEBUG("lfg.proposal.remove", "Proposal %u, state FAILED, UpdateType %u", itProposal->first, type);
|
||||
// Mark all people that didn't answered as no accept
|
||||
if (type == LFG_UPDATETYPE_PROPOSAL_FAILED)
|
||||
for (LfgProposalPlayerContainer::iterator it = proposal.players.begin(); it != proposal.players.end(); ++it)
|
||||
@@ -1148,12 +1145,12 @@ void LFGMgr::RemoveProposal(LfgProposalContainer::iterator itProposal, LfgUpdate
|
||||
if (it->second.accept == LFG_ANSWER_DENY)
|
||||
{
|
||||
updateData.updateType = type;
|
||||
TC_LOG_DEBUG("lfg", "LFGMgr::RemoveProposal: [" UI64FMTD "] didn't accept. Removing from queue and compatible cache", guid);
|
||||
TC_LOG_DEBUG("lfg.proposal.remove", "%u didn't accept. Removing from queue and compatible cache", GUID_LOPART(guid));
|
||||
}
|
||||
else
|
||||
{
|
||||
updateData.updateType = LFG_UPDATETYPE_REMOVED_FROM_QUEUE;
|
||||
TC_LOG_DEBUG("lfg", "LFGMgr::RemoveProposal: [" UI64FMTD "] in same group that someone that didn't accept. Removing from queue and compatible cache", guid);
|
||||
TC_LOG_DEBUG("lfg.proposal.remove", "%u in same group that someone that didn't accept. Removing from queue and compatible cache", GUID_LOPART(guid));
|
||||
}
|
||||
|
||||
RestoreState(guid, "Proposal Fail (didn't accepted or in group with someone that didn't accept");
|
||||
@@ -1167,7 +1164,7 @@ void LFGMgr::RemoveProposal(LfgProposalContainer::iterator itProposal, LfgUpdate
|
||||
}
|
||||
else
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "LFGMgr::RemoveProposal: Readding [" UI64FMTD "] to queue.", guid);
|
||||
TC_LOG_DEBUG("lfg.proposal.remove", "Readding %u to queue.", GUID_LOPART(guid));
|
||||
SetState(guid, LFG_STATE_QUEUED);
|
||||
if (gguid != guid)
|
||||
{
|
||||
@@ -1312,7 +1309,7 @@ void LFGMgr::TeleportPlayer(Player* player, bool out, bool fromOpcode /*= false*
|
||||
|
||||
if (!dungeon)
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "TeleportPlayer: Player %s not in group/lfggroup or dungeon not found!",
|
||||
TC_LOG_DEBUG("lfg.teleport", "Player %s not in group/lfggroup or dungeon not found!",
|
||||
player->GetName().c_str());
|
||||
player->GetSession()->SendLfgTeleportError(uint8(LFG_TELEPORTERROR_INVALID_LOCATION));
|
||||
return;
|
||||
@@ -1320,7 +1317,7 @@ void LFGMgr::TeleportPlayer(Player* player, bool out, bool fromOpcode /*= false*
|
||||
|
||||
if (out)
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "TeleportPlayer: Player %s is being teleported out. Current Map %u - Expected Map %u",
|
||||
TC_LOG_DEBUG("lfg.teleport", "Player %s is being teleported out. Current Map %u - Expected Map %u",
|
||||
player->GetName().c_str(), player->GetMapId(), uint32(dungeon->map));
|
||||
if (player->GetMapId() == uint32(dungeon->map))
|
||||
player->TeleportToBGEntryPoint();
|
||||
@@ -1384,7 +1381,7 @@ void LFGMgr::TeleportPlayer(Player* player, bool out, bool fromOpcode /*= false*
|
||||
if (error != LFG_TELEPORTERROR_OK)
|
||||
player->GetSession()->SendLfgTeleportError(uint8(error));
|
||||
|
||||
TC_LOG_DEBUG("lfg", "TeleportPlayer: Player %s is being teleported in to map %u "
|
||||
TC_LOG_DEBUG("lfg.teleport", "Player %s is being teleported in to map %u "
|
||||
"(x: %f, y: %f, z: %f) Result: %u", player->GetName().c_str(), dungeon->map,
|
||||
dungeon->x, dungeon->y, dungeon->z, error);
|
||||
}
|
||||
@@ -1400,13 +1397,13 @@ void LFGMgr::FinishDungeon(uint64 gguid, const uint32 dungeonId)
|
||||
uint32 gDungeonId = GetDungeon(gguid);
|
||||
if (gDungeonId != dungeonId)
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "LFGMgr::FinishDungeon: [" UI64FMTD "] Finished dungeon %u but group queued for %u. Ignoring", gguid, dungeonId, gDungeonId);
|
||||
TC_LOG_DEBUG("lfg.dungeon.finish", "Group %u finished dungeon %u but queued for %u", GUID_LOPART(gguid), dungeonId, gDungeonId);
|
||||
return;
|
||||
}
|
||||
|
||||
if (GetState(gguid) == LFG_STATE_FINISHED_DUNGEON) // Shouldn't happen. Do not reward multiple times
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "LFGMgr::FinishDungeon: [" UI64FMTD "] Already rewarded group. Ignoring", gguid);
|
||||
TC_LOG_DEBUG("lfg.dungeon.finish", "Group: %u already rewarded", GUID_LOPART(gguid));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1418,7 +1415,7 @@ void LFGMgr::FinishDungeon(uint64 gguid, const uint32 dungeonId)
|
||||
uint64 guid = (*it);
|
||||
if (GetState(guid) == LFG_STATE_FINISHED_DUNGEON)
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "LFGMgr::FinishDungeon: [" UI64FMTD "] Already rewarded player. Ignoring", guid);
|
||||
TC_LOG_DEBUG("lfg.dungeon.finish", "Group: %u, Player: %u already rewarded", GUID_LOPART(gguid), GUID_LOPART(guid));
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -1434,14 +1431,14 @@ void LFGMgr::FinishDungeon(uint64 gguid, const uint32 dungeonId)
|
||||
|
||||
if (!dungeon || (dungeon->type != LFG_TYPE_RANDOM && !dungeon->seasonal))
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "LFGMgr::FinishDungeon: [" UI64FMTD "] dungeon %u is not random or seasonal", guid, rDungeonId);
|
||||
TC_LOG_DEBUG("lfg.dungeon.finish", "Group: %u, Player: %u dungeon %u is not random or seasonal", GUID_LOPART(gguid), GUID_LOPART(guid), rDungeonId);
|
||||
continue;
|
||||
}
|
||||
|
||||
Player* player = ObjectAccessor::FindPlayer(guid);
|
||||
if (!player || !player->IsInWorld())
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "LFGMgr::FinishDungeon: [" UI64FMTD "] not found in world", guid);
|
||||
TC_LOG_DEBUG("lfg.dungeon.finish", "Group: %u, Player: %u not found in world", GUID_LOPART(gguid), GUID_LOPART(guid));
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -1450,7 +1447,7 @@ void LFGMgr::FinishDungeon(uint64 gguid, const uint32 dungeonId)
|
||||
|
||||
if (player->GetMapId() != mapId)
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "LFGMgr::FinishDungeon: [" UI64FMTD "] is in map %u and should be in %u to get reward", guid, player->GetMapId(), mapId);
|
||||
TC_LOG_DEBUG("lfg.dungeon.finish", "Group: %u, Player: %u is in map %u and should be in %u to get reward", GUID_LOPART(gguid), GUID_LOPART(guid), player->GetMapId(), mapId);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -1481,7 +1478,7 @@ void LFGMgr::FinishDungeon(uint64 gguid, const uint32 dungeonId)
|
||||
}
|
||||
|
||||
// Give rewards
|
||||
TC_LOG_DEBUG("lfg", "LFGMgr::FinishDungeon: [" UI64FMTD "] done dungeon %u, %s previously done.", player->GetGUID(), GetDungeon(gguid), done? " " : " not");
|
||||
TC_LOG_DEBUG("lfg.dungeon.finish", "Group: %u, Player: %u done dungeon %u, %s previously done.", GUID_LOPART(gguid), GUID_LOPART(guid), GetDungeon(gguid), done? " " : " not");
|
||||
LfgPlayerRewardData data = LfgPlayerRewardData(dungeon->Entry(), GetDungeon(gguid, false), done, quest);
|
||||
player->GetSession()->SendLfgPlayerReward(data);
|
||||
}
|
||||
@@ -1545,11 +1542,16 @@ LfgState LFGMgr::GetState(uint64 guid)
|
||||
{
|
||||
LfgState state;
|
||||
if (IS_GROUP_GUID(guid))
|
||||
{
|
||||
state = GroupsStore[guid].GetState();
|
||||
TC_LOG_TRACE("lfg.data.group.state.get", "Group: %u, State: %u", GUID_LOPART(guid), state);
|
||||
}
|
||||
else
|
||||
{
|
||||
state = PlayersStore[guid].GetState();
|
||||
TC_LOG_TRACE("lfg.data.player.state.get", "Player: %u, State: %u", GUID_LOPART(guid), state);
|
||||
}
|
||||
|
||||
TC_LOG_TRACE("lfg", "LFGMgr::GetState: [" UI64FMTD "] = %u", guid, state);
|
||||
return state;
|
||||
}
|
||||
|
||||
@@ -1557,18 +1559,23 @@ LfgState LFGMgr::GetOldState(uint64 guid)
|
||||
{
|
||||
LfgState state;
|
||||
if (IS_GROUP_GUID(guid))
|
||||
{
|
||||
state = GroupsStore[guid].GetOldState();
|
||||
TC_LOG_TRACE("lfg.data.group.oldstate.get", "Group: %u, Old state: %u", GUID_LOPART(guid), state);
|
||||
}
|
||||
else
|
||||
{
|
||||
state = PlayersStore[guid].GetOldState();
|
||||
TC_LOG_TRACE("lfg.data.player.oldstate.get", "Player: %u, Old state: %u", GUID_LOPART(guid), state);
|
||||
}
|
||||
|
||||
TC_LOG_TRACE("lfg", "LFGMgr::GetOldState: [" UI64FMTD "] = %u", guid, state);
|
||||
return state;
|
||||
}
|
||||
|
||||
uint32 LFGMgr::GetDungeon(uint64 guid, bool asId /*= true */)
|
||||
{
|
||||
uint32 dungeon = GroupsStore[guid].GetDungeon(asId);
|
||||
TC_LOG_TRACE("lfg", "LFGMgr::GetDungeon: [" UI64FMTD "] asId: %u = %u", guid, asId, dungeon);
|
||||
TC_LOG_TRACE("lfg.data.group.dungeon.get", "Group: %u, asId: %u, Dungeon: %u", GUID_LOPART(guid), asId, dungeon);
|
||||
return dungeon;
|
||||
}
|
||||
|
||||
@@ -1580,39 +1587,40 @@ uint32 LFGMgr::GetDungeonMapId(uint64 guid)
|
||||
if (LFGDungeonData const* dungeon = GetLFGDungeon(dungeonId))
|
||||
mapId = dungeon->map;
|
||||
|
||||
TC_LOG_TRACE("lfg", "LFGMgr::GetDungeonMapId: [" UI64FMTD "] = %u (DungeonId = %u)", guid, mapId, dungeonId);
|
||||
TC_LOG_TRACE("lfg.data.group.dungeon.map", "Group: %u, MapId: %u (DungeonId: %u)", GUID_LOPART(guid), mapId, dungeonId);
|
||||
|
||||
return mapId;
|
||||
}
|
||||
|
||||
uint8 LFGMgr::GetRoles(uint64 guid)
|
||||
{
|
||||
uint8 roles = PlayersStore[guid].GetRoles();
|
||||
TC_LOG_TRACE("lfg", "LFGMgr::GetRoles: [" UI64FMTD "] = %u", guid, roles);
|
||||
TC_LOG_TRACE("lfg.data.player.role.get", "Player: %u, Role: %u", GUID_LOPART(guid), roles);
|
||||
return roles;
|
||||
}
|
||||
|
||||
const std::string& LFGMgr::GetComment(uint64 guid)
|
||||
{
|
||||
TC_LOG_TRACE("lfg", "LFGMgr::GetComment: [" UI64FMTD "] = %s", guid, PlayersStore[guid].GetComment().c_str());
|
||||
TC_LOG_TRACE("lfg.data.player.comment.get", "Player: %u, Comment: %s", GUID_LOPART(guid), PlayersStore[guid].GetComment().c_str());
|
||||
return PlayersStore[guid].GetComment();
|
||||
}
|
||||
|
||||
LfgDungeonSet const& LFGMgr::GetSelectedDungeons(uint64 guid)
|
||||
{
|
||||
TC_LOG_TRACE("lfg", "LFGMgr::GetSelectedDungeons: [" UI64FMTD "]", guid);
|
||||
TC_LOG_TRACE("lfg.data.player.dungeons.selected.get", "Player: %u, Selected Dungeons: %s", GUID_LOPART(guid), ConcatenateDungeons(PlayersStore[guid].GetSelectedDungeons()).c_str());
|
||||
return PlayersStore[guid].GetSelectedDungeons();
|
||||
}
|
||||
|
||||
LfgLockMap const& LFGMgr::GetLockedDungeons(uint64 guid)
|
||||
{
|
||||
TC_LOG_TRACE("lfg", "LFGMgr::GetLockedDungeons: [" UI64FMTD "]", guid);
|
||||
TC_LOG_TRACE("lfg.data.player.dungeons.locked.get", "Player: %u, LockedDungeons.", GUID_LOPART(guid));
|
||||
return PlayersStore[guid].GetLockedDungeons();
|
||||
}
|
||||
|
||||
uint8 LFGMgr::GetKicksLeft(uint64 guid)
|
||||
{
|
||||
uint8 kicks = GroupsStore[guid].GetKicksLeft();
|
||||
TC_LOG_TRACE("lfg", "LFGMgr::GetKicksLeft: [" UI64FMTD "] = %u", guid, kicks);
|
||||
TC_LOG_TRACE("lfg.data.group.kickleft.get", "Group: %u, Kicks left: %u", GUID_LOPART(guid), kicks);
|
||||
return kicks;
|
||||
}
|
||||
|
||||
@@ -1621,26 +1629,19 @@ void LFGMgr::RestoreState(uint64 guid, char const* debugMsg)
|
||||
if (IS_GROUP_GUID(guid))
|
||||
{
|
||||
LfgGroupData& data = GroupsStore[guid];
|
||||
if (sLog->ShouldLog("lfg", LOG_LEVEL_DEBUG))
|
||||
{
|
||||
std::string const& ps = GetStateString(data.GetState());
|
||||
std::string const& os = GetStateString(data.GetOldState());
|
||||
TC_LOG_TRACE("lfg", "LFGMgr::RestoreState: Group: [" UI64FMTD "] (%s) State: %s, oldState: %s",
|
||||
guid, debugMsg, ps.c_str(), os.c_str());
|
||||
}
|
||||
TC_LOG_TRACE("lfg.data.group.state.restore", "Group: %u (%s), State: %s, Old state: %s",
|
||||
GUID_LOPART(guid), debugMsg, GetStateString(data.GetState()).c_str(),
|
||||
GetStateString(data.GetOldState()).c_str());
|
||||
|
||||
data.RestoreState();
|
||||
}
|
||||
else
|
||||
{
|
||||
LfgPlayerData& data = PlayersStore[guid];
|
||||
if (sLog->ShouldLog("lfg", LOG_LEVEL_DEBUG))
|
||||
{
|
||||
std::string const& ps = GetStateString(data.GetState());
|
||||
std::string const& os = GetStateString(data.GetOldState());
|
||||
TC_LOG_TRACE("lfg", "LFGMgr::RestoreState: Player: [" UI64FMTD "] (%s) State: %s, oldState: %s",
|
||||
guid, debugMsg, ps.c_str(), os.c_str());
|
||||
}
|
||||
TC_LOG_TRACE("lfg.data.player.state.restore", "Player: %u (%s), State: %s, Old state: %s",
|
||||
GUID_LOPART(guid), debugMsg, GetStateString(data.GetState()).c_str(),
|
||||
GetStateString(data.GetOldState()).c_str());
|
||||
|
||||
data.RestoreState();
|
||||
}
|
||||
}
|
||||
@@ -1650,70 +1651,62 @@ void LFGMgr::SetState(uint64 guid, LfgState state)
|
||||
if (IS_GROUP_GUID(guid))
|
||||
{
|
||||
LfgGroupData& data = GroupsStore[guid];
|
||||
if (sLog->ShouldLog("lfg", LOG_LEVEL_TRACE))
|
||||
{
|
||||
std::string const& ns = GetStateString(state);
|
||||
std::string const& ps = GetStateString(data.GetState());
|
||||
std::string const& os = GetStateString(data.GetOldState());
|
||||
TC_LOG_TRACE("lfg", "LFGMgr::SetState: Group: [" UI64FMTD "] newState: %s, previous: %s, oldState: %s",
|
||||
guid, ns.c_str(), ps.c_str(), os.c_str());
|
||||
}
|
||||
TC_LOG_TRACE("lfg.data.group.state.set", "Group: %u, New state: %s, Previous: %s, Old state: %s",
|
||||
GUID_LOPART(guid), GetStateString(state).c_str(), GetStateString(data.GetState()).c_str(),
|
||||
GetStateString(data.GetOldState()).c_str());
|
||||
|
||||
data.SetState(state);
|
||||
}
|
||||
else
|
||||
{
|
||||
LfgPlayerData& data = PlayersStore[guid];
|
||||
if (sLog->ShouldLog("lfg", LOG_LEVEL_TRACE))
|
||||
{
|
||||
std::string const& ns = GetStateString(state);
|
||||
std::string const& ps = GetStateString(data.GetState());
|
||||
std::string const& os = GetStateString(data.GetOldState());
|
||||
TC_LOG_TRACE("lfg", "LFGMgr::SetState: Player: [" UI64FMTD "] newState: %s, previous: %s, oldState: %s",
|
||||
guid, ns.c_str(), ps.c_str(), os.c_str());
|
||||
}
|
||||
TC_LOG_TRACE("lfg.data.player.state.set", "Player: %u, New state: %s, Previous: %s, OldState: %s",
|
||||
GUID_LOPART(guid), GetStateString(state).c_str(), GetStateString(data.GetState()).c_str(),
|
||||
GetStateString(data.GetOldState()).c_str());
|
||||
|
||||
data.SetState(state);
|
||||
}
|
||||
}
|
||||
|
||||
void LFGMgr::SetDungeon(uint64 guid, uint32 dungeon)
|
||||
{
|
||||
TC_LOG_TRACE("lfg", "LFGMgr::SetDungeon: [" UI64FMTD "] dungeon %u", guid, dungeon);
|
||||
TC_LOG_TRACE("lfg.data.group.dungeon.set", "Group: %u, Dungeon: %u", GUID_LOPART(guid), dungeon);
|
||||
GroupsStore[guid].SetDungeon(dungeon);
|
||||
}
|
||||
|
||||
void LFGMgr::SetRoles(uint64 guid, uint8 roles)
|
||||
{
|
||||
TC_LOG_TRACE("lfg", "LFGMgr::SetRoles: [" UI64FMTD "] roles: %u", guid, roles);
|
||||
TC_LOG_TRACE("lfg.data.player.role.set", "Player: %u, Roles: %u", GUID_LOPART(guid), roles);
|
||||
PlayersStore[guid].SetRoles(roles);
|
||||
}
|
||||
|
||||
void LFGMgr::SetComment(uint64 guid, std::string const& comment)
|
||||
{
|
||||
TC_LOG_TRACE("lfg", "LFGMgr::SetComment: [" UI64FMTD "] comment: %s", guid, comment.c_str());
|
||||
TC_LOG_TRACE("lfg.data.player.comment.set", "Player: %u, Comment: %s", GUID_LOPART(guid), comment.c_str());
|
||||
PlayersStore[guid].SetComment(comment);
|
||||
}
|
||||
|
||||
void LFGMgr::SetSelectedDungeons(uint64 guid, LfgDungeonSet const& dungeons)
|
||||
{
|
||||
TC_LOG_TRACE("lfg", "LFGMgr::SetSelectedDungeons: [" UI64FMTD "] Dungeons: %s", guid, ConcatenateDungeons(dungeons).c_str());
|
||||
TC_LOG_TRACE("lfg.data.player.dungeon.selected.set", "Player: %u, Dungeons: %s", GUID_LOPART(guid), ConcatenateDungeons(dungeons).c_str());
|
||||
PlayersStore[guid].SetSelectedDungeons(dungeons);
|
||||
}
|
||||
|
||||
void LFGMgr::SetLockedDungeons(uint64 guid, LfgLockMap const& lock)
|
||||
{
|
||||
TC_LOG_TRACE("lfg", "LFGMgr::SetLockedDungeons: [" UI64FMTD "]", guid);
|
||||
TC_LOG_TRACE("lfg.data.player.dungeon.locked.set", "Player: %u, LockedDungeons", GUID_LOPART(guid));
|
||||
PlayersStore[guid].SetLockedDungeons(lock);
|
||||
}
|
||||
|
||||
void LFGMgr::DecreaseKicksLeft(uint64 guid)
|
||||
{
|
||||
TC_LOG_TRACE("lfg", "LFGMgr::DecreaseKicksLeft: [" UI64FMTD "]", guid);
|
||||
GroupsStore[guid].DecreaseKicksLeft();
|
||||
TC_LOG_TRACE("lfg.data.group.kicksleft.decrease", "Group: %u, Kicks: %u", GUID_LOPART(guid), GroupsStore[guid].GetKicksLeft());
|
||||
}
|
||||
|
||||
void LFGMgr::RemovePlayerData(uint64 guid)
|
||||
{
|
||||
TC_LOG_TRACE("lfg", "LFGMgr::RemovePlayerData: [" UI64FMTD "]", guid);
|
||||
TC_LOG_TRACE("lfg.data.player.remove", "Player: %u", GUID_LOPART(guid));
|
||||
LfgPlayerDataContainer::iterator it = PlayersStore.find(guid);
|
||||
if (it != PlayersStore.end())
|
||||
PlayersStore.erase(it);
|
||||
@@ -1721,7 +1714,7 @@ void LFGMgr::RemovePlayerData(uint64 guid)
|
||||
|
||||
void LFGMgr::RemoveGroupData(uint64 guid)
|
||||
{
|
||||
TC_LOG_TRACE("lfg", "LFGMgr::RemoveGroupData: [" UI64FMTD "]", guid);
|
||||
TC_LOG_TRACE("lfg.data.group.remove", "Group: %u", GUID_LOPART(guid));
|
||||
LfgGroupDataContainer::iterator it = GroupsStore.find(guid);
|
||||
if (it == GroupsStore.end())
|
||||
return;
|
||||
@@ -1744,7 +1737,9 @@ void LFGMgr::RemoveGroupData(uint64 guid)
|
||||
|
||||
uint8 LFGMgr::GetTeam(uint64 guid)
|
||||
{
|
||||
return PlayersStore[guid].GetTeam();
|
||||
uint8 team = PlayersStore[guid].GetTeam();
|
||||
TC_LOG_TRACE("lfg.data.player.team.get", "Player: %u, Team: %u", GUID_LOPART(guid), team);
|
||||
return team;
|
||||
}
|
||||
|
||||
uint8 LFGMgr::RemovePlayerFromGroup(uint64 gguid, uint64 guid)
|
||||
|
||||
@@ -88,7 +88,7 @@ void LFGQueue::AddToQueue(uint64 guid)
|
||||
LfgQueueDataContainer::iterator itQueue = QueueDataStore.find(guid);
|
||||
if (itQueue == QueueDataStore.end())
|
||||
{
|
||||
TC_LOG_ERROR("lfg", "LFGQueue::AddToQueue: Queue data not found for [" UI64FMTD "]", guid);
|
||||
TC_LOG_ERROR("lfg.queue.add", "Queue data not found for [" UI64FMTD "]", guid);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -194,7 +194,7 @@ void LFGQueue::RemoveFromCompatibles(uint64 guid)
|
||||
out << guid;
|
||||
std::string strGuid = out.str();
|
||||
|
||||
TC_LOG_DEBUG("lfg", "LFGQueue::RemoveFromCompatibles: Removing [" UI64FMTD "]", guid);
|
||||
TC_LOG_DEBUG("lfg.queue.data.compatibles.remove", "Removing [" UI64FMTD "]", guid);
|
||||
for (LfgCompatibleContainer::iterator itNext = CompatibleMapStore.begin(); itNext != CompatibleMapStore.end();)
|
||||
{
|
||||
LfgCompatibleContainer::iterator it = itNext++;
|
||||
@@ -251,7 +251,7 @@ uint8 LFGQueue::FindGroups()
|
||||
while (!newToQueueStore.empty())
|
||||
{
|
||||
uint64 frontguid = newToQueueStore.front();
|
||||
TC_LOG_DEBUG("lfg", "LFGQueue::FindGroups: checking [" UI64FMTD "] newToQueue(%u), currentQueue(%u)", frontguid, uint32(newToQueueStore.size()), uint32(currentQueueStore.size()));
|
||||
TC_LOG_DEBUG("lfg.queue.match.check.new", "Checking [" UI64FMTD "] newToQueue(%u), currentQueue(%u)", frontguid, uint32(newToQueueStore.size()), uint32(currentQueueStore.size()));
|
||||
firstNew.clear();
|
||||
firstNew.push_back(frontguid);
|
||||
RemoveFromNewQueue(frontguid);
|
||||
@@ -279,13 +279,13 @@ LfgCompatibility LFGQueue::FindNewGroups(LfgGuidList& check, LfgGuidList& all)
|
||||
std::string strGuids = ConcatenateGuids(check);
|
||||
LfgCompatibility compatibles = GetCompatibles(strGuids);
|
||||
|
||||
TC_LOG_DEBUG("lfg", "LFGQueue::FindNewGroup: (%s): %s - all(%s)", strGuids.c_str(), GetCompatibleString(compatibles), ConcatenateGuids(all).c_str());
|
||||
TC_LOG_DEBUG("lfg.queue.match.check", "Guids: (%s): %s - all(%s)", strGuids.c_str(), GetCompatibleString(compatibles), ConcatenateGuids(all).c_str());
|
||||
if (compatibles == LFG_COMPATIBILITY_PENDING) // Not previously cached, calculate
|
||||
compatibles = CheckCompatibility(check);
|
||||
|
||||
if (compatibles == LFG_COMPATIBLES_BAD_STATES && sLFGMgr->AllQueued(check))
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "LFGQueue::FindNewGroup: (%s) compatibles (cached) changed from bad states to match", strGuids.c_str());
|
||||
TC_LOG_DEBUG("lfg.queue.match.check", "Guids: (%s) compatibles (cached) changed from bad states to match", strGuids.c_str());
|
||||
SetCompatibles(strGuids, LFG_COMPATIBLES_MATCH);
|
||||
return LFG_COMPATIBLES_MATCH;
|
||||
}
|
||||
@@ -323,7 +323,7 @@ LfgCompatibility LFGQueue::CheckCompatibility(LfgGuidList check)
|
||||
// Check for correct size
|
||||
if (check.size() > MAXGROUPSIZE || check.empty())
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "LFGQueue::CheckCompatibility: (%s): Size wrong - Not compatibles", strGuids.c_str());
|
||||
TC_LOG_DEBUG("lfg.queue.match.compatibility.check", "Guids: (%s): Size wrong - Not compatibles", strGuids.c_str());
|
||||
return LFG_INCOMPATIBLES_WRONG_GROUP_SIZE;
|
||||
}
|
||||
|
||||
@@ -337,7 +337,7 @@ LfgCompatibility LFGQueue::CheckCompatibility(LfgGuidList check)
|
||||
LfgCompatibility child_compatibles = CheckCompatibility(check);
|
||||
if (child_compatibles < LFG_COMPATIBLES_WITH_LESS_PLAYERS) // Group not compatible
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "LFGQueue::CheckCompatibility: (%s) child %s not compatibles", strGuids.c_str(), ConcatenateGuids(check).c_str());
|
||||
TC_LOG_DEBUG("lfg.queue.match.compatibility.check", "Guids: (%s) child %s not compatibles", strGuids.c_str(), ConcatenateGuids(check).c_str());
|
||||
SetCompatibles(strGuids, child_compatibles);
|
||||
return child_compatibles;
|
||||
}
|
||||
@@ -353,7 +353,7 @@ LfgCompatibility LFGQueue::CheckCompatibility(LfgGuidList check)
|
||||
LfgQueueDataContainer::iterator itQueue = QueueDataStore.find(guid);
|
||||
if (itQueue == QueueDataStore.end())
|
||||
{
|
||||
TC_LOG_ERROR("lfg", "LFGQueue::CheckCompatibility: [" UI64FMTD "] is not queued but listed as queued!", guid);
|
||||
TC_LOG_ERROR("lfg.queue.match.compatibility.check", "Guid: [" UI64FMTD "] is not queued but listed as queued!", guid);
|
||||
RemoveFromQueue(guid);
|
||||
return LFG_COMPATIBILITY_PENDING;
|
||||
}
|
||||
@@ -375,7 +375,7 @@ LfgCompatibility LFGQueue::CheckCompatibility(LfgGuidList check)
|
||||
// Group with less that MAXGROUPSIZE members always compatible
|
||||
if (check.size() == 1 && numPlayers != MAXGROUPSIZE)
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "LFGQueue::CheckCompatibility: (%s) sigle group. Compatibles", strGuids.c_str());
|
||||
TC_LOG_DEBUG("lfg.queue.match.compatibility.check", "Guids: (%s) sigle group. Compatibles", strGuids.c_str());
|
||||
LfgQueueDataContainer::iterator itQueue = QueueDataStore.find(check.front());
|
||||
|
||||
LfgCompatibilityData data(LFG_COMPATIBLES_WITH_LESS_PLAYERS);
|
||||
@@ -389,14 +389,14 @@ LfgCompatibility LFGQueue::CheckCompatibility(LfgGuidList check)
|
||||
|
||||
if (numLfgGroups > 1)
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "LFGQueue::CheckCompatibility: (%s) More than one Lfggroup (%u)", strGuids.c_str(), numLfgGroups);
|
||||
TC_LOG_DEBUG("lfg.queue.match.compatibility.check", "Guids: (%s) More than one Lfggroup (%u)", strGuids.c_str(), numLfgGroups);
|
||||
SetCompatibles(strGuids, LFG_INCOMPATIBLES_MULTIPLE_LFG_GROUPS);
|
||||
return LFG_INCOMPATIBLES_MULTIPLE_LFG_GROUPS;
|
||||
}
|
||||
|
||||
if (numPlayers > MAXGROUPSIZE)
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "LFGQueue::CheckCompatibility: (%s) Too much players (%u)", strGuids.c_str(), numPlayers);
|
||||
TC_LOG_DEBUG("lfg.queue.match.compatibility.check", "Guids: (%s) Too much players (%u)", strGuids.c_str(), numPlayers);
|
||||
SetCompatibles(strGuids, LFG_INCOMPATIBLES_TOO_MUCH_PLAYERS);
|
||||
return LFG_INCOMPATIBLES_TOO_MUCH_PLAYERS;
|
||||
}
|
||||
@@ -413,7 +413,7 @@ LfgCompatibility LFGQueue::CheckCompatibility(LfgGuidList check)
|
||||
for (itPlayer = proposalRoles.begin(); itPlayer != proposalRoles.end(); ++itPlayer)
|
||||
{
|
||||
if (itRoles->first == itPlayer->first)
|
||||
TC_LOG_ERROR("lfg", "LFGQueue::CheckCompatibility: ERROR! Player multiple times in queue! [" UI64FMTD "]", itRoles->first);
|
||||
TC_LOG_ERROR("lfg.queue.match.compatibility.check", "Guids: ERROR! Player multiple times in queue! [" UI64FMTD "]", itRoles->first);
|
||||
else if (sLFGMgr->HasIgnore(itRoles->first, itPlayer->first))
|
||||
break;
|
||||
}
|
||||
@@ -424,7 +424,7 @@ LfgCompatibility LFGQueue::CheckCompatibility(LfgGuidList check)
|
||||
|
||||
if (uint8 playersize = numPlayers - proposalRoles.size())
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "LFGQueue::CheckCompatibility: (%s) not compatible, %u players are ignoring each other", strGuids.c_str(), playersize);
|
||||
TC_LOG_DEBUG("lfg.queue.match.compatibility.check", "Guids: (%s) not compatible, %u players are ignoring each other", strGuids.c_str(), playersize);
|
||||
SetCompatibles(strGuids, LFG_INCOMPATIBLES_HAS_IGNORES);
|
||||
return LFG_INCOMPATIBLES_HAS_IGNORES;
|
||||
}
|
||||
@@ -436,7 +436,7 @@ LfgCompatibility LFGQueue::CheckCompatibility(LfgGuidList check)
|
||||
for (LfgRolesMap::const_iterator it = debugRoles.begin(); it != debugRoles.end(); ++it)
|
||||
o << ", " << it->first << ": " << GetRolesString(it->second);
|
||||
|
||||
TC_LOG_DEBUG("lfg", "LFGQueue::CheckCompatibility: (%s) Roles not compatible%s", strGuids.c_str(), o.str().c_str());
|
||||
TC_LOG_DEBUG("lfg.queue.match.compatibility.check", "Guids: (%s) Roles not compatible%s", strGuids.c_str(), o.str().c_str());
|
||||
SetCompatibles(strGuids, LFG_INCOMPATIBLES_NO_ROLES);
|
||||
return LFG_INCOMPATIBLES_NO_ROLES;
|
||||
}
|
||||
@@ -456,7 +456,7 @@ LfgCompatibility LFGQueue::CheckCompatibility(LfgGuidList check)
|
||||
|
||||
if (proposalDungeons.empty())
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "LFGQueue::CheckCompatibility: (%s) No compatible dungeons%s", strGuids.c_str(), o.str().c_str());
|
||||
TC_LOG_DEBUG("lfg.queue.match.compatibility.check", "Guids: (%s) No compatible dungeons%s", strGuids.c_str(), o.str().c_str());
|
||||
SetCompatibles(strGuids, LFG_INCOMPATIBLES_NO_DUNGEONS);
|
||||
return LFG_INCOMPATIBLES_NO_DUNGEONS;
|
||||
}
|
||||
@@ -473,7 +473,7 @@ LfgCompatibility LFGQueue::CheckCompatibility(LfgGuidList check)
|
||||
// Enough players?
|
||||
if (numPlayers != MAXGROUPSIZE)
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "LFGQueue::CheckCompatibility: (%s) Compatibles but not enough players(%u)", strGuids.c_str(), numPlayers);
|
||||
TC_LOG_DEBUG("lfg.queue.match.compatibility.check", "Guids: (%s) Compatibles but not enough players(%u)", strGuids.c_str(), numPlayers);
|
||||
LfgCompatibilityData data(LFG_COMPATIBLES_WITH_LESS_PLAYERS);
|
||||
data.roles = proposalRoles;
|
||||
|
||||
@@ -490,7 +490,7 @@ LfgCompatibility LFGQueue::CheckCompatibility(LfgGuidList check)
|
||||
|
||||
if (!sLFGMgr->AllQueued(check))
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "LFGQueue::CheckCompatibility: (%s) Group MATCH but can't create proposal!", strGuids.c_str());
|
||||
TC_LOG_DEBUG("lfg.queue.match.compatibility.check", "Guids: (%s) Group MATCH but can't create proposal!", strGuids.c_str());
|
||||
SetCompatibles(strGuids, LFG_COMPATIBLES_BAD_STATES);
|
||||
return LFG_COMPATIBLES_BAD_STATES;
|
||||
}
|
||||
@@ -532,14 +532,14 @@ LfgCompatibility LFGQueue::CheckCompatibility(LfgGuidList check)
|
||||
|
||||
sLFGMgr->AddProposal(proposal);
|
||||
|
||||
TC_LOG_DEBUG("lfg", "LFGQueue::CheckCompatibility: (%s) MATCH! Group formed", strGuids.c_str());
|
||||
TC_LOG_DEBUG("lfg.queue.match.compatibility.check", "Guids: (%s) MATCH! Group formed", strGuids.c_str());
|
||||
SetCompatibles(strGuids, LFG_COMPATIBLES_MATCH);
|
||||
return LFG_COMPATIBLES_MATCH;
|
||||
}
|
||||
|
||||
void LFGQueue::UpdateQueueTimers(uint8 queueId, time_t currTime)
|
||||
{
|
||||
TC_LOG_TRACE("lfg", "Updating queue timers...");
|
||||
TC_LOG_TRACE("lfg.queue.timers.update", "Updating queue timers...");
|
||||
for (LfgQueueDataContainer::iterator itQueue = QueueDataStore.begin(); itQueue != QueueDataStore.end(); ++itQueue)
|
||||
{
|
||||
LfgQueueData& queueinfo = itQueue->second;
|
||||
@@ -635,7 +635,7 @@ std::string LFGQueue::DumpCompatibleInfo(bool full /* = false */) const
|
||||
|
||||
void LFGQueue::FindBestCompatibleInQueue(LfgQueueDataContainer::iterator itrQueue)
|
||||
{
|
||||
TC_LOG_DEBUG("lfg", "LFGQueue::FindBestCompatibleInQueue: " UI64FMTD, itrQueue->first);
|
||||
TC_LOG_DEBUG("lfg.queue.compatibles.find", "Guid: " UI64FMTD, itrQueue->first);
|
||||
std::ostringstream o;
|
||||
o << itrQueue->first;
|
||||
std::string sguid = o.str();
|
||||
@@ -660,7 +660,7 @@ void LFGQueue::UpdateBestCompatibleInQueue(LfgQueueDataContainer::iterator itrQu
|
||||
if (size <= storedSize)
|
||||
return;
|
||||
|
||||
TC_LOG_DEBUG("lfg", "LFGQueue::UpdateBestCompatibleInQueue: Changed (%s) to (%s) as best compatible group for " UI64FMTD,
|
||||
TC_LOG_DEBUG("lfg.queue.compatibles.update", "Changed (%s) to (%s) as best compatible group for " UI64FMTD,
|
||||
queueData.bestCompatible.c_str(), key.c_str(), itrQueue->first);
|
||||
|
||||
queueData.bestCompatible = key;
|
||||
|
||||
@@ -24,7 +24,6 @@ SDCategory: Silithus
|
||||
EndScriptData */
|
||||
|
||||
/* ContentData
|
||||
npc_highlord_demitrian
|
||||
npcs_rutgar_and_frankal
|
||||
go_wind_stone
|
||||
EndContentData */
|
||||
@@ -35,79 +34,6 @@ EndContentData */
|
||||
#include "Group.h"
|
||||
#include "Player.h"
|
||||
|
||||
/*###
|
||||
## npc_highlord_demitrian
|
||||
###*/
|
||||
|
||||
#define GOSSIP_DEMITRIAN1 "What do you know of it?"
|
||||
#define GOSSIP_DEMITRIAN2 "I am listening, Demitrian."
|
||||
#define GOSSIP_DEMITRIAN3 "Continue, please."
|
||||
#define GOSSIP_DEMITRIAN4 "A battle?"
|
||||
#define GOSSIP_DEMITRIAN5 "<Nod>"
|
||||
#define GOSSIP_DEMITRIAN6 "Caught unaware? How?"
|
||||
#define GOSSIP_DEMITRIAN7 "So what did Ragnaros do next?"
|
||||
|
||||
class npc_highlord_demitrian : public CreatureScript
|
||||
{
|
||||
public:
|
||||
npc_highlord_demitrian() : CreatureScript("npc_highlord_demitrian") { }
|
||||
|
||||
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
|
||||
{
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
switch (action)
|
||||
{
|
||||
case GOSSIP_ACTION_INFO_DEF:
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DEMITRIAN2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
|
||||
player->SEND_GOSSIP_MENU(6842, creature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+1:
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DEMITRIAN3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
|
||||
player->SEND_GOSSIP_MENU(6843, creature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+2:
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DEMITRIAN4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3);
|
||||
player->SEND_GOSSIP_MENU(6844, creature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+3:
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DEMITRIAN5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+4);
|
||||
player->SEND_GOSSIP_MENU(6867, creature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+4:
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DEMITRIAN6, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5);
|
||||
player->SEND_GOSSIP_MENU(6868, creature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+5:
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DEMITRIAN7, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+6);
|
||||
player->SEND_GOSSIP_MENU(6869, creature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+6:
|
||||
player->SEND_GOSSIP_MENU(6870, creature->GetGUID());
|
||||
|
||||
ItemPosCountVec dest;
|
||||
uint8 msg = player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, 19016, 1);
|
||||
if (msg == EQUIP_ERR_OK)
|
||||
player->StoreNewItem(dest, 19016, true);
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
|
||||
{
|
||||
if (creature->IsQuestGiver())
|
||||
player->PrepareQuestMenu(creature->GetGUID());
|
||||
|
||||
if (player->GetQuestStatus(7785) == QUEST_STATUS_NONE &&
|
||||
(player->HasItemCount(18563, 1, false) || player->HasItemCount(18564, 1, false)))
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DEMITRIAN1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
|
||||
|
||||
player->SEND_GOSSIP_MENU(6812, creature->GetGUID());
|
||||
return true;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/*###
|
||||
## npcs_rutgar_and_frankal
|
||||
###*/
|
||||
@@ -1504,7 +1430,10 @@ class go_wind_stone : public GameObjectScript
|
||||
|
||||
void AddSC_silithus()
|
||||
{
|
||||
new npc_highlord_demitrian();
|
||||
new go_crystalline_tear();
|
||||
new npc_anachronos_quest_trigger();
|
||||
new npc_anachronos_the_ancient();
|
||||
new npc_qiraj_war_spawn();
|
||||
new npcs_rutgar_and_frankal();
|
||||
new go_wind_stone();
|
||||
}
|
||||
|
||||
@@ -54,37 +54,6 @@ bool obelisk_one, obelisk_two, obelisk_three, obelisk_four, obelisk_five;
|
||||
#define LEGION_OBELISK_FOUR 185197
|
||||
#define LEGION_OBELISK_FIVE 185198
|
||||
|
||||
/*######
|
||||
## npc_bladespire_ogre
|
||||
######*/
|
||||
|
||||
/// @todo add support for quest 10512 + Creature abilities
|
||||
class npc_bladespire_ogre : public CreatureScript
|
||||
{
|
||||
public:
|
||||
npc_bladespire_ogre() : CreatureScript("npc_bladespire_ogre") { }
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const OVERRIDE
|
||||
{
|
||||
return new npc_bladespire_ogreAI(creature);
|
||||
}
|
||||
|
||||
struct npc_bladespire_ogreAI : public ScriptedAI
|
||||
{
|
||||
npc_bladespire_ogreAI(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void Reset() OVERRIDE { }
|
||||
|
||||
void UpdateAI(uint32 /*uiDiff*/) OVERRIDE
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
/*######
|
||||
## npc_nether_drake
|
||||
######*/
|
||||
@@ -1242,7 +1211,6 @@ class spell_oscillating_field : public SpellScriptLoader
|
||||
|
||||
void AddSC_blades_edge_mountains()
|
||||
{
|
||||
new npc_bladespire_ogre();
|
||||
new npc_nether_drake();
|
||||
new npc_daranelle();
|
||||
new npc_overseer_nuaar();
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
/* ScriptData
|
||||
SDName: Shadowmoon_Valley
|
||||
SD%Complete: 100
|
||||
SDComment: Quest support: 10519, 10583, 10601, 10804, 10854, 10458, 10481, 10480, 11082, 10781, 10451. Vendor Drake Dealer Hurlunk.
|
||||
SDComment: Quest support: 10519, 10583, 10601, 10804, 10854, 10458, 10481, 10480, 10781, 10451. Vendor Drake Dealer Hurlunk.
|
||||
SDCategory: Shadowmoon Valley
|
||||
EndScriptData */
|
||||
|
||||
@@ -28,7 +28,6 @@ npc_mature_netherwing_drake
|
||||
npc_enslaved_netherwing_drake
|
||||
npc_drake_dealer_hurlunk
|
||||
npcs_flanis_swiftwing_and_kagrosh
|
||||
npc_murkblood_overseer
|
||||
npc_karynaku
|
||||
npc_oronok_tornheart
|
||||
npc_overlord_morghor
|
||||
@@ -492,74 +491,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## npc_murkblood_overseer
|
||||
######*/
|
||||
|
||||
#define QUEST_11082 11082
|
||||
|
||||
#define GOSSIP_HMO "I am here for you, overseer."
|
||||
#define GOSSIP_SMO1 "How dare you question an overseer of the Dragonmaw!"
|
||||
#define GOSSIP_SMO2 "Who speaks of me? What are you talking about, broken?"
|
||||
#define GOSSIP_SMO3 "Continue please."
|
||||
#define GOSSIP_SMO4 "Who are these bidders?"
|
||||
#define GOSSIP_SMO5 "Well... yes."
|
||||
|
||||
class npc_murkblood_overseer : public CreatureScript
|
||||
{
|
||||
public:
|
||||
npc_murkblood_overseer() : CreatureScript("npc_murkblood_overseer") { }
|
||||
|
||||
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
|
||||
{
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
switch (action)
|
||||
{
|
||||
case GOSSIP_ACTION_INFO_DEF+1:
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SMO1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
|
||||
//correct id not known
|
||||
player->SEND_GOSSIP_MENU(10940, creature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+2:
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SMO2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3);
|
||||
//correct id not known
|
||||
player->SEND_GOSSIP_MENU(10940, creature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+3:
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SMO3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+4);
|
||||
//correct id not known
|
||||
player->SEND_GOSSIP_MENU(10940, creature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+4:
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SMO4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5);
|
||||
//correct id not known
|
||||
player->SEND_GOSSIP_MENU(10940, creature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+5:
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SMO5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+6);
|
||||
//correct id not known
|
||||
player->SEND_GOSSIP_MENU(10940, creature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+6:
|
||||
//correct id not known
|
||||
player->SEND_GOSSIP_MENU(10940, creature->GetGUID());
|
||||
creature->CastSpell(player, 41121, false);
|
||||
player->AreaExploredOrEventHappens(QUEST_11082);
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
|
||||
{
|
||||
if (player->GetQuestStatus(QUEST_11082) == QUEST_STATUS_INCOMPLETE)
|
||||
player->ADD_GOSSIP_ITEM(0, GOSSIP_HMO, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
|
||||
|
||||
player->SEND_GOSSIP_MENU(10940, creature->GetGUID());
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## npc_oronok
|
||||
######*/
|
||||
@@ -2011,7 +1942,6 @@ void AddSC_shadowmoon_valley()
|
||||
new npc_dragonmaw_peon();
|
||||
new npc_drake_dealer_hurlunk();
|
||||
new npcs_flanis_swiftwing_and_kagrosh();
|
||||
new npc_murkblood_overseer();
|
||||
new npc_karynaku();
|
||||
new npc_oronok_tornheart();
|
||||
new npc_overlord_morghor();
|
||||
|
||||
@@ -267,7 +267,7 @@ void Log::vlog(std::string const& filter, LogLevel level, char const* str, va_li
|
||||
write(new LogMessage(level, filter, text));
|
||||
}
|
||||
|
||||
void Log::write(LogMessage* msg) const
|
||||
void Log::write(LogMessage* msg)
|
||||
{
|
||||
Logger const* logger = GetLoggerByType(msg->type);
|
||||
msg->text.append("\n");
|
||||
@@ -376,6 +376,7 @@ void Log::Close()
|
||||
delete worker;
|
||||
worker = NULL;
|
||||
loggers.clear();
|
||||
cachedLoggers.clear();
|
||||
for (AppenderMap::iterator it = appenders.begin(); it != appenders.end(); ++it)
|
||||
{
|
||||
delete it->second;
|
||||
|
||||
@@ -35,6 +35,7 @@ class Log
|
||||
friend class ACE_Singleton<Log, ACE_Thread_Mutex>;
|
||||
|
||||
typedef UNORDERED_MAP<std::string, Logger> LoggerMap;
|
||||
typedef UNORDERED_MAP<std::string, Logger const*> CachedLoggerContainer;
|
||||
|
||||
private:
|
||||
Log();
|
||||
@@ -43,7 +44,7 @@ class Log
|
||||
public:
|
||||
void LoadFromConfig();
|
||||
void Close();
|
||||
bool ShouldLog(std::string const& type, LogLevel level) const;
|
||||
bool ShouldLog(std::string const& type, LogLevel level);
|
||||
bool SetLogLevel(std::string const& name, char const* level, bool isLogger = true);
|
||||
|
||||
void outMessage(std::string const& f, LogLevel level, char const* str, ...) ATTR_PRINTF(4, 5);
|
||||
@@ -56,9 +57,9 @@ class Log
|
||||
private:
|
||||
static std::string GetTimestampStr();
|
||||
void vlog(std::string const& f, LogLevel level, char const* str, va_list argptr);
|
||||
void write(LogMessage* msg) const;
|
||||
void write(LogMessage* msg);
|
||||
|
||||
Logger const* GetLoggerByType(std::string const& type) const;
|
||||
Logger const* GetLoggerByType(std::string const& type);
|
||||
Appender* GetAppenderByName(std::string const& name);
|
||||
uint8 NextAppenderId();
|
||||
void CreateAppenderFromConfig(std::string const& name);
|
||||
@@ -68,6 +69,7 @@ class Log
|
||||
|
||||
AppenderMap appenders;
|
||||
LoggerMap loggers;
|
||||
CachedLoggerContainer cachedLoggers;
|
||||
uint8 AppenderId;
|
||||
|
||||
std::string m_logsDir;
|
||||
@@ -76,24 +78,36 @@ class Log
|
||||
LogWorker* worker;
|
||||
};
|
||||
|
||||
inline Logger const* Log::GetLoggerByType(std::string const& type) const
|
||||
inline Logger const* Log::GetLoggerByType(std::string const& originalType)
|
||||
{
|
||||
LoggerMap::const_iterator it = loggers.find(type);
|
||||
if (it != loggers.end())
|
||||
return &(it->second);
|
||||
// Check if already cached
|
||||
CachedLoggerContainer::const_iterator itCached = cachedLoggers.find(originalType);
|
||||
if (itCached != cachedLoggers.end())
|
||||
return itCached->second;
|
||||
|
||||
if (type == LOGGER_ROOT)
|
||||
return NULL;
|
||||
Logger const* logger = NULL;
|
||||
std::string type(originalType);
|
||||
|
||||
std::string parentLogger = LOGGER_ROOT;
|
||||
size_t found = type.find_last_of(".");
|
||||
if (found != std::string::npos)
|
||||
parentLogger = type.substr(0,found);
|
||||
do
|
||||
{
|
||||
// Search for the logger "type.subtype"
|
||||
LoggerMap::const_iterator it = loggers.find(type);
|
||||
if (it == loggers.end())
|
||||
{
|
||||
// Search for the logger "type", if our logger contains '.', otherwise search for LOGGER_ROOT
|
||||
size_t found = type.find_last_of(".");
|
||||
type = found != std::string::npos ? type.substr(0, found) : LOGGER_ROOT;
|
||||
}
|
||||
else
|
||||
logger = &(it->second);
|
||||
}
|
||||
while (!logger);
|
||||
|
||||
return GetLoggerByType(parentLogger);
|
||||
cachedLoggers[type] = logger;
|
||||
return logger;
|
||||
}
|
||||
|
||||
inline bool Log::ShouldLog(std::string const& type, LogLevel level) const
|
||||
inline bool Log::ShouldLog(std::string const& type, LogLevel level)
|
||||
{
|
||||
// TODO: Use cache to store "Type.sub1.sub2": "Type" equivalence, should
|
||||
// Speed up in cases where requesting "Type.sub1.sub2" but only configured
|
||||
@@ -119,7 +133,7 @@ inline void Log::outMessage(std::string const& filter, LogLevel level, const cha
|
||||
|
||||
#define sLog ACE_Singleton<Log, ACE_Thread_Mutex>::instance()
|
||||
|
||||
#if COMPILER != COMPILER_MICROSOFT
|
||||
#if PLATFORM != PLATFORM_WINDOWS
|
||||
#define TC_LOG_MESSAGE_BODY(filterType__, level__, ...) \
|
||||
do { \
|
||||
if (sLog->ShouldLog(filterType__, level__)) \
|
||||
|
||||
Reference in New Issue
Block a user