diff options
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/map/status.c b/src/map/status.c index 9e3b642d6..10431bace 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -8841,6 +8841,7 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val * 0 - PC killed -> Place here statuses that do not dispel on death. * 1 - If for some reason status_change_end decides to still keep the status when quitting. * 2 - Do clif + * 3 - Do not remove some permanent/time-independent effects *------------------------------------------*/ int status_change_clear(struct block_list* bl, int type) { @@ -8910,6 +8911,18 @@ int status_change_clear(struct block_list* bl, int type) continue; } + + if( type == 3 ) + { + switch (i) + {// TODO: This list may be incomplete + case SC_WEIGHT50: + case SC_WEIGHT90: + case SC_NOCHAT: + case SC_PUSH_CART: + continue; + } + } status_change_end(bl, (sc_type)i, INVALID_TIMER); |