diff --git a/modules/pegasus-actor.js b/modules/pegasus-actor.js index dc590d5..ddacdff 100644 --- a/modules/pegasus-actor.js +++ b/modules/pegasus-actor.js @@ -7,7 +7,7 @@ const coverBonusTable = { "nocover": 0, "lightcover": 2, "heavycover": 4, "entre const statThreatLevel = ["agi", "str", "phy", "com", "def", "per"] const __subkey2title = { "melee-dmg": "Melee Damage", "melee-atk": "Melee Attack", "ranged-atk": "Ranged Attack", - "ranged-dmg": "Ranged Damage", "defence": "Defence", "dmg-res": "Damare Resistance" + "ranged-dmg": "Ranged Damage", "defence": "Defence", "dmg-res": "Damage Resistance", "power-dmg": "Power Damage" } const __statBuild = [ { modules: ["vehiclehull"], field: "hr", itemfield: "hr" }, @@ -373,7 +373,7 @@ export class PegasusActor extends Actor { } } if (ppp != this.system.ppp.spentPPP) { - this.update({ 'system.ppp.spentPPP': ppp }) + //this.update({ 'system.ppp.spentPPP': ppp }) } } /* -------------------------------------------- */ @@ -385,7 +385,7 @@ export class PegasusActor extends Actor { } } if (sizeBonus != this.system.biodata.sizebonus) { - setTimeout(500, this.update( {'system.biodata.sizebonus': sizeBonus}) ) + //this.update( {'system.biodata.sizebonus': sizeBonus}) } } @@ -1684,6 +1684,7 @@ export class PegasusActor extends Actor { rollData.diceList = PegasusUtility.getDiceList() rollData.noBonusDice = this.checkNoBonusDice() rollData.dicePool = [] + rollData.subKey = subKey if (subKey == "melee-dmg" || subKey == "ranged-dmg" || subKey == "power-dmg") { rollData.isDamage = true @@ -1743,6 +1744,7 @@ export class PegasusActor extends Actor { } } + this.processSizeBonus(rollData) this.addEffects(rollData, isInit, isPower, subKey == "power-dmg") this.addArmorsShields(rollData, statKey, useShield) this.addWeapons(rollData, statKey, useShield) @@ -1752,6 +1754,33 @@ export class PegasusActor extends Actor { return rollData } + /* -------------------------------------------- */ + processSizeBonus( rollData) { + if ( rollData.defenderTokenId) { + let diffSize = rollData.defenderSize - this.system.biodata.sizenum+this.system.biodata.sizebonus + if( rollData.subKey == "melee-atk" || rollData.subKey == "ranged-atk") { + if ( diffSize > 0) { + rollData.effectsList.push({ label: "Size Bonus", type: "effect", applied: true, value: diffSize }) + } + } + if( rollData.subKey == "dmg-res" ) { + if ( diffSize < 0) { + rollData.effectsList.push({ label: "Size Bonus", type: "effect", applied: true, value: Math.abs(diffSize) }) + } + } + if( rollData.subKey == "defence" ) { + if ( diffSize > 0) { + rollData.effectsList.push({ label: "Size Bonus", type: "effect", applied: true, value: Math.abs(diffSize) }) + } + } + if( rollData.subKey == "melee-dmg" || rollData.subKey == "ranged-dmg") { + if ( diffSize < 0) { + rollData.effectsList.push({ label: "Size Bonus", type: "effect", applied: true, value: diffSize }) + } + } + } + } + /* -------------------------------------------- */ getLevelRemainingList() { let options = [] diff --git a/modules/pegasus-utility.js b/modules/pegasus-utility.js index 2393be0..04df984 100644 --- a/modules/pegasus-utility.js +++ b/modules/pegasus-utility.js @@ -65,6 +65,9 @@ export class PegasusUtility { Handlebars.registerHelper('sub', function (a, b) { return parseInt(a) - parseInt(b); }) + Handlebars.registerHelper('getDice', function (a) { + return PegasusUtility.getDiceFromLevel(a) + }) } @@ -988,11 +991,11 @@ export class PegasusUtility { static updateWithTarget(rollData) { let target = PegasusUtility.getTarget() if (target) { - console.log("TARGET ", target) let defenderActor = target.actor rollData.defenderTokenId = target.id + rollData.defenderSize = Number(defenderActor.system.biodata.sizenum) + Number(defenderActor.system.biodata.sizebonus) //rollData.attackerId = this.id - console.log("DEFENDER", defenderActor) + console.log("Target/DEFENDER", defenderActor) defenderActor.addHindrancesList(rollData.effectsList) } } diff --git a/styles/simple.css b/styles/simple.css index 5fd077a..09bf718 100644 --- a/styles/simple.css +++ b/styles/simple.css @@ -613,6 +613,9 @@ ul, li { flex-grow: 2; margin-left: 4px; } +.select-stat { + max-width: 5rem; +} .status-header-label { margin-left: 2px; } diff --git a/templates/partial-actor-stat-block.html b/templates/partial-actor-stat-block.html index 5763401..02fd25b 100644 --- a/templates/partial-actor-stat-block.html +++ b/templates/partial-actor-stat-block.html @@ -5,12 +5,15 @@

{{stat.abbrev}}

- + +

{{getDice (add stat.value stat.bonuseffect)}}

+
\ No newline at end of file diff --git a/templates/partial-roll-select-effects.html b/templates/partial-roll-select-effects.html index ad395ca..05bf284 100644 --- a/templates/partial-roll-select-effects.html +++ b/templates/partial-roll-select-effects.html @@ -17,13 +17,13 @@ {{else}} - {{#if (eq effect.effect.data.stataffected "powerroll")}} + {{#if (eq effect.effect.system.stataffected "powerroll")}}
  • {{/if}} - {{#if (eq effect.effect.data.stataffected "powerdmgroll")}} + {{#if (eq effect.effect.system.stataffected "powerdmgroll")}}