/** * @param Strength $strength * @param Agility $agility * @param Height $height */ public function __construct(Strength $strength, Agility $agility, Height $height) { /** @noinspection ExceptionsAnnotatingAndHandlingInspection */ parent::__construct(SumAndRound::average($strength->getValue(), $agility->getValue()) + SumAndRound::ceil($height->getValue() / 3) - 2); }
/** * @param Agility $agility */ public function __construct(Agility $agility) { /** @noinspection ExceptionsAnnotatingAndHandlingInspection */ parent::__construct(SumAndRound::ceiledHalf($agility->getValue())); }
/** * @return int 0+ */ public function getAgilityLossBecauseOfLimit() { return $this->firstLevelUnlimitedAgility->getValue() - $this->getFirstLevelAgility()->getValue(); }
private function sumProperties(Strength $strengthIncrement, Agility $agilityIncrement, Knack $knackIncrement, Will $willIncrement, Intelligence $intelligenceIncrement, Charisma $charismaIncrement) { return $strengthIncrement->getValue() + $agilityIncrement->getValue() + $knackIncrement->getValue() + $willIncrement->getValue() + $intelligenceIncrement->getValue() + $charismaIncrement->getValue(); }