aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/scripts/world_scripts_full.sql2
-rw-r--r--sql/updates/world/2011_07_23_00_world_areatrigger_scripts.sql4
-rw-r--r--src/server/scripts/World/areatrigger_scripts.cpp44
3 files changed, 50 insertions, 0 deletions
diff --git a/sql/scripts/world_scripts_full.sql b/sql/scripts/world_scripts_full.sql
index 67ac157a736..c3d890c4665 100644
--- a/sql/scripts/world_scripts_full.sql
+++ b/sql/scripts/world_scripts_full.sql
@@ -40,6 +40,8 @@ INSERT INTO `areatrigger_scripts` (`entry`,`ScriptName`) VALUES
(1738, 'at_scent_larkorwi'),
(1739, 'at_scent_larkorwi'),
(1740, 'at_scent_larkorwi'),
+(5046, 'at_sholazar_waygate'),
+(5047, 'at_sholazar_waygate'),
(5369, 'at_RX_214_repair_o_matic_station'),
(5423, 'at_RX_214_repair_o_matic_station'),
(5633, 'at_tyrannus_event_starter'),
diff --git a/sql/updates/world/2011_07_23_00_world_areatrigger_scripts.sql b/sql/updates/world/2011_07_23_00_world_areatrigger_scripts.sql
new file mode 100644
index 00000000000..b3630999865
--- /dev/null
+++ b/sql/updates/world/2011_07_23_00_world_areatrigger_scripts.sql
@@ -0,0 +1,4 @@
+DELETE FROM `areatrigger_scripts` WHERE `entry` IN (5046,5047);
+INSERT INTO `areatrigger_scripts` (`entry`,`ScriptName`) VALUES
+(5046,'at_sholazar_waygate'),
+(5047,'at_sholazar_waygate');
diff --git a/src/server/scripts/World/areatrigger_scripts.cpp b/src/server/scripts/World/areatrigger_scripts.cpp
index 48308545cc3..51c0cbff8e2 100644
--- a/src/server/scripts/World/areatrigger_scripts.cpp
+++ b/src/server/scripts/World/areatrigger_scripts.cpp
@@ -33,6 +33,8 @@ at_warsong_grainery
at_torp_farm
at_warsong_farms q11686
at_stormwright_shelf q12741
+at_last_rites q12019
+at_sholozar_waygate q12548
EndContentData */
#include "ScriptPCH.h"
@@ -325,6 +327,47 @@ class AreaTrigger_at_last_rites : public AreaTriggerScript
}
};
+/*######
+## at_sholozar_waygate
+######*/
+
+enum eWaygate
+{
+ SPELL_SHOLAZAR_TO_UNGORO_TELEPORT = 52056,
+ SPELL_UNGORO_TO_SHOLAZAR_TELEPORT = 52057,
+
+ AT_SHOLAZAR = 5046,
+ AT_UNGORO = 5047,
+
+ QUEST_THE_MAKERS_OVERLOOK = 12613,
+ QUEST_THE_MAKERS_PERCH = 12559,
+};
+
+class AreaTrigger_at_sholazar_waygate : public AreaTriggerScript
+{
+ public:
+
+ AreaTrigger_at_sholazar_waygate()
+ : AreaTriggerScript("at_sholazar_waygate")
+ {
+ }
+
+ bool OnTrigger(Player* player, AreaTriggerEntry const* trigger)
+ {
+ if (player->GetQuestStatus(QUEST_THE_MAKERS_OVERLOOK) == QUEST_STATUS_REWARDED && !player->isDead() &&
+ player->GetQuestStatus(QUEST_THE_MAKERS_PERCH) == QUEST_STATUS_REWARDED)
+ {
+ switch(trigger->id)
+ {
+ case AT_SHOLAZAR: player->CastSpell(player, SPELL_SHOLAZAR_TO_UNGORO_TELEPORT, false); break;
+ case AT_UNGORO: player->CastSpell(player, SPELL_UNGORO_TO_SHOLAZAR_TELEPORT, false); break;
+ }
+ }
+
+ return false;
+ }
+};
+
void AddSC_areatrigger_scripts()
{
new AreaTrigger_at_aldurthar_gate();
@@ -335,4 +378,5 @@ void AddSC_areatrigger_scripts()
new AreaTrigger_at_stormwright_shelf();
new AreaTrigger_at_scent_larkorwi();
new AreaTrigger_at_last_rites();
+ new AreaTrigger_at_sholazar_waygate();
}