29 lines
835 B
JavaScript
29 lines
835 B
JavaScript
import { DIFF, ROLL_TYPE_OEUVRE } from "./roll-constants.mjs"
|
|
import { PART_OEUVRE } from "./roll-part-oeuvre.mjs"
|
|
import { RollType } from "./roll-type.mjs"
|
|
|
|
export class RollTypeOeuvre extends RollType {
|
|
get code() { return ROLL_TYPE_OEUVRE }
|
|
get name() { return `Interpréter une oeuvre` }
|
|
|
|
visible(rollData) { return rollData.active.actor.isPersonnage() }
|
|
title(rollData) {
|
|
const current = rollData.current[PART_OEUVRE]
|
|
return `${current.art.action} ${current.label}`
|
|
}
|
|
|
|
onSelect(rollData) {
|
|
this.setDiffType(rollData, DIFF.AUCUN)
|
|
}
|
|
|
|
getResult(rollData){
|
|
const current = rollData.current[PART_OEUVRE]
|
|
const qualite = rollData.rolled.isSuccess ? current.qualite : Math.min(current.qualite, current.comp.system.niveau)
|
|
return {
|
|
qualite: qualite + rollData.rolled.ptQualite
|
|
}
|
|
}
|
|
|
|
}
|
|
|