rendered paste bodydiff --git a/src/map/battle.c b/src/map/battle.c
index 579ea55..8374258 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -2489,7 +2489,7 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src,
t_vit = 1;
}
}
- t_def = def2 * 8 / 10;
+ t_def = def2 / 4;
if (battle_check_undead (s_race, battle_get_elem_type (src))
|| s_race == 6)
if (tsd && (skill = pc_checkskill (tsd, AL_DP)) > 0)
@@ -2505,9 +2505,10 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src,
}
else
{
- damage =
- damage * (100 - def1) / 100 - t_def -
- ((vitbonusmax < 1) ? 0 : MRAND ((vitbonusmax + 1)));
+ float def_mod = (def1 + t_def) / 100.0f;
+ def_mod = (def_mod > 0.75f) ? 0.75 : def_mod;
+ printf("def_mod = %f\n", def_mod);
+ damage = (damage * (1.0f - def_mod)) - ((vitbonusmax < 1) ? 0 : MRAND ((vitbonusmax + 1)));
}
}
}
diff --git a/src/map/pc.c b/src/map/pc.c
index 689bcd2..7f237c7 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -1902,12 +1902,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
bl = sd->status.base_level;
- sd->status.max_hp +=
- (3500 + bl * hp_coefficient2[s_class.job] +
- hp_sigma_val[s_class.job][(bl > 0) ? bl - 1 : 0]) / 100 * (100 +
- sd->paramc
- [2]) /
- 100 + (sd->parame[2] - sd->paramcard[2]);
+ sd->status.max_hp += (sd->paramc[2] * 2) * ((bl + 10) / 2.0f);
if (s_class.upper == 1) // [MouseJstr]
sd->status.max_hp = sd->status.max_hp * 130 / 100;
if (sd->hprate != 100)