- Use of flexboxes in two columns for better display - Introduction of item containers for the different storage of items Co-authored-by: Ender <harald@drueppels.de> Co-authored-by: Byroks <byroks@gmail.com> Reviewed-on: Byroks/foundry-vtt-system-midgard5#9 Reviewed-by: Byroks <byroks@gmail.com>
This commit is contained in:
parent
6baf9a0269
commit
b945f22710
|
|
@ -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 |
Binary file not shown.
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 11 KiB |
11
lang/de.json
11
lang/de.json
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -187,6 +187,7 @@ export interface M5CharacterCalculatedData {
|
|||
defensiveWeapons: {};
|
||||
armor: {};
|
||||
items: {};
|
||||
containers: {};
|
||||
effects: {};
|
||||
};
|
||||
spells: {};
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
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) {
|
||||
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 || "",
|
||||
value: item.system.value || 0,
|
||||
currency: item.system.currency || "",
|
||||
quantity: item.system.quantity || 0,
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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": {
|
||||
|
|
|
|||
|
|
@ -1,157 +1,162 @@
|
|||
<table>
|
||||
<thead>
|
||||
<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>
|
||||
<th class="title" style="text-align: center">{{localize "midgard5.currency-copper"}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<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>
|
||||
<div class="flexbox">
|
||||
<div class="flexcolumn-2">
|
||||
|
||||
<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>
|
||||
<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>
|
||||
<th class="title" style="text-align: center">{{localize "midgard5.currency-copper"}}</th>
|
||||
</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>
|
||||
</div>
|
||||
|
||||
<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>
|
||||
<th class="title"></th>
|
||||
</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}}
|
||||
<img src="/systems/midgard5/assets/icons/icon/black-hand-shield.svg" class="table-icon">
|
||||
{{/if}}
|
||||
</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>
|
||||
{{/each}}
|
||||
</tbody>
|
||||
</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}}
|
||||
|
||||
<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>
|
||||
<tr>
|
||||
<th class="title">{{localize "TYPES.Item.item"}}</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>
|
||||
{{#each data.calc.gear.items 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>
|
||||
<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>
|
||||
{{/each}}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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}}" />
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
<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}}
|
||||
|
||||
|
||||
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</form>
|
||||
|
|
@ -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"}}
|
||||
|
|
|
|||
Loading…
Reference in New Issue