diff options
author | Jesusaves <cpntb1@ymail.com> | 2019-05-23 18:35:35 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2019-05-23 18:35:35 -0300 |
commit | 4a914931dbaf14a3b5a55327cea4cb8026152b65 (patch) | |
tree | 35d812c02ba664abbb6112eff20811837542674f /npc/functions/resetstatus.txt | |
parent | 48d029a3969192d0a5e5a082d9ed59ba0f09297c (diff) | |
download | serverdata-4a914931dbaf14a3b5a55327cea4cb8026152b65.tar.gz serverdata-4a914931dbaf14a3b5a55327cea4cb8026152b65.tar.bz2 serverdata-4a914931dbaf14a3b5a55327cea4cb8026152b65.tar.xz serverdata-4a914931dbaf14a3b5a55327cea4cb8026152b65.zip |
Unify Status Reset Logic. Status Reset prices are now unified.
Diffstat (limited to 'npc/functions/resetstatus.txt')
-rw-r--r-- | npc/functions/resetstatus.txt | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/npc/functions/resetstatus.txt b/npc/functions/resetstatus.txt new file mode 100644 index 000000000..a78e2235e --- /dev/null +++ b/npc/functions/resetstatus.txt @@ -0,0 +1,63 @@ +// TMW2 Script. +// Authors: +// Vasily_Makarov (original from Evol) +// Jesusalva +// Description: +// Status Reset NPC utils + +// Return wasSP on success, 0 on failure +// ConfirmReset( {price} ) +function script ConfirmStatusReset { + .@plush_count=(BaseLevel*210-(10*210))/(BaseLevel/10); + if (getarg(0,-1) >= 0) + .@plush_count=getarg(0,-1); + + switch (select(lg("Yes, I am sure."), + lg("I need to think about it..."), + lg("I won't need it, thank you."))) + { + case 1: + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Let me just have a quick look at you. Hm... I will need @@ GP to reset your stats.", .@plush_count); + + select + rif(Zeny >= .@plush_count, l("Here, take as much as you need, I have plenty!")), + rif(Zeny > 0 && Zeny < .@plush_count, l("I don't have enough money...")), + rif(Zeny == 0, l("Oh no, I don't have any money on me right now.")), + l("I have to go, sorry."); + + if (@menu > 1) { + return 0; + } + + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Thank you."), + l("Now stand still... It should not take much time..."); + + // Delete the GP and THEN reset the status + Zeny-=.@plush_count; + .@wasSP = StatusPoint; + resetstatus(); + if (StatusPoint == .@wasSP) { + speech S_LAST_NEXT, + l("It seems that you have no status points to reset!"), + l("But the money you brought was really awesome you know."), + l("Come back when you will really need me."); + } else { + speech S_LAST_NEXT, + l("Let's see... @@ of your status points have just been reset!", StatusPoint - .@wasSP), + l("Spend it wisely this time."), + l("But you are welcome to reset your stats again! I need the money."); + } + return .@wasSP; + + case 2: + return 0; + case 3: + return 0; + } + Exception("Unknown Error: ConfirmStatusReset() failed"); + return 0; + +} + |