tragkraft-containerwert-abw-kidoprep (#103)

+ Added ABW to items
+ Added warning for over-capacity
+ Added Valuecalculation for containers
+ Updated KiDo-template

Reviewed-on: #103
Reviewed-by: Byroks <byroks@gmail.com>
Co-authored-by: LeFrique <lefrique@live.de>
Co-committed-by: LeFrique <lefrique@live.de>
This commit is contained in:
LeFrique 2024-05-01 19:10:47 +02:00 committed by Le-Frique
parent 5a1e11d0d7
commit 37d6ba12e7
11 changed files with 89 additions and 30 deletions

View File

@ -61,6 +61,8 @@
"item-ismagic": "Ist Magisch", "item-ismagic": "Ist Magisch",
"item-wealth": "Vermögenswert", "item-wealth": "Vermögenswert",
"item-weight": "Gewicht", "item-weight": "Gewicht",
"item-abw": "ABW",
"item-abw-long": "Ausbrennwahrscheinlichkeit",
"actor-lp": "Lebenspunkte", "actor-lp": "Lebenspunkte",
"actor-lp-short": "LP", "actor-lp-short": "LP",
@ -133,7 +135,7 @@
"heavy-load": "Schwere Last", "heavy-load": "Schwere Last",
"thrust-load": "Schublast", "thrust-load": "Schublast",
"load-max": "Höchstlast", "load-max": "Höchstlast",
"load-capacity": "Tragkraft", "capacity": "Tragkraft",
"exp-overall": "Erfahrungsschatz", "exp-overall": "Erfahrungsschatz",
"exp-available": "Erfahrungspunkte", "exp-available": "Erfahrungspunkte",
@ -356,12 +358,13 @@
"spell-agens": "Agens", "spell-agens": "Agens",
"spell-reagens": "Reagens", "spell-reagens": "Reagens",
"spell-material": "Zaubermaterial", "spell-material": "Zaubermaterial",
"spell-rank": "Stufe",
"kampfkunst-type": "Form", "kampfkunst-type": "Form",
"kampfkunst-variante": "Variante", "kampfkunst-variante": "Variante",
"kampfkunst-variante-short": "Var", "kampfkunst-variante-short": "Var",
"kampfkunst-ep": "Erfahrungspunkte", "kampfkunst-ep": "Erfahrungspunkte",
"kampfkunst-rank": "Stufe", "kampfkunst-rank": "Stufe der Technik",
"kampfkunst-weapon": "Waffengruppe", "kampfkunst-weapon": "Waffengruppe",
"kampfkunst-enemy": "Einschränkungen durch Art der Gegner", "kampfkunst-enemy": "Einschränkungen durch Art der Gegner",
@ -385,6 +388,10 @@
"kido-variante": "KiDo Variante", "kido-variante": "KiDo Variante",
"kido-color": "Kampfstilfarbe", "kido-color": "Kampfstilfarbe",
"kido-style": "Art der Technik", "kido-style": "Art der Technik",
"kido-rank": "Stufe der Technik",
"kido-grade": "Ausbildungsgrad",
"kido-enemy": "Einschränkungen durch Art der Gegner",
"kido-weapon": "Waffengruppe",
"kido-type-angriff": "Kido Angriff", "kido-type-angriff": "Kido Angriff",
"kido-type-verteidigung": "Kido Verteidigung", "kido-type-verteidigung": "Kido Verteidigung",
@ -399,6 +406,7 @@
"kido-variante-blockieren": "Blockieren", "kido-variante-blockieren": "Blockieren",
"kido-variante-bewegen": "Bewegen", "kido-variante-bewegen": "Bewegen",
"kido-variante-kontrollieren": "Kontrollieren", "kido-variante-kontrollieren": "Kontrollieren",
"kido-variante-finte": "Finte",
"mod-operation-add100": "Addieren (max 100)", "mod-operation-add100": "Addieren (max 100)",
"mod-operation-roll": "Wurf Modifikation", "mod-operation-roll": "Wurf Modifikation",
@ -444,9 +452,9 @@
"reroll": "Neuwürfeln", "reroll": "Neuwürfeln",
"options": { "options": {
"modifier": "Modifikator", "modifier": "Wurfmodifikator",
"difficulty": "Schwellenwert", "difficulty": "Erfolg",
"rollMode": "Würfel Modus" "rollMode": "Würfelmodus"
} }
} }
} }

