Compare commits

..
66 Commits
Author SHA1 Message Date
Byroks 7ee92f6601 Squashed commit of the following:
commit 33c65735bd
Author: Byroks <byroks@gmail.com>
Date:   Sat Jan 20 15:31:35 2024 +0100

    v2.4.0

commit 2bfd3a7d6a
Author: Byroks <byroks@gmail.com>
Date:   Sat Jan 20 13:58:22 2024 +0100

    #46-problems-with-character-description-editor (#50)

    Changes:
     + adjust height and width of the editor

    WIP for #46
    Closes #44

    Reviewed-on: #50

commit 03b87f2df0
Author: Byroks <byroks@gmail.com>
Date:   Sat Jan 20 13:44:06 2024 +0100

    update url

commit 9d72b31d5f
Author: Byroks <byroks@gmail.com>
Date:   Sat Jan 20 12:37:05 2024 +0100

    Add Items on Character Sheet

    Changes:
     + add button to add all different kind of items directly onto the character sheet
     + fix #1 by correctly updating the item

commit c13fef5103
Author: oskaloq <os_ka_loq@gmx.de>
Date:   Tue Jan 16 11:25:39 2024 +0100

    Zusammenführung-von-Fertigkeiten,-Waffen-und-Rüstungen-im-Kampf-Tab-#15 (#48)

    - Created character description tab
    - Redesigned skill, gear and combat tab
    - Weapons, defense weapons and armor is still in the gear tab. If you equip them (now directly possible via click on the equip icon), they appear in the combat tab. Reason: This holds the combat tab clean for combat stuff.

    Co-authored-by: Ender <harald@drueppels.de>
    Reviewed-on: #48
    Reviewed-by: Byroks <byroks@gmail.com>

commit abf8077131
Author: Byroks <byroks@gmail.com>
Date:   Tue Jan 16 08:29:14 2024 +0100

    #33 Wrong wealth calculation (#34)

    Changes:
     + add function to adjust item value depending on currency
    Co-authored-by: Simon Gustavs <simon.gustavs@bms-cs.de>
    Reviewed-on: #34
    Reviewed-by: oskaloq <os_ka_loq@gmx.de>

commit b5b75aa2c6
Author: Byroks <byroks@gmail.com>
Date:   Mon Jan 15 14:15:30 2024 +0100

    #18 Remove ContainerId from containers (#29)

    Changes
     + remove containerId variable from containers as it's not needed

    Reviewed-on: #29
    Reviewed-by: oskaloq <os_ka_loq@gmx.de>

commit 7368673ba3
Author: Byroks <byroks@gmail.com>
Date:   Mon Jan 8 20:42:22 2024 +0100

    Update .gitea/workflows/add-issue-to-project.yaml

commit a606750b23
Author: Byroks <byroks@gmail.com>
Date:   Mon Jan 8 20:41:15 2024 +0100

    Update .gitea/workflows/add-issue-to-project.yaml

commit 7358b67da2
Author: Byroks <byroks@gmail.com>
Date:   Mon Jan 8 20:41:05 2024 +0100

    Update .gitea/workflows/add-issue-to-project.yaml

commit 2a36b8eaa1
Author: Byroks <byroks@gmail.com>
Date:   Mon Jan 8 20:38:50 2024 +0100

    Update .gitea/workflows/add-issue-to-project.yaml

commit f38ef8aa6d
Author: Byroks <byroks@gmail.com>
Date:   Mon Jan 8 16:16:04 2024 +0100

    Update .gitea/workflows/add-issue-to-project.yaml

commit 2ac8a6bba4
Author: Byroks <byroks@gmail.com>
Date:   Mon Jan 8 16:09:13 2024 +0100

    Update .gitea/workflows/add-issue-to-project.yaml

commit 41fb1a8879
Author: Byroks <byroks@gmail.com>
Date:   Mon Jan 8 16:02:37 2024 +0100

    Update .gitea/workflows/add-issue-to-project.yaml

commit ff74871a0c
Author: Byroks <byroks@gmail.com>
Date:   Mon Jan 8 12:56:49 2024 +0100

    Update .gitea/workflows/add-issue-to-project.yaml

commit f8b65c030f
Author: Byroks <byroks@gmail.com>
Date:   Mon Jan 8 12:39:39 2024 +0100

    Update .gitea/workflows/add-issue-to-project.yaml

commit 31a4ccfda1
Author: Byroks <byroks@gmail.com>
Date:   Mon Jan 8 12:37:43 2024 +0100

    Update .gitea/workflows/add-issue-to-project.yaml

commit c24e2b7af2
Author: Byroks <byroks@gmail.com>
Date:   Mon Jan 8 12:28:41 2024 +0100

    Update .gitea/workflows/add-issue-to-project.yaml

commit cfdba0ee75
Author: oskaloq <os_ka_loq@gmx.de>
Date:   Sun Jan 7 22:53:16 2024 +0100

    Anpassung-des-Character-Sheet-Headers-#13 (#28)

    - Made character sheet header more responsive
    - Changed Logo
    - Changed "all gear items" container, that it shows items not in dedicated containers ( unless "Alle" checkbox is set)

    Co-authored-by: Ender <harald@drueppels.de>
    Co-authored-by: Byroks <byroks@gmail.com>
    Reviewed-on: #28
    Reviewed-by: Byroks <byroks@gmail.com>

commit d67de1b064
Author: Byroks <byroks@gmail.com>
Date:   Sun Jan 7 16:47:12 2024 +0100

    Update .gitea/workflows/add-issue-to-project.yaml

commit 718f1eab99
Author: Byroks <byroks@gmail.com>
Date:   Sun Jan 7 16:38:35 2024 +0100

    Update .gitea/workflows/add-issue-to-project.yaml

commit 47fd5b7763
Author: Byroks <byroks@gmail.com>
Date:   Sun Jan 7 16:37:27 2024 +0100

    Update .gitea/workflows/add-issue-to-project.yaml

commit ad884994dd
Author: Byroks <byroks@gmail.com>
Date:   Sun Jan 7 16:17:20 2024 +0100

    Update .gitea/workflows/add-issue-to-project.yaml

commit b08bd195c7
Author: Byroks <byroks@gmail.com>
Date:   Sun Jan 7 15:45:46 2024 +0100

    Update .gitea/workflows/add-issue-to-project.yaml

commit c83cd8f079
Author: Byroks <byroks@gmail.com>
Date:   Sun Jan 7 15:40:56 2024 +0100

    Update .gitea/workflows/add-issue-to-project.yaml

commit b1ef88235f
Author: Byroks <byroks@gmail.com>
Date:   Sun Jan 7 15:37:37 2024 +0100

    Update .gitea/workflows/add-issue-to-project.yaml

commit da1ae4e16e
Author: Byroks <byroks@gmail.com>
Date:   Sun Jan 7 15:35:54 2024 +0100

    Update .gitea/workflows/add-issue-to-project.yaml

commit 840a7c1dc4
Author: Byroks <byroks@gmail.com>
Date:   Sun Jan 7 15:33:26 2024 +0100

    Update .gitea/workflows/add-issue-to-project.yaml

commit 4825166f87
Author: Byroks <byroks@gmail.com>
Date:   Sun Jan 7 15:06:01 2024 +0100

    Add .gitea/workflows/add-issue-to-project.yaml

commit b8e873537c
Author: LeFrique <lefrique@live.de>
Date:   Sun Jan 7 14:31:20 2024 +0100

    Zwergenhort (#4)

    Mein Geschenk zu Weihnachten:

    Implementierung des Zwergenhort gem. KOD S. 167 mit Angabe aktueller Mindesthort für aktuellen Grad und benötigtem Hort für nächsten Grad bei Zwergen. Der Hort erscheint nur bei ausgewählter Rasse Zwerg und wird bei allen anderen Rassen versteckt. Die Anrechnung von Gold oder Gegenständen wie auch im KOD erwähnt erfordert die Implementierung eines Goldmanagements und am besten auch eine Neustrukturierung des Charakterbogens (s. weitere Issues).

    Frohe Weihnachten ;)

    Co-authored-by: Byroks <byroks@gmail.com>
    Reviewed-on: #4
    Co-authored-by: LeFrique <lefrique@live.de>
    Co-committed-by: LeFrique <lefrique@live.de>

commit 975bcd1e15
Author: Byroks <byroks@gmail.com>
Date:   Sun Jan 7 14:29:39 2024 +0100

    #10 Kampfkunst nicht öffenbar (#11)

    Änderungen:
     + auskommentierte if Bedingung wieder drin
     + if Bedingung angepasst

    Reviewed-on: #11
    Reviewed-by: Le-Frique <lefrique@live.de>

commit b945f22710
Author: oskaloq <os_ka_loq@gmx.de>
Date:   Wed Jan 3 15:57:15 2024 +0100

    Charakterbogen anpassen #7 (#9)

    - Use of flexboxes in two columns for better display
    - Introduction of item containers for the different storage of items

    Co-authored-by: Ender <harald@drueppels.de>
    Co-authored-by: Byroks <byroks@gmail.com>
    Reviewed-on: Byroks/foundry-vtt-system-midgard5#9
    Reviewed-by: Byroks <byroks@gmail.com>

