mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-29 05:11:55 +01:00
Merge remote-tracking branch 'origin/master' into 4.3.4
Conflicts: src/server/scripts/Kalimdor/zone_the_barrens.cpp
This commit is contained in:
25
sql/updates/world/2013_07_15_00_world_gossip.sql
Normal file
25
sql/updates/world/2013_07_15_00_world_gossip.sql
Normal file
@@ -0,0 +1,25 @@
|
||||
-- Add SAI for Sputtervalve <Independent Contractor> Quest 6981
|
||||
UPDATE `creature_template` SET `gossip_menu_id`=21,`ScriptName`='' WHERE `entry`=3442;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=3442 AND `source_type`=0 AND `id`=1;
|
||||
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
|
||||
(3442, 0, 1, 0, 62, 0, 100, 0, 21, 1, 0, 0, 15, 6981, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Sputtervalve - Gossip Option 1 - Complete quest 6981');
|
||||
-- Gossip Menu
|
||||
DELETE FROM `gossip_menu` WHERE `entry`=21199;
|
||||
DELETE FROM `gossip_menu` WHERE `entry` IN (21,22,21340);
|
||||
INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES
|
||||
('21','518'), ('21','519'), ('22','520'), (21340,2013);
|
||||
-- Gossip Options
|
||||
DELETE FROM `gossip_menu_option` WHERE `menu_id`=21;
|
||||
INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`) VALUES
|
||||
(21,0,0, 'How can I help?',1,1,22),
|
||||
(21,1,0, 'Can you tell me about this shard?',1,1,21340);
|
||||
-- Gossip Menu Conditions
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=21;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
|
||||
(15,21,518,0,0,27,0,10,3,0,0,'','Gossip text requires level 10 or higher'),
|
||||
(15,21,519,0,0,27,0,10,2,0,0,'','Gossip text requires lower than level 10');
|
||||
-- Gossip Options Conditions
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=21;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
|
||||
(15,21,0,0,0,27,0,10,3,0,0,'','Gossip Option requires level 10 or higher'),
|
||||
(15,21,1,0,0,9,0,6981,0,0,0,'','Gossip Option requires quest not complete');
|
||||
15
sql/updates/world/2013_07_15_01_world_gossip.sql
Normal file
15
sql/updates/world/2013_07_15_01_world_gossip.sql
Normal file
@@ -0,0 +1,15 @@
|
||||
-- Gossip fixup for Drull and Tog'thar
|
||||
UPDATE `creature_template` SET `gossip_menu_id`=262 WHERE `entry`=2239;
|
||||
DELETE FROM `gossip_menu` WHERE `entry` IN (261,262,263);
|
||||
INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES
|
||||
('261','760'), ('262','759'), ('263','762');
|
||||
-- Gossip Options
|
||||
DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (262,264);
|
||||
INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`) VALUES
|
||||
(262,0,0, 'Where is the key to this lock?',1,1,261),
|
||||
(264,1,0, 'Where is the key to this lock?',1,1,263);
|
||||
-- Gossip Options Conditions
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup` IN (262,264);
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
|
||||
(15,262,0,0,0,9,0,498,0,0,0,'','Gossip Option requires quest not complete'),
|
||||
(15,264,1,0,0,9,0,498,0,0,0,'','Gossip Option requires quest not complete');
|
||||
8
sql/updates/world/2013_07_15_02_world_gossip.sql
Normal file
8
sql/updates/world/2013_07_15_02_world_gossip.sql
Normal file
@@ -0,0 +1,8 @@
|
||||
-- Gossip fixup for Morridune
|
||||
UPDATE `creature_template` SET `gossip_menu_id`=321 WHERE `entry`=6729;
|
||||
DELETE FROM `gossip_menu` WHERE `entry` IN (321);
|
||||
INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES (321,818);
|
||||
-- Gossip Options
|
||||
DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (321);
|
||||
INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`) VALUES
|
||||
(321,0,0, 'Please port me to Darnassus.',1,1,0);
|
||||
37
sql/updates/world/2013_07_15_03_world_gossip.sql
Normal file
37
sql/updates/world/2013_07_15_03_world_gossip.sql
Normal file
@@ -0,0 +1,37 @@
|
||||
-- Gossip fixup for Aleanna Edune
|
||||
UPDATE `creature_template` SET `gossip_menu_id`=361 WHERE `entry`=24734;
|
||||
DELETE FROM `gossip_menu` WHERE `entry` IN (361);
|
||||
INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES (361,838);
|
||||
|
||||
-- Gossip fixup for Marli Wishrunner
|
||||
UPDATE `creature_template` SET `gossip_menu_id`=1421 WHERE `entry`=7773;
|
||||
DELETE FROM `gossip_menu` WHERE `entry` IN (1421);
|
||||
INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES (1421,2053);
|
||||
|
||||
-- Gossip fixup for Kalin Windflight "This guy may be missing a script"
|
||||
UPDATE `creature_template` SET `gossip_menu_id`=1422 WHERE `entry`=7772;
|
||||
DELETE FROM `gossip_menu` WHERE `entry` IN (1422);
|
||||
INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES (1422,2054);
|
||||
-- Gossip Options
|
||||
DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (1422);
|
||||
INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`) VALUES
|
||||
(1422,0,1, 'Can you help me get down?',3,128,0);
|
||||
|
||||
-- Gossip fixup for Henry Stern
|
||||
UPDATE `creature_template` SET `gossip_menu_id`=1443 WHERE `entry`=8696;
|
||||
DELETE FROM `gossip_menu` WHERE `entry` IN (1442,1443,1444,1501,1502);
|
||||
INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES
|
||||
(1442,2115),(1443,2113),(1444,2114),(1501,2173),(1502,2174);
|
||||
-- Gossip Options
|
||||
DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (1443);
|
||||
INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`) VALUES
|
||||
(1443,0,0, 'You can cook? So can I! Is there a recipe you can teach me?',1,1,0),
|
||||
(1443,1,0, 'You''re an alchemist? So am I. Perhaps you can teach me what you know...',1,1,0);
|
||||
|
||||
-- Gossip Options Conditions
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=1443;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
|
||||
(15,1443,0,0,0,7,0,185,0,0,0,0,'','Gossip Option requires cooking skill'),
|
||||
(15,1443,0,0,1,25,0,13028,0,0,1,0,'','Gossip Option requires player not learned spell'),
|
||||
(15,1443,1,0,0,7,0,171,0,0,0,0,'','Gossip Option requires alchemy skill'),
|
||||
(15,1443,1,0,1,25,0,3451,0,0,1,0,'','Gossip Option requires player not learned spell');
|
||||
19
sql/updates/world/2013_07_16_00_world_misc.sql
Normal file
19
sql/updates/world/2013_07_16_00_world_misc.sql
Normal file
@@ -0,0 +1,19 @@
|
||||
-- No longer used as of patch 3.3.0
|
||||
DELETE FROM `areatrigger_teleport` WHERE `id`=4156;
|
||||
|
||||
UPDATE `game_graveyard_zone` SET `faction`=469 WHERE `id`=1308; -- Alliance Only
|
||||
|
||||
DELETE FROM `game_graveyard_zone` WHERE `id`=1309;
|
||||
INSERT INTO `game_graveyard_zone` (`id`, `ghost_zone`, `faction`) VALUES
|
||||
(1309, 3456, 67); -- Dragonblight, Forsaken East GY - Horde Only
|
||||
|
||||
DELETE FROM `gameobject` WHERE `guid` IN (5216, 5222);
|
||||
INSERT INTO `gameobject` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`) VALUES
|
||||
(5216, 202277, 533, 15, 1, 3495.97, -5357.84, 144.9645, 0.5410506, 0, 0, 0, 1, 7200, 255, 1), -- Orb of Naxxramas
|
||||
(5222, 202278, 533, 15, 1, 2997.675, -3437.799, 304.1996, 1.151916, 0, 0, 0, 1, 7200, 255, 1); -- Orb of Naxxramas
|
||||
|
||||
-- Teleportation positions for Orbs from sniff - TODO: add db coords for spell 72613
|
||||
DELETE FROM `spell_target_position` WHERE `id` IN (28444, 72617);
|
||||
INSERT INTO `spell_target_position` (`id`, `target_map`, `target_position_x`, `target_position_y`, `target_position_z`, `target_orientation`) VALUES
|
||||
(28444, 533, 3005.74, -3434.27, 304.196, 0), -- Portal Effect: Deathknight Wing
|
||||
(72617, 533, 3498.22, -5349.36, 144.969, 1.32679); -- Naxxramas Teleport - Sapphiron Entry
|
||||
@@ -31,8 +31,6 @@ enum Spells
|
||||
SPELL_TELEPORT_DARNASSUS = 9268
|
||||
};
|
||||
|
||||
#define GOSSIP_ITEM_MORRIDUNE "Please port me to Darnassus"
|
||||
|
||||
const Position HomePosition = {-815.817f, -145.299f, -25.870f, 0};
|
||||
|
||||
class go_blackfathom_altar : public GameObjectScript
|
||||
@@ -201,32 +199,6 @@ class npc_morridune : public CreatureScript
|
||||
public:
|
||||
npc_morridune() : CreatureScript("npc_morridune") { }
|
||||
|
||||
bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) OVERRIDE
|
||||
{
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
switch (action)
|
||||
{
|
||||
case GOSSIP_ACTION_INFO_DEF + 1:
|
||||
player->TeleportTo(1, 9952.239f, 2284.277f, 1341.394f, 1.595f);
|
||||
player->CLOSE_GOSSIP_MENU();
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
|
||||
{
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_MORRIDUNE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
|
||||
|
||||
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
|
||||
return true;
|
||||
}
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const OVERRIDE
|
||||
{
|
||||
return new npc_morriduneAI(creature);
|
||||
}
|
||||
|
||||
struct npc_morriduneAI : public npc_escortAI
|
||||
{
|
||||
npc_morriduneAI(Creature* creature) : npc_escortAI(creature)
|
||||
@@ -248,7 +220,17 @@ public:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) OVERRIDE
|
||||
{
|
||||
DoCast(player, SPELL_TELEPORT_DARNASSUS);
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const OVERRIDE
|
||||
{
|
||||
return new npc_morriduneAI(creature);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_blackfathom_deeps()
|
||||
|
||||
@@ -39,54 +39,64 @@ EndContentData */
|
||||
|
||||
enum Spells
|
||||
{
|
||||
SPELL_GOLDTHORN_TEA = 13028,
|
||||
SPELL_TEACHING_GOLDTHORN_TEA = 13029,
|
||||
SPELL_MIGHT_TROLLS_BLOOD_POTION = 3451,
|
||||
SPELL_TEACHING_MIGHTY_TROLLS_BLOOD_POTION = 13030,
|
||||
SPELL_TEACHING_MIGHTY_TROLLS_BLOOD_POTION = 13030
|
||||
};
|
||||
|
||||
enum Gossips
|
||||
{
|
||||
GOSSIP_TEXT_TEA_ANSWER = 2114,
|
||||
GOSSIP_TEXT_POTION_ANSWER = 2115,
|
||||
GOSSIP_COOKING_SKILL_HIGH = 1444,
|
||||
GOSSIP_COOKING_SKILL_LOW = 1501,
|
||||
GOSSIP_ALCHEMY_SKILL_HIGH = 1442,
|
||||
GOSSIP_ALCHEMY_SKILL_LOW = 1502
|
||||
};
|
||||
|
||||
#define GOSSIP_ITEM_TEA "Teach me the cooking recipe"
|
||||
#define GOSSIP_ITEM_POTION "Teach me the alchemy recipe"
|
||||
|
||||
class npc_henry_stern : public CreatureScript
|
||||
{
|
||||
public:
|
||||
npc_henry_stern() : CreatureScript("npc_henry_stern") { }
|
||||
|
||||
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
|
||||
struct npc_henry_sternAI : public ScriptedAI
|
||||
{
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
if (action == GOSSIP_ACTION_INFO_DEF + 1)
|
||||
npc_henry_sternAI(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void sGossipSelect(Player* player, uint32 /*sender*/, uint32 action) OVERRIDE
|
||||
{
|
||||
player->CastSpell(player, SPELL_TEACHING_GOLDTHORN_TEA, true);
|
||||
player->SEND_GOSSIP_MENU(GOSSIP_TEXT_TEA_ANSWER, creature->GetGUID());
|
||||
if (action == 0)
|
||||
{
|
||||
if (player->GetBaseSkillValue(SKILL_COOKING) >= 175)
|
||||
{
|
||||
player->PrepareGossipMenu(me, GOSSIP_COOKING_SKILL_HIGH);
|
||||
player->SendPreparedGossip(me);
|
||||
DoCast(player, SPELL_TEACHING_GOLDTHORN_TEA);
|
||||
}
|
||||
else
|
||||
{
|
||||
player->PrepareGossipMenu(me, GOSSIP_COOKING_SKILL_LOW);
|
||||
player->SendPreparedGossip(me);
|
||||
}
|
||||
}
|
||||
|
||||
if (action == 1)
|
||||
{
|
||||
if (player->GetBaseSkillValue(SKILL_ALCHEMY) >= 180)
|
||||
{
|
||||
player->PrepareGossipMenu(me, GOSSIP_ALCHEMY_SKILL_HIGH);
|
||||
player->SendPreparedGossip(me);
|
||||
DoCast(player, SPELL_TEACHING_MIGHTY_TROLLS_BLOOD_POTION);
|
||||
}
|
||||
else
|
||||
{
|
||||
player->PrepareGossipMenu(me, GOSSIP_ALCHEMY_SKILL_LOW);
|
||||
player->SendPreparedGossip(me);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
if (action == GOSSIP_ACTION_INFO_DEF + 2)
|
||||
{
|
||||
player->CastSpell(player, SPELL_TEACHING_MIGHTY_TROLLS_BLOOD_POTION, true);
|
||||
player->SEND_GOSSIP_MENU(GOSSIP_TEXT_POTION_ANSWER, creature->GetGUID());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
|
||||
CreatureAI* GetAI(Creature* creature) const OVERRIDE
|
||||
{
|
||||
if (player->GetBaseSkillValue(SKILL_COOKING) >= 175 && !player->HasSpell(SPELL_GOLDTHORN_TEA))
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_TEA, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
|
||||
|
||||
if (player->GetBaseSkillValue(SKILL_ALCHEMY) >= 180 && !player->HasSpell(SPELL_MIGHT_TROLLS_BLOOD_POTION))
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_POTION, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
|
||||
|
||||
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
|
||||
return true;
|
||||
return new npc_henry_sternAI(creature);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -170,42 +170,6 @@ public:
|
||||
|
||||
};
|
||||
|
||||
/*######
|
||||
## npc_sputtervalve
|
||||
######*/
|
||||
|
||||
#define GOSSIP_SPUTTERVALVE "Can you tell me about this shard?"
|
||||
|
||||
class npc_sputtervalve : public CreatureScript
|
||||
{
|
||||
public:
|
||||
npc_sputtervalve() : CreatureScript("npc_sputtervalve") { }
|
||||
|
||||
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
|
||||
{
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
if (action == GOSSIP_ACTION_INFO_DEF)
|
||||
{
|
||||
player->SEND_GOSSIP_MENU(2013, creature->GetGUID());
|
||||
player->AreaExploredOrEventHappens(6981);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
|
||||
{
|
||||
if (creature->IsQuestGiver())
|
||||
player->PrepareQuestMenu(creature->GetGUID());
|
||||
|
||||
if (player->GetQuestStatus(6981) == QUEST_STATUS_INCOMPLETE)
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SPUTTERVALVE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
|
||||
|
||||
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
|
||||
return true;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/*######
|
||||
## npc_taskmaster_fizzule
|
||||
######*/
|
||||
|
||||
Reference in New Issue
Block a user