summaryrefslogtreecommitdiff
path: root/npc/027-1
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2020-07-01 01:02:04 -0300
committerJesusaves <cpntb1@ymail.com>2020-07-01 01:02:04 -0300
commit182cd21d49fb40f92d5e894bd6a4d887e27fdcba (patch)
tree65503baa222c7a11a50953827d5df69f6eb7ffab /npc/027-1
parent9da4ca39423bcbb0639918c453827783e59e9e4d (diff)
downloadserverdata-182cd21d49fb40f92d5e894bd6a4d887e27fdcba.tar.gz
serverdata-182cd21d49fb40f92d5e894bd6a4d887e27fdcba.tar.bz2
serverdata-182cd21d49fb40f92d5e894bd6a4d887e27fdcba.tar.xz
serverdata-182cd21d49fb40f92d5e894bd6a4d887e27fdcba.zip
Rewrite Mr. Saves Academy and make no magic fail message more specific
Diffstat (limited to 'npc/027-1')
-rw-r--r--npc/027-1/luca.txt8
-rw-r--r--npc/027-1/saves.txt105
2 files changed, 84 insertions, 29 deletions
diff --git a/npc/027-1/luca.txt b/npc/027-1/luca.txt
index 961baa858..1038bfd41 100644
--- a/npc/027-1/luca.txt
+++ b/npc/027-1/luca.txt
@@ -46,7 +46,7 @@
L_NoMagic:
next;
mesn;
- mesq l("Your lack of magical power is critical. I dare say, you might never in your life get access to a Mana Stone.");
+ mesq l("You do not have enough magic power for these classes.");
next;
mesn;
mesq l("Besides the Magic Council, Andrei Sakar have his own Mana Stone, but I doubt he would train the likes of you, or share his Mana Stone.");
@@ -71,7 +71,7 @@ function basicMagic {
l("Ground Strike"), ASC_METEORASSAULT,
l("Sharpshooter"), SN_SHARPSHOOTING,
l("Cancel"), 0;
- mes "";
+ return;
}
function standardMagic {
@@ -86,7 +86,7 @@ function standardMagic {
l("Supreme Attack"), MC_MAMMONITE,
l("Arrow Shower"), AC_SHOWER,
l("Cancel"), 0;
- mes "";
+ return;
}
function advancedMagic {
@@ -97,7 +97,7 @@ function advancedMagic {
menuint
l("Counter Attack"), KN_AUTOCOUNTER,
l("Cancel"), 0;
- mes "";
+ return;
}
OnInit:
diff --git a/npc/027-1/saves.txt b/npc/027-1/saves.txt
index 2a9eaa52f..fb85117b6 100644
--- a/npc/027-1/saves.txt
+++ b/npc/027-1/saves.txt
@@ -5,51 +5,106 @@
// Mr. Saves of Scholar Class
027-1,104,61,0 script Mr Saves NPC_BLACKALCHEMIST,{
+ function basicMagic;
+ function standardMagic;
+ function advancedMagic;
if (!MAGIC_LVL) goto L_NoMagic;
mes l(".:: Scholarship Class ::.");
mesc l("Specialized in support, buff, debuff and strengthening skills.");
next;
mesn;
- do {
mesc l("You have @@ magic skill points available.", sk_points());
next;
- mesc l("Healing - The most basic healing skill, requires no items to use.");
- mesc l("Mana Wisdom - Passive - Raise Mana EXP Gain rate");
- mesc l("Accumulate Power - Raise damage of next skill.");
- mesc l("Provoke - Provoke a single monster");
+ 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
+ mes "";
+ if (@menuret) {
+ if (!learn_magic(@menuret))
+ mesc l("You do not meet all requisites for this skill."), 1;
+ } else {
+ closeclientdialog;
+ }
- mesc l("Area Provoke - Provoke all monsters centered on target.");
- mesc l("High Healing - Use a Lifestone for supreme healing.");
+ } while (@menuret);
+ close;
- mesc l("Windwalker - Increase walk speed and flee rate.");
- mesc l("Last Standing Man - Passive - Raise Max HP and Holy Defense");
+function basicMagic {
+ if (MAGIC_LVL < 1) goto L_NoMagic;
+ mes l(".:: First Aid ::.");
+ mesc l("Minor healing to your wounds.");
+ mes "";
+ mes l(".:: Accumulate Power ::.");
+ mesc l("Raise damage of next skill.");
+ mes "";
+ mes l(".:: Provoke ::.");
+ mesc l("Provoke a single monster to attack you.");
+ mes "";
+ mes l(".:: Windwalker ::.");
+ mesc l("Increase walk speed and flee rate.");
+ mes "";
menuint
- l("Healing"), TMW2_FIRSTAID,
- l("Mana Wisdom"), TMW2_SAGE,
+ l("First Aid"), TMW2_FIRSTAID,
l("Accumulate Power"), HW_MAGICPOWER,
l("Provoke"), SM_PROVOKE,
- l("Area Provoke"), EVOL_AREA_PROVOKE,
- l("High Healing"), TMW2_HEALING,
l("Windwalker"), SN_WINDWALK,
- l("Last Standing Man"), CR_TRUST,
l("Cancel"), 0;
- mes "";
+ return;
+}
- // Handle result
- if (@menuret) {
- if (!learn_magic(@menuret))
- mesc l("You do not meet all requisites for this skill."), 1;
- } else {
- closeclientdialog;
- }
+function standardMagic {
+ if (MAGIC_LVL < 2) goto L_NoMagic;
+ // NOTE: Alternate between First Aid + Healing for less cooldown wait
+ mes l(".:: Healing ::.");
+ mesc l("Minor healing to yourself or to allies.");
+ mes "";
+ mes l(".:: Mana Wisdom ::.");
+ mesc l("(Passive) Increases Mana EXP/Control Gain rate.");
+ mes "";
+ mes l(".:: Last Standing Man ::.");
+ mesc l("(Passive) Raise Max HP and Holy Defense.");
+ mes "";
+ mes l(".:: Area Provoke ::.");
+ mesc l("Provokes all monsters around the target, and the target itself.");
+ mes "";
+ menuint
+ l("Healing"), TMW2_HEALING,
+ l("Mana Wisdom"), TMW2_SAGE,
+ l("Last Standing Man"), CR_TRUST,
+ l("Area Provoke"), EVOL_AREA_PROVOKE,
+ l("Cancel"), 0;
+ return;
+}
- } while (@menuret);
- close;
+function advancedMagic {
+ if (MAGIC_LVL < 3) goto L_NoMagic;
+ mes l(".:: Magnus Healing ::.");
+ mesc l("Heals in area every friendly unit (incl. homuns and mercs). Req. Lifestone to cast.");
+ mes "";
+ menuint
+ l("Magnus Healing"), TMW2_MAGNUSHEAL,
+ l("Cancel"), 0;
+ return;
+}
L_NoMagic:
next;
mesn;
- mesq l("Your lack of magical power is critical. I dare say, you might never in your life get access to a Mana Stone.");
+ mesq l("You do not have enough magic power for these classes.");
next;
mesn;
mesq l("Besides the Magic Council, Andrei Sakar have his own Mana Stone, but I doubt he would train the likes of you, or share his Mana Stone.");