From 0af00a828309d4eb43507ab96e4396c5979e5ccc Mon Sep 17 00:00:00 2001 From: Santiago Date: Thu, 30 Aug 2012 23:32:03 -0300 Subject: DB/SAI: Remove Lol'kira the Krone and Thorim cpp scripts, handled by SAI --- sql/updates/world/2012_08_31_01_world_sai.sql | 36 +++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 sql/updates/world/2012_08_31_01_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2012_08_31_01_world_sai.sql b/sql/updates/world/2012_08_31_01_world_sai.sql new file mode 100644 index 00000000000..d3b2d19b0d7 --- /dev/null +++ b/sql/updates/world/2012_08_31_01_world_sai.sql @@ -0,0 +1,36 @@ +-- Lok'lira the Crone +SET @ENTRY := 29975; +UPDATE `creature_template` SET `AIName`='SmartAI', `ScriptName`='' WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,1,62,0,100,0,9910,0,0,0,33,30467,0,0,0,0,0,7,0,0,0,0,0,0,0,'Loklira - gossip select 4 - The Hyldsmeet Kill credit'), +(@ENTRY,0,1,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Loklira - gossip select 4 - Close gossip'); + +UPDATE `gossip_menu_option` SET `action_menu_id`=9908 WHERE `menu_id`=9907; +UPDATE `gossip_menu_option` SET `action_menu_id`=9909 WHERE `menu_id`=9908; +UPDATE `gossip_menu_option` SET `action_menu_id`=9910 WHERE `menu_id`=9909; + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9907; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(15,9907,0,0,9,12970,0,0,0,'','Loklira - Show gossip if quest accepted'); + +-- Thorim +SET @THORIM :=29445; +UPDATE `creature` SET `modelid`=0 WHERE `id`=@THORIM; +UPDATE `creature_template` SET `AIName`='SmartAI', `ScriptName`='' WHERE `entry`=@THORIM; +DELETE FROM `creature_addon` WHERE `guid`=97128; +DELETE FROM `creature_template_addon` WHERE `entry`=@THORIM; +INSERT INTO `creature_template_addon` (`entry`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(@THORIM,0,0,1,0,0,''); + +DELETE FROM `smart_scripts` WHERE `entryorguid`=@THORIM 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 +(@THORIM,0,0,0,62,0,100,0,9926,0,0,0,33,30514,0,0,0,0,0,7,0,0,0,0,0,0,0,'Thorim - gossip select - give quest credit'); + +UPDATE `gossip_menu_option` SET `action_menu_id`=9927 WHERE `menu_id`=9924; +UPDATE `gossip_menu_option` SET `action_menu_id`=9926 WHERE `menu_id`=9927; +UPDATE `gossip_menu_option` SET `action_menu_id`=9925 WHERE `menu_id`=9926; + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9924; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(15,9924,0,0,9,13064,0,0,0,'','Thorim - Show gossip if quest accepted'); -- cgit v1.2.3 From f4fdb0c64c4615bdf407528087f6069db622dd93 Mon Sep 17 00:00:00 2001 From: nelegalno Date: Sun, 2 Sep 2012 15:44:00 +0100 Subject: DB/Quests: Fix required races for multiple quests Closes #7620 --- .../world/2012_09_02_00_world_quest_template.sql | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 sql/updates/world/2012_09_02_00_world_quest_template.sql (limited to 'sql') diff --git a/sql/updates/world/2012_09_02_00_world_quest_template.sql b/sql/updates/world/2012_09_02_00_world_quest_template.sql new file mode 100644 index 00000000000..d7e3948ef4f --- /dev/null +++ b/sql/updates/world/2012_09_02_00_world_quest_template.sql @@ -0,0 +1,49 @@ +-- Kandrostrasz (15503) quests RequiredClasses fix by nelegalno +UPDATE `quest_template` SET `RequiredClasses` = 1 WHERE `Id` IN (8559,8560); -- Warrior +UPDATE `quest_template` SET `RequiredClasses` = 2 WHERE `Id` IN (8629,8655); -- Paladin +UPDATE `quest_template` SET `RequiredClasses` = 4 WHERE `Id` IN (8626,8658); -- Hunter +UPDATE `quest_template` SET `RequiredClasses` = 8 WHERE `Id` IN (8637,8640); -- Rogue +UPDATE `quest_template` SET `RequiredClasses` = 16 WHERE `Id` IN (8593,8596); -- Priest +UPDATE `quest_template` SET `RequiredClasses` = 64 WHERE `Id` IN (8621,8624); -- Shaman +UPDATE `quest_template` SET `RequiredClasses` = 128 WHERE `Id` IN (8631,8634); -- Mage +UPDATE `quest_template` SET `RequiredClasses` = 256 WHERE `Id` IN (8660,8663); -- Warlock +UPDATE `quest_template` SET `RequiredClasses` = 1024 WHERE `Id` IN (8665,8668); -- Druid + +-- Andorgos (15502) quests RequiredClasses fix by nelegalno +UPDATE `quest_template` SET `RequiredClasses` = 1 WHERE `Id` IN (8544,8561); -- Warrior +UPDATE `quest_template` SET `RequiredClasses` = 2 WHERE `Id` IN (8628,8630); -- Paladin +UPDATE `quest_template` SET `RequiredClasses` = 4 WHERE `Id` IN (8657,8659); -- Hunter +UPDATE `quest_template` SET `RequiredClasses` = 8 WHERE `Id` IN (8639,8641); -- Rogue +UPDATE `quest_template` SET `RequiredClasses` = 16 WHERE `Id` IN (8592,8594); -- Priest +UPDATE `quest_template` SET `RequiredClasses` = 64 WHERE `Id` IN (8602,8623); -- Shaman +UPDATE `quest_template` SET `RequiredClasses` = 128 WHERE `Id` IN (8625,8632); -- Mage +UPDATE `quest_template` SET `RequiredClasses` = 256 WHERE `Id` IN (8662,8664); -- Warlock +UPDATE `quest_template` SET `RequiredClasses` = 1024 WHERE `Id` IN (8667,8669); -- Druid + +-- Craftsman Wilhelm (16376) NPCs quests +UPDATE `quest_template` SET `RequiredClasses` = 3 WHERE `Id` IN (9234,9235,9236); -- Warrior, Paladin +UPDATE `quest_template` SET `RequiredClasses` = 68 WHERE `Id` IN (9244,9245,9246); -- Hunter, Shaman +UPDATE `quest_template` SET `RequiredClasses` = 400 WHERE `Id` IN (9238,9239,9240); -- Priest, Mage, Warlock +UPDATE `quest_template` SET `RequiredClasses` = 1032 WHERE `Id` IN (9241,9242,9243); -- Rogue, Druid + +-- Zanza the Restless (15042) NPCs quests +UPDATE `quest_template` SET `RequiredClasses` = 1 WHERE `Id` = 8184; -- Warrior +UPDATE `quest_template` SET `RequiredClasses` = 2 WHERE `Id` = 8185; -- Paladin +UPDATE `quest_template` SET `RequiredClasses` = 4 WHERE `Id` = 8187; -- Hunter +UPDATE `quest_template` SET `RequiredClasses` = 8 WHERE `Id` = 8186; -- Rogue +UPDATE `quest_template` SET `RequiredClasses` = 16 WHERE `Id` = 8191; -- Priest +UPDATE `quest_template` SET `RequiredClasses` = 64 WHERE `Id` = 8188; -- Shaman +UPDATE `quest_template` SET `RequiredClasses` = 128 WHERE `Id` = 8189; -- Mage +UPDATE `quest_template` SET `RequiredClasses` = 256 WHERE `Id` = 8190; -- Warlock +UPDATE `quest_template` SET `RequiredClasses` = 1024 WHERE `Id` = 8192; -- Druid + +-- Vethsera (15504) quests RequiredClasses fix by nelegalno +UPDATE `quest_template` SET `RequiredClasses` = 1 WHERE `Id` = 8562; -- Warrior +UPDATE `quest_template` SET `RequiredClasses` = 2 WHERE `Id` = 8627; -- Paladin +UPDATE `quest_template` SET `RequiredClasses` = 4 WHERE `Id` = 8656; -- Hunter +UPDATE `quest_template` SET `RequiredClasses` = 8 WHERE `Id` = 8638; -- Rogue +UPDATE `quest_template` SET `RequiredClasses` = 16 WHERE `Id` = 8603; -- Priest +UPDATE `quest_template` SET `RequiredClasses` = 64 WHERE `Id` = 8622; -- Shaman +UPDATE `quest_template` SET `RequiredClasses` = 128 WHERE `Id` = 8633; -- Mage +UPDATE `quest_template` SET `RequiredClasses` = 256 WHERE `Id` = 8661; -- Warlock +UPDATE `quest_template` SET `RequiredClasses` = 1024 WHERE `Id` = 8666; -- Druid -- cgit v1.2.3 From 1731ff5ca1304ed19b3cdb704d283860463f719e Mon Sep 17 00:00:00 2001 From: Nay Date: Sun, 2 Sep 2012 15:50:29 +0100 Subject: SQL: Rename SQL file after PR --- sql/updates/world/2012_08_31_01_world_sai.sql | 36 --------------------------- sql/updates/world/2012_09_02_01_world_sai.sql | 36 +++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 36 deletions(-) delete mode 100644 sql/updates/world/2012_08_31_01_world_sai.sql create mode 100644 sql/updates/world/2012_09_02_01_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2012_08_31_01_world_sai.sql b/sql/updates/world/2012_08_31_01_world_sai.sql deleted file mode 100644 index d3b2d19b0d7..00000000000 --- a/sql/updates/world/2012_08_31_01_world_sai.sql +++ /dev/null @@ -1,36 +0,0 @@ --- Lok'lira the Crone -SET @ENTRY := 29975; -UPDATE `creature_template` SET `AIName`='SmartAI', `ScriptName`='' WHERE `entry`=@ENTRY; -DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; -INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES -(@ENTRY,0,0,1,62,0,100,0,9910,0,0,0,33,30467,0,0,0,0,0,7,0,0,0,0,0,0,0,'Loklira - gossip select 4 - The Hyldsmeet Kill credit'), -(@ENTRY,0,1,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Loklira - gossip select 4 - Close gossip'); - -UPDATE `gossip_menu_option` SET `action_menu_id`=9908 WHERE `menu_id`=9907; -UPDATE `gossip_menu_option` SET `action_menu_id`=9909 WHERE `menu_id`=9908; -UPDATE `gossip_menu_option` SET `action_menu_id`=9910 WHERE `menu_id`=9909; - -DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9907; -INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES -(15,9907,0,0,9,12970,0,0,0,'','Loklira - Show gossip if quest accepted'); - --- Thorim -SET @THORIM :=29445; -UPDATE `creature` SET `modelid`=0 WHERE `id`=@THORIM; -UPDATE `creature_template` SET `AIName`='SmartAI', `ScriptName`='' WHERE `entry`=@THORIM; -DELETE FROM `creature_addon` WHERE `guid`=97128; -DELETE FROM `creature_template_addon` WHERE `entry`=@THORIM; -INSERT INTO `creature_template_addon` (`entry`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES -(@THORIM,0,0,1,0,0,''); - -DELETE FROM `smart_scripts` WHERE `entryorguid`=@THORIM 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 -(@THORIM,0,0,0,62,0,100,0,9926,0,0,0,33,30514,0,0,0,0,0,7,0,0,0,0,0,0,0,'Thorim - gossip select - give quest credit'); - -UPDATE `gossip_menu_option` SET `action_menu_id`=9927 WHERE `menu_id`=9924; -UPDATE `gossip_menu_option` SET `action_menu_id`=9926 WHERE `menu_id`=9927; -UPDATE `gossip_menu_option` SET `action_menu_id`=9925 WHERE `menu_id`=9926; - -DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9924; -INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES -(15,9924,0,0,9,13064,0,0,0,'','Thorim - Show gossip if quest accepted'); diff --git a/sql/updates/world/2012_09_02_01_world_sai.sql b/sql/updates/world/2012_09_02_01_world_sai.sql new file mode 100644 index 00000000000..971c50d9c05 --- /dev/null +++ b/sql/updates/world/2012_09_02_01_world_sai.sql @@ -0,0 +1,36 @@ +-- Lok'lira the Crone +SET @ENTRY := 29975; +UPDATE `creature_template` SET `AIName`='SmartAI', `ScriptName`='' WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,1,62,0,100,0,9910,0,0,0,33,30467,0,0,0,0,0,7,0,0,0,0,0,0,0,'Loklira - gossip select 4 - The Hyldsmeet Kill credit'), +(@ENTRY,0,1,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Loklira - gossip select 4 - Close gossip'); + +UPDATE `gossip_menu_option` SET `action_menu_id`=9908 WHERE `menu_id`=9907; +UPDATE `gossip_menu_option` SET `action_menu_id`=9909 WHERE `menu_id`=9908; +UPDATE `gossip_menu_option` SET `action_menu_id`=9910 WHERE `menu_id`=9909; + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9907; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(15,9907,0,0,9,12970,0,0,0,'','Loklira - Show gossip if quest accepted'); + +-- Thorim +SET @THORIM :=29445; +UPDATE `creature` SET `modelid`=0 WHERE `id`=@THORIM; +UPDATE `creature_template` SET `AIName`='SmartAI', `ScriptName`='' WHERE `entry`=@THORIM; +DELETE FROM `creature_addon` WHERE `guid`=97128; +DELETE FROM `creature_template_addon` WHERE `entry`=@THORIM; +INSERT INTO `creature_template_addon` (`entry`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(@THORIM,0,0,1,0,0,''); + +DELETE FROM `smart_scripts` WHERE `entryorguid`=@THORIM 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 +(@THORIM,0,0,0,62,0,100,0,9926,0,0,0,33,30514,0,0,0,0,0,7,0,0,0,0,0,0,0,'Thorim - gossip select - give quest credit'); + +UPDATE `gossip_menu_option` SET `action_menu_id`=9927 WHERE `menu_id`=9924; +UPDATE `gossip_menu_option` SET `action_menu_id`=9926 WHERE `menu_id`=9927; +UPDATE `gossip_menu_option` SET `action_menu_id`=9925 WHERE `menu_id`=9926; + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9924; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(15,9924,0,0,9,13064,0,0,0,'','Thorim - Show gossip if quest accepted'); -- cgit v1.2.3 From 28a5e1e1483993d28e6af9c1219116d74cd9ac3b Mon Sep 17 00:00:00 2001 From: Vincent-Michael Date: Sun, 2 Sep 2012 21:02:35 +0200 Subject: SQL: Fix sql error (thx ChazyTheBest) --- sql/updates/world/2012_09_01_00_world_spell_script_names.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql') diff --git a/sql/updates/world/2012_09_01_00_world_spell_script_names.sql b/sql/updates/world/2012_09_01_00_world_spell_script_names.sql index 888cc15e276..add7621b74c 100644 --- a/sql/updates/world/2012_09_01_00_world_spell_script_names.sql +++ b/sql/updates/world/2012_09_01_00_world_spell_script_names.sql @@ -1,4 +1,4 @@ --- Unlocking zuluhed chains +-- Unlocking zuluhed chains DELETE FROM `spell_script_names` WHERE `spell_id`=38790; INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES (38790, 'spell_unlocking_zuluheds_chains'); -- cgit v1.2.3 From 1a49554af825182358a16b439b03c21073d0bea4 Mon Sep 17 00:00:00 2001 From: Nay Date: Sun, 2 Sep 2012 22:52:22 +0100 Subject: Misc: Correct a SQL, update PackageList.txt and remove an uneeded file (soap) --- dep/PackageList.txt | 4 +- dep/gsoap/soapObject.h | 57 ---------------------- sql/updates/world/2012_08_04_03_world_disables.sql | 2 +- 3 files changed, 3 insertions(+), 60 deletions(-) delete mode 100644 dep/gsoap/soapObject.h (limited to 'sql') diff --git a/dep/PackageList.txt b/dep/PackageList.txt index e5003ec744a..04cdaef9e66 100644 --- a/dep/PackageList.txt +++ b/dep/PackageList.txt @@ -14,7 +14,7 @@ G3D (a commercial-grade C++ 3D engine available as Open Source (BSD License) jemalloc (a general-purpose scalable concurrent malloc-implementation) http://www.canonware.com/jemalloc/ - Version: 2.2.5 + Version: 2.1.0 libMPQ (a library for reading MPQ files) https://libmpq.org/ @@ -38,4 +38,4 @@ zlib (A Massively Spiffy Yet Delicately Unobtrusive Compression Library) gSOAP (a portable development toolkit for C and C++ XML Web services and XML data bindings) http://gsoap2.sourceforge.net/ - Version: 2.8.2 + Version: 2.8.10 diff --git a/dep/gsoap/soapObject.h b/dep/gsoap/soapObject.h deleted file mode 100644 index 74be68bb76a..00000000000 --- a/dep/gsoap/soapObject.h +++ /dev/null @@ -1,57 +0,0 @@ -/* soapObject.h - Generated by gSOAP 2.8.10 from gsoap.stub - -Copyright(C) 2000-2012, Robert van Engelen, Genivia Inc. All Rights Reserved. -The generated code is released under one of the following licenses: -1) GPL or 2) Genivia's license for commercial use. -This program is released under the GPL with the additional exemption that -compiling, linking, and/or using OpenSSL is allowed. -*/ - -#ifndef soapServiceObject_H -#define soapServiceObject_H -#include "soapH.h" - -/******************************************************************************\ - * * - * Service Object * - * * -\******************************************************************************/ - -class ServiceService : public soap -{ public: - ServiceService() - { static const struct Namespace namespaces[] = -{ - {"SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/", "http://www.w3.org/*/soap-envelope", NULL}, - {"SOAP-ENC", "http://schemas.xmlsoap.org/soap/encoding/", "http://www.w3.org/*/soap-encoding", NULL}, - {"xsi", "http://www.w3.org/2001/XMLSchema-instance", "http://www.w3.org/*/XMLSchema-instance", NULL}, - {"xsd", "http://www.w3.org/2001/XMLSchema", "http://www.w3.org/*/XMLSchema", NULL}, - {"ns1", "http://tempuri.org/ns1.xsd", NULL, NULL}, - {NULL, NULL, NULL, NULL} -}; - - this->namespaces = namespaces; }; - virtual ~ServiceService() { }; - /// Bind service to port (returns master socket or SOAP_INVALID_SOCKET) - virtual SOAP_SOCKET bind(const char *host, int port, int backlog) { return soap_bind(this, host, port, backlog); }; - /// Accept next request (returns socket or SOAP_INVALID_SOCKET) - virtual SOAP_SOCKET accept() { return soap_accept(this); }; -#if defined(WITH_OPENSSL) || defined(WITH_GNUTLS) - /// Then accept SSL handshake, when SSL is used - virtual int ssl_accept() { return soap_ssl_accept(this); }; -#endif - /// Serve this request (returns error code or SOAP_OK) - virtual int serve() { return soap_serve(this); }; -}; - -/******************************************************************************\ - * * - * Service Operations (you should define these globally) * - * * -\******************************************************************************/ - - -SOAP_FMAC5 int SOAP_FMAC6 ns1__executeCommand(struct soap*, char *command, char **result); - -#endif diff --git a/sql/updates/world/2012_08_04_03_world_disables.sql b/sql/updates/world/2012_08_04_03_world_disables.sql index 21b55a3e930..e2d1ca1ff6b 100644 --- a/sql/updates/world/2012_08_04_03_world_disables.sql +++ b/sql/updates/world/2012_08_04_03_world_disables.sql @@ -1,4 +1,4 @@ -DELETE FROM `disables` WHERE `sourceType`=1 AND `entry` IN (9754,9755,10215,11522,12445,12731,12923,13541); +DELETE FROM `disables` WHERE `sourceType`=1 AND `entry` IN (9754,9755,10215,11522,12445,12731,12923,13541,7797,7869,7870,7906,9378,9611,9880,9881,9908,9909,9949,9950,10088,10181,10214,10454,11197,11226,11577,11874,11937,12485,12600,13123,13210,13317,13990); INSERT INTO `disables` (`sourceType`,`entry`,`flags`,`params_0`,`params_1`,`comment`) VALUES (1,9754,0,'','','Deprecated quest: '), (1,9755,0,'','','Deprecated quest: '), -- cgit v1.2.3 From 128d99b29b4ad974c3aa207e7c629c7b939c5141 Mon Sep 17 00:00:00 2001 From: w1sht0l1v3 Date: Mon, 3 Sep 2012 15:50:08 +0300 Subject: Core/Scripts: Rewrite Cold Hearted quest. Closes #1758 . --- sql/updates/world/2012_09_03_00_world_misc.sql | 36 ++++ src/server/scripts/Northrend/storm_peaks.cpp | 217 +++++++++++++++---------- 2 files changed, 164 insertions(+), 89 deletions(-) create mode 100644 sql/updates/world/2012_09_03_00_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2012_09_03_00_world_misc.sql b/sql/updates/world/2012_09_03_00_world_misc.sql new file mode 100644 index 00000000000..e8910c78b40 --- /dev/null +++ b/sql/updates/world/2012_09_03_00_world_misc.sql @@ -0,0 +1,36 @@ +-- Cold Hearted (12856) + +SET @NPC_CAPTIVE_DRAKE := 29708; -- Captive Proto-Drake +SET @NPC_FREED_DRAKE := 29709; -- Freed Proto-Drake +SET @NPC_PRISONER := 29639; -- Brunnhildar Prisoner +SET @NPC_LIBERATED := 29734; -- Liberated Brunnhildar + +SET @SPELL_SUM_FREE_DRAKE := 55028; -- Summon Freed Proto-Drake +SET @SPELL_ICE_SHARD := 55046; -- Ice Shard (Rank 3) +SET @SPELL_FREE_PRISONER := 55048; -- Free Brunnhildar Prisoner +SET @AURA_IMPRISONMENT := 54894; -- Icy Imprisonment + + +UPDATE `creature_template` SET `speed_walk`=1,`speed_run`=1.14286,`spell1`=@SPELL_ICE_SHARD,`HoverHeight`=4,`unit_flags`=0x1000008,`InhabitType`=4,`ScriptName`='npc_freed_protodrake' WHERE `entry`=@NPC_FREED_DRAKE; +UPDATE `creature_template` SET `unit_flags`=33554432,`AIName`='SmartAI' WHERE `entry`=@NPC_LIBERATED; + +DELETE FROM `npc_spellclick_spells` WHERE `npc_entry`=@NPC_CAPTIVE_DRAKE; +INSERT INTO `npc_spellclick_spells` (`npc_entry`,`spell_id`,`cast_flags`,`user_type`) VALUES +(@NPC_CAPTIVE_DRAKE,@SPELL_SUM_FREE_DRAKE,1,0); + +DELETE FROM `creature_template_addon` WHERE `entry`=@NPC_FREED_DRAKE; +INSERT INTO `creature_template_addon` (`entry`,`mount`,`bytes1`,`bytes2`,`auras`) VALUES +(@NPC_FREED_DRAKE,0,0x3000000,0x1,'55034 61183'); + +DELETE FROM `creature_text` WHERE `entry`=@NPC_FREED_DRAKE; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(@NPC_FREED_DRAKE,0,0,'Return to Brunnhildar Village!',42,0,100,0,0,0,'Freed Proto-Drake'), +(@NPC_FREED_DRAKE,0,1,'The proto-drake smells freedom and flies homeward!',41,0,100,0,0,0,'Freed Proto-Drake'); + +DELETE FROM `spell_scripts` WHERE `id`=@SPELL_FREE_PRISONER; +INSERT INTO `spell_scripts` (`id`,`effIndex`,`delay`,`command`,`datalong`,`datalong2`,`dataint`,`x`,`y`,`z`,`o`) VALUES +(@SPELL_FREE_PRISONER,0,0,14,@AURA_IMPRISONMENT,0,0,0,0,0,0); + +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@NPC_LIBERATED; +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_LIBERATED,0,0,0,54,0,100,0,0,0,0,0,41,30000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Liberated Brunnhildar - On Spawn - Despawn in 30 seconds'); diff --git a/src/server/scripts/Northrend/storm_peaks.cpp b/src/server/scripts/Northrend/storm_peaks.cpp index 92ba6bada14..f33918ccd49 100644 --- a/src/server/scripts/Northrend/storm_peaks.cpp +++ b/src/server/scripts/Northrend/storm_peaks.cpp @@ -283,14 +283,12 @@ public: ## npc_brunnhildar_prisoner ######*/ -enum brunhildar { - NPC_QUEST_GIVER = 29592, - +enum BrunnhildarPrisoner { SPELL_ICE_PRISON = 54894, - SPELL_KILL_CREDIT_PRISONER = 55144, - SPELL_KILL_CREDIT_DRAKE = 55143, - SPELL_SUMMON_LIBERATED = 55073, - SPELL_ICE_LANCE = 55046 + SPELL_ICE_LANCE = 55046, + SPELL_FREE_PRISONER = 55048, + SPELL_RIDE_DRAKE = 55074, + SPELL_SHARD_IMPACT = 55047 }; class npc_brunnhildar_prisoner : public CreatureScript @@ -302,129 +300,169 @@ public: { npc_brunnhildar_prisonerAI(Creature* creature) : ScriptedAI(creature) {} - uint64 drakeGUID; - uint16 enter_timer; - bool hasEmptySeats; + bool freed; void Reset() { + freed = false; me->CastSpell(me, SPELL_ICE_PRISON, true); - enter_timer = 0; - drakeGUID = 0; - hasEmptySeats = false; + } + + void JustRespawned() + { + Reset(); } void UpdateAI(const uint32 diff) { - //TODO: not good script - if (!drakeGUID) + if (!freed) return; - Creature* drake = Unit::GetCreature(*me, drakeGUID); - if (!drake) + if (!me->HasUnitState(UNIT_STATE_ONVEHICLE)) { - drakeGUID = 0; - return; + me->DespawnOrUnsummon(); } + } - // drake unsummoned, passengers dropped - if (!me->IsOnVehicle(drake) && !hasEmptySeats) - me->DespawnOrUnsummon(3000); - - if (enter_timer <= 0) + void SpellHit(Unit* caster, const SpellInfo* spell) + { + if (spell->Id != SPELL_ICE_LANCE) return; - if (enter_timer < diff) + if (caster->GetVehicleKit()->GetAvailableSeatCount() != 0) { - enter_timer = 0; - if (hasEmptySeats) - me->JumpTo(drake, 25.0f); - else - Reset(); + me->CastSpell(me, SPELL_FREE_PRISONER, true); + me->CastSpell(caster, SPELL_RIDE_DRAKE, true); + me->CastSpell(me, SPELL_SHARD_IMPACT, true); + freed = true; } - else - enter_timer -= diff; + } + }; + + CreatureAI* GetAI(Creature* creature) const + { + return new npc_brunnhildar_prisonerAI(creature); + } +}; + +/*###### +## npc_freed_protodrake +######*/ + +enum FreedProtoDrake +{ + AREA_VALLEY_OF_ANCIENT_WINTERS = 4437, + TEXT_EMOTE = 0, + SPELL_KILL_CREDIT_PRISONER = 55144, + SPELL_SUMMON_LIBERATED = 55073, + SPELL_KILL_CREDIT_DRAKE = 55143 +}; + +const Position FreedDrakeWaypoints[16] = +{ + {7294.96f, -2418.733f, 823.869f, 0.0f}, + {7315.984f, -2331.46f, 826.3972f, 0.0f}, + {7271.826f, -2271.479f, 833.5917f, 0.0f}, + {7186.253f, -2218.475f, 847.5632f, 0.0f}, + {7113.195f, -2164.288f, 850.2301f, 0.0f}, + {7078.018f, -2063.106f, 854.7581f, 0.0f}, + {7073.221f, -1983.382f, 861.9246f, 0.0f}, + {7061.455f, -1885.899f, 865.119f, 0.0f}, + {7033.32f, -1826.775f, 876.2578f, 0.0f}, + {6999.902f, -1784.012f, 897.4521f, 0.0f}, + {6954.913f, -1747.043f, 897.4521f, 0.0f}, + {6933.856f, -1720.698f, 882.2022f, 0.0f}, + {6932.729f, -1687.306f, 866.1189f, 0.0f}, + {6952.458f, -1663.802f, 849.8133f, 0.0f}, + {7002.819f, -1651.681f, 831.397f, 0.0f}, + {7026.531f, -1649.239f, 828.8406f, 0.0f} +}; + + +class npc_freed_protodrake : public CreatureScript +{ +public: + npc_freed_protodrake() : CreatureScript("npc_freed_protodrake") { } + + struct npc_freed_protodrakeAI : public VehicleAI + { + npc_freed_protodrakeAI(Creature* creature) : VehicleAI(creature) {} + + bool autoMove; + bool wpReached; + uint16 CheckTimer; + uint16 countWP; + + void Reset() + { + autoMove = false; + wpReached = false; + CheckTimer = 5000; + countWP = 0; } - void MoveInLineOfSight(Unit* who) + void MovementInform(uint32 type, uint32 id) { - if (!who || !drakeGUID) + if (type != POINT_MOTION_TYPE) return; - Creature* drake = Unit::GetCreature(*me, drakeGUID); - if (!drake) + if (id < 15) { - drakeGUID = 0; - return; + ++countWP; + wpReached = true; } - - if (!me->IsOnVehicle(drake) && !me->HasAura(SPELL_ICE_PRISON)) + else + // drake reached village { - if (who->IsVehicle() && me->IsWithinDist(who, 25.0f, true) && who->ToCreature() && who->ToCreature()->GetEntry() == 29709) + // get player that rides drake (from seat 0) + Unit* player = me->GetVehicleKit()->GetPassenger(0); + if (player && player->GetTypeId() == TYPEID_PLAYER) { - uint8 seat = who->GetVehicleKit()->GetNextEmptySeat(0, true); - if (seat <= 0) - return; - - me->EnterVehicle(who, seat); - me->SendMovementFlagUpdate(); - hasEmptySeats = false; + // for each prisoner on drake,give credit + for (uint8 i = 1; i < 4; ++i) + if (Unit* prisoner = me->GetVehicleKit()->GetPassenger(i)) + { + if (prisoner->GetTypeId() != TYPEID_UNIT) + return; + prisoner->CastSpell(player, SPELL_KILL_CREDIT_PRISONER, true); + prisoner->CastSpell(prisoner, SPELL_SUMMON_LIBERATED, true); + prisoner->ExitVehicle(); + } + me->CastSpell(me, SPELL_KILL_CREDIT_DRAKE, true); + player->ExitVehicle(); } } + } - if (who->ToCreature() && me->IsOnVehicle(drake)) + void UpdateAI(const uint32 diff) + { + if (!autoMove) { - if (who->ToCreature()->GetEntry() == NPC_QUEST_GIVER && me->IsWithinDist(who, 15.0f, false)) + if (CheckTimer < diff) { - Unit* rider = drake->GetVehicleKit()->GetPassenger(0); - if (!rider) - return; - - rider->CastSpell(rider, SPELL_KILL_CREDIT_PRISONER, true); - - me->ExitVehicle(); - me->CastSpell(me, SPELL_SUMMON_LIBERATED, true); - me->DespawnOrUnsummon(500); - - // drake is empty now, deliver credit for drake and despawn him - if (drake->GetVehicleKit()->HasEmptySeat(1) && - drake->GetVehicleKit()->HasEmptySeat(2) && - drake->GetVehicleKit()->HasEmptySeat(3)) + CheckTimer = 5000; + if (me->GetAreaId() == AREA_VALLEY_OF_ANCIENT_WINTERS) { - // not working rider->CastSpell(rider, SPELL_KILL_CREDIT_DRAKE, true); - if (rider->ToPlayer()) - rider->ToPlayer()->KilledMonsterCredit(29709, 0); - - drake->DespawnOrUnsummon(0); + Talk(TEXT_EMOTE, me->GetVehicleKit()->GetPassenger(0)->GetGUID()); + autoMove = true; + wpReached = true; } } + else + CheckTimer -= diff; } - } - - void SpellHit(Unit* hitter, const SpellInfo* spell) - { - if (!hitter || !spell) - return; - - if (spell->Id != SPELL_ICE_LANCE) - return; - - me->RemoveAura(SPELL_ICE_PRISON); - enter_timer = 500; - - if (hitter->IsVehicle()) - drakeGUID = hitter->GetGUID(); - else - return; - if (hitter->GetVehicleKit()->GetNextEmptySeat(0, true)) - hasEmptySeats = true; + if (wpReached && autoMove) + { + wpReached = false; + me->GetMotionMaster()->MovePoint(countWP, FreedDrakeWaypoints[countWP]); + } } }; CreatureAI* GetAI(Creature* creature) const { - return new npc_brunnhildar_prisonerAI(creature); + return new npc_freed_protodrakeAI(creature); } }; @@ -532,6 +570,7 @@ void AddSC_storm_peaks() new npc_injured_goblin(); new npc_roxi_ramrocket(); new npc_brunnhildar_prisoner(); + new npc_freed_protodrake(); new npc_icefang(); new npc_hyldsmeet_protodrake(); } -- cgit v1.2.3