|
@@ -1046,7 +1046,11 @@ bool battle_check_sc(struct block_list *src, struct block_list *target, struct s
|
|
status_change_end(target, SC_SAFETYWALL, INVALID_TIMER);
|
|
status_change_end(target, SC_SAFETYWALL, INVALID_TIMER);
|
|
}
|
|
}
|
|
|
|
|
|
- if (sc->data[SC_NEUTRALBARRIER] && (d->flag&(BF_LONG|BF_MAGIC)) == BF_LONG) {
|
|
|
|
|
|
+ if (sc->data[SC_NEUTRALBARRIER] && ((d->flag&(BF_LONG|BF_MAGIC)) == BF_LONG
|
|
|
|
+#ifndef RENEWAL
|
|
|
|
+ || skill_id == CR_ACIDDEMONSTRATION
|
|
|
|
+#endif
|
|
|
|
+ )) {
|
|
d->dmg_lv = ATK_MISS;
|
|
d->dmg_lv = ATK_MISS;
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
@@ -6878,7 +6882,9 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list *
|
|
// AD benefits from endow/element but damage is forced back to neutral
|
|
// AD benefits from endow/element but damage is forced back to neutral
|
|
md.damage = battle_attr_fix(src, target, md.damage, ELE_NEUTRAL, tstatus->def_ele, tstatus->ele_lv);
|
|
md.damage = battle_attr_fix(src, target, md.damage, ELE_NEUTRAL, tstatus->def_ele, tstatus->ele_lv);
|
|
}
|
|
}
|
|
|
|
+ // Fall through
|
|
#else
|
|
#else
|
|
|
|
+ case CR_ACIDDEMONSTRATION:
|
|
if(tstatus->vit+sstatus->int_) //crash fix
|
|
if(tstatus->vit+sstatus->int_) //crash fix
|
|
md.damage = (int)((int64)7*tstatus->vit*sstatus->int_*sstatus->int_ / (10*(tstatus->vit+sstatus->int_)));
|
|
md.damage = (int)((int64)7*tstatus->vit*sstatus->int_*sstatus->int_ / (10*(tstatus->vit+sstatus->int_)));
|
|
else
|
|
else
|