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<DS4CharacterPreparedDataData, "character">; type DS4CreaturePreparedData = DS4ActorDataHelper<DS4CreaturePreparedDataData, "creature">; // templates interface DS4ActorPreparedDataDataBase { attributes: DS4ActorPreparedDataDataAttributes; traits: DS4ActorPreparedDataDataTraits; combatValues: DS4ActorPreparedDataDataCombatValues; rolling: DS4ActorPreparedDataDataRolling; } interface DS4ActorPreparedDataDataAttributes { body: ModifiableDataBaseTotal<number>; mobility: ModifiableDataBaseTotal<number>; mind: ModifiableDataBaseTotal<number>; } interface DS4ActorPreparedDataDataTraits { strength: ModifiableDataBaseTotal<number>; constitution: ModifiableDataBaseTotal<number>; agility: ModifiableDataBaseTotal<number>; dexterity: ModifiableDataBaseTotal<number>; intellect: ModifiableDataBaseTotal<number>; aura: ModifiableDataBaseTotal<number>; } interface DS4ActorPreparedDataDataCombatValues { hitPoints: ResourceDataBaseTotalMax<number>; defense: ModifiableDataBaseTotal<number>; initiative: ModifiableDataBaseTotal<number>; movement: ModifiableDataBaseTotal<number>; meleeAttack: ModifiableDataBaseTotal<number>; rangedAttack: ModifiableDataBaseTotal<number>; spellcasting: ModifiableDataBaseTotal<number>; targetedSpellcasting: ModifiableDataBaseTotal<number>; } 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; }