summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshennetsind <ind@henn.et>2013-11-19 02:19:07 -0200
committershennetsind <ind@henn.et>2013-11-19 02:19:07 -0200
commitd076f129c90ac9e3a96659488f702f81def1863a (patch)
tree850b8d46a32b2fc972a2cc5a77dece3398c9efce
parent54cc3cd435eb400ea0569632ebef2f2da03efc04 (diff)
downloadhercules-d076f129c90ac9e3a96659488f702f81def1863a.tar.gz
hercules-d076f129c90ac9e3a96659488f702f81def1863a.tar.bz2
hercules-d076f129c90ac9e3a96659488f702f81def1863a.tar.xz
hercules-d076f129c90ac9e3a96659488f702f81def1863a.zip
Fixed Bug 7799 - SC_MOONSTAR neverending
Follows up 665f1306a130d4b8c359972bf4e58ef9d3bd9cd8 http://hercules.ws/board/tracker/issue-7799-sc-moonstar/ Signed-off-by: shennetsind <ind@henn.et>
-rw-r--r--db/sc_config.txt2
-rw-r--r--src/map/script.c12
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;