summaryrefslogtreecommitdiff
path: root/battle
diff options
context:
space:
mode:
authorSanky <gsanky@gmail.com>2013-02-18 09:44:03 +0100
committerSanky <gsanky@gmail.com>2013-02-18 09:44:03 +0100
commit5af3f92d9080cb874b6c46aa5b52c2a6cdab24f0 (patch)
tree8015ecccde657f918e55d6194ef5d1eeec1fea4d /battle
parentc616889fcf0361746a9f1c13fab6f463cce43687 (diff)
parentf860c98d26d8d3babe1ec123a72ee9d5f3ddd145 (diff)
Merge https://github.com/kanzure/pokecrystal
Diffstat (limited to 'battle')
-rw-r--r--battle/move_names.asm252
-rw-r--r--battle/moves/moves.asm257
-rw-r--r--battle/type_matchup.asm128
3 files changed, 637 insertions, 0 deletions
diff --git a/battle/move_names.asm b/battle/move_names.asm
new file mode 100644
index 000000000..a0f03627c
--- /dev/null
+++ b/battle/move_names.asm
@@ -0,0 +1,252 @@
+ db "POUND@"
+ db "KARATE CHOP@"
+ db "DOUBLESLAP@"
+ db "COMET PUNCH@"
+ db "MEGA PUNCH@"
+ db "PAY DAY@"
+ db "FIRE PUNCH@"
+ db "ICE PUNCH@"
+ db "THUNDERPUNCH@"
+ db "SCRATCH@"
+ db "VICEGRIP@"
+ db "GUILLOTINE@"
+ db "RAZOR WIND@"
+ db "SWORDS DANCE@"
+ db "CUT@"
+ db "GUST@"
+ db "WING ATTACK@"
+ db "WHIRLWIND@"
+ db "FLY@"
+ db "BIND@"
+ db "SLAM@"
+ db "VINE WHIP@"
+ db "STOMP@"
+ db "DOUBLE KICK@"
+ db "MEGA KICK@"
+ db "JUMP KICK@"
+ db "ROLLING KICK@"
+ db "SAND-ATTACK@"
+ db "HEADBUTT@"
+ db "HORN ATTACK@"
+ db "FURY ATTACK@"
+ db "HORN DRILL@"
+ db "TACKLE@"
+ db "BODY SLAM@"
+ db "WRAP@"
+ db "TAKE DOWN@"
+ db "THRASH@"
+ db "DOUBLE-EDGE@"
+ db "TAIL WHIP@"
+ db "POISON STING@"
+ db "TWINEEDLE@"
+ db "PIN MISSILE@"
+ db "LEER@"
+ db "BITE@"
+ db "GROWL@"
+ db "ROAR@"
+ db "SING@"
+ db "SUPERSONIC@"
+ db "SONICBOOM@"
+ db "DISABLE@"
+ db "ACID@"
+ db "EMBER@"
+ db "FLAMETHROWER@"
+ db "MIST@"
+ db "WATER GUN@"
+ db "HYDRO PUMP@"
+ db "SURF@"
+ db "ICE BEAM@"
+ db "BLIZZARD@"
+ db "PSYBEAM@"
+ db "BUBBLEBEAM@"
+ db "AURORA BEAM@"
+ db "HYPER BEAM@"
+ db "PECK@"
+ db "DRILL PECK@"
+ db "SUBMISSION@"
+ db "LOW KICK@"
+ db "COUNTER@"
+ db "SEISMIC TOSS@"
+ db "STRENGTH@"
+ db "ABSORB@"
+ db "MEGA DRAIN@"
+ db "LEECH SEED@"
+ db "GROWTH@"
+ db "RAZOR LEAF@"
+ db "SOLARBEAM@"
+ db "POISONPOWDER@"
+ db "STUN SPORE@"
+ db "SLEEP POWDER@"
+ db "PETAL DANCE@"
+ db "STRING SHOT@"
+ db "DRAGON RAGE@"
+ db "FIRE SPIN@"
+ db "THUNDERSHOCK@"
+ db "THUNDERBOLT@"
+ db "THUNDER WAVE@"
+ db "THUNDER@"
+ db "ROCK THROW@"
+ db "EARTHQUAKE@"
+ db "FISSURE@"
+ db "DIG@"
+ db "TOXIC@"
+ db "CONFUSION@"
+ db "PSYCHIC@"
+ db "HYPNOSIS@"
+ db "MEDITATE@"
+ db "AGILITY@"
+ db "QUICK ATTACK@"
+ db "RAGE@"
+ db "TELEPORT@"
+ db "NIGHT SHADE@"
+ db "MIMIC@"
+ db "SCREECH@"
+ db "DOUBLE TEAM@"
+ db "RECOVER@"
+ db "HARDEN@"
+ db "MINIMIZE@"
+ db "SMOKESCREEN@"
+ db "CONFUSE RAY@"
+ db "WITHDRAW@"
+ db "DEFENSE CURL@"
+ db "BARRIER@"
+ db "LIGHT SCREEN@"
+ db "HAZE@"
+ db "REFLECT@"
+ db "FOCUS ENERGY@"
+ db "BIDE@"
+ db "METRONOME@"
+ db "MIRROR MOVE@"
+ db "SELFDESTRUCT@"
+ db "EGG BOMB@"
+ db "LICK@"
+ db "SMOG@"
+ db "SLUDGE@"
+ db "BONE CLUB@"
+ db "FIRE BLAST@"
+ db "WATERFALL@"
+ db "CLAMP@"
+ db "SWIFT@"
+ db "SKULL BASH@"
+ db "SPIKE CANNON@"
+ db "CONSTRICT@"
+ db "AMNESIA@"
+ db "KINESIS@"
+ db "SOFTBOILED@"
+ db "HI JUMP KICK@"
+ db "GLARE@"
+ db "DREAM EATER@"
+ db "POISON GAS@"
+ db "BARRAGE@"
+ db "LEECH LIFE@"
+ db "LOVELY KISS@"
+ db "SKY ATTACK@"
+ db "TRANSFORM@"
+ db "BUBBLE@"
+ db "DIZZY PUNCH@"
+ db "SPORE@"
+ db "FLASH@"
+ db "PSYWAVE@"
+ db "SPLASH@"
+ db "ACID ARMOR@"
+ db "CRABHAMMER@"
+ db "EXPLOSION@"
+ db "FURY SWIPES@"
+ db "BONEMERANG@"
+ db "REST@"
+ db "ROCK SLIDE@"
+ db "HYPER FANG@"
+ db "SHARPEN@"
+ db "CONVERSION@"
+ db "TRI ATTACK@"
+ db "SUPER FANG@"
+ db "SLASH@"
+ db "SUBSTITUTE@"
+ db "STRUGGLE@"
+ db "SKETCH@"
+ db "TRIPLE KICK@"
+ db "THIEF@"
+ db "SPIDER WEB@"
+ db "MIND READER@"
+ db "NIGHTMARE@"
+ db "FLAME WHEEL@"
+ db "SNORE@"
+ db "CURSE@"
+ db "FLAIL@"
+ db "CONVERSION2@"
+ db "AEROBLAST@"
+ db "COTTON SPORE@"
+ db "REVERSAL@"
+ db "SPITE@"
+ db "POWDER SNOW@"
+ db "PROTECT@"
+ db "MACH PUNCH@"
+ db "SCARY FACE@"
+ db "FAINT ATTACK@"
+ db "SWEET KISS@"
+ db "BELLY DRUM@"
+ db "SLUDGE BOMB@"
+ db "MUD-SLAP@"
+ db "OCTAZOOKA@"
+ db "SPIKES@"
+ db "ZAP CANNON@"
+ db "FORESIGHT@"
+ db "DESTINY BOND@"
+ db "PERISH SONG@"
+ db "ICY WIND@"
+ db "DETECT@"
+ db "BONE RUSH@"
+ db "LOCK-ON@"
+ db "OUTRAGE@"
+ db "SANDSTORM@"
+ db "GIGA DRAIN@"
+ db "ENDURE@"
+ db "CHARM@"
+ db "ROLLOUT@"
+ db "FALSE SWIPE@"
+ db "SWAGGER@"
+ db "MILK DRINK@"
+ db "SPARK@"
+ db "FURY CUTTER@"
+ db "STEEL WING@"
+ db "MEAN LOOK@"
+ db "ATTRACT@"
+ db "SLEEP TALK@"
+ db "HEAL BELL@"
+ db "RETURN@"
+ db "PRESENT@"
+ db "FRUSTRATION@"
+ db "SAFEGUARD@"
+ db "PAIN SPLIT@"
+ db "SACRED FIRE@"
+ db "MAGNITUDE@"
+ db "DYNAMICPUNCH@"
+ db "MEGAHORN@"
+ db "DRAGONBREATH@"
+ db "BATON PASS@"
+ db "ENCORE@"
+ db "PURSUIT@"
+ db "RAPID SPIN@"
+ db "SWEET SCENT@"
+ db "IRON TAIL@"
+ db "METAL CLAW@"
+ db "VITAL THROW@"
+ db "MORNING SUN@"
+ db "SYNTHESIS@"
+ db "MOONLIGHT@"
+ db "HIDDEN POWER@"
+ db "CROSS CHOP@"
+ db "TWISTER@"
+ db "RAIN DANCE@"
+ db "SUNNY DAY@"
+ db "CRUNCH@"
+ db "MIRROR COAT@"
+ db "PSYCH UP@"
+ db "EXTREMESPEED@"
+ db "ANCIENTPOWER@"
+ db "SHADOW BALL@"
+ db "FUTURE SIGHT@"
+ db "ROCK SMASH@"
+ db "WHIRLPOOL@"
+ db "BEAT UP@"
+
diff --git a/battle/moves/moves.asm b/battle/moves/moves.asm
new file mode 100644
index 000000000..c2b72d2c9
--- /dev/null
+++ b/battle/moves/moves.asm
@@ -0,0 +1,257 @@
+; Characteristics of each move
+
+; animation, effect, power, type, accuracy, PP, effect chance
+Move0:
+ db POUND, $00, 40, NORMAL, $ff, 35, $00
+Move1:
+ db KARATE_CHOP, $00, 50, FIGHTING, $ff, 25, $00
+ db DOUBLESLAP, $1d, 15, NORMAL, $d8, 10, $00
+ db COMET_PUNCH, $1d, 18, NORMAL, $d8, 15, $00
+ db MEGA_PUNCH, $00, 80, NORMAL, $d8, 20, $00
+ db PAY_DAY, $22, 40, NORMAL, $ff, 20, $00
+ db FIRE_PUNCH, $04, 75, FIRE, $ff, 15, $19
+ db ICE_PUNCH, $05, 75, ICE, $ff, 15, $19
+ db THUNDERPUNCH, $06, 75, ELECTRIC, $ff, 15, $19
+ db SCRATCH, $00, 40, NORMAL, $ff, 35, $00
+ db VICEGRIP, $00, 55, NORMAL, $ff, 30, $00
+ db GUILLOTINE, $26, 0, NORMAL, $4c, 5, $00
+ db RAZOR_WIND, $27, 80, NORMAL, $bf, 10, $00
+ db SWORDS_DANCE, $32, 0, NORMAL, $ff, 30, $00
+ db CUT, $00, 50, NORMAL, $f2, 30, $00
+ db GUST, $95, 40, FLYING, $ff, 35, $00
+ db WING_ATTACK, $00, 60, FLYING, $ff, 35, $00
+ db WHIRLWIND, $1c, 0, NORMAL, $ff, 20, $00
+ db FLY, $9b, 70, FLYING, $f2, 15, $00
+ db BIND, $2a, 15, NORMAL, $bf, 20, $00
+ db SLAM, $00, 80, NORMAL, $bf, 20, $00
+ db VINE_WHIP, $00, 35, GRASS, $ff, 10, $00
+ db STOMP, $96, 65, NORMAL, $ff, 20, $4c
+ db DOUBLE_KICK, $2c, 30, FIGHTING, $ff, 30, $00
+ db MEGA_KICK, $00, 120, NORMAL, $bf, 5, $00
+ db JUMP_KICK, $2d, 70, FIGHTING, $f2, 25, $00
+ db ROLLING_KICK, $1f, 60, FIGHTING, $d8, 15, $4c
+ db SAND_ATTACK, $17, 0, GROUND, $ff, 15, $00
+ db HEADBUTT, $1f, 70, NORMAL, $ff, 15, $4c
+ db HORN_ATTACK, $00, 65, NORMAL, $ff, 25, $00
+ db FURY_ATTACK, $1d, 15, NORMAL, $d8, 20, $00
+ db HORN_DRILL, $26, 1, NORMAL, $4c, 5, $00
+ db TACKLE, $00, 35, NORMAL, $f2, 35, $00
+ db BODY_SLAM, $06, 85, NORMAL, $ff, 15, $4c
+ db WRAP, $2a, 15, NORMAL, $d8, 20, $00
+ db TAKE_DOWN, $30, 90, NORMAL, $d8, 20, $00
+ db THRASH, $1b, 90, NORMAL, $ff, 20, $00
+ db DOUBLE_EDGE, $30, 120, NORMAL, $ff, 15, $00
+ db TAIL_WHIP, $13, 0, NORMAL, $ff, 30, $00
+ db POISON_STING, $02, 15, POISON, $ff, 35, $4c
+ db TWINEEDLE, $4d, 25, BUG, $ff, 20, $33
+ db PIN_MISSILE, $1d, 14, BUG, $d8, 20, $00
+ db LEER, $13, 0, NORMAL, $ff, 30, $00
+ db BITE, $1f, 60, DARK, $ff, 25, $4c
+ db GROWL, $12, 0, NORMAL, $ff, 40, $00
+ db ROAR, $1c, 0, NORMAL, $ff, 20, $00
+ db SING, $01, 0, NORMAL, $8c, 15, $00
+ db SUPERSONIC, $31, 0, NORMAL, $8c, 20, $00
+ db SONICBOOM, $29, 20, NORMAL, $e5, 20, $00
+ db DISABLE, $56, 0, NORMAL, $8c, 20, $00
+ db ACID, $45, 40, POISON, $ff, 30, $19
+ db EMBER, $04, 40, FIRE, $ff, 25, $19
+ db FLAMETHROWER, $04, 95, FIRE, $ff, 15, $19
+ db MIST, $2e, 0, ICE, $ff, 30, $00
+ db WATER_GUN, $00, 40, WATER, $ff, 25, $00
+ db HYDRO_PUMP, $00, 120, WATER, $cc, 5, $00
+ db SURF, $00, 95, WATER, $ff, 15, $00
+ db ICE_BEAM, $05, 95, ICE, $ff, 10, $19
+ db BLIZZARD, $05, 120, ICE, $b2, 5, $19
+ db PSYBEAM, $4c, 65, PSYCHIC, $ff, 20, $19
+ db BUBBLEBEAM, $46, 65, WATER, $ff, 20, $19
+ db AURORA_BEAM, $44, 65, ICE, $ff, 20, $19
+ db HYPER_BEAM, $50, 150, NORMAL, $e5, 5, $00
+ db PECK, $00, 35, FLYING, $ff, 35, $00
+ db DRILL_PECK, $00, 80, FLYING, $ff, 20, $00
+ db SUBMISSION, $30, 80, FIGHTING, $cc, 25, $00
+ db LOW_KICK, $1f, 50, FIGHTING, $e5, 20, $4c
+ db COUNTER, $59, 1, FIGHTING, $ff, 20, $00
+ db SEISMIC_TOSS, $57, 1, FIGHTING, $ff, 20, $00
+ db STRENGTH, $00, 80, NORMAL, $ff, 15, $00
+ db ABSORB, $03, 20, GRASS, $ff, 20, $00
+ db MEGA_DRAIN, $03, 40, GRASS, $ff, 10, $00
+ db LEECH_SEED, $54, 0, GRASS, $e5, 10, $00
+ db GROWTH, $0d, 0, NORMAL, $ff, 40, $00
+ db RAZOR_LEAF, $00, 55, GRASS, $f2, 25, $00
+ db SOLARBEAM, $97, 120, GRASS, $ff, 10, $00
+ db POISONPOWDER, $42, 0, POISON, $bf, 35, $00
+ db STUN_SPORE, $43, 0, GRASS, $bf, 30, $00
+ db SLEEP_POWDER, $01, 0, GRASS, $bf, 15, $00
+ db PETAL_DANCE, $1b, 70, GRASS, $ff, 20, $00
+ db STRING_SHOT, $14, 0, BUG, $f2, 40, $00
+ db DRAGON_RAGE, $29, 40, DRAGON, $ff, 10, $00
+ db FIRE_SPIN, $2a, 15, FIRE, $b2, 15, $00
+ db THUNDERSHOCK, $06, 40, ELECTRIC, $ff, 30, $19
+ db THUNDERBOLT, $06, 95, ELECTRIC, $ff, 15, $19
+ db THUNDER_WAVE, $43, 0, ELECTRIC, $ff, 20, $00
+ db THUNDER, $98, 120, ELECTRIC, $b2, 10, $4c
+ db ROCK_THROW, $00, 50, ROCK, $e5, 15, $00
+ db EARTHQUAKE, $93, 100, GROUND, $ff, 10, $00
+ db FISSURE, $26, 1, GROUND, $4c, 5, $00
+ db DIG, $9b, 60, GROUND, $ff, 10, $00
+ db TOXIC, $21, 0, POISON, $d8, 10, $00
+ db CONFUSION, $4c, 50, PSYCHIC, $ff, 25, $19
+ db PSYCHIC_M, $48, 90, PSYCHIC, $ff, 10, $19
+ db HYPNOSIS, $01, 0, PSYCHIC, $99, 20, $00
+ db MEDITATE, $0a, 0, PSYCHIC, $ff, 40, $00
+ db AGILITY, $34, 0, PSYCHIC, $ff, 30, $00
+ db QUICK_ATTACK, $67, 40, NORMAL, $ff, 30, $00
+ db RAGE, $51, 20, NORMAL, $ff, 20, $00
+ db TELEPORT, $99, 0, PSYCHIC, $ff, 20, $00
+ db NIGHT_SHADE, $57, 1, GHOST, $ff, 15, $00
+ db MIMIC, $52, 0, NORMAL, $ff, 10, $00
+ db SCREECH, $3b, 0, NORMAL, $d8, 40, $00
+ db DOUBLE_TEAM, $10, 0, NORMAL, $ff, 15, $00
+ db RECOVER, $20, 0, NORMAL, $ff, 20, $00
+ db HARDEN, $0b, 0, NORMAL, $ff, 30, $00
+ db MINIMIZE, $10, 0, NORMAL, $ff, 20, $00
+ db SMOKESCREEN, $17, 0, NORMAL, $ff, 20, $00
+ db CONFUSE_RAY, $31, 0, GHOST, $ff, 10, $00
+ db WITHDRAW, $0b, 0, WATER, $ff, 40, $00
+ db DEFENSE_CURL, $9c, 0, NORMAL, $ff, 40, $00
+ db BARRIER, $33, 0, PSYCHIC, $ff, 30, $00
+ db LIGHT_SCREEN, $23, 0, PSYCHIC, $ff, 30, $00
+ db HAZE, $19, 0, ICE, $ff, 30, $00
+ db REFLECT, $41, 0, PSYCHIC, $ff, 20, $00
+ db FOCUS_ENERGY, $2f, 0, NORMAL, $ff, 30, $00
+ db BIDE, $1a, 0, NORMAL, $ff, 10, $00
+ db METRONOME, $53, 0, NORMAL, $ff, 10, $00
+ db MIRROR_MOVE, $09, 0, FLYING, $ff, 20, $00
+ db SELFDESTRUCT, $07, 200, NORMAL, $ff, 5, $00
+ db EGG_BOMB, $00, 100, NORMAL, $bf, 10, $00
+ db LICK, $06, 20, GHOST, $ff, 30, $4c
+ db SMOG, $02, 20, POISON, $b2, 20, $66
+ db SLUDGE, $02, 65, POISON, $ff, 20, $4c
+ db BONE_CLUB, $1f, 65, GROUND, $d8, 20, $19
+ db FIRE_BLAST, $04, 120, FIRE, $d8, 5, $19
+ db WATERFALL, $00, 80, WATER, $ff, 15, $00
+ db CLAMP, $2a, 35, WATER, $bf, 10, $00
+ db SWIFT, $11, 60, NORMAL, $ff, 20, $00
+ db SKULL_BASH, $91, 100, NORMAL, $ff, 15, $00
+ db SPIKE_CANNON, $1d, 20, NORMAL, $ff, 15, $00
+ db CONSTRICT, $46, 10, NORMAL, $ff, 35, $19
+ db AMNESIA, $36, 0, PSYCHIC, $ff, 20, $00
+ db KINESIS, $17, 0, PSYCHIC, $cc, 15, $00
+ db SOFTBOILED, $20, 0, NORMAL, $ff, 10, $00
+ db HI_JUMP_KICK, $2d, 85, FIGHTING, $e5, 20, $00
+ db GLARE, $43, 0, NORMAL, $bf, 30, $00
+ db DREAM_EATER, $08, 100, PSYCHIC, $ff, 15, $00
+ db POISON_GAS, $42, 0, POISON, $8c, 40, $00
+ db BARRAGE, $1d, 15, NORMAL, $d8, 20, $00
+ db LEECH_LIFE, $03, 20, BUG, $ff, 15, $00
+ db LOVELY_KISS, $01, 0, NORMAL, $bf, 10, $00
+ db SKY_ATTACK, $4b, 140, FLYING, $e5, 5, $00
+ db TRANSFORM, $39, 0, NORMAL, $ff, 10, $00
+ db BUBBLE, $46, 20, WATER, $ff, 30, $19
+ db DIZZY_PUNCH, $4c, 70, NORMAL, $ff, 10, $33
+ db SPORE, $01, 0, GRASS, $ff, 15, $00
+ db FLASH, $17, 0, NORMAL, $b2, 20, $00
+ db PSYWAVE, $58, 1, PSYCHIC, $cc, 15, $00
+ db SPLASH, $55, 0, NORMAL, $ff, 40, $00
+ db ACID_ARMOR, $33, 0, POISON, $ff, 40, $00
+ db CRABHAMMER, $00, 90, WATER, $d8, 10, $00
+ db EXPLOSION, $07, 250, NORMAL, $ff, 5, $00
+ db FURY_SWIPES, $1d, 18, NORMAL, $cc, 15, $00
+ db BONEMERANG, $2c, 50, GROUND, $e5, 10, $00
+ db REST, $20, 0, PSYCHIC, $ff, 10, $00
+ db ROCK_SLIDE, $1f, 75, ROCK, $e5, 10, $4c
+ db HYPER_FANG, $1f, 80, NORMAL, $e5, 15, $19
+ db SHARPEN, $0a, 0, NORMAL, $ff, 30, $00
+ db CONVERSION, $1e, 0, NORMAL, $ff, 30, $00
+ db TRI_ATTACK, $24, 80, NORMAL, $ff, 10, $33
+ db SUPER_FANG, $28, 1, NORMAL, $e5, 10, $00
+ db SLASH, $00, 70, NORMAL, $ff, 20, $00
+ db SUBSTITUTE, $4f, 0, NORMAL, $ff, 10, $00
+ db STRUGGLE, $30, 50, NORMAL, $ff, 1, $00
+ db SKETCH, $5f, 0, NORMAL, $ff, 1, $00
+ db TRIPLE_KICK, $68, 10, FIGHTING, $e5, 10, $00
+ db THIEF, $69, 40, DARK, $ff, 10, $ff
+ db SPIDER_WEB, $6a, 0, BUG, $ff, 10, $00
+ db MIND_READER, $5e, 0, NORMAL, $ff, 5, $00
+ db NIGHTMARE, $6b, 0, GHOST, $ff, 15, $00
+ db FLAME_WHEEL, $6c, 60, FIRE, $ff, 25, $19
+ db SNORE, $5c, 40, NORMAL, $ff, 15, $4c
+ db CURSE, $6d, 0, CURSE_T, $ff, 10, $00
+ db FLAIL, $63, 1, NORMAL, $ff, 15, $00
+ db CONVERSION2, $5d, 0, NORMAL, $ff, 30, $00
+ db AEROBLAST, $00, 100, FLYING, $f2, 5, $00
+ db COTTON_SPORE, $3c, 0, GRASS, $d8, 40, $00
+ db REVERSAL, $63, 1, FIGHTING, $ff, 15, $00
+ db SPITE, $64, 0, GHOST, $ff, 10, $00
+ db POWDER_SNOW, $05, 40, ICE, $ff, 25, $19
+ db PROTECT, $6f, 0, NORMAL, $ff, 10, $00
+ db MACH_PUNCH, $67, 40, FIGHTING, $ff, 30, $00
+ db SCARY_FACE, $3c, 0, NORMAL, $e5, 10, $00
+ db FAINT_ATTACK, $11, 60, DARK, $ff, 20, $00
+ db SWEET_KISS, $31, 0, NORMAL, $bf, 10, $00
+ db BELLY_DRUM, $8e, 0, NORMAL, $ff, 10, $00
+ db SLUDGE_BOMB, $02, 90, POISON, $ff, 10, $4c
+ db MUD_SLAP, $49, 20, GROUND, $ff, 10, $ff
+ db OCTAZOOKA, $49, 65, WATER, $d8, 10, $7f
+ db SPIKES, $70, 0, GROUND, $ff, 20, $00
+ db ZAP_CANNON, $06, 100, ELECTRIC, $7f, 5, $ff
+ db FORESIGHT, $71, 0, NORMAL, $ff, 40, $00
+ db DESTINY_BOND, $62, 0, GHOST, $ff, 5, $00
+ db PERISH_SONG, $72, 0, NORMAL, $ff, 5, $00
+ db ICY_WIND, $46, 55, ICE, $f2, 15, $ff
+ db DETECT, $6f, 0, FIGHTING, $ff, 5, $00
+ db BONE_RUSH, $1d, 25, GROUND, $cc, 10, $00
+ db LOCK_ON, $5e, 0, NORMAL, $ff, 5, $00
+ db OUTRAGE, $1b, 90, DRAGON, $ff, 15, $00
+ db SANDSTORM, $73, 0, ROCK, $ff, 10, $00
+ db GIGA_DRAIN, $03, 60, GRASS, $ff, 5, $00
+ db ENDURE, $74, 0, NORMAL, $ff, 10, $00
+ db CHARM, $3a, 0, NORMAL, $ff, 20, $00
+ db ROLLOUT, $75, 30, ROCK, $e5, 20, $00
+ db FALSE_SWIPE, $65, 40, NORMAL, $ff, 40, $00
+ db SWAGGER, $76, 0, NORMAL, $e5, 15, $ff
+ db MILK_DRINK, $20, 0, NORMAL, $ff, 10, $00
+ db SPARK, $06, 65, ELECTRIC, $ff, 20, $4c
+ db FURY_CUTTER, $77, 10, BUG, $f2, 20, $00
+ db STEEL_WING, $8a, 70, STEEL, $e5, 25, $19
+ db MEAN_LOOK, $6a, 0, NORMAL, $ff, 5, $00
+ db ATTRACT, $78, 0, NORMAL, $ff, 15, $00
+ db SLEEP_TALK, $61, 0, NORMAL, $ff, 10, $00
+ db HEAL_BELL, $66, 0, NORMAL, $ff, 5, $00
+ db RETURN, $79, 1, NORMAL, $ff, 20, $00
+ db PRESENT, $7a, 1, NORMAL, $e5, 15, $00
+ db FRUSTRATION, $7b, 1, NORMAL, $ff, 20, $00
+ db SAFEGUARD, $7c, 0, NORMAL, $ff, 25, $00
+ db PAIN_SPLIT, $5b, 0, NORMAL, $ff, 20, $00
+ db SACRED_FIRE, $7d, 100, FIRE, $f2, 5, $7f
+ db MAGNITUDE, $7e, 1, GROUND, $ff, 30, $00
+ db DYNAMICPUNCH, $4c, 100, FIGHTING, $7f, 5, $ff
+ db MEGAHORN, $00, 120, BUG, $d8, 10, $00
+ db DRAGONBREATH, $06, 60, DRAGON, $ff, 20, $4c
+ db BATON_PASS, $7f, 0, NORMAL, $ff, 40, $00
+ db ENCORE, $5a, 0, NORMAL, $ff, 5, $00
+ db PURSUIT, $80, 40, DARK, $ff, 20, $00
+ db RAPID_SPIN, $81, 20, NORMAL, $ff, 40, $00
+ db SWEET_SCENT, $18, 0, NORMAL, $ff, 20, $00
+ db IRON_TAIL, $45, 100, STEEL, $bf, 15, $4c
+ db METAL_CLAW, $8b, 50, STEEL, $f2, 35, $19
+ db VITAL_THROW, $11, 70, FIGHTING, $ff, 10, $00
+ db MORNING_SUN, $84, 0, NORMAL, $ff, 5, $00
+ db SYNTHESIS, $85, 0, GRASS, $ff, 5, $00
+ db MOONLIGHT, $86, 0, NORMAL, $ff, 5, $00
+ db HIDDEN_POWER, $87, 1, NORMAL, $ff, 15, $00
+ db CROSS_CHOP, $00, 100, FIGHTING, $cc, 5, $00
+ db TWISTER, $92, 40, DRAGON, $ff, 20, $33
+ db RAIN_DANCE, $88, 0, WATER, $e5, 5, $00
+ db SUNNY_DAY, $89, 0, FIRE, $e5, 5, $00
+ db CRUNCH, $48, 80, DARK, $ff, 15, $33
+ db MIRROR_COAT, $90, 1, PSYCHIC, $ff, 20, $00
+ db PSYCH_UP, $8f, 0, NORMAL, $ff, 10, $00
+ db EXTREMESPEED, $67, 80, NORMAL, $ff, 5, $00
+ db ANCIENTPOWER, $8c, 60, ROCK, $ff, 5, $19
+ db SHADOW_BALL, $48, 80, GHOST, $ff, 15, $33
+ db FUTURE_SIGHT, $94, 80, PSYCHIC, $e5, 15, $00
+ db ROCK_SMASH, $45, 20, FIGHTING, $ff, 15, $7f
+ db WHIRLPOOL, $2a, 15, WATER, $b2, 15, $00
+ db BEAT_UP, $9a, 10, DARK, $ff, 10, $00
+
diff --git a/battle/type_matchup.asm b/battle/type_matchup.asm
new file mode 100644
index 000000000..f330d8710
--- /dev/null
+++ b/battle/type_matchup.asm
@@ -0,0 +1,128 @@
+; The multiplier is divided by 10, so we can use values like 0.5.
+
+SUPER_EFFECTIVE EQU 20
+NOT_VERY_EFFECTIVE EQU 05
+NO_EFFECT EQU 00
+
+; All other cases are neutral (1x).
+
+ ; attacker defender*=
+
+ db NORMAL, ROCK, NOT_VERY_EFFECTIVE
+ db NORMAL, STEEL, NOT_VERY_EFFECTIVE
+ db FIRE, FIRE, NOT_VERY_EFFECTIVE
+ db FIRE, WATER, NOT_VERY_EFFECTIVE
+ db FIRE, GRASS, SUPER_EFFECTIVE
+ db FIRE, ICE, SUPER_EFFECTIVE
+ db FIRE, BUG, SUPER_EFFECTIVE
+ db FIRE, ROCK, NOT_VERY_EFFECTIVE
+ db FIRE, DRAGON, NOT_VERY_EFFECTIVE
+ db FIRE, STEEL, SUPER_EFFECTIVE
+ db WATER, FIRE, SUPER_EFFECTIVE
+ db WATER, WATER, NOT_VERY_EFFECTIVE
+ db WATER, GRASS, NOT_VERY_EFFECTIVE
+ db WATER, GROUND, SUPER_EFFECTIVE
+ db WATER, ROCK, SUPER_EFFECTIVE
+ db WATER, DRAGON, NOT_VERY_EFFECTIVE
+ db ELECTRIC, WATER, SUPER_EFFECTIVE
+ db ELECTRIC, ELECTRIC, NOT_VERY_EFFECTIVE
+ db ELECTRIC, GRASS, NOT_VERY_EFFECTIVE
+ db ELECTRIC, GROUND, NO_EFFECT
+ db ELECTRIC, FLYING, SUPER_EFFECTIVE
+ db ELECTRIC, DRAGON, NOT_VERY_EFFECTIVE
+ db GRASS, FIRE, NOT_VERY_EFFECTIVE
+ db GRASS, WATER, SUPER_EFFECTIVE
+ db GRASS, GRASS, NOT_VERY_EFFECTIVE
+ db GRASS, POISON, NOT_VERY_EFFECTIVE
+ db GRASS, GROUND, SUPER_EFFECTIVE
+ db GRASS, FLYING, NOT_VERY_EFFECTIVE
+ db GRASS, BUG, NOT_VERY_EFFECTIVE
+ db GRASS, ROCK, SUPER_EFFECTIVE
+ db GRASS, DRAGON, NOT_VERY_EFFECTIVE
+ db GRASS, STEEL, NOT_VERY_EFFECTIVE
+ db ICE, WATER, NOT_VERY_EFFECTIVE
+ db ICE, GRASS, SUPER_EFFECTIVE
+ db ICE, ICE, NOT_VERY_EFFECTIVE
+ db ICE, GROUND, SUPER_EFFECTIVE
+ db ICE, FLYING, SUPER_EFFECTIVE
+ db ICE, DRAGON, SUPER_EFFECTIVE
+ db ICE, STEEL, NOT_VERY_EFFECTIVE
+ db ICE, FIRE, NOT_VERY_EFFECTIVE
+ db FIGHTING, NORMAL, SUPER_EFFECTIVE
+ db FIGHTING, ICE, SUPER_EFFECTIVE
+ db FIGHTING, POISON, NOT_VERY_EFFECTIVE
+ db FIGHTING, FLYING, NOT_VERY_EFFECTIVE
+ db FIGHTING, PSYCHIC, NOT_VERY_EFFECTIVE
+ db FIGHTING, BUG, NOT_VERY_EFFECTIVE
+ db FIGHTING, ROCK, SUPER_EFFECTIVE
+ db FIGHTING, DARK, SUPER_EFFECTIVE
+ db FIGHTING, STEEL, SUPER_EFFECTIVE
+ db POISON, GRASS, SUPER_EFFECTIVE
+ db POISON, POISON, NOT_VERY_EFFECTIVE
+ db POISON, GROUND, NOT_VERY_EFFECTIVE
+ db POISON, ROCK, NOT_VERY_EFFECTIVE
+ db POISON, GHOST, NOT_VERY_EFFECTIVE
+ db POISON, STEEL, NO_EFFECT
+ db GROUND, FIRE, SUPER_EFFECTIVE
+ db GROUND, ELECTRIC, SUPER_EFFECTIVE
+ db GROUND, GRASS, NOT_VERY_EFFECTIVE
+ db GROUND, POISON, SUPER_EFFECTIVE
+ db GROUND, FLYING, NO_EFFECT
+ db GROUND, BUG, NOT_VERY_EFFECTIVE
+ db GROUND, ROCK, SUPER_EFFECTIVE
+ db GROUND, STEEL, SUPER_EFFECTIVE
+ db FLYING, ELECTRIC, NOT_VERY_EFFECTIVE
+ db FLYING, GRASS, SUPER_EFFECTIVE
+ db FLYING, FIGHTING, SUPER_EFFECTIVE
+ db FLYING, BUG, SUPER_EFFECTIVE
+ db FLYING, ROCK, NOT_VERY_EFFECTIVE
+ db FLYING, STEEL, NOT_VERY_EFFECTIVE
+ db PSYCHIC, FIGHTING, SUPER_EFFECTIVE
+ db PSYCHIC, POISON, SUPER_EFFECTIVE
+ db PSYCHIC, PSYCHIC, NOT_VERY_EFFECTIVE
+ db PSYCHIC, DARK, NO_EFFECT
+ db PSYCHIC, STEEL, NOT_VERY_EFFECTIVE
+ db BUG, FIRE, NOT_VERY_EFFECTIVE
+ db BUG, GRASS, SUPER_EFFECTIVE
+ db BUG, FIGHTING, NOT_VERY_EFFECTIVE
+ db BUG, POISON, NOT_VERY_EFFECTIVE
+ db BUG, FLYING, NOT_VERY_EFFECTIVE
+ db BUG, PSYCHIC, SUPER_EFFECTIVE
+ db BUG, GHOST, NOT_VERY_EFFECTIVE
+ db BUG, DARK, SUPER_EFFECTIVE
+ db BUG, STEEL, NOT_VERY_EFFECTIVE
+ db ROCK, FIRE, SUPER_EFFECTIVE
+ db ROCK, ICE, SUPER_EFFECTIVE
+ db ROCK, FIGHTING, NOT_VERY_EFFECTIVE
+ db ROCK, GROUND, NOT_VERY_EFFECTIVE
+ db ROCK, FLYING, SUPER_EFFECTIVE
+ db ROCK, BUG, SUPER_EFFECTIVE
+ db ROCK, STEEL, NOT_VERY_EFFECTIVE
+ db GHOST, NORMAL, NO_EFFECT
+ db GHOST, PSYCHIC, SUPER_EFFECTIVE
+ db GHOST, DARK, NOT_VERY_EFFECTIVE
+ db GHOST, STEEL, NOT_VERY_EFFECTIVE
+ db GHOST, GHOST, SUPER_EFFECTIVE
+ db DRAGON, DRAGON, SUPER_EFFECTIVE
+ db DRAGON, STEEL, NOT_VERY_EFFECTIVE
+ db DARK, FIGHTING, NOT_VERY_EFFECTIVE
+ db DARK, PSYCHIC, SUPER_EFFECTIVE
+ db DARK, GHOST, SUPER_EFFECTIVE
+ db DARK, DARK, NOT_VERY_EFFECTIVE
+ db DARK, STEEL, NOT_VERY_EFFECTIVE
+ db STEEL, FIRE, NOT_VERY_EFFECTIVE
+ db STEEL, WATER, NOT_VERY_EFFECTIVE
+ db STEEL, ELECTRIC, NOT_VERY_EFFECTIVE
+ db STEEL, ICE, SUPER_EFFECTIVE
+ db STEEL, ROCK, SUPER_EFFECTIVE
+ db STEEL, STEEL, NOT_VERY_EFFECTIVE
+
+
+; Foresight removes Ghost's immunities.
+
+ db $fe
+
+ db NORMAL, GHOST, NO_EFFECT
+ db FIGHTING, GHOST, NO_EFFECT
+
+ db $ff ; end