Charakterbogen anpassen #7 #9

Merged
oskaloq merged 2 commits from oskaloq into develop 2024-01-03 15:57:18 +01:00
15 changed files with 466 additions and 166 deletions

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="512" height="512"><path fill="#000" d="M51.67 24.377c0 215.76 44.432 429.318 209.21 474.63 181.394-38.7 209.446-258.276 209.446-474.63H51.67zM276.482 44.79c1.448.018 2.916.13 4.375.34l.07.01c6.26.92 12.11 3.844 15.452 6.77L275.18 180.922l17.607 5.646L352.07 66.25c4.27-.31 10.41.832 16.05 3.863 5.992 3.22 10.74 8.133 12.995 12.658l-56.13 116.24 15.218 10.48 76.664-81.246c4.1 1.16 9.34 4.344 13.65 9.195 4.623 5.2 7.66 11.762 8.53 16.882L337.624 263.916l.135-.143c-14.347 14.864-16.183 38.756-12.852 68.202 3.173 28.047 11.84 62.157 23.774 100.28-25.156 24.603-55.416 40.65-85.72 47.116-28.74-10.175-50.453-19.478-72.64-39.227 20.222-52.778 24.746-101.603 23.157-140.637 6.284 2.99 12.498 5.453 18.69 7.197 15.103 4.253 30.777 3.893 44.453-4.392l-9.687-15.988c-8.748 5.3-17.79 5.74-29.7 2.387-11.91-3.355-25.99-10.902-41.486-20.733-28.876-18.32-62.683-44.228-101.223-63.307 4.407-8.026 9.135-12.05 13.983-13.96 6.228-2.456 14.186-1.912 24.166 1.56 15.198 5.29 33.493 17.21 52.21 28.808l16.007-9.14-.754-3.508c-.613-.38-1.218-.745-1.83-1.127L167.284 65.877c3.303-3.966 9.28-8.136 15.986-10.318 6.207-2.02 12.423-2.145 16.595-1.113l25.715 116.66 18.36-.543 19.59-123.007c3.058-1.567 7.08-2.622 11.513-2.756.477-.014.957-.017 1.44-.01z"/></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
assets/icons/logo/midgard.webp Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -4,12 +4,14 @@
"ACTOR.TypeVehicle": "Transportmittel / Pferd etc.",
"TYPES.Item.item": "Gegenstand",
"TYPES.Item.skill": "Fertigkeit",
"TYPES.Item.weapon": "Waffe",
"TYPES.Item.defensiveWeapon": "Verteidigungswaffe",
"TYPES.Item.armor": "Rüstung",
"TYPES.Item.spell": "Zauber",
"TYPES.Item.effect": "Aktive Effekte",
"TYPES.Item.kampfkunst": "Kampfkünste",
"TYPES.Item.effect": "Aktiver Effekt",
"TYPES.Item.kampfkunst": "Kampfkunst",
"TYPES.Item.container": "Aufbewahrung",
"midgard5.phase-action": "Handlungsphase",
"midgard5.phase-movement": "Bewegungsphase",
@ -91,10 +93,13 @@
"midgard5.origin": "Heimat",
"midgard5.faith": "Glaube",
"midgard5.currency": "Geld",
"midgard5.currency-gold": "Gold",
"midgard5.currency-silver": "Silber",
"midgard5.currency-copper": "Kupfer",
"midgard5.no-container": "Ohne",
"midgard5.exp-overall": "Erfahrungsschatz",
"midgard5.exp-available": "Erfahrungspunkte",
"midgard5.grace": "Göttliche Gnade",
@ -219,7 +224,7 @@
"midgard5.equipped": "Ausgerüstet",
"midgard5.active": "Aktiv",
"midgard5.rangedWeapon": "Schusswaffe",
"midgard5.assignItemToCharacter": "Füge Gegenstand einem Charakter hinzu, um Fähigkeit auwählen zu können",
"midgard5.assignItemToCharacter": "Füge Gegenstand einem Charakter hinzu, um hier etwas auswählen zu können",
"midgard5.pw": "Prüfwurf",
"midgard5.attack": "Angriff",

