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