aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormegamage <none@none>2009-03-24 17:20:45 -0600
committermegamage <none@none>2009-03-24 17:20:45 -0600
commitd96b0f5cb6b7ee78a365760e05e7c8ae606415f7 (patch)
treedc2284d65cde429256f8a416688ef34b2d4ddf5d
parent4cee45c09d84c0ffefd79c2ecdc74f5763f35947 (diff)
parent8413356d0ef5231117ff0717d08fed9b1ab90002 (diff)
*Merge.
--HG-- branch : trunk
-rw-r--r--sql/updates/1247_world.sql1
-rw-r--r--sql/updates/1249_world.sql1
-rw-r--r--src/bindings/scripts/scripts/go/go_scripts.cpp47
3 files changed, 49 insertions, 0 deletions
diff --git a/sql/updates/1247_world.sql b/sql/updates/1247_world.sql
new file mode 100644
index 00000000000..2e9a7088beb
--- /dev/null
+++ b/sql/updates/1247_world.sql
@@ -0,0 +1 @@
+UPDATE `gameobject_template` SET `ScriptName` = 'go_jump_a_tron' WHERE `entry` = 183146;
diff --git a/sql/updates/1249_world.sql b/sql/updates/1249_world.sql
new file mode 100644
index 00000000000..6ce0e777210
--- /dev/null
+++ b/sql/updates/1249_world.sql
@@ -0,0 +1 @@
+UPDATE `gameobject_template` SET `ScriptName` = 'go_ethereum_prison' WHERE `entry` = 184421;
diff --git a/src/bindings/scripts/scripts/go/go_scripts.cpp b/src/bindings/scripts/scripts/go/go_scripts.cpp
index 8489cc5417d..faa55482b8a 100644
--- a/src/bindings/scripts/scripts/go/go_scripts.cpp
+++ b/src/bindings/scripts/scripts/go/go_scripts.cpp
@@ -183,6 +183,42 @@ bool GOHello_go_tablet_of_the_seven(Player *player, GameObject* _GO)
return true;
}
+/*#####
+## go_jump_a_tron
+######*/
+
+bool GOHello_go_jump_a_tron(Player *player, GameObject* _GO)
+{
+ if (player->GetQuestStatus(10111) == QUEST_STATUS_INCOMPLETE)
+ player->CastSpell(player,33382,true);
+
+ return true;
+}
+
+/*######
+## go_ethereum_prison
+######*/
+
+float ethereum_NPC[2][7] =
+{
+ {20785,20790,20789,20784,20786,20783,20788}, // hostile npc
+ {22810,22811,22812,22813,22814,22815,0} // fiendly npc (need script in acid ? only to cast spell reputation reward)
+};
+
+bool GOHello_go_ethereum_prison(Player *player, GameObject* _GO)
+{
+ _GO->SetGoState(0);
+ switch(rand()%2){
+ case 0:
+ _GO->SummonCreature(ethereum_NPC[0][rand()%6],_GO->GetPositionX(),_GO->GetPositionY(),_GO->GetPositionZ()+0.3, 0,TEMPSUMMON_CORPSE_TIMED_DESPAWN,10000);
+ break;
+ case 1:
+ _GO->SummonCreature(ethereum_NPC[1][rand()%5],_GO->GetPositionX(),_GO->GetPositionY(),_GO->GetPositionZ()+0.3, 0,TEMPSUMMON_TIMED_DESPAWN,10000);
+ break;
+}
+return true;
+}
+
void AddSC_go_scripts()
{
Script *newscript;
@@ -236,5 +272,16 @@ void AddSC_go_scripts()
newscript->Name="go_tablet_of_the_seven";
newscript->pGOHello = &GOHello_go_tablet_of_the_seven;
newscript->RegisterSelf();
+
+ newscript = new Script;
+ newscript->Name="go_jump_a_tron";
+ newscript->pGOHello = &GOHello_go_jump_a_tron;
+ newscript->RegisterSelf();
+
+ newscript = new Script;
+ newscript->Name="go_ethereum_prison";
+ newscript->pGOHello = &GOHello_go_ethereum_prison;
+ newscript->RegisterSelf();
+
}