diff options
Diffstat (limited to 'npc/027-1')
-rw-r--r-- | npc/027-1/luca.txt | 95 |
1 files changed, 70 insertions, 25 deletions
diff --git a/npc/027-1/luca.txt b/npc/027-1/luca.txt index d61f47a03..961baa858 100644 --- a/npc/027-1/luca.txt +++ b/npc/027-1/luca.txt @@ -6,39 +6,39 @@ // Luca, of Physical Science Class. 027-1,49,102,0 script Luca NPC_PLAYER,{ + function basicMagic; + function standardMagic; + function advancedMagic; if (!MAGIC_LVL) goto L_NoMagic; mes l(".:: Physical Sciences Class ::."); mesc l("Specialized in skills with weapon-based damage and Assassination."); next; mesn; - do { mesc l("You have @@ magic skill points available.", sk_points()); - next; - mesc l("Falkon Punch - Bash your weapon against your enemies with raised damage and accuracy."); - mesc l("Supreme Attack - Cause a very strong attack with lowered accuracy."); - mesc l("Arrow Shower - Shoot FIVE arrows or bullets to the air and cause Area Of Effect Damage."); - - mesc l("Counter Attack - Next attack will be retaliated, with twice critical ratio."); - - mesc l("Ground Strike - Hit the ground, exploding the surroundings and disabling enemies."); - mesc l("Sharpshooter - Shoot an arrow or bullet which damages everything on its way."); - menuint - l("Falkon Punch"), SM_BASH, - l("Supreme Attack"), MC_MAMMONITE, - l("Arrow Shower"), AC_SHOWER, - l("Counter Attack"), KN_AUTOCOUNTER, - l("Ground Strike"), ASC_METEORASSAULT, - l("Sharpshooter"), SN_SHARPSHOOTING, - l("Cancel"), 0; + select + l("Basic Tricks"), + l("Standard Tricks"), + l("Advanced Tricks"); mes ""; + .@lv=@menu; + do + { + // Display appropriate menu + if (.@lv == 1) + basicMagic(); + else if (.@lv == 2) + standardMagic(); + else if (.@lv == 3) + advancedMagic(); - // Handle result - if (@menuret) { - if (!learn_magic(@menuret)) - mesc l("You do not meet all requisites for this skill."), 1; - } else { - closeclientdialog; - } + // Handle result + mes ""; + if (@menuret) { + if (!learn_magic(@menuret)) + mesc l("You do not meet all requisites for this skill."), 1; + } else { + closeclientdialog; + } } while (@menuret); close; @@ -55,6 +55,51 @@ L_NoMagic: mesq l("Perhaps, in the city, someone knows rumors about Mana Stones and can teach you. Other than that, you're on your own."); close; +function basicMagic { + if (MAGIC_LVL < 1) goto L_NoMagic; + mes l(".:: Falkon Punch ::."); + mesc l("Bash your weapon against your enemies with raised damage and accuracy."); + mes ""; + mes l(".:: Ground Strike ::."); + mesc l("Hit the ground, exploding the surroundings and disabling enemies."); + mes ""; + mes l(".:: Sharpshooter ::."); + mesc l("Shoot an arrow or bullet which damages everything on its way."); + mes ""; + menuint + l("Falkon Punch"), SM_BASH, + l("Ground Strike"), ASC_METEORASSAULT, + l("Sharpshooter"), SN_SHARPSHOOTING, + l("Cancel"), 0; + mes ""; +} + +function standardMagic { + if (MAGIC_LVL < 2) goto L_NoMagic; + mes l(".:: Supreme Attack ::."); + mesc l("Cause a very strong attack with lowered accuracy."); + mes ""; + mes l(".:: Arrow Shower ::."); + mesc l("Shoot FIVE arrows or bullets to the air and cause Area Of Effect Damage."); + mes ""; + menuint + l("Supreme Attack"), MC_MAMMONITE, + l("Arrow Shower"), AC_SHOWER, + l("Cancel"), 0; + mes ""; +} + +function advancedMagic { + if (MAGIC_LVL < 3) goto L_NoMagic; + mes l(".:: Counter Attack ::."); + mesc l("Retaliates next attack with a critical hit. This instance lasts a second."); + mes ""; + menuint + l("Counter Attack"), KN_AUTOCOUNTER, + l("Cancel"), 0; + mes ""; +} + OnInit: .@npcId = getnpcid(.name$); setunitdata(.@npcId, UDT_HEADTOP, NPCEyes); |