Rahvin our code looks exactly the same except for how we handle stamina over the cap. Mine is simply hardcapped at 255 which I believe is correct. I am not familiar with the order of operations in PHP but I think you may have an error there? It seems that yours softcaps at 128. Also it seems you have no final case for L60 warriors?
Code:
case 'Warrior':
if ($mlevel < 20)
$multiplier = 220;
else if ($mlevel < 30)
$multiplier = 230;
else if ($mlevel < 40)
$multiplier = 250;
else if ($mlevel < 53)
$multiplier = 270;
else if ($mlevel < 57)
$multiplier = 280;
else if ($mlevel < 60)
$multiplier = 290;
else
$multiplier = 300;
$lmod = $multiplier; //War
$eff_sta = $sta;
if ($sta > 255)
$eff_sta = 255;
$base_hp = (5)+($level*$lmod/10) + ($eff_sta*$level*$lmod)/3000);
$hp = $base_hp + $item_hp;