import { SYSTEM } from "../config/system.mjs"
import { booleanField, htmlField, numberField } from "./shared.mjs"

export default class MGNEEquipment extends foundry.abstract.TypeDataModel {
  static defineSchema() {
    return {
      description: htmlField(""),
      subtype: new foundry.data.fields.StringField({
        required: true,
        nullable: false,
        initial: "gear",
        choices: SYSTEM.equipmentSubtypes,
      }),
      quantity: numberField(1, 0),
      carried: booleanField(true),
      equipped: booleanField(false),
      usageDie: new foundry.data.fields.StringField({
        required: true,
        nullable: false,
        initial: "d6",
        choices: SYSTEM.usageDieChoices,
      }),
      consumable: booleanField(false),
      broken: booleanField(false),
      durabilityDie: new foundry.data.fields.StringField({
        required: true, nullable: false, initial: "d6",
        choices: SYSTEM.usageDieChoices,
      }),
      weight: new foundry.data.fields.StringField({
        required: true, nullable: false, initial: "normal",
        choices: SYSTEM.weightCategories,
      }),
    }
  }

  /** @override */
  static LOCALIZATION_PREFIXES = ["MGNE.Equipment"]
}
