| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- import { SafeHtml } from '@angular/platform-browser';
- // #region CHARACTER DATA
- export interface Ability {
- name: string;
- shortDescription: string;
- longDescription: string;
- cost: string;
- charges: number;
- currentlyUsedCharges: number;
- }
- export interface Attribute {
- name: string;
- value: number;
- proficiency: boolean;
- advantage?: 'none' | 'advantage' | 'disadvantage';
- }
- export interface Skill {
- name: string;
- proficiency: boolean;
- bardicExpertise?: boolean;
- advantage?: 'none' | 'advantage' | 'disadvantage';
- }
- export interface Trait {
- name: string;
- shortDescription: string;
- longDescription: string;
- origin: string;
- }
- // #endregion
- // #region CLASSES AND SUBCLASSES
- export interface ClassData {
- title: string;
- subclassLevel: number;
- description: string;
- features: any[];
- }
- export interface SubclassData {
- title: string;
- description: string;
- features: any[];
- }
- // #endregion
- // #region EQUIPMENT
- export interface Weapon {
- name: string;
- damage: Damage[];
- attackBonus: string;
- useAttributeModifier: boolean;
- hasAdditionalDamage: boolean;
- additionalDamage: number;
- range: number[];
- hasReach: boolean;
- throwRange?: number[];
- proficient: boolean;
- isVersatile: boolean;
- isTwoHanded: boolean;
- isFinesse: boolean;
- isRanged: boolean;
- canBeThrown: boolean;
- weight: string;
- versatileDamage?: string;
- isMagical: boolean;
- magicBonus?: number;
- description: string;
- }
- export interface SimpleItem {
- name: string;
- weight: number;
- value: number;
- quantity: number;
- description?: string;
- }
- export interface Consumable {
- name: string;
- weight: number;
- value: number;
- quantity: number;
- description: string;
- }
- export interface Food {
- name: string;
- isReady: boolean;
- quantity: number;
- weight: number;
- description?: string;
- }
- export interface Misc {
- name: string;
- weight: number;
- value: number;
- quantity: number;
- description?: string;
- }
- // #endregion
- // #region DAMAGE AND HEAL
- export interface Damage {
- diceNumber: number;
- diceType: number;
- damageType: string;
- additionalDamage?: number;
- }
- export interface Heal {
- diceNumber: number;
- diceType: number;
- additionalHeal?: number;
- }
- // #endregion
- // #region SPELLS
- export interface Spell {
- id: number;
- isCustom: boolean;
- german: string;
- english: string;
- image: string;
- classes: string[];
- level: number;
- timeToCast: number;
- cost:
- | 'action'
- | 'bonus'
- | 'reaction'
- | 'rounds'
- | 'minutes'
- | 'hours'
- | 'days';
- duration: number;
- durationType:
- | 'instant'
- | 'rounds'
- | 'minutes'
- | 'hours'
- | 'days'
- | 'permanent';
- isRitual: boolean;
- needsConcentration: boolean;
- needsVerbal: boolean;
- needsSomatic: boolean;
- needsMaterial: boolean;
- school: string;
- description_de: string;
- description_en: string;
- needsAttackRoll: boolean;
- needsSavingThrow: boolean;
- savingThrowAttribute?: string;
- isRanged: boolean;
- range?: number;
- hasAreaOfEffect: boolean;
- length?: number;
- areaOfEffectType?: string;
- doesDamage: boolean;
- damage?: Damage[];
- doesHeal: boolean;
- heal?: Heal;
- }
- // #endregion
- // #region Journal
- export interface JournalEntry {
- title: string;
- created: Date;
- content: string;
- startDate?: string;
- endDate?: string;
- }
- export interface Npcs {
- [key: string]: Npc[];
- companions: Npc[];
- allies: Npc[];
- enemies: Npc[];
- others: Npc[];
- }
- export interface Npc {
- name: string;
- identifier?: string;
- longDescription: string;
- shortDescription: string;
- organization?: string;
- }
- export interface Place {
- name: string;
- identifier?: string;
- longDescription: string;
- shortDescription: string;
- }
|