diff --git a/src/map/battle.c b/src/map/battle.c index 2ce07b7d8c..eccb261f65 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -3324,7 +3324,7 @@ static struct Damage battle_calc_multi_attack(struct Damage wd, struct block_lis static int battle_calc_attack_skill_ratio(struct Damage wd, struct block_list *src,struct block_list *target,uint16 skill_id,uint16 skill_lv) { struct map_session_data *sd = BL_CAST(BL_PC, src); - struct map_session_data *tsd = BL_CAST(BL_PC, src); + struct map_session_data *tsd = BL_CAST(BL_PC, target); struct status_change *sc = status_get_sc(src); struct status_change *tsc = status_get_sc(target); struct status_data *sstatus = status_get_status_data(src); diff --git a/src/map/mob.c b/src/map/mob.c index 53a7158ff4..324d3ec34d 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -2155,7 +2155,7 @@ void mob_log_damage(struct mob_data *md, struct block_list *src, int damage) } //Self damage increases tap bonus - if (!char_id && src->id == md->bl.id) { + if (!char_id && src->id == md->bl.id && damage > 0) { char_id = src->id; flag = MDLF_SELF; }