From 2ccd3137f48f894a28c8da3ea7d0c04f4fb1271d Mon Sep 17 00:00:00 2001 From: Nyeriah Date: Mon, 3 Nov 2014 04:30:52 -0200 Subject: [PATCH 01/14] Scripts/ScarletMonastery: Kill an unused parameter warning --- .../EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp index 5b154d9d6be..e1fed5777eb 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp @@ -887,7 +887,7 @@ class go_loosely_turned_soil : public GameObjectScript public: go_loosely_turned_soil() : GameObjectScript("go_loosely_turned_soil") { } - bool OnGossipHello(Player* player, GameObject* go) override + bool OnGossipHello(Player* player, GameObject* /*go*/) override { if (InstanceScript* instance = player->GetInstanceScript()) if (instance->GetBossState(DATA_HORSEMAN_EVENT) == IN_PROGRESS || player->GetQuestStatus(QUEST_CALL_THE_HEADLESS_HORSEMAN) != QUEST_STATUS_COMPLETE) From 341e374c723f0dc78e755ca962d22d5d9a8f54d8 Mon Sep 17 00:00:00 2001 From: treak Date: Mon, 3 Nov 2014 19:41:18 +0100 Subject: [PATCH 02/14] Scripts/Ulduar: fix Achievs "Champion of Ulduar" and "Conqueror of Ulduar" Signed-off-by: treak --- sql/updates/world/2014_XX_XX_XX_world.sql | 58 +++++++++++++++++++ .../Ulduar/Ulduar/instance_ulduar.cpp | 58 +++++++++++++++++++ .../scripts/Northrend/Ulduar/Ulduar/ulduar.h | 49 ++++++++++++---- 3 files changed, 155 insertions(+), 10 deletions(-) create mode 100644 sql/updates/world/2014_XX_XX_XX_world.sql diff --git a/sql/updates/world/2014_XX_XX_XX_world.sql b/sql/updates/world/2014_XX_XX_XX_world.sql new file mode 100644 index 00000000000..e6969ee08ab --- /dev/null +++ b/sql/updates/world/2014_XX_XX_XX_world.sql @@ -0,0 +1,58 @@ +DELETE FROM `disables` WHERE `entry` IN (10042, 10340, 10341, 10342, 10347, 10348, 10349, 10350, 10351, 10352, 10353, 10354, 10355, 10357, 10361, 10362, 10363, 10364, 10403, 10404, 10439, 10582, 10583, 10598, 10599, 10719) AND `sourceType` = 4; + +DELETE FROM `achievement_criteria_data` WHERE `criteria_id` IN (10042, 10340, 10341, 10342, 10347, 10348, 10349, 10350, 10351, 10352, 10353, 10354, 10355, 10357, 10361, 10362, 10363, 10364, 10403, 10404, 10439, 10582, 10583, 10598, 10599, 10719); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`) VALUES +-- 10 +(10042, 18, 0), +(10042, 12, 0), +(10342, 18, 0), +(10342, 12, 0), +(10340, 18, 0), +(10340, 12, 0), +(10341, 18, 0), +(10341, 12, 0), +(10598, 18, 0), +(10598, 12, 0), +(10348, 18, 0), +(10348, 12, 0), +(10351, 18, 0), +(10351, 12, 0), +(10439, 18, 0), +(10439, 12, 0), +(10403, 18, 0), +(10403, 12, 0), +(10582, 18, 0), +(10582, 12, 0), +(10347, 18, 0), +(10347, 12, 0), +(10349, 18, 0), +(10349, 12, 0), +(10350, 18, 0), +(10350, 12, 0), +-- 25 +(10352, 18, 0), +(10352, 12, 1), +(10355, 18, 0), +(10355, 12, 1), +(10353, 18, 0), +(10353, 12, 1), +(10354, 18, 0), +(10354, 12, 1), +(10599, 18, 0), +(10599, 12, 1), +(10357, 18, 0), +(10357, 12, 1), +(10363, 18, 0), +(10363, 12, 1), +(10719, 18, 0), +(10719, 12, 1), +(10404, 18, 0), +(10404, 12, 1), +(10583, 18, 0), +(10583, 12, 1), +(10361, 18, 0), +(10361, 12, 1), +(10362, 18, 0), +(10362, 12, 1), +(10364, 18, 0), +(10364, 12, 1); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp index 27b8d3e2fcc..58f75816d4c 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp @@ -83,6 +83,7 @@ class instance_ulduar : public InstanceMapScript IsDriveMeCrazyEligible = true; _algalonSummoned = false; _summonAlgalon = false; + _CoUAchivePlayerDeathMask = 0; memset(_summonObservationRingKeeper, 0, sizeof(_summonObservationRingKeeper)); memset(_summonYSKeeper, 0, sizeof(_summonYSKeeper)); @@ -592,6 +593,19 @@ class instance_ulduar : public InstanceMapScript void OnUnitDeath(Unit* unit) override { + // Champion/Conqueror of Ulduar + if (unit->GetTypeId() == TYPEID_PLAYER) + { + for (uint8 i = 0; i < BOSS_ALGALON; i++) + { + if (GetBossState(i) == IN_PROGRESS) + { + _CoUAchivePlayerDeathMask |= (1 << i); + SaveToDB(); + } + } + } + Creature* creature = unit->ToCreature(); if (!creature) return; @@ -1007,6 +1021,45 @@ class instance_ulduar : public InstanceMapScript case CRITERIA_ALONE_IN_THE_DARKNESS_10: case CRITERIA_ALONE_IN_THE_DARKNESS_25: return keepersCount == 0; + case CRITERIA_C_O_U_LEVIATHAN_10: + case CRITERIA_C_O_U_LEVIATHAN_25: + return _CoUAchivePlayerDeathMask & (1 << BOSS_LEVIATHAN) ? false : true; + case CRITERIA_C_O_U_IGNIS_10: + case CRITERIA_C_O_U_IGNIS_25: + return _CoUAchivePlayerDeathMask & (1 << BOSS_IGNIS) ? false : true; + case CRITERIA_C_O_U_RAZORSCALE_10: + case CRITERIA_C_O_U_RAZORSCALE_25: + return _CoUAchivePlayerDeathMask & (1 << BOSS_RAZORSCALE) ? false : true; + case CRITERIA_C_O_U_XT002_10: + case CRITERIA_C_O_U_XT002_25: + return _CoUAchivePlayerDeathMask & (1 << BOSS_XT002) ? false : true; + case CRITERIA_C_O_U_IRON_COUNCIL_10: + case CRITERIA_C_O_U_IRON_COUNCIL_25: + return _CoUAchivePlayerDeathMask & (1 << BOSS_ASSEMBLY_OF_IRON) ? false : true; + case CRITERIA_C_O_U_KOLOGARN_10: + case CRITERIA_C_O_U_KOLOGARN_25: + return _CoUAchivePlayerDeathMask & (1 << BOSS_KOLOGARN) ? false : true; + case CRITERIA_C_O_U_AURIAYA_10: + case CRITERIA_C_O_U_AURIAYA_25: + return _CoUAchivePlayerDeathMask & (1 << BOSS_AURIAYA) ? false : true; + case CRITERIA_C_O_U_HODIR_10: + case CRITERIA_C_O_U_HODIR_25: + return _CoUAchivePlayerDeathMask & (1 << BOSS_HODIR) ? false : true; + case CRITERIA_C_O_U_THORIM_10: + case CRITERIA_C_O_U_THORIM_25: + return _CoUAchivePlayerDeathMask & (1 << BOSS_THORIM) ? false : true; + case CRITERIA_C_O_U_FREYA_10: + case CRITERIA_C_O_U_FREYA_25: + return _CoUAchivePlayerDeathMask & (1 << BOSS_FREYA) ? false : true; + case CRITERIA_C_O_U_MIMIRON_10: + case CRITERIA_C_O_U_MIMIRON_25: + return _CoUAchivePlayerDeathMask & (1 << BOSS_MIMIRON) ? false : true; + case CRITERIA_C_O_U_VEZAX_10: + case CRITERIA_C_O_U_VEZAX_25: + return _CoUAchivePlayerDeathMask & (1 << BOSS_VEZAX) ? false : true; + case CRITERIA_C_O_U_YOGG_SARON_10: + case CRITERIA_C_O_U_YOGG_SARON_25: + return _CoUAchivePlayerDeathMask & (1 << BOSS_YOGG_SARON) ? false : true; } return false; @@ -1018,6 +1071,8 @@ class instance_ulduar : public InstanceMapScript for (uint8 i = 0; i < 4; ++i) data << ' ' << uint32(KeeperGUIDs[i] ? 1 : 0); + + data << ' ' << _CoUAchivePlayerDeathMask; } void ReadSaveDataMore(std::istringstream& data) override @@ -1056,6 +1111,8 @@ class instance_ulduar : public InstanceMapScript _summonObservationRingKeeper[2] = true; if (GetBossState(BOSS_MIMIRON) == DONE && !_summonYSKeeper[3]) _summonObservationRingKeeper[3] = true; + + data >> _CoUAchivePlayerDeathMask; } void Update(uint32 diff) override @@ -1095,6 +1152,7 @@ class instance_ulduar : public InstanceMapScript bool _summonYSKeeper[4]; uint32 _maxArmorItemLevel; uint32 _maxWeaponItemLevel; + uint32 _CoUAchivePlayerDeathMask; }; InstanceScript* GetInstanceScript(InstanceMap* map) const override diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h b/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h index 82c4ef140f1..1b4330b0faf 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h @@ -36,16 +36,16 @@ enum UlduarBosses BOSS_ASSEMBLY_OF_IRON = 4, BOSS_KOLOGARN = 5, BOSS_AURIAYA = 6, - BOSS_MIMIRON = 7, - BOSS_HODIR = 8, - BOSS_THORIM = 9, - BOSS_FREYA = 10, - BOSS_BRIGHTLEAF = 11, - BOSS_IRONBRANCH = 12, - BOSS_STONEBARK = 13, - BOSS_VEZAX = 14, - BOSS_YOGG_SARON = 15, - BOSS_ALGALON = 16, + BOSS_HODIR = 7, + BOSS_THORIM = 8, + BOSS_FREYA = 9, + BOSS_MIMIRON = 10, + BOSS_VEZAX = 11, + BOSS_YOGG_SARON = 12, + BOSS_ALGALON = 13, + BOSS_BRIGHTLEAF = 14, + BOSS_IRONBRANCH = 15, + BOSS_STONEBARK = 16, }; enum UlduarNPCs @@ -295,6 +295,35 @@ enum UlduarAchievementCriteriaIds CRITERIA_ALONE_IN_THE_DARKNESS_10 = 10412, CRITERIA_ALONE_IN_THE_DARKNESS_25 = 10417, CRITERIA_HERALD_OF_TITANS = 10678, + + // Champion of Ulduar + CRITERIA_C_O_U_LEVIATHAN_10 = 10042, + CRITERIA_C_O_U_IGNIS_10 = 10342, + CRITERIA_C_O_U_RAZORSCALE_10 = 10340, + CRITERIA_C_O_U_XT002_10 = 10341, + CRITERIA_C_O_U_IRON_COUNCIL_10 = 10598, + CRITERIA_C_O_U_KOLOGARN_10 = 10348, + CRITERIA_C_O_U_AURIAYA_10 = 10351, + CRITERIA_C_O_U_HODIR_10 = 10439, + CRITERIA_C_O_U_THORIM_10 = 10403, + CRITERIA_C_O_U_FREYA_10 = 10582, + CRITERIA_C_O_U_MIMIRON_10 = 10347, + CRITERIA_C_O_U_VEZAX_10 = 10349, + CRITERIA_C_O_U_YOGG_SARON_10 = 10350, + // Conqueror of Ulduar + CRITERIA_C_O_U_LEVIATHAN_25 = 10352, + CRITERIA_C_O_U_IGNIS_25 = 10355, + CRITERIA_C_O_U_RAZORSCALE_25 = 10353, + CRITERIA_C_O_U_XT002_25 = 10354, + CRITERIA_C_O_U_IRON_COUNCIL_25 = 10599, + CRITERIA_C_O_U_KOLOGARN_25 = 10357, + CRITERIA_C_O_U_AURIAYA_25 = 10363, + CRITERIA_C_O_U_HODIR_25 = 10719, + CRITERIA_C_O_U_THORIM_25 = 10404, + CRITERIA_C_O_U_FREYA_25 = 10583, + CRITERIA_C_O_U_MIMIRON_25 = 10361, + CRITERIA_C_O_U_VEZAX_25 = 10362, + CRITERIA_C_O_U_YOGG_SARON_25 = 10364 }; enum UlduarData From a856bb7843f4bf85befe85c06b76a4b8333d41c5 Mon Sep 17 00:00:00 2001 From: Vincent-Michael Date: Mon, 3 Nov 2014 17:25:56 +0100 Subject: [PATCH 03/14] Core: Fix warnings (cherry picked from commit 48d47998d9b4e5a234d4b2489f2954eded8dcbf0) Conflicts: src/server/game/Entities/Object/Object.cpp --- src/server/game/AI/SmartScripts/SmartScript.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index 36918231fbb..5f6573ad1a6 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -780,7 +780,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u if (e.action.removeAura.charges) { if (Aura* aur = (*itr)->ToUnit()->GetAura(e.action.removeAura.spell)) - aur->ModCharges(-e.action.removeAura.charges, AURA_REMOVE_BY_EXPIRE); + aur->ModCharges(-static_cast(e.action.removeAura.charges), AURA_REMOVE_BY_EXPIRE); } else (*itr)->ToUnit()->RemoveAurasDueToSpell(e.action.removeAura.spell); From 6f3153854c3b61bca9ef2c08e1a9ecab8fb1ba27 Mon Sep 17 00:00:00 2001 From: Nyeriah Date: Tue, 4 Nov 2014 02:58:11 -0200 Subject: [PATCH 04/14] DB/Disables: Remove achievement "Drive Me Crazy" from disables Refers to Yogg-Saron (cherry picked from commit 76419aadcddddb5d47f54f7d144e6cd9951b6408) --- sql/updates/world/2014_11_04_00_world.sql | 1 + 1 file changed, 1 insertion(+) create mode 100644 sql/updates/world/2014_11_04_00_world.sql diff --git a/sql/updates/world/2014_11_04_00_world.sql b/sql/updates/world/2014_11_04_00_world.sql new file mode 100644 index 00000000000..8fdd922f8f9 --- /dev/null +++ b/sql/updates/world/2014_11_04_00_world.sql @@ -0,0 +1 @@ +DELETE FROM `disables` WHERE `entry` IN (10185, 10296) AND `sourceType` = 4; From fbcd180716f38eb933c28f33fc7641a0c7696cef Mon Sep 17 00:00:00 2001 From: Gecko32 Date: Tue, 4 Nov 2014 14:29:18 -0200 Subject: [PATCH 05/14] Core/Spells: Prevent Divine Intervention from removing death persistent auras Such as Dungeon Deserter, Resurrection Sickness, etc --- src/server/game/Spells/SpellInfo.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index 2462c6a9ac4..049f25d3fa3 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -1217,8 +1217,8 @@ bool SpellInfo::CanPierceImmuneAura(SpellInfo const* aura) const bool SpellInfo::CanDispelAura(SpellInfo const* aura) const { - // These spells (like Mass Dispel) can dispell all auras - if (Attributes & SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY) + // These spells (like Mass Dispel) can dispell all auras, except death persistent ones (like Dungeon and Battleground Deserter) + if (Attributes & SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY && !aura->IsDeathPersistent()) return true; // These auras (like Divine Shield) can't be dispelled From 3530b938a8d390d4d39ac840d5b0e7403b08dbc5 Mon Sep 17 00:00:00 2001 From: treak Date: Tue, 4 Nov 2014 23:13:04 +0100 Subject: [PATCH 06/14] Codestyle --- .../Ulduar/Ulduar/instance_ulduar.cpp | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp index 58f75816d4c..8ed410cc2ea 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp @@ -1023,43 +1023,43 @@ class instance_ulduar : public InstanceMapScript return keepersCount == 0; case CRITERIA_C_O_U_LEVIATHAN_10: case CRITERIA_C_O_U_LEVIATHAN_25: - return _CoUAchivePlayerDeathMask & (1 << BOSS_LEVIATHAN) ? false : true; + return (_CoUAchivePlayerDeathMask & (1 << BOSS_LEVIATHAN)) == 0; case CRITERIA_C_O_U_IGNIS_10: case CRITERIA_C_O_U_IGNIS_25: - return _CoUAchivePlayerDeathMask & (1 << BOSS_IGNIS) ? false : true; + return (_CoUAchivePlayerDeathMask & (1 << BOSS_IGNIS)) == 0; case CRITERIA_C_O_U_RAZORSCALE_10: case CRITERIA_C_O_U_RAZORSCALE_25: - return _CoUAchivePlayerDeathMask & (1 << BOSS_RAZORSCALE) ? false : true; + return (_CoUAchivePlayerDeathMask & (1 << BOSS_RAZORSCALE)) == 0; case CRITERIA_C_O_U_XT002_10: case CRITERIA_C_O_U_XT002_25: - return _CoUAchivePlayerDeathMask & (1 << BOSS_XT002) ? false : true; + return (_CoUAchivePlayerDeathMask & (1 << BOSS_XT002)) == 0; case CRITERIA_C_O_U_IRON_COUNCIL_10: case CRITERIA_C_O_U_IRON_COUNCIL_25: - return _CoUAchivePlayerDeathMask & (1 << BOSS_ASSEMBLY_OF_IRON) ? false : true; + return (_CoUAchivePlayerDeathMask & (1 << BOSS_ASSEMBLY_OF_IRON)) == 0; case CRITERIA_C_O_U_KOLOGARN_10: case CRITERIA_C_O_U_KOLOGARN_25: - return _CoUAchivePlayerDeathMask & (1 << BOSS_KOLOGARN) ? false : true; + return (_CoUAchivePlayerDeathMask & (1 << BOSS_KOLOGARN)) == 0; case CRITERIA_C_O_U_AURIAYA_10: case CRITERIA_C_O_U_AURIAYA_25: - return _CoUAchivePlayerDeathMask & (1 << BOSS_AURIAYA) ? false : true; + return (_CoUAchivePlayerDeathMask & (1 << BOSS_AURIAYA)) == 0; case CRITERIA_C_O_U_HODIR_10: case CRITERIA_C_O_U_HODIR_25: - return _CoUAchivePlayerDeathMask & (1 << BOSS_HODIR) ? false : true; + return (_CoUAchivePlayerDeathMask & (1 << BOSS_HODIR)) == 0; case CRITERIA_C_O_U_THORIM_10: case CRITERIA_C_O_U_THORIM_25: - return _CoUAchivePlayerDeathMask & (1 << BOSS_THORIM) ? false : true; + return (_CoUAchivePlayerDeathMask & (1 << BOSS_THORIM)) == 0; case CRITERIA_C_O_U_FREYA_10: case CRITERIA_C_O_U_FREYA_25: - return _CoUAchivePlayerDeathMask & (1 << BOSS_FREYA) ? false : true; + return (_CoUAchivePlayerDeathMask & (1 << BOSS_FREYA)) == 0; case CRITERIA_C_O_U_MIMIRON_10: case CRITERIA_C_O_U_MIMIRON_25: - return _CoUAchivePlayerDeathMask & (1 << BOSS_MIMIRON) ? false : true; + return (_CoUAchivePlayerDeathMask & (1 << BOSS_MIMIRON)) == 0; case CRITERIA_C_O_U_VEZAX_10: case CRITERIA_C_O_U_VEZAX_25: - return _CoUAchivePlayerDeathMask & (1 << BOSS_VEZAX) ? false : true; + return (_CoUAchivePlayerDeathMask & (1 << BOSS_VEZAX)) == 0; case CRITERIA_C_O_U_YOGG_SARON_10: case CRITERIA_C_O_U_YOGG_SARON_25: - return _CoUAchivePlayerDeathMask & (1 << BOSS_YOGG_SARON) ? false : true; + return (_CoUAchivePlayerDeathMask & (1 << BOSS_YOGG_SARON)) == 0; } return false; From f1e705257ec007386ac87f670a7358e842859510 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Wed, 5 Nov 2014 09:57:35 +0100 Subject: [PATCH 07/14] Rename 2014_XX_XX_XX_world.sql to 2014_11_05_00_world.sql --- .../world/{2014_XX_XX_XX_world.sql => 2014_11_05_00_world.sql} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sql/updates/world/{2014_XX_XX_XX_world.sql => 2014_11_05_00_world.sql} (100%) diff --git a/sql/updates/world/2014_XX_XX_XX_world.sql b/sql/updates/world/2014_11_05_00_world.sql similarity index 100% rename from sql/updates/world/2014_XX_XX_XX_world.sql rename to sql/updates/world/2014_11_05_00_world.sql From 9838cbda1a44ca6e45d114a0c2facc71cb481d38 Mon Sep 17 00:00:00 2001 From: Nyeriah Date: Thu, 6 Nov 2014 22:13:13 -0200 Subject: [PATCH 08/14] Scripts/ToC: Simplify the code for "A Tribute to Immortality" achievement * also fixes the achievement being still awarded if players die indirectly during boss fights (Anub'arak adds, for example) --- .../TrialOfTheCrusader/boss_anubarak_trial.cpp | 8 +------- .../TrialOfTheCrusader/boss_faction_champions.cpp | 2 -- .../TrialOfTheCrusader/boss_lord_jaraxxus.cpp | 3 --- .../TrialOfTheCrusader/boss_northrend_beasts.cpp | 14 -------------- .../TrialOfTheCrusader/boss_twin_valkyr.cpp | 3 --- .../instance_trial_of_the_crusader.cpp | 10 +++++++--- .../TrialOfTheCrusader/trial_of_the_crusader.h | 5 ++--- 7 files changed, 10 insertions(+), 35 deletions(-) diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp index 072dbd81fd8..69dc25892c1 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp @@ -205,10 +205,7 @@ class boss_anubarak_trial : public CreatureScript void KilledUnit(Unit* who) override { if (who->GetTypeId() == TYPEID_PLAYER) - { Talk(SAY_KILL_PLAYER); - instance->SetData(DATA_TRIBUTE_TO_IMMORTALITY_ELIGIBLE, 0); - } } void MoveInLineOfSight(Unit* /*who*/) override @@ -611,9 +608,7 @@ class npc_frost_sphere : public CreatureScript struct npc_frost_sphereAI : public ScriptedAI { - npc_frost_sphereAI(Creature* creature) : ScriptedAI(creature) - { - } + npc_frost_sphereAI(Creature* creature) : ScriptedAI(creature) { } void Reset() override { @@ -766,7 +761,6 @@ class npc_anubarak_spike : public CreatureScript } void MoveInLineOfSight(Unit* pWho) override - { if (!pWho) return; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp index 562e67f4b6a..2b541e4b972 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp @@ -647,8 +647,6 @@ struct boss_faction_championsAI : public BossAI if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_GARROSH))) temp->AI()->Talk(SAY_KILL_PLAYER); - - instance->SetData(DATA_TRIBUTE_TO_IMMORTALITY_ELIGIBLE, 0); } } diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp index f26ccd6bf25..7e8653c4a55 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp @@ -122,10 +122,7 @@ class boss_jaraxxus : public CreatureScript void KilledUnit(Unit* who) override { if (who->GetTypeId() == TYPEID_PLAYER) - { Talk(SAY_KILL_PLAYER); - instance->SetData(DATA_TRIBUTE_TO_IMMORTALITY_ELIGIBLE, 0); - } } void JustDied(Unit* /*killer*/) override diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp index 021cae3e623..f7bee426012 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp @@ -540,12 +540,6 @@ struct boss_jormungarAI : public BossAI me->DespawnOrUnsummon(); } - void KilledUnit(Unit* who) override - { - if (who->GetTypeId() == TYPEID_PLAYER) - instance->SetData(DATA_TRIBUTE_TO_IMMORTALITY_ELIGIBLE, 0); - } - void EnterCombat(Unit* /*who*/) override { _EnterCombat(); @@ -943,14 +937,6 @@ class boss_icehowl : public CreatureScript me->DespawnOrUnsummon(); } - void KilledUnit(Unit* who) override - { - if (who->GetTypeId() == TYPEID_PLAYER) - { - instance->SetData(DATA_TRIBUTE_TO_IMMORTALITY_ELIGIBLE, 0); - } - } - void EnterCombat(Unit* /*who*/) override { _EnterCombat(); diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp index 75649215db6..d0756df23f8 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp @@ -212,10 +212,7 @@ struct boss_twin_baseAI : public BossAI void KilledUnit(Unit* who) override { if (who->GetTypeId() == TYPEID_PLAYER) - { Talk(SAY_KILL_PLAYER); - instance->SetData(DATA_TRIBUTE_TO_IMMORTALITY_ELIGIBLE, 0); - } } void SummonedCreatureDespawn(Creature* summoned) override diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp index e3ad891fdc7..cb7e58cfe16 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp @@ -190,6 +190,13 @@ class instance_trial_of_the_crusader : public InstanceMapScript } } + void OnUnitDeath(Unit* unit) override + { + if (unit->GetTypeId() == TYPEID_PLAYER && IsEncounterInProgress()) + TributeToImmortalityEligible = false; + + } + bool SetBossState(uint32 type, EncounterState state) override { if (!InstanceScript::SetBossState(type, state)) @@ -427,9 +434,6 @@ class instance_trial_of_the_crusader : public InstanceMapScript else if (data == DECREASE) --MistressOfPainCount; break; - case DATA_TRIBUTE_TO_IMMORTALITY_ELIGIBLE: - TributeToImmortalityEligible = false; - break; default: break; } diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h index e37148aa508..90b9781954f 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h @@ -24,9 +24,8 @@ enum DataTypes TYPE_EVENT_NPC = 102, TYPE_NORTHREND_BEASTS = 103, - DATA_SNOBOLD_COUNT = 301, - DATA_MISTRESS_OF_PAIN_COUNT = 302, - DATA_TRIBUTE_TO_IMMORTALITY_ELIGIBLE = 303, + DATA_SNOBOLD_COUNT = 301, + DATA_MISTRESS_OF_PAIN_COUNT = 302, INCREASE = 501, DECREASE = 502, From d77ec27d8fcc8c0ddd463afecb9356f831eef8a4 Mon Sep 17 00:00:00 2001 From: Dr-J Date: Fri, 7 Nov 2014 18:53:20 +0000 Subject: [PATCH 09/14] DB/Quest: Across Transborea Script http://www.wowhead.com/quest=11930/across-transborea --- sql/updates/world/2014_11_07_00_world.sql | 38 +++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 sql/updates/world/2014_11_07_00_world.sql diff --git a/sql/updates/world/2014_11_07_00_world.sql b/sql/updates/world/2014_11_07_00_world.sql new file mode 100644 index 00000000000..f10ca6690e0 --- /dev/null +++ b/sql/updates/world/2014_11_07_00_world.sql @@ -0,0 +1,38 @@ +UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`='' WHERE `entry` IN(26158,26167,26162); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN(26158,26167,26162) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN(2616700,2616701,2616702,2616703) AND `source_type`=9; + +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 +(26158, 0, 0, 0, 19, 0, 100, 0, 11930, 0, 0, 0, 85, 46657, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Mother Tauranook - On Quest Accept (Across Transborea) - Invoker Cast Taunka''le Evacuee'), +(26167, 0, 0, 0, 11, 0, 100, 0, 0, 0, 0, 0, 11, 46669, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Taunka''le Evacuee - On Spawn - Cast Evacuee Random Action'), +(26167, 0, 1, 0, 8, 0, 100, 0, 46663, 0, 0, 0, 87, 2616700, 2616701, 2616702, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Taunka''le Evacuee - On Spellhit (Evacuee Random Action) - Run Random Script'), +(26167, 0, 2, 0, 8, 0, 100, 1, 46677, 0, 0, 0, 80, 2616703, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Taunka''le Evacuee - On Spellhit (Evacuee Reaches Dragonblight) - Run Script'), +(26162, 0, 0, 0, 1, 0, 100, 0, 0, 0, 1000, 1000, 11, 46677, 0, 0, 0, 0, 0, 19, 26167, 0, 0, 0, 0, 0, 0, 'Transborea Generator 001 - OOC - Cast Evacuee Reaches Dragonblight'), +(2616700, 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, 'Taunka''le Evacuee - Script 1 - Say Line'), +(2616701, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Taunka''le Evacuee - Script 2 - Say Line'), +(2616701, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 11, 46694, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 'Taunka''le Evacuee - Script 2 - Cast Feed'), +(2616702, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 11, 46670, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Taunka''le Evacuee - Script 3 - Cast Transborea Monster'), +(2616702, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Taunka''le Evacuee - Script 3 - Say Line'), +(2616703, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 28, 46669, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Taunka''le Evacuee - Script 4 - Remove Aura Evacuee Random Action'), +(2616703, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Taunka''le Evacuee - Script 4 - Say Line'), +(2616703, 9, 2, 0, 0, 0, 100, 0, 6000, 6000, 0, 0, 1, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Taunka''le Evacuee - Script 4 - Say Line'), +(2616703, 9, 3, 0, 0, 0, 100, 0, 6000, 6000, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Taunka''le Evacuee - Script 4 - Say Line'), +(2616703, 9, 4, 0, 0, 0, 100, 0, 6000, 6000, 0, 0, 1, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Taunka''le Evacuee - Script 4 - Say Line'), +(2616703, 9, 5, 0, 0, 0, 100, 0, 6000, 6000, 0, 0, 1, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Taunka''le Evacuee - Script 4 - Say Line'), +(2616703, 9, 6, 0, 0, 0, 100, 0, 0, 0, 0, 0, 11, 46676, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 'Taunka''le Evacuee - Script 4 - Cast Across Transborea Complete'), +(2616703, 9, 7, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 3000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Taunka''le Evacuee - Script 4 - Despawn'); + +DELETE FROM `creature_template_addon` WHERE `entry`=26167; +INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(26167, 0, 0, 0, 4097, 0, '46669'); + +DELETE FROM `creature_text` WHERE `entry`=26167; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextID`) VALUES +(26167, 0, 0, '%s cries.', 16, 1, 100, 18, 0, 0, 'Taunka''le Evacuee',25304), +(26167, 1, 0, 'Stop!', 12, 1, 100, 5, 0, 0, 'Taunka''le Evacuee',25294), +(26167, 2, 0, 'Look out!', 12, 1, 100, 0, 0, 0, 'Taunka''le Evacuee',25299), +(26167, 3, 0, '%s points northeast.', 16, 1, 100, 25, 0, 0, 'Taunka''le Evacuee',25311), +(26167, 4, 0, 'The smoke in the distance... It is Wartook. He is trying to tell us something...', 12, 1, 100, 1, 0, 0, 'Taunka''le Evacuee',25312), +(26167, 5, 0, '%s expertly identifies the messages hidden within the smoke signals.', 16, 1, 100, 20, 0, 0, 'Taunka''le Evacuee',25315), +(26167, 6, 0, 'No... It cannot be true...', 12, 1, 100, 274, 0, 0, 'Taunka''le Evacuee',25313), +(26167, 7, 0, 'Icemist... Not Icemist... NO!!! Come quickly, hero! Follow me!', 12, 1, 100, 15, 0, 0, 'Taunka''le Evacuee',25314); From 1802fb3e1efcf4c6c37b98189555bf23de62b0e0 Mon Sep 17 00:00:00 2001 From: jackpoz Date: Fri, 7 Nov 2014 22:17:04 +0100 Subject: [PATCH 10/14] Core/LFG: Fix party members not being able to vote to kick Leader --- src/server/game/Entities/Player/Player.cpp | 5 ++++- src/server/game/Entities/Player/Player.h | 2 +- src/server/game/Handlers/GroupHandler.cpp | 12 +++--------- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 7a237dd1830..efe74ad4180 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -24298,7 +24298,7 @@ Player* Player::GetNextRandomRaidMember(float radius) return nearMembers[randTarget]; } -PartyResult Player::CanUninviteFromGroup() const +PartyResult Player::CanUninviteFromGroup(ObjectGuid guidMember) const { Group const* grp = GetGroup(); if (!grp) @@ -24340,6 +24340,9 @@ PartyResult Player::CanUninviteFromGroup() const if (InBattleground()) return ERR_INVITE_RESTRICTED; + + if (grp->IsLeader(guidMember)) + return ERR_NOT_LEADER; } return ERR_PARTY_RESULT_OK; diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index a714353830e..d319c12fb03 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -2258,7 +2258,7 @@ class Player : public Unit, public GridObject uint64 GetAuraUpdateMaskForRaid() const { return m_auraRaidUpdateMask; } void SetAuraUpdateMaskForRaid(uint8 slot) { m_auraRaidUpdateMask |= (uint64(1) << slot); } Player* GetNextRandomRaidMember(float radius); - PartyResult CanUninviteFromGroup() const; + PartyResult CanUninviteFromGroup(ObjectGuid guidMember = ObjectGuid::Empty) const; // Battleground / Battlefield Group System void SetBattlegroundOrBattlefieldRaid(Group* group, int8 subgroup = -1); diff --git a/src/server/game/Handlers/GroupHandler.cpp b/src/server/game/Handlers/GroupHandler.cpp index f42919486a5..b9433b719fe 100644 --- a/src/server/game/Handlers/GroupHandler.cpp +++ b/src/server/game/Handlers/GroupHandler.cpp @@ -288,7 +288,7 @@ void WorldSession::HandleGroupUninviteGuidOpcode(WorldPacket& recvData) return; } - PartyResult res = GetPlayer()->CanUninviteFromGroup(); + PartyResult res = GetPlayer()->CanUninviteFromGroup(guid); if (res != ERR_PARTY_RESULT_OK) { SendPartyResult(PARTY_OP_UNINVITE, "", res); @@ -296,14 +296,8 @@ void WorldSession::HandleGroupUninviteGuidOpcode(WorldPacket& recvData) } Group* grp = GetPlayer()->GetGroup(); - if (!grp) - return; - - if (grp->IsLeader(guid)) - { - SendPartyResult(PARTY_OP_UNINVITE, "", ERR_NOT_LEADER); - return; - } + // grp is checked already above in CanUninviteFromGroup() + ASSERT(grp); if (grp->IsMember(guid)) { From d6cc7c14d523b6fcaa1109ee3f530ece2584cfd2 Mon Sep 17 00:00:00 2001 From: Dr-J Date: Fri, 7 Nov 2014 23:30:19 +0000 Subject: [PATCH 11/14] DB/Quest: Coward Delivery... Under 30 Minutes or it's Free Script http://www.wowhead.com/quest=11711/coward-delivery-under-30-minutes-or-its-free --- sql/updates/world/2014_11_07_01_world.sql | 43 +++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 sql/updates/world/2014_11_07_01_world.sql diff --git a/sql/updates/world/2014_11_07_01_world.sql b/sql/updates/world/2014_11_07_01_world.sql new file mode 100644 index 00000000000..9586e499b69 --- /dev/null +++ b/sql/updates/world/2014_11_07_01_world.sql @@ -0,0 +1,43 @@ +SET @OGuid := 5513; + +UPDATE `creature_template` SET `ainame`='SmartAI', `scriptname`='' WHERE `entry` IN(25379,25761,25759); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN(25379,25761,25759) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` =2575900 AND `source_type`=9; + +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 +(25379, 0, 0, 0, 19, 0, 100, 0, 11711, 0, 0, 0, 85, 45963, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Warden Nork Bloodfrenzy - On Quest Accept (Coward Delivery... Under 30 Minutes or its Free - Invoker Cast Call Alliance Deserter'), +(25379, 0, 1, 2, 62, 0, 100, 0, 9184, 0, 0, 0, 85, 45963, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Warden Nork Bloodfrenzy - On Gossip Option 0 Selected - Invoker Cast Call Alliance Deserter'), +(25379, 0, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Warden Nork Bloodfrenzy - On Gossip Option 0 Selected - Close Gossip'), +(25379, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Warden Nork Bloodfrenzy - On Gossip Option 0 Selected - Say'), +(25761, 0, 0, 0, 54, 0, 100, 0, 0, 0, 0, 0, 11, 45957, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 'Alliance Deserter - On Just Summoned - Cast Escorting Alliance Deserter'), +(25761, 0, 1, 0, 8, 0, 100, 0, 45981, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Alliance Deserter - On Spellhit (Escorting Alliance Deserter) - Despawn'), +(25761, 0, 2, 0, 38, 0, 100, 0, 1, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Alliance Deserter - On Spellhit (Escorting Alliance Deserter) - Despawn'), +(25759, 0, 0, 1, 54, 0, 100, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Valiance Keep Officer - On Just Summoned - Store Targetlist'), +(25759, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 80, 2575900, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Valiance Keep Officer - On Just Summoned - Run Script'), +(2575900, 9, 0, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Valiance Keep Officer - Script - Say'), +(2575900, 9, 1, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 11, 45981, 2, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Valiance Keep Officer - Script - Cast Escorting Alliance Deserter'), +(2575900, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 15,11711, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Valiance Keep Officer - Script - Complete quest'), +(2575900, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 45,1, 1, 0, 0, 0, 0, 19, 25761, 0, 0, 0, 0, 0, 0, 'Valiance Keep Officer - Script - Set Data on Alliance Deserter '), +(2575900, 9, 4, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 41, 10000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Valiance Keep Officer - Script - Despawn'); + +DELETE FROM `creature_text` WHERE `entry` IN(25379,25759); +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`,`BroadcastTextID`) VALUES +(25379, 0, 0, 'Try to not lose this one, $n. It is important that we at least try and keep up appearances with the Alliance.', 15, 1, 100, 0, 0, 0, 'Warden Nork Bloodfrenzy',24977), +(25759, 0, 0, 'Thank you, $r. I will take this miserable cur from you now.', 12, 1, 100, 1, 0, 0, 'Valiance Keep Officer',24966); + +DELETE FROM `gossip_menu_option` WHERE `menu_id`=9184; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`, `option_text`, `OptionBroadcastTextID`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `box_coded`, `box_money`, `box_text`, `BoxBroadcastTextID`) VALUES +(9184, 0, 0, 'I am embarassed to say it, Nork, but my deserter has gone missing.', 24976, 1, 1, 0, 0, 0, 0, '', 0); -- 25379 + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9184; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(15, 9184, 0, 0, 0,9, 0, 11711, 0, 0, 0, 0, 0, '', 'Warden Nork Bloodfrenzy - Show Gossip option only if player has Coward Delivery... Under 30 Minutes or its Free in quest log'), +(15, 9184, 0, 0, 0,1, 0, 45963, 0, 0, 1, 0, 0, '', 'Warden Nork Bloodfrenzy - Show Gossip option only if player does not have aura Call Alliance Deserter'); + +DELETE FROM `gameobject` WHERE `id`=187894; +INSERT INTO `gameobject` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `VerifiedBuild`) VALUES +(@OGuid, 187894, 571, 1, 1, 2942.86, 5381.48, 60.6052, 2.28369, 0, 0, 0.909402, 0.415919, 300, 0, 1, 0); + +DELETE FROM `spell_scripts` WHERE `id`=45958; +INSERT INTO `spell_scripts` (`id`, `effIndex`, `delay`, `command`, `datalong`, `datalong2`, `dataint`, `x`, `y`, `z`, `o`) VALUES +(45958, 0, 0, 15, 45956, 0, 0, 0, 0, 0, 0); From caa73ec0ea63ab49ad5f6835230296f04d569a73 Mon Sep 17 00:00:00 2001 From: Dr-J Date: Sat, 8 Nov 2014 00:10:26 +0000 Subject: [PATCH 12/14] DB/Misc: Milton Beats Closes https://github.com/TrinityCore/TrinityCore/issues/12774 --- sql/updates/world/2014_11_07_02_world.sql | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 sql/updates/world/2014_11_07_02_world.sql diff --git a/sql/updates/world/2014_11_07_02_world.sql b/sql/updates/world/2014_11_07_02_world.sql new file mode 100644 index 00000000000..9b6f625e1e4 --- /dev/null +++ b/sql/updates/world/2014_11_07_02_world.sql @@ -0,0 +1,9 @@ + +UPDATE `gameobject_template` SET `AIName`= 'SmartGameObjectAI' WHERE `entry` =178325; +DELETE FROM `smart_scripts` WHERE `entryorguid` =178325 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 +(178325,1,0,0,70,0,100,0,2,0,0,0,85,21078,0,0,0,0,0,7,0,0,0,0,0,0,0,'Open To Pass Your Rite. - On State Changed - Invoker Cast Conjure Milton (DND)'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=178325; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(22, 1, 178325, 1, 0, 29, 1, 13082, 200, 0, 1, 0, 0, '', 'Only run SAI if Milton Beats is not already spawned'); From f5676d16c7eb5795a18d8eb76c8e42d02b1b5134 Mon Sep 17 00:00:00 2001 From: Dr-J Date: Sat, 8 Nov 2014 00:14:39 +0000 Subject: [PATCH 13/14] DB/Misc: Ogre Tannin Basket Prevent mass spawn of Gordok Bushwacker by repeatedly opening masett as this was triggered by event script fro go --- sql/updates/world/2014_11_07_03_world.sql | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 sql/updates/world/2014_11_07_03_world.sql diff --git a/sql/updates/world/2014_11_07_03_world.sql b/sql/updates/world/2014_11_07_03_world.sql new file mode 100644 index 00000000000..8516c42d5f9 --- /dev/null +++ b/sql/updates/world/2014_11_07_03_world.sql @@ -0,0 +1,8 @@ +DELETE FROM `event_scripts` WHERE `id`=8175; + +UPDATE `gameobject_template` SET `AIName`= 'SmartGameObjectAI' WHERE `entry` =179499; + +DELETE FROM `smart_scripts` WHERE `entryorguid` =179499 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 +(179499,1,0,0,70,0,100,1,2,0,0,0,12,14351,1,900000,0,1,0,8,0,0,0,588.44,606.87,-4.75,5.62,'Ogre Tannin Basket - On State Changed - Spawn Gordok Bushwacker'); From 40bb5743acc0d117db3a5b0e0b1919793d25c392 Mon Sep 17 00:00:00 2001 From: MitchesD Date: Sat, 8 Nov 2014 22:14:03 +0100 Subject: [PATCH 14/14] DB/SAI: Added SAI for some mobs in Icecrown Citadel --- sql/updates/world/2014_11_08_00_world.sql | 56 +++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 sql/updates/world/2014_11_08_00_world.sql diff --git a/sql/updates/world/2014_11_08_00_world.sql b/sql/updates/world/2014_11_08_00_world.sql new file mode 100644 index 00000000000..08f64d64bd3 --- /dev/null +++ b/sql/updates/world/2014_11_08_00_world.sql @@ -0,0 +1,56 @@ +UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry` IN(37098,38418,38258); +UPDATE `creature_template` SET `InhabitType`=5 WHERE `entry`=38058; + +-- Skybreaker Protector SAI +SET @ENTRY := 36998; +UPDATE `creature_template` SET `AIName`="SmartAI" 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,0,0,0,100,0,4000,4000,8000,10000,11,69965,0,0,0,0,0,1,0,0,0,0,0,0,0,"Skybreaker Protector - In Combat - Cast 'Thunderclap'"), +(@ENTRY,0,1,0,0,0,100,0,7000,7000,21000,23000,11,69902,0,0,0,0,0,2,0,0,0,0,0,0,0,"Skybreaker Protector - In Combat - Cast 'Devastate'"), +(@ENTRY,0,2,0,0,0,100,0,16000,16000,30000,30000,11,69903,0,0,0,0,0,2,0,0,0,0,0,0,0,"Skybreaker Protector - In Combat - Cast 'Shield Slam'"), +(@ENTRY,0,3,0,0,0,100,0,5000,5000,17000,26000,11,69901,0,0,0,0,0,2,0,0,0,0,0,0,0,"Skybreaker Protector - In Combat - Cast 'Spell Reflect'"), +(@ENTRY,0,4,0,0,0,100,0,7000,7000,44000,45000,11,57807,0,0,0,0,0,2,0,0,0,0,0,0,0,"Skybreaker Protector - In Combat - Cast 'Sunder Armor'"); + +-- Kor'kron Defender SAI +SET @ENTRY := 37032; +UPDATE `creature_template` SET `AIName`="SmartAI" 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,0,0,0,100,0,4000,4000,8000,10000,11,69965,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kor'kron Defender - In Combat - Cast 'Thunderclap'"), +(@ENTRY,0,1,0,0,0,100,0,7000,7000,21000,23000,11,69902,0,0,0,0,0,2,0,0,0,0,0,0,0,"Kor'kron Defender - In Combat - Cast 'Devastate'"), +(@ENTRY,0,2,0,0,0,100,0,16000,16000,30000,30000,11,69903,0,0,0,0,0,2,0,0,0,0,0,0,0,"Kor'kron Defender - In Combat - Cast 'Shield Slam'"), +(@ENTRY,0,3,0,0,0,100,0,5000,5000,17000,26000,11,69901,0,0,0,0,0,2,0,0,0,0,0,0,0,"Kor'kron Defender - In Combat - Cast 'Spell Reflect'"), +(@ENTRY,0,4,0,0,0,100,0,7000,7000,44000,45000,11,57807,0,0,0,0,0,2,0,0,0,0,0,0,0,"Kor'kron Defender - In Combat - Cast 'Sunder Armor'"); + +-- Blighted Abomination SAI +SET @ENTRY := 37022; +UPDATE `creature_template` SET `AIName`="SmartAI" 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,0,0,0,100,0,4000,4000,6000,6000,11,71140,0,0,0,0,0,2,0,0,0,0,0,0,0,"Blighted Abomination - In Combat - Cast 'Scourge Hook'"), +(@ENTRY,0,1,0,0,0,100,0,10000,11000,10000,11000,11,71150,0,0,0,0,0,1,0,0,0,0,0,0,0,"Blighted Abomination - In Combat - Cast 'Plague Cloud'"), +(@ENTRY,0,2,0,0,0,100,0,14000,15000,14000,15000,11,40504,0,0,0,0,0,2,0,0,0,0,0,0,0,"Blighted Abomination - In Combat - Cast 'Cleave'"); + +-- Decaying Colossus SAI +SET @ENTRY := 36880; +UPDATE `creature_template` SET `AIName`="SmartAI" 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,0,0,0,100,0,15000,17000,15000,17000,11,71114,0,0,0,0,0,1,0,0,0,0,0,0,0,"Decaying Colossus - In Combat - Cast 'Massive Stomp'"); + +-- Darkfallen Lieutenant SAI +SET @ENTRY := 37665; +UPDATE `creature_template` SET `AIName`="SmartAI" 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,0,0,0,100,0,9000,9000,8000,9000,11,70435,0,0,0,0,0,2,0,0,0,0,0,0,0,"Darkfallen Lieutenant - In Combat - Cast 'Rend Flesh'"), +(@ENTRY,0,1,0,0,0,100,0,5000,5000,20000,20000,11,70423,0,0,0,0,0,2,0,0,0,0,0,0,0,"Darkfallen Lieutenant - In Combat - Cast 'Vampiric Curse'"); + +-- Darkfallen Commander SAI +SET @ENTRY := 37662; +UPDATE `creature_template` SET `AIName`="SmartAI" 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,0,0,0,100,0,5000,5000,15000,16000,11,70449,0,0,0,0,0,18,45,0,0,0,0,0,0,"Darkfallen Commander - In Combat - Cast 'Vampire Rush'"), +(@ENTRY,0,1,0,0,0,100,0,5000,5000,25000,25000,11,70750,0,0,0,0,0,1,0,0,0,0,0,0,0,"Darkfallen Commander - In Combat - Cast 'Battle Shout'");