From 09f3e3d6ed08063395677b30e94cef02d70d188c Mon Sep 17 00:00:00 2001 From: Matthias Puchstein Date: Sat, 21 Jun 2025 18:42:54 +0200 Subject: [PATCH] refactoring the dsa types, still a lot of information missing --- src/types/abilities.ts | 0 src/types/baseAbilities.ts | 8 ++++++++ src/types/baseEquiment.ts | 11 +++++++++++ src/types/character.ts | 4 +++- src/types/equiment.ts | 37 +++++++++++++++++++++++++++++++++++++ 5 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 src/types/abilities.ts create mode 100644 src/types/baseAbilities.ts create mode 100644 src/types/baseEquiment.ts create mode 100644 src/types/equiment.ts diff --git a/src/types/abilities.ts b/src/types/abilities.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/types/baseAbilities.ts b/src/types/baseAbilities.ts new file mode 100644 index 0000000..8658976 --- /dev/null +++ b/src/types/baseAbilities.ts @@ -0,0 +1,8 @@ +export interface BaseAbilities { + str: number; + dex: number; + con: number; + int: number; + wis: number; + cha: number; +} \ No newline at end of file diff --git a/src/types/baseEquiment.ts b/src/types/baseEquiment.ts new file mode 100644 index 0000000..509dc9b --- /dev/null +++ b/src/types/baseEquiment.ts @@ -0,0 +1,11 @@ +export interface DSABaseEquiment { + name: string; + weight: number; +} + +export interface DSABaseWeapon { + equip: DSABaseEquiment; + technique: string; + tp: number; + range: number; +} diff --git a/src/types/character.ts b/src/types/character.ts index fe5f16b..f4c999b 100644 --- a/src/types/character.ts +++ b/src/types/character.ts @@ -1,4 +1,5 @@ import type {DSAAttributes, DSAHealth, DSAPersonalData, DSAResistances} from "./baseCharacter.ts"; +import type {DSAArmor, DSAMeleeWeapon, DSARangedWeapon} from "./equiment.ts"; export interface DSASkill { name: string; @@ -12,7 +13,8 @@ export interface DSACombatValues { dodge: number; unarmedAttack: number; unarmedParry: number; - weapons: Record; + meleeWeapons: Record; + rangedWeapons: Record armor: Record; combatAbilities: Record; } diff --git a/src/types/equiment.ts b/src/types/equiment.ts new file mode 100644 index 0000000..71ef409 --- /dev/null +++ b/src/types/equiment.ts @@ -0,0 +1,37 @@ +import type {DSABaseEquiment, DSABaseWeapon} from "./baseEquiment.ts"; +import type {DSACalculatedValue} from "./baseDSA.ts"; + + +export interface DSAAmmonution{ + equip: DSABaseEquiment; + perUse: number; + count: number; +} + +export interface DSAMeleeWeapon{ + weapon: DSABaseWeapon; + atpamod: number; + damagebonus: number; + at: number; + pa: number; +} + +export interface DSARangedWeapon{ + weapon: DSABaseWeapon; + reloaddur: number; + ammo: DSAAmmonution; + rangedCombat: number; +} + +export interface DSAArmor{ + equip: DSABaseEquiment; + protection: number; + encumbrance: number; + penalties: number; +} + +export interface DSAShield{ + equip: DSABaseEquiment; + structure: DSACalculatedValue; + atpamod: number; +} \ No newline at end of file