44 lines
1.3 KiB
JavaScript
44 lines
1.3 KiB
JavaScript
import { RdDCarac } from "../rdd-carac.js"
|
|
import { RollPartCheckbox } from "./roll-part-checkbox.mjs"
|
|
|
|
export const PART_APPELMORAL = "appelmoral"
|
|
|
|
export class RollPartAppelMoral extends RollPartCheckbox {
|
|
|
|
get code() { return PART_APPELMORAL }
|
|
get useCheckboxTemplate() { return false }
|
|
get isDefaultChecked() { return false }
|
|
|
|
visible(rollData) {
|
|
return rollData.active.actor.isPersonnage() && RdDCarac.isActionPhysique(rollData.current.carac.key)
|
|
}
|
|
|
|
restore(rollData) {
|
|
this.getCurrent(rollData).checked = this.getSaved(rollData).checked ?? false
|
|
}
|
|
|
|
store(rollData, targetData) {
|
|
this.setSaved(targetData, { checked: this.getCurrent(rollData).checked })
|
|
}
|
|
|
|
loadRefs(rollData) {
|
|
const refs = this.getRefs(rollData)
|
|
refs.moral = rollData.active.actor.getMoralTotal()
|
|
refs.label = refs.moral > 0 ? "Appel au moral" : "Énergie du désespoir"
|
|
}
|
|
|
|
getCheckboxIcon(rollData) {
|
|
const refs = this.getRefs(rollData)
|
|
if (refs.moral > 0) {
|
|
return '<i class="fa-regular fa-face-smile-beam"></i>'
|
|
}
|
|
if (refs.moral < 0) {
|
|
return '<i class="fa-regular fa-face-sad-tear"></i>'
|
|
}
|
|
return '<i class="fa-regular fa-face-meh"></i>'
|
|
}
|
|
|
|
getCheckboxLabel(rollData) { return "Appel au moral" }
|
|
getCheckboxValue(rollData) { return 1 }
|
|
}
|