Added Operations and Combat Conditions

+ Added Multiply, Division and Subtract operations for modifiers
+ Added Combat Conditions Effects form Ars Armorum
This commit is contained in:
LeFrique 2023-12-01 14:37:21 +01:00
parent 48883c3102
commit 8e16c6a7bd
14 changed files with 273 additions and 0 deletions

View File

@ -0,0 +1,22 @@
{
"name": "Angeschlagen",
"type": "effect",
"img": "icons/tools/instruments/injury-pain-body-orange.web",
"system": {
"description": "",
"equippable": false,
"equipped": true,
"value": 0,
"magic": false,
"rolls": { "formulas": {}, "output": "" },
"mods": { "0": { "type": "stat", "id": "movement", "operation": "division", "value": 2 }, "1": { "type": "stat", "id": "ap.max", "operation": "division", "value": 2 } },
"calc": {}
},
"effects": [],
"flags": {},
"_stats": { "systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700349805056, "modifiedTime": 1700353901248, "lastModifiedBy": "cb3PEvEU0kHkMdjb" },
"_id": "PJ0tqjZXQ5opcYz4",
"folder": null,
"sort": 0,
"ownership": { "default": 0, "cb3PEvEU0kHkMdjb": 3 }
}

View File

@ -0,0 +1,22 @@
{
"name": "Benommen",
"type": "effect",
"img": "icons/tools/instruments/hypnosis-mesmerism-eye.webp",
"system": {
"description": "",
"equippable": false,
"equipped": true,
"value": 0,
"magic": false,
"rolls": { "formulas": {}, "output": "" },
"mods": { "0": { "type": "stat", "id": "defenseBonus", "operation": "subtract", "value": 4 } },
"calc": {}
},
"effects": [],
"flags": {},
"_stats": { "systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700349805056, "modifiedTime": 1700353901248, "lastModifiedBy": "cb3PEvEU0kHkMdjb" },
"_id": "PJ0tqjZXQ5opcYzY",
"folder": null,
"sort": 0,
"ownership": { "default": 0, "cb3PEvEU0kHkMdjb": 3 }
}

View File

@ -0,0 +1,22 @@
{
"name": "Blutend",
"type": "effect",
"img": "icons/tools/instruments/blood-drip-droplet-red.webp",
"system": {
"description": "",
"equippable": false,
"equipped": true,
"value": 0,
"magic": false,
"rolls": { "formulas": {}, "output": "" },
"mods": { "0": { "type": "stat", "id": "lp", "operation": "subtract", "value": 1 }, "1": { "type": "stat", "id": "ap", "operation": "subtract", "value": 1 } },
"calc": {}
},
"effects": [],
"flags": {},
"_stats": { "systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700349805056, "modifiedTime": 1700353901248, "lastModifiedBy": "cb3PEvEU0kHkMdjb" },
"_id": "PJ0tqjZXQ5opcYz5",
"folder": null,
"sort": 0,
"ownership": { "default": 0, "cb3PEvEU0kHkMdjb": 3 }
}

View File

@ -0,0 +1,22 @@
{
"name": "Eingeschüchtert",
"type": "effect",
"img": "icons/tools/instruments/fear-fright-white.webp",
"system": {
"description": "",
"equippable": false,
"equipped": true,
"value": 0,
"magic": false,
"rolls": { "formulas": {}, "output": "" },
"mods": { "0": { "type": "stat", "id": "defenseBonus", "operation": "add", "value": 4 } },
"calc": {}
},
"effects": [],
"flags": {},
"_stats": { "systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700349805056, "modifiedTime": 1700353901248, "lastModifiedBy": "cb3PEvEU0kHkMdjb" },
"_id": "PJ0tqjZXQ5opcYzZ",
"folder": null,
"sort": 0,
"ownership": { "default": 0, "cb3PEvEU0kHkMdjb": 3 }
}

View File

@ -0,0 +1,22 @@
{
"name": "Ermutigt",
"type": "effect",
"img": "icons/tools/instruments/strike-fist-stone-light.webp",
"system": {
"description": "",
"equippable": false,
"equipped": true,
"value": 0,
"magic": false,
"rolls": { "formulas": {}, "output": "" },
"mods": { "0": { "type": "stat", "id": "defenseBonus", "operation": "add", "value": 1 }, "1": { "type": "stat", "id": "attackBonus", "operation": "add", "value": 1 } },
"calc": {}
},
"effects": [],
"flags": {},
"_stats": { "systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700349805056, "modifiedTime": 1700353901248, "lastModifiedBy": "cb3PEvEU0kHkMdjb" },
"_id": "PJ0tqjZXQ5opcYzX",
"folder": null,
"sort": 0,
"ownership": { "default": 0, "cb3PEvEU0kHkMdjb": 3 }
}

View File

@ -0,0 +1,22 @@
{
"name": "Erschöpft",
"type": "effect",
"img": "icons/tools/instruments/injury-body-pain-gray.webp",
"system": {
"description": "",
"equippable": false,
"equipped": true,
"value": 0,
"magic": false,
"rolls": { "formulas": {}, "output": "" },
"mods": { "0": { "type": "stat", "id": "defenseBonus", "operation": "subtract", "value": 4 }, "1": { "type": "stat", "id": "attackBonus", "operation": "subtract", "value": 4 } },
"calc": {}
},
"effects": [],
"flags": {},
"_stats": { "systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700349805056, "modifiedTime": 1700353901248, "lastModifiedBy": "cb3PEvEU0kHkMdjb" },
"_id": "PJ0tqjZXQ5opcYz7",
"folder": null,
"sort": 0,
"ownership": { "default": 0, "cb3PEvEU0kHkMdjb": 3 }
}

View File

@ -0,0 +1,22 @@
{
"name": "Erzürnt",
"type": "effect",
"img": "icons/tools/instruments/fear-fright-monster-grin-red-orange.webp",
"system": {
"description": "",
"equippable": false,
"equipped": true,
"value": 0,
"magic": false,
"rolls": { "formulas": {}, "output": "" },
"mods": { "0": { "type": "stat", "id": "defenseBonus", "operation": "subtract", "value": 2 }, "1": { "type": "stat", "id": "attackBonus", "operation": "add", "value": 2 } },
"calc": {}
},
"effects": [],
"flags": {},
"_stats": { "systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700349805056, "modifiedTime": 1700353901248, "lastModifiedBy": "cb3PEvEU0kHkMdjb" },
"_id": "PJ0tqjZXQ5opcYz3",
"folder": null,
"sort": 0,
"ownership": { "default": 0, "cb3PEvEU0kHkMdjb": 3 }
}

View File

@ -0,0 +1,22 @@
{
"name": "Lahm",
"type": "effect",
"img": "icons/tools/instruments/feet-spurred-boots-brown.webp",
"system": {
"description": "",
"equippable": false,
"equipped": true,
"value": 0,
"magic": false,
"rolls": { "formulas": {}, "output": "" },
"mods": { "0": { "type": "stat", "id": "movement", "operation": "division", "value": 2 } },
"calc": {}
},
"effects": [],
"flags": {},
"_stats": { "systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700349805056, "modifiedTime": 1700353901248, "lastModifiedBy": "cb3PEvEU0kHkMdjb" },
"_id": "PJ0tqjZXQ5opcYz0",
"folder": null,
"sort": 0,
"ownership": { "default": 0, "cb3PEvEU0kHkMdjb": 3 }
}

View File

@ -0,0 +1,22 @@
{
"name": "Taumelnd",
"type": "effect",
"img": "icons/tools/instruments/silhouette-fall-slip-prone.webp",
"system": {
"description": "",
"equippable": false,
"equipped": true,
"value": 0,
"magic": false,
"rolls": { "formulas": {}, "output": "" },
"mods": { "0": { "type": "stat", "id": "defenseBonus", "operation": "subtract", "value": 2 }, "1": { "type": "stat", "id": "attackBonus", "operation": "sub", "value": 2 } },
"calc": {}
},
"effects": [],
"flags": {},
"_stats": { "systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700349805056, "modifiedTime": 1700353901248, "lastModifiedBy": "cb3PEvEU0kHkMdjb" },
"_id": "PJ0tqjZXQ5opcYz1",
"folder": null,
"sort": 0,
"ownership": { "default": 0, "cb3PEvEU0kHkMdjb": 3 }
}

View File

@ -0,0 +1,22 @@
{
"name": "Überrascht",
"type": "effect",
"img": "icons/tools/instruments/silhouette-hold-change-green.webp",
"system": {
"description": "",
"equippable": false,
"equipped": true,
"value": 0,
"magic": false,
"rolls": { "formulas": {}, "output": "" },
"mods": { "0": { "type": "stat", "id": "defenseBonus", "operation": "subtract", "value": 4 } },
"calc": {}
},
"effects": [],
"flags": {},
"_stats": { "systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700349805056, "modifiedTime": 1700353901248, "lastModifiedBy": "cb3PEvEU0kHkMdjb" },
"_id": "PJ0tqjZXQ5opcYz2",
"folder": null,
"sort": 0,
"ownership": { "default": 0, "cb3PEvEU0kHkMdjb": 3 }
}

View File

@ -0,0 +1,22 @@
{
"name": "Lahm",
"type": "effect",
"img": "icons/tools/instruments/silhouette-grow-shrink-blue.webp",
"system": {
"description": "",
"equippable": false,
"equipped": true,
"value": 0,
"magic": false,
"rolls": { "formulas": {}, "output": "" },
"mods": { "0": { "type": "stat", "id": "movement", "operation": "fixed", "value": 0 } },
"calc": {}
},
"effects": [],
"flags": {},
"_stats": { "systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700349805056, "modifiedTime": 1700353901248, "lastModifiedBy": "cb3PEvEU0kHkMdjb" },
"_id": "PJ0tqjZXQ5opcYz6",
"folder": null,
"sort": 0,
"ownership": { "default": 0, "cb3PEvEU0kHkMdjb": 3 }
}

View File

@ -95,6 +95,9 @@ export enum M5ModOperation {
ADD = "add",
SET = "set",
FIXED = "fixed",
MULTIPLY = "multiply",
SUBTRACT = "subtract",
DIVISION = "division",
}
export interface M5ItemMod {

View File

@ -126,6 +126,27 @@ export default class M5ModAggregate {
const bonus = mods.map((p) => p.mod.value).reduce((a, b) => a + b, 0);
ret.value = Math.max(0, ret.value + bonus);
}
mods = arr.filter((pair) => pair.mod.operation === M5ModOperation.SUBTRACT);
if (mods.length !== 0) {
ret.mods = ret.mods.concat(mods.map(this.pairAsSource));
const bonus = mods.map((p) => p.mod.value).reduce((a, b) => a - b, 0);
ret.value = Math.max(0, ret.value + bonus);
}
mods = arr.filter((pair) => pair.mod.operation === M5ModOperation.MULTIPLY);
if (mods.length !== 0) {
ret.mods = ret.mods.concat(mods.map(this.pairAsSource));
const bonus = mods.map((p) => p.mod.value).reduce((a, b) => a * b, 0);
ret.value = Math.max(0, ret.value + bonus);
}
mods = arr.filter((pair) => pair.mod.operation === M5ModOperation.DIVISION);
if (mods.length !== 0) {
ret.mods = ret.mods.concat(mods.map(this.pairAsSource));
const bonus = mods.map((p) => p.mod.value).reduce((a, b) => a / b, 0);
ret.value = Math.max(0, ret.value + bonus);
}
}
return ret;

View File

@ -48,6 +48,13 @@
"path": "./packs/items/ausrustung.db",
"type": "Item"
},
{
"name": "kampfzustaende",
"label": "Kampfzustände",
"system": "midgard5",
"path": "./packs/items/kampfzustaende.db",
"type": "Item"
},
{
"name": "waffenkammer",
"label": "Waffenkammer",