// SPDX-FileCopyrightText: 2021 Johannes Loher // // SPDX-License-Identifier: MIT import { HasTotal } from "../common/common-data"; import { DS4AlphabetDataData, DS4ArmorDataData, DS4EquipmentDataData, DS4ItemDataHelper, DS4LanguageDataData, DS4LootDataData, DS4RacialAbilityDataData, DS4ShieldDataData, DS4SpecialCreatureAbilityDataData, DS4SpellDataData, DS4TalentDataData, DS4TalentRank, DS4WeaponDataData, } from "./item-data"; export type DS4ItemPreparedData = | DS4WeaponPreparedData | DS4ArmorPreparedData | DS4ShieldPreparedData | DS4SpellPreparedData | DS4EquipmentPreparedData | DS4LootPreparedData | DS4TalentPreparedData | DS4RacialAbilityPreparedData | DS4LanguagePreparedData | DS4AlphabetPreparedData | DS4SpecialCreatureAbilityPreparedData; export type DS4WeaponPreparedData = DS4ItemDataHelper; export type DS4ArmorPreparedData = DS4ItemDataHelper; export type DS4ShieldPreparedData = DS4ItemDataHelper; export type DS4SpellPreparedData = DS4ItemDataHelper; export type DS4EquipmentPreparedData = DS4ItemDataHelper; export type DS4LootPreparedData = DS4ItemDataHelper; export type DS4TalentPreparedData = DS4ItemDataHelper; export type DS4RacialAbilityPreparedData = DS4ItemDataHelper; export type DS4LanguagePreparedData = DS4ItemDataHelper; export type DS4AlphabetPreparedData = DS4ItemDataHelper; export type DS4SpecialCreatureAbilityPreparedData = DS4ItemDataHelper< DS4SpecialCreatureAbilityPreparedDataData, "specialCreatureAbility" >; // templates interface DS4ItemPreparedDataDataRollable { rollable: boolean; } //types interface DS4WeaponPreparedDataData extends DS4WeaponDataData, DS4ItemPreparedDataDataRollable {} interface DS4ArmorPreparedDataData extends DS4ArmorDataData, DS4ItemPreparedDataDataRollable {} interface DS4ShieldPreparedDataData extends DS4ShieldDataData, DS4ItemPreparedDataDataRollable {} interface DS4SpellPreparedDataData extends DS4SpellDataData, DS4ItemPreparedDataDataRollable { price: number | null; } interface DS4EquipmentPreparedDataData extends DS4EquipmentDataData, DS4ItemPreparedDataDataRollable {} interface DS4LootPreparedDataData extends DS4LootDataData, DS4ItemPreparedDataDataRollable {} interface DS4TalentPreparedDataData extends DS4TalentDataData, DS4ItemPreparedDataDataRollable { rank: DS4TalentPreparedRank; } interface DS4TalentPreparedRank extends DS4TalentRank, HasTotal {} interface DS4RacialAbilityPreparedDataData extends DS4RacialAbilityDataData, DS4ItemPreparedDataDataRollable {} interface DS4LanguagePreparedDataData extends DS4LanguageDataData, DS4ItemPreparedDataDataRollable {} interface DS4AlphabetPreparedDataData extends DS4AlphabetDataData, DS4ItemPreparedDataDataRollable {} interface DS4SpecialCreatureAbilityPreparedDataData extends DS4SpecialCreatureAbilityDataData, DS4ItemPreparedDataDataRollable {}