diff --git a/migrations/Version20260906173325.php b/migrations/Version20260906173325.php new file mode 100644 index 0000000..eab9159 --- /dev/null +++ b/migrations/Version20260906173325.php @@ -0,0 +1,31 @@ +addSql('ALTER TABLE combatant ADD armor_class SMALLINT DEFAULT 10 NOT NULL'); + $this->addSql('UPDATE combatant c JOIN enemy e ON c.enemy_id = e.id SET c.armor_class = e.armor_class'); + $this->addSql('ALTER TABLE combatant ALTER armor_class DROP DEFAULT'); + } + + public function down(Schema $schema): void + { + $this->addSql('ALTER TABLE combatant DROP armor_class'); + } +} diff --git a/src/Controller/TrackerController.php b/src/Controller/TrackerController.php index c687c6e..df49312 100644 --- a/src/Controller/TrackerController.php +++ b/src/Controller/TrackerController.php @@ -77,6 +77,7 @@ class TrackerController extends AbstractController (new Combatant()) ->setEnemy($enemy) ->setLabel($label) + ->setArmorClass($enemy->getArmorClass()) ->setMaxHp($enemy->getHitPoints()) ->setCurrentHp($enemy->getHitPoints()) ->setPosition($pos++) diff --git a/src/Entity/Combatant.php b/src/Entity/Combatant.php index 9435471..8a4111c 100644 --- a/src/Entity/Combatant.php +++ b/src/Entity/Combatant.php @@ -30,6 +30,9 @@ class Combatant #[ORM\Column(length: 120)] private string $label = ''; + #[ORM\Column(type: Types::SMALLINT)] + private int $armorClass = 10; + #[ORM\Column(type: Types::SMALLINT)] private int $maxHp = 1; @@ -113,6 +116,18 @@ class Combatant return $this; } + public function getArmorClass(): int + { + return $this->armorClass; + } + + public function setArmorClass(int $armorClass): static + { + $this->armorClass = $armorClass; + + return $this; + } + public function getMaxHp(): int { return $this->maxHp; diff --git a/templates/tracker/show.html.twig b/templates/tracker/show.html.twig index 26b2730..4742a33 100644 --- a/templates/tracker/show.html.twig +++ b/templates/tracker/show.html.twig @@ -51,6 +51,7 @@