import type { Buff } from '../buffs/types.ts'; import type { CombatStyleHrid, DamageTypeHrid } from '../combat/types.ts'; import type { CharacterCombatTrigger } from '../player/types.ts'; import type { ABILITY_EFFECT_TYPE_HRIDS, ABILITY_HRIDS } from './constants.ts'; export type AbilityHrid = (typeof ABILITY_HRIDS)[number]; export type AbilityEffectHrid = (typeof ABILITY_EFFECT_TYPE_HRIDS)[number]; export interface AbilityEffect { targetType: 'enemy' | 'self'; effectType: AbilityEffectHrid; combatStyleHrid: CombatStyleHrid | ''; damageType: DamageTypeHrid | ''; baseDamageFlat: number; baseDamageFlatLevelBonus: number; baseDamageRatio: number; baseDamageRatioLevelBonus: number; bonusAccuracyRatio: number; bonusAccuracyRatioLevelBonus: number; damageOverTimeRatio: number; damageOverTimeDuration: number; armorDamageRatio: number; armorDamageRatioLevelBonus: number; hpDrainRatio: number; pierceChance: number; blindChance: number; blindDuration: number; silenceChance: number; silenceDuration: number; stunChance: number; stunDuration: number; spendHpRatio: number; buffs: Buff[] | null; } export interface Ability { hrid: AbilityHrid; name: string; description: string; isSpecialAbility: boolean; manaCost: number; cooldownDuration: number; castDuration: number; abilityEffects: AbilityEffect[]; defaultCombatTriggers: CharacterCombatTrigger[]; sortIndex: number; } //# sourceMappingURL=types.d.ts.map