diff options
3 files changed, 78 insertions, 0 deletions
diff --git a/sql/updates/world/master/2017_03_05_01_world_2016_10_04_00_world.sql b/sql/updates/world/master/2017_03_05_01_world_2016_10_04_00_world.sql new file mode 100644 index 00000000000..5558d56650c --- /dev/null +++ b/sql/updates/world/master/2017_03_05_01_world_2016_10_04_00_world.sql @@ -0,0 +1,45 @@ +-- +UPDATE `quest_template_addon` SET `ExclusiveGroup`=236 WHERE `ID` IN (13195, 13156, 13194, 13201, 13154, 13196, 13193, 13199, 236, 13197, 13191, 13200, 13153, 13198, 13202, 13192); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (19, 20) AND `SourceEntry` IN (13195, 13156, 13194, 13201, 13154, 13196, 13193, 13199, 236, 13197, 13191, 13200, 13153, 13198, 13202, 13192, 13185, 13186, 13222, 13223); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(19, 0, 13195, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, "", "Alliance quest 'A Rare Herb' (attackers) is available if Wintergrasp is held by Horde"), +(20, 0, 13195, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, "", "Quest mark for Alliance quest 'A Rare Herb' (attackers) is available if Wintergrasp is held by Horde"), +(19, 0, 13156, 0, 0, 48, 0, 0, 0, 0, 1, 0, 0, "", "Alliance quest 'A Rare Herb' (defenders) is available if Wintergrasp is held by Alliance"), +(20, 0, 13156, 0, 0, 48, 0, 0, 0, 0, 1, 0, 0, "", "Quest mark for Alliance quest 'A Rare Herb' (defenders) is available if Wintergrasp is held by Alliance"), +(19, 0, 13194, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, "", "Horde quest 'Healing with Roses' (defenders) is available if Wintergrasp is held by Horde"), +(20, 0, 13194, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, "", "Quest mark for Horde quest 'Healing with Roses' (defenders) is available if Wintergrasp is held by Horde"), +(19, 0, 13201, 0, 0, 48, 0, 0, 0, 0, 1, 0, 0, "", "Horde quest 'Healing with Roses' (attackers) is available if Wintergrasp is held by Alliance"), +(20, 0, 13201, 0, 0, 48, 0, 0, 0, 0, 1, 0, 0, "", "Quest mark for Horde quest 'Healing with Roses' (attackers) is available if Wintergrasp is held by Alliance"), +(19, 0, 13154, 0, 0, 48, 0, 0, 0, 0, 1, 0, 0, "", "Alliance quest 'Bones and Arrows' (defenders) is available if Wintergrasp is held by Alliance"), +(20, 0, 13154, 0, 0, 48, 0, 0, 0, 0, 1, 0, 0, "", "Quest mark for Alliance quest 'Bones and Arrows' (defenders) is available if Wintergrasp is held by Alliance"), +(19, 0, 13196, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, "", "Alliance quest 'Bones and Arrows' (attackers) is available if Wintergrasp is held by Horde"), +(20, 0, 13196, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, "", "Quest mark for Alliance quest 'Bones and Arrows' (attackers) is available if Wintergrasp is held by Horde"), +(19, 0, 13193, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, "", "Horde quest 'Bones and Arrows' (defenders) is available if Wintergrasp is held by Horde"), +(20, 0, 13193, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, "", "Quest mark for Horde quest 'Bones and Arrows' (defenders) is available if Wintergrasp is held by Horde"), +(19, 0, 13199, 0, 0, 48, 0, 0, 0, 0, 1, 0, 0, "", "Horde quest 'Bones and Arrows' (attackers) is available if Wintergrasp is held by Alliance"), +(20, 0, 13199, 0, 0, 48, 0, 0, 0, 0, 1, 0, 0, "", "Quest mark for Horde quest 'Bones and Arrows' (attackers) is available if Wintergrasp is held by Alliance"), +(19, 0, 236, 0, 0, 48, 0, 0, 0, 0, 1, 0, 0, "", "Alliance quest 'Fueling the Demolishers' (defenders) is available if Wintergrasp is held by Alliance"), +(20, 0, 236, 0, 0, 48, 0, 0, 0, 0, 1, 0, 0, "", "Quest mark for Alliance quest 'Fueling the Demolishers' (defenders) is available if Wintergrasp is held by Alliance"), +(19, 0, 13197, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, "", "Alliance quest 'Fueling the Demolishers' (attackers) is available if Wintergrasp is held by Horde"), +(20, 0, 13197, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, "", "Quest mark for Alliance quest 'Fueling the Demolishers' (attackers) is available if Wintergrasp is held by Horde"), +(19, 0, 13191, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, "", "Horde quest 'Fueling the Demolishers' (defenders) is available if Wintergrasp is held by Horde"), +(20, 0, 13191, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, "", "Quest mark for Horde quest 'Fueling the Demolishers' (defenders) is available if Wintergrasp is held by Horde"), +(19, 0, 13200, 0, 0, 48, 0, 0, 0, 0, 1, 0, 0, "", "Horde quest 'Fueling the Demolishers' (attackers) is available if Wintergrasp is held by Alliance"), +(20, 0, 13200, 0, 0, 48, 0, 0, 0, 0, 1, 0, 0, "", "Quest mark for Horde quest 'Fueling the Demolishers' (attackers) is available if Wintergrasp is held by Alliance"), +(19, 0, 13153, 0, 0, 48, 0, 0, 0, 0, 1, 0, 0, "", "Alliance quest 'Warding the Warriors' (defenders) is available if Wintergrasp is held by Alliance"), +(20, 0, 13153, 0, 0, 48, 0, 0, 0, 0, 1, 0, 0, "", "Quest mark for Alliance quest 'Warding the Warriors' (defenders) is available if Wintergrasp is held by Alliance"), +(19, 0, 13198, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, "", "Alliance quest 'Warding the Warriors' (attackers) is available if Wintergrasp is held by Horde"), +(20, 0, 13198, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, "", "Quest mark for Alliance quest 'Warding the Warriors' (attackers) is available if Wintergrasp is held by Horde"), +(19, 0, 13202, 0, 0, 48, 0, 0, 0, 0, 1, 0, 0, "", "Horde quest 'Jinxing the Walls' (attackers) is available if Wintergrasp is held by Alliance"), +(20, 0, 13202, 0, 0, 48, 0, 0, 0, 0, 1, 0, 0, "", "Quest mark for Horde quest 'Jinxing the Walls' (attackers) is available if Wintergrasp is held by Alliance"), +(19, 0, 13192, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, "", "Horde quest 'Warding the Walls' (defenders) is available if Wintergrasp is held by Horde"), +(20, 0, 13192, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, "", "Quest mark for Horde quest 'Warding the Walls' (defenders) is available if Wintergrasp is held by Horde"), +(19, 0, 13185, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, "", "Horde quest 'Stop the Siege' (defenders) is available if Wintergrasp is held by Horde"), +(20, 0, 13185, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, "", "Quest mark for Horde quest 'Stop the Siege' (defenders) is available if Wintergrasp is held by Horde"), +(19, 0, 13186, 0, 0, 48, 0, 0, 0, 0, 1, 0, 0, "", "Alliance quest 'Stop the Siege' (defenders) is available if Wintergrasp is held by Alliance"), +(20, 0, 13186, 0, 0, 48, 0, 0, 0, 0, 1, 0, 0, "", "Quest mark for Alliance quest 'Stop the Siege' (defenders) is available if Wintergrasp is held by Alliance"), +(19, 0, 13222, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, "", "Alliance quest 'Defend the Siege' (attackers) is available if Wintergrasp is held by Horde"), +(20, 0, 13222, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, "", "Quest mark for Alliance quest 'Defend the Siege' (attackers) is available if Wintergrasp is held by Horde"), +(19, 0, 13223, 0, 0, 48, 0, 0, 0, 0, 1, 0, 0, "", "Horde quest 'Defend the Siege' (attackers) is available if Wintergrasp is held by Alliance"), +(20, 0, 13223, 0, 0, 48, 0, 0, 0, 0, 1, 0, 0, "", "Quest mark for Horde quest 'Defend the Siege' (attackers) is available if Wintergrasp is held by Alliance"); diff --git a/sql/updates/world/master/2017_03_05_02_world_2016_10_04_03_world.sql b/sql/updates/world/master/2017_03_05_02_world_2016_10_04_03_world.sql new file mode 100644 index 00000000000..e9e1413252e --- /dev/null +++ b/sql/updates/world/master/2017_03_05_02_world_2016_10_04_03_world.sql @@ -0,0 +1,3 @@ +-- +UPDATE `conditions` SET `ConditionTypeOrReference`=32, `ConditionValue1`=0x90, `ScriptName`="condition_is_wintergrasp_horde" WHERE `ConditionTypeOrReference`=48 AND `NegativeCondition`=0; +UPDATE `conditions` SET `ConditionTypeOrReference`=32, `ConditionValue1`=0x90, `NegativeCondition`=0, `ScriptName`="condition_is_wintergrasp_alliance" WHERE `ConditionTypeOrReference`=48 AND `NegativeCondition`=1; diff --git a/src/server/scripts/Northrend/zone_wintergrasp.cpp b/src/server/scripts/Northrend/zone_wintergrasp.cpp index d53d3931c65..311056a09c2 100644 --- a/src/server/scripts/Northrend/zone_wintergrasp.cpp +++ b/src/server/scripts/Northrend/zone_wintergrasp.cpp @@ -629,6 +629,34 @@ public: } }; +class condition_is_wintergrasp_horde : public ConditionScript +{ +public: + condition_is_wintergrasp_horde() : ConditionScript("condition_is_wintergrasp_horde") { } + + bool OnConditionCheck(Condition const* /* condition */, ConditionSourceInfo& /* sourceInfo */) + { + Battlefield* wintergrasp = sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG); + if (wintergrasp->IsEnabled() && wintergrasp->GetDefenderTeam() == TEAM_HORDE) + return true; + return false; + } +}; + +class condition_is_wintergrasp_alliance : public ConditionScript +{ +public: + condition_is_wintergrasp_alliance() : ConditionScript("condition_is_wintergrasp_alliance") { } + + bool OnConditionCheck(Condition const* /* condition */, ConditionSourceInfo& /* sourceInfo */) + { + Battlefield* wintergrasp = sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG); + if (wintergrasp->IsEnabled() && wintergrasp->GetDefenderTeam() == TEAM_ALLIANCE) + return true; + return false; + } +}; + void AddSC_wintergrasp() { new npc_wg_queue(); @@ -641,4 +669,6 @@ void AddSC_wintergrasp() new achievement_wg_didnt_stand_a_chance(); new spell_wintergrasp_defender_teleport(); new spell_wintergrasp_defender_teleport_trigger(); + new condition_is_wintergrasp_horde(); + new condition_is_wintergrasp_alliance(); } |