Fix #72 : effect OK for dmr roll

This commit is contained in:
2022-09-28 20:04:04 +02:00
parent e1d6b1aaff
commit fb69f24fce
5 changed files with 47 additions and 9 deletions

View File

@ -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 = []