diff options
-rw-r--r-- | db/sc_config.txt | 2 | ||||
-rw-r--r-- | src/map/script.c | 12 |
2 files changed, 11 insertions, 3 deletions
diff --git a/db/sc_config.txt b/db/sc_config.txt index 38e10e4c2..682fd060c 100644 --- a/db/sc_config.txt +++ b/db/sc_config.txt @@ -10,7 +10,7 @@ // 16 - SC considered as buff and be removed by Hermode and etc. // 32 - SC considered as debuff and be removed by Gospel and etc. // 64 - SC cannot be reset when MADO Gear is taken off. -// 128 - SC cannot be reset by sc_end and change clear. +// 128 - SC cannot be reset by 'sc_end SC_ALL' and status change clear. //Example: //SC_ENDURE, 21 //SC_ENDURE: cannot be removed by death and dispell and cosidered as buff. (16 + 4 + 1 = 21) diff --git a/src/map/script.c b/src/map/script.c index a3b858131..8d07ca0d1 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -9697,8 +9697,16 @@ BUILDIN(sc_end) { if (!sce) return true; - if( status->get_sc_type(type)&SC_NO_CLEAR ) - return true; + /* status that can't be individually removed (TODO sc_config option?) */ + switch (type) { + case SC_WEIGHTOVER50: + case SC_WEIGHTOVER90: + case SC_NOCHAT: + case SC_PUSH_CART: + return true; + default: + break; + } //This should help status_change_end force disabling the SC in case it has no limit. sce->val1 = sce->val2 = sce->val3 = sce->val4 = 0; |