1447 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			GraphQL
		
	
	
	
	
	
			
		
		
	
	
			1447 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			GraphQL
		
	
	
	
	
	
"""String or list of strings"""
 | 
						|
scalar StringFilter
 | 
						|
 | 
						|
"""
 | 
						|
Int, list of ints, or object with gte (>=), gt (>), lte (<=), and lt (<) properties for range of values
 | 
						|
"""
 | 
						|
scalar IntFilter
 | 
						|
 | 
						|
"""
 | 
						|
Float, list of floats, or object with gte (>=), gt (>), lte (<=), and lt (<) properties for range of values
 | 
						|
"""
 | 
						|
scalar FloatFilter
 | 
						|
 | 
						|
type AbilityScore {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  full_name: String!
 | 
						|
  desc: [String!]!
 | 
						|
  skills(order_direction: OrderByDirection, name: String): [Skill!]!
 | 
						|
}
 | 
						|
 | 
						|
type Skill {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  desc: [String!]!
 | 
						|
  ability_score: AbilityScore!
 | 
						|
}
 | 
						|
 | 
						|
type Alignment {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  abbreviation: String!
 | 
						|
  desc: String!
 | 
						|
}
 | 
						|
 | 
						|
type Condition {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  desc: [String!]!
 | 
						|
}
 | 
						|
 | 
						|
type DamageType {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  desc: [String!]!
 | 
						|
}
 | 
						|
 | 
						|
type WeaponProperty {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  desc: [String!]!
 | 
						|
}
 | 
						|
 | 
						|
enum Currency {
 | 
						|
  CP
 | 
						|
  SP
 | 
						|
  GP
 | 
						|
}
 | 
						|
 | 
						|
type Cost {
 | 
						|
  quantity: Int!
 | 
						|
  unit: Currency!
 | 
						|
}
 | 
						|
 | 
						|
type EquipmentCategory {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  equipment(order: EquipmentCategoryOrder, skip: Int, limit: Int! = 100, name: String): [IEquipmentBase!]!
 | 
						|
}
 | 
						|
 | 
						|
interface IEquipmentBase {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  desc: [String!]
 | 
						|
  equipment_category: EquipmentCategory!
 | 
						|
}
 | 
						|
 | 
						|
enum MagicItemRarity {
 | 
						|
  VARIES
 | 
						|
  COMMON
 | 
						|
  UNCOMMON
 | 
						|
  RARE
 | 
						|
  VERY_RARE
 | 
						|
  LEGENDARY
 | 
						|
  ARTIFACT
 | 
						|
}
 | 
						|
 | 
						|
type MagicItem implements IEquipmentBase {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  desc: [String!]!
 | 
						|
  rarity: MagicItemRarity!
 | 
						|
  equipment_category: EquipmentCategory!
 | 
						|
}
 | 
						|
 | 
						|
interface IEquipment implements IEquipmentBase {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  cost: Cost!
 | 
						|
  desc: [String!]
 | 
						|
  equipment_category: EquipmentCategory!
 | 
						|
  weight: Float
 | 
						|
}
 | 
						|
 | 
						|
type Tool implements IEquipment & IEquipmentBase {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  desc: [String!]
 | 
						|
  cost: Cost!
 | 
						|
  equipment_category: EquipmentCategory!
 | 
						|
  weight: Float
 | 
						|
  tool_category: EquipmentCategory!
 | 
						|
}
 | 
						|
 | 
						|
interface IGear implements IEquipment & IEquipmentBase {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  cost: Cost!
 | 
						|
  desc: [String!]
 | 
						|
  equipment_category: EquipmentCategory!
 | 
						|
  weight: Float
 | 
						|
  gear_category: EquipmentCategory!
 | 
						|
}
 | 
						|
 | 
						|
type Gear implements IGear & IEquipment & IEquipmentBase {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  cost: Cost!
 | 
						|
  desc: [String!]
 | 
						|
  equipment_category: EquipmentCategory!
 | 
						|
  weight: Float
 | 
						|
  gear_category: EquipmentCategory!
 | 
						|
}
 | 
						|
 | 
						|
type PackQuantity {
 | 
						|
  quantity: Int!
 | 
						|
  item: IEquipment!
 | 
						|
}
 | 
						|
 | 
						|
type Quantity {
 | 
						|
  quantity: Int!
 | 
						|
  equipment: IEquipment!
 | 
						|
}
 | 
						|
 | 
						|
type Pack implements IGear & IEquipment & IEquipmentBase {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  cost: Cost!
 | 
						|
  desc: [String!]
 | 
						|
  equipment_category: EquipmentCategory!
 | 
						|
  weight: Float
 | 
						|
  gear_category: EquipmentCategory!
 | 
						|
  contents: [PackQuantity!]!
 | 
						|
}
 | 
						|
 | 
						|
type Ammunition implements IGear & IEquipment & IEquipmentBase {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  cost: Cost!
 | 
						|
  desc: [String!]
 | 
						|
  equipment_category: EquipmentCategory!
 | 
						|
  weight: Float
 | 
						|
  gear_category: EquipmentCategory!
 | 
						|
  quantity: Int!
 | 
						|
}
 | 
						|
 | 
						|
type Damage {
 | 
						|
  damage_dice: String!
 | 
						|
  damage_type: DamageType!
 | 
						|
}
 | 
						|
 | 
						|
type Range {
 | 
						|
  normal: Int!
 | 
						|
  long: Int
 | 
						|
}
 | 
						|
 | 
						|
enum WeaponRange {
 | 
						|
  MELEE
 | 
						|
  RANGED
 | 
						|
}
 | 
						|
 | 
						|
type Weapon implements IEquipment & IEquipmentBase {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  cost: Cost!
 | 
						|
  desc: [String!]
 | 
						|
  equipment_category: EquipmentCategory!
 | 
						|
  weight: Float
 | 
						|
  damage: Damage
 | 
						|
  range: Range!
 | 
						|
  throw_range: Range
 | 
						|
  weapon_category: EquipmentCategory!
 | 
						|
  weapon_range: WeaponRange!
 | 
						|
  category_range: EquipmentCategory!
 | 
						|
  two_handed_damage: Damage
 | 
						|
  properties(name: String): [WeaponProperty!]!
 | 
						|
  special: [String!]
 | 
						|
}
 | 
						|
 | 
						|
type ArmorClass {
 | 
						|
  base: Int!
 | 
						|
  dex_bonus: Boolean!
 | 
						|
  max_bonus: Int
 | 
						|
}
 | 
						|
 | 
						|
type Armor implements IEquipment & IEquipmentBase {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  cost: Cost!
 | 
						|
  desc: [String!]
 | 
						|
  equipment_category: EquipmentCategory!
 | 
						|
  weight: Float
 | 
						|
  armor_category: EquipmentCategory!
 | 
						|
  str_minimum: Int!
 | 
						|
  stealth_disadvantage: Boolean!
 | 
						|
  armor_class: ArmorClass!
 | 
						|
}
 | 
						|
 | 
						|
type Speed {
 | 
						|
  quantity: Float!
 | 
						|
  unit: String!
 | 
						|
}
 | 
						|
 | 
						|
