| @@ -74,7 +74,7 @@ | ||
| 74 | 74 | }); | 
| 75 | 75 |      $resolver->setAllowedTypes("stat", ["string", "null"]); | 
| 76 | 76 |      $resolver->setAllowedValues("stat", function(?string $value) { | 
| 77 | - return is_null($value) OR in_array($value, $this->getAllowedStats(), true); | |
| 77 | + return is_null($value) or in_array($value, $this->getAllowedStats(), true); | |
| 78 | 78 | }); | 
| 79 | 79 |      $resolver->setAllowedTypes("value", "integer"); | 
| 80 | 80 |      $resolver->setAllowedValues("value", function(int $value) { | 
| @@ -26,7 +26,7 @@ discard block | ||
| 26 | 26 | public const TARGET_PARTY = "party"; | 
| 27 | 27 | public const TARGET_ENEMY_PARTY = "enemy_party"; | 
| 28 | 28 | /** @var string[] */ | 
| 29 | - public const NO_STAT_TYPES = [self::TYPE_STUN, self::TYPE_POISON,]; | |
| 29 | + public const NO_STAT_TYPES = [self::TYPE_STUN, self::TYPE_POISON, ]; | |
| 30 | 30 | |
| 31 | 31 | /** @var string */ | 
| 32 | 32 | protected $type; | 
| @@ -60,7 +60,7 @@ discard block | ||
| 60 | 60 | |
| 61 | 61 |    protected function configureOptions(OptionsResolver $resolver): void { | 
| 62 | 62 | parent::configureOptions($resolver); | 
| 63 | - $allStats = ["type", "stat", "value", "valueGrowth", "duration",]; | |
| 63 | + $allStats = ["type", "stat", "value", "valueGrowth", "duration", ]; | |
| 64 | 64 | $resolver->setRequired($allStats); | 
| 65 | 65 |      $resolver->setAllowedTypes("type", "string"); | 
| 66 | 66 |      $resolver->setAllowedValues("type", function(string $value) { | 
| @@ -38,7 +38,7 @@ | ||
| 38 | 38 | } | 
| 39 | 39 | |
| 40 | 40 |    public function getHitRate(): int { | 
| 41 | -    if(is_string($this->skill->hitRate) AND substr($this->skill->hitRate, -1) === "%") { | |
| 41 | +    if(is_string($this->skill->hitRate) and substr($this->skill->hitRate, -1) === "%") { | |
| 42 | 42 | return (int) $this->skill->hitRate; | 
| 43 | 43 | } | 
| 44 | 44 | return 100; | 
| @@ -2,8 +2,8 @@ | ||
| 2 | 2 | declare(strict_types=1); | 
| 3 | 3 | |
| 4 | 4 | require __DIR__ . "/../vendor/autoload.php"; | 
| 5 | -Testbench\Bootstrap::setup(__DIR__ . '/_temp', function (\Nette\Configurator $configurator) { | |
| 6 | - $configurator->addParameters(["appDir" => __DIR__,]); | |
| 5 | +Testbench\Bootstrap::setup(__DIR__ . '/_temp', function(\Nette\Configurator $configurator) { | |
| 6 | + $configurator->addParameters(["appDir" => __DIR__, ]); | |
| 7 | 7 | $configurator->addConfig(__DIR__ . "/tests.neon"); | 
| 8 | 8 | }); | 
| 9 | 9 | ?> | 
| 10 | 10 | \ No newline at end of file | 
| @@ -48,7 +48,7 @@ | ||
| 48 | 48 | |
| 49 | 49 |    protected function configureOptions(OptionsResolver $resolver): void { | 
| 50 | 50 | parent::configureOptions($resolver); | 
| 51 | - $allStats = ["baseDamage", "damageGrowth", "strikes", "hitRate",]; | |
| 51 | + $allStats = ["baseDamage", "damageGrowth", "strikes", "hitRate", ]; | |
| 52 | 52 | $resolver->setRequired($allStats); | 
| 53 | 53 |      $resolver->setAllowedTypes("baseDamage", "string"); | 
| 54 | 54 |      $resolver->setAllowedTypes("damageGrowth", "string"); | 
| @@ -50,7 +50,7 @@ discard block | ||
| 50 | 50 | * @return Character[] | 
| 51 | 51 | */ | 
| 52 | 52 |    public function getAliveMembers(): array { | 
| 53 | - return $this->getItems(["hitpoints>" => 0,]); | |
| 53 | + return $this->getItems(["hitpoints>" => 0, ]); | |
| 54 | 54 | } | 
| 55 | 55 | |
| 56 | 56 | /** | 
| @@ -128,7 +128,7 @@ discard block | ||
| 128 | 128 | return null; | 
| 129 | 129 | } | 
| 130 | 130 |      for($i = 1; $i <= PHP_INT_MAX; $i++) { | 
| 131 | -      if($this->hasItems(["positionRow" => $i, "hitpoints>" => 0,])) { | |
| 131 | +      if($this->hasItems(["positionRow" => $i, "hitpoints>" => 0, ])) { | |
| 132 | 132 | return $i; | 
| 133 | 133 | } | 
| 134 | 134 | } | 
| @@ -80,11 +80,11 @@ discard block | ||
| 80 | 80 | */ | 
| 81 | 81 |    public function setCharacterPosition($id, int $row, int $column): void { | 
| 82 | 82 |      if(!$this->hasItems(["id" => $id])) { | 
| 83 | -      throw new \OutOfBoundsException("Character $id is not in the team"); | |
| 83 | +      throw new \OutOfBoundsException("character $id is not in the team"); | |
| 84 | 84 |      } elseif(count($this->getItems(["positionRow" => $row])) >= $this->maxRowSize) { | 
| 85 | -      throw new InvalidCharacterPositionException("Row $row is full.", InvalidCharacterPositionException::ROW_FULL); | |
| 85 | +      throw new InvalidCharacterPositionException("row $row is full.", InvalidCharacterPositionException::ROW_FULL); | |
| 86 | 86 |      } elseif($this->hasItems(["positionRow" => $row, "positionColumn" => $column])) { | 
| 87 | -      throw new InvalidCharacterPositionException("Row $row column $column is occupied.", InvalidCharacterPositionException::POSITION_OCCUPIED); | |
| 87 | +      throw new InvalidCharacterPositionException("row $row column $column is occupied.", InvalidCharacterPositionException::POSITION_OCCUPIED); | |
| 88 | 88 | } | 
| 89 | 89 | $character = $this->getItems(["id" => $id])[0]; | 
| 90 | 90 | $character->positionRow = $row; | 
| @@ -112,7 +112,7 @@ discard block | ||
| 112 | 112 | return null; | 
| 113 | 113 | } | 
| 114 | 114 |      foreach($this->aliveMembers as $index => $member) { | 
| 115 | -      if($member->hitpoints <= $member->maxHitpoints * $threshold AND $member->hitpoints < $lowestHp) { | |
| 115 | +      if($member->hitpoints <= $member->maxHitpoints * $threshold and $member->hitpoints < $lowestHp) { | |
| 116 | 116 | $lowestHp = $member->hitpoints; | 
| 117 | 117 | $lowestIndex = $index; | 
| 118 | 118 | } | 
| @@ -52,7 +52,7 @@ | ||
| 52 | 52 | } | 
| 53 | 53 | |
| 54 | 54 |    protected function configureOptions(OptionsResolver $resolver): void { | 
| 55 | - $allStats = ["id", "name", "slot", "type", "strength", "worn",]; | |
| 55 | + $allStats = ["id", "name", "slot", "type", "strength", "worn", ]; | |
| 56 | 56 | $resolver->setRequired($allStats); | 
| 57 | 57 |      $resolver->setAllowedTypes("id", "integer"); | 
| 58 | 58 |      $resolver->setAllowedTypes("name", "string"); | 
| @@ -37,7 +37,7 @@ | ||
| 37 | 37 | } | 
| 38 | 38 | |
| 39 | 39 |    protected function configureOptions(OptionsResolver $resolver): void { | 
| 40 | - $allStats = ["id", "deployed", "bonusStat", "bonusValue",]; | |
| 40 | + $allStats = ["id", "deployed", "bonusStat", "bonusValue", ]; | |
| 41 | 41 | $resolver->setRequired($allStats); | 
| 42 | 42 |      $resolver->setAllowedTypes("id", "integer"); | 
| 43 | 43 |      $resolver->setAllowedTypes("deployed", "boolean"); | 
| @@ -41,7 +41,7 @@ | ||
| 41 | 41 | protected $levels; | 
| 42 | 42 | |
| 43 | 43 |    protected function configureOptions(OptionsResolver $resolver): void { | 
| 44 | - $resolver->setRequired(["id", "name", "target", "levels",]); | |
| 44 | + $resolver->setRequired(["id", "name", "target", "levels", ]); | |
| 45 | 45 |      $resolver->setAllowedTypes("id", "int"); | 
| 46 | 46 |      $resolver->setAllowedTypes("name", "string"); | 
| 47 | 47 |      $resolver->setAllowedTypes("target", "string"); | 
| @@ -52,9 +52,11 @@ | ||
| 52 | 52 | /** | 
| 53 | 53 | * @throws NotImplementedException | 
| 54 | 54 | */ | 
| 55 | -  public function do(CombatBase $combat, Character $character): void { | |
| 55 | +  public function do { | |
| 56 | +    (CombatBase $combat, Character $character): void { | |
| 56 | 57 | /** @var CharacterSpecialSkill $skill */ | 
| 57 | 58 | $skill = $character->usableSkills[0]; | 
| 59 | + } | |
| 58 | 60 | $targets = []; | 
| 59 | 61 |      switch($skill->skill->target) { | 
| 60 | 62 | case Skill::TARGET_ENEMY: | 
| @@ -37,7 +37,7 @@ discard block | ||
| 37 | 37 | "character1" => $character1, "character2" => $target, | 
| 38 | 38 | ]; | 
| 39 | 39 | $effect = new CharacterEffect([ | 
| 40 | -      "id" => "skill{$skill->skill->id}Effect", | |
| 40 | +      "id" => "skill{$skill->skill->id}effect", | |
| 41 | 41 | "type" => $skill->skill->type, | 
| 42 | 42 | "stat" => ((in_array($skill->skill->type, Skill::NO_STAT_TYPES, true)) ? null : $skill->skill->stat), | 
| 43 | 43 | "value" => $skill->value, | 
| @@ -70,7 +70,7 @@ discard block | ||
| 70 | 70 | $targets = $combat->getEnemyTeam($character)->toArray(); | 
| 71 | 71 | break; | 
| 72 | 72 | default: | 
| 73 | -        throw new NotImplementedException("Target {$skill->skill->target} for special skills is not implemented."); | |
| 73 | +        throw new NotImplementedException("target {$skill->skill->target} for special skills is not implemented."); | |
| 74 | 74 | } | 
| 75 | 75 |      foreach($targets as $target) { | 
| 76 | 76 | $this->doSingleTarget($character, $target, $skill, $combat); |