From 8f8831df81626971502b154238e5d76766b3f7f7 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sat, 16 Jan 2021 15:26:58 -0300 Subject: Add an advanced tutorship mode at Emma --- npc/027-0/emma.txt | 50 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 47 insertions(+), 3 deletions(-) (limited to 'npc') diff --git a/npc/027-0/emma.txt b/npc/027-0/emma.txt index 621478e49..ab2c6686c 100644 --- a/npc/027-0/emma.txt +++ b/npc/027-0/emma.txt @@ -24,6 +24,8 @@ mesq l("Do you need the extra credit?"); mesc l("Cost: %d GP/min", .cost); mesc l("Gain: %d RP/min", .gain); + if (@emmapro) + mesc l("Warning: If you are taking an advanced class, it will canceled."), 1; menuint l("I'm fine, thanks"), 0, l("5 minutes"), 5, @@ -32,8 +34,11 @@ l("30 minutes"), 30, l("1 hour"), 60, l("2 hours"), 120, - l("I'm fine, thanks"), 0; + rif(abizit() == 5 && MAGIC_LVL > 3, l("Show me something more advanced!")), -1; mes ""; + if (@menuret < 0) { + goto L_Advanced; + } if (!@menuret) { mesn; mesq l("Then I hope you can keep your grades high, hmm hmm!"); @@ -47,23 +52,62 @@ Zeny-=.cost; addtimer2(60000, .name$+"::OnTick"); @emmatick=max(@emmatick, gettimetick(2)) + @menuret*60; + @emmapro=false; mesn; mesq l("Hmm hmm! Then, let's begin."); mesc l("Note: You can increase the time by talking to Emma again."); close; +L_Advanced: + mesn; + mesq l("I actually have a special class for those with perfect magical control like you."); + next; + mesq l("Do you need the extra credit?"); + mesc l("Cost: %d GP/min", .cost*25); + mesc l("Gain: %d RP/min", .gain*10); + menuint + l("I've changed my mind."), 0, + l("5 minutes"), 5, + l("10 minutes"), 10, + l("15 minutes"), 15, + l("30 minutes"), 30, + l("1 hour"), 60, + l("2 hours"), 120; + mes ""; + if (!@menuret) { + mesn; + mesq l("Then I hope you can keep your grades high, hmm hmm!"); + close; + } + if (Zeny < .cost*@menuret*25) { + mesn; + mesq l("Ara ara? You do not have enough money with you!"); + close; + } + Zeny-=.cost*25; + addtimer2(60000, .name$+"::OnTick"); + if (!@emmapro) + @emmatick=0; + @emmatick=max(@emmatick, gettimetick(2)) + @menuret*60; + @emmapro=true; + mesn; + mesq l("Hmm hmm! Then, let's begin."); + close; + OnTick: // Time out if (@emmatick < gettimetick(2)) { npctalk3 l("Enough for now. Let's rest, shall we?"); + @emmapro = 0; end; } // Changed maps if (getmap() != "027-0") end; - MAGIC_RP+=.gain; - dispbottom l("Research Points +%d", .gain); + .@up=.gain*(@emmapro ? 10 : 1); + MAGIC_RP+=.@up; + dispbottom l("Research Points +%d", .@up); addtimer2(60000, .name$+"::OnTick"); end; -- cgit v1.2.3-60-g2f50