UNPKG

@evilmonkeyinc/srd-api

Version:

Tools and helpers to query SRD content

102 lines (101 loc) 2.49 kB
import { Ability } from '../shared/Abilities'; import { AttackType } from '../shared/Attacks'; import { DamageType } from '../shared/DamageType'; import { Description } from '../shared/Description'; export declare enum Duration { Instantaneous = "instantaneous", Round = "1 round", Minutes1 = "1 minute", Minutes10 = "10 minutes", Hours1 = "1 hour", Hours2 = "2 hours", Hours8 = "8 hours", Hours24 = "24 hours", Days1 = "1 day", Days7 = "7 days", Days10 = "10 days", Days3 = "30 days", Special = "special", UntilDispelled = "until dispelled" } export declare enum CastingTime { Reaction = "reaction", BonusAction = "bonus action", Action = "action", Minutes1 = "1 minute", Minute10 = "10 minutes", Hours1 = "1 hour", Hours8 = "8 hours", Hours12 = "12 hours", Hours24 = "24 hours" } export interface Components { verbal?: boolean; somatic?: boolean; material?: Material; } export interface Material { description: string; consumed: boolean; } export declare enum School { Abjuration = "abjuration", Conjuration = "conjuration", Divination = "divination", Enchantment = "enchantment", Evocation = "evocation", Illusion = "illusion", Necromancy = "necromancy", Transmutation = "transmutation" } export declare enum Range { Self = "self", Touch = "touch", Sight = "sight", Feet5 = "5 feet", Feet10 = "10 feet", Feet30 = "30 feet", Feet60 = "60 feet", Feet90 = "90 feet", Feet100 = "100 feet", Feet120 = "120 feet", Feet150 = "150 feet", Feet300 = "300 feet", Feet500 = "500 feet", Miles1 = "1 mile", Miles500 = "500 miles", Special = "special", Unlimited = "unlimited" } export declare enum AreaShape { Cone = "cone", Cube = "cube", Cylinder = "cylinder", Line = "line", Sphere = "sphere" } export interface Area { shape: AreaShape; size: number; unit: 'feet' | 'miles'; } export default interface Spell { name: string; area?: Area; attack?: AttackType; castingTime: CastingTime; classes: string[]; components: Components; concentration: boolean; conditions?: string[]; damageType?: DamageType[]; description: Description[]; duration: Duration; higherLevels?: Description[]; level: number; range: Range; reactionTrigger?: string; ritual: boolean; save?: Ability; school: School; }