- équipement des armes et protections (champ equipped, liste des équipés, toggle) - échanges de coups automatisés (attaque/défense/résolution/blessures dans le chat) - dialogue d'attaque par type (personnage/PNJ/créature), portées et difficultés - conservation du scroll des fiches lors des modifs (option scrollable + classe active) - verrouillage des compétences PNJ en mode jeu - corrections review combat (défenseur, difficulté >10, multi-cibles, permissions)
30 lines
1.1 KiB
JavaScript
30 lines
1.1 KiB
JavaScript
import { baseItemSchema } from "./_shared.mjs"
|
|
|
|
/**
|
|
* DataModel pour les items de type "weapon" (armes).
|
|
* @augments {foundry.abstract.TypeDataModel}
|
|
*/
|
|
export default class VermineWeaponData extends foundry.abstract.TypeDataModel {
|
|
/** @override */
|
|
static LOCALIZATION_PREFIXES = ["VERMINE.item.weapon"]
|
|
|
|
/** @override */
|
|
static defineSchema() {
|
|
const fields = foundry.data.fields
|
|
const reqInt = { required: true, nullable: false, integer: true }
|
|
return {
|
|
...baseItemSchema(),
|
|
skill: new fields.StringField({ required: true, nullable: false, initial: "" }),
|
|
equipped: new fields.BooleanField({ required: true, initial: false }),
|
|
min_range: new fields.NumberField({ ...reqInt, initial: 0, min: 0 }),
|
|
max_range: new fields.NumberField({ ...reqInt, initial: 0, min: 0 }),
|
|
damage: new fields.SchemaField({
|
|
value: new fields.NumberField({ ...reqInt, initial: 0, min: 0 }),
|
|
type: new fields.StringField({ required: true, initial: "" }),
|
|
addVigor: new fields.BooleanField({ required: true, initial: false })
|
|
}),
|
|
ammo: new fields.NumberField({ ...reqInt, initial: 0, min: 0 })
|
|
}
|
|
}
|
|
}
|