diff options
-rw-r--r-- | src/map/status.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/map/status.c b/src/map/status.c index 215c04e72..c8ffde37c 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -4595,7 +4595,7 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val if( status_isdead(bl) ) return 0; - + if( bl->type == BL_MOB && ((TBL_MOB*)bl)->class_ == MOBID_EMPERIUM ) { if( type != SC_SAFETYWALL ) @@ -4604,6 +4604,9 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val BL_CAST(BL_PC, bl, sd); + if(sd && sd->state.waitingdisconnect) + return 0; //Character logging out, all his SC were wiped already! + //Adjust tick according to status resistances if( !(flag&(1|4)) ) { |