type Vehicle implements IEquipment & IEquipmentBase {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  cost: Cost!
 | 
						|
  desc: [String!]
 | 
						|
  equipment_category: EquipmentCategory!
 | 
						|
  weight: Float
 | 
						|
  vehicle_category: EquipmentCategory!
 | 
						|
  speed: Speed
 | 
						|
  capacity: String
 | 
						|
}
 | 
						|
 | 
						|
type AbilityScorePrerequisite {
 | 
						|
  ability_score: AbilityScore!
 | 
						|
  minimum_score: Int!
 | 
						|
}
 | 
						|
 | 
						|
type Feat {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  desc: [String!]!
 | 
						|
  prerequisites: [AbilityScorePrerequisite!]!
 | 
						|
}
 | 
						|
 | 
						|
enum LanguageType {
 | 
						|
  STANDARD
 | 
						|
  EXOTIC
 | 
						|
}
 | 
						|
 | 
						|
enum LanguageScript {
 | 
						|
  COMMON
 | 
						|
  ELVISH
 | 
						|
  DWARVISH
 | 
						|
  INFERNAL
 | 
						|
  DRACONIC
 | 
						|
  CELESTIAL
 | 
						|
}
 | 
						|
 | 
						|
"""
 | 
						|
LanguageScript ("COMMON", "ELVISH", "DWARVISH", "INFERNAL", "DRACONIC", "CELESTIAL") or list of LanguageScripts
 | 
						|
"""
 | 
						|
scalar LanguageScriptFilter
 | 
						|
 | 
						|
type Language {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  desc: String
 | 
						|
  script: LanguageScript
 | 
						|
  type: LanguageType!
 | 
						|
  typical_speakers: [String!]!
 | 
						|
}
 | 
						|
 | 
						|
type Rule {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  desc: String!
 | 
						|
  subsections(name: String): [RuleSection!]!
 | 
						|
}
 | 
						|
 | 
						|
type RuleSection {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  desc: String!
 | 
						|
}
 | 
						|
 | 
						|
type AreaOfEffect {
 | 
						|
  type: AreaOfEffectType!
 | 
						|
  size: Int!
 | 
						|
}
 | 
						|
 | 
						|
enum AreaOfEffectType {
 | 
						|
  SPHERE
 | 
						|
  CUBE
 | 
						|
  CYLINDER
 | 
						|
  LINE
 | 
						|
  CONE
 | 
						|
}
 | 
						|
 | 
						|
"""
 | 
						|
AreaOfEffectType ("SPHERE", "CUBE", "CYLINDER", "LINE", "CONE") or list of AreaOfEffectTypes
 | 
						|
"""
 | 
						|
scalar AreaOfEffectTypeFilter
 | 
						|
 | 
						|
enum SpellComponent {
 | 
						|
  V
 | 
						|
  S
 | 
						|
  M
 | 
						|
}
 | 
						|
 | 
						|
type DamageAtLevel {
 | 
						|
  level: Int!
 | 
						|
  damage: String!
 | 
						|
}
 | 
						|
 | 
						|
type SpellDamage {
 | 
						|
  damage_at_slot_level: [DamageAtLevel!]
 | 
						|
  damage_at_character_level: [DamageAtLevel!]
 | 
						|
  damage_type: DamageType
 | 
						|
}
 | 
						|
 | 
						|
type HealingAtLevel {
 | 
						|
  level: Int!
 | 
						|
  healing: String!
 | 
						|
}
 | 
						|
 | 
						|
enum DcSuccess {
 | 
						|
  NONE
 | 
						|
  HALF
 | 
						|
  OTHER
 | 
						|
}
 | 
						|
 | 
						|
type SpellDc {
 | 
						|
  success: DcSuccess!
 | 
						|
  type: AbilityScore!
 | 
						|
  desc: String
 | 
						|
}
 | 
						|
 | 
						|
type MagicSchool {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  desc: String!
 | 
						|
  spells(level: IntFilter, class: StringFilter, subclass: StringFilter, concentration: Boolean, ritual: Boolean, attack_type: SpellAttackTypeFilter, casting_time: StringFilter, area_of_effect: AreaOfEffectFilter, damage_type: StringFilter, dc_type: StringFilter, range: StringFilter, order: SpellOrder, skip: Int, limit: Int! = 100, name: String): [Spell!]!
 | 
						|
}
 | 
						|
 | 
						|
enum SpellAttackType {
 | 
						|
  MELEE
 | 
						|
  RANGED
 | 
						|
}
 | 
						|
 | 
						|
"""SpellAttackType ("MELEE", "RANGED") or list of SpellAttackTypes"""
 | 
						|
scalar SpellAttackTypeFilter
 | 
						|
 | 
						|
type Spell {
 | 
						|
  index: String!
 | 
						|
  area_of_effect: AreaOfEffect
 | 
						|
  attack_type: SpellAttackType
 | 
						|
  casting_time: String!
 | 
						|
  classes(name: String): [Class!]!
 | 
						|
  subclasses(name: String): [Subclass!]!
 | 
						|
  components: [SpellComponent]
 | 
						|
  concentration: Boolean!
 | 
						|
  damage: SpellDamage
 | 
						|
  dc: SpellDc
 | 
						|
  desc: [String!]!
 | 
						|
  duration: String!
 | 
						|
  heal_at_slot_level: [HealingAtLevel!]
 | 
						|
  higher_level: [String!]
 | 
						|
  level: Int!
 | 
						|
  material: String
 | 
						|
  name: String!
 | 
						|
  range: String!
 | 
						|
  ritual: Boolean!
 | 
						|
  school: MagicSchool!
 | 
						|
}
 | 
						|
 | 
						|
union ProficiencyReference = EquipmentCategory | Skill | AbilityScore | Tool | Armor | Weapon | Vehicle | Gear | Pack | Ammunition
 | 
						|
 | 
						|
enum ProficiencyType {
 | 
						|
  WEAPONS
 | 
						|
  ARTISANS_TOOLS
 | 
						|
  SKILLS
 | 
						|
  ARMOR
 | 
						|
  MUSICAL_INSTRUMENTS
 | 
						|
  SAVING_THROWS
 | 
						|
  OTHER
 | 
						|
  GAMING_SETS
 | 
						|
  VEHICLES
 | 
						|
}
 | 
						|
 | 
						|
"""
 | 
						|
ProficiencyType ("WEAPONS", "ARTISANS_TOOLS", "SKILLS", "ARMOR", "MUSICAL_INSTRUMENTS", "SAVING_THROWS", "OTHER", "GAMING_SETS", "VEHICLES") or list of ProficiencyTypes
 | 
						|
"""
 | 
						|
scalar ProficiencyTypeFilter
 | 
						|
 | 
						|
type Proficiency {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  classes(name: String): [Class!]!
 | 
						|
  type: ProficiencyType!
 | 
						|
  races(name: String): [ProficiencyRace!]!
 | 
						|
  reference: ProficiencyReference!
 | 
						|
}
 | 
						|
 | 
						|
type ActionDc {
 | 
						|
  type: AbilityScore!
 | 
						|
  value: Int!
 | 
						|
  success: DcSuccess!
 | 
						|
}
 | 
						|
 | 
						|
type LegendaryAction {
 | 
						|
  name: String!
 | 
						|
  desc: String!
 | 
						|
  dc: ActionDc
 | 
						|
  damage: [Damage!]
 | 
						|
}
 | 
						|
 | 
						|
