From 39813cd7c3dc2fc599c036dcd0e41f84521ed055 Mon Sep 17 00:00:00 2001 From: Byroks Date: Wed, 21 Feb 2024 16:23:43 +0100 Subject: [PATCH] =?UTF-8?q?+=20Button=20f=C3=BCr=20Skills?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changes: + Styling anpassung für + buttons + CreatItem funktion angepasst, man kann optionen reingeben + button um skills zu erstellen eingefügt --- source/module/M5Base.ts | 7 +++ source/module/actors/M5Character.ts | 5 +- source/module/sheets/M5CharacterSheet.ts | 79 ++++++++++++------------ templates/sheets/character/combat.hbs | 2 +- templates/sheets/character/effects.hbs | 2 +- templates/sheets/character/gear.hbs | 20 ++---- templates/sheets/character/skills.hbs | 10 +-- templates/sheets/character/spells.hbs | 2 +- 8 files changed, 64 insertions(+), 63 deletions(-) diff --git a/source/module/M5Base.ts b/source/module/M5Base.ts index 72e3358..5773e5a 100644 --- a/source/module/M5Base.ts +++ b/source/module/M5Base.ts @@ -61,6 +61,13 @@ export enum M5ItemType { EFFECT = "effect", } +export enum M5SkillType { + INNATE = "innate", + GENERAL = "general", + LANGUAGE = "language", + COMBAT = "combat", +} + export enum M5EwResult { TBD = "", FUMBLE = "roll-ew-result-fumble", diff --git a/source/module/actors/M5Character.ts b/source/module/actors/M5Character.ts index 72335ca..2d92b36 100644 --- a/source/module/actors/M5Character.ts +++ b/source/module/actors/M5Character.ts @@ -1,5 +1,5 @@ import { M5Item } from "../items/M5Item"; -import { M5Attribute, M5CharacterCalculatedData, M5ItemMod, M5ItemType, M5ModOperation, M5ModResult, M5RollData, M5Skill, M5SkillCalculated, M5SkillLearned } from "../M5Base"; +import { M5Attribute, M5CharacterCalculatedData, M5ItemMod, M5ItemType, M5ModOperation, M5ModResult, M5RollData, M5Skill, M5SkillCalculated, M5SkillLearned, M5SkillType } from "../M5Base"; import M5ModAggregate from "./M5ModAggregate"; export class M5Character extends Actor { // constructor( @@ -523,10 +523,11 @@ export class M5Character extends Actor { }); } - createItem(itemName: string, itemType: M5ItemType): Promise { + createItem(itemName: string, itemType: M5ItemType, options?: any): Promise { const itemData = { name: itemName, type: itemType, + data: options, }; return (this as any).createEmbeddedDocuments("Item", [itemData]).then((docs) => { diff --git a/source/module/sheets/M5CharacterSheet.ts b/source/module/sheets/M5CharacterSheet.ts index d2ffa4c..b5b317f 100644 --- a/source/module/sheets/M5CharacterSheet.ts +++ b/source/module/sheets/M5CharacterSheet.ts @@ -1,7 +1,7 @@ import Logger from "../../utils/Logger"; import { M5Character } from "../actors/M5Character"; import { M5Item } from "../items/M5Item"; -import { M5ItemType, M5SkillLearned, M5SkillUnlearned } from "../M5Base"; +import { M5ItemType, M5SkillLearned, M5SkillType, M5SkillUnlearned } from "../M5Base"; import { M5Roll } from "../rolls/M5Roll"; export default class M5CharacterSheet extends ActorSheet { @@ -270,11 +270,12 @@ export default class M5CharacterSheet extends ActorSheet { 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; - } + item.update({ + data: { + equipped: !item.system.equipped, + }, + }); + this.render(); }); @@ -282,14 +283,7 @@ export default class M5CharacterSheet extends ActorSheet { 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, - }, - }); - }); + character.createItem((game as Game).i18n.localize("TYPES.Item.item"), M5ItemType.ITEM, { quantity: 1 }); }); html.find(".add-weapon").on("click", async (event) => { @@ -317,42 +311,51 @@ export default class M5CharacterSheet extends ActorSheet { 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, - }, - }); - }); + character.createItem((game as Game).i18n.localize("TYPES.Item.container"), M5ItemType.CONTAINER, { quantity: 1 }); + }); + + html.find(".add-innate-skill").on("click", async (event) => { + const data = this.actor.system; + + const character = this.actor as M5Character; + character.createItem((game as Game).i18n.localize("TYPES.Item.innate-ability"), M5ItemType.SKILL, { type: M5SkillType.INNATE }); + }); + + html.find(".add-general-skill").on("click", async (event) => { + const data = this.actor.system; + + const character = this.actor as M5Character; + character.createItem((game as Game).i18n.localize("TYPES.Item.skill"), M5ItemType.SKILL, { type: M5SkillType.GENERAL }); + }); + + html.find(".add-combat-skill").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-skill"), M5ItemType.SKILL, { type: M5SkillType.COMBAT }); + }); + + html.find(".add-language-skill").on("click", async (event) => { + const data = this.actor.system; + + const character = this.actor as M5Character; + character.createItem((game as Game).i18n.localize("TYPES.Item.language"), M5ItemType.SKILL, { type: M5SkillType.LANGUAGE }); }); 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", - }, - }); - }); + character.createItem((game as Game).i18n.localize("TYPES.Item.spell"), M5ItemType.SPELL, { 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", - }, - }); + character.createItem((game as Game).i18n.localize("TYPES.Item.kampfkunst"), M5ItemType.KAMPFKUNST, { + type: "angriff", + variante: "anstuermen", }); }); diff --git a/templates/sheets/character/combat.hbs b/templates/sheets/character/combat.hbs index 800610a..9065ccb 100644 --- a/templates/sheets/character/combat.hbs +++ b/templates/sheets/character/combat.hbs @@ -75,7 +75,7 @@ {{localize "midgard5.kampfkunst-variante-short"}} {{localize "midgard5.ew"}} - + diff --git a/templates/sheets/character/effects.hbs b/templates/sheets/character/effects.hbs index 7af454d..d87114f 100644 --- a/templates/sheets/character/effects.hbs +++ b/templates/sheets/character/effects.hbs @@ -2,7 +2,7 @@ {{localize "TYPES.Item.effect"}} - + diff --git a/templates/sheets/character/gear.hbs b/templates/sheets/character/gear.hbs index 451fa02..437aae9 100644 --- a/templates/sheets/character/gear.hbs +++ b/templates/sheets/character/gear.hbs @@ -42,7 +42,7 @@ {{localize "midgard5.item-value"}} - + @@ -206,7 +206,6 @@
- {{#unless (eq (count data.calc.gear.items) 0)}}
{{localize "midgard5.gear"}}
@@ -218,7 +217,7 @@ {{localize "midgard5.item-value"}} - + @@ -256,9 +255,7 @@
- {{/unless}} - {{#unless (eq (count data.calc.gear.weapons) 0)}}
@@ -269,7 +266,7 @@ {{localize "TYPES.Item.weapon"}} {{localize "midgard5.item-value"}} - + @@ -298,9 +295,7 @@
- {{/unless}} - {{#unless (eq (count data.calc.gear.defensiveWeapons) 0)}}
{{localize "midgard5.defensive-weapons"}}
@@ -310,7 +305,7 @@ {{localize "TYPES.Item.defensiveWeapon"}} {{localize "midgard5.item-value"}} - + @@ -338,9 +333,7 @@
- {{/unless}} - {{#unless (eq (count data.calc.gear.armor) 0)}}
{{localize "midgard5.armor"}}
@@ -350,7 +343,7 @@ {{localize "TYPES.Item.armor"}} {{localize "midgard5.item-value"}} - + @@ -378,8 +371,5 @@
- {{/unless}} - -
\ No newline at end of file diff --git a/templates/sheets/character/skills.hbs b/templates/sheets/character/skills.hbs index b666208..15f9c72 100644 --- a/templates/sheets/character/skills.hbs +++ b/templates/sheets/character/skills.hbs @@ -11,7 +11,7 @@ {{localize "midgard5.bonus"}} {{localize "midgard5.ew"}} - + @@ -56,7 +56,7 @@ {{localize "midgard5.ew"}} {{localize "midgard5.pp-short"}} - + @@ -66,7 +66,7 @@ {{skill.fw}} {{skill.calc.bonus}} {{skill.calc.ew}} - + {{skill.pp}} @@ -86,7 +86,7 @@ {{localize "midgard5.ew"}} {{localize "midgard5.pp-short"}} - + @@ -116,7 +116,7 @@ {{localize "midgard5.ew"}} {{localize "midgard5.pp-short"}} - + diff --git a/templates/sheets/character/spells.hbs b/templates/sheets/character/spells.hbs index ff5db64..aef25db 100644 --- a/templates/sheets/character/spells.hbs +++ b/templates/sheets/character/spells.hbs @@ -4,7 +4,7 @@ {{localize "TYPES.Item.spell"}} {{localize "midgard5.ew"}} - + -- 2.40.1