143 lines
3.0 KiB
CoffeeScript
143 lines
3.0 KiB
CoffeeScript
{_} = require 'underscore'
|
|
|
|
factories = {}
|
|
|
|
@Factory = Factory = (species, attributes={}) ->
|
|
if species not of factories
|
|
Factory.register(species)
|
|
cloned = _.clone(factories[species])
|
|
_.extend(cloned, attributes)
|
|
|
|
Factory.register = (species, attributes={}) ->
|
|
cloned = _.clone(attributes)
|
|
_.defaults(cloned, species: species)
|
|
factories[species] = cloned
|
|
|
|
Factory.register 'Hitmontop',
|
|
ability: 'Technician'
|
|
moves: ['Rapid Spin', 'Mach Punch', 'Bullet Punch', 'Close Combat' ]
|
|
evs: {attack: 252}
|
|
|
|
Factory.register 'Hitmonchan',
|
|
ability: 'Iron Fist'
|
|
moves: ['Ice Punch', 'Mach Punch', 'Bullet Punch', 'ThunderPunch' ]
|
|
evs: {attack: 252}
|
|
|
|
Factory.register 'Hitmonlee',
|
|
moves: ['Hi Jump Kick']
|
|
|
|
Factory.register 'Mew',
|
|
ability: 'Synchronize'
|
|
moves: ['Psychic', 'AncientPower']
|
|
|
|
Factory.register 'Corphish',
|
|
moves: ['Trump Card', "Crunch", "Round"]
|
|
|
|
Factory.register 'Porygon-Z',
|
|
ability: 'Adaptability'
|
|
moves: ['Tri Attack', 'Flamethrower']
|
|
evs: {specialAttack: 252}
|
|
|
|
Factory.register 'Heracross',
|
|
ability: 'Guts'
|
|
moves: ['Megahorn']
|
|
evs: {attack: 252}
|
|
|
|
Factory.register 'Magikarp',
|
|
moves: ['Splash', 'Tackle']
|
|
|
|
Factory.register 'Gyarados',
|
|
moves: ['Dragon Dance', 'Ice Fang']
|
|
|
|
Factory.register 'Conkeldurr',
|
|
moves: ['Drain Punch']
|
|
|
|
Factory.register 'Gliscor',
|
|
moves: ['Acrobatics']
|
|
|
|
Factory.register 'Blaziken',
|
|
moves: ['Brave Bird', 'Aerial Ace']
|
|
|
|
Factory.register 'Celebi',
|
|
moves: ['Leaf Storm', 'Grass Knot']
|
|
|
|
Factory.register 'Weezing',
|
|
moves: ['Haze', 'Psywave']
|
|
|
|
Factory.register 'Blissey',
|
|
moves: ['Seismic Toss', 'Aromatherapy', 'Thunder Wave', 'Softboiled']
|
|
|
|
Factory.register 'Skarmory',
|
|
moves: ['Spikes', 'Whirlwind']
|
|
|
|
Factory.register 'Zangoose',
|
|
moves: ['Facade', 'Flail']
|
|
|
|
Factory.register 'Forretress',
|
|
moves: ['Gyro Ball', 'Rapid Spin']
|
|
|
|
Factory.register 'Electrode',
|
|
moves: ['Gyro Ball', 'Explosion']
|
|
|
|
Factory.register 'Camerupt',
|
|
moves: ['Eruption', 'Yawn', 'Earthquake']
|
|
|
|
Factory.register 'Empoleon',
|
|
moves: ['Brine']
|
|
|
|
Factory.register 'Lapras',
|
|
moves: ['Sheer Cold']
|
|
|
|
Factory.register 'Audino',
|
|
moves: ['Growl']
|
|
|
|
Factory.register 'Gengar',
|
|
moves: ['Shadow Ball', 'Pain Split', 'Explosion', 'Clear Smog']
|
|
|
|
Factory.register 'Drapion',
|
|
moves: ['Knock Off', 'Swords Dance']
|
|
|
|
Factory.register 'Alakazam',
|
|
moves: ['Trick']
|
|
|
|
Factory.register 'Gastrodon',
|
|
moves: ['Recover']
|
|
ability: 'Sticky Hold'
|
|
|
|
Factory.register 'Latias',
|
|
moves: ['Memento']
|
|
|
|
Factory.register 'Poliwrath',
|
|
moves: ['Belly Drum']
|
|
|
|
Factory.register 'Shuckle',
|
|
moves: ['Acupressure']
|
|
|
|
Factory.register 'Dratini',
|
|
moves: ['Dragon Rage']
|
|
|
|
Factory.register 'Politoed',
|
|
moves: ['Perish Song', 'Endeavor']
|
|
ability: 'Drizzle'
|
|
|
|
Factory.register 'Dugtrio',
|
|
moves: ['Magnitude', 'Dig']
|
|
|
|
Factory.register 'Regirock',
|
|
moves: ['Rock Slide']
|
|
|
|
Factory.register 'Shaymin',
|
|
moves: ['Seed Flare']
|
|
|
|
Factory.register 'Ditto',
|
|
moves: ['Transform']
|
|
|
|
Factory.register 'Metagross',
|
|
moves: ['Meteor Mash']
|
|
|
|
Factory.register 'Gallade',
|
|
moves: ['Close Combat']
|
|
|
|
Factory.register 'Cloyster',
|
|
moves: ['Shell Smash']
|