|
@@ -3524,7 +3524,7 @@ static int battle_calc_attack_skill_ratio(struct Damage wd, struct block_list *s
|
|
|
skillratio += 50 * skill_lv;
|
|
|
break;
|
|
|
case MO_INVESTIGATE:
|
|
|
- skillratio += 100 + 150 * skill_lv;
|
|
|
+ skillratio += 75 * skill_lv;
|
|
|
break;
|
|
|
case MO_EXTREMITYFIST:
|
|
|
skillratio += 100 * (7 + sstatus->sp / 10);
|
|
@@ -4661,8 +4661,8 @@ struct Damage battle_calc_defense_reduction(struct Damage wd, struct block_list
|
|
|
if( def1 == -400 ) /* -400 creates a division by 0 and subsequently crashes */
|
|
|
def1 = -399;
|
|
|
ATK_ADD2(wd.damage, wd.damage2,
|
|
|
- is_attack_piercing(wd, src, target, skill_id, skill_lv, EQI_HAND_R) ? (def1/2) : 0,
|
|
|
- is_attack_piercing(wd, src, target, skill_id, skill_lv, EQI_HAND_L) ? (def1/2) : 0
|
|
|
+ is_attack_piercing(wd, src, target, skill_id, skill_lv, EQI_HAND_R) ? (def1*battle_calc_attack_skill_ratio(wd, src, target, skill_id, skill_lv))/200 : 0,
|
|
|
+ is_attack_piercing(wd, src, target, skill_id, skill_lv, EQI_HAND_L) ? (def1*battle_calc_attack_skill_ratio(wd, src, target, skill_id, skill_lv))/200 : 0
|
|
|
);
|
|
|
if( !attack_ignores_def(wd, src, target, skill_id, skill_lv, EQI_HAND_R) && !is_attack_piercing(wd, src, target, skill_id, skill_lv, EQI_HAND_R) )
|
|
|
wd.damage = wd.damage * (4000+def1) / (4000+10*def1) - vit_def;
|