{% extends 'base.html.twig' %} {% block title %}{{ is_new ? 'New character' : 'Edit ' ~ character.name }} · Characters · dmtools{% endblock %} {% block body %}
← {{ is_new ? 'All characters' : 'Back to ' ~ character.name }}

{{ is_new ? 'New character' : 'Edit ' ~ character.name }}

Character sheet — game notes live on the character page.
{{ form_start(form) }}
Identity
{{ form_row(form.name) }} {{ form_row(form.playerName) }}
{{ form_row(form.race) }}
{{ form_row(form.level) }}
{{ form_row(form.characterClass) }}
{{ form_row(form.background) }}
{{ form_row(form.alignment) }}
{{ form_row(form.experiencePoints) }}
Combat
{{ form_row(form.armorClass) }}
{{ form_row(form.initiative) }}
{{ form_row(form.speed) }}
{{ form_row(form.hitPointMaximum) }}
{{ form_row(form.currentHitPoints) }}
{{ form_row(form.temporaryHitPoints) }}
{{ form_row(form.hitDice) }}
{{ form_row(form.proficiencyBonus) }}
{{ form_row(form.inspiration) }}
Ability scores & proficiencies
{{ form_row(form.strength) }}
{{ form_row(form.dexterity) }}
{{ form_row(form.constitution) }}
{{ form_row(form.intelligence) }}
{{ form_row(form.wisdom) }}
{{ form_row(form.charisma) }}
{{ form_row(form.savingThrowProficiencies) }}
{{ form_row(form.skillProficiencies) }}
Attacks & spellcasting
{% for i in 0..5 %} {% set atk = character.attacks[i] ?? null %} {% endfor %}
NameAtk bonusDamage/typeRange
Blank rows are dropped when you save.
{{ form_row(form.spellcasting) }}
Traits & equipment
{{ form_row(form.featuresTraits) }} {{ form_row(form.otherProficienciesLanguages) }} {{ form_row(form.equipment) }}
Personality
{{ form_row(form.personalityTraits) }} {{ form_row(form.ideals) }} {{ form_row(form.bonds) }} {{ form_row(form.flaws) }}
Appearance & backstory
{{ form_row(form.appearance) }} {{ form_row(form.backstory) }} {{ form_row(form.alliesOrganizations) }} {{ form_row(form.treasure) }}
Cancel
{{ form_end(form) }} {% endblock %}