type MonsterProficiency {
 | 
						|
  proficiency: Proficiency!
 | 
						|
  value: Int!
 | 
						|
}
 | 
						|
 | 
						|
type Reaction {
 | 
						|
  name: String!
 | 
						|
  desc: String!
 | 
						|
  dc: ActionDc
 | 
						|
}
 | 
						|
 | 
						|
type Senses {
 | 
						|
  blindsight: String
 | 
						|
  darkvision: String
 | 
						|
  passive_perception: Int!
 | 
						|
  tremorsense: String
 | 
						|
  truesight: String
 | 
						|
}
 | 
						|
 | 
						|
enum RestType {
 | 
						|
  SHORT
 | 
						|
  LONG
 | 
						|
}
 | 
						|
 | 
						|
enum UsageType {
 | 
						|
  AT_WILL
 | 
						|
  PER_DAY
 | 
						|
  RECHARGE_ON_ROLL
 | 
						|
  RECHARGE_AFTER_REST
 | 
						|
  PER_REST
 | 
						|
}
 | 
						|
 | 
						|
type Usage {
 | 
						|
  type: UsageType!
 | 
						|
  times: Int
 | 
						|
  rest_types: [RestType!]
 | 
						|
  dice: String
 | 
						|
  min_value: Int
 | 
						|
}
 | 
						|
 | 
						|
type MonsterSpellSlot {
 | 
						|
  level: Int!
 | 
						|
  slots: Int!
 | 
						|
}
 | 
						|
 | 
						|
type MonsterSpell {
 | 
						|
  spell: Spell!
 | 
						|
  usage: Usage
 | 
						|
}
 | 
						|
 | 
						|
type MonsterSpellcasting {
 | 
						|
  level: Int
 | 
						|
  ability: AbilityScore!
 | 
						|
  dc: Int
 | 
						|
  modifier: Int
 | 
						|
  components_required: [SpellComponent!]
 | 
						|
  school: String
 | 
						|
  slots: [MonsterSpellSlot!]
 | 
						|
  spells: [MonsterSpell!]!
 | 
						|
}
 | 
						|
 | 
						|
type SpecialAbility {
 | 
						|
  name: String!
 | 
						|
  desc: String!
 | 
						|
  usage: Usage
 | 
						|
  dc: ActionDc
 | 
						|
  spellcasting: MonsterSpellcasting
 | 
						|
  damage: [Damage!]
 | 
						|
}
 | 
						|
 | 
						|
type MonsterSpeed {
 | 
						|
  burrow: String
 | 
						|
  climb: String
 | 
						|
  fly: String
 | 
						|
  hover: Boolean
 | 
						|
  swim: String
 | 
						|
  walk: String
 | 
						|
}
 | 
						|
 | 
						|
enum Size {
 | 
						|
  TINY
 | 
						|
  SMALL
 | 
						|
  MEDIUM
 | 
						|
  LARGE
 | 
						|
  HUGE
 | 
						|
  GARGANTUAN
 | 
						|
}
 | 
						|
 | 
						|
"""
 | 
						|
Size ("TINY", "SMALL", "MEDIUM", "LARGE", "HUGE", "GARGANTUAN") or list of sizes
 | 
						|
"""
 | 
						|
scalar SizeFilter
 | 
						|
 | 
						|
enum MonsterType {
 | 
						|
  BEAST
 | 
						|
  MONSTROSITY
 | 
						|
  DRAGON
 | 
						|
  HUMANOID
 | 
						|
  UNDEAD
 | 
						|
  FIEND
 | 
						|
  CELESTIAL
 | 
						|
  CONSTRUCT
 | 
						|
  GIANT
 | 
						|
  ELEMENTAL
 | 
						|
  FEY
 | 
						|
  ABERRATION
 | 
						|
  OOZE
 | 
						|
  SWARM
 | 
						|
  PLANT
 | 
						|
}
 | 
						|
 | 
						|
"""
 | 
						|
MonsterTypes ("BEAST", "MONSTROSITY", "DRAGON", "HUMANOID", "UNDEAD", "FIEND", "CELESTIAL", "CONSTRUCT", "GIANT", "ELEMENTAL", "FEY", "ABERRATION", "OOZE", "SWARM", "PLANT") or list of MonsterTypes
 | 
						|
"""
 | 
						|
scalar MonsterTypeFilter
 | 
						|
 | 
						|
enum MonsterSubtype {
 | 
						|
  ANY_RACE
 | 
						|
  HUMAN
 | 
						|
  DWARF
 | 
						|
  ELF
 | 
						|
  GOBLINOID
 | 
						|
  MERFOLK
 | 
						|
  SHAPECHANGER
 | 
						|
  DEMON
 | 
						|
  DEVIL
 | 
						|
  ORC
 | 
						|
  SAHUAGIN
 | 
						|
  TITAN
 | 
						|
  KOBOLD
 | 
						|
  GNOLL
 | 
						|
  GRIMLOCK
 | 
						|
  LIZARDFOLK
 | 
						|
  GNOME
 | 
						|
}
 | 
						|
 | 
						|
"""
 | 
						|
MonsterSubtype ("ANY_RACE", "HUMAN", "DWARF", "ELF", "GOBLINOID", "MERFOLK", "SHAPECHANGER", "DEMON", "DEVIL", "ORC", "SAHUAGIN", "TITAN", "KOBOLD", "GNOLL", "GRIMLOCK", "LIZARDFOLK", "GNOME") or list of MonsterSubtypes
 | 
						|
"""
 | 
						|
scalar MonsterSubtypeFilter
 | 
						|
 | 
						|
"""Int or string"""
 | 
						|
scalar ActionCount
 | 
						|
 | 
						|
type ActionOption {
 | 
						|
  option_type: String!
 | 
						|
  action_name: String!
 | 
						|
  count: ActionCount!
 | 
						|
  type: String
 | 
						|
}
 | 
						|
 | 
						|
type MultipleActionOption {
 | 
						|
  option_type: String!
 | 
						|
  items: [ActionOption!]!
 | 
						|
}
 | 
						|
 | 
						|
union MonsterActionOption = ActionOption | MultipleActionOption
 | 
						|
 | 
						|
type MonsterActionOptionSet {
 | 
						|
  option_set_type: String!
 | 
						|
  options: [MonsterActionOption!]!
 | 
						|
}
 | 
						|
 | 
						|
type MonsterActionChoice {
 | 
						|
  choose: Int!
 | 
						|
  type: String!
 | 
						|
  from: MonsterActionOptionSet!
 | 
						|
}
 | 
						|
 | 
						|
type Action {
 | 
						|
  action_name: String!
 | 
						|
  count: ActionCount!
 | 
						|
  type: String!
 | 
						|
}
 | 
						|
 | 
						|
type Attack {
 | 
						|
  damage: [Damage!]
 | 
						|
  dc: ActionDc!
 | 
						|
  name: String!
 | 
						|
}
 | 
						|
 | 
						|
type DamageOption {
 | 
						|
  option_type: String!
 | 
						|
  damage_dice: String!
 | 
						|
  damage_type: DamageType!
 | 
						|
  notes: String
 | 
						|
}
 | 
						|
 | 
						|
