From 295ebe654e889dec1bdd7458dd53b31d4073bda0 Mon Sep 17 00:00:00 2001 From: Peter Norell Date: Wed, 30 Aug 2023 13:46:54 +0100 Subject: [PATCH] Fix for integrated Many-headed #623 --- script/common/config.js | 3 +++ script/common/item.js | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/script/common/config.js b/script/common/config.js index 0cee34cb..2b543523 100644 --- a/script/common/config.js +++ b/script/common/config.js @@ -470,6 +470,9 @@ SYMBAROUM.abilityArmor = [ "armored" ] +SYMBAROUM.traitManyHeaded = 'many-headed'; + + SYMBAROUM.expCosts = { "ritual": { "free":6, diff --git a/script/common/item.js b/script/common/item.js index e322523a..f6e44880 100644 --- a/script/common/item.js +++ b/script/common/item.js @@ -751,6 +751,14 @@ export class SymbaroumItem extends Item { { let lvl = this.getLevel(); if(lvl.level == 0) return; + // Many headed penalties + let hasManyHeaded = this.actor.items.filter( manyheaded => { return game.symbaroum.config.traitManyHeaded == manyheaded.system.reference }); + if(hasManyHeaded.length > 0 && hasManyHeaded[0].getLevel().level > 1) { + lvl.level = Math.max(0, lvl.level - hasManyHeaded[0].getLevel().level +1); + hasManyHeaded[0].system.isIntegrated = true; + this.system.isIntegrated = true; + + } for(let i = 0; i < armors.length; i++) { if(armors[i].system.isStackableArmor) { @@ -1477,6 +1485,17 @@ export class SymbaroumItem extends Item { getItemModifierRobust(combatMods, armors, weapons, abilities) { let lvl = this.getLevel(); if(lvl.level == 0) return; + + // Many headed penalties + let hasManyHeaded = this.actor.items.filter( manyheaded => { return game.symbaroum.config.traitManyHeaded == manyheaded.system.reference }); + if(hasManyHeaded.length > 0 && hasManyHeaded[0].getLevel().level > 1) { + lvl.level = Math.max(0, lvl.level - hasManyHeaded[0].getLevel().level +1); + hasManyHeaded[0].system.isIntegrated = true; + this.system.isIntegrated = true; + + } + + for(let i = 0; i < armors.length; i++) { if(armors[i].system.isStackableArmor) { continue;