/** * Test data for battle engine testing * Contains example Piclets and moves following the design document */ import { PicletDefinition, Move, BaseStats, SpecialAbility, AttackType, PicletType } from './types'; // Example base stats for different tiers export const LOW_TIER_STATS: BaseStats = { hp: 80, attack: 65, defense: 60, speed: 55 }; export const MEDIUM_TIER_STATS: BaseStats = { hp: 100, attack: 80, defense: 75, speed: 70 }; export const HIGH_TIER_STATS: BaseStats = { hp: 120, attack: 100, defense: 90, speed: 85 }; // Example moves following the design document export const BASIC_TACKLE: Move = { name: "Tackle", type: AttackType.NORMAL, power: 40, accuracy: 100, pp: 35, priority: 0, flags: ['contact'], effects: [{ type: 'damage', target: 'opponent', amount: 'normal' }] }; export const FLAME_BURST: Move = { name: "Flame Burst", type: AttackType.SPACE, power: 70, accuracy: 100, pp: 15, priority: 0, flags: ['explosive'], effects: [{ type: 'damage', target: 'opponent', amount: 'normal' }] }; export const HEALING_LIGHT: Move = { name: "Healing Light", type: AttackType.SPACE, power: 0, accuracy: 100, pp: 10, priority: 0, flags: [], effects: [{ type: 'heal', target: 'self', amount: 'medium' }] }; export const POWER_UP: Move = { name: "Power Up", type: AttackType.NORMAL, power: 0, accuracy: 100, pp: 20, priority: 0, flags: [], effects: [{ type: 'modifyStats', target: 'self', stats: { attack: 'increase' } }] }; export const BERSERKER_END: Move = { name: "Berserker's End", type: AttackType.BEAST, power: 80, accuracy: 90, pp: 5, priority: 0, flags: ['contact', 'reckless', 'sacrifice'], effects: [ { type: 'damage', target: 'opponent', amount: 'normal' }, { type: 'damage', target: 'opponent', amount: 'strong', condition: 'ifLowHp' }, { type: 'modifyStats', target: 'self', stats: { defense: 'greatly_decrease' }, condition: 'ifLowHp' } ] }; export const TOXIC_STING: Move = { name: "Toxic Sting", type: AttackType.BUG, power: 30, accuracy: 100, pp: 20, priority: 0, flags: ['contact'], effects: [ { type: 'damage', target: 'opponent', amount: 'weak' }, { type: 'applyStatus', target: 'opponent', status: 'poison' } ] }; // Example special abilities export const REGENERATOR: SpecialAbility = { name: "Regenerator", description: "Restores HP when switching out", triggers: [{ event: "onSwitchOut", effects: [{ type: 'heal', target: 'self', amount: 'small' }] }] }; export const FLAME_BODY: SpecialAbility = { name: "Flame Body", description: "Contact moves may burn the attacker", triggers: [{ event: "onContactDamage", condition: 'ifLucky50', effects: [{ type: 'applyStatus', target: 'attacker', status: 'burn' }] }] }; export const SPEED_BOOST: SpecialAbility = { name: "Speed Boost", description: "Speed increases each turn", triggers: [{ event: "onTurnEnd", effects: [{ type: 'modifyStats', target: 'self', stats: { speed: 'increase' } }] }] }; // Example Piclet definitions export const STELLAR_WOLF: PicletDefinition = { name: "Stellar Wolf", description: "A cosmic predator that hunts among the stars", tier: 'medium', primaryType: PicletType.SPACE, secondaryType: PicletType.BEAST, baseStats: MEDIUM_TIER_STATS, nature: "Brave", specialAbility: FLAME_BODY, movepool: [BASIC_TACKLE, FLAME_BURST, HEALING_LIGHT, POWER_UP] }; export const TOXIC_CRAWLER: PicletDefinition = { name: "Toxic Crawler", description: "A venomous arthropod with deadly precision", tier: 'low', primaryType: PicletType.BUG, baseStats: LOW_TIER_STATS, nature: "Careful", specialAbility: SPEED_BOOST, movepool: [BASIC_TACKLE, TOXIC_STING, POWER_UP] }; export const BERSERKER_BEAST: PicletDefinition = { name: "Berserker Beast", description: "A wild creature that fights with reckless abandon", tier: 'high', primaryType: PicletType.BEAST, baseStats: HIGH_TIER_STATS, nature: "Reckless", specialAbility: REGENERATOR, movepool: [BASIC_TACKLE, BERSERKER_END, HEALING_LIGHT, POWER_UP] }; export const AQUA_GUARDIAN: PicletDefinition = { name: "Aqua Guardian", description: "A protective water spirit", tier: 'medium', primaryType: PicletType.AQUATIC, baseStats: MEDIUM_TIER_STATS, nature: "Calm", specialAbility: REGENERATOR, movepool: [BASIC_TACKLE, HEALING_LIGHT, POWER_UP] };