PNJ: ajout mains nues et empoignade
This commit is contained in:
parent
1760d26014
commit
2de9ea49c8
@ -140,16 +140,15 @@ export class Mapping {
|
|||||||
|
|
||||||
static prepareArmes(actor) {
|
static prepareArmes(actor) {
|
||||||
const armes = actor.items.filter(it => it.type == ITEM_TYPES.arme)
|
const armes = actor.items.filter(it => it.type == ITEM_TYPES.arme)
|
||||||
return armes.map(arme =>
|
RdDItemArme.ajoutCorpsACorps(armes, actor)
|
||||||
[
|
return armes.map(arme => [
|
||||||
arme.system.unemain ? Mapping.prepareArme(actor, arme, 'unemain') : undefined,
|
arme.system.unemain ? Mapping.prepareArme(actor, arme, 'unemain') : undefined,
|
||||||
arme.system.deuxmains ? Mapping.prepareArme(actor, arme, 'deuxmains') : undefined,
|
arme.system.deuxmains ? Mapping.prepareArme(actor, arme, 'deuxmains') : undefined,
|
||||||
!(arme.system.unemain || arme.system.deuxmains) ? Mapping.prepareArme(actor, arme, 'competence') : undefined,
|
!(arme.system.unemain || arme.system.deuxmains) ? Mapping.prepareArme(actor, arme, 'competence') : undefined,
|
||||||
arme.system.lancer != "" ? Mapping.prepareArme(actor, arme, 'lancer') : undefined,
|
arme.system.lancer != "" ? Mapping.prepareArme(actor, arme, 'lancer') : undefined,
|
||||||
arme.system.tir != "" ? Mapping.prepareArme(actor, arme, 'tir') : undefined
|
arme.system.tir != "" ? Mapping.prepareArme(actor, arme, 'tir') : undefined]
|
||||||
]
|
.filter(it => it != undefined))
|
||||||
.filter(it => it != undefined)
|
.reduce((a, b) => a.concat(b), [])
|
||||||
).reduce((a, b) => a.concat(b), [])
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static prepareArme(actor, arme, maniement) {
|
static prepareArme(actor, arme, maniement) {
|
||||||
@ -158,27 +157,35 @@ export class Mapping {
|
|||||||
if (RdDItemCompetence.isNiveauBase(competence)) {
|
if (RdDItemCompetence.isNiveauBase(competence)) {
|
||||||
return undefined
|
return undefined
|
||||||
}
|
}
|
||||||
const dmgArme = RdDItemArme.dommagesReels(arme, maniement)
|
|
||||||
const dommages = dmgArme + RdDBonus.bonusDmg(actor, maniement, dmgArme)
|
|
||||||
const categorie = Mapping.complementCategorie(arme, maniement)
|
const categorie = Mapping.complementCategorie(arme, maniement)
|
||||||
|
const dommages = Mapping.dommagesArme(actor, arme, maniement)
|
||||||
return {
|
return {
|
||||||
name: arme.name + categorie,
|
name: arme.name + categorie,
|
||||||
niveau: Misc.toSignedString(competence.system.niveau),
|
niveau: Misc.toSignedString(competence.system.niveau),
|
||||||
init: Mapping.calculBaseInit(actor, competence.system.categorie) + competence.system.niveau,
|
init: Mapping.calculBaseInit(actor, competence.system.categorie) + competence.system.niveau,
|
||||||
dommages: Misc.toSignedString(dommages),
|
dommages: dommages,
|
||||||
competence: competence,
|
competence: competence,
|
||||||
arme: arme
|
arme: arme
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
static dommagesArme(actor, arme, maniement){
|
||||||
|
const dmgArme = RdDItemArme.dommagesReels(arme, maniement)
|
||||||
|
const dommages = Misc.toSignedString(dmgArme + RdDBonus.bonusDmg(actor, maniement, dmgArme))
|
||||||
|
switch(arme.system.mortalite) {
|
||||||
|
case 'non-mortel': return `(${dommages})`
|
||||||
|
case 'empoignade': return '-'
|
||||||
|
}
|
||||||
|
return dommages
|
||||||
|
}
|
||||||
|
|
||||||
static complementCategorie(arme, maniement) {
|
static complementCategorie(arme, maniement) {
|
||||||
switch (maniement) {
|
switch (maniement) {
|
||||||
case 'unemain': return (arme.system.deuxmains) ? ' 1 main' : (arme.system.lancer||arme.system.tir) ? ' mêlée': ''
|
case 'unemain': return (arme.system.deuxmains) ? ' 1 main' : (arme.system.lancer || arme.system.tir) ? ' mêlée' : ''
|
||||||
case 'deuxmains': return (arme.system.unemain) ? ' 2 mains' : (arme.system.lancer||arme.system.tir) ? ' mêlée': ''
|
case 'deuxmains': return (arme.system.unemain) ? ' 2 mains' : (arme.system.lancer || arme.system.tir) ? ' mêlée' : ''
|
||||||
case 'lancer': return (arme.system.unemain || arme.system.deuxmains || arme.system.tir) ? ' jet' : ''
|
case 'lancer': return (arme.system.unemain || arme.system.deuxmains || arme.system.tir) ? ' jet' : ''
|
||||||
case 'tir': return (arme.system.unemain || arme.system.deuxmains || arme.system.lancer) ? ' tir' : ''
|
case 'tir': return (arme.system.unemain || arme.system.deuxmains || arme.system.lancer) ? ' tir' : ''
|
||||||
}
|
}
|
||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
|
|
||||||
static calculBaseInit(actor, categorie) {
|
static calculBaseInit(actor, categorie) {
|
||||||
|
Loading…
Reference in New Issue
Block a user