commit 6baf9a0269
Author: Byroks <byroks@gmail.com>
Date:   Mon Dec 18 19:53:37 2023 +0100

    Change git Path (#3)

    Changes:
     + change github urls to git.byroks
    Reviewed-on: Byroks/foundry-vtt-system-midgard5#3
    Reviewed-by: Le-Frique <lefrique@live.de>
2024-01-20 15:33:05 +01:00
Byroks 8a3c632c7d Merge branch 'develop' 2023-12-15 21:36:50 +01:00
Byroks 91f12b11da v2.3.1 2023-12-15 21:36:33 +01:00
ByroksandGitHub bfa51605bc Add Consumable Items (#62)
Changes:
 + add Quantity value for items
 + add plus and minus buttons for list
 + add roll button if item contains formulas
 + decrease quantity by 1 if rolled
2023-12-15 21:34:32 +01:00
ByroksandGitHub c313d3448c Add Roll Modification (#61)
Changes:
 + add roll Mod (only for attributes)
 + check for roll mods when rolling on attributes
2023-12-15 20:40:23 +01:00
ByroksandGitHub 31cfd52131 Add currency to character sheet (#60)
Changes:
 + add fields to track currency
 + show value of standard items
2023-12-15 20:39:29 +01:00
Byroks 7fe52cf52a Merge branch 'develop' 2023-12-13 18:55:13 +01:00
Byroks a5336faa94 v2.3.0 2023-12-13 18:52:41 +01:00
ByroksandGitHub a56e6bab3d Automatically select skill for effects (#59)
Changes:
 + when a mod gets added, check if it's a skill
 + if it's a skill, find appropiate ID in actors item list and apply it to the mod
2023-12-13 18:46:49 +01:00
fed1175987 26 perception drinking all abilities (#56)
* Innate abilities

+ Added Perception as fixed innate ability
+ Added Drinking as fixed innate ability
+ Set Luckpoints to 0

* Duration Update

+ Added Duration to Effects
+ Added Perception to Eye & Ear Injury

* Fixed like recommended

+ Fixed M5Base
+Fixed M5Character
+ Fixed M5Rolls
+ Fixed Skills HBS
+ Fixed BrawlFw
+ Fixed Effect (not saved already)

* fix minor issues

---------

Co-authored-by: Byroks <byroks@gmail.com>
2023-12-13 18:45:35 +01:00
ByroksandGitHub 1e27e135cf 15 add duration to active effects (#50)
* Add Effect Duration & Rework Combat tracker

Changes:
 + rework combat tracker to display every uneven round as Movementphase
 + rework combat tracker to display every even round as actionphase
 + add possibility for effects durations
 + effects duration decreases with every actionphase
 + add enum for time Units
 + update localization
 + add display of remaining time on effects
 + add duration for spelleffect "Bärenwut"

* add LP AP Manipulation through effects

Changes:
 + add LimitHeal function
 + adjust LP AP Values if Mod exists in an effect

* Fix linked actor not being updated
2023-12-11 17:36:12 +01:00
LeFriqueandGitHub 30e94741bf Update main.hbs (#55)
+ Switched Ko and Gw to match dice description above dice symbols in header.
2023-12-09 18:24:09 +01:00
LeFriqueandGitHub 2dccbf3de3 Fix packfolders (#47)
+ Added missing curly brace
+ Added Injuries in packFolders
2023-12-06 18:43:23 +01:00
LeFriqueandGitHub 9814c44045 Added Injuries & in Macros, Fixes (#25)
Added:
+ Injuries as Effects
+ Added Injury Effects to Macro Schwere Verletzungen
Fixed:
+ Pagedescription in Spell Effects
+ Images (again) in Combat Conditions
2023-12-06 16:30:13 +01:00
Byroks f4a2338075 Merge branch 'develop' 2023-12-06 16:13:30 +01:00
Byroks 53ff2ece7d v2.2.0 2023-12-06 16:08:39 +01:00
Byroks 04a30a70b9 Minor Style Changes 2023-12-06 16:08:08 +01:00
ByroksandGitHub b5cffae778 Fix Armor misscalculation (#46)
Changes:
 + mod operation "add" can't go into negative numbers
2023-12-06 14:49:12 +01:00
ByroksandGitHub db23081a9a Fix Movement Boni being applied multiple times (#45)
Changes:
 + seperate display of Base Movement speed and calculated movement speed
 + for asthetic reasons move GiT to Berechnete Werte
2023-12-06 12:31:34 +01:00
LeFriqueandGitHub e753f6392d Delete Maps (#43)
- Deleted Assets
- Deleted Packs
+ Removed Scenepacks from system.json
2023-12-06 11:17:05 +01:00
ByroksandGitHub 2b4e6b18d0 28 apply damage through chat (#40)
* Add Rightclick menu to apply damage/heal

Changes:
 + add rightclick context menu for rolls
 + only appears if keyword Schaden exists
 + calculate damage from all rolls with keyword Schaden
 + possible to apply damage or heal actor or if present token

ToDo:
 + add button that does the same

* Add Rüstungsschutz to damage calculation

Changes:
 + Add Damage application from chat
 + take token first, if none exist, take actor
 + include damage reduction from equipped armor
 + damage appliaction is only accesible through right click on roll

* Fix falsy display of rightclick context menu
2023-12-06 11:14:35 +01:00
oskaloqandGitHub 0fe61e5bbb Comprehensive overhaul of the character sheet design. (#35) 2023-12-04 11:44:32 +01:00
46cac30dcd 17 add rüstungskammer + 21 Restructure Compendium (#31)
* Rüstkammer, Fixes & Preparation

+ Added Rüstkammer
+ Added Pagedescriptions in Ausrüstung
+ Prepared Compendium Folders

* Compendium Folders & Fixes

+ Added Effects to magical Gear
+ Added more Combat Conditions for Gear Effects
+ Added Markup to some Items for better visualization in Items or chat, more to follow
+ Solved Combat Folders (works only in new World!)

---------

Co-authored-by: Byroks <byroks@gmail.com>
2023-12-03 15:29:12 +01:00
ByroksandGitHub 7e6147299b Adjust Mod Calculation (#30)
Changes:
 + Adjust mod calculation
 + remov max 0 from subtract and addition
 + check in skills for subtract mod
2023-12-03 13:07:41 +01:00
ByroksandGitHub f9737a4cb9 Aktualisieren von LICENSE 2023-12-01 22:10:24 +01:00
LeFriqueandGitHub 6ff4f16f9d 18 add more operations for modifiers (#23)
* Added Operations and Combat Conditions

+ Added Multiply, Division and Subtract operations for modifiers
+ Added Combat Conditions Effects form Ars Armorum

* Added Math.floor()

* Fixed Operations and Combat Conditions
2023-12-01 19:04:58 +01:00
LeFriqueandGitHub 725dd8c504 Added Operations and Combat Conditions (#22)
* Added Operations and Combat Conditions

+ Added Multiply, Division and Subtract operations for modifiers
+ Added Combat Conditions Effects form Ars Armorum

* Added Math.floor()
2023-12-01 15:26:49 +01:00
ByroksandGitHub 48883c3102 Add Description to bottom of rolls (#19)
Changes:
 + Add helper to strip Html
 + add description of items to bottom of roll
2023-11-30 18:13:04 +01:00
Byroks 024f0b9c42 Squashed commit of the following:
commit 250fc499ae
Author: Byroks <byroks@gmail.com>
Date:   Thu Nov 30 16:17:04 2023 +0100

    v2.1.0

commit 28595e7dd0
Author: Byroks <byroks@gmail.com>
Date:   Thu Nov 30 15:50:59 2023 +0100

    Make Items with mods equippable (#11)

    Changes:
     + Items that can influence you stats are equippable
     + only equipped items influence your stats
     + Armor now influences your stats
     + move mods into a partial for easier changes

commit 8095785fc2
Author: Byroks <byroks@gmail.com>
Date:   Wed Nov 29 10:14:49 2023 +0100

    Movement stat (#10)

    Changes:
     + make movement stat work and be moddable by effects

commit e141839055
Merge: 14e005c 0bfa224
Author: Byroks <byroks@gmail.com>
Date:   Tue Nov 28 19:50:38 2023 +0100

    Merge branch 'main' into develop

commit 14e005cb0a
Author: Byroks <byroks@gmail.com>
Date:   Tue Nov 28 19:48:14 2023 +0100

    v2.0.0

commit c635c54f24
Author: Byroks <byroks@gmail.com>
Date:   Tue Nov 28 19:42:38 2023 +0100

    Dev Kampfkünste Items & Integration (#7)

    Changes:
     + add kampfkuenste template
     + add kampfkuenste tab
     + make kampfkuenste rollable
     + update localization

commit e27f4209e5
Author: Byroks <byroks@gmail.com>
Date:   Mon Nov 27 20:05:20 2023 +0100

    Squashed commit of the following:

    commit 0bfa224dae
    Author: Byroks <byroks@gmail.com>
    Date:   Mon Nov 27 19:56:05 2023 +0100

        V1.3.1 (#6)

        * v1.3.1

        * v1.3.1

        * update .gitingore

    commit 35a6b0fae9
    Author: Byroks <byroks@gmail.com>
    Date:   Mon Nov 27 19:48:56 2023 +0100

        v1.3.1

    commit db21ca93b0
    Author: Byroks <byroks@gmail.com>
    Date:   Sun Nov 26 13:13:13 2023 +0100

        subtract ap when casting spell

        Changes:
         + subtract AP when casting a spell
2023-11-30 16:19:25 +01:00
Byroks 250fc499ae v2.1.0 2023-11-30 16:17:04 +01:00
ByroksandGitHub 28595e7dd0 Make Items with mods equippable (#11)
Changes:
 + Items that can influence you stats are equippable
 + only equipped items influence your stats
 + Armor now influences your stats
 + move mods into a partial for easier changes
2023-11-30 15:50:59 +01:00
ByroksandGitHub 8095785fc2 Movement stat (#10)
Changes:
 + make movement stat work and be moddable by effects
2023-11-29 10:14:49 +01:00
ByroksandGitHub 16df142d45 v2.0.0 (#8)
* Squashed commit of the following:

commit 0bfa224dae
Author: Byroks <byroks@gmail.com>
Date:   Mon Nov 27 19:56:05 2023 +0100

    V1.3.1 (#6)

    * v1.3.1

    * v1.3.1

    * update .gitingore

commit 35a6b0fae9
Author: Byroks <byroks@gmail.com>
Date:   Mon Nov 27 19:48:56 2023 +0100

    v1.3.1

commit db21ca93b0
Author: Byroks <byroks@gmail.com>
Date:   Sun Nov 26 13:13:13 2023 +0100

    subtract ap when casting spell

    Changes:
     + subtract AP when casting a spell

* Dev Kampfkünste Items & Integration (#7)

Changes:
 + add kampfkuenste template
 + add kampfkuenste tab
 + make kampfkuenste rollable
 + update localization

* v2.0.0
2023-11-28 19:50:56 +01:00
ByroksandGitHub e141839055 Merge branch 'main' into develop 2023-11-28 19:50:38 +01:00
Byroks 14e005cb0a v2.0.0 2023-11-28 19:48:14 +01:00
ByroksandGitHub c635c54f24 Dev Kampfkünste Items & Integration (#7)
Changes:
 + add kampfkuenste template
 + add kampfkuenste tab
 + make kampfkuenste rollable
 + update localization
2023-11-28 19:42:38 +01:00
Byroks e27f4209e5 Squashed commit of the following:
commit 0bfa224dae
Author: Byroks <byroks@gmail.com>
Date:   Mon Nov 27 19:56:05 2023 +0100

    V1.3.1 (#6)

    * v1.3.1

    * v1.3.1

    * update .gitingore

commit 35a6b0fae9
Author: Byroks <byroks@gmail.com>
Date:   Mon Nov 27 19:48:56 2023 +0100

    v1.3.1

commit db21ca93b0
Author: Byroks <byroks@gmail.com>
Date:   Sun Nov 26 13:13:13 2023 +0100

    subtract ap when casting spell

    Changes:
     + subtract AP when casting a spell
2023-11-27 20:05:20 +01:00
Byroks 0bfa224dae V1.3.1 (#6)
* v1.3.1

* v1.3.1

* update .gitingore
2023-11-27 20:04:06 +01:00
Byroks 35a6b0fae9 v1.3.1 2023-11-27 19:48:56 +01:00
Byroks db21ca93b0 subtract ap when casting spell
Changes:
 + subtract AP when casting a spell
2023-11-26 13:13:13 +01:00
Byroks 7bf0fd90b0 update verified and maximum version 2023-11-25 19:33:03 +01:00
Byroks a7bdd0434e Delete midgard5-v1.3.0.zip 2023-11-25 16:38:39 +01:00
Byroks 97d4a35cd6 update localize Keys
Changes:
 + update localize Keys, to conform with v11
2023-11-25 16:38:05 +01:00
Byroks c2996aa974 Fix Raufen roll
Changes:
 + fix roll attributes for Raufen
2023-11-25 16:04:17 +01:00
Byroks bf4f49755a adjust iniative roll
Changes:
 + fix iniative stat
2023-11-25 15:54:53 +01:00
ByroksandGitHub 57bffd492a Update de.md 2023-11-25 14:20:47 +01:00
ByroksandGitHub 5a36ee9eab V1.3.0 (#3)
* v1.3.0

* v1.3.0
2023-11-24 21:01:10 +01:00
Byroks a8a1e6e133 fix gulpfile 2023-11-24 20:54:22 +01:00
Byroks 3bf2612dd0 update system.json & gitignore 2023-11-24 20:47:21 +01:00
Byroks 68cb8fcf6d Include Weapons and effects
Changes:
 + include weapon pack and effect pack
 + handle effects as own entity
 + effects can influence your attributes and skills
 + add Aktive Effekte page for effects on your character
2023-11-24 20:11:36 +01:00
Byroks 4b2daef20a fix Gifttolleranz naming, parsing and display 2023-11-22 23:13:19 +01:00
ByroksandGitHub 792c578e0f Merge pull request #1 from LeFrique/main
Added skills & weapons from all Sourcebooks,GiT&B
2023-11-22 22:19:54 +01:00
ByroksandGitHub 3b051760ae Merge branch 'main' into main 2023-11-22 22:19:20 +01:00
Byroks bffbe97805 Revert "update system id"
This reverts commit 6428b3252e.
2023-11-22 19:11:53 +01:00
Byroks e21e5a91be Revert "adjust to id change"
This reverts commit 30d0924e3d.
2023-11-22 19:11:44 +01:00
Byroks 783f7f020b Revert "update version"
This reverts commit c77818199a.
2023-11-22 19:11:36 +01:00
Byroks ad841b111f Revert "remove"
This reverts commit 5277a3ca4b.
2023-11-22 19:11:17 +01:00
Le-Frique ba2992221d Added skills & weapons from all Sourcebooks,GiT&B 2023-11-21 20:03:46 +01:00
Byroks 5277a3ca4b remove 2023-11-21 19:57:45 +01:00
Byroks c77818199a update version 2023-11-21 19:53:32 +01:00
Byroks 30d0924e3d adjust to id change 2023-11-21 19:50:39 +01:00
Byroks 6428b3252e update system id 2023-11-21 19:18:05 +01:00
Byroks e85fd1c41f fix Zaubern EW display in spell
Changes:
 + fix Zaubern EW display in spell list
2023-11-19 21:13:29 +01:00
Byroks d9e7152b4d verson change v1.2.2 2023-11-19 20:58:03 +01:00
Byroks 9e7d81f413 version change to v1.2.2 2023-11-19 20:57:16 +01:00
Byroks 8dd29e8da5 hide skill when learned
Changes:
 + Hide learned skills from unlearned skill list
2023-11-19 20:52:29 +01:00
405 changed files with 6455 additions and 1283 deletions
@@ -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 }}"
+2 -1
View File
@@ -4,4 +4,5 @@ package-lock.json
.idea/
source/packs/
source/generators/
dist
dist
*.zip
+2 -1
View File
@@ -1,6 +1,7 @@
MIT License
Copyright (c) 2022
Copyright (c) 2022 Michael Stein
Copyright (c) 2023 Byroks
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

+1
View File
@@ -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

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="512" height="512"><path fill="#000" d="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

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 MiB

+2 -2
View File
@@ -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:
https://github.com/michaelstein/foundry-vtt-system-midgard5/releases/download/v1.0.1/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.
@@ -32,7 +32,7 @@ Dieser Reiter enthält (mit Ausname von Zaubern) alle zu erlernenden Dinge des C
![Blaupausen für Gegenstände](compendium-items.de.png)
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:
+1 -2
View File
@@ -1,5 +1,4 @@
{
"moduleName": "Midgard 5. Edition",
"repository": "https://github.com/Byroks/foundry-vtt-system-midgard5",
"rawURL": "https://raw.githubusercontent.com/Byroks/foundry-vtt-system-midgard5"
"repository": "https://git.byroks.de/MidgardVTT-Entwicklung/foundry-vtt-system-midgard5"
}
+264 -294
View File
@@ -1,29 +1,28 @@
import * as gulp from "gulp"
import fs from "fs-extra"
import * as path from "path"
import archiver from "archiver"
import stringify from "json-stringify-pretty-compact"
import * as gulp from "gulp";
import fs from "fs-extra";
import * as path from "path";
import archiver from "archiver";
import stringify from "json-stringify-pretty-compact";
const sourcemaps = require('gulp-sourcemaps')
const uglify = require('gulp-uglify')
const concat = require("gulp-concat")
const buffer = require('vinyl-buffer')
const source = require('vinyl-source-stream')
const through = require('through2')
const jsonminify = require('gulp-jsonminify')
const merge2 = require('merge2')
const sourcemaps = require("gulp-sourcemaps");
const uglify = require("gulp-uglify");
const concat = require("gulp-concat");
const buffer = require("vinyl-buffer");
const source = require("vinyl-source-stream");
const through = require("through2");
const jsonminify = require("gulp-jsonminify");
const merge2 = require("merge2");
const git = require('gulp-git-streamed')
const git = require("gulp-git-streamed");
const loadJson = (path: string): any => {
try {
let str = fs.readFileSync(path).toString()
return JSON.parse(str)
let str = fs.readFileSync(path).toString();
return JSON.parse(str);
} catch {
throw Error("Unable to load " + path);
}
catch {
throw Error("Unable to load " + path)
}
}
};
import {
createLiteral,
@@ -38,36 +37,37 @@ import {
TransformerFactory,
visitEachChild,
visitNode,
} from "typescript"
import less from "gulp-less"
} from "typescript";
import less from "gulp-less";
import Logger from "./source/utils/Logger"
import {ModuleData} from "@league-of-foundry-developers/foundry-vtt-types/src/foundry/common/packages.mjs"
import browserify from "browserify"
const tsify = require("tsify")
import Logger from "./source/utils/Logger";
import { ModuleData } from "@league-of-foundry-developers/foundry-vtt-types/src/foundry/common/packages.mjs";
import browserify from "browserify";
import { data } from "jquery";
const tsify = require("tsify");
const ts = require("gulp-typescript")
const ts = require("gulp-typescript");
const argv = require("yargs").argv
const argv = require("yargs").argv;
let distPath = "dist"
let distPath = "dist";
function getConfig() {
const configPath = path.resolve(process.cwd(), "foundryconfig.json")
let config
const configPath = path.resolve(process.cwd(), "foundryconfig.json");
let config;
if (fs.existsSync(configPath)) {
config = loadJson(configPath)
return config
config = loadJson(configPath);
return config;
} else {
return
return;
}
}
interface Manifest {
root: string
file: ModuleData
name: string
root: string;
file: ModuleData;
name: string;
}
const getManifest = (): Manifest | null => {
@@ -75,237 +75,211 @@ const getManifest = (): Manifest | null => {
root: "",
// @ts-ignore
file: {},
name: ""
}
name: "",
};
if (fs.existsSync("source")) {
json.root = "source"
json.root = "source";
} else {
json.root = distPath
json.root = distPath;
}
const modulePath = path.join(json.root, "module.json")
const systemPath = path.join(json.root, "system.json")
const modulePath = path.join(json.root, "module.json");
const systemPath = path.join(json.root, "system.json");
if (fs.existsSync(modulePath)) {
json.file = loadJson(modulePath) as ModuleData
json.name = "module.json"
json.file = loadJson(modulePath) as ModuleData;
json.name = "module.json";
} else if (fs.existsSync(systemPath)) {
json.file = loadJson(systemPath) as ModuleData
json.name = "system.json"
json.file = loadJson(systemPath) as ModuleData;
json.name = "system.json";
} else {
return null
return null;
}
return json
}
return json;
};
const createTransformer = (): TransformerFactory<any> => {
/**
* @param {typescript.Node} node
*/
const shouldMutateModuleSpecifier = (node: Node): boolean => {
if (!isImportDeclaration(node) && !isExportDeclaration(node))
return false
if (node.moduleSpecifier === undefined)
return false
if (!isStringLiteral(node.moduleSpecifier))
return false
if (!node.moduleSpecifier.text.startsWith("./") && !node.moduleSpecifier.text.startsWith("../"))
return false
if (!isImportDeclaration(node) && !isExportDeclaration(node)) return false;
if (node.moduleSpecifier === undefined) return false;
if (!isStringLiteral(node.moduleSpecifier)) return false;
if (!node.moduleSpecifier.text.startsWith("./") && !node.moduleSpecifier.text.startsWith("../")) return false;
return path.extname(node.moduleSpecifier.text) === ""
}
return path.extname(node.moduleSpecifier.text) === "";
};
return (context: TransformationContext): TSTransformer<any> => {
return (node: Node) => {
function visitor(node: Node): Node {
if (shouldMutateModuleSpecifier(node)) {
if (isImportDeclaration(node)) {
const newModuleSpecifier = createLiteral(`${(node.moduleSpecifier as LiteralExpression).text}.js`)
return factory.updateImportDeclaration(node, node.decorators, node.modifiers, node.importClause, newModuleSpecifier, undefined)
const newModuleSpecifier = createLiteral(`${(node.moduleSpecifier as LiteralExpression).text}.js`);
return factory.updateImportDeclaration(node, node.decorators, node.modifiers, node.importClause, newModuleSpecifier, undefined);
} else if (isExportDeclaration(node)) {
const newModuleSpecifier = createLiteral(`${(node.moduleSpecifier as LiteralExpression).text}.js`)
return factory.updateExportDeclaration(node, node.decorators, node.modifiers, false, node.exportClause, newModuleSpecifier, undefined)
const newModuleSpecifier = createLiteral(`${(node.moduleSpecifier as LiteralExpression).text}.js`);
return factory.updateExportDeclaration(node, node.decorators, node.modifiers, false, node.exportClause, newModuleSpecifier, undefined);
}
}
return visitEachChild(node, visitor, context)
return visitEachChild(node, visitor, context);
}
return visitNode(node, visitor)
}
}
}
return visitNode(node, visitor);
};
};
};
const tsConfig = ts.createProject("tsconfig.json", {
getCustomTransformers: (_program: any) => ({
after: [createTransformer()],
}),
})
});
function buildTS() {
const debug = process.env.npm_lifecycle_event !== "package"
let res = tsConfig.src()
.pipe(sourcemaps.init())
.pipe(tsConfig())
const debug = process.env.npm_lifecycle_event !== "package";
let res = tsConfig.src().pipe(sourcemaps.init()).pipe(tsConfig());
return res.js
.pipe(sourcemaps.write('', { debug: debug, includeContent: true, sourceRoot: './ts/source' }))
.pipe(gulp.dest(distPath))
return res.js.pipe(sourcemaps.write("", { debug: debug, includeContent: true, sourceRoot: "./ts/source" })).pipe(gulp.dest(distPath));
}
const bundleModule = () => {
const debug = argv.dbg || argv.debug
const bsfy = browserify(path.join(__dirname, "source/index.ts"), { debug: debug })
return bsfy.on('error', Logger.err)
const debug = argv.dbg || argv.debug;
const bsfy = browserify(path.join(__dirname, "source/index.ts"), { debug: debug });
return bsfy
.on("error", Logger.err)
.plugin(tsify)
.bundle()
.pipe(source(path.join(distPath, "bundle.js")))
.pipe(buffer())
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(sourcemaps.init({ loadMaps: true }))
.pipe(uglify())
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest('./'))
}
.pipe(sourcemaps.write("./"))
.pipe(gulp.dest("./"));
};
const buildLess = () => {
return gulp.src("source/style/*.less")
.pipe(less())
.pipe(concat("bundle.css"))
.pipe(gulp.dest(distPath))
}
return gulp.src("source/style/*.less").pipe(less()).pipe(concat("bundle.css")).pipe(gulp.dest(distPath));
};
interface Pack {
root: string,
type: string,
name: string
root: string;
type: string;
name: string;
}
const buildPack = (pack: Pack): NodeJS.ReadWriteStream => {
return gulp.src(pack.root + "/" + pack.type + "/" + pack.name + "/*.json")
return gulp
.src(pack.root + "/" + pack.type + "/" + pack.name + "/*.json")
.pipe(jsonminify())
.pipe(concat(pack.name + ".db"))
.pipe(gulp.dest(distPath + "/" + pack.root + "/" + pack.type))
}
.pipe(gulp.dest(distPath + "/" + pack.root + "/" + pack.type));
};
const buildPacks = () => {
let packs: Pack[] = []
let packs: Pack[] = [];
const rootDir = "packs"
const packTypes = fs.readdirSync(rootDir).filter(p => fs.statSync(path.join(rootDir, p)).isDirectory())
packTypes.forEach(packType => {
const packDir = path.join(rootDir, packType)
const packNames = fs.readdirSync(packDir).filter(p => fs.statSync(path.join(packDir, p)).isDirectory())
packNames.forEach(packName => {
const rootDir = "packs";
const packTypes = fs.readdirSync(rootDir).filter((p) => fs.statSync(path.join(rootDir, p)).isDirectory());
packTypes.forEach((packType) => {
const packDir = path.join(rootDir, packType);
const packNames = fs.readdirSync(packDir).filter((p) => fs.statSync(path.join(packDir, p)).isDirectory());
packNames.forEach((packName) => {
packs.push({
name: packName,
type: packType,
root: rootDir
})
})
})
root: rootDir,
});
});
});
return merge2(packs.map(p => buildPack(p)))
}
return merge2(packs.map((p) => buildPack(p)));
};
const copyFiles = async() => {
const copyFiles = async () => {
const recursiveFileSearch = (dir: string, callback: (err: NodeJS.ErrnoException | null, res: Array<string>) => void) => {
let results: Array<string> = []
let results: Array<string> = [];
fs.readdir(dir, (err, list) => {
if (err)
return callback(err, results)
if (err) return callback(err, results);
let pending = list.length
if (!pending)
return callback(null, results)
let pending = list.length;
if (!pending) return callback(null, results);
for (let file of list) {
file = path.resolve(dir, file)
file = path.resolve(dir, file);
fs.stat(file, (err, stat) => {
if (stat && stat.isDirectory()) {
recursiveFileSearch(file, (err, res) => {
results = results.concat(res)
if (!--pending)
callback(null, results)
})
results = results.concat(res);
if (!--pending) callback(null, results);
});
} else {
results.push(file);
if (!--pending) callback(null, results);
}
else {
results.push(file)
if (!--pending)
callback(null, results)
}
})
});
}
})
}
});
};
try {
const modulePath = path.join("source", "module.json")
if (fs.existsSync(modulePath))
await fs.copyFile(modulePath, path.join(distPath, "module.json"))
const modulePath = path.join("source", "module.json");
if (fs.existsSync(modulePath)) await fs.copyFile(modulePath, path.join(distPath, "module.json"));
const systemPath = path.join("source/system.json")
if (fs.existsSync(systemPath))
await fs.copyFile(systemPath, path.join(distPath, "system.json"))
if (!fs.existsSync(path.resolve(__dirname, "assets")))
return Promise.resolve()
const systemPath = path.join("source/system.json");
if (fs.existsSync(systemPath)) await fs.copyFile(systemPath, path.join(distPath, "system.json"));
if (!fs.existsSync(path.resolve(__dirname, "assets"))) return Promise.resolve();
const filter = (src: string, dest: string): boolean => {
Logger.ok("Copying file: " + dest)
return true
}
await fs.copyFile(path.join("source", "template.json"), path.join(distPath, "template.json"))
Logger.ok("Copying file: " + dest);
return true;
};
fs.copySync(path.resolve(__dirname, "assets"), path.resolve(__dirname, distPath + "/assets"), { overwrite: true, filter })
fs.copySync(path.resolve(__dirname, "lang"), path.resolve(__dirname, distPath + "/lang"), { overwrite: true, filter })
await fs.copyFile(path.join("source", "template.json"), path.join(distPath, "template.json"));
fs.copySync(path.resolve(__dirname, "assets"), path.resolve(__dirname, distPath + "/assets"), { overwrite: true, filter });
fs.copySync(path.resolve(__dirname, "lang"), path.resolve(__dirname, distPath + "/lang"), { overwrite: true, filter });
//fs.copySync(path.resolve(__dirname, "packs"), path.resolve(__dirname, distPath + "/packs"), { overwrite: true, filter })
fs.copySync(path.resolve(__dirname, "templates"), path.resolve(__dirname, distPath + "/templates"), { overwrite: true, filter })
return Promise.resolve()
fs.copySync(path.resolve(__dirname, "templates"), path.resolve(__dirname, distPath + "/templates"), { overwrite: true, filter });
return Promise.resolve();
} catch (err) {
await Promise.reject(err)
await Promise.reject(err);
}
}
};
const cleanDist = async () => {
if (argv.dbg || argv.debug)
return
Logger.log("Cleaning dist file clutter")
if (argv.dbg || argv.debug) return;
Logger.log("Cleaning dist file clutter");
const files: string[] = []
const files: string[] = [];
const getFiles = async (dir: string) => {
const arr = await fs.promises.readdir(dir)
for(const entry of arr)
{
const fullPath = path.join(dir, entry)
const stat = await fs.promises.stat(fullPath)
if (stat.isDirectory())
await getFiles(fullPath)
else
files.push(fullPath)
const arr = await fs.promises.readdir(dir);
for (const entry of arr) {
const fullPath = path.join(dir, entry);
const stat = await fs.promises.stat(fullPath);
if (stat.isDirectory()) await getFiles(fullPath);
else files.push(fullPath);
}
}
};
await getFiles(path.resolve(distPath))
for(const file of files) {
if (file.endsWith("bundle.js") || file.endsWith(".css") || file.endsWith("module.json"))
continue
await getFiles(path.resolve(distPath));
for (const file of files) {
if (file.endsWith("bundle.js") || file.endsWith(".css") || file.endsWith("module.json")) continue;
Logger.warn("Cleaning " + path.relative(process.cwd(), file))
await fs.promises.unlink(file)
Logger.warn("Cleaning " + path.relative(process.cwd(), file));
await fs.promises.unlink(file);
}
}
};
/**
* Watch for changes for each build step
*/
const buildWatch = () => {
gulp.watch("source/**/*.ts", { ignoreInitial: false }, gulp.series(buildTS, bundleModule))
gulp.watch("source/**/*.less", { ignoreInitial: false }, buildLess)
gulp.watch("packs", { ignoreInitial: false }, buildPacks)
gulp.watch(["assets", "lang", "templates", "source/*.json"], { ignoreInitial: false }, copyFiles)
}
gulp.watch("source/**/*.ts", { ignoreInitial: false }, gulp.series(buildTS, bundleModule));
gulp.watch("source/**/*.less", { ignoreInitial: false }, buildLess);
gulp.watch("packs", { ignoreInitial: false }, buildPacks);
gulp.watch(["assets", "lang", "templates", "source/*.json"], { ignoreInitial: false }, copyFiles);
};
/********************/
/* CLEAN */
@@ -316,67 +290,63 @@ const buildWatch = () => {
* while ignoring source files
*/
const clean = async () => {
if (!fs.existsSync(distPath))
fs.mkdirSync(distPath)
if (!fs.existsSync(distPath)) fs.mkdirSync(distPath);
else {
// Attempt to remove the files
try {
fs.rmSync(distPath, { recursive: true, force: true })
fs.mkdirSync(distPath)
return Promise.resolve()
fs.rmSync(distPath, { recursive: true, force: true });
fs.mkdirSync(distPath);
return Promise.resolve();
} catch (err) {
await Promise.reject(err)
await Promise.reject(err);
}
}
}
};
const setTargetDir = async () => {
const dp = process.env.FOUNDRY_PATH
if (!dp)
throw Error("FOUNDRY_PATH not defined in environment")
const name = getManifest()!.file.name ?? "midgard5"
distPath = path.join(dp, "Data", "systems", name)
}
const dp = process.env.FOUNDRY_PATH;
if (!dp) throw Error("FOUNDRY_PATH not defined in environment");
const name = getManifest()!.file.name ?? "midgard5";
distPath = path.join(dp, "Data", "systems", name);
};
const linkUserData = async () => {
const name = getManifest()!.file.name
const name = getManifest()!.file.name;
let destDir
let destDir;
try {
if (fs.existsSync(path.resolve(".", distPath, "module.json")) || fs.existsSync(path.resolve(".", "source", "module.json"))) {
destDir = "modules"
destDir = "modules";
} else if (fs.existsSync(path.resolve(".", distPath, "system.json")) || fs.existsSync(path.resolve(".", "source", "system.json"))) {
destDir = "systems"
destDir = "systems";
} else {
throw Error(`Could not find module.json or system.json`)
throw Error(`Could not find module.json or system.json`);
}
let linkDir
const dataPath = process.env.FOUNDRY_PATH
let linkDir;
const dataPath = process.env.FOUNDRY_PATH;
if (dataPath) {
if (!fs.existsSync(path.join(dataPath, "Data")))
throw Error("User Data path invalid, no Data directory found")
linkDir = path.join(dataPath, "Data", destDir, name as string)
if (!fs.existsSync(path.join(dataPath, "Data"))) throw Error("User Data path invalid, no Data directory found");
linkDir = path.join(dataPath, "Data", destDir, name as string);
} else {
throw Error("FOUNDRY_PATH not defined in environment")
throw Error("FOUNDRY_PATH not defined in environment");
}
//if (argv.clean || argv.c) {
Logger.warn(`Removing build in ${linkDir}`)
fs.rmSync(linkDir, { recursive: true, force: true })
fs.mkdirSync(linkDir)
Logger.warn(`Removing build in ${linkDir}`);
fs.rmSync(linkDir, { recursive: true, force: true });
fs.mkdirSync(linkDir);
//}
Logger.ok(`Copying build to ${linkDir}`)
fs.copySync(path.resolve(distPath), linkDir, { overwrite: true })
Logger.ok(`Copying build to ${linkDir}`);
fs.copySync(path.resolve(distPath), linkDir, { overwrite: true });
return Promise.resolve()
return Promise.resolve();
} catch (err) {
await Promise.reject(err)
await Promise.reject(err);
}
}
};
/*********************/
/* PACKAGE */
@@ -386,48 +356,51 @@ const linkUserData = async () => {
* Package build
*/
async function packageBuild() {
const manifest = getManifest()
const manifest = getManifest();
if (manifest === null) {
Logger.err("Manifest file could not be loaded.")
throw Error()
Logger.err("Manifest file could not be loaded.");
throw Error();
}
return new Promise((resolve, reject) => {
try {
// Remove the package dir without doing anything else
if (argv.clean || argv.c) {
Logger.warn("Removing all packaged files")
fs.rmSync(distPath, { force: true, recursive: true })
return
Logger.warn("Removing all packaged files");
fs.rmSync(distPath, { force: true, recursive: true });
return;
}
// Ensure there is a directory to hold all the packaged versions
if(!fs.existsSync(distPath))
fs.mkdirSync(distPath)
if (!fs.existsSync(distPath)) fs.mkdirSync(distPath);
// Initialize the zip file
const zipName = `${manifest.file.name}-v${manifest.file.version}.zip`
const zipFile = fs.createWriteStream(path.join(distPath, zipName))
const zip = archiver("zip", { zlib: { level: 9 } })
const zipName = `${manifest.file.name}-v${manifest.file.version}.zip`;
const zipFile = fs.createWriteStream(zipName);
const zip = archiver("zip", { zlib: { level: 9 } });
zipFile.on("close", () => {
Logger.ok(zip.pointer() + " total bytes")
Logger.ok(`Zip file ${zipName} has been written`)
return resolve(true)
})
Logger.ok(zip.pointer() + " total bytes");
Logger.ok(`Zip file ${zipName} has been written`);
return resolve(true);
});
zipFile.on("end", function () {
throw "Data has been drained";
});
zip.on("error", (err) => {
throw err
})
throw err;
});
zip.pipe(zipFile)
zip.pipe(zipFile);
zip.directory(path.join(process.cwd(), distPath), false)
return zip.finalize()
zip.directory(distPath, manifest.file.name);
return zip.finalize();
} catch (err) {
return reject(err)
return reject(err);
}
})
});
}
/*********************/
@@ -438,116 +411,113 @@ async function packageBuild() {
* Update version and URLs in the manifest JSON
*/
const updateManifest = (cb: any) => {
const packageJson = loadJson("package.json")
const packageJson = loadJson("package.json");
const config = getConfig(),
manifest = getManifest(),
rawURL = config.rawURL,
repoURL = config.repository,
manifestRoot = manifest!.root
manifestRoot = manifest!.root;
if (!config)
cb(Error("foundryconfig.json not found"))
if (!config) cb(Error("foundryconfig.json not found"));
if (manifest === null) {
cb(Error("Manifest JSON not found"))
return
cb(Error("Manifest JSON not found"));
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 {
const version = argv.update || argv.u
const version = argv.update || argv.u;
/* Update version */
const versionMatch = /^(\d{1,}).(\d{1,}).(\d{1,})$/
const currentVersion = manifest!.file.version
let targetVersion = ""
const versionMatch = /^(\d{1,}).(\d{1,}).(\d{1,})$/;
const currentVersion = manifest!.file.version;
let targetVersion = "";
if (!version) {
cb(Error("Missing version number"))
cb(Error("Missing version number"));
}
if (versionMatch.test(version)) {
targetVersion = version
targetVersion = version;
} else {
targetVersion = currentVersion.replace(versionMatch, (substring: string, major: string, minor: string, patch: string) => {
console.log(substring, Number(major) + 1, Number(minor) + 1, Number(patch) + 1)
console.log(substring, Number(major) + 1, Number(minor) + 1, Number(patch) + 1);
if (version === "major") {
return `${Number(major) + 1}.0.0`
return `${Number(major) + 1}.0.0`;
} else if (version === "minor") {
return `${major}.${Number(minor) + 1}.0`
return `${major}.${Number(minor) + 1}.0`;
} else if (version === "patch") {
return `${major}.${minor}.${Number(patch) + 1}`
return `${major}.${minor}.${Number(patch) + 1}`;
} else {
return ""
return "";
}
})
});
}
if (targetVersion === "") {
return cb(Error("Error: Incorrect version arguments."))
return cb(Error("Error: Incorrect version arguments."));
}
if (targetVersion === currentVersion) {
return cb(Error("Error: Target version is identical to current version."))
return cb(Error("Error: Target version is identical to current version."));
}
Logger.ok(`Updating version number to '${targetVersion}'`)
Logger.ok(`Updating version number to '${targetVersion}'`);
packageJson.version = targetVersion
manifest.file.version = targetVersion
packageJson.version = targetVersion;
manifest.file.version = targetVersion;
/* Update URLs */
const result = `${rawURL}/v${manifest.file.version}/${distPath}/${manifest.file.name}-v${manifest.file.version}.zip`
const result = `${repoURL}/releases/download`;
manifest.file.url = repoURL
manifest.file.manifest = `${rawURL}/master/${manifestRoot}/${manifest.name}`
manifest.file.download = result
manifest.file.url = repoURL;
manifest.file.manifest = `${result}/v${manifest.file.version}/${manifest.name}`;
manifest.file.download = `${result}/v${manifest.file.version}/${manifest.file.name}-v${manifest.file.version}.zip`;
const prettyProjectJson = stringify(manifest.file, {
maxLength: 35,
indent: "\t",
})
});
fs.writeFileSync("package.json", JSON.stringify(packageJson, null, '\t'))
fs.writeFileSync(path.join(manifest.root, manifest.name), prettyProjectJson, "utf8")
fs.writeFileSync("package.json", JSON.stringify(packageJson, null, "\t"));
fs.writeFileSync(path.join(manifest.root, manifest.name), prettyProjectJson, "utf8");
return cb()
return cb();
} catch (err) {
return cb(err)
return cb(err);
}
}
};
const gitTaskManifest = (cb: gulp.TaskFunctionCallback) => {
const manifest = getManifest()
if (!manifest)
return cb(Error("could not load manifest."))
return gulp.src([`package.json`, `source/module.json`])
const manifest = getManifest();
if (!manifest) return cb(Error("could not load manifest."));
return gulp
.src([`package.json`, `source/system.json`])
.pipe(git.add({ args: "--no-all -f" }))
.pipe(git.commit(`v${manifest.file.version}`, { args: "-a", disableAppendPaths: true }))
}
.pipe(git.commit(`v${manifest.file.version}`, { args: "-a", disableAppendPaths: true }));
};
const gitTaskBuild = (cb: gulp.TaskFunctionCallback) => {
const manifest = getManifest()
if (!manifest)
return cb(Error("could not load manifest."))
const manifest = getManifest();
if (!manifest) return cb(Error("could not load manifest."));
return gulp.src(`${distPath}/${manifest.file.name}-v${manifest.file.version}.zip`)
.pipe(git.checkout(`v${manifest.file.version}`, { args: '-b' }))
return gulp
.src(`${manifest.file.name}-v${manifest.file.version}.zip`)
.pipe(git.checkout(`v${manifest.file.version}`, { args: "-b" }))
.pipe(git.add({ args: "--no-all -f" }))
.pipe(git.commit(`v${manifest.file.version}`, { args: "-a", disableAppendPaths: true }))
}
.pipe(git.commit(`v${manifest.file.version}`, { args: "-a", disableAppendPaths: true }));
};
const execBuild = gulp.parallel(buildTS, buildLess, buildPacks, copyFiles)
const execBuild = gulp.parallel(buildTS, buildLess, buildPacks, copyFiles);
exports.build = gulp.series(clean, execBuild, bundleModule)
exports.buildTarget = gulp.series(setTargetDir, clean, execBuild, bundleModule)
exports.watch = buildWatch
exports.watchTarget = gulp.series(setTargetDir, buildWatch)
exports.clean = clean
exports.link = linkUserData
exports.package = packageBuild
exports.update = updateManifest
//exports.publish = gulp.series(clean, updateManifest, execBuild, bundleModule, packageBuild, gitTaskManifest, gitTaskBuild)
exports.build = gulp.series(clean, execBuild, bundleModule);
exports.buildTarget = gulp.series(setTargetDir, clean, execBuild, bundleModule);
exports.watch = buildWatch;
exports.watchTarget = gulp.series(setTargetDir, buildWatch);
exports.clean = clean;
exports.link = linkUserData;
exports.package = packageBuild;
exports.update = updateManifest;
exports.publish = gulp.series(clean, updateManifest, execBuild, bundleModule, packageBuild, gitTaskManifest);
+142 -13
View File
@@ -1,24 +1,48 @@
{
"ACTOR.TypeCharacter": "Charakter",
"TYPES.Actor.character": "Charakter",
"ACTOR.TypeNpc": "Kreatur / Nichtspielerfigur",
"ACTOR.TypeVehicle": "Transportmittel / Pferd etc.",
"ITEM.TypeItem": "Gegenstand",
"ITEM.TypeWeapon": "Waffe",
"ITEM.TypeDefensiveWeapon": "Verteidigungswaffe",
"ITEM.TypeArmor": "Rüstung",
"ITEM.TypeSpell": "Zauber",
"TYPES.Item.item": "Gegenstand",
"TYPES.Item.skill": "Fertigkeit",
"TYPES.Item.weapon": "Waffe",
"TYPES.Item.defensiveWeapon": "Verteidigungswaffe",
"TYPES.Item.armor": "Rüstung",
"TYPES.Item.spell": "Zauber",
"TYPES.Item.effect": "Aktiver Effekt",
"TYPES.Item.kampfkunst": "Kampfkunst",
"TYPES.Item.container": "Aufbewahrung",
"midgard5.phase-action": "Handlungsphase",
"midgard5.phase-movement": "Bewegungsphase",
"midgard5.no-encounter": "Kein Kampf",
"midgard5.encounter-not-started": "Kein aktiver Kampf",
"midgard5.time-duration": "Dauer",
"midgard5.time-round": "Runde(n)",
"midgard5.time-minute": "Minute(n)",
"midgard5.time-hour": "Stunde(n)",
"midgard5.time-limitless": "Unbegrenzt",
"midgard5.doRoll": "Würfeln",
"midgard5.learn": "Lernen",
"midgard5.label": "Bezeichnung",
"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-value": "Fertigkeitswert",
"midgard5.fw": "FW",
"midgard5.bonus": "Bonus",
"midgard5.bonuses": "Boni",
"midgard5.ew": "EW",
"midgard5.pp-short": "PP",
"midgard5.pp": "Praxispunkte",
@@ -27,6 +51,7 @@
"midgard5.item-quantity": "Menge",
"midgard5.item-onbody": "Am Körper",
"midgard5.item-ismagic": "Ist Magisch",
"midgard5.item-wealth": "Vermögenswert",
"midgard5.actor-lp": "Lebenspunkte",
"midgard5.actor-lp-short": "LP",
@@ -50,6 +75,8 @@
"midgard5.actor-zt-long": "Zaubertalent",
"midgard5.actor-wk": "Wk",
"midgard5.actor-wk-long": "Willenskraft",
"midgard5.actor-git": "GiT",
"midgard5.actor-git-long": "Gifttolleranz",
"midgard5.aktuell": "Akt.",
"midgard5.maximum": "Max.",
@@ -60,10 +87,16 @@
"midgard5.skills": "Fertigkeiten",
"midgard5.gear": "Ausrüstung",
"midgard5.spells": "Zauber",
"midgard5.effects": "Aktive Effekte",
"midgard5.kampfkuenste": "Kampfkünste",
"midgard5.combat": "Kampf",
"midgard5.class": "Klasse",
"midgard5.actor-name": "Figur",
"midgard5.level": "Grad",
"midgard5.class": "Typ",
"midgard5.race": "Rasse",
"midgard5.magicUsing": "zauberkundig",
"midgard5.magicUsing": "Zauberkundig",
"midgard5.gender": "Geschlecht",
"midgard5.weight": "Gewicht",
"midgard5.height": "Größe",
@@ -74,27 +107,48 @@
"midgard5.origin": "Heimat",
"midgard5.faith": "Glaube",
"midgard5.currency": "Geld",
"midgard5.currency-gold": "Gold",
"midgard5.currency-silver": "Silber",
"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-available": "Erfahrungspunkte",
"midgard5.grace": "Göttliche Gnade",
"midgard5.destiny": "Schicksalsgunst",
"midgard5.luckPoints": "Glückspunkte",
"midgard5.abrichten": "Abrichten",
"midgard5.akrobatik": "Akrobatik",
"midgard5.alchimie": "Alchimie",
"midgard5.anfuehren": "Anführen",
"midgard5.askese": "Askese",
"midgard5.astrologie": "Astrologie",
"midgard5.athletik": "Athletik",
"midgard5.balancieren": "Balancieren",
"midgard5.beidhaendigerKampf": "Beidhändiger Kampf",
"midgard5.bergreiten": "Bergreiten",
"midgard5.beredsamkeit": "Beredsamkeit",
"midgard5.betaeuben": "Betäuben",
"midgard5.betaeubungsgriff": "Betäubungsgriff",
"midgard5.bootfahren": "Bootfahren",
"midgard5.dickhaeuterLenken": "Dickhäuter lenken",
"midgard5.ersteHilfe": "Erste Hilfe",
"midgard5.etikette": "Etikette",
"midgard5.fallenEntdecken": "Fallen entdecken",
"midgard5.fallenmechanik": "Fallenmechanik",
"midgard5.faelschen": "Fälschen",
"midgard5.fangen": "Fangen",
"midgard5.fechten": "Fechten",
"midgard5.feueralchimie": "Feueralchimie",
"midgard5.gassenwissen": "Gassenwissen",
"midgard5.gaukeln": "Gaukeln",
"midgard5.gelaendelauf": "Geländelauf",
@@ -103,33 +157,55 @@
"midgard5.gluecksspiel": "Glücksspiel",
"midgard5.heilkunde": "Heilkunde",
"midgard5.kampfInVollruestung": "Kampf in Vollrüstung",
"midgard5.kampfInSchlachtreihe": "Kampf in Schlachtreihe",
"midgard5.kampfkunst": "Kampfkunst",
"midgard5.kido": "Kido",
"midgard5.klettern": "Klettern",
"midgard5.landeskunde": "Landeskunde",
"midgard5.laufen": "Laufen",
"midgard5.lesenVonZauberschrift": "Lesen von Zauberschrift",
"midgard5.lesenVonZauberrunen": "Lesen von Zauberrunen",
"midgard5.meditieren": "Meditieren",
"midgard5.menschenkenntnis": "Menschenkenntnis",
"midgard5.meucheln": "Meucheln",
"midgard5.musizieren": "Musizieren",
"midgard5.naturkunde": "Naturkunde",
"midgard5.ninjutsu": "NinJutsu",
"midgard5.orakelkunst": "Orakelkunst",
"midgard5.pflanzenkunde": "Pflanzenkunde",
"midgard5.raunen": "Raunen",
"midgard5.reiten": "Reiten",
"midgard5.reiterkampf": "Reiterkampf",
"midgard5.rutengehen": "Rutengehen",
"midgard5.scharfschiessen": "Scharfschießen",
"midgard5.schiesskunst": "Schießkunst",
"midgard5.schleichen": "Schleichen",
"midgard5.schloesserOeffnen": "Schlösser öffnen",
"midgard5.schmerzErtragen": "Schmerzen ertragen",
"midgard5.schwimmen": "Schwimmen",
"midgard5.seilkunst": "Seilkunst",
"midgard5.selbstkontrolle": "Selbstkontrolle",
"midgard5.singen": "Singen",
"midgard5.skifahren": "Skifahren",
"midgard5.spinnengang": "Spinnengang",
"midgard5.speerfechten": "Speerfechten",
"midgard5.spurensuche": "Spurensuche",
"midgard5.stehlen": "Stehlen",
"midgard5.taitschi": "TaiTschi",
"midgard5.tarnen": "Tarnen",
"midgard5.tanzen": "Tanzen",
"midgard5.tauchen": "Tauchen",
"midgard5.thaumagraphie": "Thaumagraphie",
"midgard5.thaumalogie": "Thaumalogie",
"midgard5.tierkunde": "Tierkunde",
"midgard5.ueberleben": "Überleben",
"midgard5.verfuehren": "Verführen",
"midgard5.verhoeren": "Verhören",
"midgard5.verstellen": "Verstellen",
"midgard5.volkstanz": "Volkstanz",
"midgard5.wagenlenken": "Wagenlenken",
"midgard5.wahrsagen": "Wahrsagen",
"midgard5.wasserkampf": "Wasserkampf",
"midgard5.zauberkunde": "Zauberkunde",
"midgard5.armor": "Rüstung",
@@ -146,23 +222,38 @@
"midgard5.spellCasting": "Zaubern",
"midgard5.spellBonus": "Zauberbonus",
"midgard5.brawl": "Raufen",
"midgard5.poisonResistance": "Giftresistenz",
"midgard5.poisonResistance": "Gifttolleranz",
"midgard5.enduranceBonus": "Ausdauerbonus",
"midgard5.lpProtection": "Rüstungsschutz (LP)",
"midgard5.apProtection": "Rüstungsschutz (AP)",
"midgard5.perception": "Wahrnehmung",
"midgard5.drinking": "Trinken",
"midgard5.new-skill": "Neue Fertigkeit",
"midgard5.special": "Spezial",
"midgard5.learned-skill": "Gelernte Fertigkeit",
"midgard5.learned-skills": "Gelernte Fertigkeiten",
"midgard5.language": "Sprache",
"midgard5.languages": "Sprachen",
"midgard5.weapon-skill": "Waffenfertigkeit",
"midgard5.weapon-skills": "Waffenfertigkeiten",
"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.weapon": "Waffe",
"midgard5.weapons": "Waffen",
"midgard5.defensive-weapon": "Verteidigungswaffe",
"midgard5.defensive-weapons": "Verteidigungswaffen",
"midgard5.no-skill": "Keine Fertigkeit",
"midgard5.magic": "magisch",
"midgard5.valuable": "Vermögen",
"midgard5.equipped": "Ausgerüstet",
"midgard5.active": "Aktiv",
"midgard5.rangedWeapon": "Schusswaffe",
"midgard5.assignItemToCharacter": "Füge Gegenstand einem Charakter hinzu, um Fähigkeit auwählen zu können",
"midgard5.assignItemToCharacter": "Füge Gegenstand einem Charakter hinzu, um hier etwas auswählen zu können",
"midgard5.pw": "Prüfwurf",
"midgard5.attack": "Angriff",
@@ -204,10 +295,44 @@
"midgard5.spell-effectDuration": "Wirkungsdauer",
"midgard5.spell-origin": "Ursprung",
"midgard5.kampfkunst-type": "Kampfkunst Art",
"midgard5.kampfkunst-variante": "Kampfkunst Variante",
"midgard5.kampfkunst-variante-short": "Var",
"midgard5.kido-type": "Kido Art",
"midgard5.kido-variante": "Kido Variante",
"midgard5.kampfkunst-type-angriff": "Angriffstechnik",
"midgard5.kampfkunst-type-verteidigung": "Verteidigungstechnik",
"midgard5.kampfkunst-type-finte": "Finte",
"midgard5.kampfkunst-type-geist": "Geistestechnik",
"midgard5.kampfkunst-type-schießkunst": "Schießkunst",
"midgard5.kampfkunst-type-fechten": "Fechtkunst",
"midgard5.kido-type-angriff": "Kido Angriffstechnik",
"midgard5.kido-type-verteidigung": "Kido Verteidigungstechnik",
"midgard5.kido-type-finte": "Kido Finte",
"midgard5.kido-type-leib": "Kido Leibestechnik",
"midgard5.kampfkunst-variante-anstuermen": "Anstürmen",
"midgard5.kampfkunst-variante-attackieren": "Attackieren",
"midgard5.kampfkunst-variante-entwaffnen": "Entwaffnen",
"midgard5.kido-variante-anspringen": "Anspringen",
"midgard5.kido-variante-attackieren": "Attackieren",
"midgard5.kido-variante-entwaffnen": "Entwaffnen",
"midgard5.kido-variante-werfen": "Werfen",
"midgard5.kido-variante-ausweichen": "Ausweichen",
"midgard5.kido-variante-blockieren": "Blockieren",
"midgard5.kido-variante-bewegen": "Bewegen",
"midgard5.kido-variante-kontrollieren": "Kontrollieren",
"midgard5.mod-operation-add100": "Addieren (max 100)",
"midgard5.mod-operation-roll": "Wurf Modifikation",
"midgard5.mod-operation-add": "Addieren",
"midgard5.mod-operation-set": "Basiswert",
"midgard5.mod-operation-fixed": "Fester Wert",
"midgard5.mod-operation-subtract": "Subtrahieren",
"midgard5.mod-operation-multiply": "Multiplizieren",
"midgard5.mod-operation-division": "Dividieren",
"midgard5.mod-stat-defenseBonus": "Abwehrbonus",
"midgard5.mod-stat-attackBonus": "Angriffsbonus",
@@ -217,9 +342,13 @@
"midgard5.mod-stat-resistanceBody": "Resistenz Körper",
"midgard5.mod-stat-spellCasting": "Zaubern",
"midgard5.mod-stat-brawl": "Raufen",
"midgard5.mod-stat-poisonResistance": "Giftresistenz",
"midgard5.mod-stat-poisonResistance": "Gifttolleranz",
"midgard5.mod-stat-lp": "Lebenspunkte",
"midgard5.mod-stat-ap": "Ausdauerpunkte",
"midgard5.mod-stat-lpProtection": "Rüstungsschutz (LP)",
"midgard5.mod-stat-apProtection": "Rüstungsschutz (AP)",
"midgard5.mod-stat-perception": "Wahrnehmung",
"midgard5.mod-stat-drinking": "Trinken",
"midgard5.mod-type": "Typ der Modifikation",
"midgard5.mod-id": "Was soll modifiziert werden",
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "foundry-system-midgard5",
"version": "1.2.1",
"version": "2.4.0",
"description": "",
"main": "index.js",
"scripts": {
@@ -13,7 +13,7 @@
"build:watch:target": "gulp watchTarget",
"clean": "gulp clean && gulp link --clean"
},
"author": "Simon Gustavs",
"author": "Byroks",
"license": "MIT",
"devDependencies": {
"@babel/core": "^7.15.0",
@@ -58,4 +58,4 @@
"dependencies": {
"handlebars-helpers": "^0.10.0"
}
}
}
+1
View File
@@ -0,0 +1 @@
{"name": "Angelhaken", "type": "item", "img": "icons/tools/fishing/hook-barbed-steel-blue.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": null, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700336817949, "modifiedTime": 1700344214956, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "ptPhWX3Otql5YD5K", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Angelschnur", "type": "item", "img": "icons/tools/fishing/reel-brown-white.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700336890575, "modifiedTime": 1700344214956, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "HtgeX3gqlYUNmoT7", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Armbrustbolzen", "type": "item", "img": "icons/weapons/ammunition/arrows-broadhead-white.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700336933022, "modifiedTime": 1700344214956, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "E9BcGFvPHIG8uFAt", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Berserkerpilz", "type": "item", "img": "icons/consumables/mushrooms/umbontae-green.webp", "system": {"description": "<p>ARK S. 174</p><p></p><p>@UUID[Compendium.midgard5.kampfzustaende.Item.]{Berserkergang}</p>", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700337107612, "modifiedTime": 1700344214956, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "6HhMzrc0X70FM0Bo", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Blasrohrnadel", "type": "item", "img": "icons/weapons/ammunition/arrows-fletching.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700337134535, "modifiedTime": 1700344214957, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "Zq43rQLtzBLeJUqf", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Bleikugel", "type": "item", "img": "icons/weapons/ammunition/shot-round-lead.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700337162880, "modifiedTime": 1700344214957, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "tuEU5XXed5g5N1Y6", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Bolzenk\u00f6cher", "type": "item", "img": "icons/containers/ammunition/arrows-quiver-grey-gold.webp", "system": {"description": "KOD S. 199", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700340687915, "modifiedTime": 1700344214963, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "5LcPj2gGQKaY0PCq", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Brecheisen", "type": "item", "img": "icons/tools/fasteners/bracket.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700337186426, "modifiedTime": 1700344214957, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "LbVNFA0iXvadi1Zs", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Bronzegl\u00f6ckchen, klein", "type": "item", "img": "icons/tools/instruments/bell-brass-brown.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700337474249, "modifiedTime": 1700344214957, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "HvbEC1LJXfa6WGIa", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Bronzehorn", "type": "item", "img": "icons/containers/misc/horn-drinking-wood-teal.webp", "system": {"description": "KOD S. 202", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700340198012, "modifiedTime": 1700344214962, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "NTcOlPb3j7TBaYMv", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Decke, warm", "type": "item", "img": "icons/sundries/survival/bedroll-blue-red.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700337535983, "modifiedTime": 1700344214957, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "YWptt5cY8AuW6XNO", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Dolchscheide, einfach", "type": "item", "img": "icons/equipment/waist/belt-buckle-square-red.webp", "system": {"description": "KOD S. 199", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700337586636, "modifiedTime": 1700344214957, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "4oz3iGQXLyqhWqsf", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Dolchscheide, verziert", "type": "item", "img": "icons/equipment/waist/belt-leather-black-brass.webp", "system": {"description": "KOD S. 199", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700337586636, "modifiedTime": 1700344214958, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "XuFi9DRVZXVbCJ7R", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Einbrecherwerkzeug", "type": "item", "img": "icons/sundries/misc/key-ring-long-silver.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700337820582, "modifiedTime": 1700344214958, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "j14QP0JrN3xpy6lo", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Eisenkeil", "type": "item", "img": "icons/commodities/metal/hinge-brass.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700337884280, "modifiedTime": 1700344214958, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "WbebaVEJHFQj2z87", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Erste-Hilfe-Ausr\u00fcstung", "type": "item", "img": "icons/magic/life/cross-worn-green.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700337948091, "modifiedTime": 1700344214958, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "7A2FMFRTU74hK6hY", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Erste-Hilfe-Heilmittel", "type": "item", "img": "icons/tools/laboratory/bowl-herbs-green.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700337948091, "modifiedTime": 1700344214959, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "X71T2SmtyzvmFhLB", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Fackeln", "type": "item", "img": "icons/sundries/lights/torch-brown-lit.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700338067075, "modifiedTime": 1700344214959, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "TGkot7doVxjuYogC", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Fernrohr (2x)", "type": "item", "img": "icons/tools/navigation/spyglass-telescope-brass.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700338138751, "modifiedTime": 1700344214959, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "1SBFERO074zU5Y72", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Feuerstein & Zunder", "type": "item", "img": "icons/tools/smithing/furnace-fire-metal-orange.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700338202933, "modifiedTime": 1700344214959, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "ukLdWCebvdlYWcrV", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Feuertopf aus Ton", "type": "item", "img": "icons/containers/kitchenware/bowl-clay-brown.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700338268521, "modifiedTime": 1700344214959, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "ziuy5AYML53EjOGW", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Fischernetz", "type": "item", "img": "icons/tools/fishing/net-tan.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700338297878, "modifiedTime": 1700344214959, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "p0VcPlKCuthyeI1T", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Flohpulver", "type": "item", "img": "icons/consumables/grains/sack-grain-open-white.webp", "system": {"description": "<p>ARK S. 175</p><p></p><p>@UUID[Compendium.midgard5.zauberwirkungen.Item.TRgAdyTpNX6xFM7f]{Flohpulver}</p>", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700338323057, "modifiedTime": 1700344214960, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "7eTVSg335jYoSoft", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Fl\u00f6te", "type": "item", "img": "icons/tools/instruments/flute-simple-wood.webp", "system": {"description": "KOD S. 202", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700338346745, "modifiedTime": 1700344214960, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "07068MEDLhOsV4jc", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Garn", "type": "item", "img": "icons/sundries/survival/rope-coiled-brown.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700338366220, "modifiedTime": 1700344214960, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "jmuTti0JrIoqqH8O", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Greifvogel", "type": "item", "img": "icons/creatures/birds/corvid-call-sound-glowing.webp", "system": {"description": "KOD S. 202", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700338422548, "modifiedTime": 1700344214960, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "8PoDR1FQgM8xrJKV", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Greifvogelfutter", "type": "item", "img": "icons/consumables/meat/cut-bowl-wooden-pink-green.webp", "system": {"description": "KOD S. 200", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700338454422, "modifiedTime": 1700344214960, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "ND48kN2hmgCS8ed3", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "G\u00fcrtel", "type": "item", "img": "icons/equipment/waist/belt-buckle-square-leather-brown.webp", "system": {"description": "KOD S. 199", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700338561470, "modifiedTime": 1700344214961, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "cQFMuoAkQVeKdc97", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Hammer", "type": "item", "img": "icons/tools/smithing/hammer-sledge-steel-grey.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700338588641, "modifiedTime": 1700344214961, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "XEM8MiGJkxLxBBRs", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Hand- und Fussfessel mit Kette", "type": "item", "img": "icons/sundries/survival/cuffs-shackles-steel.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700339458394, "modifiedTime": 1700344214961, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "1ifVYP0yoHL9iCYW", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Handwaage mit Waagschalen", "type": "item", "img": "icons/skills/social/trading-justice-scale-gold.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700339735680, "modifiedTime": 1700344214961, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "tU2qA3OsEIqLXRZ0", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Harfe", "type": "item", "img": "icons/tools/instruments/harp-gold-glowing.webp", "system": {"description": "KOD S. 202", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700339779526, "modifiedTime": 1700344214961, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "nPwxqIHFi10yjm9B", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Heiltrunk", "type": "item", "img": "icons/consumables/potions/bottle-corked-green.webp", "system": {"description": "ARK S. 175 [[1d6]]", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {"0": {"type": "stat", "id": "lp", "operation": "add", "value": null}}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700339806059, "modifiedTime": 1700344214961, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "LHgjofEluOhVbWwD", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Hemd", "type": "item", "img": "icons/equipment/chest/shirt-collared-brown.webp", "system": {"description": "KOD S. 199", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700339967376, "modifiedTime": 1700344214962, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "RQluqa74y7CvPKDx", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Holzbalken", "type": "item", "img": "icons/commodities/wood/lumber-square-beam.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700340002857, "modifiedTime": 1700344214962, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "lnTbuIhulXPjYT5F", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Holzkohle", "type": "item", "img": "icons/commodities/gems/powder-raw-white.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700340057496, "modifiedTime": 1700344214962, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "D0IHREXgPafauEeM", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Holzpflock", "type": "item", "img": "icons/sundries/survival/stake-rough-heavy-brown.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700340160962, "modifiedTime": 1700344214962, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "rostQgltuHrNAJTc", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Hose", "type": "item", "img": "icons/equipment/leg/pants-leather-tasset-red.webp", "system": {"description": "KOD S. 199", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700340244299, "modifiedTime": 1700344214963, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "tQdkwsDZgr6MTyCH", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Hundefutter", "type": "item", "img": "icons/consumables/meat/steak-glowing-fatty-white.webp", "system": {"description": "KOD S. 200", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700340332022, "modifiedTime": 1700344214963, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "p23gvctvzlKndysF", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Jagdhund", "type": "item", "img": "icons/creatures/abilities/wolf-howl-moon-purple.webp", "system": {"description": "KOD S. 202", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700340413210, "modifiedTime": 1700344214963, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "OdTUAeIzfBs4Znuq", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Kampfhund", "type": "item", "img": "icons/creatures/abilities/mouth-teeth-long-red.webp", "system": {"description": "KOD S. 202", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700340495804, "modifiedTime": 1700344214963, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "1OYNWsCEadW6wpDN", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Kilt", "type": "item", "img": "icons/equipment/leg/skirt-cloth-red.webp", "system": {"description": "KOD S. 199", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700340541758, "modifiedTime": 1700344214963, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "x7Hcn5CrioNhDW2B", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Kleid", "type": "item", "img": "icons/equipment/chest/robe-layered-teal.webp", "system": {"description": "KOD S. 199", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700340636292, "modifiedTime": 1700344214963, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "3SjCq2wEdBhQgWN3", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Krafttrunk 1W6", "type": "item", "img": "icons/consumables/potions/bottle-corked-blue.webp", "system": {"description": "<p>ARK S. 175</p><p></p><p>[[1d6]]</p>", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {"0": {"type": "stat", "id": "ap", "operation": "add", "value": 0}}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700340760812, "modifiedTime": 1700344214964, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "tFa73yJT05w6CFc4", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Krafttrunk 2W6", "type": "item", "img": "icons/consumables/potions/bottle-corked-blue.webp", "system": {"description": "<p>ARK S. 175</p><p></p><p>[[2d6]]</p>", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {"0": {"type": "stat", "id": "ap", "operation": "add", "value": 0}}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700340760812, "modifiedTime": 1700344214964, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "rdqrGsNAGQYels8W", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Krafttrunk 3W6", "type": "item", "img": "icons/consumables/potions/bottle-corked-blue.webp", "system": {"description": "<p>ARK S. 175</p><p></p><p>[[3d6]]</p>", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {"0": {"type": "stat", "id": "ap", "operation": "add", "value": 0}}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700340760812, "modifiedTime": 1700344214964, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "XOraVIzffPmQid13", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Kraut der konzentrierten Energie", "type": "item", "img": "icons/commodities/flowers/dandelion-pod-blue.webp", "system": {"description": "ARK S. 175", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700340819892, "modifiedTime": 1700344214964, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "cP1thMQpKmJnp2Ei", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Kreidest\u00fcck", "type": "item", "img": "icons/commodities/stone/ore-chunk-white.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700341013171, "modifiedTime": 1700344214964, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "hGoH4ADtYsKM4MW0", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Kristallspiegel", "type": "item", "img": "icons/commodities/treasure/token-silver-blue.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700343296333, "modifiedTime": 1700344214971, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "Jf3M0R8VFPk68FFi", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Kupferdraht", "type": "item", "img": "icons/tools/hand/lockpicks-steel-grey.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700341109013, "modifiedTime": 1700344214965, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "osAv07ozhccIpF8e", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Kutte", "type": "item", "img": "icons/equipment/head/hood-cloth-teal.webp", "system": {"description": "KOD S. 199", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700341247991, "modifiedTime": 1700344214965, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "G4qmduHsHdEAWHaK", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Lampen\u00f6l", "type": "item", "img": "icons/consumables/potions/potion-jar-corked-orange.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700341281337, "modifiedTime": 1700344214965, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "og0ZLGP1YgMR8ElR", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Laterne, abblendbar", "type": "item", "img": "icons/sundries/lights/lantern-iron-yellow.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700341362507, "modifiedTime": 1700344214965, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "xFvCBbvhdEJyyukV", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Laterne", "type": "item", "img": "icons/sundries/lights/lantern-iron-lit-yellow.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700341336215, "modifiedTime": 1700344214965, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "B2Xg6mVdKs4RR8Pm", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Laute", "type": "item", "img": "icons/tools/instruments/lute-gold-brown.webp", "system": {"description": "KOD S. 202", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700341380164, "modifiedTime": 1700344214965, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "w74foUkMyF3TXwVk", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Lederhandschuhe", "type": "item", "img": "icons/equipment/hand/gauntlet-simple-leather-brown.webp", "system": {"description": "KOD S. 199", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700339697427, "modifiedTime": 1700344214961, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "zBFahd3ATMoonOhR", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Ledertasche, Bleikugeln", "type": "item", "img": "icons/containers/ammunition/powder-horn-worn.webp", "system": {"description": "KOD S. 199", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700341416201, "modifiedTime": 1700344214965, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "41Sp9PothZDTDKyj", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Liebestrank", "type": "item", "img": "icons/consumables/potions/flask-decorated-label-pink.webp", "system": {"description": "ARKS S. 175", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700341450514, "modifiedTime": 1700344214965, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "NKqfJaXUonAZMQOu", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Maganbrot", "type": "item", "img": "icons/consumables/food/bread-toast-tan.webp", "system": {"description": "ARK S. 176", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700341501776, "modifiedTime": 1700344214966, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "4RjCcsb7J5xvlj88", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Metallkette", "type": "item", "img": "icons/commodities/metal/chain-steel.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700341578395, "modifiedTime": 1700344214966, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "VYFiMG4psKUkfQyf", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Metallspiegel", "type": "item", "img": "icons/tools/smithing/plate-steel-grey.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700343353376, "modifiedTime": 1700344214971, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "a0lTGD1AfXVSYGs4", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Nagel, gro\u00df", "type": "item", "img": "icons/tools/fasteners/nail-steel.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700341678257, "modifiedTime": 1700344214966, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "IhRkdFazyU8qvHcm", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "N\u00e4hnadel", "type": "item", "img": "icons/commodities/cloth/thread-and-needle.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700341712892, "modifiedTime": 1700344214966, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "vWfxylv3W96r4xoA", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Oberbekleidung, warm", "type": "item", "img": "icons/equipment/chest/vest-leather-tattered-white.webp", "system": {"description": "KOD S. 199", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700341752909, "modifiedTime": 1700344214966, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "LTXHIjwreWlDjFVe", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Papyrus", "type": "item", "img": "icons/sundries/documents/blueprint-recipe-alchemical.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700341784413, "modifiedTime": 1700344214967, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "9X4DHhXWfmR9vtOF", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Pergament", "type": "item", "img": "icons/sundries/documents/document-sealed-white-orange.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700341827425, "modifiedTime": 1700344214967, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "rF3rI93xpSwXp54m", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Pfeil", "type": "item", "img": "icons/weapons/ammunition/arrows-barbed-white.webp", "system": {"description": "KOD S. 199", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700341865983, "modifiedTime": 1700344214967, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "h7CHoQddkmRnXgcI", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Pfeilk\u00f6cher", "type": "item", "img": "icons/containers/ammunition/arrows-quiver-green-brown.webp", "system": {"description": "KOD S. 199", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700340709193, "modifiedTime": 1700344214964, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "9SfA9qaSUqpABpqK", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Pferdefutter", "type": "item", "img": "icons/consumables/grains/sack-rice-flour-brown.webp", "system": {"description": "KOD S. 200", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700341900229, "modifiedTime": 1700344214967, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "W3csaJLCiQ4t1o9P", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Reckentrunk", "type": "item", "img": "icons/consumables/potions/bottle-corked-red.webp", "system": {"description": "<p>ARK S. 176</p><p></p><p>[[1d6-1]]</p><p></p><p>[[PW:GiT]]</p><p>@UUID[Compendium.midgard5.zauberwirkungen.Item.6bq4dm9ak5YDp9KV]{Bärenwut}</p>", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700341932276, "modifiedTime": 1700344214967, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "TwzwDjvtddNJ5Ki4", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Reiseverpflegung", "type": "item", "img": "icons/containers/bags/sack-open-grain-tan.webp", "system": {"description": "KOD S. 200", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700342032837, "modifiedTime": 1700344214967, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "Xn9VsRATmiDXe0SO", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Reitkamel", "type": "item", "img": "icons/creatures/mammals/livestock-sheep-green.webp", "system": {"description": "KOD S. 202", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700342110683, "modifiedTime": 1700344214967, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "slFAJBzsdDYzDJ9X", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Reitpferd", "type": "item", "img": "icons/creatures/mammals/unicorn-horned-white.webp", "system": {"description": "KOD S. 202", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700342231300, "modifiedTime": 1700344214967, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "7GeCGeSn558MJLdH", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Robe", "type": "item", "img": "icons/equipment/back/cloak-collared-purple-gold.webp", "system": {"description": "KOD S. 199", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700342405172, "modifiedTime": 1700344214968, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "w7gUXCx0ECYnPW2r", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Rock", "type": "item", "img": "icons/equipment/leg/tasset-cloth-white.webp", "system": {"description": "KOD S. 199", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700342441749, "modifiedTime": 1700344214968, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "eY96dy93lAsixVYT", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Salbe der Eisenhaut", "type": "item", "img": "icons/tools/laboratory/bowl-liquid-black.webp", "system": {"description": "<p>ARK S. 176</p><p></p><p>@UUID[Compendium.midgard5.zauberwirkungen.Item.RiUYfceWEkRkKm0h]{Eisenhaut}</p>", "equippable": false, "equipped": true, "value": 0, "magic": true, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700342463963, "modifiedTime": 1700344214968, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "NszEKahcPjXDDv9c", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Salbe der Krakenh\u00e4nde", "type": "item", "img": "icons/consumables/food/soup-broth-bowl-tentacle.webp", "system": {"description": "<p>ARK S. 176</p><p></p><p>@UUID[Compendium.midgard5.zauberwirkungen.Item.TRgAdyTpNX6xFM7g]{Krakenhände}</p>", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700342544615, "modifiedTime": 1700344214968, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "YY6CbftXVqZGKCFs", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Sandalen", "type": "item", "img": "icons/equipment/feet/boots-leather-red-gold.webp", "system": {"description": "KOD S. 199", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700342568875, "modifiedTime": 1700344214968, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "5Xy4Uiqwi0RWioNc", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Sanduhr", "type": "item", "img": "icons/sundries/misc/hourglass-wood.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700342601837, "modifiedTime": 1700344214969, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "QRwSLdtLQ7NQSeHi", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Sattel", "type": "item", "img": "icons/commodities/leather/leather-buckle-embossed-gold.webp", "system": {"description": "KOD S. 202", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700342635099, "modifiedTime": 1700344214969, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "RE7L3DhE09jqg8k2", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
+1
View File
@@ -0,0 +1 @@
{"name": "Schaufel", "type": "item", "img": "icons/tools/hand/shovel-spade-steel-grey.webp", "system": {"description": "KOD S. 201", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700342672980, "modifiedTime": 1700344214969, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "iXTenD0XzdqBidDu", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}
@@ -0,0 +1 @@
{"name": "Schlachtross", "type": "item", "img": "icons/commodities/biological/head-zebra.webp", "system": {"description": "KOD S. 202", "equippable": false, "equipped": true, "value": 0, "magic": false, "rolls": {"formulas": {}, "output": ""}, "mods": {}, "calc": {}}, "effects": [], "flags": {}, "_stats": {"systemId": "midgard5", "systemVersion": "1.2.1", "coreVersion": "10.312", "createdTime": 1700342704144, "modifiedTime": 1700344214969, "lastModifiedBy": "cb3PEvEU0kHkMdjb"}, "_id": "ECyfNTtzigeqHcNL", "folder": null, "sort": 0, "ownership": {"default": 0, "cb3PEvEU0kHkMdjb": 3}}

Some files were not shown because too many files have changed in this diff Show More