From 182cd21d49fb40f92d5e894bd6a4d887e27fdcba Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Wed, 1 Jul 2020 01:02:04 -0300 Subject: Rewrite Mr. Saves Academy and make no magic fail message more specific --- npc/027-1/saves.txt | 105 +++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 80 insertions(+), 25 deletions(-) (limited to 'npc/027-1/saves.txt') 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."); -- cgit v1.2.3-60-g2f50