diff options
-rw-r--r-- | doc/script_commands.txt | 16 | ||||
-rw-r--r-- | src/map/script.c | 71 |
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! **/ |