import type { AbilityHrid } from '../abilities/index.ts'; import type { ActionTypeHrid } from '../actions/index.ts'; import type { Buff } from '../buffs/index.ts'; import type { DropTable, ItemCost, LevelRequirement } from '../shared/types.ts'; import type { EQUIPMENT_TYPES_HRIDS, ITEM_CATEGORY_HRIDS, ITEM_HRIDS, ITEM_LOCATION_HRIDS, ITEM_LOCATION_TYPE_HRIDS } from './constants.ts'; export type EquipmentTypeHrid = (typeof EQUIPMENT_TYPES_HRIDS)[number]; export interface EquipmentType { hrid: EquipmentTypeHrid; name: string; itemLocationHrid: ItemLocationHrid; sortIndex: number; } export type ItemLocationHrid = (typeof ITEM_LOCATION_HRIDS)[number]; export type ItemLocationTypeHrid = (typeof ITEM_LOCATION_TYPE_HRIDS)[number]; export interface ItemLocation { hrid: ItemLocationHrid; name: string; type: ItemLocationTypeHrid; isTool: boolean; isMultiItem: boolean; conflictingOtherItemLocationHrids: ItemLocationHrid[]; } export type ItemCategoryHrid = (typeof ITEM_CATEGORY_HRIDS)[number]; export interface ItemCategory { hrid: ItemCategoryHrid; name: string; pluralName: string; sortIndex: number; } export type ItemHrid = (typeof ITEM_HRIDS)[number]; export interface ItemNoncombatStats { alchemyEfficiency?: number; alchemyExperience?: number; alchemyRareFind?: number; alchemySpeed?: number; brewingEfficiency?: number; brewingExperience?: number; brewingRareFind?: number; brewingSpeed?: number; cheesesmithingEfficiency?: number; cheesesmithingExperience?: number; cheesesmithingRareFind?: number; cheesesmithingSpeed?: number; cookingEfficiency?: number; cookingExperience?: number; cookingRareFind?: number; cookingSpeed?: number; craftingEfficiency?: number; craftingExperience?: number; craftingRareFind?: number; craftingSpeed?: number; drinkConcentration?: number; enhancingExperience?: number; enhancingRareFind?: number; enhancingSpeed?: number; enhancingSuccess?: number; foragingEfficiency?: number; foragingExperience?: number; foragingRareFind?: number; foragingSpeed?: number; gatheringQuantity?: number; milkingEfficiency?: number; milkingExperience?: number; milkingRareFind?: number; milkingSpeed?: number; skillingEfficiency?: number; skillingEssenceFind?: number; skillingExperience?: number; skillingRareFind?: number; skillingSpeed?: number; tailoringEfficiency?: number; tailoringExperience?: number; tailoringRareFind?: number; tailoringSpeed?: number; taskSpeed?: number; woodcuttingEfficiency?: number; woodcuttingExperience?: number; woodcuttingRareFind?: number; woodcuttingSpeed?: number; } export interface ItemCombatStats { abilityDamage?: number; abilityHaste?: number; armor?: number; armorPenetration?: number; attackExperience?: number; attackInterval?: number; attackSpeed?: number; autoAttackDamage?: number; blaze?: number; bloom?: number; castSpeed?: number; combatDropRate?: number; combatExperience?: number; combatRareFind?: number; combatStyleHrids?: string[]; criticalDamage?: number; criticalRate?: number; curse?: number; damageType?: string; defenseExperience?: number; defensiveDamage?: number; drinkConcentration?: number; drinkSlots?: number; fireAmplify?: number; firePenetration?: number; fireResistance?: number; focusTraining?: string; foodHaste?: number; foodSlots?: number; fury?: number; healingAmplify?: number; hpRegenPer10?: number; intelligenceExperience?: number; lifeSteal?: number; magicAccuracy?: number; magicDamage?: number; magicEvasion?: number; magicExperience?: number; manaLeech?: number; maxHitpoints?: number; maxManapoints?: number; mayhem?: number; meleeExperience?: number; mpRegenPer10?: number; natureAmplify?: number; naturePenetration?: number; natureResistance?: number; parry?: number; pierce?: number; primaryTraining?: string; rangedAccuracy?: number; rangedDamage?: number; rangedEvasion?: number; rangedExperience?: number; ripple?: number; slashAccuracy?: number; slashDamage?: number; slashEvasion?: number; smashAccuracy?: number; smashDamage?: number; smashEvasion?: number; stabAccuracy?: number; stabDamage?: number; stabEvasion?: number; staminaExperience?: number; taskDamage?: number; tenacity?: number; threat?: number; waterAmplify?: number; waterPenetration?: number; waterResistance?: number; weaken?: number; } export interface CombatEnhancementBonuses { abilityDamage?: number; abilityHaste?: number; armor?: number; armorPenetration?: number; attackExperience?: number; attackSpeed?: number; autoAttackDamage?: number; castSpeed?: number; combatDropRate?: number; combatExperience?: number; combatRareFind?: number; criticalDamage?: number; criticalRate?: number; defenseExperience?: number; defensiveDamage?: number; drinkConcentration?: number; fireAmplify?: number; firePenetration?: number; fireResistance?: number; foodHaste?: number; healingAmplify?: number; hpRegenPer10?: number; intelligenceExperience?: number; lifeSteal?: number; magicAccuracy?: number; magicDamage?: number; magicEvasion?: number; magicExperience?: number; manaLeech?: number; maxHitpoints?: number; maxManapoints?: number; meleeExperience?: number; mpRegenPer10?: number; natureAmplify?: number; naturePenetration?: number; natureResistance?: number; rangedAccuracy?: number; rangedDamage?: number; rangedEvasion?: number; rangedExperience?: number; slashAccuracy?: number; slashDamage?: number; slashEvasion?: number; smashAccuracy?: number; smashDamage?: number; smashEvasion?: number; stabAccuracy?: number; stabDamage?: number; stabEvasion?: number; staminaExperience?: number; taskDamage?: number; tenacity?: number; threat?: number; waterAmplify?: number; waterPenetration?: number; waterResistance?: number; } export interface NoncombatEnhancementBonuses { alchemyEfficiency?: number; alchemyExperience?: number; alchemyRareFind?: number; alchemySpeed?: number; brewingEfficiency?: number; brewingExperience?: number; brewingRareFind?: number; brewingSpeed?: number; cheesesmithingEfficiency?: number; cheesesmithingExperience?: number; cheesesmithingRareFind?: number; cheesesmithingSpeed?: number; cookingEfficiency?: number; cookingExperience?: number; cookingRareFind?: number; cookingSpeed?: number; craftingEfficiency?: number; craftingExperience?: number; craftingRareFind?: number; craftingSpeed?: number; drinkConcentration?: number; enhancingExperience?: number; enhancingRareFind?: number; enhancingSpeed?: number; enhancingSuccess?: number; foragingEfficiency?: number; foragingExperience?: number; foragingRareFind?: number; foragingSpeed?: number; gatheringQuantity?: number; milkingEfficiency?: number; milkingExperience?: number; milkingRareFind?: number; milkingSpeed?: number; skillingEfficiency?: number; skillingEssenceFind?: number; skillingExperience?: number; skillingRareFind?: number; skillingSpeed?: number; tailoringEfficiency?: number; tailoringExperience?: number; tailoringRareFind?: number; tailoringSpeed?: number; taskSpeed?: number; woodcuttingEfficiency?: number; woodcuttingExperience?: number; woodcuttingRareFind?: number; woodcuttingSpeed?: number; } export interface Item { hrid: ItemHrid; name: string; nameZh: string; description: string; descriptionZh: string; categoryHrid: ItemCategoryHrid; sellPrice: number; isTradable?: boolean; itemLevel?: number; sortIndex: number; alchemyDetail?: { bulkMultiplier: number; isCoinifiable: boolean; decomposeItems: ItemCost[] | null; transmuteSuccessRate: number; transmuteDropTable: DropTable[] | null; }; enhancementCosts?: ItemCost[]; protectionItemHrids?: ItemHrid[]; equipmentDetail?: { type: EquipmentTypeHrid; levelRequirements: LevelRequirement[]; combatStats?: ItemCombatStats; noncombatStats?: ItemNoncombatStats; combatEnhancementBonuses?: CombatEnhancementBonuses; noncombatEnhancementBonuses?: NoncombatEnhancementBonuses; }; consumableDetail?: { cooldownDuration: number; usableInActionTypeMap: Record; hitpointRestore: number; manapointRestore: number; recoveryDuration: number; buffs: Buff[]; defaultCombatTriggers: null; }; abilityBookDetail?: { abilityHrid: AbilityHrid; levelRequirements: LevelRequirement[]; experienceGain: number; }; isOpenable?: boolean; openKeyItemHrid?: ItemHrid; } //# sourceMappingURL=types.d.ts.map