/**
  * @test
  */
 public function I_can_convert_max_level_to_experiences()
 {
     $experiencesTable = new ExperiencesTable($woundsTable = new WoundsTable());
     $lastLevel = new Level($levelValue = 20, $experiencesTable);
     self::assertSame(180, $experiencesTable->toExperiences($lastLevel)->getValue());
     self::assertSame(1447, $experiencesTable->toTotalExperiences($lastLevel)->getValue());
 }
Example #2
0
 private function checkLevelsAgainstExperiences(ProfessionLevels $professionLevels, Memories $memories, ExperiencesTable $experiencesTable)
 {
     $highestLevelRank = $professionLevels->getCurrentLevel()->getLevelRank();
     $requiredExperiences = $experiencesTable->toTotalExperiences(new LevelBonus($highestLevelRank->getValue(), $experiencesTable));
     $availableExperiences = $memories->getExperiences($experiencesTable);
     if ($availableExperiences->getValue() < $requiredExperiences->getValue()) {
         throw new Exceptions\InsufficientExperiences("Given level {$highestLevelRank} needs at least {$requiredExperiences} experiences, got only {$availableExperiences}");
     }
 }
Example #3
0
 /**
  * Summary of experiences, needed to achieve current level
  *
  * @return Experiences
  */
 public function getTotalExperiences()
 {
     return $this->experiencesTable->toTotalExperiences($this);
 }