Various fixes and enhancents

This commit is contained in:
2023-08-07 23:28:04 +02:00
parent 3dcb60e7a9
commit 58bcfc07a3
60 changed files with 284 additions and 179 deletions

View File

@@ -70,6 +70,14 @@ export class Hero6Actor extends Actor {
}
}
/* -------------------------------------------- */
performMigration() {
// Fix OCV/OMCV rollable
if (!this.system.characteristics.ocv.hasroll) {
this.update({ 'system.characteristics.ocv.hasroll': true, 'system.characteristics.omcv.hasroll': true })
}
}
/* -------------------------------------------- */
computeDicesValue() {
this.system.biodata.presenceattack = Hero6Utility.getDerivatedDiceFormulas(this.system.characteristics.pre.value)
this.system.characteristics.str.strdice = Hero6LiftDice.getLiftDice(this.system.characteristics.str.value)
@@ -205,6 +213,17 @@ export class Hero6Actor extends Actor {
skill.roll += skill.system.levels
}
}
/* -------------------------------------------- */
prepareManeuver(maneuver) {
maneuver.roll = 11 + this.system.characteristics.ocv.value
if ( Number(maneuver.system.ocv)) {
maneuver.roll += Number(maneuver.system.ocv)
} else {
maneuver.noOCV = true
}
}
/* -------------------------------------------- */
getSkills() {
@@ -464,7 +483,7 @@ export class Hero6Actor extends Actor {
getBaseInit(turn) {
if ( turn != this.turn) {
let r = new Roll("1d6").roll({ async: false })
this.currentInit = this.system.characteristics.dex.initiative + (r.total / 10)
this.currentInit = Number(this.system.characteristics.dex.initiative) + Number(((r.total / 10).toFixed(2)))
this.turn = turn
}
return this.currentInit
@@ -648,6 +667,9 @@ export class Hero6Actor extends Actor {
if (item.type == "skill") {
this.prepareSkill(rollData.item)
}
if (item.type == "maneuver") {
this.prepareManeuver(rollData.item)
}
this.startRoll(rollData)
}
/* -------------------------------------------- */
@@ -697,7 +719,28 @@ export class Hero6Actor extends Actor {
msg.setFlag("world", "rolldata", rollData)
console.log("Rolldata result", rollData)
}
/* -------------------------------------------- */
rollManeuver(maneuverId) {
let skill = this.items.get(skillId)
if (skill) {
if (skill.system.islore && skill.system.level == 0) {
ui.notifications.warn("You can't use Lore Skills with a SL of 0.")
return
}
skill = duplicate(skill)
Hero6Utility.updateSkill(skill)
let abilityKey = skill.system.ability
let rollData = this.getCommonRollData(abilityKey)
rollData.mode = "skill"
rollData.skill = skill
rollData.img = skill.img
if (rollData.target) {
ui.notifications.warn("You are targetting a token with a skill : please use a Weapon instead.")
return
}
this.startRoll(rollData)
}
}
/* -------------------------------------------- */
rollSkill(skillId) {
let skill = this.items.get(skillId)