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) { 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) { static ajoutCorpsACorps(armes, actor) {
@ -191,6 +191,7 @@ export class RdDItemArme extends Item {
dommagesReels: 0, dommagesReels: 0,
mortalite: 'non-mortel', mortalite: 'non-mortel',
competence: 'Corps à corps', competence: 'Corps à corps',
resistance: 1,
deuxmains: true, deuxmains: true,
categorie_parade: 'sans-armes' categorie_parade: 'sans-armes'
} }

View File

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

View File

@ -65,7 +65,7 @@ export class RdDHotbar {
await this.createItemMacro(item, slot++, 'pugilat') await this.createItemMacro(item, slot++, 'pugilat')
await this.createItemMacro(item, slot++, 'empoignade') 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> 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.`); Créez la macro depuis l'arme ou l'onglet combat pour garder les automatisations de combat.`);
} }