// SPDX-FileCopyrightText: 2022 Johannes Loher
//
// SPDX-License-Identifier: MIT

import type { DS4 } from "../../config";
import type { DS4ActorDataSourceDataBase } from "../actor-data-source-base";

export interface DS4CreatureDataSource {
    type: "creature";
    data: DS4CreatureDataSourceData;
}

interface DS4CreatureDataSourceData extends DS4ActorDataSourceDataBase {
    baseInfo: DS4CreatureDataSourceDataBaseInfo;
}

export interface DS4CreatureDataSourceDataBaseInfo {
    loot: string;
    foeFactor: number;
    creatureType: CreatureType;
    sizeCategory: SizeCategory;
    experiencePoints: number;
    description: string;
}

type CreatureType = keyof typeof DS4.i18n.creatureTypes;

type SizeCategory = keyof typeof DS4.i18n.creatureSizeCategories;