import type { RangedWeaponId } from '$lib/rules/weapons-ranged'; /** Abilities (Sonderfertigkeiten, extensible); modifiers for melee and ranged combat */ export type AbilityDef = { id: string; name: string; at_mod: number; pa_mod: number; fk_mod: number; /** Nur für Talentspezialisierung: FK-Mod gilt nur für diese Fernkampfwaffe */ weapon_type?: RangedWeaponId; }; export const ABILITIES: AbilityDef[] = [ { id: 'evade_1', name: 'Ausweichen I', at_mod: 0, pa_mod: 0, fk_mod: 0 }, { id: 'evade_2', name: 'Ausweichen II', at_mod: 0, pa_mod: 0, fk_mod: 0 }, { id: 'evade_3', name: 'Ausweichen III', at_mod: 0, pa_mod: 0, fk_mod: 0 }, { id: 'sniper', name: 'Scharfschütze', at_mod: 0, pa_mod: 0, fk_mod: 0 }, { id: 'marksman', name: 'Meisterschütze', at_mod: 0, pa_mod: 0, fk_mod: 0 }, { id: 'fast_reload', name: 'Schnellladen', at_mod: 0, pa_mod: 0, fk_mod: 0 }, { id: 'specialize_elven_bow', name: 'Talentspezialisierung Bogen (Elfenbogen)', at_mod: 0, pa_mod: 0, fk_mod: 2, weapon_type: 'elven_bow' }, { id: 'specialize_composite_bow', name: 'Talentspezialisierung Bogen (Kompositbogen)', at_mod: 0, pa_mod: 0, fk_mod: 2, weapon_type: 'composite_bow' }, { id: 'specialize_warbow', name: 'Talentspezialisierung Bogen (Kriegsbogen)', at_mod: 0, pa_mod: 0, fk_mod: 2, weapon_type: 'warbow' }, { id: 'specialize_shortbow', name: 'Talentspezialisierung Bogen (Kurzbogen)', at_mod: 0, pa_mod: 0, fk_mod: 2, weapon_type: 'shortbow' }, { id: 'specialize_longbow', name: 'Talentspezialisierung Bogen (Langbogen)', at_mod: 0, pa_mod: 0, fk_mod: 2, weapon_type: 'longbow' }, { id: 'specialize_orc_bow', name: 'Talentspezialisierung Bogen (Ork. Reiterbogen)', at_mod: 0, pa_mod: 0, fk_mod: 2, weapon_type: 'orc_bow' } ]; export function getAbility(id: string): AbilityDef | undefined { return ABILITIES.find((s) => s.id === id); }