type DamageOptionSet {
 | 
						|
  option_set_type: String!
 | 
						|
  options: [DamageOption!]!
 | 
						|
}
 | 
						|
 | 
						|
type ActionDamage {
 | 
						|
  damage_dice: String
 | 
						|
  damage_type: DamageType
 | 
						|
  choose: Int
 | 
						|
  dc: ActionDc
 | 
						|
  type: String
 | 
						|
  from: DamageOptionSet
 | 
						|
}
 | 
						|
 | 
						|
type BreathOption {
 | 
						|
  option_type: String!
 | 
						|
  name: String!
 | 
						|
  dc: ActionDc!
 | 
						|
  damage: [Damage!]
 | 
						|
}
 | 
						|
 | 
						|
type BreathOptionSet {
 | 
						|
  option_set_type: String!
 | 
						|
  options: [BreathOption!]!
 | 
						|
}
 | 
						|
 | 
						|
type BreathChoice {
 | 
						|
  choose: Int!
 | 
						|
  type: String!
 | 
						|
  from: BreathOptionSet!
 | 
						|
}
 | 
						|
 | 
						|
type MonsterAction {
 | 
						|
  action_options: MonsterActionChoice
 | 
						|
  actions: [Action!]
 | 
						|
  name: String!
 | 
						|
  multiattack_type: String
 | 
						|
  attack_bonus: Int
 | 
						|
  attacks: [Attack!]
 | 
						|
  damage: [ActionDamage!]
 | 
						|
  desc: String!
 | 
						|
  dc: ActionDc
 | 
						|
  options: BreathChoice
 | 
						|
  usage: Usage
 | 
						|
}
 | 
						|
 | 
						|
enum MonsterArmorClassType {
 | 
						|
  dex
 | 
						|
  natural
 | 
						|
  armor
 | 
						|
  spell
 | 
						|
  condition
 | 
						|
}
 | 
						|
 | 
						|
type MonsterArmorClass {
 | 
						|
  type: MonsterArmorClassType!
 | 
						|
  desc: String
 | 
						|
  value: Int!
 | 
						|
  armor: [Armor]
 | 
						|
  spell: Spell
 | 
						|
  condition: Condition
 | 
						|
}
 | 
						|
 | 
						|
type Monster {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  alignment: String!
 | 
						|
  armor_class: [MonsterArmorClass]
 | 
						|
  desc: String
 | 
						|
  actions: [MonsterAction!]
 | 
						|
  challenge_rating: Float!
 | 
						|
  proficiency_bonus: Int!
 | 
						|
  charisma: Int!
 | 
						|
  condition_immunities: [Condition!]!
 | 
						|
  constitution: Int!
 | 
						|
  damage_immunities: [String!]!
 | 
						|
  damage_resistances: [String!]!
 | 
						|
  damage_vulnerabilities: [String!]!
 | 
						|
  dexterity: Int!
 | 
						|
  forms: [Monster!]
 | 
						|
  hit_dice: String!
 | 
						|
  hit_points: Int!
 | 
						|
  hit_points_roll: String!
 | 
						|
  intelligence: Int!
 | 
						|
  languages: String!
 | 
						|
  legendary_actions: [LegendaryAction!]
 | 
						|
  proficiencies: [MonsterProficiency!]!
 | 
						|
  reactions: [Reaction!]
 | 
						|
  senses: Senses!
 | 
						|
  size: Size!
 | 
						|
  special_abilities: [SpecialAbility!]
 | 
						|
  speed: MonsterSpeed!
 | 
						|
  strength: Int!
 | 
						|
  subtype: MonsterSubtype
 | 
						|
  type: MonsterType!
 | 
						|
  wisdom: Int!
 | 
						|
  xp: Int!
 | 
						|
  image: String
 | 
						|
}
 | 
						|
 | 
						|
type ProficiencyReferenceOption {
 | 
						|
  option_type: String!
 | 
						|
  item: Proficiency!
 | 
						|
}
 | 
						|
 | 
						|
type ProficiencyChoiceOption {
 | 
						|
  option_type: String!
 | 
						|
  choice: ProficiencyChoice!
 | 
						|
}
 | 
						|
 | 
						|
union ProficiencyOption = ProficiencyChoiceOption | ProficiencyReferenceOption
 | 
						|
 | 
						|
type ProficiencyOptionSet {
 | 
						|
  option_set_type: String!
 | 
						|
  options: [ProficiencyOption!]!
 | 
						|
}
 | 
						|
 | 
						|
type ProficiencyChoice {
 | 
						|
  desc: String
 | 
						|
  choose: Int!
 | 
						|
  type: String!
 | 
						|
  from: ProficiencyOptionSet!
 | 
						|
}
 | 
						|
 | 
						|
type BreathWeaponDc {
 | 
						|
  type: AbilityScore!
 | 
						|
  success: DcSuccess!
 | 
						|
}
 | 
						|
 | 
						|
type BreathWeaponUsage {
 | 
						|
  times: Int!
 | 
						|
  type: UsageType!
 | 
						|
}
 | 
						|
 | 
						|
type BreathWeaponDamage {
 | 
						|
  damage_at_character_level: [DamageAtLevel!]!
 | 
						|
  damage_type: DamageType!
 | 
						|
}
 | 
						|
 | 
						|
type BreathWeaponTrait {
 | 
						|
  name: String!
 | 
						|
  desc: String!
 | 
						|
  dc: BreathWeaponDc!
 | 
						|
  usage: BreathWeaponUsage!
 | 
						|
  damage: [BreathWeaponDamage!]!
 | 
						|
  area_of_effect: AreaOfEffect!
 | 
						|
}
 | 
						|
 | 
						|
type SpellOption {
 | 
						|
  option_type: String!
 | 
						|
  item: Spell!
 | 
						|
}
 | 
						|
 | 
						|
type SpellOptionSet {
 | 
						|
  option_set_type: String!
 | 
						|
  options: [SpellOption!]!
 | 
						|
}
 | 
						|
 | 
						|
type SpellChoice {
 | 
						|
  choose: Int!
 | 
						|
  type: String!
 | 
						|
  from: SpellOptionSet!
 | 
						|
}
 | 
						|
 | 
						|
type TraitOption {
 | 
						|
  option_type: String!
 | 
						|
  item: Trait!
 | 
						|
}
 | 
						|
 | 
						|
type TraitOptionSet {
 | 
						|
  option_set_type: String!
 | 
						|
  options: [TraitOption!]!
 | 
						|
}
 | 
						|
 | 
						|
type TraitChoice {
 | 
						|
  choose: Int!
 | 
						|
  type: String!
 | 
						|
  from: TraitOptionSet!
 | 
						|
}
 | 
						|
 | 
						|
type TraitSpecific {
 | 
						|
  breath_weapon: BreathWeaponTrait
 | 
						|
  damage_type: DamageType
 | 
						|
  spell_options: SpellChoice
 | 
						|
  subtrait_options: TraitChoice
 | 
						|
}
 | 
						|
 | 
						|
type Trait {
 | 
						|
  index: String!
 | 
						|
  desc: [String!]!
 | 
						|
  name: String!
 | 
						|
  proficiencies(name: String): [Proficiency!]!
 | 
						|
  parent: Trait
 | 
						|
  races(name: String): [Race]!
 | 
						|
  subraces(name: String): [Subrace!]!
 | 
						|
  proficiency_choices: ProficiencyChoice
 | 
						|
  language_options: LanguageChoice
 | 
						|
  trait_specific: TraitSpecific
 | 
						|
}
 | 
						|
 | 
						|
