aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMuhaha <none@none>2009-10-13 20:21:50 +0200
committerMuhaha <none@none>2009-10-13 20:21:50 +0200
commit5bab3b0d09e1e92f40b247a3b34e5e78ecc9468d (patch)
tree2e8272fe5951d68422099244809dede3c49d52c4 /src
parent93ecd5ba076557993002b345f0ec31f015dbf892 (diff)
*matrix punch script.
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/scripts/world/go_scripts.cpp64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/bindings/scripts/scripts/world/go_scripts.cpp b/src/bindings/scripts/scripts/world/go_scripts.cpp
index f09817a45fb..068388d4bf7 100644
--- a/src/bindings/scripts/scripts/world/go_scripts.cpp
+++ b/src/bindings/scripts/scripts/world/go_scripts.cpp
@@ -479,6 +479,65 @@ bool GOHello_go_wg2voa_portal(Player* pPlayer, GameObject* pGO)
return false;
}
+/*######
+## matrix_punchograph
+######*/
+
+enum
+{
+ ITEM_WHITE_PUNCH_CARD = 9279,
+ ITEM_YELLOW_PUNCH_CARD = 9280,
+ ITEM_BLUE_PUNCH_CARD = 9282,
+ ITEM_RED_PUNCH_CARD = 9281,
+ ITEM_PRISMATIC_PUNCH_CARD = 9316,
+ SPELL_YELLOW_PUNCH_CARD = 11512,
+ SPELL_BLUE_PUNCH_CARD = 11525,
+ SPELL_RED_PUNCH_CARD = 11528,
+ SPELL_PRISMATIC_PUNCH_CARD = 11545,
+ MATRIX_PUNCHOGRAPH_3005_A = 142345,
+ MATRIX_PUNCHOGRAPH_3005_B = 142475,
+ MATRIX_PUNCHOGRAPH_3005_C = 142476,
+ MATRIX_PUNCHOGRAPH_3005_D = 142696,
+};
+
+bool GOHello_go_matrix_punchograph(Player* pPlayer, GameObject* pGo)
+{
+ switch(pGo->GetEntry())
+ {
+ case MATRIX_PUNCHOGRAPH_3005_A:
+ if(pPlayer->HasItemCount(ITEM_WHITE_PUNCH_CARD, 1))
+ {
+ pPlayer->DestroyItemCount(ITEM_WHITE_PUNCH_CARD, 1, true);
+ pPlayer->CastSpell(pPlayer,SPELL_YELLOW_PUNCH_CARD,true);
+ }
+ break;
+ case MATRIX_PUNCHOGRAPH_3005_B:
+ if(pPlayer->HasItemCount(ITEM_YELLOW_PUNCH_CARD, 1))
+ {
+ pPlayer->DestroyItemCount(ITEM_YELLOW_PUNCH_CARD, 1, true);
+ pPlayer->CastSpell(pPlayer,SPELL_BLUE_PUNCH_CARD,true);
+ }
+ break;
+ case MATRIX_PUNCHOGRAPH_3005_C:
+ if(pPlayer->HasItemCount(ITEM_BLUE_PUNCH_CARD, 1))
+ {
+ pPlayer->DestroyItemCount(ITEM_BLUE_PUNCH_CARD, 1, true);
+ pPlayer->CastSpell(pPlayer,SPELL_RED_PUNCH_CARD,true);
+ }
+ break;
+ case MATRIX_PUNCHOGRAPH_3005_D:
+ if(pPlayer->HasItemCount(ITEM_RED_PUNCH_CARD, 1))
+ {
+ pPlayer->DestroyItemCount(ITEM_RED_PUNCH_CARD, 1, true);
+ pPlayer->CastSpell(pPlayer,SPELL_PRISMATIC_PUNCH_CARD,true);
+ }
+ break;
+ default:
+ break;
+ }
+ return false;
+}
+
void AddSC_go_scripts()
{
Script *newscript;
@@ -593,5 +652,10 @@ void AddSC_go_scripts()
newscript->Name = "go_wg2voa_portal";
newscript->pGOHello = &GOHello_go_wg2voa_portal;
newscript->RegisterSelf();
+
+ newscript = new Script;
+ newscript->Name = "go_matrix_punchograph";
+ newscript->pGOHello = &GOHello_go_matrix_punchograph;
+ newscript->RegisterSelf();
}