summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2018-12-16 19:27:15 +0100
committerGitHub <noreply@github.com>2018-12-16 19:27:15 +0100
commit52360f0cee7916f58da6eda0399f74199f957c44 (patch)
treefac36b1c82dcde7128326b4d82a13f3fd5d13bd6 /src
parent176d6d61d1946018398c598a842185745fb0312e (diff)
parentd7bbebdf8526667b288223c8adc2d110204814c5 (diff)
downloadhercules-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')
-rw-r--r--src/map/script.c20
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"),