import type { AbilityHrid } from '../abilities/types.ts'; import type { SkillHrid } from '../skills/types.ts'; import type { COMBAT_STYLE_HRIDS, COMBAT_TRIGGER_COMPARATOR_HRIDS, COMBAT_TRIGGER_CONDITION_HRIDS, COMBAT_TRIGGER_DEPENDENCY_HRIDS, DAMAGE_TYPE_HRIDS } from './constants.ts'; /** * Damage Type */ export type DamageTypeHrid = (typeof DAMAGE_TYPE_HRIDS)[number]; export interface DamageType { hrid: DamageTypeHrid; name: string; sortIndex: number; } /** * Combat Style */ export type CombatStyleHrid = (typeof COMBAT_STYLE_HRIDS)[number]; export interface CombatStyle { hrid: CombatStyleHrid; name: string; skillExpMap: { '/skills/attack': boolean; '/skills/defense': boolean; '/skills/intelligence': boolean; '/skills/magic': boolean; '/skills/stamina': boolean; } | null; sortIndex: number; } export interface CombatStats { combatStyleHrids: CombatStyleHrid[]; damageType: DamageTypeHrid; attackInterval: number; autoAttackDamage: number; abilityDamage: number; castSpeed: number; magicAccuracy: number; magicDamage: number; taskDamage: number; waterAmplify: number; natureAmplify: number; healingAmplify: number; naturePenetration: number; maxHitpoints: number; maxManapoints: number; stabEvasion: number; slashEvasion: number; smashEvasion: number; rangedEvasion: number; magicEvasion: number; waterResistance: number; natureResistance: number; fireResistance: number; tenacity: number; hpRegenPer10: number; mpRegenPer10: number; drinkConcentration: number; primaryTraining: SkillHrid | ''; foodSlots: number; drinkSlots: number; bloom: number; criticalRate: number; stabAccuracy: number; slashAccuracy: number; smashAccuracy: number; rangedAccuracy: number; stabDamage: number; slashDamage: number; smashDamage: number; rangedDamage: number; defensiveDamage: number; armor: number; threat: number; combatRareFind: number; combatExperience: number; defenseExperience: number; weaken: number; } /** * Combat Details */ export interface CombatDetails { currentHitpoints: number; maxHitpoints: number; currentManapoints: number; maxManapoints: number; attackInterval: number; totalCastSpeed: number; stabAccuracyRating: number; slashAccuracyRating: number; smashAccuracyRating: number; rangedAccuracyRating: number; magicAccuracyRating: number; defensiveMaxDamage: number; stabMaxDamage: number; slashMaxDamage: number; smashMaxDamage: number; rangedMaxDamage: number; magicMaxDamage: number; stabEvasionRating: number; slashEvasionRating: number; smashEvasionRating: number; rangedEvasionRating: number; magicEvasionRating: number; totalArmor: number; totalWaterResistance: number; totalNatureResistance: number; totalFireResistance: number; totalThreat: number; combatLevel: number; staminaLevel: number; intelligenceLevel: number; attackLevel: number; meleeLevel: number; defenseLevel: number; rangedLevel: number; magicLevel: number; combatStats: CombatStats; preparingAbilityHrid: AbilityHrid; } /** * Combat Trigger Dependency */ export type CombatTriggerDependencyHrid = (typeof COMBAT_TRIGGER_DEPENDENCY_HRIDS)[number]; export interface CombatTriggerDependency { hrid: CombatTriggerDependencyHrid; name: string; isSingleTarget: boolean; isMultiTarget: boolean; sortIndex: number; } /** * Combat Trigger Condition */ export type CombatTriggerConditionHrid = (typeof COMBAT_TRIGGER_CONDITION_HRIDS)[number]; export interface CombatTriggerCondition { hrid: CombatTriggerConditionHrid; name: string; isSingleTarget: boolean; isMultiTarget: boolean; allowedComparatorHrids: CombatTriggerComparatorHrid[]; sortIndex: number; } /** * Combat Trigger Comparator */ export type CombatTriggerComparatorHrid = (typeof COMBAT_TRIGGER_COMPARATOR_HRIDS)[number]; export interface CombatTriggerComparator { hrid: CombatTriggerComparatorHrid; name: string; allowValue: boolean; sortIndex: number; } //# sourceMappingURL=types.d.ts.map