Add charmes/tours management

This commit is contained in:
2023-11-29 22:14:22 +01:00
parent 3e394734ce
commit 4b2dd20d49
57 changed files with 188 additions and 165 deletions

View File

@@ -217,7 +217,12 @@ export class WastelandActor extends Actor {
super._preUpdate(changed, options, user);
}
/* -------------------------------------------- */
incDecSante(value) {
let sante = duplicate(this.system.sante)
sante.letaux += value
this.update({ 'system.sante': sante })
}
/* -------------------------------------------- */
getItemById(id) {
let item = this.items.find(item => item.id == id);

View File

@@ -292,7 +292,7 @@ export class WastelandUtility {
}
/* -------------------------------------------- */
static computeResult(rollData) {
static computeResult(rollData, actor) {
if (rollData.charme) {
let resultIndex = false
let resTab = duplicate(rollData.charme.system.resultats)
@@ -306,9 +306,15 @@ export class WastelandUtility {
rollData.charmeDuree = rollData.charme.system.resultats[resultIndex].description
}
let effectRoll = new Roll(rollData.charmeDice).roll({ async: false })
rollData.contrecoupResult = effectRoll.total
if (rollData.contrecoupResult % 2 == 1) {
rollData.contrecoup = __contrecouptCharme[rollData.contrecoupResult]
if (rollData.charme.system.charmetype == "tour") {
rollData.contrecoupResult = effectRoll.total
if (rollData.contrecoupResult % 2 == 1) {
rollData.contrecoup = __contrecouptCharme[rollData.contrecoupResult]
}
}
if (rollData.charme.system.charmetype == "charme") {
rollData.charmeSante = effectRoll.total
actor.incDecSante(rollData.charmeSante)
}
} else {
if (rollData.mainDice == "1d20") {
@@ -377,7 +383,7 @@ export class WastelandUtility {
console.log(">>>> ", myRoll)
rollData.finalResult = myRoll.total
this.computeResult(rollData)
this.computeResult(rollData, actor)
this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-wasteland/templates/chat-generic-result.html`, rollData)