mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-18 22:35:51 +00:00
- 安装 @pkmn/protocol @pkmn/client @pkmn/view - 新建 battle/types.ts: BattleState, BattlePokemon, BattleEvent, PlayerAction 等 - 新建 battle/adapter.ts: Creature→PokemonSet 转换, 野生对手生成 - 新建 battle/engine.ts: createBattle() + executeTurn() 薄封装 @pkmn/sim - 新建 battle/handler.ts: @pkmn/protocol Handler→BattleEvent 转换 - 新建 battle/ai.ts: 随机合法招式 AI 决策 - 新建 battle/settlement.ts: 战后结算 XP/EV/升级/进化/招式学习 - 新建 battle/index.ts: 统一导出 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
74 lines
2.9 KiB
TypeScript
74 lines
2.9 KiB
TypeScript
// Types
|
|
export type {
|
|
StatName,
|
|
NatureName,
|
|
NatureStat,
|
|
NatureEffect,
|
|
MoveSlot,
|
|
ItemId,
|
|
PCBox,
|
|
BagEntry,
|
|
Bag,
|
|
SpeciesId,
|
|
Gender,
|
|
EvolutionTrigger,
|
|
EvolutionCondition,
|
|
GrowthRate,
|
|
SpeciesData,
|
|
Creature,
|
|
Egg,
|
|
DexEntry,
|
|
BuddyData,
|
|
StatsResult,
|
|
EvolutionResult,
|
|
SpriteCache,
|
|
AnimMode,
|
|
} from './types'
|
|
export { STAT_NAMES, STAT_LABELS, ALL_SPECIES_IDS, EMPTY_MOVE } from './types'
|
|
|
|
// Data
|
|
export { SPECIES_DATA, DEX_TO_SPECIES, getSpeciesData, getAllSpeciesData, ensureSpeciesData, refreshAllSpeciesData } from './data/species'
|
|
export { DEFAULT_EV_MAPPING, getEVForTool, MAX_EV_PER_STAT, MAX_EV_TOTAL } from './data/evMapping'
|
|
export { xpForLevel, levelFromXp, xpToNextLevel } from './data/xpTable'
|
|
export { SPECIES_NAMES, SPECIES_I18N, SPECIES_PERSONALITY } from './data/names'
|
|
export { getAllNatureNames, randomNature, getNatureEffect } from './data/nature'
|
|
export { getNextEvolution, EVOLUTION_CHAINS } from './data/evolution'
|
|
export { getDefaultMoveset, getDefaultAbility, getNewLearnableMoves } from './data/learnsets'
|
|
export { FROM_DEX_STAT, TO_DEX_STAT } from './data/pkmn'
|
|
|
|
// Battle
|
|
export type { BattleState, BattlePokemon, BattleEvent, BattleResult, PlayerAction, MoveOption, StatusCondition } from './battle/types'
|
|
export { createBattle, executeTurn, type BattleInit } from './battle/engine'
|
|
export { settleBattle, applyMoveLearn, applyEvolution } from './battle/settlement'
|
|
export { chooseAIMove } from './battle/ai'
|
|
|
|
// Core
|
|
export { generateCreature, calculateStats, getCreatureName, recalculateLevel, getActiveCreature, getTotalEV } from './core/creature'
|
|
export { determineGender, getGenderSymbol } from './core/gender'
|
|
export { awardXP, getXpProgress } from './core/experience'
|
|
export { awardEV, awardTurnEV, getEVSummary, resetEVCooldowns } from './core/effort'
|
|
export { checkEvolution, evolve, canEvolveFurther } from './core/evolution'
|
|
export { checkEggEligibility, generateEgg, advanceEggSteps, isEggReadyToHatch, hatchEgg, EGG_REQUIRED_DAYS } from './core/egg'
|
|
export {
|
|
loadBuddyData, saveBuddyData, getDefaultBuddyData, migrateFromLegacy,
|
|
updateDailyStats, incrementTurns,
|
|
addToParty, removeFromParty, swapPartySlots, setActivePartyMember,
|
|
depositToBox, withdrawFromBox, moveInBox, renameBox,
|
|
findCreatureLocation, releaseCreature, getTotalCreatureCount, getAllCreatureIds,
|
|
addItemToBag, removeItemFromBag, getItemCount,
|
|
} from './core/storage'
|
|
export { loadSprite, fetchAndCacheSprite, getSpeciesDisplay } from './core/spriteCache'
|
|
|
|
// Sprites
|
|
export { renderAnimatedSprite, getIdleAnimMode, getPetOverlay } from './sprites/renderer'
|
|
export { getFallbackSprite } from './sprites/fallback'
|
|
|
|
// UI Components
|
|
export { CompanionCard } from './ui/CompanionCard'
|
|
export { PokedexView } from './ui/PokedexView'
|
|
export { EggView } from './ui/EggView'
|
|
export { EvolutionAnim } from './ui/EvolutionAnim'
|
|
export { StatBar } from './ui/StatBar'
|
|
export { SpeciesDetail } from './ui/SpeciesDetail'
|
|
export { SpriteAnimator } from './ui/SpriteAnimator'
|