type AbilityBonus {
 | 
						|
  ability_score: AbilityScore!
 | 
						|
  bonus: Int!
 | 
						|
}
 | 
						|
 | 
						|
type AbilityBonusOption {
 | 
						|
  option_type: String!
 | 
						|
  bonus: Int!
 | 
						|
  ability_score: AbilityScore!
 | 
						|
}
 | 
						|
 | 
						|
type AbilityBonusOptionSet {
 | 
						|
  option_set_type: String!
 | 
						|
  options: [AbilityBonusOption!]!
 | 
						|
}
 | 
						|
 | 
						|
type AbilityBonusChoice {
 | 
						|
  choose: Int!
 | 
						|
  type: String!
 | 
						|
  from: AbilityBonusOptionSet!
 | 
						|
}
 | 
						|
 | 
						|
type LanguageOption {
 | 
						|
  option_type: String!
 | 
						|
  item: Language!
 | 
						|
}
 | 
						|
 | 
						|
type LanguageOptionSet {
 | 
						|
  option_set_type: String!
 | 
						|
  options: [LanguageOption!]!
 | 
						|
}
 | 
						|
 | 
						|
type LanguageChoice {
 | 
						|
  choose: Int!
 | 
						|
  type: String!
 | 
						|
  from: LanguageOptionSet!
 | 
						|
}
 | 
						|
 | 
						|
type Race implements ProficiencyRace {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  ability_bonuses: [AbilityBonus!]!
 | 
						|
  ability_bonus_options: AbilityBonusChoice
 | 
						|
  age: String!
 | 
						|
  alignment: String!
 | 
						|
  language_desc: String!
 | 
						|
  languages(name: String): [Language!]!
 | 
						|
  language_options: LanguageChoice
 | 
						|
  size: Size!
 | 
						|
  size_description: String!
 | 
						|
  speed: Int!
 | 
						|
  starting_proficiencies(name: String): [Proficiency!]!
 | 
						|
  starting_proficiency_options: ProficiencyChoice
 | 
						|
  subraces(name: String): [Subrace!]!
 | 
						|
  traits(name: String): [Trait!]!
 | 
						|
}
 | 
						|
 | 
						|
type Subrace implements ProficiencyRace {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  ability_bonuses: [AbilityBonus!]!
 | 
						|
  desc: String!
 | 
						|
  race: Race!
 | 
						|
  racial_traits(name: String): [Trait!]!
 | 
						|
  starting_proficiencies(name: String): [Proficiency!]!
 | 
						|
  language_options: LanguageChoice
 | 
						|
}
 | 
						|
 | 
						|
interface ProficiencyRace {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  ability_bonuses: [AbilityBonus!]!
 | 
						|
}
 | 
						|
 | 
						|
type BackgroundFeature {
 | 
						|
  name: String!
 | 
						|
  desc: [String!]!
 | 
						|
}
 | 
						|
 | 
						|
type EquipmentCategoryOptionSet {
 | 
						|
  option_set_type: String!
 | 
						|
  equipment_category: EquipmentCategory!
 | 
						|
}
 | 
						|
 | 
						|
type EquipmentCategoryChoice {
 | 
						|
  choose: Int!
 | 
						|
  type: String!
 | 
						|
  from: EquipmentCategoryOptionSet!
 | 
						|
}
 | 
						|
 | 
						|
type IdealOption {
 | 
						|
  option_type: String!
 | 
						|
  desc: String!
 | 
						|
  alignments: [Alignment!]!
 | 
						|
}
 | 
						|
 | 
						|
type IdealOptionSet {
 | 
						|
  option_set_type: String!
 | 
						|
  options: [IdealOption!]!
 | 
						|
}
 | 
						|
 | 
						|
type IdealChoice {
 | 
						|
  choose: Int!
 | 
						|
  type: String!
 | 
						|
  from: IdealOptionSet!
 | 
						|
}
 | 
						|
 | 
						|
type StringOption {
 | 
						|
  option_type: String!
 | 
						|
  string: String!
 | 
						|
}
 | 
						|
 | 
						|
type StringOptionSet {
 | 
						|
  option_set_type: String!
 | 
						|
  options: [StringOption!]!
 | 
						|
}
 | 
						|
 | 
						|
type StringChoice {
 | 
						|
  choose: Int!
 | 
						|
  type: String!
 | 
						|
  from: StringOptionSet!
 | 
						|
}
 | 
						|
 | 
						|
type Background {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  starting_proficiencies(name: String): [Proficiency!]!
 | 
						|
  starting_equipment(name: String): [Quantity!]!
 | 
						|
  feature: BackgroundFeature!
 | 
						|
  language_options: LanguageChoice!
 | 
						|
  starting_equipment_options: [EquipmentCategoryChoice!]!
 | 
						|
  ideals: IdealChoice!
 | 
						|
  personality_traits: StringChoice!
 | 
						|
  bonds: StringChoice!
 | 
						|
  flaws: StringChoice!
 | 
						|
}
 | 
						|
 | 
						|
type SpellcastingInfo {
 | 
						|
  name: String!
 | 
						|
  desc: [String!]!
 | 
						|
}
 | 
						|
 | 
						|
type ClassSpellcasting {
 | 
						|
  info: [SpellcastingInfo!]!
 | 
						|
  level: Int!
 | 
						|
  spellcasting_ability: AbilityScore!
 | 
						|
}
 | 
						|
 | 
						|
type PrerequisiteOption {
 | 
						|
  option_type: String!
 | 
						|
  ability_score: AbilityScore!
 | 
						|
  minimum_score: Int!
 | 
						|
}
 | 
						|
 | 
						|
type PrerequisiteOptionSet {
 | 
						|
  option_set_type: String!
 | 
						|
  options: [PrerequisiteOption!]!
 | 
						|
}
 | 
						|
 | 
						|
type PrerequisiteChoice {
 | 
						|
  choose: Int!
 | 
						|
  type: String!
 | 
						|
  from: PrerequisiteOptionSet!
 | 
						|
}
 | 
						|
 | 
						|
type Multiclassing {
 | 
						|
  prerequisites: [AbilityScorePrerequisite!]
 | 
						|
  prerequisite_options: PrerequisiteChoice
 | 
						|
  proficiencies: [Proficiency!]!
 | 
						|
  proficiency_choices: [ProficiencyChoice!]
 | 
						|
}
 | 
						|
 | 
						|
type ProficiencyPrerequisite {
 | 
						|
  type: String!
 | 
						|
  proficiency: Proficiency!
 | 
						|
}
 | 
						|
 | 
						|
type CountedReferenceOption {
 | 
						|
  option_type: String!
 | 
						|
  count: Int!
 | 
						|
  of: IEquipment!
 | 
						|
  prerequisites: [ProficiencyPrerequisite!]
 | 
						|
}
 | 
						|
 | 
						|
type EquipmentCategoryChoiceOption {
 | 
						|
  option_type: String!
 | 
						|
  choice: EquipmentCategoryChoice!
 | 
						|
}
 | 
						|
 | 
						|
