summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/script_commands.txt16
-rw-r--r--src/map/script.c71
2 files changed, 87 insertions, 0 deletions
diff --git a/doc/script_commands.txt b/doc/script_commands.txt
index cd9ca5f0b..e048707ba 100644
--- a/doc/script_commands.txt
+++ b/doc/script_commands.txt
@@ -3597,6 +3597,22 @@ more:
if (isnight()!=1) mes "I only prowl in the night.";
---------------------------------------
+
+*checkre(<type>)
+
+Checks if a renewal feature is enabled or not in renewal.h, and returns 1 if enabled and 0 for disabled.
+The renewal feature to check is determined by type.
+
+ 0 - RENEWAL (game renewal server mode)
+ 1 - RENEWAL_CAST (renewal cast time)
+ 2 - RENEWAL_DROP (renewal drop rate algorithms)
+ 3 - RENEWAL_EXP (renewal exp rate algorithms)
+ 4 - RENEWAL_LVDMG (renewal level modifier on damage)
+ 5 - RENEWAL_CAST_VMIN (renewal cast time variable cast requirement)
+ 6 - RENEWAL_EDP (renewal enchant deadly poison algorithm)
+ 7 - RENEWAL_ASPD (renewal ASPD)
+
+---------------------------------------
\\
3,1.- Item-related commands
\\
diff --git a/src/map/script.c b/src/map/script.c
index 6c34af6f2..91d063daf 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -16445,6 +16445,76 @@ BUILDIN_FUNC(useatcmd)
return 0;
}
+BUILDIN_FUNC(checkre)
+{
+ int num;
+
+ num=script_getnum(st,2);
+ switch(num){
+ case 0:
+ #ifdef RENEWAL
+ script_pushint(st, 1);
+ #else
+ script_pushint(st, 0);
+ #endif
+ break;
+ case 1:
+ #ifdef RENEWAL_CAST
+ script_pushint(st, 1);
+ #else
+ script_pushint(st, 0);
+ #endif
+ break;
+ case 2:
+ #ifdef RENEWAL_DROP
+ script_pushint(st, 1);
+ #else
+ script_pushint(st, 0);
+ #endif
+ break;
+ case 3:
+ #ifdef RENEWAL_EXP
+ script_pushint(st, 1);
+ #else
+ script_pushint(st, 0);
+ #endif
+ break;
+ case 4:
+ #ifdef RENEWAL_LVDMG
+ script_pushint(st, 1);
+ #else
+ script_pushint(st, 0);
+ #endif
+ break;
+ case 5:
+ #ifdef RENEWAL_CAST_VMIN
+ script_pushint(st, 1);
+ #else
+ script_pushint(st, 0);
+ #endif
+ break;
+ case 6:
+ #ifdef RENEWAL_EDP
+ script_pushint(st, 1);
+ #else
+ script_pushint(st, 0);
+ #endif
+ break;
+ case 7:
+ #ifdef RENEWAL_ASPD
+ script_pushint(st, 1);
+ #else
+ script_pushint(st, 0);
+ #endif
+ break;
+
+ default:
+ ShowWarning("buildin_checkre: unknown parameter.\n");
+ break;
+ }
+ return 0;
+}
+
// declarations that were supposed to be exported from npc_chat.c
#ifdef PCRE_SUPPORT
BUILDIN_FUNC(defpattern);
@@ -16873,6 +16943,7 @@ struct script_function buildin_func[] = {
BUILDIN_DEF(setdragon,"?"),//[Ind]
BUILDIN_DEF(ismounting,""),//[Ind]
BUILDIN_DEF(setmounting,""),//[Ind]
+ BUILDIN_DEF(checkre,"i"),
/**
* rAthena and beyond!
**/