diff options
| -rw-r--r-- | sql/updates/2798_world_SD2_scripts.sql | 2 | ||||
| -rw-r--r-- | sql/world_scripts_full.sql | 6 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/go/go_scripts.cpp | 31 |
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; |