View File

@ -187,6 +187,7 @@ export interface M5CharacterCalculatedData {
defensiveWeapons: {};
armor: {};
items: {};
containers: {};
effects: {};
};
spells: {};

View File

@ -32,6 +32,7 @@ export class M5Character extends Actor {
defensiveWeapons?: boolean;
armor?: boolean;
items?: boolean;
containers?: boolean;
spells?: boolean;
effects?: boolean;
kampfkuenste?: boolean;
@ -85,6 +86,7 @@ export class M5Character extends Actor {
defensiveWeapons: {},
armor: {},
items: {},
containers: {},
effects: {},
},
spells: {},
@ -148,7 +150,7 @@ export class M5Character extends Actor {
const aggregate = new M5ModAggregate(data, ret);
context.items
?.filter((item) => (item.type === "item" || item.type === "effect" || item.type === "armor") && item.system.equipped)
?.filter((item) => (item.type === "item" || item.type === "effect" || item.type === "armor" || item.type === "container") && item.system.equipped)
.forEach((item) => {
const mods = item.system.mods;
//console.log("Actor item mods", mods)
@ -171,6 +173,7 @@ export class M5Character extends Actor {
if (item.system.magic) {
label += "*";
}
let icon = item.img;
Review

Wenn wir icons schon mit reinnehmen in das actor sheet, dann sollten wir die in der tabelle auch anzeigen

Wenn wir icons schon mit reinnehmen in das actor sheet, dann sollten wir die in der tabelle auch anzeigen
Review

War auch der Plan für den nächsten Schritt. Ich habe das nur gleich mitgemacht, als ich die Icons für Container eingeführt habe ...

War auch der Plan für den nächsten Schritt. Ich habe das nur gleich mitgemacht, als ich die Icons für Container eingeführt habe ...
let rollable = false;
// console.log(item.system.rolls.formulas.map((p) => p.enabled));
@ -182,9 +185,48 @@ export class M5Character extends Actor {
}
ret.gear.items[item.id] = {
label: label,
icon: icon,
magic: item.system.magic,
calc: item.system.calc,
equipped: item.system?.equipped,
weight: item.system.weight || 0,
containerId: item.system.containerId || "",
value: item.system.value || 0,
currency: item.system.currency || "",
quantity: item.system.quantity || 0,
rollExist: rollable,
};
});
}
if (!skip?.containers) {
context.items
?.filter((item) => item.type === "container")
.forEach((item) => {
item.prepareDerivedData();
let label = item.name;
if (item.system.magic) {
label += "*";
}
let icon = item.img;
let rollable = false;
// console.log(item.system.rolls.formulas.map((p) => p.enabled));
for (let key in item.system.rolls.formulas) {
Review

Falls wir würfe rausnehmen, kann das weg

Falls wir würfe rausnehmen, kann das weg
Review

Ich habe sie erst einmal absichtlich drinnen gelassen: Container sind im Prinzip auch nur Gegenstände und könnten zB genauso verzaubert sein. Auch mods habe ich erstmal drinnen gelassen. Ein magischer Rucksack könnte ja die Traglast verbessern ...

Ich habe sie erst einmal absichtlich drinnen gelassen: Container sind im Prinzip auch nur Gegenstände und könnten zB genauso verzaubert sein. Auch mods habe ich erstmal drinnen gelassen. Ein magischer Rucksack könnte ja die Traglast verbessern ...
rollable = item.system.rolls.formulas[key].enabled;
if (rollable) {
break;
}
}
ret.gear.containers[item.id] = {
label: label,
icon: icon,
magic: item.system.magic,
calc: item.system.calc,
equipped: item.system?.equipped,
weight: item.system.weight || 0,
containerId: item.system.containerId || "",
Review

Container brauch nicht seine eigene ID als element haben, das wird schon über item.id geregelt

Container brauch nicht seine eigene ID als element haben, das wird schon über item.id geregelt
value: item.system.value || 0,
currency: item.system.currency || "",
quantity: item.system.quantity || 0,

View File

@ -14,7 +14,22 @@ export class M5Item extends Item {
const itemData = (this as any).system;
const calc = itemData.calc;
if (itemType === "skill") {
if (itemType === "item") {
calc.containers = null;
if (actor) {
const actorCalc = actor.derivedData({ weapons: true, defensiveWeapons: true, armor: true, items: true, spells: true, effects: true, kampfkuenste: true });
if (actorCalc) {
calc.containers = actorCalc.gear.containers;
Review

Mir gefällt nicht das wir alle container im item speichern aber ich sehe spontan leider auch keine andere möglichkeit

Mir gefällt nicht das wir alle container im item speichern aber ich sehe spontan leider auch keine andere möglichkeit
Review

Die anderen Lösungen (zB DSA) machen es wohl auch ähnlich ...

Die anderen Lösungen (zB DSA) machen es wohl auch ähnlich ...
}
const container = character.getItem(itemData.containerId);
//console.log("M5Item.prepareDerivedData:containers", itemData, container?.system)
if (container) {
container.prepareDerivedData();
const containerData = container.system;
}
}
} else if (itemType === "skill") {
calc.fw = itemData.fw;
calc.bonus = 0;

View File

@ -8,7 +8,7 @@ export default class M5CharacterSheet extends ActorSheet {
static get defaultOptions() {
return mergeObject(super.defaultOptions, {
template: "systems/midgard5/templates/sheets/character/main.hbs",
width: 800,
width: 1200,
height: 800,
classes: ["midgard5", "sheet", "character"],
tabs: [{ navSelector: ".sheet-navigation", contentSelector: ".sheet-content", initial: "base_values" }],
@ -270,7 +270,7 @@ export default class M5CharacterSheet extends ActorSheet {
const item = this.actor.items.get(li.dataset.itemId);
// limit transfer on personal weapons/armour/gear
if (["skill", "item", "weapon", "defensiveWeapon", "armor", "spell", "effect", "kampfkunst"].includes(item.type)) {
if (["skill", "item", "weapon", "defensiveWeapon", "armor", "spell", "effect", "kampfkunst", "container"].includes(item.type)) {
const dragData = {
type: "Transfer",
actorId: this.actor.id,

View File

@ -3,6 +3,37 @@
@attributeBorderColor: rgba(0, 0, 0, 0.5);
.midgard5 {
.flexbox {
display: flex;
flex-direction: row;
flex-wrap: wrap
}
.flexcolumn-2 {
flex: 50%;
}
.flexpart {
gap: 0;
padding: 0;
margin: 10px;
background-color: beige;
border: 2px solid black;
}
.flexpart-header {
font-weight: bold;
font-size: large;
text-align: center;
color: black;
}
.flexpart-icon {
height: 2rem;
float: left;
border: 0px solid transparent;
}
.flexrow {
align-items: center;
}
@ -33,7 +64,7 @@
.profile-img {
max-width: 128px;
height: 160px;
height: 128px;
border: 0px solid black;
}
@ -68,6 +99,7 @@
table {
background-color: beige;
border: 0px solid transparent;
}
td,
@ -104,10 +136,16 @@
padding: 0.5rem 0.5rem 0.5rem 0.5rem;
text-align: left;
font-weight: bold;
background-color: dimgray;
}
}
.table-icon {
height: 1rem;
width: 1rem;
float: left;
border: 0px solid transparent;
}
input.skill {
width: 5rem;
}

View File

@ -140,15 +140,19 @@
"zauberkunde": { "fw": 0, "attribute": "in", "initial": 8, "pp": 0 }
}
}
},
"gear": {
"gear": {
}
}
},
"character": {
"templates": ["characterBars", "attributes", "characterDescription", "characterHeader", "skills"],
"templates": ["characterBars", "attributes", "characterDescription", "characterHeader", "skills", "gear"],
"calc": {}
}
},
"Item": {
"types": ["skill", "weapon", "defensiveWeapon", "armor", "spell", "kampfkunst", "item", "effect"],
"types": ["skill", "weapon", "defensiveWeapon", "armor", "spell", "kampfkunst", "item", "effect", "container"],
"templates": {
"itemDescription": {
"description": ""
@ -202,6 +206,8 @@
},
"physical": {
"value": 0,
"weight": 0,
"containerId": "",
"magic": false
},
"durationSelection": {
@ -305,6 +311,15 @@
"mods": {},
"calc": {}
},
"container": {
"templates": ["itemDescription", "equippable", "physical"],
"rolls": {
"formulas": {},
"output": ""
},
"mods": {},
"calc": {}
},
"effect": {
"templates": ["itemDescription", "equippable", "physical", "durationSelection"],
"rolls": {

View File

@ -1,5 +1,10 @@
<table>
<thead>
<div class="flexbox">
<div class="flexcolumn-2">
<div class="flexpart">
<div class="flexpart-header"><img src="icons/commodities/currency/coins-assorted-mix-copper-silver-gold.webp" class="flexpart-icon">Geld</div>
<table>
<thead class="theader">
<tr>
<th class="title" style="text-align: center">{{localize "midgard5.currency-gold"}}</th>
<th class="title" style="text-align: center">{{localize "midgard5.currency-silver"}}</th>
@ -7,122 +12,23 @@
</tr>
</thead>
<tbody>
<tr height = 10px></tr>
<tr>
<td class="fixed-value"><input type="number" name="data.info.gold" value="{{data.info.gold}}"></td>
<td class="fixed-value"><input type="number" name="data.info.silver" value="{{data.info.silver}}"></td>
<td class="fixed-value"><input type="number" name="data.info.copper" value="{{data.info.copper}}"></td>
</tr>
</tbody>
</table>
</table>
</div>
<table>
<thead>
<tr>
<th class="title">{{localize "TYPES.Item.weapon"}}</th>
<th class="title">{{localize "midgard5.ew"}}</th>
<th class="title"></th>
<th class="title"></th>
</tr>
</thead>
<tbody>
{{#each data.calc.gear.weapons as |item itemId|}}
<tr data-item="{{itemId}}">
<td class="padding edit-item">{{item.label}}</td>
<td class="fixed-value">{{item.calc.ew}}</td>
<td class="fixed-value"><button class="roll-button roll-weapon-button"></button></td>
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
</tr>
{{/each}}
<tr data-item="{{itemId}}">
<td class="padding edit-item">{{localize "midgard5.brawl"}}</td>
<td class="center">{{data.calc.stats.brawlFw}}</td>
<td class="fixed-value"><button class="roll-button roll-brawl-button"></button></td>
<td class="fixed-value"></td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<th class="title">{{localize "TYPES.Item.defensiveWeapon"}}</th>
<th class="title">{{localize "midgard5.ew"}}</th>
<th class="title"></th>
<th class="title"></th>
</tr>
</thead>
<tbody>
{{#each data.calc.gear.defensiveWeapons as |item itemId|}}
<tr data-item="{{itemId}}">
<td class="padding edit-item">{{item.label}}</td>
<td class="fixed-value">{{item.calc.ew}}</td>
<td class="fixed-value"><button class="roll-button roll-weapon-button"></button></td>
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
</tr>
{{/each}}
<tr data-item="{{itemId}}">
<td class="padding edit-item">{{localize "midgard5.defense"}}</td>
<td class="center">{{add data.calc.stats.defense.value data.calc.stats.defenseBonus.value}}</td>
<td class="fixed-value"><button class="roll-button roll-defense-button"></button></td>
<td class="fixed-value"></td>
</tr>
<tr data-item="{{itemId}}">
<td class="padding edit-item">{{localize "midgard5.resistanceMind"}}</td>
<td class="center">{{data.calc.stats.resistanceMind.value}}</td>
<td class="fixed-value"><button class="roll-button roll-resistanceMind-button"></button></td>
<td class="fixed-value"></td>
</tr>
<tr data-item="{{itemId}}">
<td class="padding edit-item">{{localize "midgard5.resistanceBody"}}</td>
<td class="center">{{data.calc.stats.resistanceBody.value}}</td>
<td class="fixed-value"><button class="roll-button roll-resistanceBody-button"></button></td>
<td class="fixed-value"></td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<th class="title">{{localize "TYPES.Item.armor"}}</th>
<th class="title">{{localize "midgard5.actor-lp-short"}}</th>
<th class="title">{{localize "midgard5.actor-ap-short"}}</th>
<th class="title">{{localize "midgard5.attackBonus-short"}}</th>
<th class="title">{{localize "midgard5.defenseBonus-short"}}</th>
<th class="title">B</th>
<th class="title">Gw</th>
<th class="title"></th>
</tr>
</thead>
<tbody>
{{#each data.calc.gear.armor as |item itemId|}}
<tr data-item="{{itemId}}">
<td class="padding">
<span class="edit-item">{{item.label}}</span>
{{#if item.equipped}}
<span class="spell-process">{{localize "midgard5.equipped"}}</span>
{{/if}}
</td>
<td class="fixed-value">{{actorItemValue ../actor._id itemId "lpProtection" ../actor.isToken}}</td>
<td class="fixed-value">{{actorItemValue ../actor._id itemId "apProtection"}}</td>
<td class="fixed-value">{{actorItemValue ../actor._id itemId "stats.attackBonus"}}</td>
<td class="fixed-value">{{actorItemValue ../actor._id itemId "stats.defenseBonus"}}</td>
<td class="fixed-value">{{actorItemValue ../actor._id itemId "stats.movementBonus"}}</td>
<td class="fixed-value">{{actorItemValue ../actor._id itemId "attributeMod.gw"}}</td>
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
</tr>
{{/each}}
</tbody>
</table>
<table>
<thead>
<div class="flexpart">
<div class="flexpart-header"><img src="icons/tools/hand/scale-balances-merchant-brown.webp" class="flexpart-icon">{{localize "TYPES.Item.item"}}</div>
<table>
<thead class="theader">
<tr>
<th class="title">{{localize "TYPES.Item.item"}}</th>
<th class="title center">{{localize "midgard5.equipped"}}</th>
<th class="title center">{{localize "midgard5.item-quantity"}}</th>
<th class="title center">{{localize "midgard5.item-value"}}</th>
<th class="title"></th>
@ -130,13 +36,16 @@
</tr>
</thead>
<tbody>
<tr height = 10px></tr>
</tr>
{{#each data.calc.gear.items as |item itemId|}}
<tr data-item="{{itemId}}">
<td class="padding">
<span class="edit-item">{{item.label}}</span>
</td>
<td>
{{#if item.equipped}}
<span class="spell-process">{{localize "midgard5.equipped"}}</span>
<img src="/systems/midgard5/assets/icons/icon/black-hand-shield.svg" class="table-icon">
{{/if}}
</td>
<td>
@ -154,4 +63,100 @@
</tr>
{{/each}}
</tbody>
</table>
</table>
</div>
</div>
<div class="flexcolumn-2">
<div class="flexpart">
<div class="flexpart-header"><img src="icons/containers/chest/chest-simple-box-brown.webp" class="flexpart-icon">{{localize "TYPES.Item.container"}}</div>
<table>
<thead class="theader">
<tr>
<th class="title">{{localize "TYPES.Item.container"}}</th>
<th class="title center">{{localize "midgard5.equipped"}}</th>
<th class="title center">{{localize "midgard5.item-value"}}</th>
<th class="title"></th>
<th class="title"></th>
</tr>
</thead>
<tbody>
<tr height = 10px></tr>
</tr>
{{#each data.calc.gear.containers as |item itemId|}}
<tr data-item="{{itemId}}">
<td class="padding">
<span class="edit-item">{{item.label}}</span>
</td>
<td>
{{#if item.equipped}}
<img src="/systems/midgard5/assets/icons/icon/black-hand-shield.svg" class="table-icon">
{{/if}}
</td>
<td style="text-align: start">
{{#unless (or (eq item.value 0) (eq item.currency ""))}}
<span class="spell-process">{{item.value}} {{localize (m5concat "midgard5.currency-" item.currency)}}</span>
{{/unless}}
</td>
<td class="fixed-value">{{#if item.rollExist}}<button class="roll-button roll-consumable-item"></button>{{/if}}</td>
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
</tr>
{{/each}}
</tbody>
</table>
</div>
{{#each data.calc.gear.containers as |container containerId|}}
<div class="flexpart">
<div class="flexpart-header"><img src="{{container.icon}}" class="flexpart-icon">{{container.label}}</div>
<table>
<thead class="theader">
<tr>
<th class="title">{{localize "TYPES.Item.item"}}</th>
<th class="title center">{{localize "midgard5.equipped"}}</th>
<th class="title center">{{localize "TYPES.Item.container"}}</th>
<th class="title center">{{localize "midgard5.item-quantity"}}</th>
<th class="title center">{{localize "midgard5.item-value"}}</th>
<th class="title"></th>
<th class="title"></th>
</tr>
</thead>
<tbody>
<tr height = 10px></tr>
</tr>
{{#each ../data.calc.gear.items as |item itemId|}}
{{#if (eq item.containerId containerId)}}
<tr data-item="{{itemId}}">
<td class="padding">
<span class="edit-item">{{item.label}}</span>
</td>
<td>
{{#if item.equipped}}
<img src="/systems/midgard5/assets/icons/icon/black-hand-shield.svg" class="table-icon">
{{/if}}
</td>
<td>
{{localize "TYPES.Item.container"}}
</td>
<td>
<i class="fa fa-minus-circle quantity-decrease" style="cursor: pointer"></i>
<span>{{item.quantity}}</span>
<i class="fa fa-plus-circle quantity-increase" style="cursor: pointer"></i>
</td>
<td style="text-align: start">
{{#unless (or (eq item.value 0) (eq item.currency ""))}}
<span class="spell-process">{{item.value}} {{localize (m5concat "midgard5.currency-" item.currency)}}</span>
{{/unless}}
</td>
<td class="fixed-value">{{#if item.rollExist}}<button class="roll-button roll-consumable-item"></button>{{/if}}</td>
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
</tr>
{{/if}}
{{/each}}
</tbody>
</table>
</div>
{{/each}}
</div>
</div>

View File

@ -31,3 +31,106 @@
{{/each}}
</tbody>
</table>
<table>
<thead>
<tr>
<th class="title">{{localize "TYPES.Item.weapon"}}</th>
<th class="title">{{localize "midgard5.ew"}}</th>
<th class="title"></th>
<th class="title"></th>
</tr>
</thead>
<tbody>
{{#each data.calc.gear.weapons as |item itemId|}}
<tr data-item="{{itemId}}">
<td class="padding edit-item">{{item.label}}</td>
<td class="fixed-value">{{item.calc.ew}}</td>
<td class="fixed-value"><button class="roll-button roll-weapon-button"></button></td>
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
</tr>
{{/each}}
<tr data-item="{{itemId}}">
<td class="padding edit-item">{{localize "midgard5.brawl"}}</td>
<td class="center">{{data.calc.stats.brawlFw}}</td>
<td class="fixed-value"><button class="roll-button roll-brawl-button"></button></td>
<td class="fixed-value"></td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<th class="title">{{localize "TYPES.Item.defensiveWeapon"}}</th>
<th class="title">{{localize "midgard5.ew"}}</th>
<th class="title"></th>
<th class="title"></th>
</tr>
</thead>
<tbody>
{{#each data.calc.gear.defensiveWeapons as |item itemId|}}
<tr data-item="{{itemId}}">
<td class="padding edit-item">{{item.label}}</td>
<td class="fixed-value">{{item.calc.ew}}</td>
<td class="fixed-value"><button class="roll-button roll-weapon-button"></button></td>
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
</tr>
{{/each}}
<tr data-item="{{itemId}}">
<td class="padding edit-item">{{localize "midgard5.defense"}}</td>
<td class="center">{{add data.calc.stats.defense.value data.calc.stats.defenseBonus.value}}</td>
<td class="fixed-value"><button class="roll-button roll-defense-button"></button></td>
<td class="fixed-value"></td>
</tr>
<tr data-item="{{itemId}}">
<td class="padding edit-item">{{localize "midgard5.resistanceMind"}}</td>
<td class="center">{{data.calc.stats.resistanceMind.value}}</td>
<td class="fixed-value"><button class="roll-button roll-resistanceMind-button"></button></td>
<td class="fixed-value"></td>
</tr>
<tr data-item="{{itemId}}">
<td class="padding edit-item">{{localize "midgard5.resistanceBody"}}</td>
<td class="center">{{data.calc.stats.resistanceBody.value}}</td>
<td class="fixed-value"><button class="roll-button roll-resistanceBody-button"></button></td>
<td class="fixed-value"></td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<th class="title">{{localize "TYPES.Item.armor"}}</th>
<th class="title">{{localize "midgard5.actor-lp-short"}}</th>
<th class="title">{{localize "midgard5.actor-ap-short"}}</th>
<th class="title">{{localize "midgard5.attackBonus-short"}}</th>
<th class="title">{{localize "midgard5.defenseBonus-short"}}</th>
<th class="title">B</th>
<th class="title">Gw</th>
<th class="title"></th>
</tr>
</thead>
<tbody>
{{#each data.calc.gear.armor as |item itemId|}}
<tr data-item="{{itemId}}">
<td class="padding">
<span class="edit-item">{{item.label}}</span>
{{#if item.equipped}}
<span class="spell-process">{{localize "midgard5.equipped"}}</span>
{{/if}}
</td>
<td class="fixed-value">{{actorItemValue ../actor._id itemId "lpProtection" ../actor.isToken}}</td>
<td class="fixed-value">{{actorItemValue ../actor._id itemId "apProtection"}}</td>
<td class="fixed-value">{{actorItemValue ../actor._id itemId "stats.attackBonus"}}</td>
<td class="fixed-value">{{actorItemValue ../actor._id itemId "stats.defenseBonus"}}</td>
<td class="fixed-value">{{actorItemValue ../actor._id itemId "stats.movementBonus"}}</td>
<td class="fixed-value">{{actorItemValue ../actor._id itemId "attributeMod.gw"}}</td>
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
</tr>
{{/each}}
</tbody>
</table>

View File

@ -15,7 +15,7 @@
</tr>
<tr height = 10px></tr>
<tr>
<td rowspan="8" width=128><img style="max-width: 128px; height: 160px; border: 0px solid black;" src="{{actor.img}}" data-edit="img" title="{{actor.name}}" /></td>
<td rowspan="8" width=128><img style="max-width: 128px; height: 128px; border: 0px solid black;" src="{{actor.img}}" data-edit="img" title="{{actor.name}}" /></td>
<td></td>
<td colspan="3">
<input list="races" type="search" name="data.info.race" value="{{data.info.race}}" />

View File

@ -0,0 +1,55 @@
<form class="item-sheet {{cssClass}} m5item-item" autocomplete="off">
<header class="sheet-header">
<img class="item-img" src="{{item.img}}" data-edit="img" title="{{item.name}}" />
<h1><input name="name" type="text" value="{{item.name}}" placeholder="Name" /></h1>
</header>
<div class="sheet-content">
<table>
<tr>
<td colspan=4>
<div class="flexrow">
<span>
<input id="data.equipped" type="checkbox" name="data.equipped" {{checked data.equipped}}>
<label for="data.equipped">{{localize "midgard5.equipped"}}</label>
</span>
<span>
<input id="data.magic" type="checkbox" name="data.magic" {{checked data.magic}}>
<label for="data.magic">{{localize "midgard5.magic"}}</label>
</span>
</div>
</td>
</tr>
<tr>
<td>
<div class="flexrow">
<span>{{localize "midgard5.item-quantity"}}</span>
<input id="data.quantity" type="number" name="data.quantity" value="{{data.quantity}}">
</div>
</td>
</tr>
<tr>
Review

Brauchen wir den Wert eines Aufbewahrungsorts? Interessant wäre es vielleicht den Wert aller gegenstände in einem Aufbewahrungsort zusammen zu rechnen. Dann könnte man das auch für den Hort verwenden.

Brauchen wir den Wert eines Aufbewahrungsorts? Interessant wäre es vielleicht den Wert aller gegenstände in einem Aufbewahrungsort zusammen zu rechnen. Dann könnte man das auch für den Hort verwenden.
Review

Ich denke, wir brauchen Beides: Den Wert des Aufbewahrungsorts (so ein magischer Rucksack kann ganz schön teuer werden ;->), als auch den Gesamtwert der Aufbewahrung (Wert der Aufbewahrung selbst + enthaltene Gegenstände) ...

Ich denke, wir brauchen Beides: Den Wert des Aufbewahrungsorts (so ein magischer Rucksack kann ganz schön teuer werden ;->), als auch den Gesamtwert der Aufbewahrung (Wert der Aufbewahrung selbst + enthaltene Gegenstände) ...
<td>
<div class="flexrow">
<span>{{localize "midgard5.item-value"}}</span>
<input name="data.value" type="number" value="{{data.value}}" data-dtype="Number" />
<select class="select-mod-operation" name="data.currency" data-type="String">
{{#select data.currency}}
<option value=""></option>
<option value="copper">{{localize "midgard5.currency-copper"}}</option>
<option value="silver">{{localize "midgard5.currency-silver"}}</option>
<option value="gold">{{localize "midgard5.currency-gold"}}</option>
{{/select}}
</select>
</div>
</td>
</tr>
</table>
{{> "systems/midgard5/templates/sheets/item/rolls.hbs"}}
{{> "systems/midgard5/templates/sheets/partial/mod.hbs" mods=data.mods calc=data.calc}}
Review

Ein Aufbewahrungsort braucht meiner Meinung nach keine möglichen Mods oder Rolls

Ein Aufbewahrungsort braucht meiner Meinung nach keine möglichen Mods oder Rolls
Review

S.o.: Wäre aus meiner Sicht cool, wenn wir die möglichen Mods eher noch auf die Traglast des Acors bzw. das Gesamtgewicht eines Containers (inkl. enthaltene Gegenstände) erweitern würden ...

S.o.: Wäre aus meiner Sicht cool, wenn wir die möglichen Mods eher noch auf die Traglast des Acors bzw. das Gesamtgewicht eines Containers (inkl. enthaltene Gegenstände) erweitern würden ...
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
</div>
</form>

View File

@ -43,6 +43,26 @@
</div>
</td>
</tr>
<tr>
<td>
<div class="flexrow">
<span>{{localize "TYPES.Item.container"}}</span>
{{#if data.calc.containers}}
<select class="select-container" name="data.containerId" data-type="String">
{{#select data.containerId}}
<option value="">{{localize "midgard5.no-container"}}</option>
{{#each data.calc.containers as |container key|}}
<option value="{{key}}">{{container.label}}</option>
{{/each}}
{{/select}}
</select>
{{else}}
<span>{{localize "midgard5.assignItemToCharacter"}}</span>
{{/if}}
</div>
</td>
</tr>
</table>
{{> "systems/midgard5/templates/sheets/item/rolls.hbs"}}