union EquipmentMultipleItem = CountedReferenceOption | EquipmentCategoryChoiceOption
 | 
						|
 | 
						|
type EquipmentMultipleOption {
 | 
						|
  option_type: String!
 | 
						|
  items: [EquipmentMultipleItem!]!
 | 
						|
}
 | 
						|
 | 
						|
union EquipmentOption = CountedReferenceOption | EquipmentCategoryChoiceOption | EquipmentMultipleOption
 | 
						|
 | 
						|
type EquipmentOptionSet {
 | 
						|
  option_set_type: String!
 | 
						|
  options: [EquipmentOption!]!
 | 
						|
}
 | 
						|
 | 
						|
union StartingEquipmentOptionSet = EquipmentCategoryOptionSet | EquipmentOptionSet
 | 
						|
 | 
						|
type StartingEquipmentChoice {
 | 
						|
  choose: Int!
 | 
						|
  desc: String!
 | 
						|
  type: String!
 | 
						|
  from: StartingEquipmentOptionSet!
 | 
						|
}
 | 
						|
 | 
						|
type Class {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  hit_die: Int!
 | 
						|
  proficiencies(name: String): [Proficiency!]!
 | 
						|
  saving_throws: [AbilityScore!]!
 | 
						|
  spellcasting: ClassSpellcasting
 | 
						|
  spells(school: StringFilter, level: IntFilter, subclass: StringFilter, concentration: Boolean, ritual: Boolean, attack_type: SpellAttackTypeFilter, casting_time: StringFilter, area_of_effect: AreaOfEffectFilter, damage_type: StringFilter, dc_type: StringFilter, range: StringFilter, order: SpellOrder, skip: Int, limit: Int! = 100, name: String): [Spell!]
 | 
						|
  starting_equipment: [Quantity!]!
 | 
						|
  class_levels: [Level!]!
 | 
						|
  subclasses(name: String): [Subclass!]!
 | 
						|
  multi_classing: Multiclassing!
 | 
						|
  proficiency_choices: [ProficiencyChoice!]!
 | 
						|
  starting_equipment_options: [StartingEquipmentChoice!]!
 | 
						|
}
 | 
						|
 | 
						|
type FeaturePrerequisite {
 | 
						|
  type: String!
 | 
						|
  feature: Feature
 | 
						|
  level: Int
 | 
						|
  spell: Spell
 | 
						|
}
 | 
						|
 | 
						|
type FeatureOption {
 | 
						|
  option_type: String!
 | 
						|
  item: Feature!
 | 
						|
}
 | 
						|
 | 
						|
type FeatureOptionSet {
 | 
						|
  option_set_type: String!
 | 
						|
  options: [FeatureOption!]!
 | 
						|
}
 | 
						|
 | 
						|
type FeatureChoice {
 | 
						|
  choose: Int!
 | 
						|
  type: String!
 | 
						|
  from: FeatureOptionSet!
 | 
						|
}
 | 
						|
 | 
						|
type ExpertiseMultipleOption {
 | 
						|
  option_type: String!
 | 
						|
  items: [ProficiencyOption!]!
 | 
						|
}
 | 
						|
 | 
						|
union ExpertiseOption = ExpertiseMultipleOption | ProficiencyChoiceOption | ProficiencyReferenceOption
 | 
						|
 | 
						|
type ExpertiseOptionSet {
 | 
						|
  option_set_type: String!
 | 
						|
  options: [ExpertiseOption!]!
 | 
						|
}
 | 
						|
 | 
						|
type ExpertiseChoice {
 | 
						|
  choose: Int!
 | 
						|
  type: String!
 | 
						|
  from: ExpertiseOptionSet!
 | 
						|
}
 | 
						|
 | 
						|
type FeatureSpecific {
 | 
						|
  expertise_options: ExpertiseChoice
 | 
						|
  subfeature_options: FeatureChoice
 | 
						|
  invocations: [Feature!]
 | 
						|
}
 | 
						|
 | 
						|
type Feature {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  level: Int!
 | 
						|
  desc: [String!]!
 | 
						|
  parent: Feature
 | 
						|
  class: Class!
 | 
						|
  subclass: Subclass
 | 
						|
  prerequisites: [FeaturePrerequisite!]!
 | 
						|
  reference: String
 | 
						|
  feature_specific: FeatureSpecific
 | 
						|
}
 | 
						|
 | 
						|
type LevelSpellcasting {
 | 
						|
  cantrips_known: Int
 | 
						|
  spell_slots_level_1: Int
 | 
						|
  spell_slots_level_2: Int
 | 
						|
  spell_slots_level_3: Int
 | 
						|
  spell_slots_level_4: Int
 | 
						|
  spell_slots_level_5: Int
 | 
						|
  spell_slots_level_6: Int
 | 
						|
  spell_slots_level_7: Int
 | 
						|
  spell_slots_level_8: Int
 | 
						|
  spell_slots_level_9: Int
 | 
						|
  spells_known: Int
 | 
						|
}
 | 
						|
 | 
						|
type Dice {
 | 
						|
  dice_count: Int!
 | 
						|
  dice_value: Int!
 | 
						|
}
 | 
						|
 | 
						|
type BarbarianSpecific {
 | 
						|
  rage_count: Int!
 | 
						|
  rage_damage_bonus: Int!
 | 
						|
  brutal_critical_dice: Int!
 | 
						|
}
 | 
						|
 | 
						|
type BardSpecific {
 | 
						|
  bardic_inspiration_die: Int!
 | 
						|
  song_of_rest_die: Int!
 | 
						|
  magical_secrets_max_5: Int!
 | 
						|
  magical_secrets_max_7: Int!
 | 
						|
  magical_secrets_max_9: Int!
 | 
						|
}
 | 
						|
 | 
						|
type ClericSpecific {
 | 
						|
  channel_divinity_charges: Int!
 | 
						|
  destroy_undead_cr: Float!
 | 
						|
}
 | 
						|
 | 
						|
type DruidSpecific {
 | 
						|
  wild_shape_max_cr: Float!
 | 
						|
  wild_shape_swim: Boolean!
 | 
						|
  wild_shape_fly: Boolean!
 | 
						|
}
 | 
						|
 | 
						|
type FighterSpecific {
 | 
						|
  action_surges: Int!
 | 
						|
  indomitable_uses: Int!
 | 
						|
  extra_attacks: Int!
 | 
						|
}
 | 
						|
 | 
						|
type MonkSpecific {
 | 
						|
  martial_arts: Dice!
 | 
						|
  ki_points: Int!
 | 
						|
  unarmored_movement: Int!
 | 
						|
}
 | 
						|
 | 
						|
type PaladinSpecific {
 | 
						|
  aura_range: Int!
 | 
						|
}
 | 
						|
 | 
						|
type RangerSpecific {
 | 
						|
  favored_enemies: Int!
 | 
						|
  favored_terrain: Int!
 | 
						|
}
 | 
						|
 | 
						|
type RogueSpecific {
 | 
						|
  sneak_attack: Dice!
 | 
						|
}
 | 
						|
 | 
						|
type SpellSlotCreation {
 | 
						|
  sorcery_point_cost: Int!
 | 
						|
  spell_slot_level: Int!
 | 
						|
}
 | 
						|
 | 
						|
