From 1af8de1013c364facefaaff9f5e0426b633f5864 Mon Sep 17 00:00:00 2001 From: Malcrom Date: Sun, 18 Dec 2011 16:52:20 +0000 Subject: DB/Gossip: Add missing gossips in Zangarmarsh Closes #4334 --- sql/updates/world/2011_12_18_world_gossip.sql | 42 +++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 sql/updates/world/2011_12_18_world_gossip.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_18_world_gossip.sql b/sql/updates/world/2011_12_18_world_gossip.sql new file mode 100644 index 00000000000..eb76ffe4009 --- /dev/null +++ b/sql/updates/world/2011_12_18_world_gossip.sql @@ -0,0 +1,42 @@ +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=7610 AND `text_id`=9261; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7610,9261); +DELETE FROM `gossip_menu` WHERE `entry`=8249 AND `text_id`=10266; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8249,10266); +DELETE FROM `gossip_menu` WHERE `entry`=7612 AND `text_id`=9263; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7612,9263); +DELETE FROM `gossip_menu` WHERE `entry`=7611 AND `text_id`=9262; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7611,9262); +DELETE FROM `gossip_menu` WHERE `entry`=7588 AND `text_id`=9236; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7588,9236); +DELETE FROM `gossip_menu` WHERE `entry`=7590 AND `text_id`=9238; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7590,9238); +DELETE FROM `gossip_menu` WHERE `entry`=7591 AND `text_id`=9239; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7591,9239); +DELETE FROM `gossip_menu` WHERE `entry`=7589 AND `text_id`=9237; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7589,9237); +DELETE FROM `gossip_menu` WHERE `entry`=7526 AND `text_id`=9128; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7526,9128); +DELETE FROM `gossip_menu` WHERE `entry`=7614 AND `text_id`=9265; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7614,9265); +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=7610 WHERE `entry`=18004; +UPDATE `creature_template` SET `gossip_menu_id`=8249 WHERE `entry`=21172; +UPDATE `creature_template` SET `gossip_menu_id`=7612 WHERE `entry`=18005; +UPDATE `creature_template` SET `gossip_menu_id`=7611 WHERE `entry`=18006; +UPDATE `creature_template` SET `gossip_menu_id`=7588 WHERE `entry`=18010; +UPDATE `creature_template` SET `gossip_menu_id`=7590 WHERE `entry`=18019; +UPDATE `creature_template` SET `gossip_menu_id`=7589 WHERE `entry`=18009; +UPDATE `creature_template` SET `gossip_menu_id`=7614 WHERE `entry`=18003; +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (8249,7612,7611,7588,7590,7589,7495) AND `id`=0; +DELETE FROM `gossip_menu_option` WHERE `menu_id`=7590 AND `id`=1; +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(8249,0,1, 'I want to browse your goods.',3,128,0,0,0,0, ''), +(7612,0,1, 'I wish to buy from you.',3,128,0,0,0,0, ''), +(7611,0,1, 'I would like to buy from you.',3,128,0,0,0,0, ''), +(7588,0,1, 'Show me your wares, Maktu.',3,128,0,0,0,0, ''), +(7590,0,1, 'Let me browse your reagents and poison supplies.',3,128,0,0,0,0, ''), +(7590,1,0, 'Specialist, eh? Just what kind of specialist are you, anyway?',1,1,7591,0,0,0, ''), +(7589,0,1, 'I wish to browse your wares.',3,128,0,0,0,0, ''), +(7495,0,0, 'Watcher Leesa''oh, why are you out here?',1,1,7526,0,0,0, ''); -- cgit v1.2.3 From 3ba5afe8201650f6f49e2f8769fa216211c2796f Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 18 Dec 2011 22:08:02 +0100 Subject: Renamed SQL to meet standards --- sql/updates/world/2011_12_18_01_world_gossip.sql | 42 ++++++++++++++++++++++++ sql/updates/world/2011_12_18_world_gossip.sql | 42 ------------------------ 2 files changed, 42 insertions(+), 42 deletions(-) create mode 100644 sql/updates/world/2011_12_18_01_world_gossip.sql delete mode 100644 sql/updates/world/2011_12_18_world_gossip.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_18_01_world_gossip.sql b/sql/updates/world/2011_12_18_01_world_gossip.sql new file mode 100644 index 00000000000..eb76ffe4009 --- /dev/null +++ b/sql/updates/world/2011_12_18_01_world_gossip.sql @@ -0,0 +1,42 @@ +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=7610 AND `text_id`=9261; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7610,9261); +DELETE FROM `gossip_menu` WHERE `entry`=8249 AND `text_id`=10266; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8249,10266); +DELETE FROM `gossip_menu` WHERE `entry`=7612 AND `text_id`=9263; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7612,9263); +DELETE FROM `gossip_menu` WHERE `entry`=7611 AND `text_id`=9262; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7611,9262); +DELETE FROM `gossip_menu` WHERE `entry`=7588 AND `text_id`=9236; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7588,9236); +DELETE FROM `gossip_menu` WHERE `entry`=7590 AND `text_id`=9238; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7590,9238); +DELETE FROM `gossip_menu` WHERE `entry`=7591 AND `text_id`=9239; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7591,9239); +DELETE FROM `gossip_menu` WHERE `entry`=7589 AND `text_id`=9237; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7589,9237); +DELETE FROM `gossip_menu` WHERE `entry`=7526 AND `text_id`=9128; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7526,9128); +DELETE FROM `gossip_menu` WHERE `entry`=7614 AND `text_id`=9265; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7614,9265); +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=7610 WHERE `entry`=18004; +UPDATE `creature_template` SET `gossip_menu_id`=8249 WHERE `entry`=21172; +UPDATE `creature_template` SET `gossip_menu_id`=7612 WHERE `entry`=18005; +UPDATE `creature_template` SET `gossip_menu_id`=7611 WHERE `entry`=18006; +UPDATE `creature_template` SET `gossip_menu_id`=7588 WHERE `entry`=18010; +UPDATE `creature_template` SET `gossip_menu_id`=7590 WHERE `entry`=18019; +UPDATE `creature_template` SET `gossip_menu_id`=7589 WHERE `entry`=18009; +UPDATE `creature_template` SET `gossip_menu_id`=7614 WHERE `entry`=18003; +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (8249,7612,7611,7588,7590,7589,7495) AND `id`=0; +DELETE FROM `gossip_menu_option` WHERE `menu_id`=7590 AND `id`=1; +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(8249,0,1, 'I want to browse your goods.',3,128,0,0,0,0, ''), +(7612,0,1, 'I wish to buy from you.',3,128,0,0,0,0, ''), +(7611,0,1, 'I would like to buy from you.',3,128,0,0,0,0, ''), +(7588,0,1, 'Show me your wares, Maktu.',3,128,0,0,0,0, ''), +(7590,0,1, 'Let me browse your reagents and poison supplies.',3,128,0,0,0,0, ''), +(7590,1,0, 'Specialist, eh? Just what kind of specialist are you, anyway?',1,1,7591,0,0,0, ''), +(7589,0,1, 'I wish to browse your wares.',3,128,0,0,0,0, ''), +(7495,0,0, 'Watcher Leesa''oh, why are you out here?',1,1,7526,0,0,0, ''); diff --git a/sql/updates/world/2011_12_18_world_gossip.sql b/sql/updates/world/2011_12_18_world_gossip.sql deleted file mode 100644 index eb76ffe4009..00000000000 --- a/sql/updates/world/2011_12_18_world_gossip.sql +++ /dev/null @@ -1,42 +0,0 @@ --- Gossip Menu insert from sniff -DELETE FROM `gossip_menu` WHERE `entry`=7610 AND `text_id`=9261; -INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7610,9261); -DELETE FROM `gossip_menu` WHERE `entry`=8249 AND `text_id`=10266; -INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8249,10266); -DELETE FROM `gossip_menu` WHERE `entry`=7612 AND `text_id`=9263; -INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7612,9263); -DELETE FROM `gossip_menu` WHERE `entry`=7611 AND `text_id`=9262; -INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7611,9262); -DELETE FROM `gossip_menu` WHERE `entry`=7588 AND `text_id`=9236; -INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7588,9236); -DELETE FROM `gossip_menu` WHERE `entry`=7590 AND `text_id`=9238; -INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7590,9238); -DELETE FROM `gossip_menu` WHERE `entry`=7591 AND `text_id`=9239; -INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7591,9239); -DELETE FROM `gossip_menu` WHERE `entry`=7589 AND `text_id`=9237; -INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7589,9237); -DELETE FROM `gossip_menu` WHERE `entry`=7526 AND `text_id`=9128; -INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7526,9128); -DELETE FROM `gossip_menu` WHERE `entry`=7614 AND `text_id`=9265; -INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7614,9265); --- Creature Gossip_menu_id Update from sniff -UPDATE `creature_template` SET `gossip_menu_id`=7610 WHERE `entry`=18004; -UPDATE `creature_template` SET `gossip_menu_id`=8249 WHERE `entry`=21172; -UPDATE `creature_template` SET `gossip_menu_id`=7612 WHERE `entry`=18005; -UPDATE `creature_template` SET `gossip_menu_id`=7611 WHERE `entry`=18006; -UPDATE `creature_template` SET `gossip_menu_id`=7588 WHERE `entry`=18010; -UPDATE `creature_template` SET `gossip_menu_id`=7590 WHERE `entry`=18019; -UPDATE `creature_template` SET `gossip_menu_id`=7589 WHERE `entry`=18009; -UPDATE `creature_template` SET `gossip_menu_id`=7614 WHERE `entry`=18003; --- Creature Gossip_menu_option Update from sniff -DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (8249,7612,7611,7588,7590,7589,7495) AND `id`=0; -DELETE FROM `gossip_menu_option` WHERE `menu_id`=7590 AND `id`=1; -INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES -(8249,0,1, 'I want to browse your goods.',3,128,0,0,0,0, ''), -(7612,0,1, 'I wish to buy from you.',3,128,0,0,0,0, ''), -(7611,0,1, 'I would like to buy from you.',3,128,0,0,0,0, ''), -(7588,0,1, 'Show me your wares, Maktu.',3,128,0,0,0,0, ''), -(7590,0,1, 'Let me browse your reagents and poison supplies.',3,128,0,0,0,0, ''), -(7590,1,0, 'Specialist, eh? Just what kind of specialist are you, anyway?',1,1,7591,0,0,0, ''), -(7589,0,1, 'I wish to browse your wares.',3,128,0,0,0,0, ''), -(7495,0,0, 'Watcher Leesa''oh, why are you out here?',1,1,7526,0,0,0, ''); -- cgit v1.2.3 From b4df932e7184a1ec9987b2592a3df8f6a0b267b2 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 18 Dec 2011 22:09:03 +0100 Subject: Core/Dungeon Finder: Implemented Luck of the Draw buff --- .../2011_12_18_02_world_spell_script_names.sql | 3 ++ src/server/game/Maps/Map.cpp | 8 ++++ src/server/scripts/Spells/spell_generic.cpp | 50 ++++++++++++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 sql/updates/world/2011_12_18_02_world_spell_script_names.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_18_02_world_spell_script_names.sql b/sql/updates/world/2011_12_18_02_world_spell_script_names.sql new file mode 100644 index 00000000000..c5f9a4376df --- /dev/null +++ b/sql/updates/world/2011_12_18_02_world_spell_script_names.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_gen_luck_of_the_draw'; +INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES +(72221,'spell_gen_luck_of_the_draw'); diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 04a5b102a6d..306af9c962a 100755 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -30,6 +30,7 @@ #include "MapManager.h" #include "ObjectMgr.h" #include "Group.h" +#include "LFGMgr.h" union u_map_magic { @@ -2318,6 +2319,13 @@ bool InstanceMap::AddPlayerToMap(Player* player) ASSERT(playerBind->save == mapSave); } } + + if (group && group->isLFGGroup()) + if (uint32 dungeonId = sLFGMgr->GetDungeon(group->GetGUID(), true)) + if (LFGDungeonEntry const* dungeon = sLFGDungeonStore.LookupEntry(dungeonId)) + if (LFGDungeonEntry const* randomDungeon = sLFGDungeonStore.LookupEntry(*(sLFGMgr->GetSelectedDungeons(player->GetGUID()).begin()))) + if (dungeon->map == GetId() && dungeon->difficulty == GetDifficulty() && randomDungeon->type == LFG_TYPE_RANDOM) + player->CastSpell(player, LFG_SPELL_LUCK_OF_THE_DRAW, true); } // for normal instances cancel the reset schedule when the diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 260b0c57563..af558d479a5 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -26,6 +26,8 @@ #include "SpellAuraEffects.h" #include "SkillDiscovery.h" #include "GridNotifiers.h" +#include "Group.h" +#include "LFGMgr.h" class spell_gen_absorb0_hitlimit1 : public SpellScriptLoader { @@ -1419,6 +1421,53 @@ public: } }; +class spell_gen_luck_of_the_draw : public SpellScriptLoader +{ + public: + spell_gen_luck_of_the_draw() : SpellScriptLoader("spell_gen_luck_of_the_draw") { } + + class spell_gen_luck_of_the_draw_AuraScript : public AuraScript + { + PrepareAuraScript(spell_gen_luck_of_the_draw_AuraScript); + + // cheap hax to make it have update calls + void CalcPeriodic(AuraEffect const* /*effect*/, bool& isPeriodic, int32& amplitude) + { + isPeriodic = true; + amplitude = 5 * IN_MILLISECONDS; + } + + void Update(AuraEffect* /*effect*/) + { + if (GetUnitOwner()->GetTypeId() != TYPEID_PLAYER) + return; + + LFGDungeonEntry const* randomDungeon = sLFGDungeonStore.LookupEntry(*(sLFGMgr->GetSelectedDungeons(GetUnitOwner()->GetGUID()).begin())); + Group* group = GetUnitOwner()->ToPlayer()->GetGroup(); + Map const* map = GetUnitOwner()->GetMap(); + if (group && group->isLFGGroup()) + if (uint32 dungeonId = sLFGMgr->GetDungeon(group->GetGUID(), true)) + if (LFGDungeonEntry const* dungeon = sLFGDungeonStore.LookupEntry(dungeonId)) + if (dungeon->map == map->GetId() && dungeon->difficulty == map->GetDifficulty()) + if (randomDungeon && randomDungeon->type == LFG_TYPE_RANDOM) + return; // in correct dungeon + + Remove(AURA_REMOVE_BY_DEFAULT); + } + + void Register() + { + DoEffectCalcPeriodic += AuraEffectCalcPeriodicFn(spell_gen_luck_of_the_draw_AuraScript::CalcPeriodic, EFFECT_0, SPELL_AURA_MOD_DAMAGE_PERCENT_DONE); + OnEffectUpdatePeriodic += AuraEffectUpdatePeriodicFn(spell_gen_luck_of_the_draw_AuraScript::Update, EFFECT_0, SPELL_AURA_MOD_DAMAGE_PERCENT_DONE); + } + }; + + AuraScript* GetAuraScript() const + { + return new spell_gen_luck_of_the_draw_AuraScript(); + } +}; + void AddSC_generic_spell_scripts() { new spell_gen_absorb0_hitlimit1(); @@ -1451,4 +1500,5 @@ void AddSC_generic_spell_scripts() new spell_gen_vehicle_scaling(); new spell_gen_oracle_wolvar_reputation(); new spell_gen_damage_reduction_aura(); + new spell_gen_luck_of_the_draw(); } -- cgit v1.2.3 From 7a2f7b0e6344bd5659d35f6ef50f23656cd68140 Mon Sep 17 00:00:00 2001 From: kaelima Date: Sun, 18 Dec 2011 22:45:23 +0100 Subject: Commands/Npc: Add AIName/ScriptName to npc info Thanks Aokromes for suggestion --- sql/updates/world/2011_12_18_03_world_trinity_string.sql | 3 +++ src/server/game/Miscellaneous/Language.h | 3 ++- src/server/scripts/Commands/cs_npc.cpp | 10 ++++------ 3 files changed, 9 insertions(+), 7 deletions(-) create mode 100644 sql/updates/world/2011_12_18_03_world_trinity_string.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_18_03_world_trinity_string.sql b/sql/updates/world/2011_12_18_03_world_trinity_string.sql new file mode 100644 index 00000000000..d26cc356cff --- /dev/null +++ b/sql/updates/world/2011_12_18_03_world_trinity_string.sql @@ -0,0 +1,3 @@ +DELETE FROM `trinity_string` WHERE `entry`=5031; +INSERT INTO `trinity_string` (`entry`,`content_default`) VALUES +(5031, 'AIName: %s ScriptName: %s'); diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h index a6ff663b302..a5935e1de9f 100755 --- a/src/server/game/Miscellaneous/Language.h +++ b/src/server/game/Miscellaneous/Language.h @@ -946,8 +946,9 @@ enum TrinityStrings LANG_GOINFO_NAME = 5027, LANG_GOINFO_LOOTID = 5028, LANG_COMMAND_LOOKUP_MAX_RESULTS = 5029, - // Room for more Trinity strings 5030-9999 LANG_FLEE = 5030, + LANG_NPCINFO_AIINFO = 5031, + // Room for more Trinity strings 5032-9999 // Level requirement notifications LANG_SAY_REQ = 6604, diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp index b9ac21cc040..a5aa2a516f3 100644 --- a/src/server/scripts/Commands/cs_npc.cpp +++ b/src/server/scripts/Commands/cs_npc.cpp @@ -552,15 +552,13 @@ public: handler->PSendSysMessage(LANG_NPCINFO_PHASEMASK, target->GetPhaseMask()); handler->PSendSysMessage(LANG_NPCINFO_ARMOR, target->GetArmor()); handler->PSendSysMessage(LANG_NPCINFO_POSITION, float(target->GetPositionX()), float(target->GetPositionY()), float(target->GetPositionZ())); + handler->PSendSysMessage(LANG_NPCINFO_AIINFO, target->GetAIName().c_str(), target->GetScriptName().c_str()); - if ((npcflags & UNIT_NPC_FLAG_VENDOR)) - { + if (npcflags & UNIT_NPC_FLAG_VENDOR) handler->SendSysMessage(LANG_NPCINFO_VENDOR); - } - if ((npcflags & UNIT_NPC_FLAG_TRAINER)) - { + + if (npcflags & UNIT_NPC_FLAG_TRAINER) handler->SendSysMessage(LANG_NPCINFO_TRAINER); - } return true; } -- cgit v1.2.3 From b119558ee1d8198ef29ed393badf6e0ad9491de1 Mon Sep 17 00:00:00 2001 From: horn Date: Sun, 18 Dec 2011 23:42:23 +0100 Subject: Core/Dungeon Finder: Fixed LFG rewards in UK, ToCH, CoS and DTK. --- sql/updates/world/2011_12_18_04_world_conditions.sql | 7 +++++++ .../Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp | 8 ++++---- .../CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp | 8 ++++++-- src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp | 3 ++- .../UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp | 4 ++++ 5 files changed, 23 insertions(+), 7 deletions(-) create mode 100644 sql/updates/world/2011_12_18_04_world_conditions.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_18_04_world_conditions.sql b/sql/updates/world/2011_12_18_04_world_conditions.sql new file mode 100644 index 00000000000..a56151a9f8f --- /dev/null +++ b/sql/updates/world/2011_12_18_04_world_conditions.sql @@ -0,0 +1,7 @@ +UPDATE spell_dbc SET EffectImplicitTargetA1 = 22, EffectImplicitTargetB1 = 7 WHERE Id = 58630; + +DELETE FROM conditions WHERE SourceTypeOrReferenceId = 13 AND SourceEntry IN (61863, 68663); +INSERT INTO conditions (SourceTypeOrReferenceId, SourceEntry, ConditionTypeOrReference, ConditionValue1, Comment) VALUES +(13, 61863, 18, 1, 'The Prophet Tharon''ja - Achievement Check'), +(13, 68663, 18, 1, 'The Black Knight - Kill Credit'), +(13, 58630, 18, 1, 'Mal''Ganis - Kill Credit'); diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp index 1a43472365a..798ea3925dc 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp @@ -34,7 +34,8 @@ enum Spells H_SPELL_MIND_BLAST = 58850, SPELL_SLEEP = 52721, //Puts an enemy to sleep for up to 10 sec. Any damage caused will awaken the target. H_SPELL_SLEEP = 58849, - SPELL_VAMPIRIC_TOUCH = 52723 //Heals the caster for half the damage dealt by a melee attack. + SPELL_VAMPIRIC_TOUCH = 52723, //Heals the caster for half the damage dealt by a melee attack. + SPELL_KILL_CREDIT = 58630 // Non-existing spell as encounter credit, created in spell_dbc }; enum Yells @@ -237,9 +238,8 @@ public: { instance->SetData(DATA_MAL_GANIS_EVENT, DONE); - // give achievement credit to players. criteria use spell 58630 which doesn't exist. - if (instance) - instance->DoUpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET, 58630); + // give achievement credit and LFG rewards to players. criteria use spell 58630 which doesn't exist, but it was created in spell_dbc + DoCast(me, SPELL_KILL_CREDIT); } } diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp index fd84c1eec8a..f73e9779248 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp @@ -54,8 +54,10 @@ enum eSpells SPELL_BLACK_KNIGHT_RES = 67693, - SPELL_LEAP = 67749, - SPELL_LEAP_H = 67880 + SPELL_LEAP = 67749, + SPELL_LEAP_H = 67880, + + SPELL_KILL_CREDIT = 68663 }; enum eModels @@ -288,6 +290,8 @@ public: void JustDied(Unit* /*killer*/) { + DoCast(me, SPELL_KILL_CREDIT); + if (instance) instance->SetData(BOSS_BLACK_KNIGHT, DONE); } diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp index e552341fd1e..d877bbd0842 100644 --- a/src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp +++ b/src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp @@ -237,7 +237,8 @@ public: for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i) if (Player* player = i->getSource()) player->DeMorph(); - instance->DoUpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2, SPELL_ACHIEVEMENT_CHECK); + + DoCast(me, SPELL_ACHIEVEMENT_CHECK); instance->SetData(DATA_THARON_JA_EVENT, DONE); } diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp index dc2d34326a7..3712bd748a5 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp @@ -173,7 +173,11 @@ public: DoScriptText(YELL_DEAD_2, me); if (instance) + { + // Ingvar has MOB_INGVAR_UNDEAD id in this moment, so we have to update encounter state for his original id + instance->UpdateEncounterState(ENCOUNTER_CREDIT_KILL_CREATURE, MOB_INGVAR_HUMAN, me); instance->SetData(DATA_INGVAR_EVENT, DONE); + } } void KilledUnit(Unit* /*victim*/) -- cgit v1.2.3 From 72b67c6cc64aeecc9a400bd7d207f2c0bb36d542 Mon Sep 17 00:00:00 2001 From: nelegalno Date: Sun, 18 Dec 2011 21:51:13 +0000 Subject: DB/Misc: Various fixes: - Remove EventAI AIName from npcs without EAI scripts - Spawn Crimson Hammersmith and Black Guard Swordsmith when looting Blacksmithing Plans (Stratholme) - Fix quests Sleeping Giants and Eitrigg's Wisdom - Add SAI script to Tomb Stalker (cast Hemotoxin) - Spawn Grand Apothecary Putress and Apothecary Karlov - Set correct inhabit type for Orca and Scoodles (fixes issues with falling) - Remove wrong restriction from G.N.E.R.D. rage - Correct fishing game events start time Closes #4324 Closes #4243 Closes #3747 Closes #4007 Closes #4236 Closes #4121 Closes #4038 Closes #4009 Closes #4008 Closes #3592 Closes #4338 Closes #4217 Closes #4218 --- .../world/2011_12_14_01_gameobject_template.sql | 1 - .../2011_12_14_01_world_gameobject_template.sql | 1 + sql/updates/world/2011_12_18_04_world_misc.sql | 87 ++++++++++++++++++++++ 3 files changed, 88 insertions(+), 1 deletion(-) delete mode 100644 sql/updates/world/2011_12_14_01_gameobject_template.sql create mode 100644 sql/updates/world/2011_12_14_01_world_gameobject_template.sql create mode 100644 sql/updates/world/2011_12_18_04_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_14_01_gameobject_template.sql b/sql/updates/world/2011_12_14_01_gameobject_template.sql deleted file mode 100644 index 12729afd6b8..00000000000 --- a/sql/updates/world/2011_12_14_01_gameobject_template.sql +++ /dev/null @@ -1 +0,0 @@ -UPDATE `gameobject_template` SET `scriptName` = 'go_ethereal_teleport_pad' WHERE `entry` = 184073; -- Update Ethereal Teleport Pad scriptname \ No newline at end of file diff --git a/sql/updates/world/2011_12_14_01_world_gameobject_template.sql b/sql/updates/world/2011_12_14_01_world_gameobject_template.sql new file mode 100644 index 00000000000..12729afd6b8 --- /dev/null +++ b/sql/updates/world/2011_12_14_01_world_gameobject_template.sql @@ -0,0 +1 @@ +UPDATE `gameobject_template` SET `scriptName` = 'go_ethereal_teleport_pad' WHERE `entry` = 184073; -- Update Ethereal Teleport Pad scriptname \ No newline at end of file diff --git a/sql/updates/world/2011_12_18_04_world_misc.sql b/sql/updates/world/2011_12_18_04_world_misc.sql new file mode 100644 index 00000000000..3404e4f285f --- /dev/null +++ b/sql/updates/world/2011_12_18_04_world_misc.sql @@ -0,0 +1,87 @@ +-- Remove empty EAI Script call from the following entries +UPDATE `creature_template` SET `AIName` = '' WHERE `entry` IN (30243,30632); + +-- Crimson Hammersmith summon from Blacksmithing Plans fix +-- Black Guard Swordsmith summon from Blacksmithing Plans fix +UPDATE `gameobject_template` SET `AIName` = 'SmartGameObjectAI' WHERE `entry` IN (176325, 176327); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (176325, 176327) AND `source_type`=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 +(176325, 1, 0, 0, 64, 0, 100, 1, 0, 0, 0, 0, 12, 11120, 6, 60000, 0, 0, 0, 8, 0, 0, 0, 3585.5, -3000.15, 125, 2.19912, 'Blacksmithing Plans - summon Crimson Hammersmith'), +(176327, 1, 0, 0, 64, 0, 100, 1, 0, 0, 0, 0, 12, 11121, 6, 60000, 0, 0, 0, 8, 0, 0, 0, 3818.4, -3693.32, 144.242, 0.261799, 'Blacksmithing Plans - summon Black Guard Swordsmith'); + +-- Sleeping Giants fix +UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 24669; +DELETE FROM `smart_scripts` WHERE (`entryorguid`=24669 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 +(24669, 0, 0, 1, 8, 0, 100, 0, 44261, 1, 0, 0, 33, 24669, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Dormant Vrykul - Sleeping Giants quest credit'), +(24669, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Dormant Vrykul - Sleeping Giants despawn'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=18 AND `SourceEntry`=34083; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(18, 0, 34083, 0, 24, 1, 24669, 0, 63, '', 'Awakening Rod target limit to Dormant Vrykul'); -- changed to item script by Nay, not tested. + +-- Culling of Stratholme Hemotoxin SAI spell fix version +SET @ENTRY := 28199; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +DELETE FROM `creature_ai_scripts` WHERE (`creature_id`=@ENTRY); +DELETE FROM `smart_scripts` WHERE (`entryorguid`=@ENTRY); +INSERT INTO `smart_scripts` VALUES +(@ENTRY, 0, 0, 0, 9, 0, 25, 2, 0, 20, 5000, 8000, 11, 52522, 32, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Tomb Stalker - Cast Hemotoxin Normal'), +(@ENTRY, 0, 1, 0, 9, 0, 40, 4, 0, 20, 5000, 8000, 11, 58782, 32, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Tomb Stalker - Cast Hemotoxin Heroic'); + +DELETE FROM `creature` WHERE `id` IN (28318, 29346); +INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `modelid`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`) VALUES +(40153, 28318, 530, 1, 1, 0, 0, -1775.148438, 5548.291992, -12.428190, 4.146070, 300, 0, 0, 1, 0, 0, 0, 0, 0), -- Grand Apothecary Putress +(40251, 29346, 530, 1, 1, 0, 0, 1925, -4123.1899, 43.1780, 4.79965, 300, 0, 0, 1, 0, 0, 0, 0, 0); -- Apothecary Karlov + +-- Fix NPCs falling underground when killed by nelegalno +UPDATE `creature_template` SET `InhabitType` = 3 WHERE `entry` IN (5936, 24899); -- Orca and Scoodles + +-- Removes wrong restriction from G.N.E.R.D. rage +DELETE FROM `achievement_criteria_data` WHERE `criteria_id`=3882 AND `type`=16; + +-- Kalu'ak Fishing Derby start time fix +UPDATE `game_event` SET `start_time` = '2011-01-01 13:00:00' WHERE `eventEntry`=63; +UPDATE `game_event` SET `start_time` = '2011-01-01 14:00:00' WHERE `eventEntry`=64; + +-- Stranglethorn Fishing Extravaganza start time fix ( http://old.wowhead.com/event=301 ) +UPDATE `game_event` SET `start_time` = '2011-01-01 14:00:00' WHERE `eventEntry` IN (14, 15, 62); +UPDATE `game_event` SET `description` = 'Stranglethorn Fishing Extravaganza Announce' WHERE `eventEntry`=14; +UPDATE `game_event` SET `description` = 'Stranglethorn Fishing Extravaganza Fishing Pools' WHERE `eventEntry`=15; +UPDATE `game_event` SET `description` = 'Stranglethorn Fishing Extravaganza Turn-ins' WHERE `eventEntry`=62; + +-- Eitrigg's Wisdom fix +SET @GOSSIP = 21312; +SET @NPC = 3144; +SET @QUEST = 4941; +-- Add gossip options for each menu id +DELETE FROM `gossip_menu_option` WHERE `menu_id` BETWEEN @GOSSIP AND @GOSSIP+7; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `box_coded`, `box_money`, `box_text`) VALUES +(@GOSSIP, 0, 0, 'Hello, Eitrigg. I bring news from Blackrock Spire.', 1, 1, @GOSSIP+1, 0, 0, 0, ''), +(@GOSSIP+1, 0, 0, 'There is only one Warchief, Eitrigg!', 1, 1, @GOSSIP+2, 0, 0, 0, ''), +(@GOSSIP+2, 0, 0, 'What do you mean?', 1, 1, @GOSSIP+3, 0, 0, 0, ''), +(@GOSSIP+3, 0, 0, 'Hearthglen? But...', 1, 1, @GOSSIP+4, 0, 0, 0, ''), +(@GOSSIP+4, 0, 0, 'I will take you up on that offer, Eitrigg.', 1, 1, @GOSSIP+5, 0, 0, 0, ''), +(@GOSSIP+5, 0, 0, 'Ah, so that is how they pushed the Dark Iron to the lower parts of the Spire.', 1, 1, @GOSSIP+6, 0, 0, 0, ''), +(@GOSSIP+6, 0, 0, 'Perhaps there exists a way?', 1, 1, @GOSSIP+7, 0, 0, 0, ''), +(@GOSSIP+7, 0, 0, 'As you wish, Eitrigg.', 1, 1, 0, 0, 0, 0, ''); +-- Add gossip menus (text values already in db) +DELETE FROM `gossip_menu` WHERE `entry`BETWEEN @GOSSIP+1 AND @GOSSIP+7; +INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES +(@GOSSIP+1, 3574), +(@GOSSIP+2, 3575), +(@GOSSIP+3, 3576), +(@GOSSIP+4, 3577), +(@GOSSIP+5, 3578), +(@GOSSIP+6, 3579), +(@GOSSIP+7, 3580); +-- Add Condtion so gossip only shows when on quest +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(15, @GOSSIP, 0, 0, 9, 4941, 0, 0, 0, '', NULL); +-- Add SAI for quest complete and close of gossip when last option selected +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`=@NPC; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@NPC; +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 +(@NPC,0,0,1,62,0,100,0,@GOSSIP+7,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0.0,0.0,0.0,0.0,'Eitrigg - Select As you wish, Eitrigg. - Close gossip'), +(@NPC,0,1,0,61,0,100,0,0,0,0,0,15,@QUEST,0,0,0,0,0,7,0,0,0,0.0,0.0,0.0,0.0,'Eitrigg - On link - Give credit quest (4941)'); -- cgit v1.2.3 From 133c3304d80a13eb91fb18d37744c8e4cf192f93 Mon Sep 17 00:00:00 2001 From: nelegalno Date: Sun, 18 Dec 2011 23:44:15 +0000 Subject: DB/Quest: Fix quest The Black Knight's Orders Closes #1832 Closes #3206 Closes #1299 Closes #1700 Closes #4347 --- sql/updates/world/2011_12_18_05_world_misc.sql | 94 ++++++++++++++++++++++++++ src/server/game/Spells/SpellMgr.cpp | 4 ++ 2 files changed, 98 insertions(+) create mode 100644 sql/updates/world/2011_12_18_05_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_18_05_world_misc.sql b/sql/updates/world/2011_12_18_05_world_misc.sql new file mode 100644 index 00000000000..b8435c4211e --- /dev/null +++ b/sql/updates/world/2011_12_18_05_world_misc.sql @@ -0,0 +1,94 @@ +-- Quest: The Black Knight's Orders (13663) SQL fix +-- Black Knights Camp Spawns +SET @OGUID=100489; -- Need 10 +SET @CGUID=152277; -- Need 3 +DELETE FROM `gameobject` WHERE `guid` BETWEEN @OGUID+0 AND @OGUID+9; +INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`) VALUES +(@OGUID+0,194357,571,1,1,9070.324,2050.733,67.21755,0,0,0,0,1,0,0,0), -- Poison Vial +(@OGUID+1,194357,571,1,1,9073.764,2050.120,68.15718,0,0,0,0,1,0,0,0), -- Poison Vial +(@OGUID+2,194357,571,1,1,9074.699,2050.709,68.17049,0,0,0,0,1,0,0,0), -- Poison Vial +(@OGUID+3,194357,571,1,1,9069.595,2050.349,67.21755,0,0,0,0,1,0,0,0), -- Poison Vial +(@OGUID+4,194357,571,1,1,9069.961,2050.538,67.21755,0,0,0,0,1,0,0,0), -- Poison Vial +(@OGUID+5,194357,571,1,1,9072.077,2049.292,67.78963,0,0,0,0,1,0,0,0), -- Poison Vial +(@OGUID+6,194357,571,1,1,9065.680,2052.618,67.28638,0,0,0,0,1,0,0,0), -- Poison Vial +(@OGUID+7,194394,571,1,1,9083.578,2041.696,67.81812,0,0,0,0,1,0,0,0), -- Cult Rune Circle +(@OGUID+8,195011,571,1,1,9078.471,2057.547,67.21606,0,0,0,0.9981346,0.06105176,0,0,0), -- Bonfire +(@OGUID+9,300007,571,1,1,8523.51,566.994,552.841,2.1518,0,0,0.880019,0.474938,300,0,1); -- Spell Focus GO? + +DELETE FROM `creature` WHERE `id`=33537; +INSERT INTO `creature` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`modelid`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`,`npcflag`,`unit_flags`,`dynamicflags`) VALUES +(@CGUID+0,33537,571,1,1,0,0,9071.043,2075.388,67.21542,4.935980,120,0,0,1,0,0,0,0,0), +(@CGUID+1,33537,571,1,1,0,0,9074.414,2049.259,67.34636,2.181662,120,0,0,1,0,0,0,0,0), +(@CGUID+2,33537,571,1,1,0,0,9081.280,2058.925,67.38979,3.612832,120,0,0,1,0,0,0,0,0); + +-- Template updates +UPDATE `creature_template` SET `unit_flags`=`unit_flags`|8,`speed_run`=4, `InhabitType`=5 WHERE `entry`=33519; -- Black Knight''s Gryphon +UPDATE `creature_template` SET `faction_A`=2080,`faction_H`=2080,`unit_flags`=`unit_flags`|32768,`equipment_id`=823 WHERE `entry`=33537; -- Cult Conspirator + +-- See black knight's invisibility while on quest The Black Knight's Orders +DELETE FROM `spell_area` WHERE `spell`=67471 AND `area` IN (4658); +INSERT INTO `spell_area` (`spell`,`area`,`quest_start`,`quest_start_active`,`quest_end`,`aura_spell`,`racemask`,`gender`,`autocast`) VALUES +(67471,4658,13663,1,13663,0,0,2,1); -- See Black Knight Invis + +-- Addon data +DELETE FROM `creature_template_addon` WHERE `entry` IN (33519,33537); +INSERT INTO `creature_template_addon` (`entry`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(33519,0,0,2049,0,NULL),-- Black Knight''s Gryphon +(33537,0,1,1,0,NULL); -- Cult Conspirator + +-- SAI for Black Knight''s Gryphon +SET @entry :=33519; +UPDATE `creature_template` SET `AIName`='SmartAI' 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,27,0,100,0,0,0,0,0,53,0,@entry,0,13663,0,0,1,0,0,0,0,0,0,0,'Black Knight''s Gryphon - On passenger - Start WP movement'), +(@entry,0,1,0,40,0,100,0,40,@entry,0,0,33,33519,0,0,0,0,0,7,0,0,0,0,0,0,0,'Black Knight''s Gryphon - On WP 40 - Quest Credit'), +(@entry,0,2,0,40,0,100,0,43,@entry,0,0,11,50630,0,0,0,0,0,7,0,0,0,0,0,0,0,'Black Knight''s Gryphon - On WP 43 - Dismount Spell'), +(@entry,0,3,0,40,0,100,0,44,@entry,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Black Knight''s Gryphon - On WP 44 - Despawn'); + +DELETE FROM `waypoints` WHERE `entry`=33519; +INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES +(33519, 1,8521.271,569.5960,552.8375,'Black Knight''s Gryphon'), +(33519, 2,8517.864,579.1095,553.2125,'Black Knight''s Gryphon'), +(33519, 3,8513.146,594.6724,551.2125,'Black Knight''s Gryphon'), +(33519, 4,8505.263,606.5569,550.4177,'Black Knight''s Gryphon'), +(33519, 5,8503.017,628.4188,547.4177,'Black Knight''s Gryphon'), +(33519, 6,8480.271,652.7083,547.4177,'Black Knight''s Gryphon'), +(33519, 7,8459.121,686.1427,547.4177,'Black Knight''s Gryphon'), +(33519, 8,8436.802,713.8687,547.3428,'Black Knight''s Gryphon'), +(33519, 9,8405.380,740.0045,547.4177,'Black Knight''s Gryphon'), +(33519,10,8386.139,770.6009,547.5881,'Black Knight''s Gryphon'), +(33519,11,8374.297,802.2525,547.9304,'Black Knight''s Gryphon'), +(33519,12,8374.271,847.0363,548.0427,'Black Knight''s Gryphon'), +(33519,13,8385.988,868.9881,548.0491,'Black Knight''s Gryphon'), +(33519,14,8413.027,867.8573,547.2991,'Black Knight''s Gryphon'), +(33519,15,8452.552,869.0339,547.2991,'Black Knight''s Gryphon'), +(33519,16,8473.058,875.2012,547.2955,'Black Knight''s Gryphon'), +(33519,17,8472.278,912.3134,547.4169,'Black Knight''s Gryphon'), +(33519,18,8479.666,954.1650,547.3298,'Black Knight''s Gryphon'), +(33519,19,8477.349,1001.368,547.3372,'Black Knight''s Gryphon'), +(33519,20,8484.538,1025.797,547.4622,'Black Knight''s Gryphon'), +(33519,21,8525.363,1029.284,547.4177,'Black Knight''s Gryphon'), +(33519,22,8532.808,1052.904,548.1677,'Black Knight''s Gryphon'), +(33519,23,8537.356,1077.927,554.5791,'Black Knight''s Gryphon'), +(33519,24,8540.528,1083.379,569.6827,'Black Knight''s Gryphon'), +(33519,25,8563.641,1140.965,569.6827,'Black Knight''s Gryphon'), +(33519,26,8594.897,1205.458,569.6827,'Black Knight''s Gryphon'), +(33519,27,8617.104,1257.399,566.1833,'Black Knight''s Gryphon'), +(33519,28,8648.496,1329.349,558.0187,'Black Knight''s Gryphon'), +(33519,29,8667.723,1388.411,546.1880,'Black Knight''s Gryphon'), +(33519,30,8699.145,1474.898,528.2197,'Black Knight''s Gryphon'), +(33519,31,8726.869,1546.006,501.7741,'Black Knight''s Gryphon'), +(33519,32,8739.058,1592.157,478.5511,'Black Knight''s Gryphon'), +(33519,33,8750.799,1636.771,455.0797,'Black Knight''s Gryphon'), +(33519,34,8760.006,1669.482,423.2208,'Black Knight''s Gryphon'), +(33519,35,8783.310,1701.852,375.8872,'Black Knight''s Gryphon'), +(33519,36,8817.336,1735.731,343.3323,'Black Knight''s Gryphon'), +(33519,37,8882.320,1789.754,301.5807,'Black Knight''s Gryphon'), +(33519,38,8958.597,1841.807,259.9141,'Black Knight''s Gryphon'), +(33519,39,9045.891,1908.076,233.4143,'Black Knight''s Gryphon'), +(33519,40,9107.177,1964.594,215.9704,'Black Knight''s Gryphon'), +(33519,41,9134.763,2036.925,175.1925,'Black Knight''s Gryphon'), +(33519,42,9128.608,2089.091,141.3593,'Black Knight''s Gryphon'), +(33519,43,9093.364,2128.384,99.38685,'Black Knight''s Gryphon'), +(33519,44,9050.709,2123.656,60.24802,'Black Knight''s Gryphon'); diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 058ddf7d269..7170aa818b5 100755 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -3227,6 +3227,10 @@ void SpellMgr::LoadDbcDataCorrections() // this needs research on modifier applying rules, does not seem to be in Attributes fields spellInfo->EffectSpellClassMask[0] = flag96(0x00000040, 0x00000000, 0x00000000); break; + case 63163: // Apply Enchanted Bridle (Argent Tournament) + spellInfo->EffectDieSides[0] = 0; // was 1, that should probably mean seat 0, but instead it's treated as spell 1 + spellInfo->EffectBasePoints[0] = 52391; // Ride Vehicle (forces seat 0) + break; case 19970: // Entangling Roots (Rank 6) -- Nature's Grasp Proc case 19971: // Entangling Roots (Rank 5) -- Nature's Grasp Proc case 19972: // Entangling Roots (Rank 4) -- Nature's Grasp Proc -- cgit v1.2.3 From 2438f6eebf253a21a111ae5d6723a4969bd0a7d4 Mon Sep 17 00:00:00 2001 From: Warpten Date: Sun, 18 Dec 2011 23:53:06 +0000 Subject: DB/SAI: Add goodbye script to Jeeves Closes #4215 --- sql/updates/world/2011_12_18_06_world_sai.sql | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 sql/updates/world/2011_12_18_06_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_18_06_world_sai.sql b/sql/updates/world/2011_12_18_06_world_sai.sql new file mode 100644 index 00000000000..2fce176cd0f --- /dev/null +++ b/sql/updates/world/2011_12_18_06_world_sai.sql @@ -0,0 +1,14 @@ +SET @JEEVES := 35642; +SET @SPELL_GOODBYE := 68052; +DELETE FROM `spell_linked_spell` WHERE `spell_effect`=@SPELL_GOODBYE AND `spell_trigger`=-68054 AND `type`=0; +INSERT INTO `spell_linked_spell` (`spell_trigger`,`spell_effect`,`type`,`comment`) VALUES +(-68054,@SPELL_GOODBYE,0, 'Jeeves - Say Goodbye'); + +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`=@JEEVES; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@JEEVES 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 +(@JEEVES,0,0,0,8,0,100,0,@SPELL_GOODBYE,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Jeeves - On Spellhit - Say Line 0"); + +DELETE FROM `creature_text` WHERE `entry`=@JEEVES; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(@JEEVES,0,0,"If you'll excuse me, I'm afraid I have other business I must attend to. Please call on me again in the future.",12,0,100,3,0,0, 'Jeeves'); -- cgit v1.2.3 From e870b0d15c765a56afff4437c3ca9ebfe462561d Mon Sep 17 00:00:00 2001 From: durotar Date: Sun, 18 Dec 2011 23:55:14 +0000 Subject: DB/Gossip: Add conditions to Bom'bay's gossip Closes #4219 --- sql/updates/world/2011_12_18_07_world_conditions.sql | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 sql/updates/world/2011_12_18_07_world_conditions.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_18_07_world_conditions.sql b/sql/updates/world/2011_12_18_07_world_conditions.sql new file mode 100644 index 00000000000..ef669dd2dbb --- /dev/null +++ b/sql/updates/world/2011_12_18_07_world_conditions.sql @@ -0,0 +1,17 @@ +-- Fix condition for Bom'bay's npc_text, gossip_menu and gossip_menu_option +-- Player must to complete quest 826 'Zalazane' to see gossip_menu_option +DELETE FROM `gossip_menu` WHERE `entry`=3062 AND `text_id` IN (3794,3795); +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES +(3062,3794), -- text before to complete quest 826 +(3062,3795); -- text after to complete quest 826 +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=3062; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,3062,3794,0,14,826,0,0,0,'', "Bom'bay - show text 3794 if player does not have quest Zalazane"), +(14,3062,3795,0,8,826,0,0,0,'', "Bom'bay - show text 3795 if player has quest Zalazane rewarded"), +(15,3062,0,0,8,826,0,0,0,'', "Bom'bay - show gossip option 0 if player has quest Zalazane rewarded"), +(15,3062,1,0,8,826,0,0,0,'', "Bom'bay - show gossip option 1 if player has quest Zalazane rewarded"), +(15,3062,2,0,8,826,0,0,0,'', "Bom'bay - show gossip option 2 if player has quest Zalazane rewarded"), +(15,3062,3,0,8,826,0,0,0,'', "Bom'bay - show gossip option 3 if player has quest Zalazane rewarded"), +(15,3062,4,0,8,826,0,0,0,'', "Bom'bay - show gossip option 4 if player has quest Zalazane rewarded"), +(15,3062,5,0,8,826,0,0,0,'', "Bom'bay - show gossip option 5 if player has quest Zalazane rewarded"), +(15,3062,6,0,8,826,0,0,0,'', "Bom'bay - show gossip option 6 if player has quest Zalazane rewarded"); -- cgit v1.2.3 From a1683f20dc91851af2b85c5b4f4f82dbc2eb877b Mon Sep 17 00:00:00 2001 From: Machiavelli Date: Mon, 19 Dec 2011 11:17:52 +0100 Subject: Fix SQL file name after pull request, and fix compile on linux. --- sql/updates/world/2011_12_18_04_world_conditions.sql | 7 ------- sql/updates/world/2011_12_19_00_world_conditions.sql | 7 +++++++ src/server/shared/Database/Implementation/CharacterDatabase.cpp | 2 +- src/server/shared/Database/MySQLConnection.h | 1 + 4 files changed, 9 insertions(+), 8 deletions(-) delete mode 100644 sql/updates/world/2011_12_18_04_world_conditions.sql create mode 100644 sql/updates/world/2011_12_19_00_world_conditions.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_18_04_world_conditions.sql b/sql/updates/world/2011_12_18_04_world_conditions.sql deleted file mode 100644 index a56151a9f8f..00000000000 --- a/sql/updates/world/2011_12_18_04_world_conditions.sql +++ /dev/null @@ -1,7 +0,0 @@ -UPDATE spell_dbc SET EffectImplicitTargetA1 = 22, EffectImplicitTargetB1 = 7 WHERE Id = 58630; - -DELETE FROM conditions WHERE SourceTypeOrReferenceId = 13 AND SourceEntry IN (61863, 68663); -INSERT INTO conditions (SourceTypeOrReferenceId, SourceEntry, ConditionTypeOrReference, ConditionValue1, Comment) VALUES -(13, 61863, 18, 1, 'The Prophet Tharon''ja - Achievement Check'), -(13, 68663, 18, 1, 'The Black Knight - Kill Credit'), -(13, 58630, 18, 1, 'Mal''Ganis - Kill Credit'); diff --git a/sql/updates/world/2011_12_19_00_world_conditions.sql b/sql/updates/world/2011_12_19_00_world_conditions.sql new file mode 100644 index 00000000000..a56151a9f8f --- /dev/null +++ b/sql/updates/world/2011_12_19_00_world_conditions.sql @@ -0,0 +1,7 @@ +UPDATE spell_dbc SET EffectImplicitTargetA1 = 22, EffectImplicitTargetB1 = 7 WHERE Id = 58630; + +DELETE FROM conditions WHERE SourceTypeOrReferenceId = 13 AND SourceEntry IN (61863, 68663); +INSERT INTO conditions (SourceTypeOrReferenceId, SourceEntry, ConditionTypeOrReference, ConditionValue1, Comment) VALUES +(13, 61863, 18, 1, 'The Prophet Tharon''ja - Achievement Check'), +(13, 68663, 18, 1, 'The Black Knight - Kill Credit'), +(13, 58630, 18, 1, 'Mal''Ganis - Kill Credit'); diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.cpp b/src/server/shared/Database/Implementation/CharacterDatabase.cpp index 248c39018b2..b6af9da6e46 100755 --- a/src/server/shared/Database/Implementation/CharacterDatabase.cpp +++ b/src/server/shared/Database/Implementation/CharacterDatabase.cpp @@ -26,7 +26,7 @@ void CharacterDatabaseConnection::DoPrepareStatements() PREPARE_STATEMENT(CHAR_ADD_QUEST_POOL_SAVE, "INSERT INTO pool_quest_save (pool_id, quest_id) VALUES (?, ?)", CONNECTION_ASYNC) PREPARE_STATEMENT(CHAR_DEL_NONEXISTENT_GUILD_BANK_ITEM, "DELETE FROM guild_bank_item WHERE guildid = ? AND TabId = ? AND SlotId = ?", CONNECTION_ASYNC) PREPARE_STATEMENT(CHAR_DEL_EXPIRED_BANS, "UPDATE character_banned SET active = 0 WHERE unbandate <= UNIX_TIMESTAMP() AND unbandate <> bandate", CONNECTION_ASYNC) - PREPARE_STATEMENT(CHAR_GET_GUID_BY_NAME, "SELECT guid FROM characters WHERE name = ?", CONNECTION_SYNCH | CONNECTION_ASYNC); + PREPARE_STATEMENT(CHAR_GET_GUID_BY_NAME, "SELECT guid FROM characters WHERE name = ?", CONNECTION_BOTH); PREPARE_STATEMENT(CHAR_GET_CHECK_NAME, "SELECT 1 FROM characters WHERE name = ?", CONNECTION_ASYNC); PREPARE_STATEMENT(CHAR_GET_SUM_CHARS, "SELECT COUNT(guid) FROM characters WHERE account = ?", CONNECTION_ASYNC); PREPARE_STATEMENT(CHAR_GET_CHAR_CREATE_INFO, "SELECT level, race, class FROM characters WHERE account = ? LIMIT 0, ?", CONNECTION_ASYNC); diff --git a/src/server/shared/Database/MySQLConnection.h b/src/server/shared/Database/MySQLConnection.h index 03846c47ecd..e444afd6f58 100755 --- a/src/server/shared/Database/MySQLConnection.h +++ b/src/server/shared/Database/MySQLConnection.h @@ -33,6 +33,7 @@ enum ConnectionFlags { CONNECTION_ASYNC = 0x1, CONNECTION_SYNCH = 0x2, + CONNECTION_BOTH = CONNECTION_ASYNC | CONNECTION_SYNCH; }; struct MySQLConnectionInfo -- cgit v1.2.3 From 01d634ef55e2f84f22d0f8356f0e47f05913173d Mon Sep 17 00:00:00 2001 From: joschiwald Date: Mon, 19 Dec 2011 11:19:40 +0000 Subject: DB/Quests: Conjure Water should only be available to maegs. Eating water in pvp is not for everyone... Closes #4148 --- sql/updates/world/2011_12_19_01_world_quest_template.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/updates/world/2011_12_19_01_world_quest_template.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_19_01_world_quest_template.sql b/sql/updates/world/2011_12_19_01_world_quest_template.sql new file mode 100644 index 00000000000..c04fdddfe97 --- /dev/null +++ b/sql/updates/world/2011_12_19_01_world_quest_template.sql @@ -0,0 +1,2 @@ +-- Quest: Arcane Refreshment only available for mages +UPDATE `quest_template` SET `RequiredClasses`=`RequiredClasses`|128 WHERE `Id`=7463; -- cgit v1.2.3 From 4ca6939b8bd4ec51594c6e2425860aebfacfd8d5 Mon Sep 17 00:00:00 2001 From: w1sht0l1v3 Date: Mon, 19 Dec 2011 18:44:17 +0200 Subject: Core/Achievements: Remove hardcoded script and add proper achievement criteria data in DB. --- .../world/2011_12_19_02_world_achievement_criteria_data.sql | 11 +++++++++++ src/server/game/Achievements/AchievementMgr.cpp | 8 -------- 2 files changed, 11 insertions(+), 8 deletions(-) create mode 100644 sql/updates/world/2011_12_19_02_world_achievement_criteria_data.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_19_02_world_achievement_criteria_data.sql b/sql/updates/world/2011_12_19_02_world_achievement_criteria_data.sql new file mode 100644 index 00000000000..f5df93c3bd1 --- /dev/null +++ b/sql/updates/world/2011_12_19_02_world_achievement_criteria_data.sql @@ -0,0 +1,11 @@ +-- Achievement Fa-la-la-la-Ogri'la +DELETE FROM `achievement_criteria_data` WHERE `criteria_id` IN (3936,3937,3938); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`, `ScriptName`) VALUES +-- requires aura +(3936, 5, 44827, 0, ''), +(3937, 5, 44825, 0, ''), +(3938, 5, 44824, 0, ''), +-- requires Holiday Winter Veil +(3936, 16, 141, 0, ''), +(3937, 16, 141, 0, ''), +(3938, 16, 141, 0, ''); \ No newline at end of file diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp index 596c85a6075..296224283d3 100755 --- a/src/server/game/Achievements/AchievementMgr.cpp +++ b/src/server/game/Achievements/AchievementMgr.cpp @@ -1069,14 +1069,6 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui continue; } - if (achievement->ID == 1282) - { - // those requirements couldn't be found in the dbc - AchievementCriteriaDataSet const* data = sAchievementMgr->GetCriteriaDataSet(achievementCriteria); - if (!data || !data->Meets(GetPlayer(), unit)) - continue; - } - SetCriteriaProgress(achievementCriteria, 1); break; } -- cgit v1.2.3 From 2a127f8c0812df86fa22ff6f56a23326bf589323 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 21 Dec 2011 12:44:19 +0200 Subject: Added missing quest reward for Stolen Winter Veil Treats (horde) --- sql/updates/world/2011_12_21_00_world_mail_loot_template.sql | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 sql/updates/world/2011_12_21_00_world_mail_loot_template.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_21_00_world_mail_loot_template.sql b/sql/updates/world/2011_12_21_00_world_mail_loot_template.sql new file mode 100644 index 00000000000..2550858d098 --- /dev/null +++ b/sql/updates/world/2011_12_21_00_world_mail_loot_template.sql @@ -0,0 +1,3 @@ +-- Reward from Stolen Winter Veil Treats (horde) +SET @mail:=117; -- Set in DBC +UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (6963); -- Set mail delivery -- cgit v1.2.3 From f02b533d7a6883a43483f6cb3d72cbeff33e1177 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 21 Dec 2011 19:59:51 +0200 Subject: [Winter Veil] Mail rewards templates for Winer Veil events --- .../2011_12_21_00_world_mail_loot_template.sql | 42 +++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) (limited to 'sql') diff --git a/sql/updates/world/2011_12_21_00_world_mail_loot_template.sql b/sql/updates/world/2011_12_21_00_world_mail_loot_template.sql index 2550858d098..ae27643d9ea 100644 --- a/sql/updates/world/2011_12_21_00_world_mail_loot_template.sql +++ b/sql/updates/world/2011_12_21_00_world_mail_loot_template.sql @@ -1,3 +1,43 @@ +-- Fix based on https://github.com/TrinityCore/TrinityCore/issues/43 and https://github.com/TrinityCore/TrinityCore/issues/4429 + +-- Reward from Treats for Greatfather Winter (horde) +SET @mail:=102; -- Set in DBC +UPDATE quest_template SET RewardMailTemplateId=@mail, RewardMailDelay=86400 WHERE ID IN (6962); -- Set mail delivery +DELETE FROM mail_loot_template WHERE entry=@mail; +INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES +(@mail,17685,100,1,0,1,1); -- Attach item to mail + +-- Reward from Treats for Greatfather Winter (alliance) +SET @mail:=118; -- Set in DBC +UPDATE quest_template SET RewardMailTemplateId=@mail, RewardMailDelay=86400 WHERE ID IN (7025); -- Set mail delivery +DELETE FROM mail_loot_template WHERE entry=@mail; +INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES +(@mail,17685,100,1,0,1,1); -- Attach item to mail + -- Reward from Stolen Winter Veil Treats (horde) +SET @mail:=108; -- Set in DBC +UPDATE quest_template SET RewardMailTemplateId=@mail, RewardMailDelay=86400 WHERE ID IN (6963); -- Set mail delivery +DELETE FROM mail_loot_template WHERE entry=@mail; +INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES +(@mail,17712,100,1,0,1,1); -- Attach item to mail + +-- Reward from Stolen Winter Veil Treats (alliance) SET @mail:=117; -- Set in DBC -UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (6963); -- Set mail delivery +UPDATE quest_template SET RewardMailTemplateId=@mail, RewardMailDelay=86400 WHERE ID IN (7042); -- Set mail delivery +DELETE FROM mail_loot_template WHERE entry=@mail; +INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES +(@mail,17712,100,1,0,1,1); -- Attach item to mail + +-- Reward from Metzen the Reindeer (horde) +SET @mail:=122; -- Set in DBC +UPDATE quest_template SET RewardMailTemplateId=@mail, RewardMailDelay=86400 WHERE ID IN (8746); -- Set mail delivery +DELETE FROM mail_loot_template WHERE entry=@mail; +INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES +(@mail,21216,100,1,0,1,1); -- Attach item to mail + +-- Reward from Metzen the Reindeer (alliance) +SET @mail:=161; -- Set in DBC +UPDATE quest_template SET RewardMailTemplateId=@mail, RewardMailDelay=86400 WHERE ID IN (8762); -- Set mail delivery +DELETE FROM mail_loot_template WHERE entry=@mail; +INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES +(@mail,21216,100,1,0,1,1); -- Attach item to mail \ No newline at end of file -- cgit v1.2.3 From 9de707d235414057414110ed6d4e6c4d3f9275f2 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 21 Dec 2011 20:11:09 +0200 Subject: [Winter Veil] Mail loot templates for Winter Veil events --- .../world/2011_12_21_00_world_mail_loot_template.sql | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'sql') diff --git a/sql/updates/world/2011_12_21_00_world_mail_loot_template.sql b/sql/updates/world/2011_12_21_00_world_mail_loot_template.sql index ae27643d9ea..742cd890420 100644 --- a/sql/updates/world/2011_12_21_00_world_mail_loot_template.sql +++ b/sql/updates/world/2011_12_21_00_world_mail_loot_template.sql @@ -1,43 +1,41 @@ --- Fix based on https://github.com/TrinityCore/TrinityCore/issues/43 and https://github.com/TrinityCore/TrinityCore/issues/4429 - -- Reward from Treats for Greatfather Winter (horde) SET @mail:=102; -- Set in DBC -UPDATE quest_template SET RewardMailTemplateId=@mail, RewardMailDelay=86400 WHERE ID IN (6962); -- Set mail delivery +UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (6962); -- Set mail delivery DELETE FROM mail_loot_template WHERE entry=@mail; INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES (@mail,17685,100,1,0,1,1); -- Attach item to mail -- Reward from Treats for Greatfather Winter (alliance) SET @mail:=118; -- Set in DBC -UPDATE quest_template SET RewardMailTemplateId=@mail, RewardMailDelay=86400 WHERE ID IN (7025); -- Set mail delivery +UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (7025); -- Set mail delivery DELETE FROM mail_loot_template WHERE entry=@mail; INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES (@mail,17685,100,1,0,1,1); -- Attach item to mail -- Reward from Stolen Winter Veil Treats (horde) SET @mail:=108; -- Set in DBC -UPDATE quest_template SET RewardMailTemplateId=@mail, RewardMailDelay=86400 WHERE ID IN (6963); -- Set mail delivery +UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (6963); -- Set mail delivery DELETE FROM mail_loot_template WHERE entry=@mail; INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES (@mail,17712,100,1,0,1,1); -- Attach item to mail -- Reward from Stolen Winter Veil Treats (alliance) SET @mail:=117; -- Set in DBC -UPDATE quest_template SET RewardMailTemplateId=@mail, RewardMailDelay=86400 WHERE ID IN (7042); -- Set mail delivery +UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (7042); -- Set mail delivery DELETE FROM mail_loot_template WHERE entry=@mail; INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES (@mail,17712,100,1,0,1,1); -- Attach item to mail -- Reward from Metzen the Reindeer (horde) SET @mail:=122; -- Set in DBC -UPDATE quest_template SET RewardMailTemplateId=@mail, RewardMailDelay=86400 WHERE ID IN (8746); -- Set mail delivery +UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (8746); -- Set mail delivery DELETE FROM mail_loot_template WHERE entry=@mail; INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES (@mail,21216,100,1,0,1,1); -- Attach item to mail -- Reward from Metzen the Reindeer (alliance) SET @mail:=161; -- Set in DBC -UPDATE quest_template SET RewardMailTemplateId=@mail, RewardMailDelay=86400 WHERE ID IN (8762); -- Set mail delivery +UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (8762); -- Set mail delivery DELETE FROM mail_loot_template WHERE entry=@mail; INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES (@mail,21216,100,1,0,1,1); -- Attach item to mail \ No newline at end of file -- cgit v1.2.3 From 4fa2ef5a1624c65da562aea81c60041b5c7b84db Mon Sep 17 00:00:00 2001 From: tobmaps Date: Sat, 24 Dec 2011 16:43:59 +0700 Subject: Core/Spells: Fix wrong proc of talent Throwing Specialization from Throw ability --- sql/updates/world/2011_12_24_00_world_spell_proc_event.sql | 1 + 1 file changed, 1 insertion(+) create mode 100644 sql/updates/world/2011_12_24_00_world_spell_proc_event.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_24_00_world_spell_proc_event.sql b/sql/updates/world/2011_12_24_00_world_spell_proc_event.sql new file mode 100644 index 00000000000..f25fa4c4856 --- /dev/null +++ b/sql/updates/world/2011_12_24_00_world_spell_proc_event.sql @@ -0,0 +1 @@ +UPDATE `spell_proc_event` SET `SpellFamilyMask0` = 0 WHERE `entry` IN (5952,51679); -- cgit v1.2.3 From 65e37a4f1d78eb621129e6f3805af4322eb21f87 Mon Sep 17 00:00:00 2001 From: Shocker Date: Sat, 24 Dec 2011 14:31:23 +0200 Subject: Correct SQL naming after recent pull --- .../2011_12_21_00_world_mail_loot_template.sql | 41 ---------------------- .../2011_12_24_01_world_mail_loot_template.sql | 41 ++++++++++++++++++++++ 2 files changed, 41 insertions(+), 41 deletions(-) delete mode 100644 sql/updates/world/2011_12_21_00_world_mail_loot_template.sql create mode 100644 sql/updates/world/2011_12_24_01_world_mail_loot_template.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_21_00_world_mail_loot_template.sql b/sql/updates/world/2011_12_21_00_world_mail_loot_template.sql deleted file mode 100644 index 742cd890420..00000000000 --- a/sql/updates/world/2011_12_21_00_world_mail_loot_template.sql +++ /dev/null @@ -1,41 +0,0 @@ --- Reward from Treats for Greatfather Winter (horde) -SET @mail:=102; -- Set in DBC -UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (6962); -- Set mail delivery -DELETE FROM mail_loot_template WHERE entry=@mail; -INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES -(@mail,17685,100,1,0,1,1); -- Attach item to mail - --- Reward from Treats for Greatfather Winter (alliance) -SET @mail:=118; -- Set in DBC -UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (7025); -- Set mail delivery -DELETE FROM mail_loot_template WHERE entry=@mail; -INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES -(@mail,17685,100,1,0,1,1); -- Attach item to mail - --- Reward from Stolen Winter Veil Treats (horde) -SET @mail:=108; -- Set in DBC -UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (6963); -- Set mail delivery -DELETE FROM mail_loot_template WHERE entry=@mail; -INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES -(@mail,17712,100,1,0,1,1); -- Attach item to mail - --- Reward from Stolen Winter Veil Treats (alliance) -SET @mail:=117; -- Set in DBC -UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (7042); -- Set mail delivery -DELETE FROM mail_loot_template WHERE entry=@mail; -INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES -(@mail,17712,100,1,0,1,1); -- Attach item to mail - --- Reward from Metzen the Reindeer (horde) -SET @mail:=122; -- Set in DBC -UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (8746); -- Set mail delivery -DELETE FROM mail_loot_template WHERE entry=@mail; -INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES -(@mail,21216,100,1,0,1,1); -- Attach item to mail - --- Reward from Metzen the Reindeer (alliance) -SET @mail:=161; -- Set in DBC -UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (8762); -- Set mail delivery -DELETE FROM mail_loot_template WHERE entry=@mail; -INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES -(@mail,21216,100,1,0,1,1); -- Attach item to mail \ No newline at end of file diff --git a/sql/updates/world/2011_12_24_01_world_mail_loot_template.sql b/sql/updates/world/2011_12_24_01_world_mail_loot_template.sql new file mode 100644 index 00000000000..fecff071e66 --- /dev/null +++ b/sql/updates/world/2011_12_24_01_world_mail_loot_template.sql @@ -0,0 +1,41 @@ +-- Reward from Treats for Greatfather Winter (horde) +SET @mail:=102; -- Set in DBC +UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (6962); -- Set mail delivery +DELETE FROM mail_loot_template WHERE entry=@mail; +INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES +(@mail,17685,100,1,0,1,1); -- Attach item to mail + +-- Reward from Treats for Greatfather Winter (alliance) +SET @mail:=118; -- Set in DBC +UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (7025); -- Set mail delivery +DELETE FROM mail_loot_template WHERE entry=@mail; +INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES +(@mail,17685,100,1,0,1,1); -- Attach item to mail + +-- Reward from Stolen Winter Veil Treats (horde) +SET @mail:=108; -- Set in DBC +UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (6963); -- Set mail delivery +DELETE FROM mail_loot_template WHERE entry=@mail; +INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES +(@mail,17712,100,1,0,1,1); -- Attach item to mail + +-- Reward from Stolen Winter Veil Treats (alliance) +SET @mail:=117; -- Set in DBC +UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (7042); -- Set mail delivery +DELETE FROM mail_loot_template WHERE entry=@mail; +INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES +(@mail,17712,100,1,0,1,1); -- Attach item to mail + +-- Reward from Metzen the Reindeer (horde) +SET @mail:=122; -- Set in DBC +UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (8746); -- Set mail delivery +DELETE FROM mail_loot_template WHERE entry=@mail; +INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES +(@mail,21216,100,1,0,1,1); -- Attach item to mail + +-- Reward from Metzen the Reindeer (alliance) +SET @mail:=161; -- Set in DBC +UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (8762); -- Set mail delivery +DELETE FROM mail_loot_template WHERE entry=@mail; +INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES +(@mail,21216,100,1,0,1,1); -- Attach item to mail -- cgit v1.2.3 From c284c3404a33b98594a20c9916b29329dfa540b9 Mon Sep 17 00:00:00 2001 From: Shocker Date: Sat, 24 Dec 2011 15:16:00 +0200 Subject: SQL: Correct column names in recent SQL --- sql/updates/world/2011_12_24_01_world_mail_loot_template.sql | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'sql') diff --git a/sql/updates/world/2011_12_24_01_world_mail_loot_template.sql b/sql/updates/world/2011_12_24_01_world_mail_loot_template.sql index fecff071e66..2fc05e9cf17 100644 --- a/sql/updates/world/2011_12_24_01_world_mail_loot_template.sql +++ b/sql/updates/world/2011_12_24_01_world_mail_loot_template.sql @@ -1,41 +1,41 @@ -- Reward from Treats for Greatfather Winter (horde) SET @mail:=102; -- Set in DBC -UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (6962); -- Set mail delivery +UPDATE quest_template SET RewardMailTemplateId=@mail, RewardMailDelay=86400 WHERE Id IN (6962); -- Set mail delivery DELETE FROM mail_loot_template WHERE entry=@mail; INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES (@mail,17685,100,1,0,1,1); -- Attach item to mail -- Reward from Treats for Greatfather Winter (alliance) SET @mail:=118; -- Set in DBC -UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (7025); -- Set mail delivery +UPDATE quest_template SET RewardMailTemplateId=@mail, RewardMailDelay=86400 WHERE Id IN (7025); -- Set mail delivery DELETE FROM mail_loot_template WHERE entry=@mail; INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES (@mail,17685,100,1,0,1,1); -- Attach item to mail -- Reward from Stolen Winter Veil Treats (horde) SET @mail:=108; -- Set in DBC -UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (6963); -- Set mail delivery +UPDATE quest_template SET RewardMailTemplateId=@mail, RewardMailDelay=86400 WHERE Id IN (6963); -- Set mail delivery DELETE FROM mail_loot_template WHERE entry=@mail; INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES (@mail,17712,100,1,0,1,1); -- Attach item to mail -- Reward from Stolen Winter Veil Treats (alliance) SET @mail:=117; -- Set in DBC -UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (7042); -- Set mail delivery +UPDATE quest_template SET RewardMailTemplateId=@mail, RewardMailDelay=86400 WHERE Id IN (7042); -- Set mail delivery DELETE FROM mail_loot_template WHERE entry=@mail; INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES (@mail,17712,100,1,0,1,1); -- Attach item to mail -- Reward from Metzen the Reindeer (horde) SET @mail:=122; -- Set in DBC -UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (8746); -- Set mail delivery +UPDATE quest_template SET RewardMailTemplateId=@mail, RewardMailDelay=86400 WHERE Id IN (8746); -- Set mail delivery DELETE FROM mail_loot_template WHERE entry=@mail; INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES (@mail,21216,100,1,0,1,1); -- Attach item to mail -- Reward from Metzen the Reindeer (alliance) SET @mail:=161; -- Set in DBC -UPDATE quest_template SET RewMailTemplateId=@mail, RewMailDelaySecs=86400 WHERE entry IN (8762); -- Set mail delivery +UPDATE quest_template SET RewardMailTemplateId=@mail, RewardMailDelay=86400 WHERE Id IN (8762); -- Set mail delivery DELETE FROM mail_loot_template WHERE entry=@mail; INSERT INTO mail_loot_template (entry,item,ChanceOrQuestChance,lootmode,groupid,mincountOrRef,maxcount) VALUES (@mail,21216,100,1,0,1,1); -- Attach item to mail -- cgit v1.2.3 From 23b54b8416d0268bc721d3bf879d5a9be45cbe5f Mon Sep 17 00:00:00 2001 From: Discover- Date: Sun, 25 Dec 2011 00:04:26 +0100 Subject: Core/Quests: Script quest Missing Friends Closes #3604 --- sql/updates/world/2011_12_24_00_world_sai.sql | 10 +++++ src/server/scripts/World/go_scripts.cpp | 54 +++++++++++++++++++++++---- 2 files changed, 57 insertions(+), 7 deletions(-) create mode 100644 sql/updates/world/2011_12_24_00_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_24_00_world_sai.sql b/sql/updates/world/2011_12_24_00_world_sai.sql new file mode 100644 index 00000000000..fb5816bb737 --- /dev/null +++ b/sql/updates/world/2011_12_24_00_world_sai.sql @@ -0,0 +1,10 @@ +-- Scriptname for the cages +UPDATE `gameobject_template` SET `ScriptName`='go_veil_skith_cage' WHERE `entry` IN (185202,185203,185204,185205); + +-- Texts for Captive Child +DELETE FROM `creature_text` WHERE `entry`=22314; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(22314,0,0,"Woot!",12,0,100,0,0,0,"Captive Child"), +(22314,0,1,"I think those weird bird guys were going to eat us. Gross!",12,0,100,0,0,0,"Captive Child"), +(22314,0,2,"Yay! We're free!",12,0,100,0,0,0,"Captive Child"), +(22314,0,3,"Gross!",12,0,100,0,0,0,"Captive Child"); \ No newline at end of file diff --git a/src/server/scripts/World/go_scripts.cpp b/src/server/scripts/World/go_scripts.cpp index 44c3ab9bdc9..4799b893286 100644 --- a/src/server/scripts/World/go_scripts.cpp +++ b/src/server/scripts/World/go_scripts.cpp @@ -16,13 +16,6 @@ * with this program. If not, see . */ -/* ScriptData -SDName: GO_Scripts -SD%Complete: 100 -SDComment: Quest support: 4285, 4287, 4288(crystal pylons), 4296, 6481, 10990, 10991, 10992, Field_Repair_Bot->Teaches spell 22704. Barov_journal->Teaches spell 26089, 12843, 12982, 2936. Soulwell -SDCategory: Game Objects -EndScriptData */ - /* ContentData go_cat_figurine (the "trap" version of GO, two different exist) go_northern_crystal_pylon @@ -48,6 +41,15 @@ go_table_theka go_soulwell go_bashir_crystalforge go_ethereal_teleport_pad +go_soulwell +go_dragonflayer_cage +go_tadpole_cage +go_black_cage +go_amberpine_outhouse +go_hive_pod +go_gjalerbron_cage +go_large_gjalerbron_cage +go_veil_skith_cage EndContentData */ #include "ScriptPCH.h" @@ -1179,6 +1181,7 @@ public: /*###### ## Quest 1126: Hive in the Tower +## go_hive_pod ######*/ enum eHives @@ -1278,6 +1281,42 @@ class go_large_gjalerbron_cage : public GameObjectScript } }; +/*######## +#### go_veil_skith_cage +#####*/ + +enum MissingFriends +{ + QUEST_MISSING_FRIENDS = 10852, + NPC_CAPTIVE_CHILD = 22314, + SAY_FREE = 0, +}; + +class go_veil_skith_cage : public GameObjectScript +{ + public: + go_veil_skith_cage() : GameObjectScript("go_veil_skith_cage") { } + + bool OnGossipHello(Player* player, GameObject* go) + { + if (player->GetQuestStatus(QUEST_MISSING_FRIENDS) == QUEST_STATUS_INCOMPLETE) + { + std::list ChildrenList; + GetCreatureListWithEntryInGrid(ChildrenList, go, NPC_CAPTIVE_CHILD, INTERACTION_DISTANCE); + for (std::list::const_iterator itr = ChildrenList.begin(); itr != ChildrenList.end(); ++itr) + { + go->UseDoorOrButton(); + player->KilledMonsterCredit(NPC_CAPTIVE_CHILD, (*itr)->GetGUID()); + (*itr)->ForcedDespawn(5000); + (*itr)->GetMotionMaster()->MovePoint(1, go->GetPositionX()+5, go->GetPositionY(), go->GetPositionZ()); + (*itr)->AI()->Talk(SAY_FREE); + (*itr)->GetMotionMaster()->Clear(); + } + } + return false; + } +}; + void AddSC_go_scripts() { new go_cat_figurine; @@ -1319,4 +1358,5 @@ void AddSC_go_scripts() new go_massive_seaforium_charge; new go_gjalerbron_cage; new go_large_gjalerbron_cage; + new go_veil_skith_cage; } -- cgit v1.2.3 From ef4608f07c8596c2436604e18d49ba8891af3191 Mon Sep 17 00:00:00 2001 From: Discover- Date: Sun, 25 Dec 2011 00:13:28 +0100 Subject: Core/Quests: Fix an exploit in Red Snapper - Very Tasty! Also fix a silly codestyle typo in previous commit. Closes #3887 --- .../2011_12_25_00_world_spell_script_names.sql | 4 ++ src/server/scripts/Spells/spell_quest.cpp | 49 ++++++++++++++++++++++ src/server/scripts/World/go_scripts.cpp | 6 +-- 3 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 sql/updates/world/2011_12_25_00_world_spell_script_names.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_25_00_world_spell_script_names.sql b/sql/updates/world/2011_12_25_00_world_spell_script_names.sql new file mode 100644 index 00000000000..a4bf9aef5dc --- /dev/null +++ b/sql/updates/world/2011_12_25_00_world_spell_script_names.sql @@ -0,0 +1,4 @@ +UPDATE `item_template` SET `ScriptName`='' WHERE `entry`=23654; +DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_q9452_cast_net'; +INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES +(29866,'spell_q9452_cast_net'); \ No newline at end of file diff --git a/src/server/scripts/Spells/spell_quest.cpp b/src/server/scripts/Spells/spell_quest.cpp index 3b2cc5f5e00..ecdbd582b76 100644 --- a/src/server/scripts/Spells/spell_quest.cpp +++ b/src/server/scripts/Spells/spell_quest.cpp @@ -1026,6 +1026,54 @@ public: } }; +// http://old01.wowhead.com/quest=9452 - Red Snapper - Very Tasty! +enum RedSnapperVeryTasty +{ + SPELL_CAST_NET = 29866, + ITEM_RED_SNAPPER = 23614, + NPC_ANGRY_MURLOC = 17102, +}; + +class spell_q9452_cast_net: public SpellScriptLoader +{ + public: + spell_q9452_cast_net() : SpellScriptLoader("spell_q9452_cast_net") { } + + class spell_q9452_cast_net_SpellScript : public SpellScript + { + PrepareSpellScript(spell_q9452_cast_net_SpellScript) + + void HandleDummy(SpellEffIndex /*effIndex*/) + { + Player* caster = GetCaster()->ToPlayer(); + + if (!caster) + return; + + switch (urand(0, 2)) + { + case 0: case 1: + caster->AddItem(ITEM_RED_SNAPPER, 1); + break; + case 2: + if (Creature* murloc = caster->SummonCreature(NPC_ANGRY_MURLOC, caster->GetPositionX()+5, caster->GetPositionY(), caster->GetPositionZ(), 0.0f, TEMPSUMMON_MANUAL_DESPAWN, 120000)) + murloc->AI()->AttackStart(caster); + break; + } + } + + void Register() + { + OnEffectHit += SpellEffectFn(spell_q9452_cast_net_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY); + } + }; + + SpellScript* GetSpellScript() const + { + return new spell_q9452_cast_net_SpellScript(); + } +}; + void AddSC_quest_spell_scripts() { new spell_q55_sacred_cleansing(); @@ -1050,4 +1098,5 @@ void AddSC_quest_spell_scripts() new spell_q12805_lifeblood_dummy(); new spell_q13280_13283_plant_battle_standard(); new spell_q14112_14145_chum_the_water(); + new spell_q9452_cast_net(); } diff --git a/src/server/scripts/World/go_scripts.cpp b/src/server/scripts/World/go_scripts.cpp index 4799b893286..fad92ec1af5 100644 --- a/src/server/scripts/World/go_scripts.cpp +++ b/src/server/scripts/World/go_scripts.cpp @@ -1301,9 +1301,9 @@ class go_veil_skith_cage : public GameObjectScript { if (player->GetQuestStatus(QUEST_MISSING_FRIENDS) == QUEST_STATUS_INCOMPLETE) { - std::list ChildrenList; - GetCreatureListWithEntryInGrid(ChildrenList, go, NPC_CAPTIVE_CHILD, INTERACTION_DISTANCE); - for (std::list::const_iterator itr = ChildrenList.begin(); itr != ChildrenList.end(); ++itr) + std::list childrenList; + GetCreatureListWithEntryInGrid(childrenList, go, NPC_CAPTIVE_CHILD, INTERACTION_DISTANCE); + for (std::list::const_iterator itr = childrenList.begin(); itr != childrenList.end(); ++itr) { go->UseDoorOrButton(); player->KilledMonsterCredit(NPC_CAPTIVE_CHILD, (*itr)->GetGUID()); -- cgit v1.2.3 From b82eb200e80dff65f6d4c1f71d5ca3253dd59b48 Mon Sep 17 00:00:00 2001 From: Discover- Date: Sun, 25 Dec 2011 00:20:56 +0100 Subject: DB/Quests: Script quest Raptor Captor. Yet another stupid mistake from previous commit, sorry. --- sql/updates/world/2011_12_25_00_world_sai.sql | 23 +++++++++++++++ src/server/scripts/World/item_scripts.cpp | 41 --------------------------- 2 files changed, 23 insertions(+), 41 deletions(-) create mode 100644 sql/updates/world/2011_12_25_00_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_25_00_world_sai.sql b/sql/updates/world/2011_12_25_00_world_sai.sql new file mode 100644 index 00000000000..d0f1572d708 --- /dev/null +++ b/sql/updates/world/2011_12_25_00_world_sai.sql @@ -0,0 +1,23 @@ +-- Bloodfen Raptor SAI +SET @ENTRY := 4351; +SET @SPELL_ROPE := 42325; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `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,8,0,100,0,@SPELL_ROPE,0,0,0,33,23727,0,0,0,0,0,7,0,0,0,0,0,0,0,"Bloodfen Raptor - On Spellhit - Quest Credit"), +(@ENTRY,0,1,0,2,0,100,1,0,20,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfen Raptor - At 20% HP - Say Line 0"); + +-- Bloodfen Screecher SAI +SET @ENTRY := 4352; +SET @SPELL_ROPE := 42325; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `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,8,0,100,0,@SPELL_ROPE,0,0,0,33,23727,0,0,0,0,0,7,0,0,0,0,0,0,0,"Bloodfen Screecher - On Spellhit - Quest Credit"), +(@ENTRY,0,1,0,2,0,100,1,0,20,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfen Screecher - At 20% HP - Say Line 0"); + +-- Texts +DELETE FROM `creature_text` WHERE `entry` IN (4351,4352); +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(4351,0,0,"%s looks weak enough to capture.",16,0,100,0,0,0,"Bloodfen Raptor"), +(4352,0,0,"%s looks weak enough to capture.",16,0,100,0,0,0,"Bloodfen Screecher"); diff --git a/src/server/scripts/World/item_scripts.cpp b/src/server/scripts/World/item_scripts.cpp index 4099c03384c..9bfa77271f5 100644 --- a/src/server/scripts/World/item_scripts.cpp +++ b/src/server/scripts/World/item_scripts.cpp @@ -24,7 +24,6 @@ SDCategory: Items EndScriptData */ /* ContentData -item_draenei_fishing_net(i23654) Hacklike implements chance to spawn item or creature item_nether_wraith_beacon(i31742) Summons creatures for quest Becoming a Spellfire Tailor (q10832) item_flying_machine(i34060, i34061) Engineering crafted flying machines item_gor_dreks_ointment(i30175) Protecting Our Own(q10488) @@ -80,45 +79,6 @@ public: } }; -/*##### -# item_draenei_fishing_net -#####*/ - -class item_draenei_fishing_net : public ItemScript -{ -public: - item_draenei_fishing_net() : ItemScript("item_draenei_fishing_net") { } - - //This is just a hack and should be removed from here. - //Creature/Item are in fact created before spell are sucessfully casted, without any checks at all to ensure proper/expected behavior. - bool OnUse(Player* player, Item* /*pItem*/, SpellCastTargets const& /*targets*/) - { - if (player->GetQuestStatus(9452) == QUEST_STATUS_INCOMPLETE) - { - if (urand(0, 99) < 35) - { - Creature* Murloc = player->SummonCreature(17102, player->GetPositionX(), player->GetPositionY()+20, player->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000); - if (Murloc) - Murloc->AI()->AttackStart(player); - } - else - { - ItemPosCountVec dest; - uint32 itemId = 23614; - InventoryResult msg = player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, itemId, 1); - if (msg == EQUIP_ERR_OK) - { - if (Item* item = player->StoreNewItem(dest, itemId, true)) - player->SendNewItem(item, 1, false, true); - } - else - player->SendEquipError(msg, NULL, NULL, itemId); - } - } - return false; - } -}; - /*##### # item_nether_wraith_beacon #####*/ @@ -452,7 +412,6 @@ public: void AddSC_item_scripts() { new item_only_for_flight(); - new item_draenei_fishing_net(); new item_nether_wraith_beacon(); new item_gor_dreks_ointment(); new item_incendiary_explosives(); -- cgit v1.2.3 From 8cec401f0c4c61bb69fc6353bc13e0b2c4582130 Mon Sep 17 00:00:00 2001 From: Discover- Date: Sun, 25 Dec 2011 00:29:15 +0100 Subject: Core/Scripts: Script quest Nat's Bargain. Closes #3140. --- sql/updates/world/2011_12_24_00_world_misc.sql | 10 ++++++ sql/updates/world/2011_12_24_00_world_sai.sql | 10 ------ ...2011_12_25_00_world_areatrigger_scriptnames.sql | 3 ++ src/server/scripts/World/areatrigger_scripts.cpp | 37 ++++++++++++++++++++++ 4 files changed, 50 insertions(+), 10 deletions(-) create mode 100644 sql/updates/world/2011_12_24_00_world_misc.sql delete mode 100644 sql/updates/world/2011_12_24_00_world_sai.sql create mode 100644 sql/updates/world/2011_12_25_00_world_areatrigger_scriptnames.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_24_00_world_misc.sql b/sql/updates/world/2011_12_24_00_world_misc.sql new file mode 100644 index 00000000000..fb5816bb737 --- /dev/null +++ b/sql/updates/world/2011_12_24_00_world_misc.sql @@ -0,0 +1,10 @@ +-- Scriptname for the cages +UPDATE `gameobject_template` SET `ScriptName`='go_veil_skith_cage' WHERE `entry` IN (185202,185203,185204,185205); + +-- Texts for Captive Child +DELETE FROM `creature_text` WHERE `entry`=22314; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(22314,0,0,"Woot!",12,0,100,0,0,0,"Captive Child"), +(22314,0,1,"I think those weird bird guys were going to eat us. Gross!",12,0,100,0,0,0,"Captive Child"), +(22314,0,2,"Yay! We're free!",12,0,100,0,0,0,"Captive Child"), +(22314,0,3,"Gross!",12,0,100,0,0,0,"Captive Child"); \ No newline at end of file diff --git a/sql/updates/world/2011_12_24_00_world_sai.sql b/sql/updates/world/2011_12_24_00_world_sai.sql deleted file mode 100644 index fb5816bb737..00000000000 --- a/sql/updates/world/2011_12_24_00_world_sai.sql +++ /dev/null @@ -1,10 +0,0 @@ --- Scriptname for the cages -UPDATE `gameobject_template` SET `ScriptName`='go_veil_skith_cage' WHERE `entry` IN (185202,185203,185204,185205); - --- Texts for Captive Child -DELETE FROM `creature_text` WHERE `entry`=22314; -INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES -(22314,0,0,"Woot!",12,0,100,0,0,0,"Captive Child"), -(22314,0,1,"I think those weird bird guys were going to eat us. Gross!",12,0,100,0,0,0,"Captive Child"), -(22314,0,2,"Yay! We're free!",12,0,100,0,0,0,"Captive Child"), -(22314,0,3,"Gross!",12,0,100,0,0,0,"Captive Child"); \ No newline at end of file diff --git a/sql/updates/world/2011_12_25_00_world_areatrigger_scriptnames.sql b/sql/updates/world/2011_12_25_00_world_areatrigger_scriptnames.sql new file mode 100644 index 00000000000..4a66326ead5 --- /dev/null +++ b/sql/updates/world/2011_12_25_00_world_areatrigger_scriptnames.sql @@ -0,0 +1,3 @@ +DELETE FROM `areatrigger_scripts` WHERE `entry`=4752; +INSERT INTO `areatrigger_scripts` (`entry`,`ScriptName`) VALUES +(4752,'at_nats_landing'); \ No newline at end of file diff --git a/src/server/scripts/World/areatrigger_scripts.cpp b/src/server/scripts/World/areatrigger_scripts.cpp index 517746dac55..b1d1b97f21b 100644 --- a/src/server/scripts/World/areatrigger_scripts.cpp +++ b/src/server/scripts/World/areatrigger_scripts.cpp @@ -29,6 +29,7 @@ at_legion_teleporter 4560 Teleporter TO Invasion Point: Cataclysm at_stormwright_shelf q12741 at_last_rites q12019 at_sholazar_waygate q12548 +at_nats_landing q11209 EndContentData */ #include "ScriptPCH.h" @@ -257,6 +258,41 @@ class AreaTrigger_at_sholazar_waygate : public AreaTriggerScript } }; +/*###### +## at_nats_landing +######*/ + +enum NatsLanding +{ + QUEST_NATS_BARGAIN = 11209, + SPELL_FISH_PASTE = 42644, + NPC_LURKING_SHARK = 23928 +}; + +class AreaTrigger_at_nats_landing : public AreaTriggerScript +{ + public: + AreaTrigger_at_nats_landing() : AreaTriggerScript("at_nats_landing") { } + + bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) + { + if (!player->isAlive() || !player->HasAura(SPELL_FISH_PASTE)) + return false; + + if (player->GetQuestStatus(QUEST_NATS_BARGAIN) == QUEST_STATUS_INCOMPLETE) + { + if (!player->FindNearestCreature(NPC_LURKING_SHARK, 20.0f)) + { + if (Creature* shark = player->SummonCreature(NPC_LURKING_SHARK, -4246.243f, -3922.356f, -7.488f, 5.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 100000)) + shark->AI()->AttackStart(player); + + return false; + } + } + return true; + } +}; + void AddSC_areatrigger_scripts() { new AreaTrigger_at_coilfang_waterfall(); @@ -265,4 +301,5 @@ void AddSC_areatrigger_scripts() new AreaTrigger_at_scent_larkorwi(); new AreaTrigger_at_last_rites(); new AreaTrigger_at_sholazar_waygate(); + new AreaTrigger_at_nats_landing(); } -- cgit v1.2.3 From c3e527da6d0e5b6fcf7c7faadfd441c2f0a941bc Mon Sep 17 00:00:00 2001 From: Discover- Date: Sun, 25 Dec 2011 00:36:17 +0100 Subject: Core/Quests: Script quest Captain Tyralius. Closes #3091. --- sql/updates/world/2011_12_25_00_world_misc.sql | 5 ++++ src/server/scripts/Outland/netherstorm.cpp | 36 ++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 sql/updates/world/2011_12_25_00_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_25_00_world_misc.sql b/sql/updates/world/2011_12_25_00_world_misc.sql new file mode 100644 index 00000000000..4096bbf35c7 --- /dev/null +++ b/sql/updates/world/2011_12_25_00_world_misc.sql @@ -0,0 +1,5 @@ +UPDATE `gameobject_template` SET `ScriptName`='go_captain_tyralius_prison' WHERE `entry`=184588; +UPDATE `quest_template` SET `ReqSpellCast1`=0 WHERE `entry`=10422; +DELETE FROM `creature_text` WHERE `entry`=20787; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(20787,0,0,"You've saved me, fleshling! Ameer will hear of this noble act.",12,0,100,0,0,0,"Captain Tyralius"); \ No newline at end of file diff --git a/src/server/scripts/Outland/netherstorm.cpp b/src/server/scripts/Outland/netherstorm.cpp index 5f2626c0039..f892169f7ae 100644 --- a/src/server/scripts/Outland/netherstorm.cpp +++ b/src/server/scripts/Outland/netherstorm.cpp @@ -29,6 +29,7 @@ go_manaforge_control_console npc_commander_dawnforge npc_bessy npc_maxx_a_million +go_captain_tyralius_prison EndContentData */ #include "ScriptPCH.h" @@ -1046,6 +1047,40 @@ public: } }; +/*###### +## go_captain_tyralius_prison +######*/ + +enum CaptainTyralius +{ + NPC_CAPTAIN_TYRALIUS = 20787, + SAY_FREE = 0, +}; + +class go_captain_tyralius_prison : public GameObjectScript +{ + public: + go_captain_tyralius_prison() : GameObjectScript("go_captain_tyralius_prison") { } + + bool OnGossipHello(Player* player, GameObject* go) + { + if (Creature* tyralius = go->FindNearestCreature(NPC_CAPTAIN_TYRALIUS, 1.0f)) + { + if (tyralius) + { + go->UseDoorOrButton(); + + if (player) + player->KilledMonsterCredit(NPC_CAPTAIN_TYRALIUS, 0); + + tyralius->AI()->Talk(SAY_FREE); + tyralius->ForcedDespawn(8000); + } + } + return true; + } +}; + void AddSC_netherstorm() { new go_manaforge_control_console(); @@ -1056,4 +1091,5 @@ void AddSC_netherstorm() new mob_phase_hunter(); new npc_bessy(); new npc_maxx_a_million_escort(); + new go_captain_tyralius_prison(); } -- cgit v1.2.3 From f2ad757acdddbf98f8b18bacba3debc74d1b480b Mon Sep 17 00:00:00 2001 From: Discover- Date: Sun, 25 Dec 2011 00:43:26 +0100 Subject: Core/Scripts: Fix quest Heroes of Old. Closes #3703 --- sql/updates/world/2011_12_25_00_world_misc.sql | 8 ++++++-- src/server/scripts/EasternKingdoms/blasted_lands.cpp | 15 +++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) (limited to 'sql') diff --git a/sql/updates/world/2011_12_25_00_world_misc.sql b/sql/updates/world/2011_12_25_00_world_misc.sql index 4096bbf35c7..22effda3d04 100644 --- a/sql/updates/world/2011_12_25_00_world_misc.sql +++ b/sql/updates/world/2011_12_25_00_world_misc.sql @@ -1,5 +1,9 @@ UPDATE `gameobject_template` SET `ScriptName`='go_captain_tyralius_prison' WHERE `entry`=184588; -UPDATE `quest_template` SET `ReqSpellCast1`=0 WHERE `entry`=10422; +UPDATE `quest_template` SET `RequiredSpellCast1`=0 WHERE `id`=10422; DELETE FROM `creature_text` WHERE `entry`=20787; INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES -(20787,0,0,"You've saved me, fleshling! Ameer will hear of this noble act.",12,0,100,0,0,0,"Captain Tyralius"); \ No newline at end of file +(20787,0,0,"You've saved me, fleshling! Ameer will hear of this noble act.",12,0,100,0,0,0,"Captain Tyralius"); + +-- Heroes of Old +UPDATE `quest_template` SET `StartScript`=0,`CompleteScript`=0 WHERE `entry`=2702; +DELETE FROM `quest_start_scripts` WHERE `id`=2702; diff --git a/src/server/scripts/EasternKingdoms/blasted_lands.cpp b/src/server/scripts/EasternKingdoms/blasted_lands.cpp index 048fd8dfd2a..38a577b9ba9 100644 --- a/src/server/scripts/EasternKingdoms/blasted_lands.cpp +++ b/src/server/scripts/EasternKingdoms/blasted_lands.cpp @@ -72,6 +72,13 @@ public: /*###### ## npc_fallen_hero_of_horde ######*/ + +enum HeroesOfOld +{ + QUEST_HEROES_OF_OLD = 2702, + NPC_THUND_SPLITHOOF = 7750, +}; + #define GOSSIP_H_F1 "Why are you here?" #define GOSSIP_H_F2 "Continue story..." @@ -159,6 +166,14 @@ public: return true; } + bool OnQuestAccept(Player* /*player*/, Creature* creature, Quest const* quest) + { + if (quest->GetQuestId() == QUEST_HEROES_OF_OLD) + creature->SummonCreature(NPC_THUND_SPLITHOOF, -10630.3f, -2987.05f, 28.96f, 4.54f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 9000000); + + return true; + } + }; void AddSC_blasted_lands() -- cgit v1.2.3 From 49e10f992a7e73e4afcc627cfbdf0dc3db28ef1a Mon Sep 17 00:00:00 2001 From: Discover- Date: Sun, 25 Dec 2011 00:52:01 +0100 Subject: Scripts/Quests: Zuhuled the Wacked And obviously, some typo's. Closes #3704 --- sql/updates/world/2011_12_25_00_world_misc.sql | 2 +- sql/updates/world/2011_12_25_01_world_misc.sql | 3 +++ src/server/scripts/Outland/shadowmoon_valley.cpp | 25 ++++++++++++++---------- src/server/scripts/World/go_scripts.cpp | 4 ++-- 4 files changed, 21 insertions(+), 13 deletions(-) create mode 100644 sql/updates/world/2011_12_25_01_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_25_00_world_misc.sql b/sql/updates/world/2011_12_25_00_world_misc.sql index 22effda3d04..8f1d3c44ceb 100644 --- a/sql/updates/world/2011_12_25_00_world_misc.sql +++ b/sql/updates/world/2011_12_25_00_world_misc.sql @@ -5,5 +5,5 @@ INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`pr (20787,0,0,"You've saved me, fleshling! Ameer will hear of this noble act.",12,0,100,0,0,0,"Captain Tyralius"); -- Heroes of Old -UPDATE `quest_template` SET `StartScript`=0,`CompleteScript`=0 WHERE `entry`=2702; +UPDATE `quest_template` SET `StartScript`=0,`CompleteScript`=0 WHERE `id`=2702; DELETE FROM `quest_start_scripts` WHERE `id`=2702; diff --git a/sql/updates/world/2011_12_25_01_world_misc.sql b/sql/updates/world/2011_12_25_01_world_misc.sql new file mode 100644 index 00000000000..9e4d7e6c058 --- /dev/null +++ b/sql/updates/world/2011_12_25_01_world_misc.sql @@ -0,0 +1,3 @@ +-- Zuhuled the Wacked +UPDATE `quest_template` SET `StartScript`=0,`CompleteScript`=0 WHERE `id`=10866; +DELETE FROM `quest_start_scripts` WHERE `id`=10866; diff --git a/src/server/scripts/Outland/shadowmoon_valley.cpp b/src/server/scripts/Outland/shadowmoon_valley.cpp index 610cf684a77..ecbdb921567 100644 --- a/src/server/scripts/Outland/shadowmoon_valley.cpp +++ b/src/server/scripts/Outland/shadowmoon_valley.cpp @@ -635,26 +635,31 @@ public: # npc_karynaku ####*/ -enum eKarynaku +enum Karynaku { QUEST_ALLY_OF_NETHER = 10870, + QUEST_ZUHULED_THE_WACK = 10866, - TAXI_PATH_ID = 649 + NPC_ZUHULED_THE_WACKED = 11980, + + TAXI_PATH_ID = 649, }; class npc_karynaku : public CreatureScript { -public: - npc_karynaku() : CreatureScript("npc_karynaku") { } + public: + npc_karynaku() : CreatureScript("npc_karynaku") { } - bool OnQuestAccept(Player* player, Creature* /*creature*/, Quest const* quest) - { - if (quest->GetQuestId() == QUEST_ALLY_OF_NETHER) - player->ActivateTaxiPathTo(TAXI_PATH_ID); //player->ActivateTaxiPathTo(649); + bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) + { + if (quest->GetQuestId() == QUEST_ALLY_OF_NETHER) + player->ActivateTaxiPathTo(TAXI_PATH_ID); - return true; - } + if (quest->GetQuestId() == QUEST_ZUHULED_THE_WACK) + creature->SummonCreature(NPC_ZUHULED_THE_WACKED, -4204.94f, 316.397f, 122.508f, 1.309f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 300000); + return true; + } }; /*#### diff --git a/src/server/scripts/World/go_scripts.cpp b/src/server/scripts/World/go_scripts.cpp index fad92ec1af5..e93dd2751e6 100644 --- a/src/server/scripts/World/go_scripts.cpp +++ b/src/server/scripts/World/go_scripts.cpp @@ -1289,7 +1289,7 @@ enum MissingFriends { QUEST_MISSING_FRIENDS = 10852, NPC_CAPTIVE_CHILD = 22314, - SAY_FREE = 0, + SAY_FREE_0 = 0, }; class go_veil_skith_cage : public GameObjectScript @@ -1309,7 +1309,7 @@ class go_veil_skith_cage : public GameObjectScript player->KilledMonsterCredit(NPC_CAPTIVE_CHILD, (*itr)->GetGUID()); (*itr)->ForcedDespawn(5000); (*itr)->GetMotionMaster()->MovePoint(1, go->GetPositionX()+5, go->GetPositionY(), go->GetPositionZ()); - (*itr)->AI()->Talk(SAY_FREE); + (*itr)->AI()->Talk(SAY_FREE_0); (*itr)->GetMotionMaster()->Clear(); } } -- cgit v1.2.3 From 462edabca4bc490baf539465f2b70658e6a3e6ce Mon Sep 17 00:00:00 2001 From: Discover- Date: Sun, 25 Dec 2011 00:54:25 +0100 Subject: DB/Quests: Script quest Corrosion Prevention Closes #3139. --- sql/updates/world/2011_12_25_01_world_sai.sql | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 sql/updates/world/2011_12_25_01_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_25_01_world_sai.sql b/sql/updates/world/2011_12_25_01_world_sai.sql new file mode 100644 index 00000000000..8ae439ffe67 --- /dev/null +++ b/sql/updates/world/2011_12_25_01_world_sai.sql @@ -0,0 +1,19 @@ +-- Acidic Swamp Ooze SAI +SET @ENTRY := 4393; +SET @SPELL_END_CHANNEL := 42485; +SET @SPELL_BUBBLING_OOZE := 43135; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `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,8,0,100,0,@SPELL_END_CHANNEL,0,0,0,33,23797,0,0,0,0,0,7,0,0,0,0,0,0,0,"Acidic Swamp Ooze - On Spellhit - Quest Credit"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,11,@SPELL_BUBBLING_OOZE,0,0,0,0,0,2,0,0,0,0,0,0,0,"Acidic Swamp Ooze - At 15% HP - Cast Bubbling Ooze"); + +-- Bubbling Swamp Ooze SAI +SET @ENTRY := 4394; +SET @SPELL_END_CHANNEL := 42485; +SET @SPELL_BUBBLING_OOZE := 43135; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `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,8,0,100,0,@SPELL_END_CHANNEL,0,0,0,33,23797,0,0,0,0,0,7,0,0,0,0,0,0,0,"Bubbling Swamp Ooze - On Spellhit - Quest Credit"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,11,@SPELL_BUBBLING_OOZE,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bubbling Swamp Ooze - At 15% HP - Cast Bubbling Ooze"); -- cgit v1.2.3 From 173fb48fe2ed2dd63782a93629c4c4da22ccb9d4 Mon Sep 17 00:00:00 2001 From: Discover- Date: Sun, 25 Dec 2011 01:05:00 +0100 Subject: Core/Quests: Script quest Portals to Legion. Core/Desolace: Clean up some terrible code.. --- .../2011_12_25_01_world_gameobject_scriptnames.sql | 1 + src/server/scripts/Kalimdor/desolace.cpp | 53 ++++++++++++++++++---- 2 files changed, 46 insertions(+), 8 deletions(-) create mode 100644 sql/updates/world/2011_12_25_01_world_gameobject_scriptnames.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_25_01_world_gameobject_scriptnames.sql b/sql/updates/world/2011_12_25_01_world_gameobject_scriptnames.sql new file mode 100644 index 00000000000..c545550e129 --- /dev/null +++ b/sql/updates/world/2011_12_25_01_world_gameobject_scriptnames.sql @@ -0,0 +1 @@ +UPDATE `gameobject_template` SET `ScriptName`='go_demon_portal' WHERE `entry` IN (177243,177365,177369,177397,177398,177399,177400,177366,177367,177368); diff --git a/src/server/scripts/Kalimdor/desolace.cpp b/src/server/scripts/Kalimdor/desolace.cpp index 71372f1d9e4..5cc32657f2f 100644 --- a/src/server/scripts/Kalimdor/desolace.cpp +++ b/src/server/scripts/Kalimdor/desolace.cpp @@ -25,6 +25,9 @@ EndScriptData */ /* ContentData npc_aged_dying_ancient_kodo +go_iruxos +npc_dalinda_malem +go_demon_portal EndContentData */ #include "ScriptPCH.h" @@ -168,22 +171,28 @@ public: }; /*###### -## go_iruxos. Quest 5381 +## go_iruxos +## Hand of Iruxos ######*/ +enum +{ + QUEST_HAND_IRUXOS = 5381, + NPC_DEMON_SPIRIT = 11876, +}; + class go_iruxos : public GameObjectScript { -public: - go_iruxos() : GameObjectScript("go_iruxos") { } + public: + go_iruxos() : GameObjectScript("go_iruxos") { } - bool OnGossipHello(Player* player, GameObject* /*pGO*/) - { + bool OnGossipHello(Player* player, GameObject* /*go*/) + { if (player->GetQuestStatus(5381) == QUEST_STATUS_INCOMPLETE) - player->SummonCreature(11876, player->GetInnPosX(), player->GetInnPosY(), player->GetInnPosZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000); + player->SummonCreature(11876, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000); return true; - } - + } }; /*###### @@ -254,7 +263,34 @@ public: DoMeleeAttackIfReady(); } }; +}; + +/*###### +## go_demon_portal +######*/ +enum DemonPortal +{ + NPC_DEMON_GUARDIAN = 11937, + + QUEST_PORTAL_OF_THE_LEGION = 5581, +}; + +class go_demon_portal : public GameObjectScript +{ + public: + go_demon_portal() : GameObjectScript("go_demon_portal") { } + + bool OnGossipHello(Player* player, GameObject* go) + { + if (player->GetQuestStatus(QUEST_PORTAL_OF_THE_LEGION) == QUEST_STATUS_INCOMPLETE) + { + if (Creature* guardian = player->SummonCreature(NPC_DEMON_GUARDIAN, GO->GetPositionX(), GO->GetPositionY(), GO->GetPositionZ(), 0.0f, TEMPSUMMON_DEAD_DESPAWN, 0)) + guardian->AI()->AttackStart(player); + } + + return true; + } }; void AddSC_desolace() @@ -262,4 +298,5 @@ void AddSC_desolace() new npc_aged_dying_ancient_kodo(); new go_iruxos(); new npc_dalinda(); + new go_demon_portal(); } -- cgit v1.2.3 From 275aa8a7d851b69f6dc01dda99ab914dd7805b64 Mon Sep 17 00:00:00 2001 From: Discover- Date: Sun, 25 Dec 2011 01:21:09 +0100 Subject: DB/Miscellaneous: Implement humans transforming into worgens at night inside Pyrewood Village. And yet again some silly typo's, sorry guys. Closes #3062 --- .../2011_12_25_00_world_gameobject_scriptnames.sql | 1 + .../2011_12_25_01_world_gameobject_scriptnames.sql | 1 - sql/updates/world/2011_12_25_02_world_misc.sql | 89 ++++++++++++++++++++++ src/server/scripts/Kalimdor/desolace.cpp | 8 +- src/server/scripts/Outland/netherstorm.cpp | 12 +-- 5 files changed, 98 insertions(+), 13 deletions(-) create mode 100644 sql/updates/world/2011_12_25_00_world_gameobject_scriptnames.sql delete mode 100644 sql/updates/world/2011_12_25_01_world_gameobject_scriptnames.sql create mode 100644 sql/updates/world/2011_12_25_02_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_25_00_world_gameobject_scriptnames.sql b/sql/updates/world/2011_12_25_00_world_gameobject_scriptnames.sql new file mode 100644 index 00000000000..c545550e129 --- /dev/null +++ b/sql/updates/world/2011_12_25_00_world_gameobject_scriptnames.sql @@ -0,0 +1 @@ +UPDATE `gameobject_template` SET `ScriptName`='go_demon_portal' WHERE `entry` IN (177243,177365,177369,177397,177398,177399,177400,177366,177367,177368); diff --git a/sql/updates/world/2011_12_25_01_world_gameobject_scriptnames.sql b/sql/updates/world/2011_12_25_01_world_gameobject_scriptnames.sql deleted file mode 100644 index c545550e129..00000000000 --- a/sql/updates/world/2011_12_25_01_world_gameobject_scriptnames.sql +++ /dev/null @@ -1 +0,0 @@ -UPDATE `gameobject_template` SET `ScriptName`='go_demon_portal' WHERE `entry` IN (177243,177365,177369,177397,177398,177399,177400,177366,177367,177368); diff --git a/sql/updates/world/2011_12_25_02_world_misc.sql b/sql/updates/world/2011_12_25_02_world_misc.sql new file mode 100644 index 00000000000..ee2fd9c1964 --- /dev/null +++ b/sql/updates/world/2011_12_25_02_world_misc.sql @@ -0,0 +1,89 @@ +-- Make the human versions in Pyrewood Village despawn during night and the worgens spawn during night +SET @GUID := 152280; +DELETE FROM `game_event_creature` WHERE `eventEntry`=25; +INSERT INTO `game_event_creature` (`eventEntry`,`guid`) VALUES +-- Humans +(-25,17908),(-25,18404),(-25,18408), +(-25,19002),(-25,19005),(-25,19084), +(-25,19219),(-25,19222),(-25,19223), +(-25,19224),(-25,19227),(-25,19229), +(-25,19316),(-25,19343),(-25,18307), +(-25,17911),(-25,17910),(-25,18236), +(-25,18237),(-25,18239),(-25,18291), +(-25,18306),(-25,18350),(-25,18400), +(-25,18411),(-25,18413),(-25,18996), +(-25,19008),(-25,19012),(-25,19015), +(-25,19019),(-25,19220),(-25,19228), +(-25,17663),(-25,17905),(-25,18220), +(-25,18221),(-25,18238),(-25,18310), +(-25,18354),(-25,18355),(-25,18405), +(-25,18407),(-25,18409),(-25,19007), +(-25,18235),(-25,18309), +-- Worgens +(25,@GUID+1),(25,@GUID+2),(25,@GUID+3), +(25,@GUID+4),(25,@GUID+5),(25,@GUID+6), +(25,@GUID+7),(25,@GUID+8),(25,@GUID+9), +(25,@GUID+10),(25,@GUID+11),(25,@GUID+12), +(25,@GUID+13),(25,@GUID+14),(25,@GUID+15), +(25,@GUID+16),(25,@GUID+17),(25,@GUID+18), +(25,@GUID+19),(25,@GUID+20),(25,@GUID+21), +(25,@GUID+22),(25,@GUID+23),(25,@GUID+24), +(25,@GUID+25),(25,@GUID+26),(25,@GUID+27), +(25,@GUID+28),(25,@GUID+29),(25,@GUID+30), +(25,@GUID+31),(25,@GUID+32),(25,@GUID+33), +(25,@GUID+34),(25,@GUID+35),(25,@GUID+36), +(25,@GUID+37),(25,@GUID+38),(25,@GUID+39), +(25,@GUID+40),(25,@GUID+41),(25,@GUID+42), +(25,@GUID+43),(25,@GUID+44),(25,@GUID+45), +(25,@GUID+46),(25,@GUID+0); + +-- Spawn all Moonrage versions of the humans +DELETE FROM `creature` WHERE `id` IN (3533,3531,3529,1896,1893,1892); +INSERT INTO `creature` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`,`npcflag`,`unit_flags`,`dynamicflags`) VALUES +(@GUID+0,3533,0,1,1,0,-408.091,1604.03,18.2868,5.5676,600,0,0,300,0,0,0,0,0), +(@GUID+1,3531,0,1,1,0,-360.278,1495.03,17.196,0.830526,600,0,0,328,0,0,0,0,0), +(@GUID+2,3529,0,1,1,0,-345.967,1501.4,18.9875,0.942478,600,0,0,328,0,0,0,0,0), +(@GUID+3,1896,0,1,1,0,-327.462,1555.21,25.2491,1.61376,600,0,0,276,295,0,0,0,0), +(@GUID+4,1896,0,1,1,0,-407.955,1451.33,27.0859,0.767945,600,0,0,276,295,0,0,0,0), +(@GUID+5,1896,0,1,1,0,-391.907,1432.23,27.0313,6.07375,600,0,0,276,295,0,0,0,0), +(@GUID+6,1896,0,1,1,0,-344.082,1504.01,18.7918,4.18879,600,0,0,276,295,0,0,0,0), +(@GUID+7,1896,0,1,1,0,-329.456,1545.74,30.1367,2.26893,600,0,0,276,295,0,0,0,0), +(@GUID+8,1896,0,1,1,0,-414.124,1581.03,19.7275,6.10865,600,0,0,276,295,0,0,0,0), +(@GUID+9,1896,0,1,1,0,-413.706,1579.64,24.2994,2.9861,600,0,0,276,295,0,0,0,0), +(@GUID+10,1896,0,1,1,0,-423.094,1578.33,24.3098,2.98749,600,0,0,276,295,0,0,0,0), +(@GUID+11,1896,0,1,1,0,-411.947,1517.76,19.7711,4.86947,600,0,0,276,295,0,0,0,0), +(@GUID+12,1896,0,1,1,0,-424.202,1543.84,18.5687,6.17846,600,0,0,276,295,0,0,0,0), +(@GUID+13,1896,0,1,1,0,-397.475,1543.61,17.1712,3.0459,600,5,0,276,295,1,0,0,0), +(@GUID+14,1896,0,1,1,0,-378.435,1625.51,16.8077,0.694863,600,3,0,276,295,1,0,0,0), +(@GUID+15,1893,0,1,1,0,-404.028,1460.9,31.7653,5.84685,600,0,0,300,0,0,0,0,0), +(@GUID+16,1893,0,1,1,0,-410.983,1453.18,31.679,5.59007,600,5,0,300,0,1,0,0,0), +(@GUID+17,1893,0,1,1,0,-333.219,1548.41,25.2864,4.7729,600,0,0,300,0,0,0,0,0), +(@GUID+18,1893,0,1,1,0,-339.031,1547.76,30.0369,3.83411,600,3,0,300,0,1,0,0,0), +(@GUID+19,1893,0,1,1,0,-341.711,1553.34,24.5273,3.26377,600,0,0,300,0,0,0,0,0), +(@GUID+20,1893,0,1,1,0,-380.605,1435.24,25.7369,5.98648,600,0,0,300,0,0,0,0,0), +(@GUID+21,1893,0,1,1,0,-378.287,1655.98,10.346,2.89725,600,3,0,300,0,1,0,0,0), +(@GUID+22,1893,0,1,1,0,-411.642,1509.01,19.8575,1.55334,600,0,0,300,0,0,0,0,0), +(@GUID+23,1893,0,1,1,0,-390.535,1466.63,25.9869,5.34071,600,0,0,300,0,0,0,0,0), +(@GUID+24,1893,0,1,1,0,-391.615,1601.72,17.1706,4.86947,600,0,0,300,0,0,0,0,0), +(@GUID+25,1893,0,1,1,0,-355.263,1580.06,18.0622,0.078739,600,0,0,300,0,0,0,0,0), +(@GUID+26,1893,0,1,1,0,-442.388,1539.5,19.6376,4.53468,600,5,0,300,0,1,0,0,0), +(@GUID+27,1893,0,1,1,0,-389.73,1634.41,17.4309,6.20095,600,0,0,300,0,0,0,0,0), +(@GUID+28,1893,0,1,1,0,-385.558,1618.24,24.2887,4.07713,600,3,0,300,0,1,0,0,0), +(@GUID+29,1893,0,1,1,0,-385.776,1632.95,24.2887,3.83402,600,0,0,300,0,0,0,0,0), +(@GUID+30,1893,0,1,1,0,-384.391,1560.98,17.1156,2.65866,600,5,0,300,0,1,0,0,0), +(@GUID+31,1893,0,1,1,0,-420.551,1544.65,18.3187,2.70724,600,0,0,300,0,2,0,0,0), +(@GUID+32,1893,0,1,1,0,-372.427,1611.08,24.3721,1.32645,600,0,0,300,0,0,0,0,0), +(@GUID+33,1892,0,1,1,0,-405.033,1458.8,27.0968,0.15708,600,0,0,300,0,0,0,0,0), +(@GUID+34,1892,0,1,1,0,-350.427,1448.5,24.3665,4.72984,600,0,0,300,0,0,0,0,0), +(@GUID+35,1892,0,1,1,0,-370.983,1576.35,16.981,1.98656,600,0,0,300,0,2,0,0,0), +(@GUID+36,1892,0,1,1,0,-377.63,1491.95,18.4887,5.32325,600,0,0,300,0,0,0,0,0), +(@GUID+37,1892,0,1,1,0,-381.301,1653.14,17.7911,4.4855,600,0,0,300,0,0,0,0,0), +(@GUID+38,1892,0,1,1,0,-354.378,1421.62,28.2597,5.14872,600,0,0,300,0,0,0,0,0), +(@GUID+39,1892,0,1,1,0,-432.435,1531.27,18.7313,4.20121,600,5,0,300,0,1,0,0,0), +(@GUID+40,1892,0,1,1,0,-350.822,1606.93,18.0028,3.78911,600,0,0,300,0,0,0,0,0), +(@GUID+41,1892,0,1,1,0,-416.268,1576.92,19.5441,3.61468,600,0,0,300,0,0,0,0,0), +(@GUID+42,1892,0,1,1,0,-439.617,1517.84,19.5619,3.33314,600,5,0,300,0,1,0,0,0), +(@GUID+43,1892,0,1,1,0,-358.11,1528.2,24.9468,1.18862,600,0,0,300,0,0,0,0,0), +(@GUID+44,1892,0,1,1,0,-433.404,1564.13,19.7291,1.48262,600,5,0,300,0,1,0,0,0), +(@GUID+45,1892,0,1,1,0,-363.818,1545.45,24.4813,3.24746,600,0,0,300,0,0,0,0,0), +(@GUID+46,1892,0,1,1,0,-345.242,1601.84,17.0845,2.23485,600,0,0,300,0,0,0,0,0); diff --git a/src/server/scripts/Kalimdor/desolace.cpp b/src/server/scripts/Kalimdor/desolace.cpp index 5cc32657f2f..3d023b93dc2 100644 --- a/src/server/scripts/Kalimdor/desolace.cpp +++ b/src/server/scripts/Kalimdor/desolace.cpp @@ -186,10 +186,10 @@ class go_iruxos : public GameObjectScript public: go_iruxos() : GameObjectScript("go_iruxos") { } - bool OnGossipHello(Player* player, GameObject* /*go*/) + bool OnGossipHello(Player* player, GameObject* go) { - if (player->GetQuestStatus(5381) == QUEST_STATUS_INCOMPLETE) - player->SummonCreature(11876, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000); + if (player->GetQuestStatus(QUEST_HAND_IRUXOS) == QUEST_STATUS_INCOMPLETE) + player->SummonCreature(NPC_DEMON_SPIRIT, go->GetPositionX(), go->GetPositionY(), go->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000); return true; } @@ -285,7 +285,7 @@ class go_demon_portal : public GameObjectScript { if (player->GetQuestStatus(QUEST_PORTAL_OF_THE_LEGION) == QUEST_STATUS_INCOMPLETE) { - if (Creature* guardian = player->SummonCreature(NPC_DEMON_GUARDIAN, GO->GetPositionX(), GO->GetPositionY(), GO->GetPositionZ(), 0.0f, TEMPSUMMON_DEAD_DESPAWN, 0)) + if (Creature* guardian = player->SummonCreature(NPC_DEMON_GUARDIAN, go->GetPositionX(), go->GetPositionY(), go->GetPositionZ(), 0.0f, TEMPSUMMON_DEAD_DESPAWN, 0)) guardian->AI()->AttackStart(player); } diff --git a/src/server/scripts/Outland/netherstorm.cpp b/src/server/scripts/Outland/netherstorm.cpp index f892169f7ae..e5ee8d19c59 100644 --- a/src/server/scripts/Outland/netherstorm.cpp +++ b/src/server/scripts/Outland/netherstorm.cpp @@ -1066,16 +1066,12 @@ class go_captain_tyralius_prison : public GameObjectScript { if (Creature* tyralius = go->FindNearestCreature(NPC_CAPTAIN_TYRALIUS, 1.0f)) { - if (tyralius) - { - go->UseDoorOrButton(); + go->UseDoorOrButton(); - if (player) - player->KilledMonsterCredit(NPC_CAPTAIN_TYRALIUS, 0); + player->KilledMonsterCredit(NPC_CAPTAIN_TYRALIUS, 0); - tyralius->AI()->Talk(SAY_FREE); - tyralius->ForcedDespawn(8000); - } + tyralius->AI()->Talk(SAY_FREE); + tyralius->ForcedDespawn(8000); } return true; } -- cgit v1.2.3 From 0a112a2f45c5d021af4414fec717f1a0362a36e4 Mon Sep 17 00:00:00 2001 From: Discover- Date: Sun, 25 Dec 2011 01:29:35 +0100 Subject: Scripts/Quests: Script quests Down At the Docks, Gateway to the Frontier, Lordaeron Throne Room, Bought of Eternals, Spooky Lighthouse, Stonewrought Dam, Dark Portal (A/H) Closes #3322 Closes #1428 Closes #1403 Closes #1387 --- ...2011_12_25_01_world_areatrigger_scriptnames.sql | 9 +++ src/server/scripts/World/areatrigger_scripts.cpp | 74 +++++++++++++++++++++- 2 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 sql/updates/world/2011_12_25_01_world_areatrigger_scriptnames.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_25_01_world_areatrigger_scriptnames.sql b/sql/updates/world/2011_12_25_01_world_areatrigger_scriptnames.sql new file mode 100644 index 00000000000..ebed9976f44 --- /dev/null +++ b/sql/updates/world/2011_12_25_01_world_areatrigger_scriptnames.sql @@ -0,0 +1,9 @@ +DELETE FROM `areatrigger_scripts` WHERE `ScriptName`='at_bring_your_orphan_to'; +INSERT INTO `areatrigger_scripts` (`entry`,`ScriptName`) VALUES +(3551,'at_bring_your_orphan_to'), +(3549,'at_bring_your_orphan_to'), +(3547,'at_bring_your_orphan_to'), +(3546,'at_bring_your_orphan_to'), +(3552,'at_bring_your_orphan_to'), +(3548,'at_bring_your_orphan_to'), +(4356,'at_bring_your_orphan_to'); diff --git a/src/server/scripts/World/areatrigger_scripts.cpp b/src/server/scripts/World/areatrigger_scripts.cpp index b1d1b97f21b..84af6273070 100644 --- a/src/server/scripts/World/areatrigger_scripts.cpp +++ b/src/server/scripts/World/areatrigger_scripts.cpp @@ -29,7 +29,8 @@ at_legion_teleporter 4560 Teleporter TO Invasion Point: Cataclysm at_stormwright_shelf q12741 at_last_rites q12019 at_sholazar_waygate q12548 -at_nats_landing q11209 +at_nats_landing q11209 +at_bring_your_orphan_to q910 q910 q1800 q1479 q1687 q1558 q10951 q10952 EndContentData */ #include "ScriptPCH.h" @@ -293,6 +294,76 @@ class AreaTrigger_at_nats_landing : public AreaTriggerScript } }; +/*###### +## at_bring_your_orphan_to +######*/ + +enum BringYourOrphanTo +{ + QUEST_DOWN_AT_THE_DOCKS = 910, + QUEST_GATEWAY_TO_THE_FRONTIER = 911, + QUEST_LORDAERON_THRONE_ROOM = 1800, + QUEST_BOUGHT_OF_ETERNALS = 1479, + QUEST_SPOOKY_LIGHTHOUSE = 1687, + QUEST_STONEWROUGHT_DAM = 1558, + QUEST_DARK_PORTAL_H = 10951, + QUEST_DARK_PORTAL_A = 10952, + + AT_DOWN_AT_THE_DOCKS = 3551, + AT_GATEWAY_TO_THE_FRONTIER = 3549, + AT_LORDAERON_THRONE_ROOM = 3547, + AT_BOUGHT_OF_ETERNALS = 3546, + AT_SPOOKY_LIGHTHOUSE = 3552, + AT_STONEWROUGHT_DAM = 3548, + AT_DARK_PORTAL = 4356, + + AURA_ORPHAN_OUT = 58818, +}; + +class AreaTrigger_at_bring_your_orphan_to : public AreaTriggerScript +{ + public: + AreaTrigger_at_bring_your_orphan_to() : AreaTriggerScript("at_bring_your_orphan_to") { } + + bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) + { + uint32 questId = 0; + + if (player->isDead() || !player->HasAura(AURA_ORPHAN_OUT)) + return false; + + switch (trigger->id) + { + case AT_DOWN_AT_THE_DOCKS: + questId = QUEST_DOWN_AT_THE_DOCKS; + break; + case AT_GATEWAY_TO_THE_FRONTIER: + questId = QUEST_GATEWAY_TO_THE_FRONTIER; + break; + case AT_LORDAERON_THRONE_ROOM: + questId = QUEST_LORDAERON_THRONE_ROOM; + break; + case AT_BOUGHT_OF_ETERNALS: + questId = QUEST_BOUGHT_OF_ETERNALS; + break; + case AT_SPOOKY_LIGHTHOUSE: + questId = QUEST_SPOOKY_LIGHTHOUSE; + break; + case AT_STONEWROUGHT_DAM: + questId = QUEST_STONEWROUGHT_DAM; + break; + case AT_DARK_PORTAL: + questId = player->GetTeam() == ALLIANCE ? QUEST_DARK_PORTAL_A : QUEST_DARK_PORTAL_H; + break; + } + + if (questId && player->GetQuestStatus(questId) == QUEST_STATUS_INCOMPLETE) + player->AreaExploredOrEventHappens(questId); + + return true; + } +}; + void AddSC_areatrigger_scripts() { new AreaTrigger_at_coilfang_waterfall(); @@ -302,4 +373,5 @@ void AddSC_areatrigger_scripts() new AreaTrigger_at_last_rites(); new AreaTrigger_at_sholazar_waygate(); new AreaTrigger_at_nats_landing(); + new AreaTrigger_at_bring_your_orphan_to(); } -- cgit v1.2.3 From 78ac79220f7ac9bba6e2fec181e6c124475df1b8 Mon Sep 17 00:00:00 2001 From: Discover- Date: Sun, 25 Dec 2011 01:47:02 +0100 Subject: Scripts/Miscellaneous: Script Brewfest welcome areatriggers. Texts were already added in 0a3a961211a0f1c82b0f75df2aab6f7d49855337. Closes #3615 --- ...2011_12_25_02_world_areatrigger_scriptnames.sql | 5 ++ src/server/scripts/World/areatrigger_scripts.cpp | 57 ++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 sql/updates/world/2011_12_25_02_world_areatrigger_scriptnames.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_25_02_world_areatrigger_scriptnames.sql b/sql/updates/world/2011_12_25_02_world_areatrigger_scriptnames.sql new file mode 100644 index 00000000000..19c304dcfe9 --- /dev/null +++ b/sql/updates/world/2011_12_25_02_world_areatrigger_scriptnames.sql @@ -0,0 +1,5 @@ +-- Areatrigger scriptname for Brewfest +DELETE FROM `areatrigger_scripts` WHERE `entry` IN (4829,4820); +INSERT INTO `areatrigger_scripts` (`entry`,`ScriptName`) VALUES +(4829,'at_brewfest'), -- Durotar +(4820,'at_brewfest'); -- Dun Morogh \ No newline at end of file diff --git a/src/server/scripts/World/areatrigger_scripts.cpp b/src/server/scripts/World/areatrigger_scripts.cpp index 84af6273070..e9ddfa43d6d 100644 --- a/src/server/scripts/World/areatrigger_scripts.cpp +++ b/src/server/scripts/World/areatrigger_scripts.cpp @@ -31,6 +31,7 @@ at_last_rites q12019 at_sholazar_waygate q12548 at_nats_landing q11209 at_bring_your_orphan_to q910 q910 q1800 q1479 q1687 q1558 q10951 q10952 +at_brewfest EndContentData */ #include "ScriptPCH.h" @@ -364,6 +365,61 @@ class AreaTrigger_at_bring_your_orphan_to : public AreaTriggerScript } }; +/*###### +## at_brewfest +######*/ + +enum Brewfest +{ + NPC_TAPPER_SWINDLEKEG = 24711, + NPC_IPFELKOFER_IRONKEG = 24710, + + AT_BREWFEST_DUROTAR = 4829, + AT_BREWFEST_DUN_MOROGH = 4820, + + SAY_WELCOME = 4, + + AREATRIGGER_TALK_COOLDOWN = 5, // in seconds +}; + +class AreaTrigger_at_brewfest : public AreaTriggerScript +{ + public: + AreaTrigger_at_brewfest() : AreaTriggerScript("at_brewfest") + { + // Initialize for cooldown + _triggerTimes[AT_BREWFEST_DUROTAR] = _triggerTimes[AT_BREWFEST_DUN_MOROGH] = 0; + } + + bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) + { + uint32 triggerId = trigger->id; + // Second trigger happened too early after first, skip for now + if (sWorld->GetGameTime() - _triggerTimes[triggerId] < AREATRIGGER_TALK_COOLDOWN) + return false; + + switch (triggerId) + { + case AT_BREWFEST_DUROTAR: + if (Creature* tapper = player->FindNearestCreature(NPC_TAPPER_SWINDLEKEG, 20.0f)) + tapper->AI()->Talk(SAY_WELCOME, player->GetGUID()); + break; + case AT_BREWFEST_DUN_MOROGH: + if (Creature* ipfelkofer = player->FindNearestCreature(NPC_IPFELKOFER_IRONKEG, 20.0f)) + ipfelkofer->AI()->Talk(SAY_WELCOME, player->GetGUID()); + break; + default: + break; + } + + _triggerTimes[triggerId] = sWorld->GetGameTime(); + return false; + } + + private: + std::map _triggerTimes; +}; + void AddSC_areatrigger_scripts() { new AreaTrigger_at_coilfang_waterfall(); @@ -374,4 +430,5 @@ void AddSC_areatrigger_scripts() new AreaTrigger_at_sholazar_waygate(); new AreaTrigger_at_nats_landing(); new AreaTrigger_at_bring_your_orphan_to(); + new AreaTrigger_at_brewfest(); } -- cgit v1.2.3 From 1a71802bd9ed58ef2522be230c2a0050887390e1 Mon Sep 17 00:00:00 2001 From: Discover- Date: Sun, 25 Dec 2011 01:56:17 +0100 Subject: DB/Quests: Properly script quest A Lost Master. Closes #3702. --- sql/updates/world/2011_12_25_02_world_sai.sql | 47 +++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 sql/updates/world/2011_12_25_02_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_25_02_world_sai.sql b/sql/updates/world/2011_12_25_02_world_sai.sql new file mode 100644 index 00000000000..447502e22e3 --- /dev/null +++ b/sql/updates/world/2011_12_25_02_world_sai.sql @@ -0,0 +1,47 @@ +-- Terenthis SAI +SET @ENTRY := 3693; +SET @QUEST := 986; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +UPDATE `quest_template` SET `StartScript`=0,`CompleteScript`=0 WHERE `entry`=@QUEST; +DELETE FROM `quest_start_scripts` WHERE `id`=@QUEST; +DELETE FROM `quest_end_scripts` WHERE `id`=993; -- For some reason this entry was different.. +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@ENTRY,@ENTRY*100,@ENTRY*100+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 +-- Start quest +(@ENTRY,0,0,0,19,0,100,0,@QUEST,0,0,0,80,@ENTRY*100,0,2,0,0,0,1,0,0,0,0,0,0,0,"Terenthis - On Quest Accept - Run Script"), +(@ENTRY*100,9,0,0,0,0,100,0,0,0,0,0,12,6086,1,25000,0,0,0,8,0,0,0,6435.25,368.004,13.9412,1.09956,"Terenthis - On Script - Summon Auberdine Sentinel"), +(@ENTRY*100,9,1,0,0,0,100,0,5000,5000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Terenthis - On Script - Say Line 0"), +(@ENTRY*100,9,2,0,0,0,100,0,7000,7000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Terenthis - On Script - Say Line 1"), +(@ENTRY*100,9,3,0,0,0,100,0,9000,9000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Terenthis - On Script - Say Line 2"), +-- End quest +(@ENTRY,0,1,0,20,0,100,0,@QUEST,0,0,0,80,@ENTRY*100+1,0,2,0,0,0,1,0,0,0,0,0,0,0,"Terenthis - On Quest Finish - Run Script"), +(@ENTRY*100+1,9,0,0,0,0,100,0,0,0,0,0,12,3695,1,50000,0,0,0,8,0,0,0,6435.25,368.004,13.9412,1.09956,"Terenthis - On Script - Summon Grimclaw"), +(@ENTRY*100+1,9,1,0,0,0,100,0,5000,5000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Terenthis - On Script - Say Line 3"), +(@ENTRY*100+1,9,2,0,0,0,100,0,7000,7000,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Terenthis - On Script - Say Line 4"), +(@ENTRY*100+1,9,3,0,0,0,100,0,9000,9000,0,0,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0,"Terenthis - On Script - Say Line 5"), +(@ENTRY*100+1,9,4,0,0,0,100,0,11000,11000,0,0,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,"Terenthis - On Script - Say Line 6"), +(@ENTRY*100+1,9,5,0,0,0,100,0,14000,14000,0,0,1,7,0,0,0,0,0,1,0,0,0,0,0,0,0,"Terenthis - On Script - Say Line 7"); +-- Texts +DELETE FROM `db_script_string` WHERE `entry` IN (2000000009,2000000010,2000000011,2000000050,2000000051,2000000052,2000000053,2000000054); +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,"What is happening?",12,0,0,0,0,0,"Terenthis"), +(@ENTRY,1,0,"Volcor needs help?",12,0,0,0,0,0,"Terenthis"), +(@ENTRY,2,0,"All right, I shall find people to help him.",12,0,0,0,0,0,"Terenthis"), + +(@ENTRY,3,0,"Hello Grimclaw.",12,0,0,0,0,0,"Terenthis"), +(@ENTRY,4,0,"What is happening?",12,0,0,0,0,0,"Terenthis"), +(@ENTRY,5,0,"Volcor needs help?",12,0,0,0,0,0,"Terenthis"), +(@ENTRY,6,0,"You know where he is?",12,0,0,0,0,0,"Terenthis"), +(@ENTRY,7,0,"Well, ok. I am sending people. We will need to find and help him!",12,0,0,0,0,0,"Terenthis"); + +-- Grimclaw SAI +SET @ENTRY := 3695; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `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,22,0,100,0,101,5000,5000,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grimclaw - Emote Receive 'Wave' - Emote Line 0"); +-- Text +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,"Grimclaw growls in your direction before taking time to sniff you.",16,0,0,0,0,0,"Grimclaw"); -- cgit v1.2.3 From 949093d36d43893843a150dfc52f03ff265b0dc7 Mon Sep 17 00:00:00 2001 From: Discover- Date: Sun, 25 Dec 2011 02:14:28 +0100 Subject: DB/Quests: Script quests Escape Trough Force & Escape Through Stealth --- sql/updates/world/2011_12_25_02_world_sai.sql | 2 +- sql/updates/world/2011_12_25_03_world_sai.sql | 52 +++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 sql/updates/world/2011_12_25_03_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_25_02_world_sai.sql b/sql/updates/world/2011_12_25_02_world_sai.sql index 447502e22e3..f0d69b04964 100644 --- a/sql/updates/world/2011_12_25_02_world_sai.sql +++ b/sql/updates/world/2011_12_25_02_world_sai.sql @@ -2,7 +2,7 @@ SET @ENTRY := 3693; SET @QUEST := 986; UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; -UPDATE `quest_template` SET `StartScript`=0,`CompleteScript`=0 WHERE `entry`=@QUEST; +UPDATE `quest_template` SET `StartScript`=0,`CompleteScript`=0 WHERE `id`=@QUEST; DELETE FROM `quest_start_scripts` WHERE `id`=@QUEST; DELETE FROM `quest_end_scripts` WHERE `id`=993; -- For some reason this entry was different.. DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@ENTRY,@ENTRY*100,@ENTRY*100+1); diff --git a/sql/updates/world/2011_12_25_03_world_sai.sql b/sql/updates/world/2011_12_25_03_world_sai.sql new file mode 100644 index 00000000000..cd45a3fad81 --- /dev/null +++ b/sql/updates/world/2011_12_25_03_world_sai.sql @@ -0,0 +1,52 @@ +-- [Q] [A] Escape Through Force +-- [Q] [A] Escape Through Stealth +-- Volcor SAI +SET @ENTRY := 3692; +SET @QUEST_FORCE := 994; +SET @QUEST_STEALTH := 995; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +UPDATE `quest_template` SET `StartScript`=0,`CompleteScript`=0 WHERE `id` IN (@QUEST_FORCE,@QUEST_STEALTH); +DELETE FROM `quest_start_scripts` WHERE `id` IN (@QUEST_FORCE,@QUEST_STEALTH); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@ENTRY,@ENTRY*100,@ENTRY*100+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 +(@ENTRY,0,0,0,19,0,100,0,@QUEST_FORCE,0,0,0,80,@ENTRY*100,0,0,0,0,0,1,0,0,0,0,0,0,0,"Volcor - On Quest Accept - Run Script"), +(@ENTRY*100,9,0,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Volcor - On Script - Say Line 0"), +(@ENTRY*100,9,1,0,0,0,100,0,0,0,0,0,53,0,@ENTRY,0,0,0,2,1,0,0,0,0,0,0,0,"Volcor - On Script - Start WP"), +(@ENTRY*100,9,2,0,0,0,100,0,135000,135000,0,0,1,2,0,0,0,0,0,7,0,0,0,0,0,0,0,"Volcor - On Script - Say Line 2"), +(@ENTRY*100,9,3,0,0,0,100,0,0,0,0,0,15,@QUEST_FORCE,0,0,0,0,7,0,0,0,0,0,0,0,0,"Volcor - On Script - Quest Credit"), + +(@ENTRY,0,1,0,19,0,100,0,@QUEST_STEALTH,0,0,0,80,@ENTRY*100+1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Volcor - On Quest Accept - Run Script"), +(@ENTRY*100+1,9,0,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,3,0,0,0,0,0,0,"Volcor - On Script - Say Line 0"), +(@ENTRY*100+1,9,1,0,0,0,100,0,0,0,0,0,53,0,@ENTRY,0,0,0,2,1,0,0,0,0,0,0,0,"Volcor - On Script - Start WP"), +(@ENTRY*100+1,9,2,0,0,0,100,0,135000,135000,0,0,1,3,0,0,0,0,0,7,0,0,0,0,0,0,0,"Volcor - On Script - Say Line 3"), +(@ENTRY*100+1,9,3,0,0,0,100,0,0,0,0,0,15,@QUEST_STEALTH,0,0,0,0,7,0,0,0,0,0,0,0,0,"Volcor - On Script - Quest Credit"), + +(@ENTRY,0,2,0,40,0,100,0,15,@ENTRY*100,0,0,41,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Volcor - On WP 15 - Forced Despawn"), +(@ENTRY,0,3,0,4,0,100,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,"Volcor - On Aggro - Say Line 1"); +-- Texts +DELETE FROM `db_script_string` WHERE `entry` BETWEEN 2000000012 AND 2000000016; +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,"All right, let's go.",12,0,100,0,0,0,"Volcor"), +(@ENTRY,1,0,"Oh no! They are here!",12,0,100,0,0,0,"Volcor"), +(@ENTRY,2,0,"OK, $N. Now I can get to the Auberdine alone. Go to Terenthis, he's waiting for you. Thanks for the help!",12,0,100,0,0,0,"Volcor"), +(@ENTRY,3,0,"OK, good luck friend. Thanks for the help.",12,0,100,0,0,0,"Volcor"); + +-- Waypoints +DELETE FROM `waypoints` WHERE `entry`=@ENTRY; +INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES +(@ENTRY,1,4606.61,2.96905,69.909,"Volcor"), +(@ENTRY,2,4615.56,19.7957,70.7951,"Volcor"), +(@ENTRY,3,4626.26,38.1105,69.0281,"Volcor"), +(@ENTRY,4,4633.11,48.379,67.5631,"Volcor"), +(@ENTRY,5,4637.2,71.7156,63.3412,"Volcor"), +(@ENTRY,6,4645.39,88.5048,60.3851,"Volcor"), +(@ENTRY,7,4660.2,104.218,58.4603,"Volcor"), +(@ENTRY,8,4675.33,115.93,56.8969,"Volcor"), +(@ENTRY,9,4688.21,131.397,55.5033,"Volcor"), +(@ENTRY,10,4701.45,145.562,53.2203,"Volcor"), +(@ENTRY,11,4709.21,155.279,52.0846,"Volcor"), +(@ENTRY,12,4716.9,169.528,53.5005,"Volcor"), +(@ENTRY,13,4725.44,180.07,54.7346,"Volcor"), +(@ENTRY,14,4734.01,194.431,55.3888,"Volcor"), +(@ENTRY,15,4747.92,209.436,53.1076,"Volcor"); \ No newline at end of file -- cgit v1.2.3 From dbcccbbb44cd331ab5ad31361b2fa4a6f12990bc Mon Sep 17 00:00:00 2001 From: Discover- Date: Sun, 25 Dec 2011 16:44:55 +0100 Subject: Core/Quests: Add script for quest The Thunderspike. Closes #4458. --- sql/updates/world/2011_12_25_03_world_misc.sql | 3 +++ .../scripts/Outland/blades_edge_mountains.cpp | 27 +++++++++++++++++++++- src/server/scripts/World/areatrigger_scripts.cpp | 4 ++-- 3 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 sql/updates/world/2011_12_25_03_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_25_03_world_misc.sql b/sql/updates/world/2011_12_25_03_world_misc.sql new file mode 100644 index 00000000000..2a2c26d1874 --- /dev/null +++ b/sql/updates/world/2011_12_25_03_world_misc.sql @@ -0,0 +1,3 @@ +-- The Thunderspike +UPDATE `gameobject_template` SET `AIName`='',`ScriptName`='go_thunderspike',`data3`=0 WHERE `entry`=184729; -- data3 was `event_scripts`.`id` +DELETE FROM `event_scripts` WHERE `id`=13685; diff --git a/src/server/scripts/Outland/blades_edge_mountains.cpp b/src/server/scripts/Outland/blades_edge_mountains.cpp index f94a7d2725c..f7c995d8f92 100644 --- a/src/server/scripts/Outland/blades_edge_mountains.cpp +++ b/src/server/scripts/Outland/blades_edge_mountains.cpp @@ -30,6 +30,7 @@ npc_daranelle npc_overseer_nuaar npc_saikkal_the_elder go_legion_obelisk +go_thunderspike EndContentData */ #include "ScriptPCH.h" @@ -537,9 +538,32 @@ public: }; /*###### -## AddSC +## go_thunderspike ######*/ +enum TheThunderspike +{ + NPC_GOR_GRIMGUT = 21319, + QUEST_THUNDERSPIKE = 10526, +}; + +class go_thunderspike : public GameObjectScript +{ + public: + go_thunderspike() : GameObjectScript("go_thunderspike") { } + + bool OnGossipHello(Player* player, GameObject* go) + { + if (player->GetQuestStatus(QUEST_THUNDERSPIKE) == QUEST_STATUS_INCOMPLETE) + { + if (Creature* gorGrimgut = go->SummonCreature(NPC_GOR_GRIMGUT, -2413.4f, 6914.48f, 25.01f, 3.67f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 300000)) + gorGrimgut->AI()->AttackStart(player); + } + + return true; + } +}; + void AddSC_blades_edge_mountains() { new mobs_bladespire_ogre(); @@ -550,4 +574,5 @@ void AddSC_blades_edge_mountains() new go_legion_obelisk(); new npc_bloodmaul_brutebane(); new npc_ogre_brute(); + new go_thunderspike(); } diff --git a/src/server/scripts/World/areatrigger_scripts.cpp b/src/server/scripts/World/areatrigger_scripts.cpp index e9ddfa43d6d..9e3e64f1860 100644 --- a/src/server/scripts/World/areatrigger_scripts.cpp +++ b/src/server/scripts/World/areatrigger_scripts.cpp @@ -402,11 +402,11 @@ class AreaTrigger_at_brewfest : public AreaTriggerScript { case AT_BREWFEST_DUROTAR: if (Creature* tapper = player->FindNearestCreature(NPC_TAPPER_SWINDLEKEG, 20.0f)) - tapper->AI()->Talk(SAY_WELCOME, player->GetGUID()); + tapper->AI()->Talk(SAY_WELCOME, player->GetGUID()); break; case AT_BREWFEST_DUN_MOROGH: if (Creature* ipfelkofer = player->FindNearestCreature(NPC_IPFELKOFER_IRONKEG, 20.0f)) - ipfelkofer->AI()->Talk(SAY_WELCOME, player->GetGUID()); + ipfelkofer->AI()->Talk(SAY_WELCOME, player->GetGUID()); break; default: break; -- cgit v1.2.3 From 9b8d18e7cd09625ba5b24355a3ca88b83125fd11 Mon Sep 17 00:00:00 2001 From: Discover- Date: Sun, 25 Dec 2011 17:17:28 +0100 Subject: Scripts/Quests: Add a double check in summoning for two of my previous scripts, as well as revert changing WDB data. --- sql/updates/world/2011_12_25_03_world_misc.sql | 2 +- src/server/scripts/Kalimdor/desolace.cpp | 4 ++-- src/server/scripts/Outland/blades_edge_mountains.cpp | 4 +--- 3 files changed, 4 insertions(+), 6 deletions(-) (limited to 'sql') diff --git a/sql/updates/world/2011_12_25_03_world_misc.sql b/sql/updates/world/2011_12_25_03_world_misc.sql index 2a2c26d1874..a8967354a3d 100644 --- a/sql/updates/world/2011_12_25_03_world_misc.sql +++ b/sql/updates/world/2011_12_25_03_world_misc.sql @@ -1,3 +1,3 @@ -- The Thunderspike -UPDATE `gameobject_template` SET `AIName`='',`ScriptName`='go_thunderspike',`data3`=0 WHERE `entry`=184729; -- data3 was `event_scripts`.`id` +UPDATE `gameobject_template` SET `AIName`='',`ScriptName`='go_thunderspike' WHERE `entry`=184729; DELETE FROM `event_scripts` WHERE `id`=13685; diff --git a/src/server/scripts/Kalimdor/desolace.cpp b/src/server/scripts/Kalimdor/desolace.cpp index 3d023b93dc2..5badc7fe725 100644 --- a/src/server/scripts/Kalimdor/desolace.cpp +++ b/src/server/scripts/Kalimdor/desolace.cpp @@ -188,7 +188,7 @@ class go_iruxos : public GameObjectScript bool OnGossipHello(Player* player, GameObject* go) { - if (player->GetQuestStatus(QUEST_HAND_IRUXOS) == QUEST_STATUS_INCOMPLETE) + if (player->GetQuestStatus(QUEST_HAND_IRUXOS) == QUEST_STATUS_INCOMPLETE && !go->FindNearestCreature(NPC_DEMON_SPIRIT, 25.0f, true)) player->SummonCreature(NPC_DEMON_SPIRIT, go->GetPositionX(), go->GetPositionY(), go->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000); return true; @@ -283,7 +283,7 @@ class go_demon_portal : public GameObjectScript bool OnGossipHello(Player* player, GameObject* go) { - if (player->GetQuestStatus(QUEST_PORTAL_OF_THE_LEGION) == QUEST_STATUS_INCOMPLETE) + if (player->GetQuestStatus(QUEST_PORTAL_OF_THE_LEGION) == QUEST_STATUS_INCOMPLETE && !go->FindNearestCreature(NPC_DEMON_GUARDIAN, 5.0f, true)) { if (Creature* guardian = player->SummonCreature(NPC_DEMON_GUARDIAN, go->GetPositionX(), go->GetPositionY(), go->GetPositionZ(), 0.0f, TEMPSUMMON_DEAD_DESPAWN, 0)) guardian->AI()->AttackStart(player); diff --git a/src/server/scripts/Outland/blades_edge_mountains.cpp b/src/server/scripts/Outland/blades_edge_mountains.cpp index f7c995d8f92..87304a3f721 100644 --- a/src/server/scripts/Outland/blades_edge_mountains.cpp +++ b/src/server/scripts/Outland/blades_edge_mountains.cpp @@ -554,11 +554,9 @@ class go_thunderspike : public GameObjectScript bool OnGossipHello(Player* player, GameObject* go) { - if (player->GetQuestStatus(QUEST_THUNDERSPIKE) == QUEST_STATUS_INCOMPLETE) - { + if (player->GetQuestStatus(QUEST_THUNDERSPIKE) == QUEST_STATUS_INCOMPLETE && !go->FindNearestCreature(NPC_GOR_GRIMGUT, 25.0f, true)) if (Creature* gorGrimgut = go->SummonCreature(NPC_GOR_GRIMGUT, -2413.4f, 6914.48f, 25.01f, 3.67f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 300000)) gorGrimgut->AI()->AttackStart(player); - } return true; } -- cgit v1.2.3 From a20eac668fb759ab762c00707058c7b991cfff54 Mon Sep 17 00:00:00 2001 From: MacWarrior Date: Mon, 26 Dec 2011 00:02:17 +0100 Subject: Update sql/updates/world/2011_12_13_00_world_misc.sql --- sql/updates/world/2011_12_13_00_world_misc.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql') diff --git a/sql/updates/world/2011_12_13_00_world_misc.sql b/sql/updates/world/2011_12_13_00_world_misc.sql index 48848c368f1..13958e75761 100644 --- a/sql/updates/world/2011_12_13_00_world_misc.sql +++ b/sql/updates/world/2011_12_13_00_world_misc.sql @@ -3,4 +3,4 @@ INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`pr (28012,0,0,'The trickster Mage-Lord Urom protects the third ring. He will appear alone and defenseless, but do not be fooled by appearences! Urom is a powerful conjurer who commands a menagerie of Phantasmal creatures. Seek him out above.',12,0,0,0,0,0,''), (28012,1,1,'Your greatest challenge lies ahead. Ley-Guardian Eregos is a Blue dragon of immense power. You will find him flying above the uppermost ring.',12,0,0,0,0,0,''); -UPDATE `creature_template` SET `ScriptName`='npc_image_belgaristrasz' WHERE `entry`=28012; \ No newline at end of file +UPDATE `creature_template` SET `ScriptName`='npc_image_belgaristrasz' WHERE `entry`=28012; -- cgit v1.2.3 From 017c7f53f5cef1e9fbfc65de97b45762d786e7e8 Mon Sep 17 00:00:00 2001 From: MacWarrior Date: Mon, 26 Dec 2011 00:03:20 +0100 Subject: Update sql/updates/world/2011_12_13_01_world_achievement_criteria_data.sql --- sql/updates/world/2011_12_13_01_world_achievement_criteria_data.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql') diff --git a/sql/updates/world/2011_12_13_01_world_achievement_criteria_data.sql b/sql/updates/world/2011_12_13_01_world_achievement_criteria_data.sql index 9f3f22d7792..89bbfc7126d 100644 --- a/sql/updates/world/2011_12_13_01_world_achievement_criteria_data.sql +++ b/sql/updates/world/2011_12_13_01_world_achievement_criteria_data.sql @@ -9,4 +9,4 @@ INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`, (7178,5,49346,1,''), -- Emerald Drake (7178,12,1,0, ''), -- hc mode only (7179,5,49464,1,''), -- Ruby Drake -(7179,12,1,0, ''); -- hc mode only \ No newline at end of file +(7179,12,1,0, ''); -- hc mode only -- cgit v1.2.3 From 1df89d8c7f70bf4810a983f714f4c4b58411e3a1 Mon Sep 17 00:00:00 2001 From: MacWarrior Date: Mon, 26 Dec 2011 00:03:39 +0100 Subject: Update sql/updates/world/2011_12_13_02_creature_template_addon.sql --- sql/updates/world/2011_12_13_02_creature_template_addon.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql') diff --git a/sql/updates/world/2011_12_13_02_creature_template_addon.sql b/sql/updates/world/2011_12_13_02_creature_template_addon.sql index 2e7280927bf..f1dc473bdd7 100644 --- a/sql/updates/world/2011_12_13_02_creature_template_addon.sql +++ b/sql/updates/world/2011_12_13_02_creature_template_addon.sql @@ -1,2 +1,2 @@ -- Fix speed of oculus drakes -UPDATE `creature_template_addon` SET `auras`='50325' WHERE `entry` IN (27755,27692,27756); \ No newline at end of file +UPDATE `creature_template_addon` SET `auras`='50325' WHERE `entry` IN (27755,27692,27756); -- cgit v1.2.3 From d75c4da2e6ddb3c4dc6bdeccb180a0ede42c0969 Mon Sep 17 00:00:00 2001 From: MacWarrior Date: Mon, 26 Dec 2011 00:03:57 +0100 Subject: Update sql/updates/world/2011_12_14_01_world_gameobject_template.sql --- sql/updates/world/2011_12_14_01_world_gameobject_template.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql') diff --git a/sql/updates/world/2011_12_14_01_world_gameobject_template.sql b/sql/updates/world/2011_12_14_01_world_gameobject_template.sql index 12729afd6b8..52c04703acc 100644 --- a/sql/updates/world/2011_12_14_01_world_gameobject_template.sql +++ b/sql/updates/world/2011_12_14_01_world_gameobject_template.sql @@ -1 +1 @@ -UPDATE `gameobject_template` SET `scriptName` = 'go_ethereal_teleport_pad' WHERE `entry` = 184073; -- Update Ethereal Teleport Pad scriptname \ No newline at end of file +UPDATE `gameobject_template` SET `scriptName` = 'go_ethereal_teleport_pad' WHERE `entry` = 184073; -- Update Ethereal Teleport Pad scriptname -- cgit v1.2.3 From bc4194ff238a49878ef2f9e60e13af25f8656fd8 Mon Sep 17 00:00:00 2001 From: MacWarrior Date: Mon, 26 Dec 2011 00:04:13 +0100 Subject: Update sql/updates/world/2011_12_16_00_world_creature_template.sql --- sql/updates/world/2011_12_16_00_world_creature_template.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql') diff --git a/sql/updates/world/2011_12_16_00_world_creature_template.sql b/sql/updates/world/2011_12_16_00_world_creature_template.sql index 156fd431359..3ff9d630c54 100644 --- a/sql/updates/world/2011_12_16_00_world_creature_template.sql +++ b/sql/updates/world/2011_12_16_00_world_creature_template.sql @@ -1,4 +1,4 @@ -- Greater Fire Elemental script UPDATE `creature_template` SET `ScriptName`='npc_fire_elemental' WHERE `entry`=15438; -- Greater Earth Elemental script -UPDATE `creature_template` SET `ScriptName`='npc_earth_elemental' WHERE `entry`=15352; \ No newline at end of file +UPDATE `creature_template` SET `ScriptName`='npc_earth_elemental' WHERE `entry`=15352; -- cgit v1.2.3 From cf6f2ae0fe14c99c838d5ab80fa7d8ff385d3787 Mon Sep 17 00:00:00 2001 From: MacWarrior Date: Mon, 26 Dec 2011 00:04:41 +0100 Subject: Update sql/updates/world/2011_12_16_00_world_spell_bonus_data.sql --- sql/updates/world/2011_12_16_00_world_spell_bonus_data.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql') diff --git a/sql/updates/world/2011_12_16_00_world_spell_bonus_data.sql b/sql/updates/world/2011_12_16_00_world_spell_bonus_data.sql index 3250bda4fdb..5864b9ac042 100644 --- a/sql/updates/world/2011_12_16_00_world_spell_bonus_data.sql +++ b/sql/updates/world/2011_12_16_00_world_spell_bonus_data.sql @@ -2,4 +2,4 @@ DELETE FROM `spell_bonus_data` WHERE `entry` IN (13376,57984); INSERT INTO `spell_bonus_data` (`entry`, `direct_bonus`, `dot_bonus`,`ap_bonus`, `ap_dot_bonus`, `comments`) VALUES (13376,0.032,-1,-1,-1,'Greater Fire Elemental - Fire Shield'), -(57984,0.4289,-1,-1,-1,'Greater Fire Elemental - Fire Blast'); \ No newline at end of file +(57984,0.4289,-1,-1,-1,'Greater Fire Elemental - Fire Blast'); -- cgit v1.2.3 From 4696d343ba4e48f7e55f32dcf208842767b3ee2f Mon Sep 17 00:00:00 2001 From: MacWarrior Date: Mon, 26 Dec 2011 00:04:57 +0100 Subject: Update sql/updates/world/2011_12_19_02_world_achievement_criteria_data.sql --- sql/updates/world/2011_12_19_02_world_achievement_criteria_data.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql') diff --git a/sql/updates/world/2011_12_19_02_world_achievement_criteria_data.sql b/sql/updates/world/2011_12_19_02_world_achievement_criteria_data.sql index f5df93c3bd1..af7b0a9361b 100644 --- a/sql/updates/world/2011_12_19_02_world_achievement_criteria_data.sql +++ b/sql/updates/world/2011_12_19_02_world_achievement_criteria_data.sql @@ -8,4 +8,4 @@ INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value -- requires Holiday Winter Veil (3936, 16, 141, 0, ''), (3937, 16, 141, 0, ''), -(3938, 16, 141, 0, ''); \ No newline at end of file +(3938, 16, 141, 0, ''); -- cgit v1.2.3 From 4792d2e18a59362023e3b4e44fc67b2acabd53b0 Mon Sep 17 00:00:00 2001 From: MacWarrior Date: Mon, 26 Dec 2011 00:05:11 +0100 Subject: Update sql/updates/world/2011_12_24_00_world_misc.sql --- sql/updates/world/2011_12_24_00_world_misc.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql') diff --git a/sql/updates/world/2011_12_24_00_world_misc.sql b/sql/updates/world/2011_12_24_00_world_misc.sql index fb5816bb737..5e070d0771e 100644 --- a/sql/updates/world/2011_12_24_00_world_misc.sql +++ b/sql/updates/world/2011_12_24_00_world_misc.sql @@ -7,4 +7,4 @@ INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`pr (22314,0,0,"Woot!",12,0,100,0,0,0,"Captive Child"), (22314,0,1,"I think those weird bird guys were going to eat us. Gross!",12,0,100,0,0,0,"Captive Child"), (22314,0,2,"Yay! We're free!",12,0,100,0,0,0,"Captive Child"), -(22314,0,3,"Gross!",12,0,100,0,0,0,"Captive Child"); \ No newline at end of file +(22314,0,3,"Gross!",12,0,100,0,0,0,"Captive Child"); -- cgit v1.2.3 From e75c3b1acdd3d024b954b0fe373ac7585530fcec Mon Sep 17 00:00:00 2001 From: MacWarrior Date: Mon, 26 Dec 2011 00:05:27 +0100 Subject: Update sql/updates/world/2011_12_25_00_world_areatrigger_scriptnames.sql --- sql/updates/world/2011_12_25_00_world_areatrigger_scriptnames.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql') diff --git a/sql/updates/world/2011_12_25_00_world_areatrigger_scriptnames.sql b/sql/updates/world/2011_12_25_00_world_areatrigger_scriptnames.sql index 4a66326ead5..2a16394c7fe 100644 --- a/sql/updates/world/2011_12_25_00_world_areatrigger_scriptnames.sql +++ b/sql/updates/world/2011_12_25_00_world_areatrigger_scriptnames.sql @@ -1,3 +1,3 @@ DELETE FROM `areatrigger_scripts` WHERE `entry`=4752; INSERT INTO `areatrigger_scripts` (`entry`,`ScriptName`) VALUES -(4752,'at_nats_landing'); \ No newline at end of file +(4752,'at_nats_landing'); -- cgit v1.2.3 From 1050df709057d99e61efae2c9f8a0b4d5262129e Mon Sep 17 00:00:00 2001 From: MacWarrior Date: Mon, 26 Dec 2011 00:05:46 +0100 Subject: Update sql/updates/world/2011_12_25_00_world_spell_script_names.sql --- sql/updates/world/2011_12_25_00_world_spell_script_names.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql') diff --git a/sql/updates/world/2011_12_25_00_world_spell_script_names.sql b/sql/updates/world/2011_12_25_00_world_spell_script_names.sql index a4bf9aef5dc..dc42056f84c 100644 --- a/sql/updates/world/2011_12_25_00_world_spell_script_names.sql +++ b/sql/updates/world/2011_12_25_00_world_spell_script_names.sql @@ -1,4 +1,4 @@ UPDATE `item_template` SET `ScriptName`='' WHERE `entry`=23654; DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_q9452_cast_net'; INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES -(29866,'spell_q9452_cast_net'); \ No newline at end of file +(29866,'spell_q9452_cast_net'); -- cgit v1.2.3 From 97904e55af842e284d98cb1c3e7211a689f77c33 Mon Sep 17 00:00:00 2001 From: MacWarrior Date: Mon, 26 Dec 2011 00:06:02 +0100 Subject: Update sql/updates/world/2011_12_25_02_world_areatrigger_scriptnames.sql --- sql/updates/world/2011_12_25_02_world_areatrigger_scriptnames.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql') diff --git a/sql/updates/world/2011_12_25_02_world_areatrigger_scriptnames.sql b/sql/updates/world/2011_12_25_02_world_areatrigger_scriptnames.sql index 19c304dcfe9..78a1fbc98c9 100644 --- a/sql/updates/world/2011_12_25_02_world_areatrigger_scriptnames.sql +++ b/sql/updates/world/2011_12_25_02_world_areatrigger_scriptnames.sql @@ -2,4 +2,4 @@ DELETE FROM `areatrigger_scripts` WHERE `entry` IN (4829,4820); INSERT INTO `areatrigger_scripts` (`entry`,`ScriptName`) VALUES (4829,'at_brewfest'), -- Durotar -(4820,'at_brewfest'); -- Dun Morogh \ No newline at end of file +(4820,'at_brewfest'); -- Dun Morogh -- cgit v1.2.3 From f6a9fbd69a8739e6a6f9109bebb7d248bbb37440 Mon Sep 17 00:00:00 2001 From: MacWarrior Date: Mon, 26 Dec 2011 00:06:29 +0100 Subject: Update sql/updates/world/2011_12_25_03_world_sai.sql --- sql/updates/world/2011_12_25_03_world_sai.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql') diff --git a/sql/updates/world/2011_12_25_03_world_sai.sql b/sql/updates/world/2011_12_25_03_world_sai.sql index cd45a3fad81..e53c9f72e38 100644 --- a/sql/updates/world/2011_12_25_03_world_sai.sql +++ b/sql/updates/world/2011_12_25_03_world_sai.sql @@ -49,4 +49,4 @@ INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z (@ENTRY,12,4716.9,169.528,53.5005,"Volcor"), (@ENTRY,13,4725.44,180.07,54.7346,"Volcor"), (@ENTRY,14,4734.01,194.431,55.3888,"Volcor"), -(@ENTRY,15,4747.92,209.436,53.1076,"Volcor"); \ No newline at end of file +(@ENTRY,15,4747.92,209.436,53.1076,"Volcor"); -- cgit v1.2.3 From 8bed4ce7a3638c822913ee7f52a5bf78dddde947 Mon Sep 17 00:00:00 2001 From: Shocker Date: Mon, 26 Dec 2011 04:44:22 +0200 Subject: Core/Achievements: Start implementing DBC achievement criteria conditions and remove db data and code for outdated DB achievement criteria datas --- ...11_12_26_00_world_achievement_criteria_data.sql | 3 + src/server/game/Achievements/AchievementMgr.cpp | 111 ++++++++++----------- src/server/game/Achievements/AchievementMgr.h | 31 +----- src/server/game/DataStores/DBCEnums.h | 99 +++++++++++++----- src/server/game/DataStores/DBCStructure.h | 4 +- 5 files changed, 136 insertions(+), 112 deletions(-) create mode 100644 sql/updates/world/4.x/2011_12_26_00_world_achievement_criteria_data.sql (limited to 'sql') diff --git a/sql/updates/world/4.x/2011_12_26_00_world_achievement_criteria_data.sql b/sql/updates/world/4.x/2011_12_26_00_world_achievement_criteria_data.sql new file mode 100644 index 00000000000..0f2936634fb --- /dev/null +++ b/sql/updates/world/4.x/2011_12_26_00_world_achievement_criteria_data.sql @@ -0,0 +1,3 @@ +-- Remove unneeded achievement criteria datas for implemented DBC conditions: +-- TYPE_T_PLAYER_DEAD 4, TYPE_S_AREA 6, TYPE_MAP_DIFFICULTY 12, TYPE_MAP_ID 20 +DELETE FROM achievement_criteria_data WHERE `type` IN (4, 6, 12, 20); diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp index abbf36f0c3d..8cf4d4efb59 100755 --- a/src/server/game/Achievements/AchievementMgr.cpp +++ b/src/server/game/Achievements/AchievementMgr.cpp @@ -155,14 +155,6 @@ bool AchievementCriteriaData::IsValid(AchievementCriteriaEntry const* criteria) return false; } return true; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_DEAD: - if (player_dead.own_team_flag > 1) - { - sLog->outErrorDb("Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_DEAD (%u) has wrong boolean value1 (%u).", - criteria->ID, criteria->requiredType, dataType, player_dead.own_team_flag); - return false; - } - return true; case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA: case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_AURA: { @@ -187,14 +179,6 @@ bool AchievementCriteriaData::IsValid(AchievementCriteriaEntry const* criteria) } return true; } - case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AREA: - if (!GetAreaEntryByAreaID(area.id)) - { - sLog->outErrorDb("Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AREA (%u) has wrong area id in value1 (%u), ignored.", - criteria->ID, criteria->requiredType, dataType, area.id); - return false; - } - return true; case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_LEVEL: if (level.minlevel > STRONG_MAX_LEVEL) { @@ -219,14 +203,6 @@ bool AchievementCriteriaData::IsValid(AchievementCriteriaEntry const* criteria) return false; } return true; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY: - if (difficulty.difficulty >= MAX_DIFFICULTY) - { - sLog->outErrorDb("Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY (%u) has wrong difficulty in value1 (%u), ignored.", - criteria->ID, criteria->requiredType, dataType, difficulty.difficulty); - return false; - } - return true; case ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT: if (map_players.maxcount <= 0) { @@ -269,14 +245,6 @@ bool AchievementCriteriaData::IsValid(AchievementCriteriaEntry const* criteria) return false; } return true; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_ID: - if (!sMapStore.LookupEntry(map_id.mapId)) - { - sLog->outErrorDb("Table `achievement_criteria_requirement` (Entry: %u Type: %u) for requirement ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_ID (%u) has unknown map id in value1 (%u), ignored.", - criteria->ID, criteria->requiredType, dataType, map_id.mapId); - return false; - } - return true; default: sLog->outErrorDb("Table `achievement_criteria_data` (Entry: %u Type: %u) has data for non-supported data type (%u), ignored.", criteria->ID, criteria->requiredType, dataType); return false; @@ -305,21 +273,8 @@ bool AchievementCriteriaData::Meets(uint32 criteria_id, Player const* source, Un if (!target || target->GetTypeId() != TYPEID_PLAYER) return false; return !target->HealthAbovePct(health.percent); - case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_DEAD: - if (target && !target->isAlive()) - if (const Player* player = target->ToPlayer()) - if (player->GetDeathTimer() != 0) - // flag set == must be same team, not set == different team - return (player->GetTeam() == source->GetTeam()) == (player_dead.own_team_flag != 0); - return false; case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA: return source->HasAuraEffect(aura.spell_id, aura.effect_idx); - case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AREA: - { - uint32 zone_id, area_id; - source->GetZoneAndAreaId(zone_id, area_id); - return area.id == zone_id || area.id == area_id; - } case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_AURA: return target && target->HasAuraEffect(aura.spell_id, aura.effect_idx); case ACHIEVEMENT_CRITERIA_DATA_TYPE_VALUE: @@ -334,11 +289,6 @@ bool AchievementCriteriaData::Meets(uint32 criteria_id, Player const* source, Un return target->getGender() == gender.gender; case ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT: return sScriptMgr->OnCriteriaCheck(this, const_cast(source), const_cast(target)); - case ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY: - if (source->GetMap()->IsRaid()) - if (source->GetMap()->Is25ManRaid() != (difficulty.difficulty & RAID_DIFFICULTY_MASK_25MAN)) - return false; - return source->GetMap()->GetSpawnMode() >= difficulty.difficulty; case ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT: return source->GetMap()->GetPlayersCountExceptGMs() <= map_players.maxcount; case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM: @@ -383,8 +333,6 @@ bool AchievementCriteriaData::Meets(uint32 criteria_id, Player const* source, Un return false; return pProto->ItemLevel >= equipped_item.item_level && pProto->Quality >= equipped_item.item_quality; } - case ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_ID: - return source->GetMapId() == map_id.mapId; default: break; } @@ -747,7 +695,7 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui if (!achievement) continue; - if (!CanUpdateCriteria(achievementCriteria, achievement)) + if (!CanUpdateCriteria(achievementCriteria, achievement, miscValue1, miscValue2, unit)) continue; switch (type) @@ -2131,7 +2079,7 @@ bool AchievementMgr::HasAchieved(uint32 achievementId) const return m_completedAchievements.find(achievementId) != m_completedAchievements.end(); } -bool AchievementMgr::CanUpdateCriteria(AchievementCriteriaEntry const* criteria, AchievementEntry const* achievement) +bool AchievementMgr::CanUpdateCriteria(AchievementCriteriaEntry const* criteria, AchievementEntry const* achievement, uint64 miscValue1, uint64 miscValue2, Unit* unit) { if (DisableMgr::IsDisabledFor(DISABLE_TYPE_ACHIEVEMENT_CRITERIA, criteria->ID, NULL)) return false; @@ -2139,6 +2087,10 @@ bool AchievementMgr::CanUpdateCriteria(AchievementCriteriaEntry const* criteria, if (achievement->mapID != -1 && GetPlayer()->GetMapId() != uint32(achievement->mapID)) return false; + // don't update already completed criteria + if (IsCompletedCriteria(criteria, achievement)) + return false; + if ((achievement->requiredFaction == ACHIEVEMENT_FACTION_HORDE && GetPlayer()->GetTeam() != HORDE) || (achievement->requiredFaction == ACHIEVEMENT_FACTION_ALLIANCE && GetPlayer()->GetTeam() != ALLIANCE)) return false; @@ -2162,10 +2114,55 @@ bool AchievementMgr::CanUpdateCriteria(AchievementCriteriaEntry const* criteria, break; } } + + // additional conditions + for (int8 i = 0; i < MAX_ADDITIONAL_CRITERIA_CONDITIONS; ++i) + { + if (!criteria->additionalConditionType[i]) + continue; - // don't update already completed criteria - if (IsCompletedCriteria(criteria, achievement)) - return false; + uint32 value = criteria->additionalConditionValue[i]; + switch (criteria->additionalConditionType[i]) + { + case ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_TARGET_MUST_BE_PLAYER: + if (!unit || !unit->ToPlayer()) + return false; + break; + case ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_TARGET_MUST_BE_DEAD: + if (!unit || unit->isAlive()) + return false; + break; + case ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_TARGET_MUST_BE_MOUNTED: + if (!unit || !unit->IsMounted()) + return false; + break; + case ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_MAP_DIFFICULTY: + if (GetPlayer()->GetDifficulty(GetPlayer()->GetMap()->IsRaid()) != value) + return false; + break; + case ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_SOURCE_MAP: + if (GetPlayer()->GetMapId() != value) + return false; + break; + case ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_SOURCE_ZONE: + if (GetPlayer()->GetZoneId() != value) + return false; + break; + case ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_SOURCE_AREA: + if (GetPlayer()->GetAreaId() != value) + return false; + break; + case ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_TARGET_MUST_BE_ENEMY: + if (!unit) + return false; + if (const Player* player = unit->ToPlayer()) + if (player->GetDeathTimer() != 0 && player->GetTeam() == GetPlayer()->GetTeam()) + return false; + break; + default: + break; + } + } return true; } diff --git a/src/server/game/Achievements/AchievementMgr.h b/src/server/game/Achievements/AchievementMgr.h index f88be974c9d..8d78eb9f113 100755 --- a/src/server/game/Achievements/AchievementMgr.h +++ b/src/server/game/Achievements/AchievementMgr.h @@ -46,15 +46,12 @@ enum AchievementCriteriaDataType ACHIEVEMENT_CRITERIA_DATA_TYPE_T_CREATURE = 1, // creature_id 0 ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_CLASS_RACE = 2, // class_id race_id ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_LESS_HEALTH= 3, // health_percent 0 - ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_DEAD = 4, // own_team 0 not corpse (not released body), own_team == false if enemy team expected ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA = 5, // spell_id effect_idx - ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AREA = 6, // area id 0 ACHIEVEMENT_CRITERIA_DATA_TYPE_T_AURA = 7, // spell_id effect_idx ACHIEVEMENT_CRITERIA_DATA_TYPE_VALUE = 8, // minvalue value provided with achievement update must be not less that limit ACHIEVEMENT_CRITERIA_DATA_TYPE_T_LEVEL = 9, // minlevel minlevel of target ACHIEVEMENT_CRITERIA_DATA_TYPE_T_GENDER = 10, // gender 0=male; 1=female ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT = 11, // scripted requirement - ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY = 12, // difficulty normal/heroic difficulty for current event map ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT = 13, // count "with less than %u people in the zone" ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM = 14, // team HORDE(67), ALLIANCE(469) ACHIEVEMENT_CRITERIA_DATA_TYPE_S_DRUNK = 15, // drunken_state 0 (enum DrunkenState) of player @@ -62,11 +59,9 @@ enum AchievementCriteriaDataType ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_LOSS_TEAM_SCORE = 17, // min_score max_score player's team win bg and opposition team have team score in range ACHIEVEMENT_CRITERIA_DATA_INSTANCE_SCRIPT = 18, // 0 0 maker instance script call for check current criteria requirements fit ACHIEVEMENT_CRITERIA_DATA_TYPE_S_EQUIPED_ITEM = 19, // item_level item_quality for equipped item in slot to check item level and quality - ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_ID = 20, // map_id 0 player must be on map with id in map_id + MAX_ACHIEVEMENT_CRITERIA_DATA_TYPE, }; -#define MAX_ACHIEVEMENT_CRITERIA_DATA_TYPE 21 // maximum value in AchievementCriteriaDataType enum - class Player; class Unit; @@ -92,11 +87,6 @@ struct AchievementCriteriaData { uint32 percent; } health; - // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_DEAD = 4 - struct - { - uint32 own_team_flag; - } player_dead; // ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA = 5 // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_AURA = 7 struct @@ -104,11 +94,6 @@ struct AchievementCriteriaData uint32 spell_id; uint32 effect_idx; } aura; - // ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AREA = 6 - struct - { - uint32 id; - } area; // ACHIEVEMENT_CRITERIA_DATA_TYPE_VALUE = 8 struct { @@ -125,11 +110,6 @@ struct AchievementCriteriaData uint32 gender; } gender; // ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT = 11 (no data) - // ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY = 12 - struct - { - uint32 difficulty; - } difficulty; // ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT = 13 struct { @@ -163,12 +143,7 @@ struct AchievementCriteriaData uint32 item_level; uint32 item_quality; } equipped_item; - // ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_ID = 20 - struct - { - uint32 mapId; - } map_id; - // ... + // raw struct { uint32 value1; @@ -273,7 +248,7 @@ class AchievementMgr void CompletedCriteriaFor(AchievementEntry const* achievement); bool IsCompletedCriteria(AchievementCriteriaEntry const* achievementCriteria, AchievementEntry const* achievement); bool IsCompletedAchievement(AchievementEntry const* entry); - bool CanUpdateCriteria(AchievementCriteriaEntry const* criteria, AchievementEntry const* achievement); + bool CanUpdateCriteria(AchievementCriteriaEntry const* criteria, AchievementEntry const* achievement, uint64 miscValue1, uint64 miscValue2, Unit* unit); void BuildAllDataPacket(WorldPacket* data) const; Player* m_player; diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h index 2cfcc2117e2..a5253b15cf0 100755 --- a/src/server/game/DataStores/DBCEnums.h +++ b/src/server/game/DataStores/DBCEnums.h @@ -92,6 +92,80 @@ enum AchievementCriteriaCondition ACHIEVEMENT_CRITERIA_CONDITION_UNK3 = 13, // unk }; +#define MAX_ADDITIONAL_CRITERIA_CONDITIONS 3 + +enum AchievementCriteriaAdditionalCondition +{ + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_SOURCE_DRUNK_VALUE = 1, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK2 = 2, + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_ITEM_LEVEL = 3, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_TARGET_CREATURE_ENTRY = 4, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_TARGET_MUST_BE_PLAYER = 5, + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_TARGET_MUST_BE_DEAD = 6, + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_TARGET_MUST_BE_ENEMY = 7, + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_SOURCE_HAS_AURA = 8, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK9 = 9, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_TARGET_HAS_AURA = 10, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_TARGET_MUST_BE_MOUNTED = 11, + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK12 = 12, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK13 = 13, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_ITEM_QUALITY_MIN = 14, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_ITEM_QUALITY_EQUALS = 15, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK16 = 16, + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_SOURCE_AREA = 17, + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_SOURCE_ZONE = 18, + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK19 = 19, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_MAP_DIFFICULTY = 20, + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_TARGET_CREATURE_YIELDS_XP = 21, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK22 = 22, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK23 = 23, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_SOURCE_ARENA_TEAM_SIZE = 24, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_SOURCE_RACE = 25, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_SOURCE_CLASS = 26, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_TARGET_RACE = 27, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_TARGET_CLASS = 28, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_MAX_GROUP_MEMBERS = 29, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_TARGET_CREATURE_TYPE = 30, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK31 = 31, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_SOURCE_MAP = 32, + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_ITEM_CLASS = 33, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_ITEM_SUBCLASS = 34, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK35 = 35, // related to timed completing-quests achievements + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK36 = 36, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_MIN_PERSONAL_RATING = 37, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_TITLE_BIT_INDEX = 38, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_SOURCE_LEVEL = 39, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_TARGET_LEVEL = 40, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_TARGET_ZONE = 41, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK42 = 42, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK43 = 43, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK44 = 44, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK45 = 45, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_TARGET_HEALTH_PERCENT_BELOW = 46, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK47 = 47, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK48 = 48, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK49 = 49, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK50 = 50, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK51 = 51, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK52 = 52, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK53 = 53, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK54 = 54, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK55 = 55, + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_MIN_ACHIEVEMENT_POINTS = 56, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK57 = 57, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_REQUIRES_LFG_GROUP = 58, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK59 = 59, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK60 = 60, + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_REQUIRES_GUILD_GROUP = 61, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_GUILD_REPUTATION = 62, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_RATED_BATTLEGROUND = 63, // NYI + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK64 = 64, // unused in 4.0.6a + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK65 = 65, // Archaeology, item quality related + ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_UNK66 = 66, // Archaeology, race related +}; + +#define MAX_ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_TYPE 66 + enum AchievementCriteriaFlags { ACHIEVEMENT_CRITERIA_FLAG_SHOW_PROGRESS_BAR = 0x00000001, // Show progress as bar @@ -248,31 +322,6 @@ enum AchievementCriteriaTypes ACHIEVEMENT_CRITERIA_TYPE_TOTAL = 137, }; -enum AchievementCriteriaMoreReqType -{ - ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_ITEM_LEVEL = 3, - ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_CREATURE_ID = 4, - ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_SPELL = 8, - ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_SPELL_ON_TARGET = 10, - ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_ITEM_QUALITY_EQUIPPED = 14, - ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_ITEM_QUALITY_LOOTED = 15, - ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_AREA_ID = 17, - ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_AREA_ID2 = 18, - ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_RAID_DIFFICULTY = 20, - ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_ARENA_TYPE = 24, - ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_PLAYER_CLASS = 26, - ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_PLAYER_RACE = 27, - ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_PLAYER_CLASS2 = 28, - ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_CREATURE_TYPE = 30, - ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_MAP_ID = 32, - ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_TIMED_QUEST = 35, - ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_PLAYER_TITLE = 38, - ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_PLAYER_LEVEL = 39, - ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_PLAYER_LEVEL2 = 40, - ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_AREA_ID3 = 41, - ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_GUILD_REP = 62, -}; - enum AchievementCategory { CATEGORY_CHILDRENS_WEEK = 163, diff --git a/src/server/game/DataStores/DBCStructure.h b/src/server/game/DataStores/DBCStructure.h index 744e5a1c048..87a20633d8d 100755 --- a/src/server/game/DataStores/DBCStructure.h +++ b/src/server/game/DataStores/DBCStructure.h @@ -526,8 +526,8 @@ struct AchievementCriteriaEntry uint32 showOrder; // 14 m_ui_order also used in achievement shift-links as index in state bitmask //uint32 unk1; // 15 only one value, still unknown //uint32 unk2; // 16 all zeros - uint32 moreRequirement[3]; // 17-19 - uint32 moreRequirementValue[3]; // 20-22 + uint32 additionalConditionType[MAX_ADDITIONAL_CRITERIA_CONDITIONS]; // 17-19 + uint32 additionalConditionValue[MAX_ADDITIONAL_CRITERIA_CONDITIONS]; // 20-22 }; struct AreaTableEntry -- cgit v1.2.3 From 4e73a5a99626c37abfb03ad9435b12935ba2ac5e Mon Sep 17 00:00:00 2001 From: Discover- Date: Tue, 27 Dec 2011 00:34:03 +0100 Subject: DB/Quests: Script quest Therylune's Escape. Closes #3673. --- sql/updates/world/2011_12_26_00_world_sai.sql | 44 +++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 sql/updates/world/2011_12_26_00_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_26_00_world_sai.sql b/sql/updates/world/2011_12_26_00_world_sai.sql new file mode 100644 index 00000000000..616ced60147 --- /dev/null +++ b/sql/updates/world/2011_12_26_00_world_sai.sql @@ -0,0 +1,44 @@ +-- [Q] [A/H] Therylune's Escape +-- Therylune SAI +SET @ENTRY := 3584; +SET @QUEST := 945; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +UPDATE `quest_template` SET `StartScript`=0,`CompleteScript`=0 WHERE `id`=@QUEST; +DELETE FROM `quest_start_scripts` WHERE `id`=@QUEST; +DELETE FROM `smart_scripts` WHERE `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,1,19,0,100,0,@QUEST,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Therylune - On Quest Accept - Say Line 0"), +(@ENTRY,0,1,0,61,0,100,0,0,0,0,0,53,0,@ENTRY,0,0,0,2,1,0,0,0,0,0,0,0,"Therylune - On Quest Accept - Start WP"), +(@ENTRY,0,2,3,40,0,100,0,20,@ENTRY,0,0,1,1,0,0,0,0,0,7,0,0,0,0,0,0,0,"Therylune - On WP 20 - Say Line 1"), +(@ENTRY,0,3,0,61,0,100,0,0,0,0,0,15,@QUEST,0,0,0,0,7,0,0,0,0,0,0,0,0,"Therylune - On WP 20 - Quest Credit"), +(@ENTRY,0,4,0,40,0,100,0,21,@ENTRY,0,0,41,5000,0,0,0,0,1,0,0,0,0,0,0,0,0,"Therylune - On WP 21 - Forced Despawn"); +-- Texts +DELETE FROM `db_script_string` WHERE `entry` IN (2000000017,2000000018); +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,"Ok, let's go!",12,0,100,0,0,0,"Therylune"), +(@ENTRY,1,0,"I can make it the rest of the way, $N. Thanks!",12,0,100,0,0,0,"Therylune"); +-- Waypoints +DELETE FROM `waypoints` WHERE `entry`=@ENTRY; +INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES +(@ENTRY,1,4520.4,420.235,33.5284,"Therylune"), +(@ENTRY,2,4512.26,408.881,32.9308,"Therylune"), +(@ENTRY,3,4507.94,396.47,32.9476,"Therylune"), +(@ENTRY,4,4507.53,383.781,32.995,"Therylune"), +(@ENTRY,5,4512.1,374.02,33.166,"Therylune"), +(@ENTRY,6,4519.75,373.241,33.1574,"Therylune"), +(@ENTRY,7,4592.41,369.127,31.4893,"Therylune"), +(@ENTRY,8,4598.55,364.801,31.4947,"Therylune"), +(@ENTRY,9,4602.76,357.649,32.9265,"Therylune"), +(@ENTRY,10,4597.88,352.629,34.0317,"Therylune"), +(@ENTRY,11,4590.23,350.9,36.2977,"Therylune"), +(@ENTRY,12,4581.5,348.254,38.3878,"Therylune"), +(@ENTRY,13,4572.05,348.059,42.3539,"Therylune"), +(@ENTRY,14,4564.75,344.041,44.2463,"Therylune"), +(@ENTRY,15,4556.63,341.003,47.6755,"Therylune"), +(@ENTRY,16,4554.38,334.968,48.8003,"Therylune"), +(@ENTRY,17,4557.63,329.783,49.9532,"Therylune"), +(@ENTRY,18,4563.32,316.829,53.2409,"Therylune"), +(@ENTRY,19,4566.09,303.127,55.0396,"Therylune"), +(@ENTRY,20,4561.65,295.456,57.0984,"Therylune"), +(@ENTRY,21,4551.03,293.333,57.1534,"Therylune"); -- cgit v1.2.3 From 5552cc9e3a34e2dbc4fe0eb4b7b692635ea6a64b Mon Sep 17 00:00:00 2001 From: Discover- Date: Tue, 27 Dec 2011 00:36:22 +0100 Subject: DB/Quests: Script quests Enchanted Azsharite Fel Weaponry and Expert Blacksmith! --- sql/updates/world/2011_12_26_01_world_sai.sql | 39 +++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 sql/updates/world/2011_12_26_01_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_26_01_world_sai.sql b/sql/updates/world/2011_12_26_01_world_sai.sql new file mode 100644 index 00000000000..50283820dc8 --- /dev/null +++ b/sql/updates/world/2011_12_26_01_world_sai.sql @@ -0,0 +1,39 @@ +-- [Q] [A/H] Enchanted Azsharite Fel Weaponry +-- [Q] [A/H] Expert Blacksmith! +-- Galvan the Ancient SAI +SET @ENTRY := 7802; +SET @QUEST_ENCHANTED := 3625; +SET @QUEST_EXPERT_BS := 2765; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +UPDATE `quest_template` SET `StartScript`=0,`CompleteScript`=0 WHERE `id` IN (@QUEST_ENCHANTED,@QUEST_EXPERT_BS); +UPDATE `creature` SET `position_x`=-12033.400391,`position_y`=-1003.859985,`position_z`=49.779499,`orientation`=3.910880 WHERE `guid`=384 AND `id`=@ENTRY; -- Galvan the Ancient should be at a different position.. +DELETE FROM `creature` WHERE `guid`=1864 AND `id`=684; -- Flying panther in the middle of our event spot.. +DELETE FROM `creature_addon` WHERE `guid`=1864; +DELETE FROM `quest_start_scripts` WHERE `id` IN (@QUEST_ENCHANTED,@QUEST_EXPERT_BS); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@ENTRY,@ENTRY*100,@ENTRY*100+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 +(@ENTRY,0,0,0,19,0,100,0,@QUEST_ENCHANTED,0,0,0,80,@ENTRY*100,0,2,0,0,0,1,0,0,0,0,0,0,0,"Galvan the Ancient - On Quest Accept - Run Script"), +(@ENTRY*100,9,0,0,0,0,100,0,0,0,0,0,69,0,0,0,0,0,0,8,0,0,0,-12040.5,-1008.7,49.4,3.66,"Galvan the Ancient - On Script - Move To Anvil"), +(@ENTRY*100,9,1,0,0,0,100,0,4000,4000,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"Galvan the Ancient - On Script - Emote STATE_WORK_SHEATHED"), +(@ENTRY*100,9,2,0,0,0,100,0,1500,1500,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"Galvan the Ancient - On Script - Emote STATE_WORK_SHEATHED"), +(@ENTRY*100,9,3,0,0,0,100,0,1500,1500,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"Galvan the Ancient - On Script - Emote STATE_WORK_SHEATHED"), +(@ENTRY*100,9,4,0,0,0,100,0,1500,1500,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"Galvan the Ancient - On Script - Emote STATE_WORK_SHEATHED"), +(@ENTRY*100,9,5,0,0,0,100,0,2000,2000,0,0,69,0,0,0,0,0,0,8,0,0,0,-12040.988281,-1007.649170,49.481323,2.364430,"Galvan the Ancient - On Script - Move To Forge"), +(@ENTRY*100,9,6,0,0,0,100,0,1000,1000,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"Galvan the Ancient - On Script - Emote STATE_WORK_SHEATHED"), +(@ENTRY*100,9,7,0,0,0,100,0,1500,1500,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"Galvan the Ancient - On Script - Emote STATE_WORK_SHEATHED"), +(@ENTRY*100,9,8,0,0,0,100,0,1500,1500,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"Galvan the Ancient - On Script - Emote STATE_WORK_SHEATHED"), +(@ENTRY*100,9,9,0,0,0,100,0,2000,2000,0,0,15,@QUEST_ENCHANTED,0,0,0,0,0,7,0,0,0,0,0,0,0,"Galvan the Ancient - On Script - Quest Credit"), +(@ENTRY*100,9,10,0,0,0,100,0,5000,5000,0,0,69,0,0,0,0,0,0,8,0,0,0,-12033.400391,-1003.859985,49.779499,3.910880,"Galvan the Ancient - On Script - Move To Homeposition"), + +(@ENTRY,0,1,0,19,0,100,0,@QUEST_EXPERT_BS,0,0,0,80,@ENTRY*100+1,0,2,0,0,0,1,0,0,0,0,0,0,0,"Galvan the Ancient - On Quest Accept - Run Script"), +(@ENTRY*100+1,9,0,0,0,0,100,0,0,0,0,0,69,0,0,0,0,0,0,8,0,0,0,-12040.5,-1008.7,49.4,3.66,"Galvan the Ancient - On Script - Move To Anvil"), +(@ENTRY*100+1,9,1,0,0,0,100,0,4000,4000,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"Galvan the Ancient - On Script - Emote STATE_WORK_SHEATHED"), +(@ENTRY*100+1,9,2,0,0,0,100,0,1500,1500,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"Galvan the Ancient - On Script - Emote STATE_WORK_SHEATHED"), +(@ENTRY*100+1,9,3,0,0,0,100,0,1500,1500,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"Galvan the Ancient - On Script - Emote STATE_WORK_SHEATHED"), +(@ENTRY*100+1,9,4,0,0,0,100,0,1500,1500,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"Galvan the Ancient - On Script - Emote STATE_WORK_SHEATHED"), +(@ENTRY*100+1,9,5,0,0,0,100,0,2000,2000,0,0,69,0,0,0,0,0,0,8,0,0,0,-12040.988281,-1007.649170,49.481323,2.364430,"Galvan the Ancient - On Script - Move To Forge"), +(@ENTRY*100+1,9,6,0,0,0,100,0,1000,1000,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"Galvan the Ancient - On Script - Emote STATE_WORK_SHEATHED"), +(@ENTRY*100+1,9,7,0,0,0,100,0,1500,1500,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"Galvan the Ancient - On Script - Emote STATE_WORK_SHEATHED"), +(@ENTRY*100+1,9,8,0,0,0,100,0,1500,1500,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"Galvan the Ancient - On Script - Emote STATE_WORK_SHEATHED"), +(@ENTRY*100+1,9,9,0,0,0,100,0,2000,2000,0,0,15,@QUEST_EXPERT_BS,0,0,0,0,0,7,0,0,0,0,0,0,0,"Galvan the Ancient - On Script - Quest Credit"), +(@ENTRY*100+1,9,10,0,0,0,100,0,5000,5000,0,0,69,0,0,0,0,0,0,8,0,0,0,-12033.400391,-1003.859985,49.779499,3.910880,"Galvan the Ancient - On Script - Move To Homeposition"); -- cgit v1.2.3 From 3c98f2f3913aeb44cd958a363f307500fc97e7e3 Mon Sep 17 00:00:00 2001 From: Discover- Date: Tue, 27 Dec 2011 00:38:54 +0100 Subject: DB/Quests: Script quest The Summoning. Closes #3671. --- sql/updates/world/2011_12_26_02_world_sai.sql | 58 +++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 sql/updates/world/2011_12_26_02_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_26_02_world_sai.sql b/sql/updates/world/2011_12_26_02_world_sai.sql new file mode 100644 index 00000000000..6da23e21875 --- /dev/null +++ b/sql/updates/world/2011_12_26_02_world_sai.sql @@ -0,0 +1,58 @@ +-- [Q] [A/H] The Summoning +-- Bath'rah the Windwatcher SAI +SET @ENTRY := 6176; +SET @QUEST := 1713; +SET @SPELL_SUMMON := 8606; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +UPDATE `quest_template` SET `StartScript`=0,`CompleteScript`=0 WHERE `id`=@QUEST; +DELETE FROM `quest_start_scripts` WHERE `id`=@QUEST; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@ENTRY,@ENTRY*100,@ENTRY*100+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 +(@ENTRY,0,0,0,19,0,100,0,@QUEST,0,0,0,80,@ENTRY*100,0,2,0,0,0,1,0,0,0,0,0,0,0,"Bath'rah the Windwatcher - On Quest Accept - Run Script"), +(@ENTRY*100,9,0,0,0,0,100,0,1000,1000,0,0,53,0,@ENTRY,0,0,0,2,1,0,0,0,0,0,0,0,"Bath'rah the Windwatcher - On Script - Start WP"), +(@ENTRY*100,9,1,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Bath'rah the Windwatcher - On Script - Say Line 0"), +(@ENTRY,0,1,0,0,0,100,0,7,@ENTRY,0,0,80,@ENTRY*100+1,0,2,0,0,0,1,0,0,0,0,0,0,0,"Bath'rah the Windwatcher - On WP 7 - Run Script"), +(@ENTRY*100+1,9,0,0,0,0,100,0,0,0,0,0,11,@SPELL_SUMMON,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bath'rah the Windwatcher - On Script - Cast Summon Cyclonian"), +(@ENTRY*100+1,9,1,0,0,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bath'rah the Windwatcher - On Script - Say Line 1"), +(@ENTRY*100+1,9,2,0,0,0,100,0,15000,15000,0,0,53,0,@ENTRY*10,0,0,0,2,1,0,0,0,0,0,0,0,"Bath'rah the Windwatcher - On Script - Start WP"); +-- Waypoints +DELETE FROM `waypoints` WHERE `entry` IN (@ENTRY,@ENTRY*10); +INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES +(@ENTRY,1,253.05,-1459.09,52.09,"Bath'rah the Windwatcher"), +(@ENTRY,2,256.87,-1440.35,50.09,"Bath'rah the Windwatcher"), +(@ENTRY,3,273.74,-1433.18,50.29,"Bath'rah the Windwatcher"), +(@ENTRY,4,297.77,-1436.7,46.96,"Bath'rah the Windwatcher"), +(@ENTRY,5,329.59,-1442.08,40.31,"Bath'rah the Windwatcher"), +(@ENTRY,6,332.73,-1455.6,42.24,"Bath'rah the Windwatcher"), +(@ENTRY,7,323.83,-1468.92,42.24,"Bath'rah the Windwatcher"), + +(@ENTRY*10,1,332.73,-1455.6,42.24,"Bath'rah the Windwatcher"), +(@ENTRY*10,2,329.59,-1442.08,40.31,"Bath'rah the Windwatcher"), +(@ENTRY*10,3,297.77,-1436.7,46.96,"Bath'rah the Windwatcher"), +(@ENTRY*10,4,273.74,-1433.18,50.29,"Bath'rah the Windwatcher"), +(@ENTRY*10,5,256.87,-1440.35,50.09,"Bath'rah the Windwatcher"), +(@ENTRY*10,6,253.05,-1459.09,52.09,"Bath'rah the Windwatcher"), +(@ENTRY*10,7,250.84,-1470.58,55.4491,"Bath'rah the Windwatcher"); +-- Texts +DELETE FROM `db_script_string` WHERE `entry` IN (2000000029,2000000043); +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,"Follow me, $N. I will soon begin the summoning.",12,0,100,0,0,0,"Bath'rah the Windwatcher"), +(@ENTRY,1,0,"%s begins a spell of summoning...",41,0,100,0,0,0,"Bath'rah the Windwatcher"); +-- Waypoints +DELETE FROM `waypoints` WHERE `entry`=@ENTRY; +INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES +(@ENTRY,1,253.05,-1459.09,52.09,"Bath'rah the Windwatcher"), +(@ENTRY,2,256.87,-1440.35,50.09,"Bath'rah the Windwatcher"), +(@ENTRY,3,273.74,-1433.18,50.29,"Bath'rah the Windwatcher"), +(@ENTRY,4,297.77,-1436.7,46.96,"Bath'rah the Windwatcher"), +(@ENTRY,5,329.59,-1442.08,40.31,"Bath'rah the Windwatcher"), +(@ENTRY,6,332.73,-1455.6,42.24,"Bath'rah the Windwatcher"), +(@ENTRY,7,323.83,-1468.92,42.24,"Bath'rah the Windwatcher"), +(@ENTRY,8,332.73,-1455.6,42.24,"Bath'rah the Windwatcher"), +(@ENTRY,9,329.59,-1442.08,40.31,"Bath'rah the Windwatcher"), +(@ENTRY,10,297.77,-1436.7,46.96,"Bath'rah the Windwatcher"), +(@ENTRY,11,273.74,-1433.18,50.29,"Bath'rah the Windwatcher"), +(@ENTRY,12,256.87,-1440.35,50.09,"Bath'rah the Windwatcher"), +(@ENTRY,13,253.05,-1459.09,52.09,"Bath'rah the Windwatcher"), +(@ENTRY,14,250.84,-1470.58,55.4491,"Bath'rah the Windwatcher"); -- cgit v1.2.3 From 98588311679053d90a0fb55fe2ee44188f0a5a1f Mon Sep 17 00:00:00 2001 From: Discover- Date: Tue, 27 Dec 2011 00:40:31 +0100 Subject: DB/Quests: Script quest Freed from the Hive. Closes #3681. --- sql/updates/world/2011_12_26_03_world_sai.sql | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 sql/updates/world/2011_12_26_03_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_26_03_world_sai.sql b/sql/updates/world/2011_12_26_03_world_sai.sql new file mode 100644 index 00000000000..07333e50a91 --- /dev/null +++ b/sql/updates/world/2011_12_26_03_world_sai.sql @@ -0,0 +1,25 @@ +-- [Q] [A/H] Freed from the Hive +-- Zukk'ash Pod SAI +SET @ENTRY := 164954; +SET @QUEST := 4265; +UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI' WHERE `entry`=@ENTRY; +UPDATE `quest_template` SET `StartScript`=0,`CompleteScript`=0 WHERE `id`=@QUEST; +DELETE FROM `quest_start_scripts` WHERE `id`=@QUEST; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=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 +(@ENTRY,1,0,0,19,0,100,0,@QUEST,0,0,0,12,9546,1,25000,0,0,0,8,0,0,0,-5314.81,430.89,11.79,3.46,"Zukk'ash Pod - On Quest Accept - Summon Raschal the Courier"); +-- Raschal the Courier SAI +SET @ENTRY := 9546; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@ENTRY,@ENTRY*100); +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,54,0,100,0,0,0,0,0,80,@ENTRY*100,0,2,0,0,0,1,0,0,0,0,0,0,0,"Raschal the Courier - Just Summoned - Run Script"), +(@ENTRY*100,9,0,0,0,0,100,0,2000,2000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Raschal the Courier - On Script - Say Line 0"), +(@ENTRY*100,9,1,0,0,0,100,0,6000,6000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Raschal the Courier - On Script - Say Line 1"), +(@ENTRY*100,9,2,0,0,0,100,0,8000,8000,0,0,15,@QUEST,0,0,0,0,7,0,0,0,0,0,0,0,0,"Raschal the Courier - On Script - Quest Credit"), +(@ENTRY*100,9,3,0,0,0,100,0,2000,2000,0,0,41,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Raschal the Courier - On Script - Forced Despawn"); +-- Text +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,"Oh man, I thought I was dead for sure. Ugh... still dizzy...",12,0,100,0,0,0,"Raschal the Courier"), +(@ENTRY,1,0,"I can get back to the Stronghold on my own, I think. Now that you bought me some time, I should be able to stealth out of here. Who ever you are... thank you. May Elune bless you always!",12,0,100,0,0,0,"Raschal the Courier"); -- cgit v1.2.3 From e4cb7e3b914ed01febcd4bd186c9a1b9438ac4f2 Mon Sep 17 00:00:00 2001 From: Discover- Date: Tue, 27 Dec 2011 00:42:36 +0100 Subject: DB/Quests: Script quest The Touch of Zanzil. Closes #3685. --- sql/updates/world/2011_12_26_04_world_sai.sql | 28 +++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 sql/updates/world/2011_12_26_04_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_26_04_world_sai.sql b/sql/updates/world/2011_12_26_04_world_sai.sql new file mode 100644 index 00000000000..c508773c51a --- /dev/null +++ b/sql/updates/world/2011_12_26_04_world_sai.sql @@ -0,0 +1,28 @@ +-- [Q] [A] The Touch of Zanzil +-- Doc Mixilpixil SAI +SET @ENTRY := 7207; +SET @QUEST := 2608; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +UPDATE `quest_template` SET `StartScript`=0,`CompleteScript`=0 WHERE `id`=@QUEST; +DELETE FROM `quest_start_scripts` WHERE `id`=@QUEST; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@ENTRY,@ENTRY*100); +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,19,0,100,0,@QUEST,0,0,0,80,@ENTRY*100,0,2,0,0,0,1,0,0,0,0,0,0,0,"Doc Mixilpixil - On Quest Accept - Run Script"), +(@ENTRY*100,9,0,0,0,0,100,0,1000,1000,0,0,5,353,0,0,0,0,0,1,0,0,0,0,0,0,0,"Doc Mixilpixil - On Script - Emote STATE_SPELLKNEELSTART"), +(@ENTRY*100,9,1,0,0,0,100,0,2000,2000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Doc Mixilpixil - On Script - Say Line 0"), +(@ENTRY*100,9,2,0,0,0,100,0,3000,3000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Doc Mixilpixil - On Script - Say Line 1"), +(@ENTRY*100,9,3,0,0,0,100,0,3000,3000,0,0,53,0,@ENTRY,0,0,0,2,1,0,0,0,0,0,0,0,"Doc Mixilpixil - On Script - Start WP"), +(@ENTRY,0,1,2,40,0,100,0,3,@ENTRY,0,0,41,5000,0,0,0,0,1,0,0,0,0,0,0,0,0,"Doc Mixilpixil - On WP 3 - Make Ready To Despawn"), +(@ENTRY,0,2,0,61,0,100,0,0,0,0,0,15,@QUEST,0,0,0,0,7,0,0,0,0,0,0,0,0,"Doc Mixilpixil - On WP 3 - Quest Credit"); +-- Text +DELETE FROM `db_script_string` WHERE `entry` IN (2000000020,2000000021); +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,"That's interesting...",12,0,100,0,0,0,"Doc Mixilpixil"), +(@ENTRY,1,0,"I need to consult Noram and Horatio.",12,0,100,0,0,0,"Doc Mixilpixil"); +-- Waypoints +DELETE FROM `waypoints` WHERE `entry`=@ENTRY; +INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES +(@ENTRY,1,-8805.29,338.5,95.09,"Doc Mixilpixil"), +(@ENTRY,2,-8804.15,325.58,95.09,"Doc Mixilpixil"), +(@ENTRY,3,-8805.56,331.96,95.09,"Doc Mixilpixil"); -- cgit v1.2.3 From 07f75c5878af94a675cdfb60867b1c83cfb505d0 Mon Sep 17 00:00:00 2001 From: Discover- Date: Tue, 27 Dec 2011 00:43:40 +0100 Subject: DB/Quests: Script quest The Torch of Retribution. Closes #3686. --- sql/updates/world/2011_12_26_05_world_sai.sql | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 sql/updates/world/2011_12_26_05_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_26_05_world_sai.sql b/sql/updates/world/2011_12_26_05_world_sai.sql new file mode 100644 index 00000000000..0155c3ad39b --- /dev/null +++ b/sql/updates/world/2011_12_26_05_world_sai.sql @@ -0,0 +1,25 @@ +-- [Q] [A/H] The Torch of Retribution +-- Kalaran Windblade SAI +SET @ENTRY := 8479; +SET @QUEST := 3453; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +UPDATE `quest_template` SET `StartScript`=0,`CompleteScript`=0 WHERE `id`=@QUEST; +DELETE FROM `quest_start_scripts` WHERE `id`=@QUEST; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@ENTRY,@ENTRY*100); +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,19,0,100,0,@QUEST,0,0,0,80,@ENTRY*100,0,2,0,0,0,1,0,0,0,0,0,0,0,"Kalaran Windblade - On Quest Accept - Run Script"), +(@ENTRY*100,9,0,0,0,0,100,0,10000,10000,0,0,11,12511,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kalaran Windblade - On Script - Cast Torch Combine"), +(@ENTRY*100,9,1,0,0,0,100,0,8000,8000,0,0,11,12511,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kalaran Windblade - On Script - Cast Torch Combine"), +(@ENTRY*100,9,2,0,0,0,100,0,7000,7000,0,0,11,12511,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kalaran Windblade - On Script - Cast Torch Combine"), +(@ENTRY*100,9,3,0,0,0,100,0,10000,10000,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Kalaran Windblade - On Script - Say Line 0"), +(@ENTRY*100,9,4,0,0,0,100,0,5000,5000,0,0,11,12511,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kalaran Windblade - On Script - Cast Torch Combine"), +(@ENTRY*100,9,5,0,0,0,100,0,1000,1000,0,0,70,0,0,0,0,0,0,14,24166,149410,0,0,0,0,0,"Kalaran Windblade - On Script - Respawn Light of Retribution (GO)"), +(@ENTRY*100,9,6,0,0,0,100,0,2000,2000,0,0,70,0,0,0,0,0,0,14,16762,149047,0,0,0,0,0,"Kalaran Windblade - On Script - Respawn Torch of Retribution (GO)"), +(@ENTRY*100,9,7,0,0,0,100,0,7000,7000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kalaran Windblade - On Script - Say Line 1"), +(@ENTRY*100,9,8,0,0,0,100,0,1000,1000,0,0,15,@QUEST,0,0,0,0,0,7,0,0,0,0,0,0,0,"Kalaran Windblade - On Script - Quest Credit"); +-- Text +DELETE FROM `db_script_string` WHERE `entry` IN (2000000019,2000000044); +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,"Be patient, $N. The torch is almost done.",12,0,100,0,0,0,"Kalaran Windblade"), +(@ENTRY,1,0,"It is done...",12,0,100,0,0,0,"Kalaran Windblade"); -- cgit v1.2.3 From c78844ede0a01c46d17a4257fa8af0a1a1e4fb64 Mon Sep 17 00:00:00 2001 From: Discover- Date: Tue, 27 Dec 2011 00:46:02 +0100 Subject: DB/Quests: Script quest Did You Lose This? Closes #3692. --- sql/updates/world/2011_12_26_06_world_sai.sql | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 sql/updates/world/2011_12_26_06_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_26_06_world_sai.sql b/sql/updates/world/2011_12_26_06_world_sai.sql new file mode 100644 index 00000000000..6335bd9f475 --- /dev/null +++ b/sql/updates/world/2011_12_26_06_world_sai.sql @@ -0,0 +1,27 @@ +-- [Q] [A/H] Did You Lose This? +-- Trenton Lighthammer SAI +SET @ENTRY := 7804; +SET @QUEST := 3321; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +UPDATE `quest_template` SET `StartScript`=0,`CompleteScript`=0 WHERE `id`=@QUEST; +DELETE FROM `quest_start_scripts` WHERE `id`=@QUEST; +DELETE FROM `quest_end_scripts` WHERE `id`=@QUEST; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@ENTRY,@ENTRY*100); +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,20,0,100,0,@QUEST,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Trenton Lighthammer - On Quest Complete - Say Line 0"), +(@ENTRY,0,1,0,19,0,100,0,@QUEST,0,0,0,80,@ENTRY*100,0,2,0,0,0,1,0,0,0,0,0,0,0,"Trenton Lighthammer - On Quest Accept - Run Script"), +(@ENTRY*100,9,0,0,0,0,100,0,1000,1000,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"Trenton Lighthammer - On Script - Emote STATE_WORK_SHEATHED"), +(@ENTRY*100,9,1,0,0,0,100,0,1500,1500,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"Trenton Lighthammer - On Script - Emote STATE_WORK_SHEATHED"), +(@ENTRY*100,9,2,0,0,0,100,0,1500,1500,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"Trenton Lighthammer - On Script - Emote STATE_WORK_SHEATHED"), +(@ENTRY*100,9,3,0,0,0,100,0,1500,1500,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"Trenton Lighthammer - On Script - Emote STATE_WORK_SHEATHED"), +(@ENTRY*100,9,4,0,0,0,100,0,1500,1500,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"Trenton Lighthammer - On Script - Emote STATE_WORK_SHEATHED"), +(@ENTRY*100,9,5,0,0,0,100,0,2000,2000,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,2.842743,"Trenton Lighthammer - On Script - Face Forge"), +(@ENTRY*100,9,6,0,0,0,100,0,1000,1000,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"Trenton Lighthammer - On Script - Emote STATE_WORK_SHEATHED"), +(@ENTRY*100,9,7,0,0,0,100,0,1500,1500,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"Trenton Lighthammer - On Script - Emote STATE_WORK_SHEATHED"), +(@ENTRY*100,9,8,0,0,0,100,0,1500,1500,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"Trenton Lighthammer - On Script - Emote STATE_WORK_SHEATHED"), +(@ENTRY*100,9,9,0,0,0,100,0,2000,2000,0,0,15,@QUEST,0,0,0,0,0,7,0,0,0,0,0,0,0,"Trenton Lighthammer - On Script - Quest Credit"); +-- Texts +DELETE FROM `db_script_string` WHERE `entry`=2000000076; +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,"Hear ye, denizens of Tanaris! Let it be known $N is an exalted member of the Mithril Order. A blacksmith of honor, dedication, and infinite patience. Three cheers for $N!",14,0,100,0,0,0,"Trenton Lighthammer"); -- cgit v1.2.3 From dbe95e584acf0565ea49c159c65df9fcd1866039 Mon Sep 17 00:00:00 2001 From: Discover- Date: Tue, 27 Dec 2011 00:48:14 +0100 Subject: DB/Quests: Script quest Scarlet Armies Approach. Closes #3696. --- sql/updates/world/2011_12_26_07_world_sai.sql | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 sql/updates/world/2011_12_26_07_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_26_07_world_sai.sql b/sql/updates/world/2011_12_26_07_world_sai.sql new file mode 100644 index 00000000000..ffe55b0e5f9 --- /dev/null +++ b/sql/updates/world/2011_12_26_07_world_sai.sql @@ -0,0 +1,18 @@ +-- [Q] [A/H] Scarlet Armies Approach... +-- Orbaz Bloodbane SAI +SET @ENTRY := 28914; +SET @QUEST := 12757; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +UPDATE `quest_template` SET `StartScript`=0,`CompleteScript`=0 WHERE `id`=@QUEST; +DELETE FROM `quest_start_scripts` WHERE `id`=@QUEST; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@ENTRY,@ENTRY*100); +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,19,0,100,0,@QUEST,0,0,0,80,@ENTRY*100,0,2,0,0,0,1,0,0,0,0,0,0,0,"Orbaz Bloodbane - On Quest Accept - Run Script"), +(@ENTRY*100,9,0,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Orbaz Bloodbane - On Script - Say Line 0"), +(@ENTRY*100,9,1,0,0,0,100,0,3000,3000,0,0,11,53097,0,0,0,0,0,1,0,0,0,0,0,0,0,"Orbaz Bloodbane - On Script - Cast Portal: Acherus"); +-- Text +DELETE FROM `waypoint_scripts` WHERE `id`=491; +DELETE FROM `db_script_string` WHERE `entry`=2000000008; +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,"Make haste, $N. Use the portal!",12,0,100,25,0,0,"Orbaz Bloodlane"); -- cgit v1.2.3 From 3eccebd25071dccf0103c7c1ecdb9e5523ac0fa0 Mon Sep 17 00:00:00 2001 From: Discover- Date: Tue, 27 Dec 2011 00:49:47 +0100 Subject: DB/Quests: Script quest Hinott's Assistance. Closes #3676. --- sql/updates/world/2011_12_26_08_world_sai.sql | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 sql/updates/world/2011_12_26_08_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_26_08_world_sai.sql b/sql/updates/world/2011_12_26_08_world_sai.sql new file mode 100644 index 00000000000..6633e97f2b4 --- /dev/null +++ b/sql/updates/world/2011_12_26_08_world_sai.sql @@ -0,0 +1,19 @@ +-- [Q] [H] Hinott's Assistance +-- Serge Hinott SAI +SET @ENTRY := 2391; +SET @QUEST := 2480; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +UPDATE `quest_template` SET `StartScript`=0,`CompleteScript`=0 WHERE `id`=@QUEST; +DELETE FROM `quest_start_scripts` WHERE `id`=@QUEST; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@ENTRY,@ENTRY*100); +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,19,0,100,0,@QUEST,0,0,0,80,@ENTRY*100,0,2,0,0,0,1,0,0,0,0,0,0,0,"Serge Hinott - On Quest Accept - Run Script"), +(@ENTRY*100,9,0,0,0,0,100,0,2000,2000,0,0,69,0,0,0,0,0,0,8,0,0,0,-4.33,-900.68,57.54,1.54,"Serge Hinott - On Script - Move To Pos"), +(@ENTRY*100,9,1,0,0,0,100,0,18000,18000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Serge Hinott - On Script - Say Line 0"), +(@ENTRY*100,9,2,0,0,0,100,0,10000,10000,0,0,15,@QUEST,0,0,0,0,0,7,0,0,0,0,0,0,0,"Serge Hinott - On Script - Quest Credit"), +(@ENTRY*100,9,3,0,0,0,100,0,1000,1000,0,0,69,0,0,0,0,0,0,8,0,0,0,-4.66,-903.92,57.54,3.48,"Serge Hinott - On Script - Move To Pos"); +-- Text +DELETE FROM `db_script_string` WHERE `entry`=2000000026; +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,"Whoops!",12,0,100,113,0,0,"Serge Hinott"); -- cgit v1.2.3