aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/2798_world_SD2_scripts.sql2
-rw-r--r--sql/world_scripts_full.sql6
-rw-r--r--src/bindings/scripts/scripts/go/go_scripts.cpp31
3 files changed, 37 insertions, 2 deletions
diff --git a/sql/updates/2798_world_SD2_scripts.sql b/sql/updates/2798_world_SD2_scripts.sql
new file mode 100644
index 00000000000..2ac36a64517
--- /dev/null
+++ b/sql/updates/2798_world_SD2_scripts.sql
@@ -0,0 +1,2 @@
+UPDATE gameobject_template SET ScriptName='go_tele_to_dalaran_crystal' WHERE entry=191230;
+UPDATE gameobject_template SET ScriptName='go_tele_to_violet_stand' WHERE entry=191229; \ No newline at end of file
diff --git a/sql/world_scripts_full.sql b/sql/world_scripts_full.sql
index b05d40238a4..cc6d3bd7ba3 100644
--- a/sql/world_scripts_full.sql
+++ b/sql/world_scripts_full.sql
@@ -25,8 +25,10 @@ UPDATE `gameobject_template` SET `ScriptName`='go_crystal_prison' WHERE `entry`=
UPDATE `gameobject_template` SET `ScriptName`='go_legion_obelisk' WHERE `entry` IN (185193,185195,185196,185197,185198);
UPDATE `gameobject_template` SET `ScriptName`='go_jump_a_tron' WHERE `entry`=183146;
UPDATE `gameobject_template` SET `ScriptName`='go_ethereum_prison' WHERE `entry`=184421;
-UPDATE `gameobject_template` SET `scriptname`='go_sacred_fire_of_life' WHERE `entry`=175944;
-UPDATE `gameobject_template` SET `scriptname`='go_skull_pile' WHERE `entry`=185913;
+UPDATE `gameobject_template` SET `ScriptName`='go_sacred_fire_of_life' WHERE `entry`=175944;
+UPDATE `gameobject_template` SET `ScriptName`='go_skull_pile' WHERE `entry`=185913;
+UPDATE `gameobject_template` SET `ScriptName`='go_tele_to_dalaran_crystal' WHERE entry=191230;
+UPDATE `gameobject_template` SET `ScriptName`='go_tele_to_violet_stand' WHERE entry=191229;
/* GUARD */
UPDATE `creature_template` SET `ScriptName`='guard_azuremyst' WHERE `entry`=18038;
diff --git a/src/bindings/scripts/scripts/go/go_scripts.cpp b/src/bindings/scripts/scripts/go/go_scripts.cpp
index 5613ccdd9b7..969c7ea69ee 100644
--- a/src/bindings/scripts/scripts/go/go_scripts.cpp
+++ b/src/bindings/scripts/scripts/go/go_scripts.cpp
@@ -233,6 +233,37 @@ bool GOHello_go_sacred_fire_of_life(Player* pPlayer, GameObject* pGO)
return true;
}
+/*######
+## go_tele_to_dalaran_crystal
+######*/
+
+enum
+{
+ QUEST_LEARN_LEAVE_RETURN = 12790,
+ QUEST_TELE_CRYSTAL_FLAG = 12845
+};
+
+bool GOHello_go_tele_to_dalaran_crystal(Player* pPlayer, GameObject* pGo)
+{
+ if (pPlayer->GetQuestRewardStatus(QUEST_TELE_CRYSTAL_FLAG))
+ return false;
+
+ //TODO: must send error message (what kind of message? On-screen?)
+ return true;
+}
+
+/*######
+## go_tele_to_violet_stand
+######*/
+
+bool GOHello_go_tele_to_violet_stand(Player* pPlayer, GameObject* pGo)
+{
+ if (pPlayer->GetQuestRewardStatus(QUEST_LEARN_LEAVE_RETURN) || pPlayer->GetQuestStatus(QUEST_LEARN_LEAVE_RETURN) == QUEST_STATUS_INCOMPLETE)
+ return false;
+
+ return true;
+}
+
void AddSC_go_scripts()
{
Script *newscript;