// 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;
