69 lines
2.3 KiB
TypeScript
69 lines
2.3 KiB
TypeScript
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;
|
|
}
|