forked from public/foundryvtt-reve-de-dragon
Various fixes
This commit is contained in:
@ -1785,13 +1785,13 @@ export class RdDActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
_computeEnduranceMax() {
|
||||
let blessures = this.system.data.blessures;
|
||||
let diffVie = this.system.data.sante.vie.max - this.system.data.sante.vie.value;
|
||||
let maxEndVie = this.system.data.sante.endurance.max - (diffVie * 2);
|
||||
let blessures = this.system.blessures;
|
||||
let diffVie = this.system.sante.vie.max - this.system.sante.vie.value;
|
||||
let maxEndVie = this.system.sante.endurance.max - (diffVie * 2);
|
||||
let nbGraves = this.countBlessures(blessures.graves.liste);
|
||||
let nbCritiques = this.countBlessures(blessures.critiques.liste);
|
||||
let maxEndGraves = Math.floor(this.system.data.sante.endurance.max / (2 * nbGraves));
|
||||
let maxEndCritiques = nbCritiques > 0 ? 1 : this.system.data.sante.endurance.max;
|
||||
let maxEndGraves = Math.floor(this.system.sante.endurance.max / (2 * nbGraves));
|
||||
let maxEndCritiques = nbCritiques > 0 ? 1 : this.system.sante.endurance.max;
|
||||
return Math.max(0, Math.min(maxEndVie, maxEndGraves, maxEndCritiques));
|
||||
}
|
||||
|
||||
@ -2206,24 +2206,24 @@ export class RdDActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async checkCompetenceXP(compName, newXP, display = true) {
|
||||
let compData = Misc.data(this.getCompetence(compName));
|
||||
let compData = this.getCompetence(compName)
|
||||
if (compData && newXP && newXP == compData.data.xp) { // Si édition, mais sans changement XP
|
||||
return;
|
||||
return
|
||||
}
|
||||
newXP = (newXP) ? newXP : compData.data.xp;
|
||||
newXP = (newXP) ? newXP : compData.system.xp
|
||||
if (compData && newXP > 0) {
|
||||
let xpNeeded = RdDItemCompetence.getCompetenceNextXp(compData.data.niveau + 1);
|
||||
let xpNeeded = RdDItemCompetence.getCompetenceNextXp(compData.system.niveau + 1);
|
||||
if (newXP >= xpNeeded) {
|
||||
let newCompData = duplicate(compData);
|
||||
newCompData.data.niveau += 1;
|
||||
newCompData.data.xp = newXP;
|
||||
let newCompData = duplicate(compData)
|
||||
newCompData.system.niveau += 1;
|
||||
newCompData.system.xp = newXP;
|
||||
let checkXp = {
|
||||
alias: this.name,
|
||||
competence: newCompData.name,
|
||||
niveau: newCompData.data.niveau,
|
||||
xp: newCompData.data.xp,
|
||||
archetype: newCompData.data.niveau_archetype,
|
||||
archetypeWarning: newCompData.data.niveau > compData.data.niveau_archetype
|
||||
niveau: newCompData.system.niveau,
|
||||
xp: newCompData.system.xp,
|
||||
archetype: newCompData.system.niveau_archetype,
|
||||
archetypeWarning: newCompData.system.niveau > compData.system.niveau_archetype
|
||||
}
|
||||
if (display) {
|
||||
ChatMessage.create({
|
||||
@ -2528,11 +2528,12 @@ export class RdDActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollCompetence(idOrName) {
|
||||
let rollData = { competence: Misc.data(this.getCompetence(idOrName)) }
|
||||
let comp = this.getCompetence(idOrName)
|
||||
let rollData = { competence: comp }
|
||||
|
||||
//console.log("COMP CREATURE", name, rollData, name);
|
||||
if (rollData.competence.type == 'competencecreature') {
|
||||
if (rollData.competence.data.iscombat) {
|
||||
if (rollData.competence.system.iscombat) {
|
||||
const arme = RdDItemCompetenceCreature.toArme(rollData.competence);
|
||||
RdDCombat.createUsingTarget(this).attaque(rollData.competence, arme);
|
||||
return;
|
||||
@ -2554,8 +2555,8 @@ export class RdDActor extends Actor {
|
||||
this.createCallbackAppelAuMoral(),
|
||||
{ action: r => this._competenceResult(r) }
|
||||
]
|
||||
});
|
||||
dialog.render(true);
|
||||
})
|
||||
dialog.render(true)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -3186,15 +3187,16 @@ export class RdDActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
rollArme(arme) {
|
||||
let competence = Misc.data(this.getCompetence(arme.system.competence));
|
||||
let itemData = arme.system && arme.system || arme.data
|
||||
let competence = this.getCompetence( itemData.competence )
|
||||
if (arme || (competence.type == 'competencecreature' && competence.system.iscombat)) {
|
||||
if (competence.data.ispossession) {
|
||||
RdDPossession.managePosession(this, competence);
|
||||
if (competence.system.ispossession) {
|
||||
RdDPossession.managePosession(this, competence)
|
||||
} else {
|
||||
RdDCombat.createUsingTarget(this)?.attaque(competence, arme);
|
||||
RdDCombat.createUsingTarget(this)?.attaque(competence, arme)
|
||||
}
|
||||
} else {
|
||||
this.rollCompetence(competence.name);
|
||||
this.rollCompetence(competence.name)
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user