misc
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
|
||||
-- Murloc Mania (55122 / 59929) collects First Aid Kit 170549, the kit that "drops from Murloc
|
||||
-- Watershapers and Murloc Spearhunters at the Murloc Hideaway". Item 168410 is the other kit with
|
||||
-- the same name: it is handed out by Emergency First Aid to bandage the three survivors and is not
|
||||
-- a drop, so looting it did nothing for the quest.
|
||||
DELETE FROM `creature_loot_template` WHERE `Item` IN (168410, 170549) AND `Entry` IN (150228, 150229);
|
||||
INSERT INTO `creature_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES
|
||||
(150228, 0, 170549, 100, 1, 1, 0, 1, 1, 'Murloc Spearhunter - First Aid Kit'),
|
||||
(150229, 0, 170549, 100, 1, 1, 0, 1, 1, 'Murloc Watershaper - First Aid Kit');
|
||||
|
||||
DELETE FROM `creature_questitem` WHERE (`CreatureEntry`, `ItemId`) IN ((150228, 170549), (150229, 170549));
|
||||
INSERT INTO `creature_questitem` (`CreatureEntry`, `DifficultyID`, `Idx`, `ItemId`, `VerifiedBuild`)
|
||||
SELECT 150228, 0, IFNULL(`x`.`nextIdx`, 0), 170549, 69875 -- Murloc Spearhunter
|
||||
FROM (SELECT MAX(`Idx`) + 1 AS `nextIdx` FROM `creature_questitem` WHERE `CreatureEntry` = 150228 AND `DifficultyID` = 0) `x`;
|
||||
INSERT INTO `creature_questitem` (`CreatureEntry`, `DifficultyID`, `Idx`, `ItemId`, `VerifiedBuild`)
|
||||
SELECT 150229, 0, IFNULL(`x`.`nextIdx`, 0), 170549, 69875 -- Murloc Watershaper
|
||||
FROM (SELECT MAX(`Idx`) + 1 AS `nextIdx` FROM `creature_questitem` WHERE `CreatureEntry` = 150229 AND `DifficultyID` = 0) `x`;
|
||||
|
||||
-- Controlling their Stones (55990 / 59981) needs the three ward stones. The wiki has one page per
|
||||
-- stone and each names its ogre: Jugnug drops 168599, Wug drops 168600, Grunk drops 168601.
|
||||
-- Nothing dropped them here, so the runestone never accepted the player: the gameobject script
|
||||
-- checks all three items before it gives the credit. Both the citadel ogres and the cooking-area
|
||||
-- copies the script summons carry the loot, so the quest works whichever version is up.
|
||||
DELETE FROM `creature_loot_template` WHERE `Item` IN (168599, 168600, 168601)
|
||||
AND `Entry` IN (153581, 153582, 153583, 154145, 154146, 154147);
|
||||
INSERT INTO `creature_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES
|
||||
(153583, 0, 168599, 100, 1, 1, 0, 1, 1, 'Jugnug - Ward Stone'),
|
||||
(153582, 0, 168600, 100, 1, 1, 0, 1, 1, 'Wug - Ward Stone'),
|
||||
(153581, 0, 168601, 100, 1, 1, 0, 1, 1, 'Grunk - Ward Stone'),
|
||||
(154147, 0, 168599, 100, 1, 1, 0, 1, 1, 'Jugnug (cooking area) - Ward Stone'),
|
||||
(154146, 0, 168600, 100, 1, 1, 0, 1, 1, 'Wug (cooking area) - Ward Stone'),
|
||||
(154145, 0, 168601, 100, 1, 1, 0, 1, 1, 'Grunk (cooking area) - Ward Stone');
|
||||
|
||||
DELETE FROM `creature_questitem` WHERE (`CreatureEntry`, `ItemId`) IN ((153583, 168599), (153582, 168600), (153581, 168601), (154147, 168599), (154146, 168600), (154145, 168601));
|
||||
INSERT INTO `creature_questitem` (`CreatureEntry`, `DifficultyID`, `Idx`, `ItemId`, `VerifiedBuild`)
|
||||
SELECT 153583, 0, IFNULL(`x`.`nextIdx`, 0), 168599, 69875 -- Jugnug
|
||||
FROM (SELECT MAX(`Idx`) + 1 AS `nextIdx` FROM `creature_questitem` WHERE `CreatureEntry` = 153583 AND `DifficultyID` = 0) `x`;
|
||||
INSERT INTO `creature_questitem` (`CreatureEntry`, `DifficultyID`, `Idx`, `ItemId`, `VerifiedBuild`)
|
||||
SELECT 153582, 0, IFNULL(`x`.`nextIdx`, 0), 168600, 69875 -- Wug
|
||||
FROM (SELECT MAX(`Idx`) + 1 AS `nextIdx` FROM `creature_questitem` WHERE `CreatureEntry` = 153582 AND `DifficultyID` = 0) `x`;
|
||||
INSERT INTO `creature_questitem` (`CreatureEntry`, `DifficultyID`, `Idx`, `ItemId`, `VerifiedBuild`)
|
||||
SELECT 153581, 0, IFNULL(`x`.`nextIdx`, 0), 168601, 69875 -- Grunk
|
||||
FROM (SELECT MAX(`Idx`) + 1 AS `nextIdx` FROM `creature_questitem` WHERE `CreatureEntry` = 153581 AND `DifficultyID` = 0) `x`;
|
||||
INSERT INTO `creature_questitem` (`CreatureEntry`, `DifficultyID`, `Idx`, `ItemId`, `VerifiedBuild`)
|
||||
SELECT 154147, 0, IFNULL(`x`.`nextIdx`, 0), 168599, 69875 -- Jugnug (cooking area)
|
||||
FROM (SELECT MAX(`Idx`) + 1 AS `nextIdx` FROM `creature_questitem` WHERE `CreatureEntry` = 154147 AND `DifficultyID` = 0) `x`;
|
||||
INSERT INTO `creature_questitem` (`CreatureEntry`, `DifficultyID`, `Idx`, `ItemId`, `VerifiedBuild`)
|
||||
SELECT 154146, 0, IFNULL(`x`.`nextIdx`, 0), 168600, 69875 -- Wug (cooking area)
|
||||
FROM (SELECT MAX(`Idx`) + 1 AS `nextIdx` FROM `creature_questitem` WHERE `CreatureEntry` = 154146 AND `DifficultyID` = 0) `x`;
|
||||
INSERT INTO `creature_questitem` (`CreatureEntry`, `DifficultyID`, `Idx`, `ItemId`, `VerifiedBuild`)
|
||||
SELECT 154145, 0, IFNULL(`x`.`nextIdx`, 0), 168601, 69875 -- Grunk (cooking area)
|
||||
FROM (SELECT MAX(`Idx`) + 1 AS `nextIdx` FROM `creature_questitem` WHERE `CreatureEntry` = 154145 AND `DifficultyID` = 0) `x`;
|
||||
|
||||
-- Class quest pickups. The wiki links each item to the object it sits in:
|
||||
-- Veil Blossom 174968 from object 342366 at the Ogre Ruins (A Shaman's Duty)
|
||||
-- Old Grimoire 174947 from objects 342259 and 350998 (A Warlock's Bargain)
|
||||
-- Meredy's Spell Book 175975 from object 346273 (A Mage's Knowledge, Alliance)
|
||||
-- Herbert's Spell Book 178229 from object 351335 (A Mage's Knowledge, Horde)
|
||||
-- Old Spring 175980 from object 346277 at the Ogre Ruins (A Hunter's Trap)
|
||||
-- The item is only added to the loot id the object already carries, and only when that loot does
|
||||
-- not have it yet. An object with no loot id is left alone: inventing one would write into a
|
||||
-- loot table that may belong to something else.
|
||||
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`)
|
||||
SELECT DISTINCT `t`.`Data1`, 0, `m`.`item`, 100, 1, 1, 0, 1, 1, `m`.`comment`
|
||||
FROM (
|
||||
SELECT 342366 AS `object`, 174968 AS `item`, 'Veil Blossom' AS `comment`
|
||||
UNION ALL SELECT 342259, 174947, 'Old Grimoire'
|
||||
UNION ALL SELECT 350998, 174947, 'Old Grimoire'
|
||||
UNION ALL SELECT 346273, 175975, 'Meredy''s Spell Book'
|
||||
UNION ALL SELECT 351335, 178229, 'Herbert''s Spell Book'
|
||||
UNION ALL SELECT 346277, 175980, 'Old Spring'
|
||||
) `m`
|
||||
JOIN `gameobject_template` `t` ON `t`.`entry` = `m`.`object` AND `t`.`type` = 3 AND `t`.`Data1` <> 0
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `gameobject_loot_template` `l` WHERE `l`.`Entry` = `t`.`Data1` AND `l`.`Item` = `m`.`item`
|
||||
);
|
||||
|
||||
DELETE FROM `gameobject_questitem` WHERE (`GameObjectEntry`, `ItemId`) IN ((342366, 174968), (342259, 174947), (350998, 174947), (346273, 175975), (351335, 178229), (346277, 175980));
|
||||
INSERT INTO `gameobject_questitem` (`GameObjectEntry`, `Idx`, `ItemId`, `VerifiedBuild`)
|
||||
SELECT 342366, IFNULL(`x`.`nextIdx`, 0), 174968, 69875 -- Veil Blossom
|
||||
FROM (SELECT MAX(`Idx`) + 1 AS `nextIdx` FROM `gameobject_questitem` WHERE `GameObjectEntry` = 342366) `x`
|
||||
WHERE EXISTS (SELECT 1 FROM `gameobject_template` WHERE `entry` = 342366);
|
||||
INSERT INTO `gameobject_questitem` (`GameObjectEntry`, `Idx`, `ItemId`, `VerifiedBuild`)
|
||||
SELECT 342259, IFNULL(`x`.`nextIdx`, 0), 174947, 69875 -- Old Grimoire
|
||||
FROM (SELECT MAX(`Idx`) + 1 AS `nextIdx` FROM `gameobject_questitem` WHERE `GameObjectEntry` = 342259) `x`
|
||||
WHERE EXISTS (SELECT 1 FROM `gameobject_template` WHERE `entry` = 342259);
|
||||
INSERT INTO `gameobject_questitem` (`GameObjectEntry`, `Idx`, `ItemId`, `VerifiedBuild`)
|
||||
SELECT 350998, IFNULL(`x`.`nextIdx`, 0), 174947, 69875 -- Old Grimoire
|
||||
FROM (SELECT MAX(`Idx`) + 1 AS `nextIdx` FROM `gameobject_questitem` WHERE `GameObjectEntry` = 350998) `x`
|
||||
WHERE EXISTS (SELECT 1 FROM `gameobject_template` WHERE `entry` = 350998);
|
||||
INSERT INTO `gameobject_questitem` (`GameObjectEntry`, `Idx`, `ItemId`, `VerifiedBuild`)
|
||||
SELECT 346273, IFNULL(`x`.`nextIdx`, 0), 175975, 69875 -- Meredy's Spell Book
|
||||
FROM (SELECT MAX(`Idx`) + 1 AS `nextIdx` FROM `gameobject_questitem` WHERE `GameObjectEntry` = 346273) `x`
|
||||
WHERE EXISTS (SELECT 1 FROM `gameobject_template` WHERE `entry` = 346273);
|
||||
INSERT INTO `gameobject_questitem` (`GameObjectEntry`, `Idx`, `ItemId`, `VerifiedBuild`)
|
||||
SELECT 351335, IFNULL(`x`.`nextIdx`, 0), 178229, 69875 -- Herbert's Spell Book
|
||||
FROM (SELECT MAX(`Idx`) + 1 AS `nextIdx` FROM `gameobject_questitem` WHERE `GameObjectEntry` = 351335) `x`
|
||||
WHERE EXISTS (SELECT 1 FROM `gameobject_template` WHERE `entry` = 351335);
|
||||
INSERT INTO `gameobject_questitem` (`GameObjectEntry`, `Idx`, `ItemId`, `VerifiedBuild`)
|
||||
SELECT 346277, IFNULL(`x`.`nextIdx`, 0), 175980, 69875 -- Old Spring
|
||||
FROM (SELECT MAX(`Idx`) + 1 AS `nextIdx` FROM `gameobject_questitem` WHERE `GameObjectEntry` = 346277) `x`
|
||||
WHERE EXISTS (SELECT 1 FROM `gameobject_template` WHERE `entry` = 346277);
|
||||
|
||||
-- Still open: Withering Hemlock 174916 for A Rogue's End. The wiki places the plant by the pond at
|
||||
-- Killclaw's Lair but publishes no object id for it, and Rusted Chain 175981 has the same gap.
|
||||
-- Neither is guessed here.
|
||||
-- Swamplord Musel'ek and his bear Claw in The Underbog. The boss had no script in this core.
|
||||
-- The script file is TrinityCore's boss_swamplord_muselek.cpp, which our tree was missing while
|
||||
-- the other three Underbog bosses were present.
|
||||
UPDATE `creature_template` SET `AIName` = '', `ScriptName` = 'boss_swamplord_muselek' WHERE `entry` = 17826;
|
||||
UPDATE `creature_template` SET `AIName` = '', `ScriptName` = 'npc_claw' WHERE `entry` = 17827;
|
||||
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id` = 31564 AND `ScriptName` = 'spell_swamplord_muselek_move_away_primer';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(31564, 'spell_swamplord_muselek_move_away_primer');
|
||||
Reference in New Issue
Block a user