|
@@ -1830,8 +1830,8 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1
|
|
|
case SC_WHISTLE: case SC_ASSNCROS: case SC_POEMBRAGI:
|
|
|
case SC_APPLEIDUN: case SC_HUMMING: case SC_DONTFORGETME:
|
|
|
case SC_FORTUNE: case SC_SERVICE4U:
|
|
|
- if(tsc->data[i]->val4==0)
|
|
|
- continue; //if in song-area don't end it
|
|
|
+ if (!battle_config.dispel_song || tsc->data[i]->val4 == 0)
|
|
|
+ continue; //If in song area don't end it, even if config enabled
|
|
|
break;
|
|
|
case SC_ASSUMPTIO:
|
|
|
if( bl->type == BL_MOB )
|
|
@@ -7903,7 +7903,6 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
|
|
case SC_CROSSBOWCLAN:
|
|
|
case SC_JUMPINGCLAN:
|
|
|
continue;
|
|
|
- //bugreport:4888 these songs may only be dispelled if you're not in their song area anymore
|
|
|
case SC_WHISTLE:
|
|
|
case SC_ASSNCROS:
|
|
|
case SC_POEMBRAGI:
|
|
@@ -7912,13 +7911,13 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
|
|
case SC_DONTFORGETME:
|
|
|
case SC_FORTUNE:
|
|
|
case SC_SERVICE4U:
|
|
|
- if(tsc->data[i]->val4==0)
|
|
|
- continue; //if in song-area don't end it
|
|
|
- break;
|
|
|
- case SC_ASSUMPTIO:
|
|
|
- if( bl->type == BL_MOB )
|
|
|
- continue;
|
|
|
- break;
|
|
|
+ if (!battle_config.dispel_song || tsc->data[i]->val4 == 0)
|
|
|
+ continue; //If in song area don't end it, even if config enabled
|
|
|
+ break;
|
|
|
+ case SC_ASSUMPTIO:
|
|
|
+ if( bl->type == BL_MOB )
|
|
|
+ continue;
|
|
|
+ break;
|
|
|
}
|
|
|
if(i == SC_BERSERK) tsc->data[i]->val2=0; //Mark a dispelled berserk to avoid setting hp to 100 by setting hp penalty to 0.
|
|
|
status_change_end(bl, (sc_type)i, INVALID_TIMER);
|