private static TimeSpan Mobile_HitsRegenRate( Mobile from )
{
int points = AosAttributes.GetValue( from, AosAttribute.RegenHits );
if ( from is BaseCreature && !((BaseCreature)from).IsAnimatedDead )
points += 4;
if ( (from is BaseCreature && ((BaseCreature)from).IsParagon) || from is Leviathan )
points += 40;
if( Core.ML && from.Race == Race.Human ) //Is this affected by the cap?
points += 2;
if ( points < 0 )
points = 0;
if( Core.ML && from is PlayerMobile ) //does racial bonus go before/after?
points = Math.Min( points, 18 );
if ( CheckTransform( from, typeof( HorrificBeastSpell ) ) )
points += 20;
if ( CheckAnimal( from, typeof( Dog ) ) || CheckAnimal( from, typeof( Cat ) ) )
points += from.Skills[SkillName.Ninjitsu].Fixed / 30;
return TimeSpan.FromSeconds( 1.0 / (0.1 * (1 + points)) );
}