135 lines
3.0 KiB
TypeScript
135 lines
3.0 KiB
TypeScript
|
|
// Types
|
||
|
|
export type {
|
||
|
|
EffectData,
|
||
|
|
EffectLifecycle,
|
||
|
|
EnemyData,
|
||
|
|
CardType,
|
||
|
|
CardCostType,
|
||
|
|
CardTargetType,
|
||
|
|
EffectTarget,
|
||
|
|
CardData,
|
||
|
|
CardEffectTrigger,
|
||
|
|
CardEffectTarget,
|
||
|
|
EncounterType,
|
||
|
|
EncounterData,
|
||
|
|
IntentData,
|
||
|
|
ItemData,
|
||
|
|
} from './system/types';
|
||
|
|
|
||
|
|
// Deck
|
||
|
|
export type { GameCard, GameCardMeta, PlayerDeck, DeckRegions } from './system/deck';
|
||
|
|
export {
|
||
|
|
generateDeckFromInventory,
|
||
|
|
createCard,
|
||
|
|
createPlayerDeck,
|
||
|
|
generateCardId,
|
||
|
|
} from './system/deck';
|
||
|
|
|
||
|
|
// Grid Inventory
|
||
|
|
export type { CellCoordinate, CellKey, GridInventory, InventoryItem, MutationResult, PlacementResult } from './system/grid-inventory';
|
||
|
|
export {
|
||
|
|
createGridInventory,
|
||
|
|
flipItem,
|
||
|
|
getAdjacentItems,
|
||
|
|
getItemAtCell,
|
||
|
|
getOccupiedCellSet,
|
||
|
|
moveItem,
|
||
|
|
placeItem,
|
||
|
|
removeItem as removeItemFromGrid,
|
||
|
|
rotateItem,
|
||
|
|
validatePlacement,
|
||
|
|
} from './system/grid-inventory';
|
||
|
|
|
||
|
|
// Map
|
||
|
|
export { MapNodeType, MapLayerType } from './system/map';
|
||
|
|
export type { MapNode, MapLayer, PointCrawlMap, MapGenerationConfig } from './system/map';
|
||
|
|
export { generatePointCrawlMap, getNode, getChildren, getParents, findAllPaths } from './system/map';
|
||
|
|
|
||
|
|
// Progress / Run
|
||
|
|
export type {
|
||
|
|
EncounterResult,
|
||
|
|
EncounterState,
|
||
|
|
GameItem,
|
||
|
|
GameItemMeta,
|
||
|
|
PlayerState,
|
||
|
|
RunMutationResult,
|
||
|
|
RunState,
|
||
|
|
} from './system/progress';
|
||
|
|
export {
|
||
|
|
assignEncounterToNode,
|
||
|
|
assignEncountersFromPool,
|
||
|
|
assignAllEncounters,
|
||
|
|
buildCombatState,
|
||
|
|
createEnemyEntities,
|
||
|
|
getCurrentEncounterData,
|
||
|
|
isCombatEncounter,
|
||
|
|
startEncounter,
|
||
|
|
resolveCombatEncounter,
|
||
|
|
createRunState,
|
||
|
|
canMoveTo,
|
||
|
|
moveToNode,
|
||
|
|
resolveEncounter,
|
||
|
|
isEncounterResolved,
|
||
|
|
damagePlayer,
|
||
|
|
healPlayer,
|
||
|
|
setMaxHp,
|
||
|
|
addGold,
|
||
|
|
spendGold,
|
||
|
|
addItem,
|
||
|
|
removeItem,
|
||
|
|
getCurrentNode,
|
||
|
|
getReachableChildren,
|
||
|
|
getUnresolvedChildren,
|
||
|
|
isAtStartNode,
|
||
|
|
isAtEndNode,
|
||
|
|
} from './system/progress';
|
||
|
|
|
||
|
|
// Combat
|
||
|
|
export type {
|
||
|
|
EffectTable,
|
||
|
|
CombatEntity,
|
||
|
|
PlayerEntity,
|
||
|
|
EnemyEntity,
|
||
|
|
CombatPhase,
|
||
|
|
CombatResult,
|
||
|
|
LootEntry,
|
||
|
|
CombatState,
|
||
|
|
CombatGameContext,
|
||
|
|
} from './system/combat/types';
|
||
|
|
export {
|
||
|
|
addEffect,
|
||
|
|
addEntityEffect,
|
||
|
|
addItemEffect,
|
||
|
|
onEntityEffectUpkeep,
|
||
|
|
onEntityPostureDamage,
|
||
|
|
onPlayerItemEffectUpkeep,
|
||
|
|
onItemPlay,
|
||
|
|
onItemDiscard,
|
||
|
|
getAliveEnemies,
|
||
|
|
getEffectTargets,
|
||
|
|
getCombatEntity,
|
||
|
|
canPlayCard,
|
||
|
|
payCardCost,
|
||
|
|
} from './system/combat/effects';
|
||
|
|
export { prompts as combatPrompts, promptMainAction } from './system/combat/prompts';
|
||
|
|
export { createStartWith, type Triggers } from './system/combat/triggers';
|
||
|
|
|
||
|
|
// Utils
|
||
|
|
export { parseShapeString, type ParsedShape } from './system/utils/parse-shape';
|
||
|
|
export {
|
||
|
|
IDENTITY_TRANSFORM,
|
||
|
|
type Transform2D,
|
||
|
|
type Point2D,
|
||
|
|
getOccupiedCells,
|
||
|
|
transformPoint,
|
||
|
|
transformShape,
|
||
|
|
checkCollision,
|
||
|
|
checkBoardCollision,
|
||
|
|
checkBounds,
|
||
|
|
rotateTransform,
|
||
|
|
flipXTransform,
|
||
|
|
flipYTransform,
|
||
|
|
} from './system/utils/shape-collision';
|
||
|
|
|
||
|
|
// Data
|
||
|
|
export { default as data } from './data';
|