Add Enemies section: D&D stat-block table + detail/edit pages
- Enemy entity: full 5e stat block (size/type/subtype/alignment, AC, HP,
speed, six ability scores, CR/XP/prof, saves/skills/senses/languages,
damage & condition modifiers, traits/actions/bonus/reactions/legendary,
description, source) plus a DM game-notes field and updated_at.
- CreatureSize / CreatureType enums.
- /enemies: server-side DataTable (name, size, type, CR, AC, HP, notes),
"Add enemy" button.
- /enemies/{id}: stat block rendered read-only + editable game notes.
- /enemies/new and /enemies/{id}/edit: the full stat-block form (no notes).
- "Enemies" nav item between NPC's and Storyline.
- Table left empty on purpose.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enum;
|
||||
|
||||
enum CreatureSize: string
|
||||
{
|
||||
case Tiny = 'Tiny';
|
||||
case Small = 'Small';
|
||||
case Medium = 'Medium';
|
||||
case Large = 'Large';
|
||||
case Huge = 'Huge';
|
||||
case Gargantuan = 'Gargantuan';
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return $this->value;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enum;
|
||||
|
||||
enum CreatureType: string
|
||||
{
|
||||
case Aberration = 'Aberration';
|
||||
case Beast = 'Beast';
|
||||
case Celestial = 'Celestial';
|
||||
case Construct = 'Construct';
|
||||
case Dragon = 'Dragon';
|
||||
case Elemental = 'Elemental';
|
||||
case Fey = 'Fey';
|
||||
case Fiend = 'Fiend';
|
||||
case Giant = 'Giant';
|
||||
case Humanoid = 'Humanoid';
|
||||
case Monstrosity = 'Monstrosity';
|
||||
case Ooze = 'Ooze';
|
||||
case Plant = 'Plant';
|
||||
case Undead = 'Undead';
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return $this->value;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user