diff --git a/frontend/src/lib/shadorwun/character.svelte b/frontend/src/lib/shadorwun/character.svelte
index 0045804..0a07871 100644
--- a/frontend/src/lib/shadorwun/character.svelte
+++ b/frontend/src/lib/shadorwun/character.svelte
@@ -16,8 +16,14 @@
characterData.Connections ??= [];
characterData.RangedWeapons ??= [];
characterData.MeleeWeapons ??= [];
+ characterData.Armor ??= [];
characterData.Cyberware ??= [];
characterData.Bioware ??= [];
+ characterData.PositiveQualities ??= [];
+ characterData.NegativeQualities ??= [];
+ characterData.PysicalCondition ??= Defaults.PysicalCondition
+ characterData.StunCondition ??= Defaults.StunCondition
+ characterData.Notes ??= ""
const characterInfoTypes = {
Metatype: "text",
@@ -60,10 +66,10 @@
let inventory = currentCharacter?.inventory || [];
-
Name: {currentCharacter.name}
Character Info
+
{#each Object.entries(characterData.Info) as [key, value], i}
@@ -71,11 +77,14 @@
id={"field-" + i}
type={characterInfoTypes[key]}
bind:value={characterData.Info[key]}
- min={characterInfoTypes[key] === "number" ? 0 : null} />
+ min={characterInfoTypes[key] === "number" ? 0 : null}
+ max={characterInfoTypes[key] === "number" ? 100 : null} />
{/each}
+
Attributes
+
{#each Object.entries(characterData.Attributes) as [key, value], i}
@@ -83,11 +92,12 @@
id={"field-" + i}
type="number"
bind:value={characterData["Attributes"][key]}
- min=0 />
+ min=0
+ max=100 />
{/each}
+
-
Skills
-
Contacts
-
Cyberware
-
-{#each characterData.Cyberware as Cyberware, i}
-
-
-
-
-
-
-
-{/each}
-
+
Armor
+
+
+
Cyberware
+
+
Bioware
-
-{#each characterData.Bioware as Bioware, i}
-
-
-
-
-
-
-
-{/each}
-
+
+
+
Qualities
+
+
Positive
+
+
+
+
Negative
+
+
+
+
Pysical Condition
+
+
+
Stun Condition
+
+
+
Notes
+
+
\ No newline at end of file
diff --git a/frontend/src/lib/shadorwun/defaults.svelte b/frontend/src/lib/shadorwun/defaults.svelte
index 5f9aae5..38c98c1 100644
--- a/frontend/src/lib/shadorwun/defaults.svelte
+++ b/frontend/src/lib/shadorwun/defaults.svelte
@@ -65,6 +65,22 @@ const Implant = {
Notes: "",
}
+const Qualitiy = {
+ Qualitiy : ""
+}
+
+const PysicalCondition = Array.from({ length: 6 }, () =>
+ Array.from({ length: 3 }, () => false))
+
+const StunCondition = Array.from({ length: 4 }, () =>
+ Array.from({ length: 3 }, () => false))
+
+const Armor = {
+ Armor: "",
+ Ballistic: 0,
+ Impact: 0
+}
+
export const Defaults = {
Info: Info,
Attributes: Attributes,
@@ -74,6 +90,11 @@ export const Defaults = {
MeleeWeapons : MeleeWeapon,
Cyberware : Implant,
Bioware : Implant,
+ PositiveQualities : Qualitiy,
+ NegativeQualities : Qualitiy,
+ PysicalCondition : PysicalCondition,
+ StunCondition : StunCondition,
+ Armor : Armor,
}
diff --git a/src/shadowrun/ShadowrunDb.hpp b/src/shadowrun/ShadowrunDb.hpp
index 7f3406c..d99576e 100644
--- a/src/shadowrun/ShadowrunDb.hpp
+++ b/src/shadowrun/ShadowrunDb.hpp
@@ -21,6 +21,8 @@ namespace shadowrun {
MeleeWeapons = 6,
Cyberware = 7,
Bioware = 8,
+ PositiveQualities = 9,
+ NegativeQualities = 10,
};
struct ShadowrunCharacter {