import { ModifiableDataBaseTotal, ResourceDataBaseTotalMax } from "../common/common-data"; import { DS4ActorDataHelper, DS4CharacterDataDataBaseInfo, DS4CharacterDataDataCurrency, DS4CharacterDataDataLanguage, DS4CharacterDataDataProfile, DS4CharacterDataDataProgression, DS4CreatureDataDataBaseInfo, } from "./actor-data"; export type DS4ActorPreparedData = DS4CharacterPreparedData | DS4CreaturePreparedData; type DS4CharacterPreparedData = DS4ActorDataHelper; type DS4CreaturePreparedData = DS4ActorDataHelper; // templates interface DS4ActorPreparedDataDataBase { attributes: DS4ActorPreparedDataDataAttributes; traits: DS4ActorPreparedDataDataTraits; combatValues: DS4ActorPreparedDataDataCombatValues; rolling: DS4ActorPreparedDataDataRolling; } interface DS4ActorPreparedDataDataAttributes { body: ModifiableDataBaseTotal; mobility: ModifiableDataBaseTotal; mind: ModifiableDataBaseTotal; } interface DS4ActorPreparedDataDataTraits { strength: ModifiableDataBaseTotal; constitution: ModifiableDataBaseTotal; agility: ModifiableDataBaseTotal; dexterity: ModifiableDataBaseTotal; intellect: ModifiableDataBaseTotal; aura: ModifiableDataBaseTotal; } interface DS4ActorPreparedDataDataCombatValues { hitPoints: ResourceDataBaseTotalMax; defense: ModifiableDataBaseTotal; initiative: ModifiableDataBaseTotal; movement: ModifiableDataBaseTotal; meleeAttack: ModifiableDataBaseTotal; rangedAttack: ModifiableDataBaseTotal; spellcasting: ModifiableDataBaseTotal; targetedSpellcasting: ModifiableDataBaseTotal; } interface DS4ActorPreparedDataDataRolling { maximumCoupResult: number; minimumFumbleResult: number; } // types interface DS4CharacterPreparedDataData extends DS4ActorPreparedDataDataBase { baseInfo: DS4CharacterDataDataBaseInfo; progression: DS4CharacterDataDataProgression; language: DS4CharacterDataDataLanguage; profile: DS4CharacterDataDataProfile; currency: DS4CharacterDataDataCurrency; } interface DS4CreaturePreparedDataData extends DS4ActorPreparedDataDataBase { baseInfo: DS4CreatureDataDataBaseInfo; }