View File

@ -280,6 +280,7 @@ export class M5Character extends Actor {
if (!!item.system.containerId) { if (!!item.system.containerId) {
ret.gear.containers[item.system.containerId].weight += parseFloat((item.system.weight * item.system.quantity).toPrecision(4)); ret.gear.containers[item.system.containerId].weight += parseFloat((item.system.weight * item.system.quantity).toPrecision(4));
ret.gear.containers[item.system.containerId].value += parseFloat(this.calculateValue(item.system.value * item.system.quantity, item.system.currency).toPrecision(3));
if (ret.gear.containers[item.system.containerId].equipped) { if (ret.gear.containers[item.system.containerId].equipped) {
ret.stats.encumbrance += item.system.weight * item.system.quantity; ret.stats.encumbrance += item.system.weight * item.system.quantity;
} }
@ -302,6 +303,7 @@ export class M5Character extends Actor {
label: label, label: label,
icon: icon, icon: icon,
magic: item.system.magic, magic: item.system.magic,
abw: item.system.abw || 0,
calc: item.system.calc, calc: item.system.calc,
equipped: item.system?.equipped, equipped: item.system?.equipped,
valuable: item.system?.valuable, valuable: item.system?.valuable,
@ -352,6 +354,7 @@ export class M5Character extends Actor {
icon: item.img, icon: item.img,
skillId: item.system.skillId, skillId: item.system.skillId,
magic: item.system.magic, magic: item.system.magic,
abw: item.system.abw || 0,
valuable: item.system?.valuable, valuable: item.system?.valuable,
hoarded: item.system?.hoarded, hoarded: item.system?.hoarded,
value: item.system.value || 0, value: item.system.value || 0,
@ -395,6 +398,7 @@ export class M5Character extends Actor {
icon: item.img, icon: item.img,
skillId: item.system.skillId, skillId: item.system.skillId,
magic: item.system.magic, magic: item.system.magic,
abw: item.system.abw || 0,
valuable: item.system?.valuable, valuable: item.system?.valuable,
hoarded: item.system?.hoarded, hoarded: item.system?.hoarded,
value: item.system.value || 0, value: item.system.value || 0,
@ -438,6 +442,7 @@ export class M5Character extends Actor {
label: label, label: label,
icon: item.img, icon: item.img,
magic: item.system.magic, magic: item.system.magic,
abw: item.system.abw || 0,
valuable: item.system?.valuable, valuable: item.system?.valuable,
hoarded: item.system?.hoarded, hoarded: item.system?.hoarded,
value: item.system.value || 0, value: item.system.value || 0,

View File

@ -224,7 +224,8 @@
"weight": 0, "weight": 0,
"capacity": 0, "capacity": 0,
"containerId": "", "containerId": "",
"magic": false "magic": false,
"abw": 0
}, },
"durationSelection": { "durationSelection": {
"durationSelection": { "durationSelection": {
@ -314,7 +315,8 @@
"ausweichen": "midgard5.kido-variante-ausweichen", "ausweichen": "midgard5.kido-variante-ausweichen",
"blockieren": "midgard5.kido-variante-blockieren", "blockieren": "midgard5.kido-variante-blockieren",
"bewegen": "midgard5.kido-variante-bewegen", "bewegen": "midgard5.kido-variante-bewegen",
"kontrollieren": "midgard5.kido-variante-kontrollieren" "kontrollieren": "midgard5.kido-variante-kontrollieren",
"finte": "midgard5.kido-variante-finte"
} }
} }
}, },
@ -438,6 +440,7 @@
"agens": "", "agens": "",
"reagens": "", "reagens": "",
"material": "", "material": "",
"rank": 0,
"rolls": { "rolls": {
"formulas": { "formulas": {
"0": { "0": {
@ -459,10 +462,11 @@
"ap": "", "ap": "",
"weapon": "", "weapon": "",
"ep": "", "ep": "",
"rank": "", "rank": 0,
"enemy": "", "enemy": "",
"color": "", "color": "",
"style": "", "style": "",
"grade": "",
"rolls": { "rolls": {
"formulas": { "formulas": {
"0": { "0": {

View File

@ -94,31 +94,29 @@
<td class="roll-spell-details">{{i.ep}}</td> <td class="roll-spell-details">{{i.ep}}</td>
</tr> </tr>
<tr> <tr>
<td>{{localize "midgard5.kampfkunst-color"}}</td> <td>{{localize "midgard5.kido-color"}}</td>
<td class="roll-spell-details">{{i.color}}</td> <td class="roll-spell-details">{{i.color}}</td>
</tr> </tr>
<tr> <tr>
<td>{{localize "midgard5.kampfkunst-style"}}</td> <td>{{localize "midgard5.kido-style"}}</td>
<td class="roll-spell-details">{{i.style}}</td> <td class="roll-spell-details">{{i.style}}</td>
</tr> </tr>
<tr> <tr>
<td>{{localize "midgard5.kido-type"}}</td> <td>{{localize "midgard5.kido-type"}}</td>
<td class="roll-spell-details">{{localize (m5concat "midgard5.kido-type-" i.type)}}</td> <td class="roll-spell-details">{{localize (m5concat "midgard5.kido-type-" i.type)}}</td>
</tr> </tr>
{{#if (eq i.type "angriff")}}
<tr> <tr>
<td>{{localize "midgard5.kido-variante"}}</td> <td>{{localize "midgard5.kido-variante"}}</td>
<td class="roll-spell-details">{{localize (m5concat "midgard5.kido-variante-" i.variante)}}</td> <td class="roll-spell-details">{{localize (m5concat "midgard5.kido-variante-" i.variante)}}</td>
</tr> </tr>
<tr> <tr>
<td>{{localize "midgard5.kampfkunst-enemy"}}</td> <td>{{localize "midgard5.kido-enemy"}}</td>
<td class="roll-spell-details">{{i.enemy}}</td> <td class="roll-spell-details">{{i.enemy}}</td>
</tr> </tr>
<tr> <tr>
<td>{{localize "midgard5.kampfkunst-weapon"}}</td> <td>{{localize "midgard5.kido-weapon"}}</td>
<td class="roll-spell-details">{{i.weapon}}</td> <td class="roll-spell-details">{{i.weapon}}</td>
</tr> </tr>
{{/if}}
{{/unless}} {{/unless}}
{{/if}} {{/if}}

View File

@ -251,13 +251,13 @@
{{/unless}} {{/unless}}
</td> </td>
<td style="text-align: start"> <td style="text-align: start">
{{#unless (or (eq item.weight "") (eq item.equipped?))}} {{#unless (or (eq item.weight 0) (eq item.equipped?))}}
<span class="spell-process">{{item.weight}}kg</span> <span class="spell-process">{{item.weight}}kg</span>
{{/unless}} {{/unless}}
</td> </td>
<td style="text-align: start"> <td style="text-align: start">
{{#unless (eq item.capacity "")}} {{#unless (eq item.capacity 0)}}
<span class="spell-process">{{item.capacity}} kg</span> <span class="spell-process"{{#if (gt item.weight item.capacity) }}style="background:#FF6666"{{/if}}>{{item.capacity}}kg</span>
{{/unless}} {{/unless}}
</td> </td>
<td class="change-equipped"> <td class="change-equipped">

View File

@ -51,7 +51,13 @@
<td> <td>
<div class="flexrow"> <div class="flexrow">
<span>{{localize "midgard5.item-weight"}}</span> <span>{{localize "midgard5.item-weight"}}</span>
<input id="data.weight" type="number" name="data.weight" value="{{data.weight}}"> <input id="data.weight" type="number" name="data.weight" value="{{data.weight}}kg">
</div>
</td>
<td>
<div class="flexrow">
<span>{{localize "midgard5.item-abw"}}</span>
<input id="data.abw" type="number" name="data.abw" value="{{data.abw}}">
</div> </div>
</td> </td>
</tr> </tr>

View File

@ -18,6 +18,12 @@
</span> </span>
</div> </div>
</td> </td>
<td>
<div class="flexrow">
<span>{{localize "midgard5.item-abw"}}</span>
<input id="data.abw" type="number" name="data.abw" value="{{data.abw}}">
</div>
</td>
</tr> </tr>
<tr> <tr>
<td> <td>

View File

@ -55,7 +55,13 @@
<td> <td>
<div class="flexrow"> <div class="flexrow">
<span>{{localize "midgard5.item-weight"}}</span> <span>{{localize "midgard5.item-weight"}}</span>
<input id="data.weight" type="number" name="data.weight" value="{{data.weight}}"> <input id="data.weight" type="number" name="data.weight" value="{{data.weight}}kg">
</div>
</td>
<td>
<div class="flexrow">
<span>{{localize "midgard5.item-abw"}}</span>
<input id="data.abw" type="number" name="data.abw" value="{{data.abw}}">
</div> </div>
</td> </td>
</tr> </tr>

View File

@ -37,8 +37,6 @@
<input id="data.quantity" type="number" name="data.quantity" value="{{data.quantity}}"> <input id="data.quantity" type="number" name="data.quantity" value="{{data.quantity}}">
</div> </div>
</td> </td>
</tr>
<tr>
<td colspan="4"> <td colspan="4">
<div class="flexrow"> <div class="flexrow">
<span>{{localize "midgard5.item-value"}}</span> <span>{{localize "midgard5.item-value"}}</span>
@ -53,6 +51,18 @@
</select> </select>
</div> </div>
</td> </td>
<td>
<div class="flexrow">
<span>{{localize "midgard5.item-weight"}}</span>
<input id="data.weight" type="number" name="data.weight" value="{{data.weight}}">
</div>
</td>
<td>
<div class="flexrow">
<span>{{localize "midgard5.item-abw"}}</span>
<input id="data.abw" type="number" name="data.abw" value="{{data.abw}}">
</div>
</td>
</tr> </tr>
<tr> <tr>
@ -73,12 +83,6 @@
{{/if}} {{/if}}
</div> </div>
</td> </td>
<td>
<div class="flexrow">
<span>{{localize "midgard5.item-weight"}}</span>
<input id="data.weight" type="number" name="data.weight" value="{{data.weight}}">
</div>
</td>
</tr> </tr>
</table> </table>

View File

@ -25,8 +25,10 @@
<tr> <tr>
<td>{{localize "midgard5.kampfkunst-ep"}}</td> <td>{{localize "midgard5.kampfkunst-ep"}}</td>
<td><input name="data.ep" type="text" value="{{data.ep}}" data-dtype="String" /></td> <td><input name="data.ep" type="text" value="{{data.ep}}" data-dtype="String" /></td>
{{#unless item.system.isKido}}
<td>{{localize "midgard5.kampfkunst-rank"}}</td> <td>{{localize "midgard5.kampfkunst-rank"}}</td>
<td><input name="data.rank" type="text" value="{{data.rank}}" data-dtype="String" /></td> <td><input name="data.rank" type="number" value="{{data.rank}}" data-dtype="Number" /></td>
{{/unless}}
</tr> </tr>
<tr> <tr>
<td>{{localize "midgard5.kampfkunst-weapon"}}</td> <td>{{localize "midgard5.kampfkunst-weapon"}}</td>
@ -83,6 +85,20 @@
</td> </td>
{{/unless}} {{/unless}}
{{/unless}} {{/unless}}
{{#if item.system.isKido}}
<tr>
<td>{{localize "midgard5.kido-color"}}</td>
<td><input name="data.color" type="text" value="{{data.color}}" data-dtype="String" /></td>
<td>{{localize "midgard5.kido-style"}}</td>
<td><input name="data.style" type="text" value="{{data.style}}" data-dtype="String" /></td>
</tr>
<tr>
<td>{{localize "midgard5.kido-grade"}}</td>
<td><input name="data.grade" type="text" value="{{data.grade}}" data-dtype="String" /></td>
<td>{{localize "midgard5.kido-rank"}}</td>
<td><input name="data.rank" type="number" value="{{data.rank}}" data-dtype="Number" /></td>
</tr>
{{/if}}
</tr> </tr>
<td>{{localize "midgard5.skill"}}</td> <td>{{localize "midgard5.skill"}}</td>
<td> <td>

View File

@ -60,7 +60,13 @@
<td> <td>
<div class="flexrow"> <div class="flexrow">
<span>{{localize "midgard5.item-weight"}}</span> <span>{{localize "midgard5.item-weight"}}</span>
<input id="data.weight" type="number" name="data.weight" value="{{data.weight}}"> <input id="data.weight" type="number" name="data.weight" value="{{data.weight}}kg">
</div>
</td>
<td>
<div class="flexrow">
<span>{{localize "midgard5.item-abw"}}</span>
<input id="data.abw" type="number" name="data.abw" value="{{data.abw}}">
</div> </div>
</td> </td>
</tr> </tr>