From 437575f0d0142b3042b49ec966a9dba47658801a Mon Sep 17 00:00:00 2001 From: Matthias Puchstein Date: Mon, 23 Jun 2025 00:29:32 +0200 Subject: [PATCH] small adjustments to skill --- src/classes/DSASkill.ts | 37 ++++++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/src/classes/DSASkill.ts b/src/classes/DSASkill.ts index 3720735..b7b877a 100644 --- a/src/classes/DSASkill.ts +++ b/src/classes/DSASkill.ts @@ -2,23 +2,46 @@ import type {DSAAttributes} from "../types/baseCharacter.ts"; import type {DSAImprovements} from "../types/baseDSA.ts"; import DSAImprovementsTable from "./DSAImprovementsTable.ts"; -export default class DSASkill { +export class DSABaseSkill { skillName: string - attributes: [keyof DSAAttributes, keyof DSAAttributes, keyof DSAAttributes] - encumbrance: "YES" | "NO" | "MAYBE" improvement: DSAImprovements skillLevel: number - comment: string - routineCheck(): number { - return this.skillLevel >= 13 ? this.skillLevel / 2 : 0 + constructor(skillName: string, improvement: DSAImprovements, skillLevel: number) { + this.skillName = skillName + this.improvement = improvement + this.skillLevel = skillLevel } - improvementCost() { + improvementCost(): number { return DSAImprovementsTable.getCost(this.improvement, this.skillLevel) } improve() { this.skillLevel++ } +} + +export class DSASkill extends DSABaseSkill { + skillName: string; + improvement: DSAImprovements; + attributes: [keyof DSAAttributes, keyof DSAAttributes, keyof DSAAttributes] + encumbrance: "YES" | "NO" | "MAYBE" + comment: string + + constructor(skillName: string, improvement: DSAImprovements, + attributes: [keyof DSAAttributes, keyof DSAAttributes, keyof DSAAttributes], + encumbrance: "YES" | "NO" | "MAYBE", skillLevel: number, comment: string) { + super(skillName, improvement, skillLevel) + this.skillName = skillName + this.improvement = improvement + this.attributes = attributes + this.encumbrance = encumbrance + this.skillLevel = skillLevel + this.comment = comment + } + + routineCheck(): number { + return this.skillLevel >= 13 ? this.skillLevel / 2 : 0 + } } \ No newline at end of file