public float OptimalDistance(IPetParamResource res, ILeveling levelRes) { float cm = res.ColorMult(this); float bv = res.BaseValue(); float cv = res.ColorValue(); float lv = res.LevelValue(); int level = levelRes.LevelForExp(exp); //return (res.BaseValue(this) + odBaseAdd) + res.ColorMult(this) * (res.ColorValue(this) + odColorAdd) + res.Level(this) * (res.LevelValue(this) + odLevelAdd); return((bv + odBaseAdd) + cm * cm * (cv + odColorAdd) + level * cm * (lv + odLevelAdd)); }
public float Damage(IPetParamResource res, ILeveling levelRes) { float cm = res.ColorMult(this); float bv = res.BaseValue(); float cv = res.ColorValue(); float lv = res.LevelValue(); int level = levelRes.LevelForExp(exp); //return (res.BaseValue(this) + attackBaseAdd) + res.ColorMult(this) * (res.ColorValue(this) + attackColorAdd) + res.Level(this) * (res.LevelValue(this) + attackLevelAdd); return((bv + attackBaseAdd) + cm * cm * (cv + attackColorAdd) + level * cm * (lv + attackLevelAdd)); }
public float Cooldown(IPetParamResource res) { return(res.BaseValue() / res.ColorMult(this)); }