public void Scale(BaseCreature c)
{
if (c == null)
{
return;
}
if (c is BaseAspect && c != this)
{
return;
}
var factor = GetLevelFactor();
if (c is IAspectSpawn asp)
{
if (asp.Aspect != this)
{
return;
}
factor *= 0.10;
}
else if (c.Team != Team)
{
return;
}
c.VirtualArmor = Math.Min(90, 40 + Scale(10, factor));
c.SetStr(Scale(200, factor), Scale(250, factor));
c.SetDex(Scale(200, factor), Scale(250, factor));
c.SetInt(Scale(200, factor), Scale(250, factor));
c.SetHits(Scale(50000, factor), Scale(75000, factor));
c.SetStam(Scale(1000, factor), Scale(2500, factor));
c.SetMana(Scale(1000, factor), Scale(2500, factor));
var damage = Scale(10, factor);
c.SetDamage(Math.Min(80, 15 + damage), Math.Min(90, 30 + damage));
var skill = Math.Min(120.0, 95.0 + Scale(5.0, factor));
c.SetAllSkills(skill, Math.Max(100, skill));
}