Autoriser les armes de corps-à-corps

Barreaux de chaise, armes improvisées, techniques d'art martiaux, ...
peuvent être gérés comme des armes.
This commit is contained in:
Vincent Vandemeulebrouck 2023-11-20 17:17:29 +01:00
parent f446d897a7
commit b07a3e18df
3 changed files with 6 additions and 15 deletions

View File

@ -166,7 +166,7 @@ export class RdDItemArme extends Item {
}
static isArmeUtilisable(arme) {
return arme.type == 'arme' && arme.system.equipe && (arme.system.resistance > 0 || arme.system.portee_courte > 0);
return arme.type == TYPES.arme && arme.system.equipe && (arme.system.resistance > 0 || arme.system.portee_courte > 0);
}
static ajoutCorpsACorps(armes, actor) {
@ -191,6 +191,7 @@ export class RdDItemArme extends Item {
dommagesReels: 0,
mortalite: 'non-mortel',
competence: 'Corps à corps',
resistance: 1,
deuxmains: true,
categorie_parade: 'sans-armes'
}

View File

@ -227,24 +227,14 @@ export class RdDItem extends Item {
}
isCorpsACorps() {
return (this.isCompetence()
return this.isCompetence()
&& this.system.categorie == 'melee'
&& Grammar.includesLowerCaseNoAccent(this.name, 'Corps à Corps'));
&& Grammar.includesLowerCaseNoAccent(this.name, 'Corps à Corps')
}
isCompetenceArme() {
if (this.isCompetence()) {
switch (this.system.categorie) {
case 'melee':
return !this.isCorpsACorps() && !this.isEsquive()
case 'tir':
case 'lancer':
return true;
return this.isCompetence() && [ 'melee','tir', 'lancer'].includes(this.system.categorie)
}
}
return false;
}
isCompetencePossession() { return TYPES.competencecreature == this.type && this.system.categorie == "possession" }
isTemporel() { return typesObjetsTemporels.includes(this.type) }

View File

@ -65,7 +65,7 @@ export class RdDHotbar {
await this.createItemMacro(item, slot++, 'pugilat')
await this.createItemMacro(item, slot++, 'empoignade')
}
if (item.isCompetenceArme()) {
else if (item.isCompetenceArme()) {
ui.notifications.info(`${item.name} est une compétence d'arme, la macro n'est pas liée à un arme.<br>
Créez la macro depuis l'arme ou l'onglet combat pour garder les automatisations de combat.`);
}