From d7bbebdf8526667b288223c8adc2d110204814c5 Mon Sep 17 00:00:00 2001 From: Emistry Haoyan Date: Tue, 2 Oct 2018 22:41:53 +0800 Subject: Implement status reduction script command. - for stat reduction support. - return the amount of status point required to increase a status. --- src/map/script.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src') diff --git a/src/map/script.c b/src/map/script.c index b787d0138..b2f1120f1 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -9809,6 +9809,25 @@ static BUILDIN(statusup2) return true; } + +/*========================================== +* Returns the number of stat points needed to change the specified stat by val. +* needed_status_point(,{,}); [secretdataz] +*------------------------------------------*/ +static BUILDIN(needed_status_point) +{ + int type = script_getnum(st, 2); + int val = script_getnum(st, 3);; + struct map_session_data *sd = script->rid2sd(st); + + if (sd == NULL) + script_pushint(st, 0); + else + script_pushint(st, pc->need_status_point(sd, type, val)); + + return true; +} + /// See 'doc/item_bonus.txt' /// /// bonus ,; @@ -25048,6 +25067,7 @@ static void script_parse_builtin(void) BUILDIN_DEF(downrefitem,"i?"), BUILDIN_DEF(statusup,"i"), BUILDIN_DEF(statusup2,"ii"), + BUILDIN_DEF(needed_status_point,"ii?"), BUILDIN_DEF(bonus,"iv"), BUILDIN_DEF2(bonus,"bonus2","ivi"), BUILDIN_DEF2(bonus,"bonus3","ivii"), -- cgit v1.2.3-60-g2f50