diff options
author | Jesusaves <cpntb1@ymail.com> | 2020-07-01 00:50:07 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2020-07-01 00:50:07 -0300 |
commit | 8c95871043d21d290b54cad0101bf5eb344d95c7 (patch) | |
tree | 6a48ce862ab20e75967d9ad558e30fe420966c2f /npc/027-1 | |
parent | cc2c7258be0506025e70432a1abf4138b2391b04 (diff) | |
download | serverdata-8c95871043d21d290b54cad0101bf5eb344d95c7.tar.gz serverdata-8c95871043d21d290b54cad0101bf5eb344d95c7.tar.bz2 serverdata-8c95871043d21d290b54cad0101bf5eb344d95c7.tar.xz serverdata-8c95871043d21d290b54cad0101bf5eb344d95c7.zip |
Redesign Luca interface
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); |