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

import type { DS4 } from "../../../config";
import type {
  DS4ItemDataSourceDataBase,
  DS4ItemDataSourceDataEquipable,
  DS4ItemDataSourceDataPhysical,
} from "../item-data-source-base";

export interface DS4WeaponDataSource {
  type: "weapon";
  data: DS4WeaponDataSourceData;
}

export interface DS4WeaponDataSourceData
  extends DS4ItemDataSourceDataBase,
    DS4ItemDataSourceDataPhysical,
    DS4ItemDataSourceDataEquipable {
  attackType: AttackType;
  weaponBonus: number;
  opponentDefense: number;
}

export type AttackType = keyof typeof DS4.i18n.attackTypes;
