Hola buen dia, tengo esto en batle.c if (flag & BF_SHORT) {//Bounces back part of the damage.
if ( (skill_get_inf2(skill_id, INF2_ISTRAP) || !status_reflect) && sd && sd->bonus.short_weapon_damage_return && skill_id != WS_CARTTERMINATION && skill_id != GS_DESPERADO) {
rdamage += damage * sd->bonus.short_weapon_damage_return / 100;
rdamage = i64max(rdamage,1);
} else if( status_reflect && sc && sc->count ) {
if( sc->data[SC_REFLECTSHIELD] ) {
struct status_change_entry *sce_d;
struct block_list *d_bl = NULL;
Logrè que weapon_damage_return fuera ignorado por cart y por desperado, lo que no logro es que el daño no sea reflejado cuando el ataque es bloqueado o hay miss (auto guard o safety wall), este es el asunto del reflect de la ORC y la valky manteau que aunque el oponente esta en safetywall o el auto guard hace un proc aun asi el daño es reflejado, quiero evitar eso, se que hay una variable ATK_BLOCK que puede ayudar pero nosè como usarla, la verdad soy malisimo para la programaciòn gracias por la ayuda