diff options
author | Your Name <hemagx2@gmail.com> | 2015-12-12 21:44:27 +0200 |
---|---|---|
committer | Haru <haru@dotalux.com> | 2015-12-13 03:55:41 +0100 |
commit | f102c913b2aa093ef40c7846e25850ebb1106d71 (patch) | |
tree | 8965bde6164baa50121171c7291ea438e11d8503 /src/map/battle.c | |
parent | bb214d4651c9c9aa9599f50cb5de52059176a87f (diff) | |
download | hercules-f102c913b2aa093ef40c7846e25850ebb1106d71.tar.gz hercules-f102c913b2aa093ef40c7846e25850ebb1106d71.tar.bz2 hercules-f102c913b2aa093ef40c7846e25850ebb1106d71.tar.xz hercules-f102c913b2aa093ef40c7846e25850ebb1106d71.zip |
- Fixed #723 now it's possible to retrieve Battle Config Settings from plugins into scripts
- Fixed Possible Crash when null parse function pointer passed to HPMi->addConf
- Now it's possible to use same parse function for all config entries
- Now Battle Config entries must have a return function
Diffstat (limited to 'src/map/battle.c')
-rw-r--r-- | src/map/battle.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 7fbbcd0d5..1725d8c65 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -7329,15 +7329,23 @@ int battle_set_value(const char* w1, const char* w2) return 1; } -int battle_get_value(const char* w1) +bool battle_get_value(const char *w1, int *value) { int i; - nullpo_retr(1, w1); + + nullpo_retr(false, w1); + nullpo_retr(false, value); + ARR_FIND(0, ARRAYLENGTH(battle_data), i, strcmpi(w1, battle_data[i].str) == 0); - if (i == ARRAYLENGTH(battle_data)) - return 0; // not found - else - return *battle_data[i].val; + if (i == ARRAYLENGTH(battle_data)) { + if (HPM->getBattleConf(w1,value)) + return true; + } else { + *value = *battle_data[i].val; + return true; + } + + return false; } void battle_set_defaults(void) { |