summaryrefslogtreecommitdiff
path: root/npc/027-1
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2020-07-01 00:50:07 -0300
committerJesusaves <cpntb1@ymail.com>2020-07-01 00:50:07 -0300
commit8c95871043d21d290b54cad0101bf5eb344d95c7 (patch)
tree6a48ce862ab20e75967d9ad558e30fe420966c2f /npc/027-1
parentcc2c7258be0506025e70432a1abf4138b2391b04 (diff)
downloadserverdata-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.txt95
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);