diff options
author | Muhaha <none@none> | 2009-10-13 20:21:50 +0200 |
---|---|---|
committer | Muhaha <none@none> | 2009-10-13 20:21:50 +0200 |
commit | 5bab3b0d09e1e92f40b247a3b34e5e78ecc9468d (patch) | |
tree | 2e8272fe5951d68422099244809dede3c49d52c4 /src | |
parent | 93ecd5ba076557993002b345f0ec31f015dbf892 (diff) |
*matrix punch script.
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/bindings/scripts/scripts/world/go_scripts.cpp | 64 |
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(); } |