diff options
author | Haru <haru@dotalux.com> | 2018-12-16 19:27:15 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-16 19:27:15 +0100 |
commit | 52360f0cee7916f58da6eda0399f74199f957c44 (patch) | |
tree | fac36b1c82dcde7128326b4d82a13f3fd5d13bd6 /src/map/script.c | |
parent | 176d6d61d1946018398c598a842185745fb0312e (diff) | |
parent | d7bbebdf8526667b288223c8adc2d110204814c5 (diff) | |
download | hercules-52360f0cee7916f58da6eda0399f74199f957c44.tar.gz hercules-52360f0cee7916f58da6eda0399f74199f957c44.tar.bz2 hercules-52360f0cee7916f58da6eda0399f74199f957c44.tar.xz hercules-52360f0cee7916f58da6eda0399f74199f957c44.zip |
Merge pull request #2246 from Emistry/scriptcommand_pcneedstatuspoint
Implement status reduction script command.
Diffstat (limited to 'src/map/script.c')
-rw-r--r-- | src/map/script.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/map/script.c b/src/map/script.c index 3d3fba867..25bf59839 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -9655,6 +9655,25 @@ static BUILDIN(statusup2) return true; } + +/*========================================== +* Returns the number of stat points needed to change the specified stat by val. +* needed_status_point(<type>,<val>{,<char id>}); [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 <bonus type>,<val1>; @@ -25149,6 +25168,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"), |