-
Notifications
You must be signed in to change notification settings - Fork 0
Form Requirements
This page outlines what the valid possible values are for each enumeration and every field that can be included on each entity's HTML form, as well as how the values are expected to be formatted.
This section specifies the accepted values for each enum type. Capitalization matters. The enums are specified by name in the Forms section.
Alignment:
- "lawful good"
- "lawful neutral"
- "lawful evil"
- "neutral good"
- "true neutral"
- "neutral evil"
- "chaotic good"
- "chaotic neutral"
- "chaotic evil"
ArmorClass:
- "light"
- "medium"
- "heavy"
Attribute:
- "strength"
- "dexterity"
- "constitution"
- "intelligence"
- "wisdom"
- "charisma"
Boolean:
- "true"
- "false"
CasterType:
- "spontaneous"
- "prepared"
CharacterStat:
- "name"
- "race"
- "size"
- "height"
- "weight"
- "age"
- "gender"
- "alignment"
- "deity"
- "languages"
- "appearance"
CombatStat:
- "melee attack bonus"
- "ranged attack bonus"
- "cmb"
- "cmd"
- "armor class"
- "touch ac"
- "flat footed ac"
- "initiative bonus"
- "damage reduction"
- "spell resistance"
- "speed"
- "fortitude"
- "reflex"
- "will"
ComponentType:
- "somatic"
- "material"
- "verbal"
DamageType:
- "bludgeoning"
- "slashing"
- "piercing"
- "energy"
- "acid"
- "fire"
- "electricity"
- "cold"
- "sonic"
- "positive"
- "negative"
- "nonlethal"
EquipmentSlot:
- "armor"
- "belts"
- "body"
- "chest"
- "eyes"
- "feet"
- "hands"
- "head"
- "headband"
- "neck"
- "ring left"
- "ring right"
- "shield"
- "shoulders"
- "wrist"
Gender:
- "male"
- "female"
- "other"
MagicSchool:
- "abjuration"
- "conjuration"
- "divination"
- "enchantment"
- "evocation"
- "illusion"
- "necromancy"
- "transmutation"
SaveThrow:
- "fortitude"
- "reflex"
- "will"
Size:
- "fine"
- "diminutive"
- "tiny"
- "small"
- "medium"
- "large"
- "huge"
- "gargantuan"
- "colossal"
Skill:
- "acrobatics"
- "appraise"
- "bluff"
- "climb"
- "craft"
- "diplomacy"
- "disable device"
- "disguise"
- "escape artist"
- "fly"
- "handle animal"
- "heal"
- "intimidate"
- "knowledge arcana"
- "knowledge dungeoneering"
- "knowledge engineering"
- "knowledge geography"
- "knowledge history"
- "knowledge local"
- "knowledge nobility"
- "knowledge planes"
- "knowledge religion"
- "linguistics"
- "perception"
- "perform"
- "profession"
- "ride"
- "sense motive"
- "sleight of hand"
- "spellcraft"
- "stealth"
- "survival"
- "swim"
- "use magic device"
SpellRange:
- "personal"
- "touch"
- "close"
- "medium"
- "long"
- "unlimited"
WeaponClass:
- "axes"
- "heavy blades"
- "light blades"
- "bows"
- "close"
- "crossbows"
- "double"
- "firearms"
- "flails"
- "hammers"
- "monk"
- "natural"
- "polearms"
- "siege engines"
- "spears"
- "thrown"
- "tribal"
All types specified as form values will ultimately be sent as strings, but must be able to be parsed as the specified type.
A field being marked "required" only means it must be present in the request. It may be an empty string, so long as the description for that field does not specify otherwise. Integers, Enums, and Booleans must contain a value.
-
Bag
- "name": Required, String
- "item-id": Required, UUID representing the Item entry for this bag
- "capacity": Required, Integer
- "contents": Required, JSON object mapping Item UUID to count of how many are in the bag
-
Character
- "race-id": Required, UUID
- "deity-id": Optional, UUID
- "subclasses": Required, JSON Array of subclass UUIDs
- repetitions represent multiple levels taken
- "feats": Required, JSON Array of feat UUIDs
- "spells": Required, JSON Object mapping spell UUIDs to the number of casts remaining
- "bags": Required, JSON Array of bag UUIDs
- "equipment": Required, JSON Object mapping EquipmentSlot to Item UUID
- Item must have the corresponding EquipmentSlot
- "features": Required, JSON Array of feature UUIDs
- "name": Required, String
- "age": Required, String
- "gender": Required, Gender
- "alignment": Required, Alignment
- "backstory": Required, String
- "height": Required, Integer
- "weight": Required, Integer
- "size": Required, Size
- "strength": Required, Integer
- "dexterity": Required, Integer
- "constitution": Required, Integer
- "intelligence": Required, Integer
- "wisdom": Required, Integer
- "charisma": Required, Integer
- "max-hp": Required, Integer
- "lethal-damage": Required, Integer
- "nonlethal-damage": Required, Integer
- "copper": Required, Integer
- "silver": Required, Integer
- "gold": Required, Integer
- "platinum": Required, Integer
-
Class
- "name": Required, String
- "description": Required, String
- "hit-die": Required, String representing hit dice
- "starting-wealth": Required, String
- "bab-per-level": Required, Float
- May be entered as ___ BAB per ___ levels and calculated client-side before sending
- "skills-per-level": Required, Integer
- "skills-attr": Required, Attribute
- "prof-armor-class": Required, JSON Array of ArmorClass
- "prof-armor": Required, JSON Array of UUID for Armor
- "not-prof-armor": Required, JSON Array of UUID for Armor
- "prof-weapon-class": Required, JSON Array of WeaponClass
- "prof-weapon": Required, JSON Array of UUID for Weapon
- "not-prof-weapon": Required, JSON Array of UUID for Weapon
-
Deity
- "name": Required, String
- "description": Required, String
- "favored-animals": Optional, String
- "domains": Required, JSON Array of UUIDs
- "weapons": Required, JSON Array of UUIDs
-
Domain
- "name": Required, String
- "description": Required, String
- "power-description": Required, String
- "subdomains": Required, JSON array of UUIDs
- "spells": Required, JSON object mapping spell UUIDs to Integer number of available casts
-
Effect
- "name": Required, String
- "short-description": Required, String
- "long-description": Optional, String
- "attr-effects": Required, JSON object mapping Attribute to Integer change
- "skill-effects": Required, JSON object mapping Skill to Integer change
- "character-effects": Required, JSON object mapping CharacterStat to Integer change
- Not all CharacterStats are numbers, we don't have anything to handle that right now
- "combat-effects": Required, JSON object mapping CombatStat to Integer change
- "misc-effect": Optional, String
-
Feat
- "name": Required, String
- "short-description": Required, String
- "long-description": Optional, String
- "required-skills": Required, JSON object mapping Skill to Integer required value
- "required-attrs": Required, JSON object mapping Attribute to Integer required value
- "required-feats": Required, JSON array containing Feat UUIDs
- "effects": Required, JSON array of Effect UUIDs
-
Feature
- "name": Required, String
- "description": Required, String
-
Item
- Normal Items:
- "name": Required, String
- "description": Required, String
- "cost": Required, Integer
- "weight": Required, Float
- "equipment-slot": Optional, EquipmentSlot
- "effects": Required, JSON objects mapping UUIDs to booleans indicating if the effects are permanent
- "is-consumable": Unused, will be Required, Boolean
- Armor:
- "item-id": Required, UUID
- "material-id": Optional, UUID
- "max-dex-bonus": Required, Integer
- "ac": Required, Integer
- "spell-failure": Required, Integer
- "check-penalty": Required, Integer
- "armor-type": Required, ArmorClass
- Weapons:
- "item-id": Required, UUID
- "material-id": Optional, UUID
- "crit-min": Required, Integer
- "crit-max": Required, Integer
- "damage": Required, JSON Array of Strings representing dice rolls e.g. "2d6", "1d8+1d4"
- "damage-type": Required, JSON Array of DamageType, equal length to "damage" field
- "weapon-type": Required, WeaponClass
- Normal Items:
-
Material
- "name": Required, String
- "description": Required, String
- "hp-per-inch": Optional, Integer
- "hardness": Optional, Integer
-
Race
- "name": Required, String
- "description": Required, String
- "main-type": Required, UUID of RaceType
- "sub-type": Optional, UUID of RaceSubtype
- "move-speed": Required, Integer
- "size": Required, Size
- "languages": JSON Array of Strings
-
RaceSubtype
- "name": Required, String
- "description": Required, String
-
RaceType
- "name": Required, String
- "hit-die": Required, String
- "bab-per-hit-die": Required, Float
-
Spell
- "components": Managed separately
- Basically, POST a SpellComponent to
/spells/<spell-id>/components
- Basically, POST a SpellComponent to
- "spell-name": Required, String
- "school": Required, MagicSchool
- "spell-effects": Required, JSON Array of UUIDs, length > 0. Effects must already exist.
- "casting-time": Required, integer
- "range": Required, SpellRange
- "area-of-effect": Required, String
- "duration-per-level": Required, Integer
- "saving-throw": Optional, SaveThrow
- "has-spell-resistance": Required, Boolean
- "description": Required, String
- "components": Managed separately
-
SpellComponent
- "item-id": Required if "component-type" is "material", UUID
- "item-count": Required iff "item-id" is present, integer
- "component-type": ComponentType
-
Subclass
- "name": Required, String
- "description": Required, String
- "caster-type": Optional, CasterType
- "casting-attr": Required iff "caster-type", Attribute
- "features": JSON array of feature UUIDs
-
Subdomain
- "name": Required, String
- "description": Required, String