mirror of
https://github.com/ZhengPeiRu21/mod-individual-progression
synced 2025-11-29 15:38:19 +08:00
AQ war effort progression (#864)
The AQ war effort is now completable and required.
This commit is contained in:
@@ -107,14 +107,14 @@ INSERT INTO `pool_creature` (`guid`, `pool_entry`, `chance`, `description`) VALU
|
|||||||
(@CGUID+133, 15813, 0, 'AQ War Event Silithus Boss');
|
(@CGUID+133, 15813, 0, 'AQ War Event Silithus Boss');
|
||||||
|
|
||||||
-- add Resonating Crystal Formations to Silithus and Darkshore
|
-- add Resonating Crystal Formations to Silithus and Darkshore
|
||||||
DELETE FROM `gameobject` WHERE `guid` IN (@OGUID+11, @OGUID+12, @OGUID+13, @OGUID+14, @OGUID+15, @OGUID+16);
|
DELETE FROM `gameobject` WHERE `guid` BETWEEN @OGUID+101 AND @OGUID+106;
|
||||||
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`) VALUES
|
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`) VALUES
|
||||||
(@OGUID+11, 180810, 1, 0, 0, 1, 1, 6431.208496, 7.873897, 25.929821, 6.005887, 0, 0, 0, 0, 3600, 255, 1, 'gobject_ipp_aqwar', 0),
|
(@OGUID+101, 180810, 1, 0, 0, 1, 1, 6431.208496, 7.873897, 25.929821, 6.005887, 0, 0, 0, 0, 3600, 255, 1, 'gobject_ipp_aqwar', 0),
|
||||||
(@OGUID+12, 180810, 1, 0, 0, 1, 1, 5070.317383, 106.293625, 42.326523, 3.869612, 0, 0, 0, 0, 3600, 255, 1, 'gobject_ipp_aqwar', 0),
|
(@OGUID+102, 180810, 1, 0, 0, 1, 1, 5070.317383, 106.293625, 42.326523, 3.869612, 0, 0, 0, 0, 3600, 255, 1, 'gobject_ipp_aqwar', 0),
|
||||||
(@OGUID+13, 180810, 1, 0, 0, 1, 1, 4370.228027, 540.763245, 59.281170, 6.165329, 0, 0, 0, 0, 3600, 255, 1, 'gobject_ipp_aqwar', 0),
|
(@OGUID+103, 180810, 1, 0, 0, 1, 1, 4370.228027, 540.763245, 59.281170, 6.165329, 0, 0, 0, 0, 3600, 255, 1, 'gobject_ipp_aqwar', 0),
|
||||||
(@OGUID+14, 180810, 1, 0, 0, 1, 1, -7648.079590, 1426.084717, 2.876715, 3.538846, 0, 0, 0, 0, 3600, 255, 1, 'gobject_ipp_aqwar', 0),
|
(@OGUID+104, 180810, 1, 0, 0, 1, 1, -7648.079590, 1426.084717, 2.876715, 3.538846, 0, 0, 0, 0, 3600, 255, 1, 'gobject_ipp_aqwar', 0),
|
||||||
(@OGUID+15, 180810, 1, 0, 0, 1, 1, -7831.400879, 857.148376, -4.281037, 1.477178, 0, 0, 0, 0, 3600, 255, 1, 'gobject_ipp_aqwar', 0),
|
(@OGUID+105, 180810, 1, 0, 0, 1, 1, -7831.400879, 857.148376, -4.281037, 1.477178, 0, 0, 0, 0, 3600, 255, 1, 'gobject_ipp_aqwar', 0),
|
||||||
(@OGUID+16, 180810, 1, 0, 0, 1, 1, -6317.880371, 738.097473, 9.361129, 2.939591, 0, 0, 0, 0, 3600, 255, 1, 'gobject_ipp_aqwar', 0);
|
(@OGUID+106, 180810, 1, 0, 0, 1, 1, -6317.880371, 738.097473, 9.361129, 2.939591, 0, 0, 0, 0, 3600, 255, 1, 'gobject_ipp_aqwar', 0);
|
||||||
|
|
||||||
-- set Resonating Crystal Formations to 'Not selectable'
|
-- set Resonating Crystal Formations to 'Not selectable'
|
||||||
UPDATE `gameobject_template_addon` SET `flags` = 16 WHERE `entry` = 180810;
|
UPDATE `gameobject_template_addon` SET `flags` = 16 WHERE `entry` = 180810;
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ INSERT INTO `creature` (`guid`, `id1`, `id2`, `id3`, `map`, `zoneId`, `areaId`,
|
|||||||
(@CGUID+2,15431,0,0,0,0,0,1,1,1,-4915.32,-1220.84,501.658,4.07551,300,0,0,14355,0,0,0,0,0,'',0),
|
(@CGUID+2,15431,0,0,0,0,0,1,1,1,-4915.32,-1220.84,501.658,4.07551,300,0,0,14355,0,0,0,0,0,'',0),
|
||||||
(@CGUID+3,15432,0,0,0,0,0,1,1,0,-4913.26,-1222.67,501.654,4.02445,300,0,0,15260,0,0,0,0,0,'',0),
|
(@CGUID+3,15432,0,0,0,0,0,1,1,0,-4913.26,-1222.67,501.654,4.02445,300,0,0,15260,0,0,0,0,0,'',0),
|
||||||
(@CGUID+4,15434,0,0,0,0,0,1,1,1,-4946.99,-1281.73,501.675,0.977894,300,0,0,13495,0,0,0,0,0,'',0),
|
(@CGUID+4,15434,0,0,0,0,0,1,1,1,-4946.99,-1281.73,501.675,0.977894,300,0,0,13495,0,0,0,0,0,'',0),
|
||||||
(@CGUID+5,15437,0,0,0,0,0,1,1,1,-4942.68,-1284.58,501.674,1.52846,300,0,0,14355,0,0,0,0,0,'',0),
|
(@CGUID+5,15437,0,0,0,0,0,1,1,1,-4940.91,-1282.46,501.672,1.63836,300,0,0,14355,0,0,0,0,0,'',0),
|
||||||
(@CGUID+6,15445,0,0,0,0,0,1,1,1,-4944.6,-1283.01,501.674,1.29677,300,0,0,15260,0,0,0,0,0,'',0),
|
(@CGUID+6,15445,0,0,0,0,0,1,1,1,-4944.6,-1283.01,501.674,1.29677,300,0,0,15260,0,0,0,0,0,'',0),
|
||||||
(@CGUID+7,15446,0,0,0,0,0,1,1,1,-4959.54,-1176.73,501.66,3.66733,300,0,0,13495,0,0,0,0,0,'',0),
|
(@CGUID+7,15446,0,0,0,0,0,1,1,1,-4959.54,-1176.73,501.66,3.66733,300,0,0,13495,0,0,0,0,0,'',0),
|
||||||
(@CGUID+8,15448,0,0,0,0,0,1,1,1,-4960.88,-1175.1,501.66,3.82756,300,0,0,14355,0,0,0,0,0,'',0),
|
(@CGUID+8,15448,0,0,0,0,0,1,1,1,-4960.88,-1175.1,501.66,3.82756,300,0,0,14355,0,0,0,0,0,'',0),
|
||||||
@@ -45,13 +45,13 @@ INSERT INTO `creature` (`guid`, `id1`, `id2`, `id3`, `map`, `zoneId`, `areaId`,
|
|||||||
(@CGUID+32,15733,0,0,0,0,0,1,1,0,-4936.65,-1209.73,501.658,3.95796,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0),
|
(@CGUID+32,15733,0,0,0,0,0,1,1,0,-4936.65,-1209.73,501.658,3.95796,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0),
|
||||||
(@CGUID+33,15734,0,0,0,0,0,1,1,0,-4943.13,-1204.78,501.658,4.62712,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0),
|
(@CGUID+33,15734,0,0,0,0,0,1,1,0,-4943.13,-1204.78,501.658,4.62712,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0),
|
||||||
(@CGUID+34,15735,0,0,0,0,0,1,1,0,-4936.06,-1214.82,501.639,3.21465,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0),
|
(@CGUID+34,15735,0,0,0,0,0,1,1,0,-4936.06,-1214.82,501.639,3.21465,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0),
|
||||||
(@CGUID+35,21969,0,0,0,0,0,1,1,0,-4946.71,-1206.24,501.658,5.19933,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0),
|
-- (@CGUID+35,21969,0,0,0,0,0,1,1,0,-4946.71,-1206.24,501.658,5.19933,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0), -- Exodar Commendation Officer
|
||||||
-- Horde Commendation Npcs
|
-- Horde Commendation Npcs
|
||||||
(@CGUID+36,15736,0,0,1,0,0,1,1,0,1592.17,-4097.91,34.9759,6.25645,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0),
|
(@CGUID+36,15736,0,0,1,0,0,1,1,0,1592.17,-4097.91,34.9759,6.25645,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0),
|
||||||
(@CGUID+37,15737,0,0,1,0,0,1,1,0,1595.6,-4091.94,35.8097,5.20323,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0),
|
(@CGUID+37,15737,0,0,1,0,0,1,1,0,1595.6,-4091.94,35.8097,5.20323,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0),
|
||||||
(@CGUID+38,15738,0,0,1,0,0,1,1,0,1598.27,-4090.5,35.8736,5.13568,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0),
|
(@CGUID+38,15738,0,0,1,0,0,1,1,0,1598.27,-4090.5,35.8736,5.13568,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0),
|
||||||
(@CGUID+39,15739,0,0,1,0,0,1,1,0,1592.84,-4094.01,35.6404,5.82527,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0),
|
(@CGUID+39,15739,0,0,1,0,0,1,1,0,1592.84,-4094.01,35.6404,5.82527,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0),
|
||||||
(@CGUID+40,21968,0,0,1,0,0,1,1,0,1601.01,-4091.87,35.5195,4.52778,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0),
|
(@CGUID+40,21968,0,0,1,0,0,1,1,0,1601.01,-4091.87,35.5195,4.52778,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0), -- Silvermoon City Commendation Officer
|
||||||
-- After AQ phase, the commendation Npcs move to their respective cities until the end of WotLK expansion, allows players to use up their marks if they have any after AQ
|
-- After AQ phase, the commendation Npcs move to their respective cities until the end of WotLK expansion, allows players to use up their marks if they have any after AQ
|
||||||
-- Post AQ Alliance Commendation Npcs
|
-- Post AQ Alliance Commendation Npcs
|
||||||
(@CGUID+41,15731,0,0,1,0,0,1,1,0,9949.44,2497.12,1317.629,4.7139,300,0,0,2614,0,0,0,0,0,'npc_ipp_naxx40',0),
|
(@CGUID+41,15731,0,0,1,0,0,1,1,0,9949.44,2497.12,1317.629,4.7139,300,0,0,2614,0,0,0,0,0,'npc_ipp_naxx40',0),
|
||||||
@@ -149,20 +149,109 @@ UPDATE `creature_template` SET `ScriptName` = 'npc_ipp_we' WHERE `entry` IN
|
|||||||
15528, 15529, 15532, 15533, 15534, 15535, 15700, 15701, 15702, 15703, 15704, 15707, 15708, 15709, 21155, 21156);
|
15528, 15529, 15532, 15533, 15534, 15535, 15700, 15701, 15702, 15703, 15704, 15707, 15708, 15709, 21155, 21156);
|
||||||
|
|
||||||
-- Phase AQ War Effort Objects
|
-- Phase AQ War Effort Objects
|
||||||
DELETE FROM `gameobject` WHERE `guid` BETWEEN @OGUID+1 AND @OGUID+9;
|
DELETE FROM `gameobject` WHERE `guid` BETWEEN @OGUID+1 AND @OGUID+20;
|
||||||
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`,
|
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`,
|
||||||
`rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`, `Comment`) VALUES
|
`rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`, `Comment`) VALUES
|
||||||
-- Horde
|
-- Horde
|
||||||
(@OGUID+1, 180812, 1, 0, 0, 1, 1, 1590.82, -4155.33, 36.2926, 3.7001, 0, 0, -0.961261, 0.27564, 180, 100, 1, 'gobject_ipp_we', 0, NULL), -- skins
|
(@OGUID+1, 180812, 1, 0, 0, 1, 1, 1590.82, -4155.33, 36.2926, 3.7001, 0, 0, -0.961261, 0.27564, 180, 100, 1, 'gobject_ipp_leather_stage_0', 0, NULL),
|
||||||
(@OGUID+2, 180818, 1, 0, 0, 1, 1, 1637.11, -4147.21, 36.0414, 3.73501, 0, 0, -0.956305, 0.292372, 180, 100, 1, 'gobject_ipp_we', 0, NULL), -- herbs
|
(@OGUID+2, 180818, 1, 0, 0, 1, 1, 1637.11, -4147.21, 36.0414, 3.73501, 0, 0, -0.956305, 0.292372, 180, 100, 1, 'gobject_ipp_herbs_stage_0', 0, NULL),
|
||||||
(@OGUID+3, 180826, 1, 0, 0, 1, 1, 1579.35, -4109.25, 34.5417, 3.75246, 0, 0, -0.953716, 0.300708, 180, 100, 1, 'gobject_ipp_we', 0, NULL), -- bandages
|
(@OGUID+3, 180826, 1, 0, 0, 1, 1, 1579.35, -4109.25, 34.5417, 3.75246, 0, 0, -0.953716, 0.300708, 180, 100, 1, 'gobject_ipp_bandages_stage_0', 0, NULL),
|
||||||
(@OGUID+4, 180832, 1, 0, 0, 1, 1, 1619.83, -4092.43, 34.5107, 3.7001, 0, 0, -0.961261, 0.27564, 180, 100, 1, 'gobject_ipp_we', 0, NULL), -- cooking
|
(@OGUID+4, 180832, 1, 0, 0, 1, 1, 1619.83, -4092.43, 34.5107, 3.7001, 0, 0, -0.961261, 0.27564, 180, 100, 1, 'gobject_ipp_food_stage_0', 0, NULL),
|
||||||
(@OGUID+5, 180838, 1, 0, 0, 1, 1, 1683.11, -4134.35, 39.5419, 3.71755, 0, 0, -0.958819, 0.284016, 180, 100, 1, 'gobject_ipp_we', 0, NULL), -- bars
|
(@OGUID+5, 180838, 1, 0, 0, 1, 1, 1683.11, -4134.35, 39.5419, 3.71755, 0, 0, -0.958819, 0.284016, 180, 100, 1, 'gobject_ipp_bars_stage_0', 0, NULL),
|
||||||
|
(@OGUID+6, 180813, 1, 0, 0, 1, 1, 1590.88, -4155.33, 36.298, 3.68265, 0, 0, -0.961261, 0.27564, 180, 100, 1, 'gobject_ipp_leather_stage_1', 0, NULL),
|
||||||
|
(@OGUID+7, 180819, 1, 0, 0, 1, 1, 1637.1, -4147.25, 36.0531, 3.73501, 0, 0, -0.956305, 0.292372, 180, 100, 1, 'gobject_ipp_herbs_stage_1', 0, NULL),
|
||||||
|
(@OGUID+8, 180827, 1, 0, 0, 1, 1, 1579.33, -4109.25, 34.5487, 3.71755, 0, 0, -0.953716, 0.300708, 180, 100, 1, 'gobject_ipp_bandages_stage_1', 0, NULL),
|
||||||
|
(@OGUID+9, 180833, 1, 0, 0, 1, 1, 1619.8, -4092.53, 34.4888, 3.7001, 0, 0, -0.961261, 0.27564, 180, 100, 1, 'gobject_ipp_food_stage_1', 0, NULL),
|
||||||
|
(@OGUID+10, 180839, 1, 0, 0, 1, 1, 1683.1, -4134.31, 39.539, 3.73501, 0, 0, -0.958819, 0.284016, 180, 100, 1, 'gobject_ipp_bars_stage_1', 0, NULL),
|
||||||
-- Alliance
|
-- Alliance
|
||||||
(@OGUID+6, 180598, 0, 0, 0, 1, 1, -4971.55, -1148.57, 501.648, 2.28638, 0, 0, 0.909961, 0.414693, 180, 100, 1, 'gobject_ipp_we', 0, NULL), -- bandages
|
(@OGUID+11, 180598, 0, 0, 0, 1, 1, -4971.55, -1148.57, 501.648, 2.28638, 0, 0, 0.909961, 0.414693, 180, 100, 1, 'gobject_ipp_bandages_stage_0', 0, NULL),
|
||||||
(@OGUID+7, 180681, 0, 0, 0, 1, 1, -4958.51, -1179.32, 501.659, 2.26893, 0, 0, 0.906308, 0.422618, 180, 100, 1, 'gobject_ipp_we', 0, NULL), -- skins
|
(@OGUID+12, 180681, 0, 0, 0, 1, 1, -4958.51, -1179.32, 501.659, 2.26893, 0, 0, 0.906308, 0.422618, 180, 100, 1, 'gobject_ipp_leather_stage_0', 0, NULL),
|
||||||
(@OGUID+8, 180680, 0, 0, 0, 1, 1, -4913.85, -1226, 501.651, 2.25148, 0, 0, 0.902585, 0.430511, 180, 100, 1, 'gobject_ipp_we', 0, NULL), -- bars
|
(@OGUID+13, 180680, 0, 0, 0, 1, 1, -4913.85, -1226, 501.651, 2.25148, 0, 0, 0.902585, 0.430511, 180, 100, 1, 'gobject_ipp_bars_stage_0', 0, NULL),
|
||||||
(@OGUID+9, 180679, 0, 0, 0, 1, 1, -4937.29, -1282.74, 501.672, 2.26893, 0, 0, 0.906308, 0.422618, 180, 100, 1, 'gobject_ipp_we', 0, NULL); -- cooking and herbs
|
(@OGUID+14, 180679, 0, 0, 0, 1, 1, -4937.29, -1282.74, 501.672, 2.26893, 0, 0, 0.906308, 0.422618, 180, 100, 1, 'gobject_ipp_food_stage_0', 0, NULL),
|
||||||
|
(@OGUID+16, 180674, 0, 0, 0, 1, 1, -4968.33, -1152.89, 501.925, 2.26893, 0, 0, 0.909961, 0.414693, 180, 100, 1, 'gobject_ipp_bandages_stage_1', 0, NULL),
|
||||||
|
(@OGUID+17, 180692, 0, 0, 0, 1, 1, -4958.51, -1179.32, 501.659, 2.26893, 0, 0, 0.906308, 0.422618, 180, 100, 1, 'gobject_ipp_leather_stage_1', 0, NULL),
|
||||||
|
(@OGUID+18, 180780, 0, 0, 0, 1, 1, -4913.73, -1225.95, 501.651, 2.26893, 0, 0, 0.902585, 0.430511, 180, 100, 1, 'gobject_ipp_bars_stage_1', 0, NULL),
|
||||||
|
(@OGUID+19, 180800, 0, 0, 0, 1, 1, -4937.28, -1282.87, 501.672, 2.25147, 0, 0, 0.906308, 0.422618, 180, 100, 1, 'gobject_ipp_food_stage_1', 0, NULL),
|
||||||
|
(@OGUID+20, 180801, 0, 0, 0, 1, 1, -4935.58, -1284.82, 501.671, 2.25147, 0, 0, 0.906308, 0.422618, 180, 100, 1, 'gobject_ipp_herbs_stage_1', 0, NULL);
|
||||||
|
|
||||||
|
|
||||||
|
-- New 'Complete the War Effort' quest.
|
||||||
|
DELETE FROM `quest_template` WHERE `ID` IN (108850, 108855);
|
||||||
|
INSERT INTO `quest_template` (`ID`, `QuestType`, `QuestLevel`, `MinLevel`, `QuestSortID`, `QuestInfoID`, `SuggestedGroupNum`, `RequiredFactionId1`, `RequiredFactionId2`, `RequiredFactionValue1`, `RequiredFactionValue2`, `RewardNextQuest`, `RewardXPDifficulty`, `RewardMoney`, `RewardMoneyDifficulty`, `RewardDisplaySpell`, `RewardSpell`, `RewardHonor`, `RewardKillHonor`,
|
||||||
|
`StartItem`, `Flags`, `RequiredPlayerKills`, `RewardItem1`, `RewardAmount1`, `RewardItem2`, `RewardAmount2`, `RewardItem3`, `RewardAmount3`, `RewardItem4`, `RewardAmount4`, `ItemDrop1`, `ItemDropQuantity1`, `ItemDrop2`, `ItemDropQuantity2`, `ItemDrop3`, `ItemDropQuantity3`, `ItemDrop4`, `ItemDropQuantity4`,
|
||||||
|
`RewardChoiceItemID1`, `RewardChoiceItemQuantity1`, `RewardChoiceItemID2`, `RewardChoiceItemQuantity2`, `RewardChoiceItemID3`, `RewardChoiceItemQuantity3`, `RewardChoiceItemID4`, `RewardChoiceItemQuantity4`, `RewardChoiceItemID5`, `RewardChoiceItemQuantity5`, `RewardChoiceItemID6`, `RewardChoiceItemQuantity6`,
|
||||||
|
`POIContinent`, `POIx`, `POIy`, `POIPriority`, `RewardTitle`, `RewardTalents`, `RewardArenaPoints`, `RewardFactionID1`, `RewardFactionValue1`, `RewardFactionOverride1`, `RewardFactionID2`, `RewardFactionValue2`, `RewardFactionOverride2`, `RewardFactionID3`, `RewardFactionValue3`, `RewardFactionOverride3`, `RewardFactionID4`, `RewardFactionValue4`, `RewardFactionOverride4`, `RewardFactionID5`, `RewardFactionValue5`, `RewardFactionOverride5`,
|
||||||
|
`TimeAllowed`, `AllowableRaces`, `LogTitle`, `LogDescription`, `QuestDescription`, `AreaDescription`, `QuestCompletionLog`, `RequiredNpcOrGo1`, `RequiredNpcOrGo2`, `RequiredNpcOrGo3`, `RequiredNpcOrGo4`, `RequiredNpcOrGoCount1`, `RequiredNpcOrGoCount2`, `RequiredNpcOrGoCount3`, `RequiredNpcOrGoCount4`, `RequiredItemId1`, `RequiredItemId2`, `RequiredItemId3`, `RequiredItemId4`, `RequiredItemId5`, `RequiredItemId6`,
|
||||||
|
`RequiredItemCount1`, `RequiredItemCount2`, `RequiredItemCount3`, `RequiredItemCount4`, `RequiredItemCount5`, `RequiredItemCount6`, `Unknown0`, `ObjectiveText1`, `ObjectiveText2`, `ObjectiveText3`, `ObjectiveText4`, `VerifiedBuild`) VALUES
|
||||||
|
--
|
||||||
|
(108850, 0, 60, 50, -365, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21513, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1101, 'Complete the War Effort', '', '', NULL, 'Return to Field Marshal Snowfall in Ironforge.', 0, 0, 0, 0, 0, 0, 0, 0, 21436, 0, 0, 0, 0, 0, 1000, 0, 0, 0, 0, 0, 0, '', '', '', '', 0),
|
||||||
|
(108855, 0, 60, 50, -365, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21513, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 690, 'Complete the War Effort', '', '', NULL, 'Return to Warlord Gorchuk in Orgrimmar.', 0, 0, 0, 0, 0, 0, 0, 0, 21438, 0, 0, 0, 0, 0, 1000, 0, 0, 0, 0, 0, 0, '', '', '', '', 0);
|
||||||
|
|
||||||
|
DELETE FROM `quest_offer_reward` WHERE `ID` IN (108850, 108855);
|
||||||
|
INSERT INTO `quest_offer_reward` (`ID`, `Emote1`, `Emote2`, `Emote3`, `Emote4`, `EmoteDelay1`, `EmoteDelay2`, `EmoteDelay3`, `EmoteDelay4`, `RewardText`, `VerifiedBuild`) VALUES
|
||||||
|
(108850, 0, 0, 0, 0, 0, 0, 0, 0, 'You are such a selfless person. Thank you very much for your contribution to the war effort. It\'s people like you that are going to make the difference between success and failure at Ahn\'Qiraj. I just hope that all of this will be enough.$B$BThanks again, $N.', 0),
|
||||||
|
(108855, 0, 0, 0, 0, 0, 0, 0, 0, 'You are such a selfless person. Thank you very much for your contribution to the war effort. It\'s people like you that are going to make the difference between success and failure at Ahn\'Qiraj. I just hope that all of this will be enough.$B$BThanks again, $N.', 0);
|
||||||
|
|
||||||
|
DELETE FROM `quest_template_addon` WHERE `ID` IN (108850, 108855);
|
||||||
|
INSERT INTO `quest_template_addon` (`ID`, `MaxLevel`, `AllowableClasses`, `SourceSpellID`, `PrevQuestID`, `NextQuestID`, `ExclusiveGroup`, `RewardMailTemplateID`, `RewardMailDelay`,
|
||||||
|
`RequiredSkillID`, `RequiredSkillPoints`, `RequiredMinRepFaction`, `RequiredMaxRepFaction`, `RequiredMinRepValue`, `RequiredMaxRepValue`, `ProvidedItemCount`, `SpecialFlags`) VALUES
|
||||||
|
(108850, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
(108855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||||
|
|
||||||
|
DELETE FROM `creature_queststarter` WHERE `id` = 15700 AND `quest` = 108855;
|
||||||
|
DELETE FROM `creature_queststarter` WHERE `id` = 15701 AND `quest` = 108850;
|
||||||
|
INSERT INTO `creature_queststarter` (`id`, `quest`) VALUES
|
||||||
|
(15700, 108855),
|
||||||
|
(15701, 108850);
|
||||||
|
|
||||||
|
DELETE FROM `creature_questender` WHERE `id` = 15700 AND `quest` = 108855;
|
||||||
|
DELETE FROM `creature_questender` WHERE `id` = 15701 AND `quest` = 108850;
|
||||||
|
INSERT INTO `creature_questender` (`id`, `quest`) VALUES
|
||||||
|
(15700, 108855),
|
||||||
|
(15701, 108850);
|
||||||
|
|
||||||
|
-- Hide 'Complete the War Effort' quests until the player has completed all collection quests at least once
|
||||||
|
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 19 AND `ConditionTypeOrReference` = 8 AND `SourceEntry` IN (8286, 108743, 108850, 108855);
|
||||||
|
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`,
|
||||||
|
`ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||||
|
--
|
||||||
|
(19, 0, 108743, 0, 0, 8, 0, 108850, 0, 0, 0, 0, 0, '', 'Quest \'Simply Bang a Gong!\' requires the \'Complete the War Effort\' quest to be completed'),
|
||||||
|
(19, 0, 108743, 0, 1, 8, 0, 108855, 0, 0, 0, 0, 0, '', 'Quest \'Simply Bang a Gong!\' requires the \'Complete the War Effort\' quest to be completed'),
|
||||||
|
(19, 0, 8286, 0, 0, 8, 0, 108850, 0, 0, 0, 0, 0, '', 'Quest \'What Tomorrow Brings\' requires the \'Complete the War Effort\' quest to be completed'),
|
||||||
|
(19, 0, 8286, 0, 1, 8, 0, 108855, 0, 0, 0, 0, 0, '', 'Quest \'What Tomorrow Brings\' requires the \'Complete the War Effort\' quest to be completed'),
|
||||||
|
-- Alliance
|
||||||
|
(19, 0, 108850, 0, 0, 8, 0, 8492, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_COPPER_BARS_A'),
|
||||||
|
(19, 0, 108850, 0, 0, 8, 0, 8494, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_IRON_BARS'),
|
||||||
|
(19, 0, 108850, 0, 0, 8, 0, 8499, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_THORIUM_BARS'),
|
||||||
|
(19, 0, 108850, 0, 0, 8, 0, 8503, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_STRANGLEKELP'),
|
||||||
|
(19, 0, 108850, 0, 0, 8, 0, 8505, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_PURPLE_LOTUS_A'),
|
||||||
|
(19, 0, 108850, 0, 0, 8, 0, 8509, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_ARTHAS_TEARS'),
|
||||||
|
(19, 0, 108850, 0, 0, 8, 0, 8511, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_LIGHT_LEATHER'),
|
||||||
|
(19, 0, 108850, 0, 0, 8, 0, 8513, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_MEDIUM_LEATHER'),
|
||||||
|
(19, 0, 108850, 0, 0, 8, 0, 8515, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_THICK_LEATHER_A'),
|
||||||
|
(19, 0, 108850, 0, 0, 8, 0, 8517, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_LINEN_BANDAGES'),
|
||||||
|
(19, 0, 108850, 0, 0, 8, 0, 8520, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_SILK_BANDAGES'),
|
||||||
|
(19, 0, 108850, 0, 0, 8, 0, 8522, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_RUNECLOTH_BANDAGES_A'),
|
||||||
|
(19, 0, 108850, 0, 0, 8, 0, 8524, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_RAINBOW_FIN'),
|
||||||
|
(19, 0, 108850, 0, 0, 8, 0, 8526, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_ROAST_RAPTOR'),
|
||||||
|
(19, 0, 108850, 0, 0, 8, 0, 8528, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_SPOTTED_YELLOWTAIL_A'),
|
||||||
|
-- Horde
|
||||||
|
(19, 0, 108855, 0, 0, 8, 0, 8532, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_COPPER_BARS_H'),
|
||||||
|
(19, 0, 108855, 0, 0, 8, 0, 8542, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_TIN_BARS'),
|
||||||
|
(19, 0, 108855, 0, 0, 8, 0, 8545, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_MITHRIL_BARS'),
|
||||||
|
(19, 0, 108855, 0, 0, 8, 0, 8549, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_PEACEBLOOM'),
|
||||||
|
(19, 0, 108855, 0, 0, 8, 0, 8580, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_FIREBLOOM'),
|
||||||
|
(19, 0, 108855, 0, 0, 8, 0, 8582, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_PURPLE_LOTUS_H'),
|
||||||
|
(19, 0, 108855, 0, 0, 8, 0, 8588, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_HEAVY_LEATHER'),
|
||||||
|
(19, 0, 108855, 0, 0, 8, 0, 8590, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_THICK_LEATHER_H'),
|
||||||
|
(19, 0, 108855, 0, 0, 8, 0, 8600, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_RUGGED_LEATHER'),
|
||||||
|
(19, 0, 108855, 0, 0, 8, 0, 8604, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_WOOL_BANDAGES'),
|
||||||
|
(19, 0, 108855, 0, 0, 8, 0, 8607, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_MAGEWEAVE_BANDAGES'),
|
||||||
|
(19, 0, 108855, 0, 0, 8, 0, 8609, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_RUNECLOTH_BANDAGES_H'),
|
||||||
|
(19, 0, 108855, 0, 0, 8, 0, 8611, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_LEAN_WOLF_STEAK'),
|
||||||
|
(19, 0, 108855, 0, 0, 8, 0, 8613, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_SPOTTED_YELLOWTAIL_H'),
|
||||||
|
(19, 0, 108855, 0, 0, 8, 0, 8615, 0, 0, 0, 0, 0, '', 'Quest \'Complete the War Effort\' requires QUEST_BAKED_SALMON');
|
||||||
|
|
||||||
|
|
||||||
-- Alliance CompletionText fixes
|
-- Alliance CompletionText fixes
|
||||||
UPDATE `quest_request_items` SET `CompletionText` = 'I do so hope that you have been successful in gathering the thorium bars that we spoke of earlier.' WHERE `ID` = 8499;
|
UPDATE `quest_request_items` SET `CompletionText` = 'I do so hope that you have been successful in gathering the thorium bars that we spoke of earlier.' WHERE `ID` = 8499;
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ enum ProgressionBossIDs
|
|||||||
LICH_KING = 36597,
|
LICH_KING = 36597,
|
||||||
HALION = 39863,
|
HALION = 39863,
|
||||||
RHAHK_ZOR = 644,
|
RHAHK_ZOR = 644,
|
||||||
SNEED = 643,
|
SNEED = 643,
|
||||||
GILNID = 1763
|
GILNID = 1763
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -77,6 +77,42 @@ enum ProgressionQuestIDs
|
|||||||
CHAOS_AND_DESTRUCTION = 108744
|
CHAOS_AND_DESTRUCTION = 108744
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum WarEffortQuestIDs
|
||||||
|
{
|
||||||
|
// alliance
|
||||||
|
QUEST_COPPER_BARS_A = 8492,
|
||||||
|
QUEST_IRON_BARS = 8494,
|
||||||
|
QUEST_THORIUM_BARS = 8499,
|
||||||
|
QUEST_STRANGLEKELP = 8503,
|
||||||
|
QUEST_PURPLE_LOTUS_A = 8505,
|
||||||
|
QUEST_ARTHAS_TEARS = 8509,
|
||||||
|
QUEST_LIGHT_LEATHER = 8511,
|
||||||
|
QUEST_MEDIUM_LEATHER = 8513,
|
||||||
|
QUEST_THICK_LEATHER_A = 8515,
|
||||||
|
QUEST_LINEN_BANDAGES = 8517,
|
||||||
|
QUEST_SILK_BANDAGES = 8520,
|
||||||
|
QUEST_RUNECLOTH_BANDAGES_A = 8522,
|
||||||
|
QUEST_RAINBOW_FIN = 8524,
|
||||||
|
QUEST_ROAST_RAPTOR = 8526,
|
||||||
|
QUEST_SPOTTED_YELLOWTAIL_A = 8528,
|
||||||
|
// horde
|
||||||
|
QUEST_COPPER_BARS_H = 8532,
|
||||||
|
QUEST_TIN_BARS = 8542,
|
||||||
|
QUEST_MITHRIL_BARS = 8545,
|
||||||
|
QUEST_PEACEBLOOM = 8549,
|
||||||
|
QUEST_FIREBLOOM = 8580,
|
||||||
|
QUEST_PURPLE_LOTUS_H = 8582,
|
||||||
|
QUEST_HEAVY_LEATHER = 8588,
|
||||||
|
QUEST_THICK_LEATHER_H = 8590,
|
||||||
|
QUEST_RUGGED_LEATHER = 8600,
|
||||||
|
QUEST_WOOL_BANDAGES = 8604,
|
||||||
|
QUEST_MAGEWEAVE_BANDAGES = 8607,
|
||||||
|
QUEST_RUNECLOTH_BANDAGES_H = 8609,
|
||||||
|
QUEST_LEAN_WOLF_STEAK = 8611,
|
||||||
|
QUEST_SPOTTED_YELLOWTAIL_H = 8613,
|
||||||
|
QUEST_BAKED_SALMON = 8615
|
||||||
|
};
|
||||||
|
|
||||||
enum ProgressionAchievements
|
enum ProgressionAchievements
|
||||||
{
|
{
|
||||||
KEL_THUZAD_40_KILL = 533,
|
KEL_THUZAD_40_KILL = 533,
|
||||||
@@ -368,7 +404,7 @@ public:
|
|||||||
void AwardEarnedVanillaPvpTitles(Player* player);
|
void AwardEarnedVanillaPvpTitles(Player* player);
|
||||||
static void LoadCustomProgressionEntries(const std::string& customProgressionString);
|
static void LoadCustomProgressionEntries(const std::string& customProgressionString);
|
||||||
static void RemovePlayerAchievement(uint16 playerGUID, uint16 achievementId);
|
static void RemovePlayerAchievement(uint16 playerGUID, uint16 achievementId);
|
||||||
static void AdjustStats(Player* player, float computedPowerAdjustment, float computedHealthAdjustment);
|
static void AdjustStats(Player* player, float computedPowerAdjustment, float computedHealthAdjustment);
|
||||||
static float ComputeVanillaAdjustment(uint8 playerLevel, float configAdjustmentValue);
|
static float ComputeVanillaAdjustment(uint8 playerLevel, float configAdjustmentValue);
|
||||||
static uint8 GetAccountProgression(uint32 accountId);
|
static uint8 GetAccountProgression(uint32 accountId);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -27,41 +27,6 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class gobject_ipp_we : public GameObjectScript
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
gobject_ipp_we() : GameObjectScript("gobject_ipp_we") { }
|
|
||||||
|
|
||||||
struct gobject_ipp_weAI: GameObjectAI
|
|
||||||
{
|
|
||||||
explicit gobject_ipp_weAI(GameObject* object) : GameObjectAI(object) { };
|
|
||||||
|
|
||||||
bool CanBeSeen(Player const* player) override
|
|
||||||
{
|
|
||||||
if (player->IsGameMaster() || !sIndividualProgression->enabled)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
Player* target = ObjectAccessor::FindConnectedPlayer(player->GetGUID());
|
|
||||||
|
|
||||||
if (sIndividualProgression->hasPassedProgression(target, PROGRESSION_PRE_AQ))
|
|
||||||
{
|
|
||||||
return sIndividualProgression->isBeforeProgression(target, PROGRESSION_PRE_AQ);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return sIndividualProgression->hasPassedProgression(target, PROGRESSION_BLACKWING_LAIR);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
GameObjectAI* GetAI(GameObject* object) const override
|
|
||||||
{
|
|
||||||
return new gobject_ipp_weAI(object);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
class gobject_ipp_aqwar : public GameObjectScript
|
class gobject_ipp_aqwar : public GameObjectScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -73,7 +38,7 @@ public:
|
|||||||
|
|
||||||
bool CanBeSeen(Player const* player) override
|
bool CanBeSeen(Player const* player) override
|
||||||
{
|
{
|
||||||
if (player->IsGameMaster() || !sIndividualProgression->enabled)
|
if (player->IsGameMaster())
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -777,7 +742,6 @@ public:
|
|||||||
void AddSC_mod_individual_progression_awareness()
|
void AddSC_mod_individual_progression_awareness()
|
||||||
{
|
{
|
||||||
new gobject_ipp_preaq(); // Wanted poster Cenarion Hold
|
new gobject_ipp_preaq(); // Wanted poster Cenarion Hold
|
||||||
new gobject_ipp_we(); // War Effort supplies in cities
|
|
||||||
new gobject_ipp_aqwar(); // AQ war crystals
|
new gobject_ipp_aqwar(); // AQ war crystals
|
||||||
new gobject_ipp_si(); // Scourge Invasion
|
new gobject_ipp_si(); // Scourge Invasion
|
||||||
new gobject_ipp_naxx40();
|
new gobject_ipp_naxx40();
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ void AddSC_custom_gameobjects_40();
|
|||||||
void AddSC_custom_scripts_40();
|
void AddSC_custom_scripts_40();
|
||||||
void AddSC_Ipp_Wotlk_Modded_Scripts();
|
void AddSC_Ipp_Wotlk_Modded_Scripts();
|
||||||
void AddSC_aq_scripts();
|
void AddSC_aq_scripts();
|
||||||
|
void AddSC_aq_we_scripts();
|
||||||
void AddSC_cot_scripts();
|
void AddSC_cot_scripts();
|
||||||
void AddSC_misc_scripts();
|
void AddSC_misc_scripts();
|
||||||
void AddSC_ipp_spell_scripts();
|
void AddSC_ipp_spell_scripts();
|
||||||
@@ -82,6 +83,7 @@ void Addmod_individual_progressionScripts()
|
|||||||
AddSC_custom_scripts_40();
|
AddSC_custom_scripts_40();
|
||||||
AddSC_Ipp_Wotlk_Modded_Scripts();
|
AddSC_Ipp_Wotlk_Modded_Scripts();
|
||||||
AddSC_aq_scripts();
|
AddSC_aq_scripts();
|
||||||
|
AddSC_aq_we_scripts();
|
||||||
AddSC_cot_scripts();
|
AddSC_cot_scripts();
|
||||||
AddSC_misc_scripts();
|
AddSC_misc_scripts();
|
||||||
AddSC_ipp_spell_scripts();
|
AddSC_ipp_spell_scripts();
|
||||||
|
|||||||
403
src/vanillaScripts/aq_we_scripts.cpp
Normal file
403
src/vanillaScripts/aq_we_scripts.cpp
Normal file
@@ -0,0 +1,403 @@
|
|||||||
|
#include "IndividualProgression.h"
|
||||||
|
#include "WorldState.h"
|
||||||
|
|
||||||
|
|
||||||
|
class gobject_ipp_leather_stage_0 : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
gobject_ipp_leather_stage_0() : GameObjectScript("gobject_ipp_leather_stage_0") { }
|
||||||
|
|
||||||
|
struct gobject_ipp_leather_stage_0AI: GameObjectAI
|
||||||
|
{
|
||||||
|
explicit gobject_ipp_leather_stage_0AI(GameObject* object) : GameObjectAI(object) { };
|
||||||
|
|
||||||
|
bool CanBeSeen(Player const* player) override
|
||||||
|
{
|
||||||
|
Player* target = ObjectAccessor::FindConnectedPlayer(player->GetGUID());
|
||||||
|
|
||||||
|
if (sIndividualProgression->hasPassedProgression(target, PROGRESSION_PRE_AQ))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (sIndividualProgression->hasPassedProgression(target, PROGRESSION_BLACKWING_LAIR))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
GameObjectAI* GetAI(GameObject* object) const override
|
||||||
|
{
|
||||||
|
return new gobject_ipp_leather_stage_0AI(object);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class gobject_ipp_leather_stage_1 : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
gobject_ipp_leather_stage_1() : GameObjectScript("gobject_ipp_leather_stage_1") { }
|
||||||
|
|
||||||
|
struct gobject_ipp_leather_stage_1AI: GameObjectAI
|
||||||
|
{
|
||||||
|
explicit gobject_ipp_leather_stage_1AI(GameObject* object) : GameObjectAI(object) { };
|
||||||
|
|
||||||
|
bool CanBeSeen(Player const* player) override
|
||||||
|
{
|
||||||
|
Player* target = ObjectAccessor::FindConnectedPlayer(player->GetGUID());
|
||||||
|
|
||||||
|
if (sIndividualProgression->hasPassedProgression(target, PROGRESSION_PRE_AQ))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (sIndividualProgression->hasPassedProgression(target, PROGRESSION_BLACKWING_LAIR))
|
||||||
|
{
|
||||||
|
uint8 leatherQuests = 0;
|
||||||
|
|
||||||
|
if (((player->GetQuestStatus(QUEST_LIGHT_LEATHER) == QUEST_STATUS_REWARDED) &&
|
||||||
|
(player->GetQuestStatus(QUEST_MEDIUM_LEATHER) == QUEST_STATUS_REWARDED) &&
|
||||||
|
(player->GetQuestStatus(QUEST_THICK_LEATHER_A) == QUEST_STATUS_REWARDED)) ||
|
||||||
|
((player->GetQuestStatus(QUEST_THICK_LEATHER_H) == QUEST_STATUS_REWARDED) &&
|
||||||
|
(player->GetQuestStatus(QUEST_RUGGED_LEATHER) == QUEST_STATUS_REWARDED) &&
|
||||||
|
(player->GetQuestStatus(QUEST_HEAVY_LEATHER) == QUEST_STATUS_REWARDED)))
|
||||||
|
{
|
||||||
|
leatherQuests = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (leatherQuests == 1)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
GameObjectAI* GetAI(GameObject* object) const override
|
||||||
|
{
|
||||||
|
return new gobject_ipp_leather_stage_1AI(object);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class gobject_ipp_herbs_stage_0 : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
gobject_ipp_herbs_stage_0() : GameObjectScript("gobject_ipp_herbs_stage_0") { }
|
||||||
|
|
||||||
|
struct gobject_ipp_herbs_stage_0AI: GameObjectAI
|
||||||
|
{
|
||||||
|
explicit gobject_ipp_herbs_stage_0AI(GameObject* object) : GameObjectAI(object) { };
|
||||||
|
|
||||||
|
bool CanBeSeen(Player const* player) override
|
||||||
|
{
|
||||||
|
Player* target = ObjectAccessor::FindConnectedPlayer(player->GetGUID());
|
||||||
|
|
||||||
|
if (sIndividualProgression->hasPassedProgression(target, PROGRESSION_PRE_AQ))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (sIndividualProgression->hasPassedProgression(target, PROGRESSION_BLACKWING_LAIR))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
GameObjectAI* GetAI(GameObject* object) const override
|
||||||
|
{
|
||||||
|
return new gobject_ipp_herbs_stage_0AI(object);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class gobject_ipp_herbs_stage_1 : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
gobject_ipp_herbs_stage_1() : GameObjectScript("gobject_ipp_herbs_stage_1") { }
|
||||||
|
|
||||||
|
struct gobject_ipp_herbs_stage_1AI: GameObjectAI
|
||||||
|
{
|
||||||
|
explicit gobject_ipp_herbs_stage_1AI(GameObject* object) : GameObjectAI(object) { };
|
||||||
|
|
||||||
|
bool CanBeSeen(Player const* player) override
|
||||||
|
{
|
||||||
|
Player* target = ObjectAccessor::FindConnectedPlayer(player->GetGUID());
|
||||||
|
|
||||||
|
if (sIndividualProgression->hasPassedProgression(target, PROGRESSION_PRE_AQ))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (sIndividualProgression->hasPassedProgression(target, PROGRESSION_BLACKWING_LAIR))
|
||||||
|
{
|
||||||
|
uint8 herbQuests = 0;
|
||||||
|
|
||||||
|
if (((player->GetQuestStatus(QUEST_STRANGLEKELP) == QUEST_STATUS_REWARDED) &&
|
||||||
|
(player->GetQuestStatus(QUEST_ARTHAS_TEARS) == QUEST_STATUS_REWARDED) &&
|
||||||
|
(player->GetQuestStatus(QUEST_PURPLE_LOTUS_A) == QUEST_STATUS_REWARDED)) ||
|
||||||
|
((player->GetQuestStatus(QUEST_PEACEBLOOM) == QUEST_STATUS_REWARDED) &&
|
||||||
|
(player->GetQuestStatus(QUEST_FIREBLOOM) == QUEST_STATUS_REWARDED) &&
|
||||||
|
(player->GetQuestStatus(QUEST_PURPLE_LOTUS_H) == QUEST_STATUS_REWARDED)))
|
||||||
|
{
|
||||||
|
herbQuests = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (herbQuests == 1)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
GameObjectAI* GetAI(GameObject* object) const override
|
||||||
|
{
|
||||||
|
return new gobject_ipp_herbs_stage_1AI(object);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class gobject_ipp_bars_stage_0 : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
gobject_ipp_bars_stage_0() : GameObjectScript("gobject_ipp_bars_stage_0") { }
|
||||||
|
|
||||||
|
struct gobject_ipp_bars_stage_0AI: GameObjectAI
|
||||||
|
{
|
||||||
|
explicit gobject_ipp_bars_stage_0AI(GameObject* object) : GameObjectAI(object) { };
|
||||||
|
|
||||||
|
bool CanBeSeen(Player const* player) override
|
||||||
|
{
|
||||||
|
Player* target = ObjectAccessor::FindConnectedPlayer(player->GetGUID());
|
||||||
|
|
||||||
|
if (sIndividualProgression->hasPassedProgression(target, PROGRESSION_PRE_AQ))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (sIndividualProgression->hasPassedProgression(target, PROGRESSION_BLACKWING_LAIR))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
GameObjectAI* GetAI(GameObject* object) const override
|
||||||
|
{
|
||||||
|
return new gobject_ipp_bars_stage_0AI(object);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class gobject_ipp_bars_stage_1 : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
gobject_ipp_bars_stage_1() : GameObjectScript("gobject_ipp_bars_stage_1") { }
|
||||||
|
|
||||||
|
struct gobject_ipp_bars_stage_1AI: GameObjectAI
|
||||||
|
{
|
||||||
|
explicit gobject_ipp_bars_stage_1AI(GameObject* object) : GameObjectAI(object) { };
|
||||||
|
|
||||||
|
bool CanBeSeen(Player const* player) override
|
||||||
|
{
|
||||||
|
Player* target = ObjectAccessor::FindConnectedPlayer(player->GetGUID());
|
||||||
|
|
||||||
|
if (sIndividualProgression->hasPassedProgression(target, PROGRESSION_PRE_AQ))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (sIndividualProgression->hasPassedProgression(target, PROGRESSION_BLACKWING_LAIR))
|
||||||
|
{
|
||||||
|
uint8 barQuests = 0;
|
||||||
|
|
||||||
|
if (((player->GetQuestStatus(QUEST_COPPER_BARS_A) == QUEST_STATUS_REWARDED) &&
|
||||||
|
(player->GetQuestStatus(QUEST_IRON_BARS) == QUEST_STATUS_REWARDED) &&
|
||||||
|
(player->GetQuestStatus(QUEST_THORIUM_BARS) == QUEST_STATUS_REWARDED)) ||
|
||||||
|
((player->GetQuestStatus(QUEST_COPPER_BARS_H) == QUEST_STATUS_REWARDED) &&
|
||||||
|
(player->GetQuestStatus(QUEST_TIN_BARS) == QUEST_STATUS_REWARDED) &&
|
||||||
|
(player->GetQuestStatus(QUEST_MITHRIL_BARS) == QUEST_STATUS_REWARDED)))
|
||||||
|
{
|
||||||
|
barQuests = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (barQuests == 1)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
GameObjectAI* GetAI(GameObject* object) const override
|
||||||
|
{
|
||||||
|
return new gobject_ipp_bars_stage_1AI(object);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class gobject_ipp_food_stage_0 : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
gobject_ipp_food_stage_0() : GameObjectScript("gobject_ipp_food_stage_0") { }
|
||||||
|
|
||||||
|
struct gobject_ipp_food_stage_0AI: GameObjectAI
|
||||||
|
{
|
||||||
|
explicit gobject_ipp_food_stage_0AI(GameObject* object) : GameObjectAI(object) { };
|
||||||
|
|
||||||
|
bool CanBeSeen(Player const* player) override
|
||||||
|
{
|
||||||
|
Player* target = ObjectAccessor::FindConnectedPlayer(player->GetGUID());
|
||||||
|
|
||||||
|
if (sIndividualProgression->hasPassedProgression(target, PROGRESSION_PRE_AQ))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (sIndividualProgression->hasPassedProgression(target, PROGRESSION_BLACKWING_LAIR))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
GameObjectAI* GetAI(GameObject* object) const override
|
||||||
|
{
|
||||||
|
return new gobject_ipp_food_stage_0AI(object);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class gobject_ipp_food_stage_1 : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
gobject_ipp_food_stage_1() : GameObjectScript("gobject_ipp_food_stage_1") { }
|
||||||
|
|
||||||
|
struct gobject_ipp_food_stage_1AI: GameObjectAI
|
||||||
|
{
|
||||||
|
explicit gobject_ipp_food_stage_1AI(GameObject* object) : GameObjectAI(object) { };
|
||||||
|
|
||||||
|
bool CanBeSeen(Player const* player) override
|
||||||
|
{
|
||||||
|
Player* target = ObjectAccessor::FindConnectedPlayer(player->GetGUID());
|
||||||
|
|
||||||
|
if (sIndividualProgression->hasPassedProgression(target, PROGRESSION_PRE_AQ))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (sIndividualProgression->hasPassedProgression(target, PROGRESSION_BLACKWING_LAIR))
|
||||||
|
{
|
||||||
|
uint8 foodQuests = 0;
|
||||||
|
|
||||||
|
if (((player->GetQuestStatus(QUEST_RAINBOW_FIN) == QUEST_STATUS_REWARDED) &&
|
||||||
|
(player->GetQuestStatus(QUEST_ROAST_RAPTOR) == QUEST_STATUS_REWARDED) &&
|
||||||
|
(player->GetQuestStatus(QUEST_SPOTTED_YELLOWTAIL_A) == QUEST_STATUS_REWARDED)) ||
|
||||||
|
((player->GetQuestStatus(QUEST_LEAN_WOLF_STEAK) == QUEST_STATUS_REWARDED) &&
|
||||||
|
(player->GetQuestStatus(QUEST_SPOTTED_YELLOWTAIL_H) == QUEST_STATUS_REWARDED) &&
|
||||||
|
(player->GetQuestStatus(QUEST_BAKED_SALMON) == QUEST_STATUS_REWARDED)))
|
||||||
|
{
|
||||||
|
foodQuests = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (foodQuests == 1)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
GameObjectAI* GetAI(GameObject* object) const override
|
||||||
|
{
|
||||||
|
return new gobject_ipp_food_stage_1AI(object);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class gobject_ipp_bandages_stage_0 : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
gobject_ipp_bandages_stage_0() : GameObjectScript("gobject_ipp_bandages_stage_0") { }
|
||||||
|
|
||||||
|
struct gobject_ipp_bandages_stage_0AI: GameObjectAI
|
||||||
|
{
|
||||||
|
explicit gobject_ipp_bandages_stage_0AI(GameObject* object) : GameObjectAI(object) { };
|
||||||
|
|
||||||
|
bool CanBeSeen(Player const* player) override
|
||||||
|
{
|
||||||
|
Player* target = ObjectAccessor::FindConnectedPlayer(player->GetGUID());
|
||||||
|
|
||||||
|
if (sIndividualProgression->hasPassedProgression(target, PROGRESSION_PRE_AQ))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (sIndividualProgression->hasPassedProgression(target, PROGRESSION_BLACKWING_LAIR))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
GameObjectAI* GetAI(GameObject* object) const override
|
||||||
|
{
|
||||||
|
return new gobject_ipp_bandages_stage_0AI(object);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class gobject_ipp_bandages_stage_1 : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
gobject_ipp_bandages_stage_1() : GameObjectScript("gobject_ipp_bandages_stage_1") { }
|
||||||
|
|
||||||
|
struct gobject_ipp_bandages_stage_1AI: GameObjectAI
|
||||||
|
{
|
||||||
|
explicit gobject_ipp_bandages_stage_1AI(GameObject* object) : GameObjectAI(object) { };
|
||||||
|
|
||||||
|
bool CanBeSeen(Player const* player) override
|
||||||
|
{
|
||||||
|
Player* target = ObjectAccessor::FindConnectedPlayer(player->GetGUID());
|
||||||
|
|
||||||
|
if (sIndividualProgression->hasPassedProgression(target, PROGRESSION_PRE_AQ))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (sIndividualProgression->hasPassedProgression(target, PROGRESSION_BLACKWING_LAIR))
|
||||||
|
{
|
||||||
|
uint8 bandagesQuests = 0;
|
||||||
|
|
||||||
|
if (((player->GetQuestStatus(QUEST_LINEN_BANDAGES) == QUEST_STATUS_REWARDED) &&
|
||||||
|
(player->GetQuestStatus(QUEST_SILK_BANDAGES) == QUEST_STATUS_REWARDED) &&
|
||||||
|
(player->GetQuestStatus(QUEST_RUNECLOTH_BANDAGES_A) == QUEST_STATUS_REWARDED)) ||
|
||||||
|
((player->GetQuestStatus(QUEST_WOOL_BANDAGES) == QUEST_STATUS_REWARDED) &&
|
||||||
|
(player->GetQuestStatus(QUEST_MAGEWEAVE_BANDAGES) == QUEST_STATUS_REWARDED) &&
|
||||||
|
(player->GetQuestStatus(QUEST_RUNECLOTH_BANDAGES_H) == QUEST_STATUS_REWARDED)))
|
||||||
|
{
|
||||||
|
bandagesQuests = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bandagesQuests == 1)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
GameObjectAI* GetAI(GameObject* object) const override
|
||||||
|
{
|
||||||
|
return new gobject_ipp_bandages_stage_1AI(object);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
void AddSC_aq_we_scripts()
|
||||||
|
{
|
||||||
|
new gobject_ipp_leather_stage_0();
|
||||||
|
new gobject_ipp_leather_stage_1();
|
||||||
|
new gobject_ipp_herbs_stage_0();
|
||||||
|
new gobject_ipp_herbs_stage_1();
|
||||||
|
new gobject_ipp_bars_stage_0();
|
||||||
|
new gobject_ipp_bars_stage_1();
|
||||||
|
new gobject_ipp_food_stage_0();
|
||||||
|
new gobject_ipp_food_stage_1();
|
||||||
|
new gobject_ipp_bandages_stage_0();
|
||||||
|
new gobject_ipp_bandages_stage_1();
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user