Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5a41c4bb56 | ||
|
|
26b2bddc2d | ||
|
|
9f1334da4f | ||
|
|
454982906f | ||
|
|
7ee92f6601 | ||
|
|
33c65735bd | ||
|
|
2bfd3a7d6a | ||
|
|
03b87f2df0 | ||
|
|
9d72b31d5f | ||
|
|
c13fef5103 | ||
|
|
abf8077131 | ||
|
|
b5b75aa2c6 | ||
|
|
7368673ba3 | ||
|
|
a606750b23 | ||
|
|
7358b67da2 | ||
|
|
2a36b8eaa1 | ||
|
|
f38ef8aa6d | ||
|
|
2ac8a6bba4 | ||
|
|
41fb1a8879 | ||
|
|
ff74871a0c | ||
|
|
f8b65c030f | ||
|
|
31a4ccfda1 | ||
|
|
c24e2b7af2 | ||
|
|
cfdba0ee75 | ||
|
|
d67de1b064 | ||
|
|
718f1eab99 | ||
|
|
47fd5b7763 | ||
|
|
ad884994dd | ||
|
|
b08bd195c7 | ||
|
|
c83cd8f079 | ||
|
|
b1ef88235f | ||
|
|
da1ae4e16e | ||
|
|
840a7c1dc4 | ||
|
|
4825166f87 | ||
|
|
b8e873537c | ||
|
|
975bcd1e15 | ||
|
|
b945f22710 | ||
|
|
6baf9a0269 |
@@ -0,0 +1,15 @@
|
|||||||
|
name: Move new issues into To Do
|
||||||
|
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [opened]
|
||||||
|
jobs:
|
||||||
|
createCard:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Close Issue
|
||||||
|
run: >
|
||||||
|
curl -X PATCH -H "Content-Type: application/xml"
|
||||||
|
-H "Authorization: token ${{ secrets.GITEA_TOKEN }}
|
||||||
|
-d '{ "state": "To Do" }'
|
||||||
|
"${{ gitea.event.issue.url }}"
|
||||||
|
After Width: | Height: | Size: 173 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="512" height="512"><path fill="#fff" d="M262.406 17.188c-27.22 8.822-54.017 28.012-72.375 55.53 17.544 47.898 17.544 57.26 0 105.157 19.92 15.463 40.304 24.76 60.782 27.47-2.063-25.563-3.63-51.13 1.125-76.69-13.625-1.483-23.374-5.995-37-13.874V82.563c35.866 19.096 61.84 18.777 98.813 0v32.22c-13.364 6.497-21.886 11.16-35.25 13.218 3.614 25.568 3.48 51.15 1.375 76.72 18.644-3.265 37.236-12.113 55.5-26.845-14.353-47.897-14.355-57.26 0-105.156-16.982-28.008-47.453-46.633-72.97-55.532zm-129.594 8.218c-25.906 110.414-27.35 215.33-27.4 330.922-18.84-1.537-37.582-5.12-56.027-11.12v28.554h69.066c8.715 35.025 6.472 70.052-1.036 105.078h28.13c-7.195-35.026-8.237-70.053-.872-105.078h68.904v-28.555c-18.49 4.942-37.256 8.552-56.097 10.46.082-114.94 2.496-223.068-24.667-330.26zm89.47 202.375c0 117.27 25.517 233.342 120.155 257.97C446.62 464.716 462.72 345.374 462.72 227.78H222.28z"/></svg>
|
||||||
|
After Width: | Height: | Size: 956 B |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="512" height="512"><path fill="#000" d="M256 16C123.5 16 16 123.5 16 256c0 132.6 107.5 240 240 240 132.6 0 240-107.4 240-240S388.6 16 256 16zm0 60c99.4 0 180 80.6 180 180s-80.6 180-180 180S76 355.4 76 256 156.6 76 256 76zm91.3 64.2c-6.5 0-12.5 2.4-16.8 8.2-52 70.1-69 96.5-106 169.8-8.4-11.1-65.6-72.4-93.9-94.1-14.2-10.9-41.3 27.2-31.6 37.1C142.6 306.1 220.1 406 232.7 405c21.4-1.7 75.1-136.8 148.8-233.7 8-10.4-15-31.3-34.2-31.1z"/></svg>
|
||||||
|
After Width: | Height: | Size: 508 B |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 85 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 84 KiB |
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 11 KiB |
@@ -6,7 +6,7 @@ _**Warnung:** Das System befindet sich noch in der Entwicklung._
|
|||||||
|
|
||||||
Gehe auf die Setup-Seite deiner Foundry VTT Instanz. Klicke im Reiter **Game Systems** auf den Button **Install System**. In dem dann geöffneten Dialog, unten in der Zeile **Manifest URL** den Link zur aktuellen (oder gewünschten) Version der _system.json_ eintragen und auf **Install** klicken:
|
Gehe auf die Setup-Seite deiner Foundry VTT Instanz. Klicke im Reiter **Game Systems** auf den Button **Install System**. In dem dann geöffneten Dialog, unten in der Zeile **Manifest URL** den Link zur aktuellen (oder gewünschten) Version der _system.json_ eintragen und auf **Install** klicken:
|
||||||
|
|
||||||
https://github.com/byroks/foundry-vtt-system-midgard5/releases/download/v1.3.0/system.json
|
https://git.byroks.de/MidgardVTT-Entwicklung/foundry-vtt-system-midgard5/releases/download/v1.3.0/system.json
|
||||||
|
|
||||||
Danach kann eine Spielwelt mit dem System erstellt werden.
|
Danach kann eine Spielwelt mit dem System erstellt werden.
|
||||||
|
|
||||||
@@ -32,7 +32,7 @@ Dieser Reiter enthält (mit Ausname von Zaubern) alle zu erlernenden Dinge des C
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
Es kann einfach per Drag'n'Drop die entsprechende Blaupause auf den Charakterbogen gezogen werden, um eine Fertigkeit/Fähigkeit/Sprache zu *lernen.* Alternativ kann auch der **Lernen** Button bei den **ungelernten Fertigkeiten** geklickt werden.
|
Es kann einfach per Drag'n'Drop die entsprechende Blaupause auf den Charakterbogen gezogen werden, um eine Fertigkeit/Fähigkeit/Sprache zu _lernen._ Alternativ kann auch der **Lernen** Button bei den **ungelernten Fertigkeiten** geklickt werden.
|
||||||
|
|
||||||
Um den **Fertigkeitswert** und die **Leiteigenschaft** einer Fertigkeit anzupassen, kann man auf die Fertigkeit klicken. Dann geht folgender Dialog auf:
|
Um den **Fertigkeitswert** und die **Leiteigenschaft** einer Fertigkeit anzupassen, kann man auf die Fertigkeit klicken. Dann geht folgender Dialog auf:
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{
|
{
|
||||||
"moduleName": "Midgard 5. Edition",
|
"moduleName": "Midgard 5. Edition",
|
||||||
"repository": "https://github.com/Byroks/foundry-vtt-system-midgard5",
|
"repository": "https://git.byroks.de/MidgardVTT-Entwicklung/foundry-vtt-system-midgard5"
|
||||||
"rawURL": "https://raw.githubusercontent.com/Byroks/foundry-vtt-system-midgard5"
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -423,7 +423,7 @@ const updateManifest = (cb: any) => {
|
|||||||
cb(Error("Manifest JSON not found"));
|
cb(Error("Manifest JSON not found"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!rawURL || !repoURL) cb(Error("Repository URLs not configured in foundryconfig.json"));
|
if (!repoURL) cb(Error("Repository URLs not configured in foundryconfig.json"));
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const version = argv.update || argv.u;
|
const version = argv.update || argv.u;
|
||||||
|
|||||||
@@ -4,17 +4,20 @@
|
|||||||
"ACTOR.TypeVehicle": "Transportmittel / Pferd etc.",
|
"ACTOR.TypeVehicle": "Transportmittel / Pferd etc.",
|
||||||
|
|
||||||
"TYPES.Item.item": "Gegenstand",
|
"TYPES.Item.item": "Gegenstand",
|
||||||
|
"TYPES.Item.skill": "Fertigkeit",
|
||||||
"TYPES.Item.weapon": "Waffe",
|
"TYPES.Item.weapon": "Waffe",
|
||||||
"TYPES.Item.defensiveWeapon": "Verteidigungswaffe",
|
"TYPES.Item.defensiveWeapon": "Verteidigungswaffe",
|
||||||
"TYPES.Item.armor": "Rüstung",
|
"TYPES.Item.armor": "Rüstung",
|
||||||
"TYPES.Item.spell": "Zauber",
|
"TYPES.Item.spell": "Zauber",
|
||||||
"TYPES.Item.effect": "Aktive Effekte",
|
"TYPES.Item.effect": "Aktiver Effekt",
|
||||||
"TYPES.Item.kampfkunst": "Kampfkünste",
|
"TYPES.Item.kampfkunst": "Kampfkunst",
|
||||||
|
"TYPES.Item.container": "Aufbewahrung",
|
||||||
|
|
||||||
"midgard5.phase-action": "Handlungsphase",
|
"midgard5.phase-action": "Handlungsphase",
|
||||||
"midgard5.phase-movement": "Bewegungsphase",
|
"midgard5.phase-movement": "Bewegungsphase",
|
||||||
"midgard5.no-encounter": "Kein Kampf",
|
"midgard5.no-encounter": "Kein Kampf",
|
||||||
"midgard5.encounter-not-started": "Kein aktiver Kampf",
|
"midgard5.encounter-not-started": "Kein aktiver Kampf",
|
||||||
|
"midgard5.initiative": "Initiative",
|
||||||
|
|
||||||
"midgard5.time-duration": "Dauer",
|
"midgard5.time-duration": "Dauer",
|
||||||
"midgard5.time-round": "Runde(n)",
|
"midgard5.time-round": "Runde(n)",
|
||||||
@@ -27,11 +30,20 @@
|
|||||||
|
|
||||||
"midgard5.label": "Bezeichnung",
|
"midgard5.label": "Bezeichnung",
|
||||||
"midgard5.description": "Beschreibung",
|
"midgard5.description": "Beschreibung",
|
||||||
"midgard5.attribute": "Leiteigenschaft",
|
"midgard5.Characteristic": "Merkmal",
|
||||||
|
"midgard5.characteristics": "Merkmale",
|
||||||
|
"midgard5.background": "Hintergrund",
|
||||||
|
"midgard5.attribute": "Eigenschaft",
|
||||||
|
"midgard5.attributes": "Eigenschaften",
|
||||||
|
"midgard5.points": "Punkte",
|
||||||
|
"midgard5.calculated-value": "Berechneter Wert",
|
||||||
|
"midgard5.calculated-values": "Sonstige Werte",
|
||||||
|
|
||||||
"midgard5.skill": "Fertigkeit",
|
"midgard5.skill": "Fertigkeit",
|
||||||
"midgard5.skill-value": "Fertigkeitswert",
|
"midgard5.skill-value": "Fertigkeitswert",
|
||||||
"midgard5.fw": "FW",
|
"midgard5.fw": "FW",
|
||||||
"midgard5.bonus": "Bonus",
|
"midgard5.bonus": "Bonus",
|
||||||
|
"midgard5.bonuses": "Boni",
|
||||||
"midgard5.ew": "EW",
|
"midgard5.ew": "EW",
|
||||||
"midgard5.pp-short": "PP",
|
"midgard5.pp-short": "PP",
|
||||||
"midgard5.pp": "Praxispunkte",
|
"midgard5.pp": "Praxispunkte",
|
||||||
@@ -40,6 +52,7 @@
|
|||||||
"midgard5.item-quantity": "Menge",
|
"midgard5.item-quantity": "Menge",
|
||||||
"midgard5.item-onbody": "Am Körper",
|
"midgard5.item-onbody": "Am Körper",
|
||||||
"midgard5.item-ismagic": "Ist Magisch",
|
"midgard5.item-ismagic": "Ist Magisch",
|
||||||
|
"midgard5.item-wealth": "Vermögenswert",
|
||||||
|
|
||||||
"midgard5.actor-lp": "Lebenspunkte",
|
"midgard5.actor-lp": "Lebenspunkte",
|
||||||
"midgard5.actor-lp-short": "LP",
|
"midgard5.actor-lp-short": "LP",
|
||||||
@@ -77,8 +90,12 @@
|
|||||||
"midgard5.spells": "Zauber",
|
"midgard5.spells": "Zauber",
|
||||||
"midgard5.effects": "Aktive Effekte",
|
"midgard5.effects": "Aktive Effekte",
|
||||||
"midgard5.kampfkuenste": "Kampfkünste",
|
"midgard5.kampfkuenste": "Kampfkünste",
|
||||||
|
"midgard5.combat": "Kampf",
|
||||||
|
|
||||||
"midgard5.class": "Klasse",
|
|
||||||
|
"midgard5.actor-name": "Figur",
|
||||||
|
"midgard5.level": "Grad",
|
||||||
|
"midgard5.class": "Typ",
|
||||||
"midgard5.race": "Rasse",
|
"midgard5.race": "Rasse",
|
||||||
"midgard5.magicUsing": "Zauberkundig",
|
"midgard5.magicUsing": "Zauberkundig",
|
||||||
"midgard5.gender": "Geschlecht",
|
"midgard5.gender": "Geschlecht",
|
||||||
@@ -91,9 +108,18 @@
|
|||||||
"midgard5.origin": "Heimat",
|
"midgard5.origin": "Heimat",
|
||||||
"midgard5.faith": "Glaube",
|
"midgard5.faith": "Glaube",
|
||||||
|
|
||||||
|
"midgard5.currency": "Geld",
|
||||||
"midgard5.currency-gold": "Gold",
|
"midgard5.currency-gold": "Gold",
|
||||||
"midgard5.currency-silver": "Silber",
|
"midgard5.currency-silver": "Silber",
|
||||||
"midgard5.currency-copper": "Kupfer",
|
"midgard5.currency-copper": "Kupfer",
|
||||||
|
"midgard5.currency-wealth": "Vermögen in GS",
|
||||||
|
"midgard5.currency-available": "verfügbares Vermögen",
|
||||||
|
"midgard5.hoard": "aktueller Hort",
|
||||||
|
"midgard5.hoardMin": "benötigter Mindesthort",
|
||||||
|
"midgard5.hoard-next": "Hort für nächsten Grad",
|
||||||
|
"midgard5.hoarded": "Hort",
|
||||||
|
|
||||||
|
"midgard5.no-container": "Ohne",
|
||||||
|
|
||||||
"midgard5.exp-overall": "Erfahrungsschatz",
|
"midgard5.exp-overall": "Erfahrungsschatz",
|
||||||
"midgard5.exp-available": "Erfahrungspunkte",
|
"midgard5.exp-available": "Erfahrungspunkte",
|
||||||
@@ -207,19 +233,33 @@
|
|||||||
"midgard5.new-skill": "Neue Fertigkeit",
|
"midgard5.new-skill": "Neue Fertigkeit",
|
||||||
"midgard5.special": "Spezial",
|
"midgard5.special": "Spezial",
|
||||||
"midgard5.learned-skill": "Gelernte Fertigkeit",
|
"midgard5.learned-skill": "Gelernte Fertigkeit",
|
||||||
|
"midgard5.learned-skills": "Gelernte Fertigkeiten",
|
||||||
"midgard5.language": "Sprache",
|
"midgard5.language": "Sprache",
|
||||||
|
"midgard5.languages": "Sprachen",
|
||||||
"midgard5.weapon-skill": "Waffenfertigkeit",
|
"midgard5.weapon-skill": "Waffenfertigkeit",
|
||||||
|
"midgard5.weapon-skills": "Waffenfertigkeiten",
|
||||||
"midgard5.unlearned-skill": "Ungelernte Fertigkeit",
|
"midgard5.unlearned-skill": "Ungelernte Fertigkeit",
|
||||||
"midgard5.innate-ability": "Angeborene Fähigkeit",
|
"midgard5.unlearned-skills": "Ungelernte Fertigkeiten",
|
||||||
|
"midgard5.innate-ability": "Angeborene/Besondere Fertigkeit",
|
||||||
|
"midgard5.innate-abilities": "Angeborene/Besondere Fertigkeit",
|
||||||
|
|
||||||
"midgard5.base-damage": "Grundschaden",
|
"midgard5.base-damage": "Grundschaden",
|
||||||
|
"midgard5.weapon": "Waffe",
|
||||||
|
"midgard5.weapons": "Waffen",
|
||||||
"midgard5.defensive-weapon": "Verteidigungswaffe",
|
"midgard5.defensive-weapon": "Verteidigungswaffe",
|
||||||
|
"midgard5.defensive-weapons": "Verteidigungswaffen",
|
||||||
"midgard5.no-skill": "Keine Fertigkeit",
|
"midgard5.no-skill": "Keine Fertigkeit",
|
||||||
"midgard5.magic": "magisch",
|
"midgard5.magic": "magisch",
|
||||||
|
"midgard5.valuable": "Vermögen",
|
||||||
"midgard5.equipped": "Ausgerüstet",
|
"midgard5.equipped": "Ausgerüstet",
|
||||||
"midgard5.active": "Aktiv",
|
"midgard5.active": "Aktiv",
|
||||||
"midgard5.rangedWeapon": "Schusswaffe",
|
"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.showAll": "Alle anzeigen",
|
||||||
|
"midgard5.wealthAndContainers": "Vermögen und Aufbewahrung",
|
||||||
|
"midgard5.itemsInContainers": "Gegenstände in Aufbewahrung",
|
||||||
|
"midgard5.allItems": "Alle Gegenstände",
|
||||||
|
|
||||||
|
|
||||||
"midgard5.pw": "Prüfwurf",
|
"midgard5.pw": "Prüfwurf",
|
||||||
"midgard5.attack": "Angriff",
|
"midgard5.attack": "Angriff",
|
||||||
@@ -263,6 +303,7 @@
|
|||||||
|
|
||||||
"midgard5.kampfkunst-type": "Kampfkunst Art",
|
"midgard5.kampfkunst-type": "Kampfkunst Art",
|
||||||
"midgard5.kampfkunst-variante": "Kampfkunst Variante",
|
"midgard5.kampfkunst-variante": "Kampfkunst Variante",
|
||||||
|
"midgard5.kampfkunst-variante-short": "Var",
|
||||||
"midgard5.kido-type": "Kido Art",
|
"midgard5.kido-type": "Kido Art",
|
||||||
"midgard5.kido-variante": "Kido Variante",
|
"midgard5.kido-variante": "Kido Variante",
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "foundry-system-midgard5",
|
"name": "foundry-system-midgard5",
|
||||||
"version": "2.3.1",
|
"version": "2.4.1",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -6,12 +6,14 @@ const preloadTemplates = async (): Promise<Handlebars.TemplateDelegate<any>[]> =
|
|||||||
// const templates = [ rootPath + "actor/actor-sheet.hbs" ]
|
// const templates = [ rootPath + "actor/actor-sheet.hbs" ]
|
||||||
// This would map to our local folder of /Assets/Templates/Actor/actor-sheet.hbs
|
// This would map to our local folder of /Assets/Templates/Actor/actor-sheet.hbs
|
||||||
const templates: Array<string> = [
|
const templates: Array<string> = [
|
||||||
|
"sheets/character/description.hbs",
|
||||||
"sheets/character/attribute.hbs",
|
"sheets/character/attribute.hbs",
|
||||||
"sheets/character/base_values.hbs",
|
"sheets/character/base_values.hbs",
|
||||||
|
"sheets/character/main.hbs",
|
||||||
"sheets/character/skills.hbs",
|
"sheets/character/skills.hbs",
|
||||||
"sheets/character/gear.hbs",
|
"sheets/character/gear.hbs",
|
||||||
"sheets/character/spells.hbs",
|
"sheets/character/spells.hbs",
|
||||||
"sheets/character/kampfkuenste.hbs",
|
"sheets/character/combat.hbs",
|
||||||
"sheets/character/effects.hbs",
|
"sheets/character/effects.hbs",
|
||||||
"sheets/partial/mod.hbs",
|
"sheets/partial/mod.hbs",
|
||||||
"sheets/item/rolls.hbs",
|
"sheets/item/rolls.hbs",
|
||||||
|
|||||||
@@ -90,6 +90,16 @@ Hooks.once("init", async () => {
|
|||||||
return label.toLowerCase().includes(contains.toLowerCase());
|
return label.toLowerCase().includes(contains.toLowerCase());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Handlebars.registerHelper("count", (object: any) => {
|
||||||
|
var length = 0;
|
||||||
|
for( var key in object ) {
|
||||||
|
if( object.hasOwnProperty(key) ) {
|
||||||
|
++length;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return length;
|
||||||
|
});
|
||||||
|
|
||||||
// Default Sheet für Items definieren und das Standardsheet deaktivieren
|
// Default Sheet für Items definieren und das Standardsheet deaktivieren
|
||||||
Items.unregisterSheet("core", ItemSheet);
|
Items.unregisterSheet("core", ItemSheet);
|
||||||
Items.registerSheet("midgard5", M5ItemSheet, { makeDefault: true });
|
Items.registerSheet("midgard5", M5ItemSheet, { makeDefault: true });
|
||||||
|
|||||||
@@ -49,6 +49,18 @@ export interface M5RollResult extends M5RollTemplate {
|
|||||||
css: string;
|
css: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum M5ItemType {
|
||||||
|
SKILL = "skill",
|
||||||
|
ITEM = "item",
|
||||||
|
WEAPON = "weapon",
|
||||||
|
DEFENSIVE_WEAPON = "defensiveWeapon",
|
||||||
|
ARMOR = "armor",
|
||||||
|
CONTAINER = "container",
|
||||||
|
SPELL = "spell",
|
||||||
|
KAMPFKUNST = "kampfkunst",
|
||||||
|
EFFECT = "effect",
|
||||||
|
}
|
||||||
|
|
||||||
export enum M5EwResult {
|
export enum M5EwResult {
|
||||||
TBD = "",
|
TBD = "",
|
||||||
FUMBLE = "roll-ew-result-fumble",
|
FUMBLE = "roll-ew-result-fumble",
|
||||||
@@ -86,6 +98,10 @@ export enum M5Stats {
|
|||||||
PROTECTION_AP = "apProtection",
|
PROTECTION_AP = "apProtection",
|
||||||
PERCEPTION = "perception",
|
PERCEPTION = "perception",
|
||||||
DRINKING = "drinking",
|
DRINKING = "drinking",
|
||||||
|
HOARD = "hoard",
|
||||||
|
HOARD_NEXT = "hoardNext",
|
||||||
|
HOARD_MIN = "hoardMin",
|
||||||
|
WEALTH = "wealth",
|
||||||
}
|
}
|
||||||
|
|
||||||
export enum M5ModType {
|
export enum M5ModType {
|
||||||
@@ -173,6 +189,10 @@ export interface M5CharacterCalculatedData {
|
|||||||
perceptionFW: number;
|
perceptionFW: number;
|
||||||
drinking: M5ModResult;
|
drinking: M5ModResult;
|
||||||
drinkingFW: number;
|
drinkingFW: number;
|
||||||
|
hoard: number;
|
||||||
|
hoardNext: number;
|
||||||
|
hoardMin: number;
|
||||||
|
wealth: number;
|
||||||
};
|
};
|
||||||
skillMods: {};
|
skillMods: {};
|
||||||
skills: {
|
skills: {
|
||||||
@@ -187,6 +207,7 @@ export interface M5CharacterCalculatedData {
|
|||||||
defensiveWeapons: {};
|
defensiveWeapons: {};
|
||||||
armor: {};
|
armor: {};
|
||||||
items: {};
|
items: {};
|
||||||
|
containers: {};
|
||||||
effects: {};
|
effects: {};
|
||||||
};
|
};
|
||||||
spells: {};
|
spells: {};
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import { M5Item } from "../items/M5Item";
|
import { M5Item } from "../items/M5Item";
|
||||||
import { M5Attribute, M5CharacterCalculatedData, M5ItemMod, M5ModOperation, M5ModResult, M5RollData, M5Skill, M5SkillCalculated, M5SkillLearned } from "../M5Base";
|
import { M5Attribute, M5CharacterCalculatedData, M5ItemMod, M5ItemType, M5ModOperation, M5ModResult, M5RollData, M5Skill, M5SkillCalculated, M5SkillLearned } from "../M5Base";
|
||||||
import M5ModAggregate from "./M5ModAggregate";
|
import M5ModAggregate from "./M5ModAggregate";
|
||||||
|
|
||||||
export class M5Character extends Actor {
|
export class M5Character extends Actor {
|
||||||
// constructor(
|
// constructor(
|
||||||
// data: ConstructorParameters<typeof foundry.documents.BaseActor>[0],
|
// data: ConstructorParameters<typeof foundry.documents.BaseActor>[0],
|
||||||
@@ -32,6 +31,7 @@ export class M5Character extends Actor {
|
|||||||
defensiveWeapons?: boolean;
|
defensiveWeapons?: boolean;
|
||||||
armor?: boolean;
|
armor?: boolean;
|
||||||
items?: boolean;
|
items?: boolean;
|
||||||
|
containers?: boolean;
|
||||||
spells?: boolean;
|
spells?: boolean;
|
||||||
effects?: boolean;
|
effects?: boolean;
|
||||||
kampfkuenste?: boolean;
|
kampfkuenste?: boolean;
|
||||||
@@ -71,6 +71,7 @@ export class M5Character extends Actor {
|
|||||||
perceptionFW: 0,
|
perceptionFW: 0,
|
||||||
drinking: { value: 0, mods: [] },
|
drinking: { value: 0, mods: [] },
|
||||||
drinkingFW: 0,
|
drinkingFW: 0,
|
||||||
|
hoard: 0,
|
||||||
},
|
},
|
||||||
skillMods: {},
|
skillMods: {},
|
||||||
skills: {
|
skills: {
|
||||||
@@ -85,6 +86,7 @@ export class M5Character extends Actor {
|
|||||||
defensiveWeapons: {},
|
defensiveWeapons: {},
|
||||||
armor: {},
|
armor: {},
|
||||||
items: {},
|
items: {},
|
||||||
|
containers: {},
|
||||||
effects: {},
|
effects: {},
|
||||||
},
|
},
|
||||||
spells: {},
|
spells: {},
|
||||||
@@ -97,7 +99,7 @@ export class M5Character extends Actor {
|
|||||||
const data = (this as any).system;
|
const data = (this as any).system;
|
||||||
if (!data) return null;
|
if (!data) return null;
|
||||||
|
|
||||||
ret.level = M5Character.levelFromExp(data.es);
|
ret.level = M5Character.levelFromExp(data.info.race === "Zwerg" ? Math.min(data.calc.stats?.hoard * 2 || 0, data.es) : data.es);
|
||||||
|
|
||||||
ret.attributes.st.value = M5Character.attributeMinMax(data.attributes.st); // TODO item effects
|
ret.attributes.st.value = M5Character.attributeMinMax(data.attributes.st); // TODO item effects
|
||||||
ret.attributes.gs.value = M5Character.attributeMinMax(data.attributes.gs);
|
ret.attributes.gs.value = M5Character.attributeMinMax(data.attributes.gs);
|
||||||
@@ -143,12 +145,16 @@ export class M5Character extends Actor {
|
|||||||
ret.stats.perceptionFW = 6;
|
ret.stats.perceptionFW = 6;
|
||||||
ret.stats.drinking = this.modResult(0);
|
ret.stats.drinking = this.modResult(0);
|
||||||
ret.stats.drinkingFW = Math.floor(ret.attributes.ko.value / 10);
|
ret.stats.drinkingFW = Math.floor(ret.attributes.ko.value / 10);
|
||||||
|
ret.stats.hoardMin = M5Character.levelThreshold.at(ret.level - 1) / 2;
|
||||||
|
ret.stats.hoardNext = M5Character.levelThreshold.at(ret.level) / 2;
|
||||||
|
ret.stats.wealth = parseFloat((data.info.gold + data.info.silver / 10 + data.info.copper / 100).toPrecision(3));
|
||||||
|
ret.stats.hoard = 0;
|
||||||
|
|
||||||
if (!skip?.mods) {
|
if (!skip?.mods) {
|
||||||
const aggregate = new M5ModAggregate(data, ret);
|
const aggregate = new M5ModAggregate(data, ret);
|
||||||
|
|
||||||
context.items
|
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) => {
|
.forEach((item) => {
|
||||||
const mods = item.system.mods;
|
const mods = item.system.mods;
|
||||||
//console.log("Actor item mods", mods)
|
//console.log("Actor item mods", mods)
|
||||||
@@ -171,20 +177,69 @@ export class M5Character extends Actor {
|
|||||||
if (item.system.magic) {
|
if (item.system.magic) {
|
||||||
label += "*";
|
label += "*";
|
||||||
}
|
}
|
||||||
|
if (item.system.valuable) {
|
||||||
|
ret.stats.wealth += this.calculateValue(item.system.value, item.system.currency);
|
||||||
|
}
|
||||||
|
if (item.system.hoarded) {
|
||||||
|
ret.stats.hoard += item.system.value || 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
let icon = item.img;
|
||||||
let rollable = false;
|
let rollable = false;
|
||||||
|
|
||||||
// console.log(item.system.rolls.formulas.map((p) => p.enabled));
|
|
||||||
for (let key in item.system.rolls.formulas) {
|
for (let key in item.system.rolls.formulas) {
|
||||||
rollable = item.system.rolls.formulas[key].enabled;
|
rollable = item.system.rolls.formulas[key]?.enabled;
|
||||||
if (rollable) {
|
if (rollable) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ret.gear.items[item.id] = {
|
ret.gear.items[item.id] = {
|
||||||
label: label,
|
label: label,
|
||||||
|
icon: icon,
|
||||||
magic: item.system.magic,
|
magic: item.system.magic,
|
||||||
calc: item.system.calc,
|
calc: item.system.calc,
|
||||||
equipped: item.system?.equipped,
|
equipped: item.system?.equipped,
|
||||||
|
valuable: item.system?.valuable,
|
||||||
|
hoarded: item.system?.hoarded,
|
||||||
|
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;
|
||||||
|
|
||||||
|
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,
|
||||||
|
valuable: item.system?.valuable,
|
||||||
|
hoarded: item.system?.hoarded,
|
||||||
|
calc: item.system.calc,
|
||||||
|
equipped: item.system?.equipped,
|
||||||
|
weight: item.system.weight || 0,
|
||||||
value: item.system.value || 0,
|
value: item.system.value || 0,
|
||||||
currency: item.system.currency || "",
|
currency: item.system.currency || "",
|
||||||
quantity: item.system.quantity || 0,
|
quantity: item.system.quantity || 0,
|
||||||
@@ -247,12 +302,25 @@ export class M5Character extends Actor {
|
|||||||
item.system.stats.damageBonus +
|
item.system.stats.damageBonus +
|
||||||
")";
|
")";
|
||||||
}
|
}
|
||||||
|
if (item.system.valuable) {
|
||||||
|
ret.stats.wealth += this.calculateValue(item.system.value, item.system.currency);
|
||||||
|
}
|
||||||
|
if (item.system.hoarded) {
|
||||||
|
ret.stats.hoard += item.system.value || 0;
|
||||||
|
}
|
||||||
|
|
||||||
ret.gear.weapons[item.id] = {
|
ret.gear.weapons[item.id] = {
|
||||||
label: label,
|
label: label,
|
||||||
skillId: item.system.skillId,
|
skillId: item.system.skillId,
|
||||||
magic: item.system.magic,
|
magic: item.system.magic,
|
||||||
|
valuable: item.system?.valuable,
|
||||||
|
hoarded: item.system?.hoarded,
|
||||||
|
value: item.system.value || 0,
|
||||||
calc: item.system.calc,
|
calc: item.system.calc,
|
||||||
|
special: item.system.special,
|
||||||
|
damageBase: item.system.damageBase,
|
||||||
|
equipped: item.system?.equipped,
|
||||||
|
containerId: item.system.containerId || "",
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -267,12 +335,24 @@ export class M5Character extends Actor {
|
|||||||
if (item.system.magic) {
|
if (item.system.magic) {
|
||||||
label += "*(" + (item.system.stats.defenseBonus < 0 ? "" : "+") + item.system.stats.defenseBonus + ")";
|
label += "*(" + (item.system.stats.defenseBonus < 0 ? "" : "+") + item.system.stats.defenseBonus + ")";
|
||||||
}
|
}
|
||||||
|
if (item.system.valuable) {
|
||||||
|
ret.stats.wealth += this.calculateValue(item.system.value, item.system.currency);
|
||||||
|
}
|
||||||
|
if (item.system.hoarded) {
|
||||||
|
ret.stats.hoard += item.system.value || 0;
|
||||||
|
}
|
||||||
|
|
||||||
ret.gear.defensiveWeapons[item.id] = {
|
ret.gear.defensiveWeapons[item.id] = {
|
||||||
label: label,
|
label: label,
|
||||||
skillId: item.system.skillId,
|
skillId: item.system.skillId,
|
||||||
magic: item.system.magic,
|
magic: item.system.magic,
|
||||||
|
valuable: item.system?.valuable,
|
||||||
|
hoarded: item.system?.hoarded,
|
||||||
|
value: item.system.value || 0,
|
||||||
|
defenseBonus: item.system.stats.defenseBonus,
|
||||||
calc: item.system.calc,
|
calc: item.system.calc,
|
||||||
|
equipped: item.system?.equipped,
|
||||||
|
containerId: item.system.containerId || "",
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -287,12 +367,23 @@ export class M5Character extends Actor {
|
|||||||
if (item.system.magic) {
|
if (item.system.magic) {
|
||||||
label += "*";
|
label += "*";
|
||||||
}
|
}
|
||||||
|
if (item.system.valuable) {
|
||||||
|
ret.stats.wealth += this.calculateValue(item.system.value, item.system.currency);
|
||||||
|
}
|
||||||
|
if (item.system.hoarded) {
|
||||||
|
ret.stats.hoard += item.system.value || 0;
|
||||||
|
}
|
||||||
|
|
||||||
ret.gear.armor[item.id] = {
|
ret.gear.armor[item.id] = {
|
||||||
label: label,
|
label: label,
|
||||||
magic: item.system.magic,
|
magic: item.system.magic,
|
||||||
|
valuable: item.system?.valuable,
|
||||||
|
hoarded: item.system?.hoarded,
|
||||||
|
value: item.system.value || 0,
|
||||||
|
lpProtection: item.system.lpProtection,
|
||||||
calc: item.system.calc,
|
calc: item.system.calc,
|
||||||
equipped: item.system?.equipped,
|
equipped: item.system?.equipped,
|
||||||
|
containerId: item.system.containerId || "",
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -429,11 +520,36 @@ export class M5Character extends Actor {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
createItem(itemName: string, itemType: M5ItemType): Promise<M5Item> {
|
||||||
|
const itemData = {
|
||||||
|
name: itemName,
|
||||||
|
type: itemType,
|
||||||
|
};
|
||||||
|
|
||||||
|
return (this as any).createEmbeddedDocuments("Item", [itemData]).then((docs) => {
|
||||||
|
const item = docs[0];
|
||||||
|
return item;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
getItem(itemId: string): any {
|
getItem(itemId: string): any {
|
||||||
if (!(this as any).items) return null;
|
if (!(this as any).items) return null;
|
||||||
return (this as any).getEmbeddedDocument("Item", itemId);
|
return (this as any).getEmbeddedDocument("Item", itemId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private calculateValue(value: number, currency: string): number {
|
||||||
|
switch (currency) {
|
||||||
|
case "gold":
|
||||||
|
return value;
|
||||||
|
case "silver":
|
||||||
|
return parseFloat((value / 10).toPrecision(3));
|
||||||
|
case "copper":
|
||||||
|
return parseFloat((value / 100).toPrecision(3));
|
||||||
|
default:
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private modResult(value: number): M5ModResult {
|
private modResult(value: number): M5ModResult {
|
||||||
return {
|
return {
|
||||||
value: value,
|
value: value,
|
||||||
|
|||||||
@@ -14,7 +14,22 @@ export class M5Item extends Item {
|
|||||||
const itemData = (this as any).system;
|
const itemData = (this as any).system;
|
||||||
const calc = itemData.calc;
|
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.fw = itemData.fw;
|
||||||
calc.bonus = 0;
|
calc.bonus = 0;
|
||||||
|
|
||||||
@@ -64,14 +79,23 @@ export class M5Item extends Item {
|
|||||||
calc.special = itemData.special ? 2 : 0;
|
calc.special = itemData.special ? 2 : 0;
|
||||||
calc.ew = calc.special + itemData.stats.attackBonus;
|
calc.ew = calc.special + itemData.stats.attackBonus;
|
||||||
calc.combatSkills = null;
|
calc.combatSkills = null;
|
||||||
|
calc.containers = null;
|
||||||
|
|
||||||
|
|
||||||
if (actor) {
|
if (actor) {
|
||||||
const actorCalc = character.derivedData({ weapons: true, defensiveWeapons: true, armor: true, items: true, spells: true, effects: true, kampfkuenste: true });
|
const actorCalc = character.derivedData({ weapons: true, defensiveWeapons: true, armor: true, items: true, spells: true, effects: true, kampfkuenste: true });
|
||||||
if (actorCalc) {
|
if (actorCalc) {
|
||||||
calc.ew += actorCalc.stats.attackBonus.value;
|
calc.ew += actorCalc.stats.attackBonus.value;
|
||||||
calc.combatSkills = actorCalc.skills.combat;
|
calc.combatSkills = actorCalc.skills.combat;
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
const skill = character.getItem(itemData.skillId);
|
const skill = character.getItem(itemData.skillId);
|
||||||
//console.log("M5Item.prepareDerivedData:weapon", itemData, skill?.system)
|
//console.log("M5Item.prepareDerivedData:weapon", itemData, skill?.system)
|
||||||
if (skill) {
|
if (skill) {
|
||||||
@@ -88,14 +112,23 @@ export class M5Item extends Item {
|
|||||||
calc.special = itemData.special ? 2 : 0;
|
calc.special = itemData.special ? 2 : 0;
|
||||||
calc.ew = calc.special + itemData.stats.defenseBonus;
|
calc.ew = calc.special + itemData.stats.defenseBonus;
|
||||||
calc.combatSkills = null;
|
calc.combatSkills = null;
|
||||||
|
calc.containers = null;
|
||||||
|
|
||||||
if (actor) {
|
if (actor) {
|
||||||
const actorCalc = character.derivedData({ weapons: true, defensiveWeapons: true, armor: true, items: true, spells: true, effects: true, kampfkuenste: true });
|
const actorCalc = character.derivedData({ weapons: true, defensiveWeapons: true, armor: true, items: true, spells: true, effects: true, kampfkuenste: true });
|
||||||
if (actorCalc) {
|
if (actorCalc) {
|
||||||
calc.ew += actorCalc.stats.defense.value + actorCalc.stats.defenseBonus.value;
|
calc.ew += actorCalc.stats.defense.value + actorCalc.stats.defenseBonus.value;
|
||||||
calc.combatSkills = actorCalc.skills.combat;
|
calc.combatSkills = actorCalc.skills.combat;
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
const skill = character.getItem(itemData.skillId);
|
const skill = character.getItem(itemData.skillId);
|
||||||
//console.log("M5Item.prepareDerivedData:weapon", itemData, skill?.system)
|
//console.log("M5Item.prepareDerivedData:weapon", itemData, skill?.system)
|
||||||
if (skill) {
|
if (skill) {
|
||||||
@@ -113,6 +146,19 @@ export class M5Item extends Item {
|
|||||||
itemData.mods[3] = { type: "attribute", id: "gw", operation: "add100", value: itemData.attributeMod.gw };
|
itemData.mods[3] = { type: "attribute", id: "gw", operation: "add100", value: itemData.attributeMod.gw };
|
||||||
itemData.mods[4] = { type: "stat", id: "lpProtection", operation: "set", value: itemData.lpProtection };
|
itemData.mods[4] = { type: "stat", id: "lpProtection", operation: "set", value: itemData.lpProtection };
|
||||||
itemData.mods[5] = { type: "stat", id: "apProtection", operation: "set", value: itemData.apProtection };
|
itemData.mods[5] = { type: "stat", id: "apProtection", operation: "set", value: itemData.apProtection };
|
||||||
|
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 === "spell") {
|
} else if (itemType === "spell") {
|
||||||
calc.fw = 0;
|
calc.fw = 0;
|
||||||
if (actor) {
|
if (actor) {
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
import Logger from "../../utils/Logger";
|
import Logger from "../../utils/Logger";
|
||||||
import { M5Character } from "../actors/M5Character";
|
import { M5Character } from "../actors/M5Character";
|
||||||
import { M5Item } from "../items/M5Item";
|
import { M5Item } from "../items/M5Item";
|
||||||
import { M5SkillLearned, M5SkillUnlearned } from "../M5Base";
|
import { M5ItemType, M5SkillLearned, M5SkillUnlearned } from "../M5Base";
|
||||||
import { M5Roll } from "../rolls/M5Roll";
|
import { M5Roll } from "../rolls/M5Roll";
|
||||||
|
|
||||||
export default class M5CharacterSheet extends ActorSheet {
|
export default class M5CharacterSheet extends ActorSheet {
|
||||||
static get defaultOptions() {
|
static get defaultOptions() {
|
||||||
return mergeObject(super.defaultOptions, {
|
return mergeObject(super.defaultOptions, {
|
||||||
template: "systems/midgard5/templates/sheets/character/main.hbs",
|
template: "systems/midgard5/templates/sheets/character/main.hbs",
|
||||||
width: 800,
|
width: 1000,
|
||||||
height: 800,
|
height: 800,
|
||||||
classes: ["midgard5", "sheet", "character"],
|
classes: ["midgard5", "sheet", "character"],
|
||||||
tabs: [{ navSelector: ".sheet-navigation", contentSelector: ".sheet-content", initial: "base_values" }],
|
tabs: [{ navSelector: ".sheet-navigation", contentSelector: ".sheet-content", initial: "base_values" }],
|
||||||
@@ -111,7 +111,11 @@ export default class M5CharacterSheet extends ActorSheet {
|
|||||||
if (!item.system.quantity) {
|
if (!item.system.quantity) {
|
||||||
item.system.quantity = 0;
|
item.system.quantity = 0;
|
||||||
}
|
}
|
||||||
item.system.quantity += 1;
|
item.update({
|
||||||
|
data: {
|
||||||
|
quantity: item.system.quantity + 1,
|
||||||
|
},
|
||||||
|
});
|
||||||
this.render();
|
this.render();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -127,7 +131,11 @@ export default class M5CharacterSheet extends ActorSheet {
|
|||||||
const context = this.actor as any;
|
const context = this.actor as any;
|
||||||
const item = context.items.get(itemId);
|
const item = context.items.get(itemId);
|
||||||
if (item.system.quantity > 0) {
|
if (item.system.quantity > 0) {
|
||||||
item.system.quantity -= 1;
|
item.update({
|
||||||
|
data: {
|
||||||
|
quantity: item.system.quantity - 1,
|
||||||
|
},
|
||||||
|
});
|
||||||
}
|
}
|
||||||
this.render();
|
this.render();
|
||||||
});
|
});
|
||||||
@@ -144,7 +152,11 @@ export default class M5CharacterSheet extends ActorSheet {
|
|||||||
const context = this.actor as any;
|
const context = this.actor as any;
|
||||||
const item = context.items.get(itemId);
|
const item = context.items.get(itemId);
|
||||||
if (item.system.quantity > 0) {
|
if (item.system.quantity > 0) {
|
||||||
item.system.quantity -= 1;
|
item.update({
|
||||||
|
data: {
|
||||||
|
quantity: item.system.quantity - 1,
|
||||||
|
},
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
await item.roll();
|
await item.roll();
|
||||||
@@ -246,6 +258,111 @@ export default class M5CharacterSheet extends ActorSheet {
|
|||||||
const roll = M5Roll.resistanceBody(this.actor);
|
const roll = M5Roll.resistanceBody(this.actor);
|
||||||
await roll.toMessage();
|
await roll.toMessage();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
html.find(".change-equipped").on("click", async (event) => {
|
||||||
|
let row = event.target.parentElement;
|
||||||
|
let itemId = row.dataset["item"];
|
||||||
|
while (!itemId) {
|
||||||
|
row = row.parentElement;
|
||||||
|
if (!row) return;
|
||||||
|
itemId = row.dataset["item"];
|
||||||
|
}
|
||||||
|
|
||||||
|
const context = this.actor as any;
|
||||||
|
const item = context.items.get(itemId);
|
||||||
|
if (item.system.equipped === true) {
|
||||||
|
item.system.equipped = false;
|
||||||
|
} else {
|
||||||
|
item.system.equipped = true;
|
||||||
|
}
|
||||||
|
this.render();
|
||||||
|
});
|
||||||
|
|
||||||
|
html.find(".add-item").on("click", async (event) => {
|
||||||
|
const data = this.actor.system;
|
||||||
|
|
||||||
|
const character = this.actor as M5Character;
|
||||||
|
character.createItem((game as Game).i18n.localize("TYPES.Item.item"), M5ItemType.ITEM).then((i) => {
|
||||||
|
const item = i as any;
|
||||||
|
item.update({
|
||||||
|
data: {
|
||||||
|
quantity: 1,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
html.find(".add-weapon").on("click", async (event) => {
|
||||||
|
const data = this.actor.system;
|
||||||
|
|
||||||
|
const character = this.actor as M5Character;
|
||||||
|
character.createItem((game as Game).i18n.localize("TYPES.Item.weapon"), M5ItemType.WEAPON);
|
||||||
|
});
|
||||||
|
|
||||||
|
html.find(".add-defensiveWeapon").on("click", async (event) => {
|
||||||
|
const data = this.actor.system;
|
||||||
|
|
||||||
|
const character = this.actor as M5Character;
|
||||||
|
character.createItem((game as Game).i18n.localize("TYPES.Item.defensiveWeapon"), M5ItemType.DEFENSIVE_WEAPON);
|
||||||
|
});
|
||||||
|
|
||||||
|
html.find(".add-armor").on("click", async (event) => {
|
||||||
|
const data = this.actor.system;
|
||||||
|
|
||||||
|
const character = this.actor as M5Character;
|
||||||
|
character.createItem((game as Game).i18n.localize("TYPES.Item.armor"), M5ItemType.ARMOR);
|
||||||
|
});
|
||||||
|
|
||||||
|
html.find(".add-container").on("click", async (event) => {
|
||||||
|
const data = this.actor.system;
|
||||||
|
|
||||||
|
const character = this.actor as M5Character;
|
||||||
|
character.createItem((game as Game).i18n.localize("TYPES.Item.container"), M5ItemType.CONTAINER).then((i) => {
|
||||||
|
const item = i as any;
|
||||||
|
item.update({
|
||||||
|
data: {
|
||||||
|
quantity: 1,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
html.find(".add-spell").on("click", async (event) => {
|
||||||
|
const data = this.actor.system;
|
||||||
|
|
||||||
|
const character = this.actor as M5Character;
|
||||||
|
character.createItem((game as Game).i18n.localize("TYPES.Item.spell"), M5ItemType.SPELL).then((i) => {
|
||||||
|
const item = i as any;
|
||||||
|
item.update({
|
||||||
|
data: {
|
||||||
|
process: "none",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
html.find(".add-kampfkunst").on("click", async (event) => {
|
||||||
|
const data = this.actor.system;
|
||||||
|
|
||||||
|
const character = this.actor as M5Character;
|
||||||
|
character.createItem((game as Game).i18n.localize("TYPES.Item.kampfkunst"), M5ItemType.KAMPFKUNST).then((i) => {
|
||||||
|
const item = i as any;
|
||||||
|
item.update({
|
||||||
|
data: {
|
||||||
|
type: "angriff",
|
||||||
|
variante: "anstuermen",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
html.find(".add-effect").on("click", async (event) => {
|
||||||
|
const data = this.actor.system;
|
||||||
|
|
||||||
|
const character = this.actor as M5Character;
|
||||||
|
character.createItem((game as Game).i18n.localize("TYPES.Item.effect"), M5ItemType.EFFECT);
|
||||||
|
});
|
||||||
|
|
||||||
// Drag & Drop
|
// Drag & Drop
|
||||||
const dragDrop = new DragDrop({
|
const dragDrop = new DragDrop({
|
||||||
dragSelector: ".items-list .item",
|
dragSelector: ".items-list .item",
|
||||||
@@ -270,7 +387,7 @@ export default class M5CharacterSheet extends ActorSheet {
|
|||||||
const item = this.actor.items.get(li.dataset.itemId);
|
const item = this.actor.items.get(li.dataset.itemId);
|
||||||
|
|
||||||
// limit transfer on personal weapons/armour/gear
|
// 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 = {
|
const dragData = {
|
||||||
type: "Transfer",
|
type: "Transfer",
|
||||||
actorId: this.actor.id,
|
actorId: this.actor.id,
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ export class M5ItemSheet extends ItemSheet {
|
|||||||
context.rollData = {}
|
context.rollData = {}
|
||||||
let actor = this.object?.parent ?? null
|
let actor = this.object?.parent ?? null
|
||||||
if (actor) {
|
if (actor) {
|
||||||
context.rollData = actor.getRollData()
|
context.rollData = actor.getRollData()
|
||||||
}
|
}
|
||||||
|
|
||||||
context.data = itemData.system
|
context.data = itemData.system
|
||||||
|
|||||||
@@ -3,16 +3,98 @@
|
|||||||
@attributeBorderColor: rgba(0, 0, 0, 0.5);
|
@attributeBorderColor: rgba(0, 0, 0, 0.5);
|
||||||
|
|
||||||
.midgard5 {
|
.midgard5 {
|
||||||
|
.flexbox {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flexcolumn {
|
||||||
|
flex-wrap: wrap;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flexcolumn-1 {
|
||||||
|
flex-basis: 100%;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flexcolumn-2 {
|
||||||
|
flex-basis: 50%;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flexcolumn-3 {
|
||||||
|
flex-basis: 33%;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flexcolumn-4 {
|
||||||
|
flex-basis: 25%;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flexcolumn-5 {
|
||||||
|
flex-basis: 20%;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flexpart {
|
||||||
|
gap: 0;
|
||||||
|
padding: 0;
|
||||||
|
margin: 2px;
|
||||||
|
background-color: beige;
|
||||||
|
border-collapse: separate;
|
||||||
|
border-radius: 10px;
|
||||||
|
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 {
|
.flexrow {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
padding: 0.5rem 0.5rem 0.5rem 0.5rem;
|
padding: 0.5rem 0.5rem 0.5rem 0.5rem;
|
||||||
|
margin-top: 0.5rem;
|
||||||
|
margin-bottom: 0;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
background-color: dimgray;
|
background-color: #eeede0;
|
||||||
color: white;
|
color: black;
|
||||||
|
border-collapse: separate;
|
||||||
|
border: 2px solid black;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.profile-img {
|
||||||
|
display: block;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
height: 100%;
|
||||||
|
width: auto;
|
||||||
|
border: 0px solid black;
|
||||||
|
}
|
||||||
|
|
||||||
|
.profile-img {
|
||||||
|
display: block;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
height: 100%;
|
||||||
|
width: auto;
|
||||||
|
border: 0px solid black;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sheet.character {
|
.sheet.character {
|
||||||
@@ -31,12 +113,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.profile-img {
|
|
||||||
max-width: 128px;
|
|
||||||
height: 160px;
|
|
||||||
border: 0px solid black;
|
|
||||||
}
|
|
||||||
|
|
||||||
.description {
|
.description {
|
||||||
flex: 0 0 100%;
|
flex: 0 0 100%;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
@@ -68,6 +144,14 @@
|
|||||||
|
|
||||||
table {
|
table {
|
||||||
background-color: beige;
|
background-color: beige;
|
||||||
|
border: 0px solid transparent;
|
||||||
|
&.bordered {
|
||||||
|
border-collapse: separate;
|
||||||
|
border: 2px solid black;
|
||||||
|
border-radius: 10px;
|
||||||
|
font-size: larger;
|
||||||
|
font-weight: bolder;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
td,
|
td,
|
||||||
@@ -104,8 +188,23 @@
|
|||||||
padding: 0.5rem 0.5rem 0.5rem 0.5rem;
|
padding: 0.5rem 0.5rem 0.5rem 0.5rem;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
background-color: dimgray;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.highlight {
|
||||||
|
font-weight: bold;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-icon {
|
||||||
|
height: 1rem;
|
||||||
|
width: 1rem;
|
||||||
|
float: left;
|
||||||
|
border: 0px solid transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
border: 0px solid black;
|
||||||
}
|
}
|
||||||
|
|
||||||
input.skill {
|
input.skill {
|
||||||
@@ -116,22 +215,34 @@
|
|||||||
width: 5rem;
|
width: 5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input.checkbox {
|
||||||
|
width: 1rem;
|
||||||
|
height: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
.new-skill {
|
.new-skill {
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
background: rgba(0, 0, 0, 0.3);
|
background: rgba(0, 0, 0, 0.3);
|
||||||
color: rgba(255, 255, 255);
|
color: rgba(255, 255, 255);
|
||||||
|
|
||||||
button {
|
|
||||||
background: rgba(255, 255, 255, 0.5);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
button.roll-button {
|
.roll-button {
|
||||||
background: url(/icons/svg/d20-black.svg) no-repeat;
|
background: url(/icons/svg/d20-black.svg) no-repeat;
|
||||||
background-size: 24px 24px;
|
background-size: 1rem 1rem;
|
||||||
border: #000000 solid 0px;
|
border: #000000 solid 0px;
|
||||||
width: 26px;
|
width: 1rem;
|
||||||
height: 26px;
|
height: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.learn-button {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
height: 1rem;
|
||||||
|
width: 4rem;
|
||||||
|
background: rgba(255, 255, 255, 0.5);
|
||||||
|
font-size: smaller;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 0.8rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
span.spell-process {
|
span.spell-process {
|
||||||
@@ -152,7 +263,8 @@
|
|||||||
padding: 1px;
|
padding: 1px;
|
||||||
//align-items: stretch;
|
//align-items: stretch;
|
||||||
|
|
||||||
input {
|
input,
|
||||||
|
.max-value {
|
||||||
flex: 0 0 2rem;
|
flex: 0 0 2rem;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
@@ -184,15 +296,27 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.biography {
|
||||||
|
margin: 0.5rem 0.5rem 0.5rem 0.5rem;
|
||||||
|
height: 180px;
|
||||||
|
background-color: #eaead7;
|
||||||
|
.editor {
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.attributes {
|
.attributes {
|
||||||
padding: 0.5rem 0.5rem 0.5rem 0.5rem;
|
padding: 0.5rem 0.5rem 0.5rem 0.5rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
margin-bottom: 0.5rem;
|
margin-bottom: 0.5rem;
|
||||||
background-color: beige;
|
background-color: beige;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
.attribute {
|
.attribute {
|
||||||
flex: 0 0 7rem;
|
flex: 0 0 6rem;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
border: 1px solid @attributeBorderColor;
|
border: 1px solid @attributeBorderColor;
|
||||||
//border-bottom: none;
|
//border-bottom: none;
|
||||||
|
|||||||
@@ -3,13 +3,13 @@
|
|||||||
"name": "midgard5",
|
"name": "midgard5",
|
||||||
"title": "Midgard 5. Edition",
|
"title": "Midgard 5. Edition",
|
||||||
"description": "The German RPG Midgard 5. Edition",
|
"description": "The German RPG Midgard 5. Edition",
|
||||||
"version": "2.3.1",
|
"version": "2.4.1",
|
||||||
"compatibility": {
|
"compatibility": {
|
||||||
"minimum": "10",
|
"minimum": "10",
|
||||||
"verified": "11",
|
"verified": "11",
|
||||||
"maximum": "11"
|
"maximum": "11"
|
||||||
},
|
},
|
||||||
"authors": [{"name": "Byroks"}],
|
"authors": [{ "name": "Byroks" }, { "name": "Le-Frique" }, { "name": "Oskaloq" }],
|
||||||
"scripts": ["bundle.js"],
|
"scripts": ["bundle.js"],
|
||||||
"styles": ["bundle.css"],
|
"styles": ["bundle.css"],
|
||||||
"packs": [
|
"packs": [
|
||||||
@@ -103,41 +103,25 @@
|
|||||||
"name": "Midgard 5",
|
"name": "Midgard 5",
|
||||||
"sorting": "a",
|
"sorting": "a",
|
||||||
"color": "#0000FF",
|
"color": "#0000FF",
|
||||||
"packs": [
|
"packs": ["blaupause-spielfiguren", "tabellen-kritische-ereignisse", "makros-kritische-ereignisse", "makros-standardwurfel"],
|
||||||
"blaupause-spielfiguren",
|
|
||||||
"tabellen-kritische-ereignisse",
|
|
||||||
"makros-kritische-ereignisse",
|
|
||||||
"makros-standardwurfel"
|
|
||||||
],
|
|
||||||
"folders": [
|
"folders": [
|
||||||
{
|
{
|
||||||
"name": "Ausrüstung",
|
"name": "Ausrüstung",
|
||||||
"sorting": "a",
|
"sorting": "a",
|
||||||
"color": "#008000",
|
"color": "#008000",
|
||||||
"packs": [
|
"packs": ["ausruestung", "ruestkammer", "waffenkammer"]
|
||||||
"ausruestung",
|
|
||||||
"ruestkammer",
|
|
||||||
"waffenkammer"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Effekte",
|
"name": "Effekte",
|
||||||
"sorting": "a",
|
"sorting": "a",
|
||||||
"color": "#800080",
|
"color": "#800080",
|
||||||
"packs": [
|
"packs": ["kampfzustaende", "verletzungen", "zauberwirkungen"]
|
||||||
"kampfzustaende",
|
|
||||||
"verletzungen",
|
|
||||||
"zauberwirkungen"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Fähigkeiten",
|
"name": "Fähigkeiten",
|
||||||
"sorting": "a",
|
"sorting": "a",
|
||||||
"color": "#800000",
|
"color": "#800000",
|
||||||
"packs": [
|
"packs": ["fertigkeiten", "kampf"]
|
||||||
"fertigkeiten",
|
|
||||||
"kampf"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -153,9 +137,9 @@
|
|||||||
"gridUnits": "m",
|
"gridUnits": "m",
|
||||||
"primaryTokenAttribute": "lp",
|
"primaryTokenAttribute": "lp",
|
||||||
"secondaryTokenAttribute": "ap",
|
"secondaryTokenAttribute": "ap",
|
||||||
"url": "https://github.com/Byroks/foundry-vtt-system-midgard5",
|
"url": "https://git.byroks.de/MidgardVTT-Entwicklung/foundry-vtt-system-midgard5",
|
||||||
"manifest": "https://github.com/Byroks/foundry-vtt-system-midgard5/releases/download/v2.3.1/system.json",
|
"manifest": "https://git.byroks.de/MidgardVTT-Entwicklung/foundry-vtt-system-midgard5/releases/download/v2.4.1/system.json",
|
||||||
"download": "https://github.com/Byroks/foundry-vtt-system-midgard5/releases/download/v2.3.1/midgard5-v2.3.1.zip",
|
"download": "https://git.byroks.de/MidgardVTT-Entwicklung/foundry-vtt-system-midgard5/releases/download/v2.4.1/midgard5-v2.4.1.zip",
|
||||||
"initiative": "@c.calc.attributes.gw.value",
|
"initiative": "@c.calc.attributes.gw.value",
|
||||||
"license": "LICENSE.txt"
|
"license": "LICENSE.txt"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,9 +5,11 @@
|
|||||||
"characterDescription": {
|
"characterDescription": {
|
||||||
"info": {
|
"info": {
|
||||||
"description": "",
|
"description": "",
|
||||||
|
"background": "",
|
||||||
"class": "",
|
"class": "",
|
||||||
"race": "",
|
"race": "",
|
||||||
"magicUsing": false,
|
"magicUsing": false,
|
||||||
|
"showAllItems": false,
|
||||||
"gender": "",
|
"gender": "",
|
||||||
"weight": "",
|
"weight": "",
|
||||||
"height": "",
|
"height": "",
|
||||||
@@ -138,17 +140,21 @@
|
|||||||
"wahrsagen": { "fw": 0, "attribute": "zt", "initial": 8, "pp": 0 },
|
"wahrsagen": { "fw": 0, "attribute": "zt", "initial": 8, "pp": 0 },
|
||||||
"wasserkampf": { "fw": 0, "attribute": "gw", "initial": 8, "pp": 0 },
|
"wasserkampf": { "fw": 0, "attribute": "gw", "initial": 8, "pp": 0 },
|
||||||
"zauberkunde": { "fw": 0, "attribute": "in", "initial": 8, "pp": 0 }
|
"zauberkunde": { "fw": 0, "attribute": "in", "initial": 8, "pp": 0 }
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gear": {
|
||||||
|
"gear": {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"character": {
|
"character": {
|
||||||
"templates": ["characterBars", "attributes", "characterDescription", "characterHeader", "skills"],
|
"templates": ["characterBars", "attributes", "characterDescription", "characterHeader", "skills", "gear"],
|
||||||
"calc": {}
|
"calc": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Item": {
|
"Item": {
|
||||||
"types": ["skill", "weapon", "defensiveWeapon", "armor", "spell", "kampfkunst", "item", "effect"],
|
"types": ["skill", "weapon", "defensiveWeapon", "armor", "spell", "kampfkunst", "item", "effect", "container"],
|
||||||
"templates": {
|
"templates": {
|
||||||
"itemDescription": {
|
"itemDescription": {
|
||||||
"description": ""
|
"description": ""
|
||||||
@@ -198,10 +204,20 @@
|
|||||||
},
|
},
|
||||||
"equippable": {
|
"equippable": {
|
||||||
"equippable": false,
|
"equippable": false,
|
||||||
"equipped": true
|
"equipped": false
|
||||||
|
},
|
||||||
|
"valuable": {
|
||||||
|
"valuable": false,
|
||||||
|
"item-wealth": true
|
||||||
|
},
|
||||||
|
"hoarded": {
|
||||||
|
"hoarded": false,
|
||||||
|
"inHoard": true
|
||||||
},
|
},
|
||||||
"physical": {
|
"physical": {
|
||||||
"value": 0,
|
"value": 0,
|
||||||
|
"weight": 0,
|
||||||
|
"containerId": "",
|
||||||
"magic": false
|
"magic": false
|
||||||
},
|
},
|
||||||
"durationSelection": {
|
"durationSelection": {
|
||||||
@@ -297,6 +313,15 @@
|
|||||||
"calc": {}
|
"calc": {}
|
||||||
},
|
},
|
||||||
"item": {
|
"item": {
|
||||||
|
"templates": ["itemDescription", "equippable", "physical","valuable","hoarded"],
|
||||||
|
"rolls": {
|
||||||
|
"formulas": {},
|
||||||
|
"output": ""
|
||||||
|
},
|
||||||
|
"mods": {},
|
||||||
|
"calc": {}
|
||||||
|
},
|
||||||
|
"container": {
|
||||||
"templates": ["itemDescription", "equippable", "physical"],
|
"templates": ["itemDescription", "equippable", "physical"],
|
||||||
"rolls": {
|
"rolls": {
|
||||||
"formulas": {},
|
"formulas": {},
|
||||||
@@ -315,9 +340,11 @@
|
|||||||
"calc": {}
|
"calc": {}
|
||||||
},
|
},
|
||||||
"weapon": {
|
"weapon": {
|
||||||
"templates": ["itemDescription", "stats", "equippable", "physical"],
|
"templates": ["itemDescription", "stats", "equippable", "physical","valuable","hoarded"],
|
||||||
"special": false,
|
"special": false,
|
||||||
"ranged": false,
|
"ranged": false,
|
||||||
|
"valuable": false,
|
||||||
|
"hoarded": false,
|
||||||
"skillId": "",
|
"skillId": "",
|
||||||
"damageBase": "1d6",
|
"damageBase": "1d6",
|
||||||
"rolls": {
|
"rolls": {
|
||||||
@@ -338,8 +365,10 @@
|
|||||||
"calc": {}
|
"calc": {}
|
||||||
},
|
},
|
||||||
"defensiveWeapon": {
|
"defensiveWeapon": {
|
||||||
"templates": ["itemDescription", "stats", "equippable", "physical"],
|
"templates": ["itemDescription", "stats", "equippable", "physical","valuable","hoarded"],
|
||||||
"special": false,
|
"special": false,
|
||||||
|
"valuable": false,
|
||||||
|
"hoarded": false,
|
||||||
"skillId": "",
|
"skillId": "",
|
||||||
"rolls": {
|
"rolls": {
|
||||||
"formulas": {
|
"formulas": {
|
||||||
@@ -354,9 +383,11 @@
|
|||||||
"calc": {}
|
"calc": {}
|
||||||
},
|
},
|
||||||
"armor": {
|
"armor": {
|
||||||
"templates": ["itemDescription", "stats", "equippable", "attributeMod", "physical"],
|
"templates": ["itemDescription", "stats", "equippable", "attributeMod", "physical","valuable","hoarded"],
|
||||||
"lpProtection": 0,
|
"lpProtection": 0,
|
||||||
"apProtection": 0,
|
"apProtection": 0,
|
||||||
|
"valuable": false,
|
||||||
|
"hoarded": false,
|
||||||
"rolls": {
|
"rolls": {
|
||||||
"formulas": {},
|
"formulas": {},
|
||||||
"output": ""
|
"output": ""
|
||||||
|
|||||||
@@ -1,164 +1,126 @@
|
|||||||
|
<div class="flexbox">
|
||||||
|
|
||||||
|
<div class="flexpart">
|
||||||
|
<div class="flexpart-header"><img src="icons/skills/melee/maneuver-sword-katana-yellow.webp" class="flexpart-icon">{{localize "midgard5.attributes"}}</div>
|
||||||
|
<br>
|
||||||
|
<div class="attributes">
|
||||||
|
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="st" attribute=data.attributes.st calc=data.calc.attributes.st}}
|
||||||
|
<div class="filler"></div>
|
||||||
|
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="gs" attribute=data.attributes.gs calc=data.calc.attributes.gs}}
|
||||||
|
<div class="filler"></div>
|
||||||
|
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="gw" attribute=data.attributes.gw calc=data.calc.attributes.gw}}
|
||||||
|
<div class="filler"></div>
|
||||||
|
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="ko" attribute=data.attributes.ko calc=data.calc.attributes.ko}}
|
||||||
|
<div class="filler"></div>
|
||||||
|
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="in" attribute=data.attributes.in calc=data.calc.attributes.in}}
|
||||||
|
<div class="filler"></div>
|
||||||
|
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="zt" attribute=data.attributes.zt calc=data.calc.attributes.zt}}
|
||||||
|
<div class="filler"></div>
|
||||||
|
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="au" attribute=data.attributes.au calc=data.calc.attributes.au}}
|
||||||
|
<div class="filler"></div>
|
||||||
|
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="pa" attribute=data.attributes.pa calc=data.calc.attributes.pa}}
|
||||||
|
<div class="filler"></div>
|
||||||
|
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="wk" attribute=data.attributes.wk calc=data.calc.attributes.wk}}
|
||||||
|
<div class="filler"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<table>
|
<div class="flexcolumn-2">
|
||||||
<thead>
|
<div class="flexpart">
|
||||||
<tr>
|
<div class="flexpart-header"><img src="icons/skills/social/theft-pickpocket-bribery-brown.webp" class="flexpart-icon">{{localize "midgard5.points"}}</div>
|
||||||
<th class="title" colspan="4">Eigenschaften</th>
|
<table>
|
||||||
</tr>
|
<tbody>
|
||||||
</thead>
|
<tr height = 10px></tr>
|
||||||
<tbody>
|
<tr>
|
||||||
<tr height = 10px></tr>
|
<td>{{localize "midgard5.grace"}}</td>
|
||||||
<tr>
|
<td><input name="data.gg" type="text" value="{{data.gg}}" data-dtype="Number" /></td>
|
||||||
<td>{{localize "midgard5.magicUsing"}}</td>
|
<td>{{localize "midgard5.exp-overall"}}</td>
|
||||||
<td><input id="data.info.magicUsing" type="checkbox" name="data.info.magicUsing" {{checked data.info.magicUsing}}></td>
|
<td><input name="data.es" type="text" value="{{data.es}}" data-dtype="Number" /></td>
|
||||||
<td> </td>
|
</tr>
|
||||||
<td> </td>
|
<tr>
|
||||||
</tr>
|
<td>{{localize "midgard5.destiny"}}</td>
|
||||||
<tr>
|
<td><input name="data.sg" type="text" value="{{data.sg}}" data-dtype="Number" /></td>
|
||||||
<td>{{localize "midgard5.grace"}}</td>
|
<td>{{localize "midgard5.exp-available"}}</td>
|
||||||
<td><input name="data.gg" type="text" value="{{data.gg}}" data-dtype="Number" /></td>
|
<td><input name="data.ep" type="text" value="{{data.ep}}" data-dtype="Number" /></td>
|
||||||
<td>{{localize "midgard5.exp-overall"}}</td>
|
</tr>
|
||||||
<td><input name="data.es" type="text" value="{{data.es}}" data-dtype="Number" /></td>
|
<tr>
|
||||||
</tr>
|
<td>{{localize "midgard5.luckPoints"}}</td>
|
||||||
<tr>
|
<td><input name="data.gp" type="text" value="{{data.gp}}" data-dtype="Number" /></td>
|
||||||
<td>{{localize "midgard5.destiny"}}</td>
|
<td></td>
|
||||||
<td><input name="data.sg" type="text" value="{{data.sg}}" data-dtype="Number" /></td>
|
<td></td>
|
||||||
<td>{{localize "midgard5.exp-available"}}</td>
|
</tr>
|
||||||
<td><input name="data.ep" type="text" value="{{data.ep}}" data-dtype="Number" /></td>
|
<tr height = 10px></tr>
|
||||||
</tr>
|
</tbody>
|
||||||
<tr>
|
</table>
|
||||||
<td>{{localize "midgard5.luckPoints"}}</td>
|
</div>
|
||||||
<td><input name="data.gp" type="text" value="{{data.gp}}" data-dtype="Number" /></td>
|
</div>
|
||||||
<td>{{localize "midgard5.movementRange"}}</td>
|
|
||||||
<td><input name="data.movement" type="text" value="{{data.movement}}" data-dtype="Number" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr height = 10px></tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<table style="background-color: beige;">
|
<div class="flexcolumn-2">
|
||||||
<thead>
|
<div class="flexpart">
|
||||||
<tr>
|
<div class="flexpart-header"><img src="icons/magic/time/arrows-circling-pink.webp" class="flexpart-icon">{{localize "midgard5.calculated-values"}}</div>
|
||||||
<th class="title">Leiteigenschaften</th>
|
<table>
|
||||||
</tr>
|
<tbody>
|
||||||
</thead>
|
<tr height = 10px></tr>
|
||||||
<tbody>
|
<tr>
|
||||||
<tr>
|
<td>{{localize "midgard5.magicUsing"}}</td>
|
||||||
<td><div class="attributes">
|
<td><input id="data.info.magicUsing" type="checkbox" name="data.info.magicUsing" {{checked data.info.magicUsing}}></td>
|
||||||
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="st" attribute=data.attributes.st calc=data.calc.attributes.st}}
|
<td>{{localize "midgard5.movementRange"}}</td>
|
||||||
<div class="filler"></div>
|
<td><input name="data.movement" type="text" value="{{data.movement}}" data-dtype="Number" /></td>
|
||||||
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="gs" attribute=data.attributes.gs calc=data.calc.attributes.gs}}
|
</tr>
|
||||||
<div class="filler"></div>
|
<tr>
|
||||||
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="gw" attribute=data.attributes.gw calc=data.calc.attributes.gw}}
|
<td>{{localize "midgard5.actor-lp-short"}}</td>
|
||||||
<div class="filler"></div>
|
<td><input name="data.lp.max" type="text" value="{{data.lp.max}}" data-dtype="Number" /></td>
|
||||||
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="ko" attribute=data.attributes.ko calc=data.calc.attributes.ko}}
|
<td>{{localize "midgard5.actor-ap-short"}}</td>
|
||||||
<div class="filler"></div>
|
<td><input name="data.ap.max" type="text" value="{{data.ap.max}}" data-dtype="Number" /></td>
|
||||||
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="in" attribute=data.attributes.in calc=data.calc.attributes.in}}
|
</tr>
|
||||||
</div></td>
|
<tr>
|
||||||
</tr>
|
<td>{{localize "midgard5.brawl"}}</td>
|
||||||
<tr>
|
<td class="fixed-value">{{data.calc.stats.brawl.value}}</td>
|
||||||
<td><div class="attributes">
|
<td>{{localize "midgard5.enduranceBonus"}}</td>
|
||||||
<div class="filler"></div>
|
<td class="fixed-value">{{data.calc.stats.enduranceBonus}}</td>
|
||||||
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="zt" attribute=data.attributes.zt calc=data.calc.attributes.zt}}
|
</tr>
|
||||||
<div class="attribute-filler-fixed"></div>
|
<tr>
|
||||||
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="au" attribute=data.attributes.au calc=data.calc.attributes.au}}
|
<td>{{localize "midgard5.defense"}}</td>
|
||||||
<div class="attribute-filler-fixed"></div>
|
<td class="fixed-value">{{data.calc.stats.defense.value}}</td>
|
||||||
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="pa" attribute=data.attributes.pa calc=data.calc.attributes.pa}}
|
<td>{{localize "midgard5.defenseBonus"}}</td>
|
||||||
<div class="attribute-filler-fixed"></div>
|
<td class="fixed-value">{{data.calc.stats.defenseBonus.value}}</td>
|
||||||
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="wk" attribute=data.attributes.wk calc=data.calc.attributes.wk}}
|
</tr>
|
||||||
<div class="filler"></div>
|
<tr>
|
||||||
</div></td>
|
<td>{{localize "midgard5.damageBonus"}}</td>
|
||||||
</tr>
|
<td class="fixed-value">{{data.calc.stats.damageBonus.value}}</td>
|
||||||
</tbody>
|
<td>{{localize "midgard5.attackBonus"}}</td>
|
||||||
</table>
|
<td class="fixed-value">{{data.calc.stats.attackBonus.value}}</td>
|
||||||
|
</tr>
|
||||||
<table>
|
<tr>
|
||||||
<thead>
|
<td>{{localize "midgard5.spellCasting"}}</td>
|
||||||
<tr>
|
<td class="fixed-value">{{data.calc.stats.spellCasting.value}}</td>
|
||||||
<th class="title" colspan="4">Berechnete Werte</th>
|
<td>{{localize "midgard5.poisonResistance"}}</td>
|
||||||
</tr>
|
<td class="fixed-value">{{data.calc.stats.poisonResistance.value}}</td>
|
||||||
</thead>
|
</tr>
|
||||||
<tbody>
|
<tr>
|
||||||
<tr height = 10px></tr>
|
<td>{{localize "midgard5.resistanceMind"}}</td>
|
||||||
<tr>
|
<td class="fixed-value">{{data.calc.stats.resistanceMind.value}}</td>
|
||||||
<td>{{localize "midgard5.brawl"}}</td>
|
<td>{{localize "midgard5.resistanceBody"}}</td>
|
||||||
<td class="fixed-value">{{data.calc.stats.brawl.value}}</td>
|
<td class="fixed-value">{{data.calc.stats.resistanceBody.value}}</td>
|
||||||
<td>{{localize "midgard5.enduranceBonus"}}</td>
|
</tr>
|
||||||
<td class="fixed-value">{{data.calc.stats.enduranceBonus}}</td>
|
{{#if (eq data.info.race "Zwerg")}}
|
||||||
</tr>
|
<tr>
|
||||||
<tr>
|
<td>{{localize "midgard5.hoard"}}</td>
|
||||||
<td>{{localize "midgard5.defense"}}</td>
|
<td class="fixed-value">{{data.calc.stats.hoard}}</td>
|
||||||
<td class="fixed-value">{{data.calc.stats.defense.value}}</td>
|
<td></td>
|
||||||
<td>{{localize "midgard5.defenseBonus"}}</td>
|
<td></td>
|
||||||
<td class="fixed-value">{{data.calc.stats.defenseBonus.value}}</td>
|
</tr>
|
||||||
</tr>
|
<tr>
|
||||||
<tr>
|
<td>{{localize "midgard5.hoardMin"}}</td>
|
||||||
<td>{{localize "midgard5.damageBonus"}}</td>
|
<td class="fixed-value">{{data.calc.stats.hoardMin}}</td>
|
||||||
<td class="fixed-value">{{data.calc.stats.damageBonus.value}}</td>
|
<td>{{localize "midgard5.hoard-next"}}</td>
|
||||||
<td>{{localize "midgard5.attackBonus"}}</td>
|
<td class="fixed-value">{{data.calc.stats.hoardNext}}</td>
|
||||||
<td class="fixed-value">{{data.calc.stats.attackBonus.value}}</td>
|
</tr>
|
||||||
</tr>
|
{{/if}}
|
||||||
<tr>
|
|
||||||
<td>{{localize "midgard5.spellCasting"}}</td>
|
<tr height = 10px></tr>
|
||||||
<td class="fixed-value">{{data.calc.stats.spellCasting.value}}</td>
|
</tbody>
|
||||||
<td>{{localize "midgard5.poisonResistance"}}</td>
|
</table>
|
||||||
<td class="fixed-value">{{data.calc.stats.poisonResistance.value}}</td>
|
</div>
|
||||||
</tr>
|
</div>
|
||||||
<tr>
|
</div>
|
||||||
<td>{{localize "midgard5.resistanceMind"}}</td>
|
|
||||||
<td class="fixed-value">{{data.calc.stats.resistanceMind.value}}</td>
|
|
||||||
<td>{{localize "midgard5.resistanceBody"}}</td>
|
|
||||||
<td class="fixed-value">{{data.calc.stats.resistanceBody.value}}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>{{localize "midgard5.resistanceMind"}}</td>
|
|
||||||
<td class="fixed-value">{{data.calc.stats.resistanceMind.value}}</td>
|
|
||||||
<td>{{localize "midgard5.resistanceBody"}}</td>
|
|
||||||
<td class="fixed-value">{{data.calc.stats.resistanceBody.value}}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>{{localize "midgard5.movementRange"}}</td>
|
|
||||||
<td class="fixed-value">{{data.calc.stats.movement.value}}</td>
|
|
||||||
<td>{{localize "midgard5.actor-git-long"}}</td>
|
|
||||||
<td class="fixed-value">{{data.calc.stats.poisonResistance.value}}</td>
|
|
||||||
</tr>
|
|
||||||
<tr height = 10px></tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="title" colspan="4">Beschreibung</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr height = 10px></tr>
|
|
||||||
<tr>
|
|
||||||
<td>{{localize "midgard5.origin"}}</td>
|
|
||||||
<td><input name="data.info.origin" type="text" value="{{data.info.origin}}" data-dtype="String" /></td>
|
|
||||||
<td>{{localize "midgard5.gender"}}</td>
|
|
||||||
<td><input name="data.info.gender" type="text" value="{{data.info.gender}}" data-dtype="String" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>{{localize "midgard5.weight"}}</td>
|
|
||||||
<td><input name="data.info.weight" type="text" value="{{data.info.weight}}" data-dtype="String" /></td>
|
|
||||||
<td>{{localize "midgard5.height"}}</td>
|
|
||||||
<td><input name="data.info.height" type="text" value="{{data.info.height}}" data-dtype="String" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>{{localize "midgard5.shape"}}</td>
|
|
||||||
<td><input name="data.info.shape" type="text" value="{{data.info.shape}}" data-dtype="String" /></td>
|
|
||||||
<td>{{localize "midgard5.age"}}</td>
|
|
||||||
<td><input name="data.info.age" type="text" value="{{data.info.age}}" data-dtype="String" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>{{localize "midgard5.caste"}}</td>
|
|
||||||
<td><input name="data.info.caste" type="text" value="{{data.info.caste}}" data-dtype="String" /></td>
|
|
||||||
<td>{{localize "midgard5.faith"}}</td>
|
|
||||||
<td><input name="data.info.faith" type="text" value="{{data.info.faith}}" data-dtype="String" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr height = 10px></tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
|
||||||
@@ -0,0 +1,190 @@
|
|||||||
|
<div class="flexbox">
|
||||||
|
|
||||||
|
<div class="flexcolumn-1">
|
||||||
|
<div class="flexpart">
|
||||||
|
<div class="flexpart-header"><img src="icons/magic/time/arrows-circling-pink.webp" class="flexpart-icon">{{localize "midgard5.calculated-values"}}</div>
|
||||||
|
<table>
|
||||||
|
<tr height = 10px></tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.movementRange"}}</td>
|
||||||
|
<td class="fixed-value">{{data.calc.stats.movement.value}}</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="fixed-value"></td>
|
||||||
|
</tr>
|
||||||
|
<td>{{localize "midgard5.defense"}}</td>
|
||||||
|
<td class="fixed-value">{{data.calc.stats.defense.value}}</td>
|
||||||
|
<td>{{localize "midgard5.defenseBonus"}}</td>
|
||||||
|
<td class="fixed-value">{{data.calc.stats.defenseBonus.value}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.attackBonus"}}</td>
|
||||||
|
<td class="fixed-value">{{data.calc.stats.attackBonus.value}}</td>
|
||||||
|
<td>{{localize "midgard5.damageBonus"}}</td>
|
||||||
|
<td class="fixed-value">{{data.calc.stats.damageBonus.value}}</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flexcolumn-2">
|
||||||
|
<div class="flexpart">
|
||||||
|
<div class="flexpart-header"><img src="icons/skills/melee/hand-grip-sword-white-brown.webp" class="flexpart-icon">{{localize "midgard5.attack"}}</div>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="title">{{localize "TYPES.Item.weapon"}}</th>
|
||||||
|
<th class="title">{{localize "midgard5.ew"}}</th>
|
||||||
|
<th class="title">{{localize "midgard5.damage"}}</th>
|
||||||
|
<th class="title center"><img src="/systems/midgard5/assets/icons/icon/battle-gear.svg" class="table-icon"></th>
|
||||||
|
<th class="title"><img src="/icons/svg/d20.svg" class="table-icon"></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{#each data.calc.gear.weapons as |item itemId|}}
|
||||||
|
{{#if item.equipped}}
|
||||||
|
<tr data-item="{{itemId}}">
|
||||||
|
<td class="padding edit-item {{#if item.special}}highlight{{/if}}">{{item.label}}{{#if item.special}}(*){{/if}}</td>
|
||||||
|
<td class="fixed-value">{{item.calc.ew}}</td>
|
||||||
|
<td class="fixed-value">{{item.damageBase}}</td>
|
||||||
|
<td class="change-equipped">
|
||||||
|
{{#if item.equipped}}
|
||||||
|
<i class="fa-solid fa-circle-check"></i>
|
||||||
|
{{else}}
|
||||||
|
<i class="fa-regular fa-circle"></i>
|
||||||
|
{{/if}}
|
||||||
|
</td>
|
||||||
|
<td><button class="roll-button roll-weapon-button"></button></td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
|
{{/each}}
|
||||||
|
|
||||||
|
<tr data-item="{{itemId}}">
|
||||||
|
<td class="padding edit-item">{{localize "midgard5.brawl"}}</td>
|
||||||
|
<td class="fixed-value">{{data.calc.stats.brawlFw}}</td>
|
||||||
|
<td class="fixed-value">1d6 -4</td>
|
||||||
|
<td> </td>
|
||||||
|
<td><button class="roll-button roll-brawl-button"></button></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="title">{{localize "TYPES.Item.kampfkunst"}}</th>
|
||||||
|
<th class="title">{{localize "midgard5.kampfkunst-variante-short"}}</th>
|
||||||
|
<th class="title">{{localize "midgard5.ew"}}</th>
|
||||||
|
<th class="title"><img src="/icons/svg/d20.svg" class="table-icon"></th>
|
||||||
|
<th class="title add-kampfkunst"><i class="fa-regular fa-plus"></i></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{#each data.calc.kampfkuenste as |item itemId|}}
|
||||||
|
<tr data-item="{{itemId}}">
|
||||||
|
<td class="padding edit-item">{{item.label}}</td>
|
||||||
|
<td>
|
||||||
|
{{#if item.isKido}}
|
||||||
|
<span class="spell-process">{{localize (m5concat "midgard5.kido-type-" item.type)}}</span>
|
||||||
|
{{#unless (eq item.type "finte")}}
|
||||||
|
<span class="spell-process">({{localize (m5concat "midgard5.kido-variante-" item.variante)}})</span>
|
||||||
|
{{/unless}}
|
||||||
|
{{else}}
|
||||||
|
<span class="spell-process">{{localize (m5concat "midgard5.kampfkunst-type-" item.type)}}</span>
|
||||||
|
{{#if (eq item.type "angriff")}}
|
||||||
|
<span class="spell-process">({{localize (m5concat "midgard5.kampfkunst-variante-" item.variante)}})</span>
|
||||||
|
{{/if}}
|
||||||
|
{{/if}}
|
||||||
|
</td>
|
||||||
|
<td class="fixed-value">{{item.calc.ew}}</td>
|
||||||
|
<td><button class="roll-button roll-weapon-button" /></td>
|
||||||
|
<td><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/skills/melee/shield-block-gray-orange.webp" class="flexpart-icon">{{localize "midgard5.defense"}}</div>
|
||||||
|
<table>
|
||||||
|
<tr height = 10px></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="padding edit-item highlight">{{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>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="padding edit-item highlight">{{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>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="padding edit-item highlight">{{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>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="title">{{localize "TYPES.Item.defensiveWeapon"}}</th>
|
||||||
|
<th class="title">{{localize "midgard5.ew"}}</th>
|
||||||
|
<th class="title">{{localize "midgard5.defenseBonus-short"}}</th>
|
||||||
|
<th class="title center"><img src="/systems/midgard5/assets/icons/icon/battle-gear.svg" class="table-icon"></th>
|
||||||
|
<th class="title"><img src="/icons/svg/d20.svg" class="table-icon"></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{#each data.calc.gear.defensiveWeapons as |item itemId|}}
|
||||||
|
{{#if item.equipped}}
|
||||||
|
<tr data-item="{{itemId}}">
|
||||||
|
<td class="padding edit-item">{{item.label}}</td>
|
||||||
|
<td class="fixed-value">{{item.calc.ew}}</td>
|
||||||
|
<td class="fixed-value">{{item.defenseBonus}}</td>
|
||||||
|
<td class="change-equipped">
|
||||||
|
{{#if item.equipped}}
|
||||||
|
<i class="fa-solid fa-circle-check"></i>
|
||||||
|
{{else}}
|
||||||
|
<i class="fa-regular fa-circle"></i>
|
||||||
|
{{/if}}
|
||||||
|
</td>
|
||||||
|
<td><button class="roll-button roll-weapon-button"></button></td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
|
{{/each}}
|
||||||
|
</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 center"><img src="/systems/midgard5/assets/icons/icon/battle-gear.svg" class="table-icon"></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{#each data.calc.gear.armor as |item itemId|}}
|
||||||
|
{{#if item.equipped}}
|
||||||
|
<tr data-item="{{itemId}}">
|
||||||
|
<td class="padding">{{item.label}}</td>
|
||||||
|
<td class="fixed-value">{{lpProtection}}</td>
|
||||||
|
<td class="change-equipped">
|
||||||
|
{{#if item.equipped}}
|
||||||
|
<i class="fa-solid fa-circle-check"></i>
|
||||||
|
{{else}}
|
||||||
|
<i class="fa-regular fa-circle"></i>
|
||||||
|
{{/if}}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
<div class="flexbox">
|
||||||
|
<div class="flexcolumn-1">
|
||||||
|
<div class="flexpart">
|
||||||
|
<div class="flexpart-header"><img src="icons/commodities/cloth/thread-spindle-white-needle.webp" class="flexpart-icon" />{{localize "midgard5.characteristics"}}</div>
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr height="10px"></tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.origin"}}</td>
|
||||||
|
<td><input name="data.info.origin" type="text" value="{{data.info.origin}}" data-dtype="String" /></td>
|
||||||
|
<td>{{localize "midgard5.gender"}}</td>
|
||||||
|
<td><input name="data.info.gender" type="text" value="{{data.info.gender}}" data-dtype="String" /></td>
|
||||||
|
<td>{{localize "midgard5.shape"}}</td>
|
||||||
|
<td><input name="data.info.shape" type="text" value="{{data.info.shape}}" data-dtype="String" /></td>
|
||||||
|
<td>{{localize "midgard5.age"}}</td>
|
||||||
|
<td><input name="data.info.age" type="text" value="{{data.info.age}}" data-dtype="String" /></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.weight"}}</td>
|
||||||
|
<td><input name="data.info.weight" type="text" value="{{data.info.weight}}" data-dtype="String" /></td>
|
||||||
|
<td>{{localize "midgard5.height"}}</td>
|
||||||
|
<td><input name="data.info.height" type="text" value="{{data.info.height}}" data-dtype="String" /></td>
|
||||||
|
<td>{{localize "midgard5.caste"}}</td>
|
||||||
|
<td><input name="data.info.caste" type="text" value="{{data.info.caste}}" data-dtype="String" /></td>
|
||||||
|
<td>{{localize "midgard5.faith"}}</td>
|
||||||
|
<td><input name="data.info.faith" type="text" value="{{data.info.faith}}" data-dtype="String" /></td>
|
||||||
|
</tr>
|
||||||
|
<tr height="10px"></tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flexcolumn-1">
|
||||||
|
<div class="flexpart" style="height: 250px;">
|
||||||
|
<div class="flexpart-header"><img src="icons/environment/wilderness/mine-interior-dungeon-door.webp" class="flexpart-icon" />{{localize "midgard5.description"}}</div>
|
||||||
|
<br />
|
||||||
|
<div class="biography">{{editor content=data.info.description target="data.info.description" button=true owner=owner editable=editable}}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flexcolumn-1">
|
||||||
|
<div class="flexpart" style="height: 250px;">
|
||||||
|
<div class="flexpart-header"><img src="icons/environment/people/group.webp" class="flexpart-icon" />{{localize "midgard5.background"}}</div>
|
||||||
|
<br />
|
||||||
|
<div class="biography">{{editor content=data.info.background target="data.info.background" button=true owner=owner editable=editable}}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
@@ -2,7 +2,8 @@
|
|||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="title">{{localize "TYPES.Item.effect"}}</th>
|
<th class="title">{{localize "TYPES.Item.effect"}}</th>
|
||||||
<th class="title"></th>
|
<th class="title add-effect"><i class="fa-regular fa-plus"></i></th>
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
|||||||
@@ -1,157 +1,385 @@
|
|||||||
<table>
|
<h3>{{localize "midgard5.wealthAndContainers"}}</h3>
|
||||||
<thead>
|
<div class="flexbox">
|
||||||
<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>
|
|
||||||
|
|
||||||
<table>
|
<div class="flexcolumn-2">
|
||||||
<thead>
|
<div class="flexpart">
|
||||||
<tr>
|
<div class="flexpart-header"><img src="icons/commodities/currency/coins-assorted-mix-copper-silver-gold.webp" class="flexpart-icon">{{localize "midgard5.currency"}}</div>
|
||||||
<th class="title">{{localize "TYPES.Item.weapon"}}</th>
|
<table>
|
||||||
<th class="title">{{localize "midgard5.ew"}}</th>
|
<thead class="theader">
|
||||||
<th class="title"></th>
|
<tr>
|
||||||
<th class="title"></th>
|
<th class="title" style="text-align: center">{{localize "midgard5.currency-wealth"}}</th>
|
||||||
</tr>
|
<th class="title" style="text-align: center">{{localize "midgard5.currency-gold"}}</th>
|
||||||
</thead>
|
<th class="title" style="text-align: center">{{localize "midgard5.currency-silver"}}</th>
|
||||||
<tbody>
|
<th class="title" style="text-align: center">{{localize "midgard5.currency-copper"}}</th>
|
||||||
{{#each data.calc.gear.weapons as |item itemId|}}
|
{{#if (eq data.info.race "Zwerg")}}
|
||||||
<tr data-item="{{itemId}}">
|
<th class="title" style="text-align: center">{{localize "midgard5.hoard"}}</th>
|
||||||
<td class="padding edit-item">{{item.label}}</td>
|
{{/if}}
|
||||||
<td class="fixed-value">{{item.calc.ew}}</td>
|
</tr>
|
||||||
<td class="fixed-value"><button class="roll-button roll-weapon-button"></button></td>
|
</thead>
|
||||||
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
<tbody>
|
||||||
</tr>
|
<tr height = 10px></tr>
|
||||||
{{/each}}
|
<tr>
|
||||||
|
<td class="fixed-value"><input type="number" name="data.info.wealth" value="{{data.calc.stats.wealth}}"></td>
|
||||||
|
<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>
|
||||||
|
{{#if (eq data.info.race "Zwerg")}}
|
||||||
|
<td class="fixed-value"><input type="number" name="midgard5.hoard" value="{{data.calc.stats.hoard}}"></td>
|
||||||
|
{{/if}}
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<tr data-item="{{itemId}}">
|
<div class="flexcolumn-2">
|
||||||
<td class="padding edit-item">{{localize "midgard5.brawl"}}</td>
|
<div class="flexpart">
|
||||||
<td class="center">{{data.calc.stats.brawlFw}}</td>
|
<div class="flexpart-header"><img src="icons/containers/chest/chest-simple-box-brown.webp" class="flexpart-icon">{{localize "TYPES.Item.container"}}</div>
|
||||||
<td class="fixed-value"><button class="roll-button roll-brawl-button"></button></td>
|
<table>
|
||||||
<td class="fixed-value"></td>
|
<thead class="theader">
|
||||||
</tr>
|
<tr>
|
||||||
</tbody>
|
<th class="title">{{localize "TYPES.Item.container"}}</th>
|
||||||
</table>
|
<th class="title center">{{localize "midgard5.item-value"}}</th>
|
||||||
|
<th class="title center"><img src="/systems/midgard5/assets/icons/icon/battle-gear.svg" class="table-icon"></th>
|
||||||
|
<th class="title"><img src="/icons/svg/d20.svg" class="table-icon"></th>
|
||||||
|
<th class="title add-container"><i class="fa-regular fa-plus"></i></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr height = 10px></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 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="change-equipped">
|
||||||
|
{{#if item.equipped}}
|
||||||
|
<i class="fa-solid fa-circle-check"></i>
|
||||||
|
{{else}}
|
||||||
|
<i class="fa-regular fa-circle"></i>
|
||||||
|
{{/if}}
|
||||||
|
</td>
|
||||||
|
<td>{{#if item.rollExist}}<button class="roll-button roll-consumable-item"></button>{{/if}}</td>
|
||||||
|
<td><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
|
</tr>
|
||||||
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<table>
|
<h3>{{localize "midgard5.itemsInContainers"}}</h3>
|
||||||
<thead>
|
<div class="flexbox">
|
||||||
<tr>
|
{{#each data.calc.gear.containers as |container containerId|}}
|
||||||
<th class="title">{{localize "TYPES.Item.defensiveWeapon"}}</th>
|
<div class="flexcolumn-2">
|
||||||
<th class="title">{{localize "midgard5.ew"}}</th>
|
<div class="flexpart">
|
||||||
<th class="title"></th>
|
<div class="flexpart-header"><img src="{{container.icon}}" class="flexpart-icon">{{container.label}}</div>
|
||||||
<th class="title"></th>
|
<table>
|
||||||
</tr>
|
<thead class="theader">
|
||||||
</thead>
|
<tr>
|
||||||
<tbody>
|
<th class="title">{{localize "TYPES.Item.item"}}</th>
|
||||||
{{#each data.calc.gear.defensiveWeapons as |item itemId|}}
|
<th class="title center">{{localize "midgard5.item-quantity"}}</th>
|
||||||
<tr data-item="{{itemId}}">
|
<th class="title center">{{localize "midgard5.item-value"}}</th>
|
||||||
<td class="padding edit-item">{{item.label}}</td>
|
<th class="title center"><img src="/systems/midgard5/assets/icons/icon/battle-gear.svg" class="table-icon"></th>
|
||||||
<td class="fixed-value">{{item.calc.ew}}</td>
|
<th class="title"><img src="/icons/svg/d20.svg" class="table-icon"></th>
|
||||||
<td class="fixed-value"><button class="roll-button roll-weapon-button"></button></td>
|
<th class="title"> </th>
|
||||||
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
</tr>
|
||||||
</tr>
|
</thead>
|
||||||
{{/each}}
|
<tbody>
|
||||||
|
<tr height = 10px></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>
|
||||||
|
<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="change-equipped">
|
||||||
|
{{#if item.equipped}}
|
||||||
|
<i class="fa-solid fa-circle-check"></i>
|
||||||
|
{{else}}
|
||||||
|
<i class="fa-regular fa-circle"></i>
|
||||||
|
{{/if}}
|
||||||
|
</td>
|
||||||
|
<td>{{#if item.rollExist}}<button class="roll-button roll-consumable-item"></button>{{/if}}</td>
|
||||||
|
<td><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
|
{{/each}}
|
||||||
|
{{#each ../data.calc.gear.weapons as |item itemId|}}
|
||||||
|
{{#if (eq item.containerId containerId)}}
|
||||||
|
<tr data-item="{{itemId}}">
|
||||||
|
<td class="padding">
|
||||||
|
<span class="edit-item">{{item.label}}</span>
|
||||||
|
</td>
|
||||||
|
<td></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="change-equipped">
|
||||||
|
{{#if item.equipped}}
|
||||||
|
<i class="fa-solid fa-circle-check"></i>
|
||||||
|
{{else}}
|
||||||
|
<i class="fa-regular fa-circle"></i>
|
||||||
|
{{/if}}
|
||||||
|
</td>
|
||||||
|
<td>{{#if item.rollExist}}<button class="roll-button roll-consumable-item"></button>{{/if}}</td>
|
||||||
|
<td><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
|
{{/each}}
|
||||||
|
{{#each ../data.calc.gear.defensiveWeapons as |item itemId|}}
|
||||||
|
{{#if (eq item.containerId containerId)}}
|
||||||
|
<tr data-item="{{itemId}}">
|
||||||
|
<td class="padding">
|
||||||
|
<span class="edit-item">{{item.label}}</span>
|
||||||
|
</td>
|
||||||
|
<td></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="change-equipped">
|
||||||
|
{{#if item.equipped}}
|
||||||
|
<i class="fa-solid fa-circle-check"></i>
|
||||||
|
{{else}}
|
||||||
|
<i class="fa-regular fa-circle"></i>
|
||||||
|
{{/if}}
|
||||||
|
</td>
|
||||||
|
<td>{{#if item.rollExist}}<button class="roll-button roll-consumable-item"></button>{{/if}}</td>
|
||||||
|
<td><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
|
{{/each}}
|
||||||
|
{{#each ../data.calc.gear.armor as |item itemId|}}
|
||||||
|
{{#if (eq item.containerId containerId)}}
|
||||||
|
<tr data-item="{{itemId}}">
|
||||||
|
<td class="padding">
|
||||||
|
<span class="edit-item">{{item.label}}</span>
|
||||||
|
</td>
|
||||||
|
<td></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="change-equipped">
|
||||||
|
{{#if item.equipped}}
|
||||||
|
<i class="fa-solid fa-circle-check"></i>
|
||||||
|
{{else}}
|
||||||
|
<i class="fa-regular fa-circle"></i>
|
||||||
|
{{/if}}
|
||||||
|
</td>
|
||||||
|
<td>{{#if item.rollExist}}<button class="roll-button roll-consumable-item"></button>{{/if}}</td>
|
||||||
|
<td><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{/each}}
|
||||||
|
</div>
|
||||||
|
|
||||||
<tr data-item="{{itemId}}">
|
<h3>
|
||||||
<td class="padding edit-item">{{localize "midgard5.defense"}}</td>
|
{{localize "midgard5.allItems"}}
|
||||||
<td class="center">{{add data.calc.stats.defense.value data.calc.stats.defenseBonus.value}}</td>
|
<input id="data.info.showAllItems" class="checkbox" type="checkbox" name="data.info.showAllItems" {{checked data.info.showAllItems}} style="float: right;">
|
||||||
<td class="fixed-value"><button class="roll-button roll-defense-button"></button></td>
|
<label for="data.info.showAllItems" style="font-size: normal; font-weight: normal; font-style: italic; float: right;">{{localize "midgard5.showAll"}} </label>
|
||||||
<td class="fixed-value"></td>
|
</h3>
|
||||||
</tr>
|
<div class="flexbox">
|
||||||
|
{{#unless (eq (count data.calc.gear.items) 0)}}
|
||||||
<tr data-item="{{itemId}}">
|
<div class="flexcolumn-2">
|
||||||
<td class="padding edit-item">{{localize "midgard5.resistanceMind"}}</td>
|
<div class="flexpart">
|
||||||
<td class="center">{{data.calc.stats.resistanceMind.value}}</td>
|
<div class="flexpart-header"><img src="icons/tools/hand/scale-balances-merchant-brown.webp" class="flexpart-icon">{{localize "midgard5.gear"}}</div>
|
||||||
<td class="fixed-value"><button class="roll-button roll-resistanceMind-button"></button></td>
|
<table>
|
||||||
<td class="fixed-value"></td>
|
<thead class="theader">
|
||||||
</tr>
|
<tr>
|
||||||
|
<th class="title">{{localize "TYPES.Item.item"}}</th>
|
||||||
<tr data-item="{{itemId}}">
|
<th class="title center">{{localize "midgard5.item-quantity"}}</th>
|
||||||
<td class="padding edit-item">{{localize "midgard5.resistanceBody"}}</td>
|
<th class="title center">{{localize "midgard5.item-value"}}</th>
|
||||||
<td class="center">{{data.calc.stats.resistanceBody.value}}</td>
|
<th class="title"><img src="/systems/midgard5/assets/icons/icon/battle-gear.svg" class="table-icon"></th>
|
||||||
<td class="fixed-value"><button class="roll-button roll-resistanceBody-button"></button></td>
|
<th class="title"><img src="/icons/svg/d20.svg" class="table-icon"></th></th>
|
||||||
<td class="fixed-value"></td>
|
<th class="title add-item"><i class="fa-regular fa-plus"></i></th>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</thead>
|
||||||
</table>
|
<tbody>
|
||||||
|
<tr height = 10px></tr>
|
||||||
<table>
|
</tr>
|
||||||
<thead>
|
{{#each data.calc.gear.items as |item itemId|}}
|
||||||
<tr>
|
{{#if (or ../data.info.showAllItems (eq item.containerId ""))}}
|
||||||
<th class="title">{{localize "TYPES.Item.armor"}}</th>
|
<tr data-item="{{itemId}}">
|
||||||
<th class="title">{{localize "midgard5.actor-lp-short"}}</th>
|
<td class="padding">
|
||||||
<th class="title">{{localize "midgard5.actor-ap-short"}}</th>
|
<span class="edit-item">{{item.label}}</span>
|
||||||
<th class="title">{{localize "midgard5.attackBonus-short"}}</th>
|
</td>
|
||||||
<th class="title">{{localize "midgard5.defenseBonus-short"}}</th>
|
<td>
|
||||||
<th class="title">B</th>
|
<i class="fa fa-minus-circle quantity-decrease" style="cursor: pointer"></i>
|
||||||
<th class="title">Gw</th>
|
<span>{{item.quantity}}</span>
|
||||||
<th class="title"></th>
|
<i class="fa fa-plus-circle quantity-increase" style="cursor: pointer"></i>
|
||||||
</tr>
|
</td>
|
||||||
</thead>
|
<td style="text-align: start">
|
||||||
<tbody>
|
{{#unless (or (eq item.value 0) (eq item.currency ""))}}
|
||||||
{{#each data.calc.gear.armor as |item itemId|}}
|
<span class="spell-process">{{item.value}} {{localize (m5concat "midgard5.currency-" item.currency)}}</span>
|
||||||
<tr data-item="{{itemId}}">
|
{{/unless}}
|
||||||
<td class="padding">
|
</td>
|
||||||
<span class="edit-item">{{item.label}}</span>
|
<td class="change-equipped">
|
||||||
{{#if item.equipped}}
|
{{#if item.equipped}}
|
||||||
<span class="spell-process">{{localize "midgard5.equipped"}}</span>
|
<i class="fa-solid fa-circle-check"></i>
|
||||||
|
{{else}}
|
||||||
|
<i class="fa-regular fa-circle"></i>
|
||||||
|
{{/if}}
|
||||||
|
</td>
|
||||||
|
<td>{{#if item.rollExist}}<button class="roll-button roll-consumable-item"></button>{{/if}}</td>
|
||||||
|
<td><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
|
</tr>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</td>
|
{{/each}}
|
||||||
<td class="fixed-value">{{actorItemValue ../actor._id itemId "lpProtection" ../actor.isToken}}</td>
|
</tbody>
|
||||||
<td class="fixed-value">{{actorItemValue ../actor._id itemId "apProtection"}}</td>
|
</table>
|
||||||
<td class="fixed-value">{{actorItemValue ../actor._id itemId "stats.attackBonus"}}</td>
|
</div>
|
||||||
<td class="fixed-value">{{actorItemValue ../actor._id itemId "stats.defenseBonus"}}</td>
|
</div>
|
||||||
<td class="fixed-value">{{actorItemValue ../actor._id itemId "stats.movementBonus"}}</td>
|
{{/unless}}
|
||||||
<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>
|
{{#unless (eq (count data.calc.gear.weapons) 0)}}
|
||||||
<thead>
|
<div class="flexcolumn-2">
|
||||||
<tr>
|
<div class="flexpart">
|
||||||
<th class="title">{{localize "TYPES.Item.item"}}</th>
|
<div class="flexpart-header">
|
||||||
<th class="title center">{{localize "midgard5.item-quantity"}}</th>
|
<img src="icons/weapons/swords/sword-guard-engraved-worn.webp" class="flexpart-icon">{{localize "midgard5.weapons"}}</div>
|
||||||
<th class="title center">{{localize "midgard5.item-value"}}</th>
|
<table>
|
||||||
<th class="title"></th>
|
<thead>
|
||||||
<th class="title"></th>
|
<tr>
|
||||||
</tr>
|
<th class="title">{{localize "TYPES.Item.weapon"}}</th>
|
||||||
</thead>
|
<th class="title center">{{localize "midgard5.item-value"}}</th>
|
||||||
<tbody>
|
<th class="title"><img src="/systems/midgard5/assets/icons/icon/battle-gear.svg" class="table-icon"></th>
|
||||||
</tr>
|
<th class="title add-weapon"><i class="fa-regular fa-plus"></i></th>
|
||||||
{{#each data.calc.gear.items as |item itemId|}}
|
|
||||||
<tr data-item="{{itemId}}">
|
</tr>
|
||||||
<td class="padding">
|
</thead>
|
||||||
<span class="edit-item">{{item.label}}</span>
|
<tbody>
|
||||||
{{#if item.equipped}}
|
{{#each data.calc.gear.weapons as |item itemId|}}
|
||||||
<span class="spell-process">{{localize "midgard5.equipped"}}</span>
|
{{#if (or ../data.info.showAllItems (eq item.containerId ""))}}
|
||||||
{{/if}}
|
<tr data-item="{{itemId}}">
|
||||||
</td>
|
<td class="padding edit-item">{{item.label}}</td>
|
||||||
<td>
|
<td style="text-align: start">
|
||||||
<i class="fa fa-minus-circle quantity-decrease" style="cursor: pointer"></i>
|
{{#unless (or (eq item.value 0) (eq item.currency ""))}}
|
||||||
<span>{{item.quantity}}</span>
|
<span class="spell-process">{{item.value}} {{localize (m5concat "midgard5.currency-" item.currency)}}</span>
|
||||||
<i class="fa fa-plus-circle quantity-increase" style="cursor: pointer"></i>
|
{{/unless}}
|
||||||
</td>
|
</td>
|
||||||
<td style="text-align: start">
|
<td class="change-equipped">
|
||||||
{{#unless (or (eq item.value 0) (eq item.currency ""))}}
|
{{#if item.equipped}}
|
||||||
<span class="spell-process">{{item.value}} {{localize (m5concat "midgard5.currency-" item.currency)}}</span>
|
<i class="fa-solid fa-circle-check"></i>
|
||||||
{{/unless}}
|
{{else}}
|
||||||
</td>
|
<i class="fa-regular fa-circle"></i>
|
||||||
<td class="fixed-value">{{#if item.rollExist}}<button class="roll-button roll-consumable-item"></button>{{/if}}</td>
|
{{/if}}
|
||||||
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
</td>
|
||||||
</tr>
|
<td><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
{{/each}}
|
</tr>
|
||||||
</tbody>
|
{{/if}}
|
||||||
</table>
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{/unless}}
|
||||||
|
|
||||||
|
{{#unless (eq (count data.calc.gear.defensiveWeapons) 0)}}
|
||||||
|
<div class="flexcolumn-2">
|
||||||
|
<div class="flexpart">
|
||||||
|
<div class="flexpart-header"><img src="icons/equipment/shield/heater-wooden-brown-axe.webp" class="flexpart-icon">{{localize "midgard5.defensive-weapons"}}</div>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="title">{{localize "TYPES.Item.defensiveWeapon"}}</th>
|
||||||
|
<th class="title center">{{localize "midgard5.item-value"}}</th>
|
||||||
|
<th class="title"><img src="/systems/midgard5/assets/icons/icon/battle-gear.svg" class="table-icon"></th>
|
||||||
|
<th class="title add-defensiveWeapon"><i class="fa-regular fa-plus"></i></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{#each data.calc.gear.defensiveWeapons as |item itemId|}}
|
||||||
|
{{#if (or ../data.info.showAllItems (eq item.containerId ""))}}
|
||||||
|
<tr data-item="{{itemId}}">
|
||||||
|
<td class="padding edit-item">{{item.label}}</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="change-equipped">
|
||||||
|
{{#if item.equipped}}
|
||||||
|
<i class="fa-solid fa-circle-check"></i>
|
||||||
|
{{else}}
|
||||||
|
<i class="fa-regular fa-circle"></i>
|
||||||
|
{{/if}}
|
||||||
|
</td>
|
||||||
|
<td><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{/unless}}
|
||||||
|
|
||||||
|
{{#unless (eq (count data.calc.gear.armor) 0)}}
|
||||||
|
<div class="flexcolumn-2">
|
||||||
|
<div class="flexpart">
|
||||||
|
<div class="flexpart-header"><img src="icons/equipment/hand/gauntlet-armored-steel-grey.webp" class="flexpart-icon">{{localize "midgard5.armor"}}</div>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="title">{{localize "TYPES.Item.armor"}}</th>
|
||||||
|
<th class="title center">{{localize "midgard5.item-value"}}</th>
|
||||||
|
<th class="title"><img src="/systems/midgard5/assets/icons/icon/battle-gear.svg" class="table-icon"></th>
|
||||||
|
<th class="title add-armor"><i class="fa-regular fa-plus"></i></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{#each data.calc.gear.armor as |item itemId|}}
|
||||||
|
{{#if (or ../data.info.showAllItems (eq item.containerId ""))}}
|
||||||
|
<tr data-item="{{itemId}}">
|
||||||
|
<td class="padding edit-item">{{item.label}}</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="change-equipped">
|
||||||
|
{{#if item.equipped}}
|
||||||
|
<i class="fa-solid fa-circle-check"></i>
|
||||||
|
{{else}}
|
||||||
|
<i class="fa-regular fa-circle"></i>
|
||||||
|
{{/if}}
|
||||||
|
</td>
|
||||||
|
<td><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{/unless}}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="title">{{localize "TYPES.Item.kampfkunst"}}</th>
|
|
||||||
<th class="title">{{localize "midgard5.ew"}}</th>
|
|
||||||
<th class="title"></th>
|
|
||||||
<th class="title"></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{{#each data.calc.kampfkuenste as |item itemId|}}
|
|
||||||
<tr data-item="{{itemId}}">
|
|
||||||
<td class="padding edit-item">
|
|
||||||
<span>{{item.label}}</span>
|
|
||||||
{{#if item.isKido}}
|
|
||||||
<span class="spell-process">{{localize (m5concat "midgard5.kido-type-" item.type)}}</span>
|
|
||||||
{{#unless (eq item.type "finte")}}
|
|
||||||
<span class="spell-process">({{localize (m5concat "midgard5.kido-variante-" item.variante)}})</span>
|
|
||||||
{{/unless}}
|
|
||||||
{{else}}
|
|
||||||
<span class="spell-process">{{localize (m5concat "midgard5.kampfkunst-type-" item.type)}}</span>
|
|
||||||
{{#if (eq item.type "angriff")}}
|
|
||||||
<span class="spell-process">({{localize (m5concat "midgard5.kampfkunst-variante-" item.variante)}})</span>
|
|
||||||
{{/if}}
|
|
||||||
{{/if}}
|
|
||||||
</td>
|
|
||||||
<td class="fixed-value">{{item.calc.ew}}</td>
|
|
||||||
<td class="fixed-value"><button class="roll-button roll-weapon-button" /></td>
|
|
||||||
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
|
||||||
</tr>
|
|
||||||
{{/each}}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
@@ -1,101 +1,116 @@
|
|||||||
<form class="actor-sheet {{cssClass}}" autocomplete="off">
|
<form class="actor-sheet {{cssClass}}" autocomplete="off">
|
||||||
<header class="sheet-header">
|
<header class="flexbox" style="background-color: beige; padding: 5px; border: 2px solid black;">
|
||||||
<table style="padding: 5px;">
|
|
||||||
<tr height = 5px></tr>
|
<!-- Logo -->
|
||||||
<tr>
|
<div class="flexcolumn-5" style="height: 200px;">
|
||||||
<td style="text-align: left;" colspan="4" rowspan="2"><img style="border: 0px solid black;" src="/systems/midgard5/assets/icons/logo/midgard.webp" alt="Midgard"></td>
|
<img class="profile-img" src="/systems/midgard5/assets/icons/backgrounds/bg1.webp" alt="Midgard">
|
||||||
<td></td>
|
</div>
|
||||||
<td colspan="5" style="font-size: x-large; font-weigh: bold;"><input name="name" type="text" value="{{actor.name}}" data-dtype="String" /></td>
|
|
||||||
<td style="font-size: x-large; font-weigh: bold; text-align: center; text-align-vertical: middle;" ><div style="border: 2px solid black; border-radius: 10px; background-color: white;">{{data.calc.level}}</div></td>
|
<!-- Name, Class, Level, Race, Occupation -->
|
||||||
</tr>
|
<div class="flexcolumn-2" style="margin:0px 5px 0px 5px;">
|
||||||
<tr>
|
<table class="bordered">
|
||||||
<td></td>
|
<tr>
|
||||||
<td colspan="5"><b>Name</b></td>
|
<td >{{localize "midgard5.actor-name"}}</td>
|
||||||
<td style="text-align: center;"><b>Grad</b></td>
|
<td colspan="3"><input name="name" type="text" value="{{actor.name}}" data-dtype="String" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr height = 10px></tr>
|
<tr>
|
||||||
<tr>
|
<td >{{localize "midgard5.class"}}</td>
|
||||||
<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><input name="data.info.class" type="text" value="{{data.info.class}}" data-dtype="String" /></td>
|
||||||
<td></td>
|
<td >{{localize "midgard5.level"}}</td>
|
||||||
<td colspan="3">
|
<td>{{data.calc.level}}</td>
|
||||||
<input list="races" type="search" name="data.info.race" value="{{data.info.race}}" />
|
</table>
|
||||||
<datalist id="races">
|
|
||||||
<option value="Mensch">
|
<table style="font-weight: bold;">
|
||||||
<option value="Elf">
|
<tr height = 10px></tr>
|
||||||
<option value="Gnom">
|
<tr>
|
||||||
<option value="Halbling">
|
<td >
|
||||||
<option value="Zwerg">
|
<input list="races" type="search" name="data.info.race" value="{{data.info.race}}" />
|
||||||
</datalist>
|
<datalist id="races">
|
||||||
</td>
|
<option value="Mensch">
|
||||||
<td colspan="3"><input name="data.info.class" type="text" value="{{data.info.class}}" data-dtype="String" /></td>
|
<option value="Elf">
|
||||||
<td colspan="3"><b><input name="data.info.occupation" type="text" value="{{data.info.occupation}}" data-dtype="String" /></b></td>
|
<option value="Gnom">
|
||||||
</tr>
|
<option value="Halbling">
|
||||||
<tr>
|
<option value="Zwerg">
|
||||||
<td></td>
|
</datalist>
|
||||||
<td colspan="3"><b>{{localize "midgard5.race"}}</b></td>
|
</td>
|
||||||
<td colspan="3"><b>{{localize "midgard5.class"}}</b></td>
|
<td ><input name="data.info.occupation" type="text" value="{{data.info.occupation}}" data-dtype="String" /></td>
|
||||||
<td colspan="3"><b>{{localize "midgard5.occupation"}}</b></td>
|
</tr>
|
||||||
</tr>
|
<tr>
|
||||||
<tr height = 10px></tr>
|
<td style="text-align: center; font-size: small">{{localize "midgard5.race"}}</td>
|
||||||
<tr>
|
<td style="text-align: center; font-size: small">{{localize "midgard5.occupation"}}</td>
|
||||||
<td style="text-align: right"><b>{{localize "midgard5.actor-lp-short"}}</b></td>
|
</tr>
|
||||||
<td colspan="9">
|
</table>
|
||||||
<div class="health-bar">
|
|
||||||
<input name="data.lp.value" type="text" value="{{data.lp.value}}" data-dtype="Number" />
|
<table style="width: 100%;">
|
||||||
{{#times data.lp.max}}
|
<tr>
|
||||||
{{#if (lt this ../data.lp.value)}}
|
<td class="attribute">{{localize "midgard5.actor-st"}}</td>
|
||||||
<div class="lp-bar-item update-lp" data-value="{{this}}"></div>
|
<td class="attribute">{{localize "midgard5.actor-gs"}}</td>
|
||||||
{{else}}
|
<td class="attribute">{{localize "midgard5.actor-gw"}}</td>
|
||||||
<div class="lp-bar-item-empty update-lp" data-value="{{this}}"></div>
|
<td class="attribute">{{localize "midgard5.actor-ko"}}</td>
|
||||||
{{/if}}
|
<td class="attribute">{{localize "midgard5.actor-in"}}</td>
|
||||||
{{/times}}
|
<td class="attribute">{{localize "midgard5.actor-zt"}}</td>
|
||||||
<input name="data.lp.max" type="text" value="{{data.lp.max}}" data-dtype="Number" />
|
<td class="attribute">{{localize "midgard5.actor-au"}}</td>
|
||||||
</div>
|
<td class="attribute">{{localize "midgard5.actor-pa"}}</td>
|
||||||
</td>
|
<td class="attribute">{{localize "midgard5.actor-wk"}}</td>
|
||||||
</tr>
|
<td class="attribute">{{localize "midgard5.actor-git"}}</td>
|
||||||
<tr>
|
</tr>
|
||||||
<td style="text-align: right"><b>{{localize "midgard5.actor-ap-short"}}</b></td>
|
<tr>
|
||||||
<td colspan="9">
|
<td class="attribute-value roll-attribute-button" data-attribute="st" data-value="{{data.calc.attributes.st.value}}">{{data.calc.attributes.st.value}}</td>
|
||||||
<div class="health-bar">
|
<td class="attribute-value roll-attribute-button" data-attribute="gs" data-value="{{data.calc.attributes.gs.value}}">{{data.calc.attributes.gs.value}}</td>
|
||||||
<input name="data.ap.value" type="text" value="{{data.ap.value}}" data-dtype="Number" />
|
<td class="attribute-value roll-attribute-button" data-attribute="gw" data-value="{{data.calc.attributes.gw.value}}">{{data.calc.attributes.gw.value}}</td>
|
||||||
{{#times data.ap.max}}
|
<td class="attribute-value roll-attribute-button" data-attribute="ko" data-value="{{data.calc.attributes.ko.value}}">{{data.calc.attributes.ko.value}}</td>
|
||||||
{{#if (lt this ../data.ap.value)}}
|
<td class="attribute-value roll-attribute-button" data-attribute="in" data-value="{{data.calc.attributes.in.value}}">{{data.calc.attributes.in.value}}</td>
|
||||||
<div class="ap-bar-item update-ap" data-value="{{this}}"></div>
|
<td class="attribute-value roll-attribute-button" data-attribute="zt" data-value="{{data.calc.attributes.zt.value}}">{{data.calc.attributes.zt.value}}</td>
|
||||||
{{else}}
|
<td class="attribute-value roll-attribute-button" data-attribute="au" data-value="{{data.calc.attributes.au.value}}">{{data.calc.attributes.au.value}}</td>
|
||||||
<div class="ap-bar-item-empty update-ap" data-value="{{this}}"></div>
|
<td class="attribute-value roll-attribute-button" data-attribute="pa" data-value="{{data.calc.attributes.pa.value}}">{{data.calc.attributes.pa.value}}</td>
|
||||||
{{/if}}
|
<td class="attribute-value roll-attribute-button" data-attribute="wk" data-value="{{data.calc.attributes.wk.value}}">{{data.calc.attributes.wk.value}}</td>
|
||||||
{{/times}}
|
<td class="attribute-value roll-attribute-button" data-attribute="git" data-value="{{data.calc.stats.poisonResistance.value}}">{{data.calc.stats.poisonResistance.value}}</td>
|
||||||
<input name="data.ap.max" type="text" value="{{data.ap.max}}" data-dtype="Number" />
|
</tr>
|
||||||
</div>
|
</table>
|
||||||
</td>
|
</div>
|
||||||
</tr>
|
|
||||||
<tr height = 10px></tr>
|
<!-- Profilbild -->
|
||||||
<tr>
|
<div class="flexcolumn-5" style="height: 200px;text-align: center;" >
|
||||||
<td class="attribute">{{localize "midgard5.actor-st"}}</td>
|
<img class="profile-img" src="{{actor.img}}" data-edit="img" title="{{actor.name}}" />
|
||||||
<td class="attribute">{{localize "midgard5.actor-gs"}}</td>
|
</div>
|
||||||
<td class="attribute">{{localize "midgard5.actor-gw"}}</td>
|
|
||||||
<td class="attribute">{{localize "midgard5.actor-ko"}}</td>
|
<!-- LP + AP -->
|
||||||
<td class="attribute">{{localize "midgard5.actor-in"}}</td>
|
<div class="flexcolumn-1">
|
||||||
<td class="attribute">{{localize "midgard5.actor-zt"}}</td>
|
<table>
|
||||||
<td class="attribute">{{localize "midgard5.actor-au"}}</td>
|
<tr>
|
||||||
<td class="attribute">{{localize "midgard5.actor-pa"}}</td>
|
<td><b>{{localize "midgard5.actor-lp-short"}}</b></td>
|
||||||
<td class="attribute">{{localize "midgard5.actor-wk"}}</td>
|
<td colspan="9">
|
||||||
<td class="attribute">{{localize "midgard5.actor-git"}}</td>
|
<div class="health-bar">
|
||||||
</tr>
|
<input name="data.lp.value" type="text" value="{{data.lp.value}}" data-dtype="Number" />
|
||||||
<tr>
|
{{#times data.lp.max}}
|
||||||
<td class="attribute-value roll-attribute-button" data-attribute="st" data-value="{{data.calc.attributes.st.value}}">{{data.calc.attributes.st.value}}</td>
|
{{#if (lt this ../data.lp.value)}}
|
||||||
<td class="attribute-value roll-attribute-button" data-attribute="gs" data-value="{{data.calc.attributes.gs.value}}">{{data.calc.attributes.gs.value}}</td>
|
<div class="lp-bar-item update-lp" data-value="{{this}}"></div>
|
||||||
<td class="attribute-value roll-attribute-button" data-attribute="gw" data-value="{{data.calc.attributes.gw.value}}">{{data.calc.attributes.gw.value}}</td>
|
{{else}}
|
||||||
<td class="attribute-value roll-attribute-button" data-attribute="ko" data-value="{{data.calc.attributes.ko.value}}">{{data.calc.attributes.ko.value}}</td>
|
<div class="lp-bar-item-empty update-lp" data-value="{{this}}"></div>
|
||||||
<td class="attribute-value roll-attribute-button" data-attribute="in" data-value="{{data.calc.attributes.in.value}}">{{data.calc.attributes.in.value}}</td>
|
{{/if}}
|
||||||
<td class="attribute-value roll-attribute-button" data-attribute="zt" data-value="{{data.calc.attributes.zt.value}}">{{data.calc.attributes.zt.value}}</td>
|
{{/times}}
|
||||||
<td class="attribute-value roll-attribute-button" data-attribute="au" data-value="{{data.calc.attributes.au.value}}">{{data.calc.attributes.au.value}}</td>
|
<div class="max-value">{{data.lp.max}}</div>
|
||||||
<td class="attribute-value roll-attribute-button" data-attribute="pa" data-value="{{data.calc.attributes.pa.value}}">{{data.calc.attributes.pa.value}}</td>
|
</div>
|
||||||
<td class="attribute-value roll-attribute-button" data-attribute="wk" data-value="{{data.calc.attributes.wk.value}}">{{data.calc.attributes.wk.value}}</td>
|
</td>
|
||||||
<td class="attribute-value roll-attribute-button" data-attribute="git" data-value="{{data.calc.stats.poisonResistance.value}}">{{data.calc.stats.poisonResistance.value}}</td>
|
</tr>
|
||||||
</tr>
|
<tr>
|
||||||
<tr height = 5px></tr>
|
<td><b>{{localize "midgard5.actor-ap-short"}}</b></td>
|
||||||
</table>
|
<td colspan="9">
|
||||||
|
<div class="health-bar">
|
||||||
|
<input name="data.ap.value" type="text" value="{{data.ap.value}}" data-dtype="Number" />
|
||||||
|
{{#times data.ap.max}}
|
||||||
|
{{#if (lt this ../data.ap.value)}}
|
||||||
|
<div class="ap-bar-item update-ap" data-value="{{this}}"></div>
|
||||||
|
{{else}}
|
||||||
|
<div class="ap-bar-item-empty update-ap" data-value="{{this}}"></div>
|
||||||
|
{{/if}}
|
||||||
|
{{/times}}
|
||||||
|
<div class="max-value">{{data.ap.max}}</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
{{!-- Character Sheet Navigation --}}
|
{{!-- Character Sheet Navigation --}}
|
||||||
@@ -103,11 +118,12 @@
|
|||||||
<a class="item active" data-tab="base_values">{{ localize "midgard5.base_values" }}</a>
|
<a class="item active" data-tab="base_values">{{ localize "midgard5.base_values" }}</a>
|
||||||
<a class="item" data-tab="skills">{{ localize "midgard5.skills" }}</a>
|
<a class="item" data-tab="skills">{{ localize "midgard5.skills" }}</a>
|
||||||
<a class="item" data-tab="gear">{{ localize "midgard5.gear" }}</a>
|
<a class="item" data-tab="gear">{{ localize "midgard5.gear" }}</a>
|
||||||
|
<a class="item" data-tab="combat">{{ localize "midgard5.combat" }}</a>
|
||||||
{{#if actor.system.info.magicUsing }}
|
{{#if actor.system.info.magicUsing }}
|
||||||
<a class="item" data-tab="spells">{{ localize "midgard5.spells" }}</a>
|
<a class="item" data-tab="spells">{{ localize "midgard5.spells" }}</a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<a class="item" data-tab="kampfkuenste">{{ localize "midgard5.kampfkuenste" }}</a>
|
|
||||||
<a class="item" data-tab="effects">{{ localize "midgard5.effects" }}</a>
|
<a class="item" data-tab="effects">{{ localize "midgard5.effects" }}</a>
|
||||||
|
<a class="item" data-tab="description">{{ localize "midgard5.description" }}</a>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<section class="sheet-content">
|
<section class="sheet-content">
|
||||||
@@ -124,16 +140,20 @@
|
|||||||
{{> "systems/midgard5/templates/sheets/character/gear.hbs"}}
|
{{> "systems/midgard5/templates/sheets/character/gear.hbs"}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tab base_values flexcol" data-group="primary" data-tab="spells">
|
<div class="tab base_values flexcol" data-group="primary" data-tab="combat">
|
||||||
{{> "systems/midgard5/templates/sheets/character/spells.hbs"}}
|
{{> "systems/midgard5/templates/sheets/character/combat.hbs"}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tab base_values flexcol" data-group="primary" data-tab="kampfkuenste">
|
<div class="tab base_values flexcol" data-group="primary" data-tab="spells">
|
||||||
{{> "systems/midgard5/templates/sheets/character/kampfkuenste.hbs"}}
|
{{> "systems/midgard5/templates/sheets/character/spells.hbs"}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tab base_values flexcol" data-group="primary" data-tab="effects">
|
<div class="tab base_values flexcol" data-group="primary" data-tab="effects">
|
||||||
{{> "systems/midgard5/templates/sheets/character/effects.hbs"}}
|
{{> "systems/midgard5/templates/sheets/character/effects.hbs"}}
|
||||||
</div>
|
</div>
|
||||||
|
<div class="tab base_values flexcol" data-group="primary" data-tab="description">
|
||||||
|
{{> "systems/midgard5/templates/sheets/character/description.hbs"}}
|
||||||
|
</div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
</form>
|
</form>
|
||||||
@@ -1,153 +1,171 @@
|
|||||||
<table>
|
<div class="flexbox">
|
||||||
<thead>
|
<div class="flexcolumn-2">
|
||||||
<tr>
|
|
||||||
<th class="title">{{localize "midgard5.learned-skill"}}</th>
|
|
||||||
<th class="title">{{localize "midgard5.fw"}}</th>
|
|
||||||
<th class="title">{{localize "midgard5.bonus"}}</th>
|
|
||||||
<th class="title">{{localize "midgard5.ew"}}</th>
|
|
||||||
<th class="title">{{localize "midgard5.pp-short"}}</th>
|
|
||||||
<th class="title"></th>
|
|
||||||
<th class="title"></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{{#each data.calc.skills.general as |skill skillId|}}
|
|
||||||
<tr data-item="{{skillId}}">
|
|
||||||
<td class="padding edit-item">{{skill.label}}</td>
|
|
||||||
<td class="fixed-value">{{skill.fw}}</td>
|
|
||||||
<td class="fixed-value">{{skill.calc.bonus}}</td>
|
|
||||||
<td class="fixed-value">{{skill.calc.ew}}</td>
|
|
||||||
<td class="fixed-value">{{skill.pp}}</td>
|
|
||||||
<td class="fixed-value"><button class="roll-button roll-learned-button"></button></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>
|
<div class="flexpart">
|
||||||
<thead>
|
<div class="flexpart-header"><img src="icons/creatures/eyes/human-single-brown.webp" class="flexpart-icon">{{localize "midgard5.innate-abilities"}}</div>
|
||||||
<tr>
|
<table>
|
||||||
<th class="title">{{localize "midgard5.language"}}</th>
|
<thead>
|
||||||
<th class="title">{{localize "midgard5.fw"}}</th>
|
<tr>
|
||||||
<th class="title">{{localize "midgard5.bonus"}}</th>
|
<th class="title">{{localize "midgard5.innate-ability"}}</th>
|
||||||
<th class="title">{{localize "midgard5.ew"}}</th>
|
<th class="title">{{localize "midgard5.fw"}}</th>
|
||||||
<th class="title">{{localize "midgard5.pp-short"}}</th>
|
<th class="title">{{localize "midgard5.bonus"}}</th>
|
||||||
<th class="title"></th>
|
<th class="title">{{localize "midgard5.ew"}}</th>
|
||||||
<th class="title"></th>
|
<th class="title"><img src="/icons/svg/d20.svg" class="table-icon"></th>
|
||||||
</tr>
|
<th class="title"></th>
|
||||||
</thead>
|
</tr>
|
||||||
<tbody>
|
</thead>
|
||||||
{{#each data.calc.skills.language as |skill skillId|}}
|
<tbody>
|
||||||
<tr data-item="{{skillId}}">
|
{{#each data.calc.skills.innate as |skill skillId|}}
|
||||||
<td class="padding edit-item">{{skill.label}}</td>
|
<tr data-item="{{skillId}}">
|
||||||
<td class="fixed-value">{{skill.fw}}</td>
|
<td class="padding edit-item">{{skill.label}}</td>
|
||||||
<td class="fixed-value">{{skill.calc.bonus}}</td>
|
<td class="fixed-value">{{skill.fw}}</td>
|
||||||
<td class="fixed-value">{{skill.calc.ew}}</td>
|
<td class="fixed-value">{{skill.calc.bonus}}</td>
|
||||||
<td class="fixed-value">{{skill.pp}}</td>
|
<td class="fixed-value">{{skill.calc.ew}}</td>
|
||||||
<td class="fixed-value"><button class="roll-button roll-learned-button"></button></td>
|
<td><button class="roll-button roll-learned-button"></button></td>
|
||||||
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
<td><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
</tr>
|
</tr>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</tbody>
|
<tr data-item="{{itemId}}">
|
||||||
</table>
|
<td class="padding edit-item">{{localize "midgard5.perception"}}</td>
|
||||||
|
<td class="fixed-value">{{data.calc.stats.perceptionFW}}</td>
|
||||||
|
<td class="fixed-value">{{data.calc.stats.perception.value}}</td>
|
||||||
|
<td class="fixed-value">{{add data.calc.stats.perception.value data.calc.stats.perceptionFW}}</td>
|
||||||
|
<td><button class="roll-button roll-perception-button"></button></td>
|
||||||
|
<td class="fixed-value"></td>
|
||||||
|
</tr>
|
||||||
|
<tr data-item="{{itemId}}">
|
||||||
|
<td class="padding edit-item">{{localize "midgard5.drinking"}}</td>
|
||||||
|
<td class="fixed-value">{{data.calc.stats.drinkingFW}}</td>
|
||||||
|
<td class="fixed-value">{{data.calc.stats.drinking.value}}</td>
|
||||||
|
<td class="fixed-value">{{add data.calc.stats.drinking.value data.calc.stats.drinkingFW}}</td>
|
||||||
|
<td><button class="roll-button roll-drinking-button"></button></td>
|
||||||
|
<td class="fixed-value"></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
<table>
|
<div class="flexpart">
|
||||||
<thead>
|
<div class="flexpart-header"><img src="icons/skills/trades/construction-mason-stonecutter-sculpture.webp" class="flexpart-icon">{{localize "midgard5.learned-skills"}}</div>
|
||||||
<tr>
|
<table>
|
||||||
<th class="title">{{localize "midgard5.innate-ability"}}</th>
|
<thead>
|
||||||
<th class="title">{{localize "midgard5.fw"}}</th>
|
<tr>
|
||||||
<th class="title">{{localize "midgard5.bonus"}}</th>
|
<th class="title">{{localize "midgard5.learned-skill"}}</th>
|
||||||
<th class="title">{{localize "midgard5.ew"}}</th>
|
<th class="title">{{localize "midgard5.fw"}}</th>
|
||||||
<th class="title"></th>
|
<th class="title">{{localize "midgard5.bonus"}}</th>
|
||||||
<th class="title"></th>
|
<th class="title">{{localize "midgard5.ew"}}</th>
|
||||||
</tr>
|
<th class="title">{{localize "midgard5.pp-short"}}</th>
|
||||||
</thead>
|
<th class="title"><img src="/icons/svg/d20.svg" class="table-icon"></th>
|
||||||
<tbody>
|
<th class="title"></th>
|
||||||
{{#each data.calc.skills.innate as |skill skillId|}}
|
</tr>
|
||||||
<tr data-item="{{skillId}}">
|
</thead>
|
||||||
<td class="padding edit-item">{{skill.label}}</td>
|
<tbody>
|
||||||
<td class="fixed-value">{{skill.fw}}</td>
|
{{#each data.calc.skills.general as |skill skillId|}}
|
||||||
<td class="fixed-value">{{skill.calc.bonus}}</td>
|
<tr data-item="{{skillId}}">
|
||||||
<td class="fixed-value">{{skill.calc.ew}}</td>
|
<td class="padding edit-item">{{skill.label}}</td>
|
||||||
<td class="fixed-value"><button class="roll-button roll-learned-button"></button></td>
|
<td class="fixed-value">{{skill.fw}}</td>
|
||||||
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
<td class="fixed-value">{{skill.calc.bonus}}</td>
|
||||||
</tr>
|
<td class="fixed-value">{{skill.calc.ew}}</td>
|
||||||
{{/each}}
|
<td class="fixed-value"><input name="data.skills.general.{{key}}.pp" type="text" value="{{skill.pp}}" data-dtype="Number" /></td>
|
||||||
<tr data-item="{{itemId}}">
|
<td><button class="roll-button roll-learned-button"></button></td>
|
||||||
<td class="padding edit-item">{{localize "midgard5.perception"}}</td>
|
<td><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
<td class="fixed-value">{{data.calc.stats.perceptionFW}}</td>
|
</tr>
|
||||||
<td class="fixed-value">{{data.calc.stats.perception.value}}</td>
|
{{/each}}
|
||||||
<td class="fixed-value">{{add data.calc.stats.perception.value data.calc.stats.perceptionFW}}</td>
|
</tbody>
|
||||||
<td class="fixed-value"><button class="roll-button roll-perception-button"></button></td>
|
</table>
|
||||||
<td class="fixed-value"></td>
|
</div>
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr data-item="{{itemId}}">
|
<div class="flexpart">
|
||||||
<td class="padding edit-item">{{localize "midgard5.drinking"}}</td>
|
<div class="flexpart-header"><img src="icons/weapons/swords/swords-short.webp" class="flexpart-icon">{{localize "midgard5.weapon-skills"}}</div>
|
||||||
<td class="fixed-value">{{data.calc.stats.drinkingFW}}</td>
|
<table>
|
||||||
<td class="fixed-value">{{data.calc.stats.drinking.value}}</td>
|
<thead>
|
||||||
<td class="fixed-value">{{add data.calc.stats.drinking.value data.calc.stats.drinkingFW}}</td>
|
<tr>
|
||||||
<td class="fixed-value"><button class="roll-button roll-drinking-button"></button></td>
|
<th class="title">{{localize "midgard5.weapon-skill"}}</th>
|
||||||
<td class="fixed-value"></td>
|
<th class="title">{{localize "midgard5.fw"}}</th>
|
||||||
</tr>
|
<th class="title">{{localize "midgard5.bonus"}}</th>
|
||||||
</tbody>
|
<th class="title">{{localize "midgard5.ew"}}</th>
|
||||||
</table>
|
<th class="title">{{localize "midgard5.pp-short"}}</th>
|
||||||
|
<th class="title"><img src="/icons/svg/d20.svg" class="table-icon"></th>
|
||||||
|
<th class="title"></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{#each data.calc.skills.combat as |skill skillId|}}
|
||||||
|
<tr data-item="{{skillId}}">
|
||||||
|
<td class="padding edit-item">{{skill.label}}</td>
|
||||||
|
<td class="fixed-value">{{skill.fw}}</td>
|
||||||
|
<td class="fixed-value">{{skill.calc.bonus}}</td>
|
||||||
|
<td class="fixed-value">{{skill.calc.ew}}</td>
|
||||||
|
<td class="fixed-value">{{skill.pp}}</td>
|
||||||
|
<td><button class="roll-button roll-learned-button"></button></td>
|
||||||
|
<td><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
|
</tr>
|
||||||
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
<table>
|
<div class="flexpart">
|
||||||
<thead>
|
<div class="flexpart-header"><img src="icons/sundries/scrolls/scroll-runed-worn-tan.webp" class="flexpart-icon">{{localize "midgard5.languages"}}</div>
|
||||||
<tr>
|
<table>
|
||||||
<th class="title">{{localize "midgard5.weapon-skill"}}</th>
|
<thead>
|
||||||
<th class="title">{{localize "midgard5.fw"}}</th>
|
<tr>
|
||||||
<th class="title">{{localize "midgard5.bonus"}}</th>
|
<th class="title">{{localize "midgard5.language"}}</th>
|
||||||
<th class="title">{{localize "midgard5.ew"}}</th>
|
<th class="title">{{localize "midgard5.fw"}}</th>
|
||||||
<th class="title">{{localize "midgard5.pp-short"}}</th>
|
<th class="title">{{localize "midgard5.bonus"}}</th>
|
||||||
<th class="title"></th>
|
<th class="title">{{localize "midgard5.ew"}}</th>
|
||||||
<th class="title"></th>
|
<th class="title">{{localize "midgard5.pp-short"}}</th>
|
||||||
</tr>
|
<th class="title"><img src="/icons/svg/d20.svg" class="table-icon"></th>
|
||||||
</thead>
|
<th class="title"></th>
|
||||||
<tbody>
|
</tr>
|
||||||
{{#each data.calc.skills.combat as |skill skillId|}}
|
</thead>
|
||||||
<tr data-item="{{skillId}}">
|
<tbody>
|
||||||
<td class="padding edit-item">{{skill.label}}</td>
|
{{#each data.calc.skills.language as |skill skillId|}}
|
||||||
<td class="fixed-value">{{skill.fw}}</td>
|
<tr data-item="{{skillId}}">
|
||||||
<td class="fixed-value">{{skill.calc.bonus}}</td>
|
<td class="padding edit-item">{{skill.label}}</td>
|
||||||
<td class="fixed-value">{{skill.calc.ew}}</td>
|
<td class="fixed-value">{{skill.fw}}</td>
|
||||||
<td class="fixed-value">{{skill.pp}}</td>
|
<td class="fixed-value">{{skill.calc.bonus}}</td>
|
||||||
<td class="fixed-value"><button class="roll-button roll-learned-button"></button></td>
|
<td class="fixed-value">{{skill.calc.ew}}</td>
|
||||||
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
<td class="fixed-value">{{skill.pp}}</td>
|
||||||
</tr>
|
<td><button class="roll-button roll-learned-button"></button></td>
|
||||||
{{/each}}
|
<td><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
</tbody>
|
</tr>
|
||||||
</table>
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<table>
|
<div class="flexcolumn-2">
|
||||||
<thead>
|
|
||||||
<tr>
|
<div class="flexpart">
|
||||||
<th class="title"></th>
|
<div class="flexpart-header"><img src="icons/sundries/gaming/dice-pair-white-green.webp" class="flexpart-icon">{{localize "midgard5.unlearned-skills"}}</div>
|
||||||
<th class="title">{{localize "midgard5.unlearned-skill"}}</th>
|
<table>
|
||||||
<th class="title">{{localize "midgard5.fw"}}</th>
|
<thead>
|
||||||
<th class="title">{{localize "midgard5.bonus"}}</th>
|
<tr>
|
||||||
<th class="title">{{localize "midgard5.ew"}}</th>
|
<th class="title"></th>
|
||||||
<th class="title">{{localize "midgard5.pp-short"}}</th>
|
<th class="title">{{localize "midgard5.unlearned-skill"}}</th>
|
||||||
<th class="title"></th>
|
<th class="title">{{localize "midgard5.fw"}}</th>
|
||||||
<th class="title"></th>
|
<th class="title">{{localize "midgard5.bonus"}}</th>
|
||||||
</tr>
|
<th class="title">{{localize "midgard5.ew"}}</th>
|
||||||
</thead>
|
<th class="title"><img src="/icons/svg/d20.svg" class="table-icon"></th>
|
||||||
<tbody>
|
</tr>
|
||||||
{{#each data.skills.general as |skill key|}}
|
</thead>
|
||||||
{{#unless (isSkillInList (localizeMidgard key) ../actor.system.calc.skills.general) }}
|
<tbody>
|
||||||
<tr data-skill="{{key}}">
|
{{#each data.skills.general as |skill key|}}
|
||||||
<td><button class="learn-button">{{localize "midgard5.learn"}}</button></td>
|
{{#unless (isSkillInList (localizeMidgard key) ../actor.system.calc.skills.general) }}
|
||||||
<td class="padding">{{localizeMidgard key}}</td>
|
<tr data-skill="{{key}}">
|
||||||
<td class="fixed-value">{{skill.fw}}</td>
|
<td><button class="learn-button">{{localize "midgard5.learn"}}</button></td>
|
||||||
<td class="fixed-value">{{skillBonus ../actor._id skill}}</td>
|
<td class="padding" style="font-style: italic;">{{localizeMidgard key}}</td>
|
||||||
<td class="fixed-value">{{skillEw ../actor._id skill}}</td>
|
<td class="fixed-value">{{skill.fw}}</td>
|
||||||
<td class="fixed-value"><input name="data.skills.general.{{key}}.pp" type="text" value="{{skill.pp}}" data-dtype="Number" /></td>
|
<td class="fixed-value">{{skillBonus ../actor._id skill}}</td>
|
||||||
<td class="fixed-value"><button class="roll-button roll-general-button"></button></td>
|
<td class="fixed-value">{{skillEw ../actor._id skill}}</td>
|
||||||
<td class="fixed-value"></td>
|
<td><button class="roll-button roll-general-button"></button></td>
|
||||||
</tr>
|
</tr>
|
||||||
{{/unless}}
|
{{/unless}}
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
<th class="title">{{localize "TYPES.Item.spell"}}</th>
|
<th class="title">{{localize "TYPES.Item.spell"}}</th>
|
||||||
<th class="title">{{localize "midgard5.ew"}}</th>
|
<th class="title">{{localize "midgard5.ew"}}</th>
|
||||||
<th class="title"></th>
|
<th class="title"></th>
|
||||||
<th class="title"></th>
|
<th class="title add-spell"><i class="fa-regular fa-plus"></i></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
|||||||
@@ -18,6 +18,53 @@
|
|||||||
<input id="data.magic" type="checkbox" name="data.magic" {{checked data.magic}} />
|
<input id="data.magic" type="checkbox" name="data.magic" {{checked data.magic}} />
|
||||||
<label for="data.magic">{{localize "midgard5.magic"}}</label>
|
<label for="data.magic">{{localize "midgard5.magic"}}</label>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
|
<span>
|
||||||
|
<input id="data.valuable" type="checkbox" name="data.valuable" {{checked data.valuable}}>
|
||||||
|
<label for="data.valuable">{{localize "midgard5.valuable"}}</label>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
{{#if (eq item.parent.system.info.race "Zwerg")}}
|
||||||
|
<span>
|
||||||
|
<input id="data.hoarded" type="checkbox" name="data.hoarded" {{checked data.hoarded}}>
|
||||||
|
<label for="data.hoarded">{{localize "midgard5.hoarded"}}</label>
|
||||||
|
</span>
|
||||||
|
{{/if}}
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="4">
|
||||||
|
<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>
|
||||||
|
<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>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -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>
|
||||||
@@ -7,8 +7,12 @@
|
|||||||
<table>
|
<table>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=4>
|
<td colspan="4">
|
||||||
<div class="flexrow">
|
<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>
|
<span>
|
||||||
<input id="data.magic" type="checkbox" name="data.magic" {{checked data.magic}}>
|
<input id="data.magic" type="checkbox" name="data.magic" {{checked data.magic}}>
|
||||||
<label for="data.magic">{{localize "midgard5.magic"}}</label>
|
<label for="data.magic">{{localize "midgard5.magic"}}</label>
|
||||||
@@ -18,6 +22,53 @@
|
|||||||
<input id="data.special" type="checkbox" name="data.special" {{checked data.special}}>
|
<input id="data.special" type="checkbox" name="data.special" {{checked data.special}}>
|
||||||
<label for="data.special">{{localize "midgard5.special"}}</label>
|
<label for="data.special">{{localize "midgard5.special"}}</label>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
|
<span>
|
||||||
|
<input id="data.valuable" type="checkbox" name="data.valuable" {{checked data.valuable}}>
|
||||||
|
<label for="data.valuable">{{localize "midgard5.valuable"}}</label>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
{{#if (eq item.parent.system.info.race "Zwerg")}}
|
||||||
|
<span>
|
||||||
|
<input id="data.hoarded" type="checkbox" name="data.hoarded" {{checked data.hoarded}}>
|
||||||
|
<label for="data.hoarded">{{localize "midgard5.hoarded"}}</label>
|
||||||
|
</span>
|
||||||
|
{{/if}}
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="4">
|
||||||
|
<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>
|
||||||
|
<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>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<div class="sheet-content">
|
<div class="sheet-content">
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=4>
|
<td colspan="4">
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<span>
|
<span>
|
||||||
<input id="data.equipped" type="checkbox" name="data.equipped" {{checked data.equipped}}>
|
<input id="data.equipped" type="checkbox" name="data.equipped" {{checked data.equipped}}>
|
||||||
@@ -16,6 +16,17 @@
|
|||||||
<input id="data.magic" type="checkbox" name="data.magic" {{checked data.magic}}>
|
<input id="data.magic" type="checkbox" name="data.magic" {{checked data.magic}}>
|
||||||
<label for="data.magic">{{localize "midgard5.magic"}}</label>
|
<label for="data.magic">{{localize "midgard5.magic"}}</label>
|
||||||
</span>
|
</span>
|
||||||
|
<span>
|
||||||
|
<input id="data.valuable" type="checkbox" name="data.valuable" {{checked data.valuable}}>
|
||||||
|
<label for="data.valuable">{{localize "midgard5.valuable"}}</label>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
{{#if (eq item.parent.system.info.race "Zwerg")}}
|
||||||
|
<span>
|
||||||
|
<input id="data.hoarded" type="checkbox" name="data.hoarded" {{checked data.hoarded}}>
|
||||||
|
<label for="data.hoarded">{{localize "midgard5.hoarded"}}</label>
|
||||||
|
</span>
|
||||||
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -28,7 +39,7 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td colspan="4">
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<span>{{localize "midgard5.item-value"}}</span>
|
<span>{{localize "midgard5.item-value"}}</span>
|
||||||
<input name="data.value" type="number" value="{{data.value}}" data-dtype="Number" />
|
<input name="data.value" type="number" value="{{data.value}}" data-dtype="Number" />
|
||||||
@@ -43,6 +54,26 @@
|
|||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</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>
|
</table>
|
||||||
|
|
||||||
{{> "systems/midgard5/templates/sheets/item/rolls.hbs"}}
|
{{> "systems/midgard5/templates/sheets/item/rolls.hbs"}}
|
||||||
|
|||||||
@@ -76,7 +76,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<td>{{localize "midgard5.skill"}}</td>
|
<td>{{localize "midgard5.skill"}}</td>
|
||||||
<td>
|
<td>
|
||||||
{{!-- {{#if data.calc.skills.general}} --}}
|
{{#if data.calc.generalSkills}}
|
||||||
<select class="select-skill" name="data.skillId" data-type="String">
|
<select class="select-skill" name="data.skillId" data-type="String">
|
||||||
{{#select data.skillId}}
|
{{#select data.skillId}}
|
||||||
<option value="">{{localize "midgard5.no-skill"}}</option>
|
<option value="">{{localize "midgard5.no-skill"}}</option>
|
||||||
|
|||||||
@@ -7,8 +7,12 @@
|
|||||||
<table>
|
<table>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=4>
|
<td colspan="5">
|
||||||
<div class="flexrow">
|
<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>
|
<span>
|
||||||
<input id="data.magic" type="checkbox" name="data.magic" {{checked data.magic}}>
|
<input id="data.magic" type="checkbox" name="data.magic" {{checked data.magic}}>
|
||||||
<label for="data.magic">{{localize "midgard5.magic"}}</label>
|
<label for="data.magic">{{localize "midgard5.magic"}}</label>
|
||||||
@@ -23,6 +27,53 @@
|
|||||||
<input id="data.special" type="checkbox" name="data.special" {{checked data.special}}>
|
<input id="data.special" type="checkbox" name="data.special" {{checked data.special}}>
|
||||||
<label for="data.special">{{localize "midgard5.special"}}</label>
|
<label for="data.special">{{localize "midgard5.special"}}</label>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
|
<span>
|
||||||
|
<input id="data.valuable" type="checkbox" name="data.valuable" {{checked data.valuable}}>
|
||||||
|
<label for="data.valuable">{{localize "midgard5.valuable"}}</label>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
{{#if (eq item.parent.system.info.race "Zwerg")}}
|
||||||
|
<span>
|
||||||
|
<input id="data.hoarded" type="checkbox" name="data.hoarded" {{checked data.hoarded}}>
|
||||||
|
<label for="data.hoarded">{{localize "midgard5.hoarded"}}</label>
|
||||||
|
</span>
|
||||||
|
{{/if}}
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="4">
|
||||||
|
<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>
|
||||||
|
<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>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||