type SorcererSpecific {
 | 
						|
  sorcery_points: Int!
 | 
						|
  metamagic_known: Int!
 | 
						|
  creating_spell_slots: [SpellSlotCreation!]!
 | 
						|
}
 | 
						|
 | 
						|
type WarlockSpecific {
 | 
						|
  invocations_known: Int!
 | 
						|
  mystic_arcanum_level_6: Int!
 | 
						|
  mystic_arcanum_level_7: Int!
 | 
						|
  mystic_arcanum_level_8: Int!
 | 
						|
  mystic_arcanum_level_9: Int!
 | 
						|
}
 | 
						|
 | 
						|
type WizardSpecific {
 | 
						|
  arcane_recovery_levels: Int!
 | 
						|
}
 | 
						|
 | 
						|
union ClassSpecific = BarbarianSpecific | BardSpecific | ClericSpecific | DruidSpecific | FighterSpecific | MonkSpecific | PaladinSpecific | RangerSpecific | RogueSpecific | SorcererSpecific | WarlockSpecific | WizardSpecific
 | 
						|
 | 
						|
type DevotionSpecific {
 | 
						|
  aura_range: Int!
 | 
						|
}
 | 
						|
 | 
						|
type LoreSpecific {
 | 
						|
  additional_magical_secrets_max_lvl: Int!
 | 
						|
}
 | 
						|
 | 
						|
union SubclassSpecific = DevotionSpecific | LoreSpecific
 | 
						|
 | 
						|
type Level {
 | 
						|
  index: String!
 | 
						|
  level: Int!
 | 
						|
  ability_score_bonuses: Int
 | 
						|
  class: Class!
 | 
						|
  subclass: Subclass
 | 
						|
  features(order_direction: OrderByDirection, name: String): [Feature!]!
 | 
						|
  prof_bonus: Int
 | 
						|
  spellcasting: LevelSpellcasting
 | 
						|
  class_specific: ClassSpecific
 | 
						|
  subclass_specific: SubclassSpecific
 | 
						|
}
 | 
						|
 | 
						|
union SpellPrerequisite = Feature | Level
 | 
						|
 | 
						|
type SpellWithPrerequisite {
 | 
						|
  prerequisites: [SpellPrerequisite]!
 | 
						|
  spell: Spell!
 | 
						|
}
 | 
						|
 | 
						|
type Subclass {
 | 
						|
  index: String!
 | 
						|
  name: String!
 | 
						|
  desc: [String!]!
 | 
						|
  class: Class!
 | 
						|
  subclass_flavor: String!
 | 
						|
  subclass_levels: [Level]!
 | 
						|
  spells(school: StringFilter, class: StringFilter, level: IntFilter, concentration: Boolean, ritual: Boolean, attack_type: SpellAttackTypeFilter, casting_time: StringFilter, area_of_effect: AreaOfEffectFilter, damage_type: StringFilter, dc_type: StringFilter, range: StringFilter, order: SpellOrder, skip: Int, limit: Int! = 100, name: String): [SpellWithPrerequisite!]
 | 
						|
}
 | 
						|
 | 
						|
input AreaOfEffectFilter {
 | 
						|
  type: AreaOfEffectTypeFilter
 | 
						|
  size: IntFilter
 | 
						|
}
 | 
						|
 | 
						|
enum OrderByDirection {
 | 
						|
  ASCENDING
 | 
						|
  DESCENDING
 | 
						|
}
 | 
						|
 | 
						|
input SpellOrder {
 | 
						|
  by: SpellOrderBy!
 | 
						|
  direction: OrderByDirection! = ASCENDING
 | 
						|
  then_by: SpellOrder
 | 
						|
}
 | 
						|
 | 
						|
enum SpellOrderBy {
 | 
						|
  NAME
 | 
						|
  LEVEL
 | 
						|
  AREA_OF_EFFECT_SIZE
 | 
						|
  CONCENTRATION
 | 
						|
  RITUAL
 | 
						|
  SCHOOL
 | 
						|
}
 | 
						|
 | 
						|
input EquipmentOrder {
 | 
						|
  by: EquipmentOrderBy!
 | 
						|
  direction: OrderByDirection! = ASCENDING
 | 
						|
  then_by: EquipmentOrder
 | 
						|
}
 | 
						|
 | 
						|
enum EquipmentOrderBy {
 | 
						|
  NAME
 | 
						|
  WEIGHT
 | 
						|
  EQUIPMENT_CATEGORY
 | 
						|
}
 | 
						|
 | 
						|
input ClassOrder {
 | 
						|
  by: ClassOrderBy!
 | 
						|
  direction: OrderByDirection! = ASCENDING
 | 
						|
  then_by: ClassOrder
 | 
						|
}
 | 
						|
 | 
						|
enum ClassOrderBy {
 | 
						|
  NAME
 | 
						|
  HIT_DIE
 | 
						|
}
 | 
						|
 | 
						|
input MagicItemOrder {
 | 
						|
  by: MagicItemOrderBy!
 | 
						|
  direction: OrderByDirection! = ASCENDING
 | 
						|
  then_by: MagicItemOrder
 | 
						|
}
 | 
						|
 | 
						|
enum MagicItemOrderBy {
 | 
						|
  NAME
 | 
						|
  EQUIPMENT_CATEGORY
 | 
						|
}
 | 
						|
 | 
						|
input EquipmentCategoryOrder {
 | 
						|
  by: EquipmentCategoryOrderBy!
 | 
						|
  direction: OrderByDirection! = ASCENDING
 | 
						|
  then_by: EquipmentCategoryOrder
 | 
						|
}
 | 
						|
 | 
						|
enum EquipmentCategoryOrderBy {
 | 
						|
  NAME
 | 
						|
  WEIGHT
 | 
						|
}
 | 
						|
 | 
						|
input FeatureOrder {
 | 
						|
  by: FeatureOrderBy!
 | 
						|
  direction: OrderByDirection! = ASCENDING
 | 
						|
  then_by: FeatureOrder
 | 
						|
}
 | 
						|
 | 
						|
enum FeatureOrderBy {
 | 
						|
  NAME
 | 
						|
  LEVEL
 | 
						|
  CLASS
 | 
						|
  SUBCLASS
 | 
						|
}
 | 
						|
 | 
						|
input LanguageOrder {
 | 
						|
  by: LanguageOrderBy!
 | 
						|
  direction: OrderByDirection! = ASCENDING
 | 
						|
  then_by: LanguageOrder
 | 
						|
}
 | 
						|
 | 
						|
enum LanguageOrderBy {
 | 
						|
  NAME
 | 
						|
  TYPE
 | 
						|
  SCRIPT
 | 
						|
}
 | 
						|
 | 
						|
input LevelOrder {
 | 
						|
  by: LevelOrderBy!
 | 
						|
  direction: OrderByDirection! = ASCENDING
 | 
						|
  then_by: LevelOrder
 | 
						|
}
 | 
						|
 | 
						|
enum LevelOrderBy {
 | 
						|
  LEVEL
 | 
						|
  CLASS
 | 
						|
  SUBCLASS
 | 
						|
  PROF_BONUS
 | 
						|
  ABILITY_SCORE_BONUSES
 | 
						|
}
 | 
						|
 | 
						|
