|
@@ -11039,7 +11039,7 @@ void pc_regen (struct map_session_data *sd, t_tick diff_tick)
|
|
if (sd->percent_hp_regen.value) {
|
|
if (sd->percent_hp_regen.value) {
|
|
sd->percent_hp_regen.tick += diff_tick;
|
|
sd->percent_hp_regen.tick += diff_tick;
|
|
while (sd->percent_hp_regen.tick >= sd->percent_hp_regen.rate) {
|
|
while (sd->percent_hp_regen.tick >= sd->percent_hp_regen.rate) {
|
|
- hp += (sd->percent_hp_regen.value * sd->status.max_hp);
|
|
|
|
|
|
+ hp += sd->status.max_hp * sd->percent_hp_regen.value / 100;
|
|
sd->percent_hp_regen.tick -= sd->percent_hp_regen.rate;
|
|
sd->percent_hp_regen.tick -= sd->percent_hp_regen.rate;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -11047,7 +11047,7 @@ void pc_regen (struct map_session_data *sd, t_tick diff_tick)
|
|
if (sd->percent_sp_regen.value) {
|
|
if (sd->percent_sp_regen.value) {
|
|
sd->percent_sp_regen.tick += diff_tick;
|
|
sd->percent_sp_regen.tick += diff_tick;
|
|
while (sd->percent_sp_regen.tick >= sd->percent_sp_regen.rate) {
|
|
while (sd->percent_sp_regen.tick >= sd->percent_sp_regen.rate) {
|
|
- sp += (sd->percent_sp_regen.value * sd->status.max_sp);
|
|
|
|
|
|
+ sp += sd->status.max_sp * sd->percent_sp_regen.value / 100;
|
|
sd->percent_sp_regen.tick -= sd->percent_sp_regen.rate;
|
|
sd->percent_sp_regen.tick -= sd->percent_sp_regen.rate;
|
|
}
|
|
}
|
|
}
|
|
}
|