I haven't tested, but try this:
src/map/battle.c search:
if (wd.flag & BF_WEAPON && src != target && damage > 0) {
if (battle_config.left_cardfix_to_right)
battle->drain(sd, target, wd.damage, wd.damage, tstatus->race, is_boss(target));
else
battle->drain(sd, target, wd.damage, wd.damage2, tstatus->race, is_boss(target));
}
change to (first line)
if (src != target && damage > 0) {
if (battle_config.left_cardfix_to_right)
battle->drain(sd, target, wd.damage, wd.damage, tstatus->race, is_boss(target));
else
battle->drain(sd, target, wd.damage, wd.damage2, tstatus->race, is_boss(target));
}