Various fixes

This commit is contained in:
2023-08-09 18:05:16 +02:00
parent 43a3a2ccfa
commit 002d6f4fbd
60 changed files with 503 additions and 409 deletions

View File

@@ -89,9 +89,9 @@ export class Hero6ActorSheet extends ActorSheet {
// Everything below here is only needed if the sheet is editable
if (!this.options.editable) return;
html.bind("keydown", function(e) { // Ignore Enter in actores sheet
/*html.bind("keydown", function(e) { // Ignore Enter in actores sheet
if (e.keyCode === 13) return false;
});
});*/
// Update Inventory Item
html.find('.item-edit').click(ev => {

View File

@@ -4,7 +4,7 @@ import { Hero6RollDialog } from "./hero6-roll-dialog.js";
import { Hero6LiftDice } from "./hero6-lift-dice.js";
/* -------------------------------------------- */
const __speed2Segments = [ [0], [7], [6, 12], [4, 8, 12], [3, 6, 9, 12], [3, 5, 8, 10, 12], [2, 4, 6, 8, 10, 12],
const __speed2Segments = [[0], [7], [6, 12], [4, 8, 12], [3, 6, 9, 12], [3, 5, 8, 10, 12], [2, 4, 6, 8, 10, 12],
[2, 4, 6, 7, 9, 11, 12], [2, 3, 5, 6, 8, 9, 11, 12], [2, 3, 4, 6, 7, 8, 10, 11, 12], [2, 3, 4, 5, 6, 8, 9, 10, 11, 12],
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]
@@ -40,12 +40,10 @@ export class Hero6Actor extends Actor {
return actor;
}
if (data.type == 'character') {
if (data.type == 'character' || data.type == 'minion') {
const maneuvers = await Hero6Utility.loadCompendium("fvtt-hero-system-6.maneuvers")
let maneuversObj = maneuvers.map(i => i.toObject())
data.items = maneuversObj.filter(m => m.system.isstock)
}
if (data.type == 'npc') {
data.items = maneuversObj.filter(m => m.system.isstock)
}
return super.create(data, options);
@@ -62,14 +60,11 @@ export class Hero6Actor extends Actor {
/* -------------------------------------------- */
computeDerivatedData() {
if (this.type == "character") {
let newSTREND = this.computeSTREND()
if (newSTREND != this.system.characteristics.str.strend) {
this.update({ 'system.characteristics.str.strend': newSTREND })
}
let newSTREND = this.computeSTREND()
if (newSTREND != this.system.characteristics.str.strend) {
this.update({ 'system.characteristics.str.strend': newSTREND })
}
}
/* -------------------------------------------- */
performMigration() {
// Fix OCV/OMCV rollable
@@ -172,6 +167,19 @@ export class Hero6Actor extends Actor {
}
return item;
}
/* -------------------------------------------- */
async _preCreate(data, options, user) {
await super._preCreate(data, options, user);
// Configure prototype token settings
const prototypeToken = {};
if (this.type === "character") Object.assign(prototypeToken, {
sight: { enabled: true }, actorLink: true, disposition: CONST.TOKEN_DISPOSITIONS.FRIENDLY
});
this.updateSource({ prototypeToken });
}
/* -------------------------------------------- */
prepareSkill(skill) {
skill.roll = 0
@@ -213,12 +221,12 @@ 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)) {
if (Number(maneuver.system.ocv)) {
maneuver.roll += Number(maneuver.system.ocv)
} else {
maneuver.noOCV = true
@@ -408,7 +416,7 @@ export class Hero6Actor extends Actor {
/* -------------------------------------------- */
async cleanCombat() {
await this.setFlag("world", "hold-action", false)
await this.setFlag("world", "abort-action", { state: false, count: 0 } )
await this.setFlag("world", "abort-action", { state: false, count: 0 })
}
async holdAction() {
await this.disableAbortAction()
@@ -481,7 +489,7 @@ export class Hero6Actor extends Actor {
}
/* -------------------------------------------- */
getBaseInit(turn) {
if ( turn != this.turn) {
if (turn != this.turn) {
let r = new Roll("1d6").roll({ async: false })
this.currentInit = Number(this.system.characteristics.dex.initiative) + Number(((r.total / 10).toFixed(2)))
this.turn = turn
@@ -516,8 +524,13 @@ export class Hero6Actor extends Actor {
/* -------------------------------------------- */
prepareCharacValues(charac) {
charac.total = charac.value
charac.roll = 9 + Math.round((charac.value) / 5)
if (charac.label == "OCV" || charac.label == "OMCV" ) {
charac.total = charac.value
charac.roll = 11 + charac.value
} else {
charac.total = charac.value
charac.roll = 9 + Math.round((charac.value) / 5)
}
}
prepareCharac() {
let characs = duplicate(this.system.characteristics)
@@ -531,7 +544,7 @@ export class Hero6Actor extends Actor {
if (key == "spd") {
ch.phasesString = this.getPhasesString()
}
if (key =="pre") {
if (key == "pre") {
ch.presenceattack = duplicate(this.system.biodata.presenceattack)
}
}

View File

@@ -53,6 +53,5 @@ export const Hero6_CONFIG = {
"standard": "Standard",
"normal": "Normal",
"killing": "Killing",
"countbody": "Killing (Count BODY)"
}
}

View File

@@ -61,7 +61,7 @@ Hooks.once("init", async function () {
// Register sheet application classes
Actors.unregisterSheet("core", ActorSheet);
Actors.registerSheet("fvtt-hero-system-6", Hero6ActorSheet, { types: ["character"], makeDefault: true });
Actors.registerSheet("fvtt-hero-system-6", Hero6NPCSheet, { types: ["npc"], makeDefault: false });
Actors.registerSheet("fvtt-hero-system-6", Hero6ActorSheet, { types: ["minion"], makeDefault: false });
Items.unregisterSheet("core", ItemSheet);
Items.registerSheet("fvtt-hero-system-6", Hero6ItemSheet, { makeDefault: true });

View File

@@ -355,7 +355,7 @@ export class Hero6Utility {
let myRoll = rollData.roll
if (!myRoll) { // New rolls only of no rerolls
myRoll = new Roll(diceFormula).roll({ async: false })
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
//await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
}
rollData.roll = myRoll