private function I_can_create_skill_point_by_level_by_agility_adjustment() { $physicalSkillPoint = PhysicalSkillPoint::createFromNextLevelPropertyIncrease($level = $this->createProfessionNextLevel(Strength::class, Agility::class), new Tables()); self::assertInstanceOf(PhysicalSkillPoint::class, $physicalSkillPoint); self::assertNull($physicalSkillPoint->getBackgroundSkillPoints()); self::assertNull($physicalSkillPoint->getFirstPaidOtherSkillPoint()); self::assertNull($physicalSkillPoint->getSecondPaidOtherSkillPoint()); return [$physicalSkillPoint, $level]; }
private static function createPhysicalSkillEntities(Tables $tables, ProfessionFirstLevel $firstLevel) { $physicalSkillClasses = self::getListOfSkillClasses(PhysicalSkill::class); $physicalSkillPoint = PhysicalSkillPoint::createFromFirstLevelBackgroundSkillPoints($firstLevel, BackgroundSkillPoints::getIt(3, Heritage::getIt(5)), $tables); $requiredRankValue = new PositiveIntegerObject(1); $physicalSkillList = array_map(function ($physicalSkillClass) use($firstLevel, $physicalSkillPoint, $requiredRankValue) { /** @var PhysicalSkill $physicalSkill */ $physicalSkill = new $physicalSkillClass($firstLevel); $physicalSkill->addSkillRank($physicalSkillPoint); return $physicalSkill; }, $physicalSkillClasses); $physicalSkills = new PhysicalSkills(); foreach ($physicalSkillList as $physicalSkill) { $physicalSkills->addPhysicalSkill($physicalSkill); } $physicalSkillPoint = PhysicalSkillPoint::createFromFirstLevelBackgroundSkillPoints($firstLevel, BackgroundSkillPoints::getIt(3, Heritage::getIt(5)), $tables); $physicalSkillRank = new PhysicalSkillRank(new Swimming($firstLevel), PhysicalSkillPoint::createFromFirstLevelBackgroundSkillPoints($firstLevel, BackgroundSkillPoints::getIt(4, Heritage::getIt(5)), $tables), new PositiveIntegerObject(1)); return array_merge($physicalSkillList, [$physicalSkills, $physicalSkillPoint, $physicalSkillRank]); }
/** * @param ProfessionLevel $professionLevel * @return PhysicalSkillRank * @throws \DrdPlus\Skills\Exceptions\UnknownPaymentForSkillPoint * @throws \DrdPlus\Skills\Exceptions\CanNotVerifyOwningSkill * @throws \DrdPlus\Skills\Exceptions\CanNotVerifyPaidSkillPoint */ protected function createZeroSkillRank(ProfessionLevel $professionLevel) { /** @noinspection ExceptionsAnnotatingAndHandlingInspection */ return new PhysicalSkillRank($this, PhysicalSkillPoint::createZeroSkillPoint($professionLevel), new PositiveIntegerObject(0)); }