summaryrefslogtreecommitdiff
path: root/npc
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
parentcc2c7258be0506025e70432a1abf4138b2391b04 (diff)
downloadserverdata-8c95871043d21d290b54cad0101bf5eb344d95c7.tar.gz
serverdata-8c95871043d21d290b54cad0101bf5eb344d95c7.tar.bz2
serverdata-8c95871043d21d290b54cad0101bf5eb344d95c7.tar.xz
serverdata-8c95871043d21d290b54cad0101bf5eb344d95c7.zip
Redesign Luca interface
Diffstat (limited to 'npc')
-rw-r--r--npc/003-0/trickmaster.txt1
-rw-r--r--npc/027-1/luca.txt95
-rw-r--r--npc/functions/hub.txt5
3 files changed, 75 insertions, 26 deletions
diff --git a/npc/003-0/trickmaster.txt b/npc/003-0/trickmaster.txt
index 7a1d34b40..c1831077b 100644
--- a/npc/003-0/trickmaster.txt
+++ b/npc/003-0/trickmaster.txt
@@ -30,6 +30,7 @@
advancedMagic();
// Handle result
+ mes "";
if (@menuret) {
if (!learn_magic(@menuret))
mesc l("You do not meet all requisites for this skill."), 1;
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);
diff --git a/npc/functions/hub.txt b/npc/functions/hub.txt
index 67b1b187e..064b34422 100644
--- a/npc/functions/hub.txt
+++ b/npc/functions/hub.txt
@@ -588,7 +588,7 @@ function script HUB_SkillInvoke {
// Using a shield, so power is halved
if (getequipid(EQI_HAND_L) > 0)
.@PW=.@PW/2;
- harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ //harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Fire);
harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Water);
harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Earth);
@@ -596,6 +596,9 @@ function script HUB_SkillInvoke {
harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Holy);
harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Shadow);
harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Ghost);
+ // The main elemental-less blast hits all in same square,
+ // and also hits behind (and on your square)
+ rectharm(@skillTarget, 0, 1, AdjustAttackpower(.@PW/2), HARM_PHYS, Ele_Neutral);
break;
*/
// CLASS_OTHER