Documentation
¶
Overview ¶
models defines data types available in the dnd package
Index ¶
- type APIReference
- type AbilityBonus
- type AbilityScore
- type Action
- type ActionDamage
- type AdventuringGear
- type Armor
- type ArmorClass
- type Choice
- type Class
- type ClassAPIResource
- type Conditions
- type Cost
- type DC
- type DamageType
- type EquipmentPack
- type Features
- type Getter
- type Language
- type LegendaryAction
- type MagicItem
- type MagicSchool
- type Monster
- type MonsterProficiency
- type Options
- type PackContents
- type Proficiency
- type Race
- type Range
- type Reaction
- type Resource
- type Rules
- type RulesSubsection
- type Sense
- type Sheriff
- type Skill
- type SpecialAbility
- type Speed
- type Spells
- type StartingEquipment
- type StartingEquipmentItem
- type SubRace
- type Subclass
- type Traits
- type Weapon
- type WeaponProperties
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIReference ¶
type APIReference struct {
// Index is the resource index for shorthand searching.
Index string `json:"index"`
// Name is the name of the referenced resource.
Name string `json:"name"`
// URL of the referenced resource.
URL string `json:"url"`
}
APIReference is the basic structure that defines where this resource resides and what it is called
func (*APIReference) GetIndex ¶ added in v0.1.0
func (a *APIReference) GetIndex() string
GetIndex returns the index of the APIReference
func (*APIReference) GetName ¶ added in v0.1.0
func (a *APIReference) GetName() string
GetName returns the name of the APIReference
func (*APIReference) GetURL ¶ added in v0.1.0
func (a *APIReference) GetURL() string
GetIndex returns the url of the APIReference
func (*APIReference) JSON ¶ added in v0.3.0
func (a *APIReference) JSON(data []byte) error
type AbilityBonus ¶
type AbilityBonus struct {
// Bonus amount for this ability score.
Bonus int `json:"bonus"`
// AbilityScore for this bonus.
AbilityScore APIReference `json:"ability_score"`
}
AbilityBonus is the bonus modifier for an ability and its associated references
func (*AbilityBonus) JSON ¶ added in v0.3.0
func (a *AbilityBonus) JSON(data []byte) error
type AbilityScore ¶ added in v0.0.3
type AbilityScore struct {
// Index is the ability score index for
// shorthand searching.
Index string `json:"index"`
// Name is the abbreviated name for
// this ability score.
Name string `json:"name"`
// FullName for this ability score.
FullName string `json:"full_name"`
// Desc is A brief description of this
// ability score and its uses.
Desc []string `json:"desc"`
// Skills is a list of skills that
// use this ability score.
Skills []APIReference `json:"skills"`
// The URL of the referenced resource
URL string `json:"url"`
}
AbilityScore is a number that defines the magnitude of each creature’s abilities. An ability score is not just a measure of innate capabilities, but also encompasses a creature’s training and competence in activities related to that ability.
func (*AbilityScore) JSON ¶ added in v0.3.0
func (a *AbilityScore) JSON(data []byte) error
type Action ¶ added in v0.0.2
type Action struct {
AttackBonus int `json:"attack_bonus"`
Damage []*ActionDamage `json:"damage"`
Options *Options `json:"options,omitempty"`
Desc string `json:"desc"`
Name string `json:"name"`
}
type ActionDamage ¶ added in v0.0.2
type ActionDamage struct {
DamageDice string `json:"damage_dice"`
DamageType *APIReference `json:"damage_type"`
}
type AdventuringGear ¶ added in v0.0.3
type AdventuringGear struct {
// Index is the damage type index for shorthand searching.
Index string `json:"index"`
// Name is the name for this equipment resource
Name string `json:"name"`
// EquipmentCategory is the category of equipment this falls into
EquipmentCategory APIReference `json:"equipment_category"`
// GearCategory is the category of gear this falls into
GearCategory APIReference `json:"gear_category"`
// Cost is the financial worth of this equipment
Cost Cost `json:"cost"`
// Weight is the numerical weight of this item
Weight int `json:"weight"`
// URL is the URL reference of this resource
URL string `json:"url"`
}
AdventuringGear is the structure for adventuring gear obtained in the dungeons you explore.
func (*AdventuringGear) GetIndex ¶ added in v0.1.0
func (a *AdventuringGear) GetIndex() string
GetName returns the index of the gear
func (*AdventuringGear) GetName ¶ added in v0.1.0
func (a *AdventuringGear) GetName() string
GetName returns the name of the gear
func (*AdventuringGear) GetURL ¶ added in v0.1.0
func (a *AdventuringGear) GetURL() string
GetURL returns the URL of the gear
func (*AdventuringGear) JSON ¶ added in v0.3.0
func (a *AdventuringGear) JSON(data []byte) error
type Armor ¶ added in v0.0.3
type Armor struct {
// Index is the damage type index for shorthand searching.
Index string `json:"index"`
// Name is the name for this equipment resource
Name string `json:"name"`
// EquipmentCategory is the category of equipment this falls into
EquipmentCategory APIReference `json:"equipment_category"`
// ArmorCategory is the category of armor this falls into
ArmorCategory string `json:"armor_category"`
// ArmorCategory is the details on how to calculate armor class.
ArmorClass ArmorClass `json:"armor_class"`
// StrengthMinumum is Minimum STR required to use this armor.
StrengthMinimum int `json:"str_minimum"`
// StealthDisadvantage is Whether the armor gives disadvantage for Stealth.
StealthDisadvantage bool `json:"stealth_disadvantage"`
// Weight is the numerical weight of this item
Weight int `json:"weight"`
// Cost is the financial worth of this equipment
Cost Cost `json:"cost"`
// URL is the URL reference of this resource
URL string `json:"url"`
}
Armor is the structure for armor obtained in the dungeons you explore.
type ArmorClass ¶ added in v0.0.3
type ArmorClass struct {
Base *int `json:"base"`
DexBonus *bool `json:"dex_bonus"`
MaxBonus *bool `json:"max_bonus"`
}
ArmorClass is the details on how to calculate armor class.
func (*ArmorClass) JSON ¶ added in v0.3.0
func (a *ArmorClass) JSON(data []byte) error
type Choice ¶
type Choice struct {
// Choose is the number of items to pick from the list.
Choose int `json:"choose"`
// Type of the resources to choose from.
Type string `json:"type"`
// From is a list of resources to choose from.
From []APIReference `json:"from"`
}
Choice provides a set of options related to a resource
type Class ¶ added in v0.0.3
type Class struct {
// Index is the class index for shorthand searching.
Index string `json:"index"`
// Name is the name for this class resource.
Name string `json:"name"`
// HitDie is the hit die of the class. (ex: 12 == 1d12).
HitDie int `json:"hit_die"`
// ProficiencyChoices are starting proficiencies where
// the player must choose a certain number from the given list of proficiencies.
ProficiencyChoices []Choice `json:"proficiency_choices"`
// Proficiencies are starting proficiencies all new characters of this class start with.
Proficiencies []APIReference `json:"proficiencies"`
// SavingThrows that the class is proficient in.
SavingThrows []APIReference `json:"saving_throws"`
// StartingEquipment is an object with the possible
// choices of equipment for new characters of this class.
StartingEquipment string `json:"starting_equipment"`
// ClassLevels are all possible levels that this
// class can obtain (excluding subclass-specific features)
ClassLevels string `json:"class_levels"`
// Spells is the URL of the class's spell Resource List.
// Returns a list of all spells that can be learned or cast by the class.
Spells []string `json:"spells"`
// The URL reference of this resource
URL string `json:"url"`
}
Class is a fundamental part of the identity and nature of characters in the Dungeons & Dragons role-playing game. A character's capabilities, strengths, and weaknesses are largely defined by its class. A character's class affects a character's available skills and abilities.
type ClassAPIResource ¶
type ClassAPIResource struct {
// Index is the resource index for shorthand searching.
Index string `json:"index"`
// Class of whom the resource belongs to.
Class string `json:"class"`
// URL of the referenced resource.
URL string `json:"url"`
}
ClassAPIResource is very similar to APIReference but returns a class name rather than just a name
func (*ClassAPIResource) JSON ¶ added in v0.3.0
func (c *ClassAPIResource) JSON(data []byte) error
type Conditions ¶
type Conditions struct {
// Index is the condition index for shorthand searching.
Index string `json:"index"`
// Name is the name for this condition resource.
Name string `json:"name"`
// Desc is a list of brief descriptions
// of the condition.
Desc []string `json:"desc"`
// URL of the referenced resource.
URL string `json:"url"`
}
Conditions alter a creature’s capabilities in a variety of ways and can arise as a result of a spell, a class feature, a monster’s attack, or other effect. Most conditions, such as blinded, are impairments, but a few, such as invisible, can be advantageous.
func (*Conditions) JSON ¶ added in v0.3.0
func (c *Conditions) JSON(data []byte) error
type Cost ¶
type Cost struct {
// Quantity is the numerical amount of coins.
Quantity int `json:"quantity"`
// Unit of coinage
Unit string `json:"unit"`
}
Cost is the basic structure of defining an item's financial worth in D&D
type DC ¶ added in v0.0.2
type DC struct {
DcValue int `json:"dc_value"`
SuccessType string `json:"success_type"`
DcType *APIReference `json:"dc_type"`
}
type DamageType ¶ added in v0.0.2
type DamageType struct {
Index string `json:"index"`
Name string `json:"name"`
URL string `json:"url"`
}
DamageType defines the unique identifiers for this kind of damage
func (*DamageType) JSON ¶ added in v0.3.0
func (d *DamageType) JSON(data []byte) error
type EquipmentPack ¶ added in v0.0.3
type EquipmentPack struct {
// Index is the damage type index for shorthand searching.
Index string `json:"index"`
// Name is the name for this equipment resource
Name string `json:"name"`
// EquipmentCategory is the category of equipment this falls into
EquipmentCategory APIReference `json:"equipment_category"`
// GearCategory is the category of gear this falls into
GearCategory APIReference `json:"gear_category"`
// Contents is the list of items inside the pack
Contents []PackContents `json:"contents"`
// Cost is the financial worth of this equipment
Cost Cost `json:"cost"`
// URL is the URL reference of this resource
URL string `json:"url"`
}
EquipmentPack is the structure for an equipment pack obtained in the dungeons you explore.
func (*EquipmentPack) GetIndex ¶ added in v0.1.0
func (e *EquipmentPack) GetIndex() string
GetName returns the index of the equipment
func (*EquipmentPack) GetName ¶ added in v0.1.0
func (e *EquipmentPack) GetName() string
GetName returns the name of the equipment
func (*EquipmentPack) GetURL ¶ added in v0.1.0
func (e *EquipmentPack) GetURL() string
GetURL returns the URL of the equipment
func (*EquipmentPack) JSON ¶ added in v0.3.0
func (e *EquipmentPack) JSON(data []byte) error
type Features ¶ added in v0.0.3
type Features struct {
// Index is the feature index for shorthand searching.
Index string `json:"index"`
// Name is the name for this feature resource.
Name string `json:"name"`
// Level is the level this feature
// is gained
Level int `json:"level"`
// Class is the class that gains this feature.
Class APIReference `json:"class"`
// SubClass is the subclass that gains feature resource.
SubClass APIReference `json:"sub_class"`
// Desc is the description of the subclass resource.
Desc string `json:"description"`
// The URL reference of this resource
URL string `json:"url"`
}
Features are the features of a class
type Language ¶ added in v0.0.3
type Language struct {
// Index is the language index for shorthand searching.
Index string `json:"index"`
// Name is the name of this language resource.
Name string `json:"name"`
// Type is whether the language is standard or exotic.
Type string `json:"type"`
// TypicalSpeakers are races that tend to speak this language.
TypicalSpeakers []string `json:"typical_speakers"`
// Script is the script used for writing in this language.
Script string `json:"script"`
// URL of the referenced resource.
URL string `json:"url"`
}
Language By virtue of your race, your character can speak, read, and write certain languages.
type LegendaryAction ¶ added in v0.0.2
type MagicItem ¶ added in v0.0.3
type MagicItem struct {
// Index is the damage type index for shorthand searching.
Index string `json:"index"`
// Name is the name for this equipment resource
Name string `json:"name"`
// EquipmentCategory is the category of equipment this falls into
EquipmentCategory APIReference `json:"equipment_category"`
// Desc is a list of descriptors for this item
Desc []string `json:"desc"`
// URL is the URL reference of this resource
URL string `json:"url"`
}
MagicItem is the structure for a magic item obtained in the dungeons you explore.
type MagicSchool ¶ added in v0.0.3
type MagicSchool struct {
// Index is the magic school
// index for shorthand searching.
Index string `json:"index"`
// Name is name for this magic
// school resource.
Name string `json:"name"`
// URL of the referenced resource
URL string `json:"url"`
}
MagicSchool defines the unique identifiers for this school of magic
func (*MagicSchool) JSON ¶ added in v0.3.0
func (m *MagicSchool) JSON(data []byte) error
type Monster ¶
type Monster struct {
// Index is the monster index for shorthand searching.
Index string `json:"index"`
// Name is the name of the monster.
Name string `json:"name"`
// Size is the size of the monster ranging from Tiny to Gargantuan.
Size string `json:"size"`
// Type is the type of monster.
Type string `json:"type"`
// SubType is the subtype of monster.
SubType interface{} `json:"subtype"`
// Alignment is а creature's general moral and personal attitudes.
Alignment string `json:"alignment"`
// ArmorClass is difficulty for a player to successfully deal damage to a monster.
ArmorClass int `json:"armor_class"`
// HitPoints is hit points of a monster determine how much
// damage it is able to take before it can be defeated
HitPoints int `json:"hit_points"`
// HitDice of a monster can be used to make a version of the same monster whose hit points are determined by the roll of the die.
// For _example: A monster with 2d6 would have its hit points determine by rolling a 6 sided die twice.
HitDice string `json:"hit_dice"`
// Forms applicable to Lycanthropes that have multiple forms. This links to the other related monster entries that are the same.
Forms []*APIReference `json:"forms,omitempty"`
// Speed for a monster determines how fast it can move per turn.
Speed Speed `json:"speed"`
// Strength of a monster. How hard a monster can hit a player.
Strength int `json:"strength"`
// Dexterity of a monster. The monster's ability for swift movement or stealth
Dexterity int `json:"dexterity"`
// Constitution of a monster. How sturdy a monster is.
Constitution int `json:"constitution"`
// Intelligence of a monster. The monster's ability to outsmart a player
Intelligence int `json:"intelligence"`
// Wisdom of a monster. A monster's ability to ascertain the player's plan.
Wisdom int `json:"wisdom"`
// Charisma of a monster. A monster's ability to charm or intimidate a player
Charisma int `json:"charisma"`
// Proficiencies is a list of proficiencies of a monster.
Proficiencies []*MonsterProficiency `json:"proficiencies"`
// DamageVulnerabilities is a list of damage types that a monster will take double damage from.
DamageVulnerabilities []interface{} `json:"damage_vulnerabilities"`
// DamageResistances is a list of damage types that a monster will take half damage from.
DamageResistances []interface{} `json:"damage_resistances"`
// DamageImmunities is a list of damage types that a monster will take zero damage from.
DamageImmunities []interface{} `json:"damage_immunities"`
// ConditionImmunities is a list of conditions that a monster is immune to.
ConditionImmunities []*APIReference `json:"condition_immunities"`
// Senses Monsters typically have a passive perception but they might also have other senses to detect players
Senses *Sense `json:"senses"`
// Languages are languages a monster is able to speak
Languages string `json:"languages"`
// ChallengeRating is monster's challenge rating is a guideline number that says when a monster
// becomes an appropriate challenge against the party's average level.
ChallengeRating int `json:"challenge_rating"`
// XP is the experience points from defeating this monster
XP int `json:"xp"`
// SpecialAbilities is a list of the monster's special abilities.
SpecialAbilities []*SpecialAbility `json:"special_abilities"`
// Actions is a list of actions that is available to the monster to take during combat.
Actions []interface{} `json:"actions"`
// LegendaryActions is a list of actions that can be used outside of the monster's initiative.
LegendaryActions []interface{} `json:"legendary_actions,omitempty"`
// URL of the referenced resource
URL string `json:"url"`
}
type MonsterProficiency ¶ added in v0.0.3
type MonsterProficiency struct {
Proficiency *APIReference `json:"proficiency"`
Value int `json:"value,omitempty"`
}
type Options ¶ added in v0.0.2
type Options struct {
Choose int `json:"choose,omitempty"`
From [][]interface{} `json:"from,omitempty"`
}
type PackContents ¶ added in v0.0.3
type PackContents struct {
// Item is the of item index details
Item APIReference `json:"item"`
// Quantity is the numerical amount of
// this item present
Quantity int `json:"quantity"`
}
func (*PackContents) JSON ¶ added in v0.3.0
func (p *PackContents) JSON(data []byte) error
type Proficiency ¶ added in v0.0.2
type Proficiency struct {
// Index is the proficiency index for shorthand searching.
Index string `json:"index"`
// Type is the general category of the proficiency.
Type string `json:"type"`
// Name is the name of this proficiency resource
Name string `json:"name"`
// Classes that start with this proficiency.
Classes []APIReference `json:"classes"`
// Races that start with this proficiency.
Races []APIReference `json:"races"`
// URL of the referenced resource.
URL string `json:"url"`
// References is a list of references
References []APIReference `json:"references"`
}
Proficiency By virtue of your race, your character can speak, read, and write certain Proficiencies.
func (*Proficiency) JSON ¶ added in v0.3.0
func (p *Proficiency) JSON(data []byte) error
type Race ¶ added in v0.0.3
type Race struct {
// Index is the race index for shorthand searching.
Index string `json:"index"`
// Name is the name for this race resource.
Name string `json:"name"`
// Speed is the base move speed for this race (in feet per round).
Speed int `json:"speed"`
// AbilityBonuses are racial bonuses to ability scores.
AbilityBonuses []AbilityBonus `json:"ability_bonuses"`
// Alignment is a flavor description of likely alignments this race takes.
Alignment string `json:"alignment"`
// Age is the flavor description of possible ages for this race.
Age string `json:"age"`
// Size is the size class of this race.
Size string `json:"size"`
// SizeDescription is the flavor description
// of height and weight for this race.
SizeDescription string `json:"size_description"`
// StartingProficiencies for all new characters of this race.
StartingProficiencies []*APIReference `json:"starting_proficiencies"`
// StartingProficiencyOptions are the starting
// proficiencies for all new characters of this race
StartingProficiencyOptions interface{} `json:"starting_proficiency_options,omitempty"`
// Languages are starting languages for all new characters of this race.
Languages []*APIReference `json:"languages"`
// LanguageDesc is a flavor description of the languages this race knows.
LanguageDesc string `json:"language_desc"`
// LanguageOptions is the list of languages available to this race
LanguageOptions interface{} `json:"language_options,omitempty"`
// Traits are racial traits that provide benefits to its members.
Traits []APIReference `json:"traits"`
// SubRaces is list of related subraces
SubRaces []APIReference `json:"subraces"`
// The URL of the referenced resource
URL string `json:"url"`
}
Race Each race grants your character ability and skill bonuses as well as racial traits.
type Resource ¶
type Resource struct {
// Count is the total
// number of results returned
Count int `json:"count"`
// Results is the list of API references
// return by the request
Results []APIReference `json:"results"`
}
Results is used for any API endpoint without a resource index or name. It return a list of available resources for that API
func (*Resource) ResultsNames ¶ added in v0.1.1
Names returns the list of names from the resource results
type Rules ¶
type Rules struct {
Name string `json:"name"`
Index string `json:"index"`
Desc string `json:"desc"`
Subsections []RulesSubsection `json:"subsections"`
URL string `json:"url"`
}
type RulesSubsection ¶
type RulesSubsection struct {
Name string `json:"name"`
Index string `json:"index"`
URL string `json:"url"`
Desc string `json:"desc,omitempty"`
}
func (*RulesSubsection) JSON ¶ added in v0.3.0
func (r *RulesSubsection) JSON(data []byte) error
type Skill ¶ added in v0.0.3
type Skill struct {
// Index is the skill index for shorthand searching.
Index string `json:"index"`
// Name is the abbreviated name for this skill.
Name string `json:"name"`
// Desc is a brief description of this skill
// and its uses.
Desc []string `json:"desc"`
// AbilityScore is the ability score associated
// with this skill.
AbilityScore AbilityScore `json:"ability_score"`
// URL is the URL of the referenced resource
URL string `json:"url"`
}
Skill represents a skill that a character possesses
type SpecialAbility ¶ added in v0.0.2
type Spells ¶
type Spells struct {
// Index of the spell for shorthand searching
Index string `json:"index"`
// Name is the name of the spell
Name string `json:"name"`
// Desc is a description of the spell
Desc []string `json:"desc"`
// HigherLevel is a description for casting
// the spell at a higher level
HigherLevel []string `json:"higher_level,omitempty"`
// Range of the spell
Range string `json:"range"`
// Components are the required components for a spell, shorthanded
// to V,S, and M which stand for verbal, somatic, and material
Components []string `json:"components"`
// Material component for the spell to be cast
Material string `json:"material"`
// Ritual determines if a spell can be cast in a 10-min(in-game) ritual
Ritual bool `json:"ritual"`
// Duration determines how long the spell effect lasts
Duration string `json:"duration"`
// Concentration determines if a spell needs concentration to persist
Concentration bool `json:"concentration"`
// CastingTime is How long it takes for the spell to activate
CastingTime string `json:"casting_time"`
// Level of the spell
Level int `json:"level"`
// AttackType is the attack type of the spell
AttackType string `json:"attack_type"`
// Damage is the damage type and the damage dice
// for the spell at each spell slot level
Damage struct {
DamageType DamageType `json:"damage_type"`
DamageAtSlotLevel map[string]string `json:"damage_at_slot_level"`
} `json:"damage"`
// School is the magic school this spell
// belongs to
School struct {
Index string `json:"index"`
Name string `json:"name"`
URL string `json:"url"`
} `json:"school"`
// Classes that are able to learn this spell
Classes []struct {
Index string `json:"index"`
Name string `json:"name"`
URL string `json:"url"`
} `json:"classes"`
// Subclasses that have access to this spell.
Subclasses []struct {
Index string `json:"index"`
Name string `json:"name"`
URL string `json:"url"`
} `json:"subclasses"`
// URL is the URL reference of this resource
URL string `json:"url"`
}
Spells are the spells of D&D
func (*Spells) GetIndex ¶ added in v0.1.0
GetIndex returns the index of the spell
Example ¶
Get the index address of a spell
s := Spells{Index: "_example-index"}
s.GetIndex()
func (*Spells) GetName ¶ added in v0.1.0
GetName returns the name of the spell
Example ¶
Get the name of a spell
s := Spells{Name: "_example spell name"}
s.GetName()
type StartingEquipment ¶ added in v0.0.3
type StartingEquipment struct {
// Index is the class index for shorthand searching
Index string `json:"index"`
// Class is the class that gains this equipment.
Class APIReference `json:"class"`
// StartingEquipment is the starting equipment a character automatically gets.
StartingEquipment []StartingEquipmentItem `json:"starting_equipment"`
// StartingEquipmentOptions is the Starting equipment where the player must
// choose a certain number from the given list of equipment.
StartingEquipmentOptions []Choice `json:"starting_equipment_options"`
// The URL reference of this resource
URL string `json:"url"`
}
StartingEquipment are the starting equipment of a class
func (*StartingEquipment) JSON ¶ added in v0.3.0
func (s *StartingEquipment) JSON(data []byte) error
type StartingEquipmentItem ¶ added in v0.0.3
type StartingEquipmentItem struct {
Equipment APIReference `json:"equipment"`
Quantity int `json:"quantity"`
}
StartingEquipmentItem is a single item in a list of starting equipment
func (*StartingEquipmentItem) JSON ¶ added in v0.3.0
func (c *StartingEquipmentItem) JSON(data []byte) error
type SubRace ¶ added in v0.0.3
type SubRace struct {
// Index is the subrace index for shorthand searching.
Index string `json:"index"`
// Name is the name for this subrace resource.
Name string `json:"name"`
// Race is the parent race for this subrace.
Race interface{} `json:"race"`
// Desc is a flavor description of this subrace
Desc string `json:"desc"`
// AbilityBonuses are ability bonuses granted by this sub race.
AbilityBonuses []AbilityBonus `json:"ability_bonuses"`
// StartingProficiencies for all new characters of this subrace.
StartingProficiencies []APIReference `json:"starting_proficiencies"`
// Languages are starting languages for all new characters of this subrace.
Languages []APIReference `json:"languages"`
// LanguageOptions is the list of languages available to this race
LanguageOptions interface{} `json:"language_options,omitempty"`
// Traits are racial traits that provide benefits to its members.
Traits []*APIReference `json:"traits,omitempty"`
// RacialTraits are racial traits that provide benefits to its members.
RacialTraits []*APIReference `json:"racial_traits,omitempty"`
// RacialTraitOptions are racial traits options available to this subrace
RacialTraitOptions *Choice `json:"racial_trait_options,omitempty"`
// The URL of the referenced resource
URL string `json:"url"`
}
SubRace contains the details for a parent race's associated subrace
type Subclass ¶ added in v0.0.3
type Subclass struct {
// Index is the class index for shorthand searching.
Index string `json:"index"`
// Class is the parent class for this subclass
Class string `json:"class"`
// Name is the name for this class resource.
Name string `json:"name"`
// SubclassFlavor is the lore-friendly
// flavor text for a classes respective subclass.
SubclassFlavor string `json:"subclass_flavor"`
// Desc is the description of the subclass resource.
Desc string `json:"description"`
// SubClassLevels is a resource url that shows the subclass level progression
SubClassLevels APIReference `json:"sub_class_levels"`
// Spells is the URL of the class's spell Resource List.
// Returns a list of all spells that can be learned or cast by the class.
Spells []string `json:"spells"`
// The URL reference of this resource
URL string `json:"url"`
}
Subclass reflects the different paths a class may take as levels are gained
type Traits ¶ added in v0.0.3
type Traits struct {
// Index is the trait index for
// shorthand searching.
Index string `json:"index"`
// Races is the list of races that have access
// to this trait
Races []APIReference `json:"races"`
// SubRaces is list of related subraces
SubRaces []APIReference `json:"subraces"`
// Name is the name of the trait
Name string `json:"name"`
// Desc is the description of
// the trait
Desc string `json:"desc"`
// Proficiencies are Proficiencies
// this trait grants.
Proficiencies []APIReference `json:"proficiencies"`
// ProficiencyChoices are choices of proficiencies
// this trait grants.
ProficiencyChoices []Choice `json:"proficiency_choices"`
}
Traits for races in D&D
type Weapon ¶ added in v0.0.3
type Weapon struct {
// Index is the damage type index for shorthand searching.
Index string `json:"index"`
// Name is the name for this equipment resource
Name string `json:"name"`
// EquipmentCategory is the category of equipment this falls into
EquipmentCategory APIReference `json:"equipment_category"`
// WeaponCategory is the category of weapon this falls into
WeaponCategory string `json:"weapon_category"`
// WeaponRange is whether this is a Melee or Ranged weapon.
WeaponRange string `json:"weapon_range"`
// CategoryRange is a combination of weapon_category and weapon_range.
CategoryRange string `json:"category_range"`
// Cost is the financial worth of this equipment
Cost Cost `json:"cost"`
// Damage is the data on dice, bonus, and damage type
Damage ActionDamage `json:"damage"`
// TwoHandedDamage when wielded with two hands.
// It includes data on dice, bonus, and damage type.
TwoHandedDamage *ActionDamage `json:"two_handed_damage,omitempty"`
// Range Includes the normal and long range for a weapon,
// only pertains to Ranged weapons
Range *Range `json:"range"`
// Weight is the numerical weight of this item
Weight int `json:"weight"`
// Properties is a list of properties this weapon has
Properties []APIReference `json:"properties"`
// URL is the URL reference of this resource
URL string `json:"url"`
}
Weapon is the structure for weapons obtained in the dungeons you explore.
type WeaponProperties ¶ added in v0.0.3
type WeaponProperties struct {
// Index is the damage type index for shorthand searching.
Index string `json:"index"`
// Name is the name for this equipment resource
Name string `json:"name"`
// Desc is a list of descriptors for this item
Desc []string `json:"desc"`
// URL is the URL reference of this resource
URL string `json:"url"`
}
WeaponProperties is the structure for a weapon's properties
func (*WeaponProperties) JSON ¶ added in v0.3.0
func (w *WeaponProperties) JSON(data []byte) error