| |
| |
| |
| |
|
|
| import { |
| PicletDefinition, |
| Move, |
| BaseStats, |
| SpecialAbility, |
| AttackType, |
| PicletType |
| } from './types'; |
|
|
| |
| 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 |
| }; |
|
|
| |
| 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' |
| } |
| ] |
| }; |
|
|
| |
| 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' } |
| }] |
| }] |
| }; |
|
|
| |
| 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] |
| }; |