diff --git a/src/map/map.c b/src/map/map.c index 24ff3f4a9e..a3f5150597 100644 --- a/src/map/map.c +++ b/src/map/map.c @@ -1775,6 +1775,8 @@ int map_quit(struct map_session_data *sd) { status_change_end(&sd->bl, SC_READYDOWN, INVALID_TIMER); status_change_end(&sd->bl, SC_READYTURN, INVALID_TIMER); status_change_end(&sd->bl, SC_READYCOUNTER, INVALID_TIMER); + status_change_end(&sd->bl, SC_CBC, INVALID_TIMER); + status_change_end(&sd->bl, SC_EQC, INVALID_TIMER); if (battle_config.debuff_on_logout&1) { //Remove negative buffs status_change_end(&sd->bl, SC_ORCISH, INVALID_TIMER); status_change_end(&sd->bl, SC_STRIPWEAPON, INVALID_TIMER); diff --git a/src/map/status.c b/src/map/status.c index b833e39b52..b8555ca6f3 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -8235,6 +8235,9 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty case SC_FREEZING: status_change_end(bl, SC_BURNING, INVALID_TIMER); break; + case SC_EQC: + status_change_end(bl,SC_TINDER_BREAKER2,INVALID_TIMER); + break; } // Check for overlapping fails @@ -9818,6 +9821,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty val2 = 5 * val1; // def % reduc val3 = 5 * val1; // atk % reduc val4 = 2 * val1; // HP drain % + sc_start2(src, bl,SC_STUN,100,val1,bl->id,(1000*status_get_lv(src))/50+500*val1); break; case SC_ASH: val2 = 50; // hit % reduc @@ -10370,10 +10374,6 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty case SC_RAISINGDRAGON: sce->val2 = status->max_hp / 100; // Officially tested its 1%hp drain. [Jobbie] break; - case SC_EQC: - sc_start2(src, bl,SC_STUN,100,val1,bl->id,(1000*status_get_lv(src))/50+500*val1); - status_change_end(bl,SC_TINDER_BREAKER2,INVALID_TIMER); - break; case SC_C_MARKER: //Send mini-map, don't wait for first timer triggered if (src->type == BL_PC && (sd = map_id2sd(src->id)))