diff options
author | Jesusaves <cpntb1@ymail.com> | 2019-08-26 21:43:51 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2019-08-26 21:43:51 -0300 |
commit | 0ef56764dc2796cb43e90f10c5eb380c9f94406a (patch) | |
tree | 154fde292c224859f9782fd1daae40bb37d544e9 /npc/functions | |
parent | 6f622b30127710caf6b4dfcfb9aed5e17643013f (diff) | |
download | serverdata-0ef56764dc2796cb43e90f10c5eb380c9f94406a.tar.gz serverdata-0ef56764dc2796cb43e90f10c5eb380c9f94406a.tar.bz2 serverdata-0ef56764dc2796cb43e90f10c5eb380c9f94406a.tar.xz serverdata-0ef56764dc2796cb43e90f10c5eb380c9f94406a.zip |
Implement Status Fruits
Diffstat (limited to 'npc/functions')
-rw-r--r-- | npc/functions/resetstatus.txt | 43 |
1 files changed, 40 insertions, 3 deletions
diff --git a/npc/functions/resetstatus.txt b/npc/functions/resetstatus.txt index c9744d901..4d7d9e09a 100644 --- a/npc/functions/resetstatus.txt +++ b/npc/functions/resetstatus.txt @@ -5,6 +5,41 @@ // Description: // Status Reset NPC utils +// Reset status and return permanent bonuses +// StatusResetReinvest( - ) +function script StatusResetReinvest { + // Compulsory check + inventoryplace NPCEyes, 6; + + // Permanent boosts were now lost, return the fruits + if (STATUSUP_STR) { + getitem StrengthFruit, STATUSUP_STR; + STATUSUP_STR=0; + } + if (STATUSUP_AGI) { + getitem AgilityFruit, STATUSUP_AGI; + STATUSUP_AGI=0; + } + if (STATUSUP_VIT) { + getitem VitalityFruit, STATUSUP_VIT; + STATUSUP_VIT=0; + } + if (STATUSUP_INT) { + getitem IntelligenceFruit, STATUSUP_INT; + STATUSUP_INT=0; + } + if (STATUSUP_DEX) { + getitem DexterityFruit, STATUSUP_DEX; + STATUSUP_DEX=0; + } + if (STATUSUP_LUK) { + getitem LuckFruit, STATUSUP_LUK; + STATUSUP_LUK=0; + } + resetstatus(); + return true; +} + // Return wasSP on success, 0 on failure // ConfirmReset( {price} ) function script ConfirmStatusReset { @@ -16,6 +51,8 @@ function script ConfirmStatusReset { if (getarg(0,-1) >= 0) .@plush_count=getarg(0,-1); + mesc l("WARNING: Permanent boosts will return to their fruit form."), 1; + switch (select(lg("Yes, I am sure."), lg("I need to think about it..."), lg("I won't need it, thank you."))) @@ -38,10 +75,10 @@ function script ConfirmStatusReset { l("Thank you."), l("Now stand still... It should not take much time..."); - // Delete the GP and THEN reset the status - Zeny-=.@plush_count; + // Reset status have an inventorycheck, so we charge later. .@wasSP = StatusPoint; - resetstatus(); + StatusResetReinvest(); + Zeny-=.@plush_count; if (StatusPoint == .@wasSP) { speech S_LAST_NEXT, l("It seems that you have no status points to reset!"), |