input MonsterOrder {
 | 
						|
  by: MonsterOrderBy!
 | 
						|
  direction: OrderByDirection! = ASCENDING
 | 
						|
  then_by: MonsterOrder
 | 
						|
}
 | 
						|
 | 
						|
enum MonsterOrderBy {
 | 
						|
  NAME
 | 
						|
  SIZE
 | 
						|
  TYPE
 | 
						|
  SUBTYPE
 | 
						|
  ARMOR_CLASS
 | 
						|
  CHALLENGE_RATING
 | 
						|
  CHARISMA
 | 
						|
  CONSTITUTION
 | 
						|
  STRENGTH
 | 
						|
  WISDOM
 | 
						|
  INTELLIGENCE
 | 
						|
  DEXTERITY
 | 
						|
  XP
 | 
						|
}
 | 
						|
 | 
						|
input ProficiencyOrder {
 | 
						|
  by: ProficiencyOrderBy!
 | 
						|
  direction: OrderByDirection! = ASCENDING
 | 
						|
  then_by: ProficiencyOrder
 | 
						|
}
 | 
						|
 | 
						|
enum ProficiencyOrderBy {
 | 
						|
  NAME
 | 
						|
  TYPE
 | 
						|
}
 | 
						|
 | 
						|
input RaceOrder {
 | 
						|
  by: RaceOrderBy!
 | 
						|
  direction: OrderByDirection! = ASCENDING
 | 
						|
  then_by: RaceOrder
 | 
						|
}
 | 
						|
 | 
						|
enum RaceOrderBy {
 | 
						|
  NAME
 | 
						|
  SIZE
 | 
						|
  SPEED
 | 
						|
}
 | 
						|
 | 
						|
input SkillOrder {
 | 
						|
  by: SkillOrderBy!
 | 
						|
  direction: OrderByDirection! = ASCENDING
 | 
						|
  then_by: SkillOrder
 | 
						|
}
 | 
						|
 | 
						|
enum SkillOrderBy {
 | 
						|
  NAME
 | 
						|
  ABILITY_SCORE
 | 
						|
}
 | 
						|
 | 
						|
type Query {
 | 
						|
  abilityScore(index: String): AbilityScore
 | 
						|
  abilityScores(order_direction: OrderByDirection, name: String, full_name: String): [AbilityScore!]
 | 
						|
  alignment(index: String): Alignment
 | 
						|
  alignments(order_direction: OrderByDirection, name: String): [Alignment!]
 | 
						|
  background(index: String): Background
 | 
						|
  backgrounds(order_direction: OrderByDirection, name: String): [Background!]!
 | 
						|
  class(index: String): Class
 | 
						|
  classes(hit_die: IntFilter, order: ClassOrder, name: String): [Class!]!
 | 
						|
  condition(index: String): Condition
 | 
						|
  conditions(order_direction: OrderByDirection, name: String): [Condition!]
 | 
						|
  damageType(index: String): DamageType
 | 
						|
  damageTypes(order_direction: OrderByDirection, name: String): [DamageType!]
 | 
						|
  equipment(index: String): IEquipment
 | 
						|
  equipments(equipment_category: StringFilter, order: EquipmentOrder, skip: Int, limit: Int! = 100, name: String): [IEquipment!]
 | 
						|
  equipmentCategory(index: String): EquipmentCategory
 | 
						|
  equipmentCategories(order_direction: OrderByDirection, name: String): [EquipmentCategory!]
 | 
						|
  feat(index: String): Feat
 | 
						|
  feats(order_direction: OrderByDirection, name: String): [Feat!]
 | 
						|
  feature(index: String): Feature
 | 
						|
  features(level: IntFilter, class: StringFilter, subclass: StringFilter, order: FeatureOrder, skip: Int, limit: Int! = 100, name: String): [Feature!]
 | 
						|
  language(index: String): Language
 | 
						|
  languages(type: LanguageType, script: LanguageScriptFilter, order: LanguageOrder, name: String): [Language!]
 | 
						|
  level(index: String): Level
 | 
						|
  levels(class: StringFilter, subclass: StringFilter, level: IntFilter, prof_bonus: IntFilter, ability_score_bonuses: IntFilter, order: LevelOrder, skip: Int, limit: Int! = 100): [Level!]
 | 
						|
  magicItem(index: String): MagicItem
 | 
						|
  magicItems(equipment_category: StringFilter, order: MagicItemOrder, skip: Int, limit: Int! = 100, name: String): [MagicItem!]
 | 
						|
  magicSchool(index: String): MagicSchool
 | 
						|
  magicSchools(order_direction: OrderByDirection, name: String): [MagicSchool!]
 | 
						|
  monster(index: String): Monster
 | 
						|
  monsters(size: SizeFilter, type: MonsterTypeFilter, subtype: MonsterSubtypeFilter, damage_immunity: StringFilter, damage_resistance: StringFilter, damage_vulnerability: StringFilter, armor_class: IntFilter, challenge_rating: FloatFilter, charisma: IntFilter, constitution: IntFilter, dexterity: IntFilter, intelligence: IntFilter, strength: IntFilter, wisdom: IntFilter, xp: IntFilter, order: MonsterOrder, skip: Int, limit: Int! = 100, name: String): [Monster!]
 | 
						|
  proficiency(index: String): Proficiency
 | 
						|
  proficiencies(class: StringFilter, race: StringFilter, type: ProficiencyTypeFilter, order: ProficiencyOrder, skip: Int, limit: Int! = 100, name: String): [Proficiency!]
 | 
						|
  race(index: String): Race
 | 
						|
  races(ability_bonus: StringFilter, size: SizeFilter, language: StringFilter, speed: IntFilter, order: RaceOrder, name: String): [Race!]!
 | 
						|
  rule(index: String): Rule
 | 
						|
  rules(order_direction: OrderByDirection, name: String): [Rule]
 | 
						|
  ruleSection(index: String): RuleSection
 | 
						|
  ruleSections(order_direction: OrderByDirection, name: String): [RuleSection!]
 | 
						|
  skill(index: String): Skill
 | 
						|
  skills(ability_score: StringFilter, order: SkillOrder, name: String): [Skill!]
 | 
						|
  spell(index: String): Spell
 | 
						|
  spells(school: StringFilter, level: IntFilter, class: StringFilter, subclass: StringFilter, concentration: Boolean, ritual: Boolean, attack_type: SpellAttackTypeFilter, casting_time: StringFilter, area_of_effect: AreaOfEffectFilter, damage_type: StringFilter, dc_type: StringFilter, range: StringFilter, order: SpellOrder, skip: Int, limit: Int! = 100, name: String): [Spell!]
 | 
						|
  subclass(index: String): Subclass
 | 
						|
  subclasses(order_direction: OrderByDirection, name: String): [Subclass!]!
 | 
						|
  subrace(index: String): Subrace
 | 
						|
  subraces(order_direction: OrderByDirection, name: String): [Subrace!]!
 | 
						|
  trait(index: String): Trait
 | 
						|
  traits(order_direction: OrderByDirection, name: String): [Trait!]
 | 
						|
  weaponProperty(index: String): WeaponProperty
 | 
						|
  weaponProperties(order_direction: OrderByDirection, name: String): [WeaponProperty]
 | 
						|
}
 |