shithub: pokered

Download patch

ref: bbc257476f9aac8d04d75a8036d412caa8f7d515
parent: 06db7ec55bbc87ed18db72a53fb20fa7b4da9b29
author: Rangi <[email protected]>
date: Tue Jul 7 06:54:05 EDT 2020

PSYCHIC -> PSYCHIC_TYPE (PSYCHIC is ambiguous with PSYCHIC_M)

--- a/constants/battle_constants.asm
+++ b/constants/battle_constants.asm
@@ -21,6 +21,13 @@
 SONICBOOM_DAMAGE   EQU 20
 DRAGON_RAGE_DAMAGE EQU 40
 
+; type effectiveness factors, scaled by 10
+SUPER_EFFECTIVE    EQU 20
+MORE_EFFECTIVE     EQU 15
+EFFECTIVE          EQU 10
+NOT_VERY_EFFECTIVE EQU 05
+NO_EFFECT          EQU 00
+
 ; non-volatile statuses
 SLP EQU %111 ; sleep counter
 PSN EQU 3
--- a/constants/type_constants.asm
+++ b/constants/type_constants.asm
@@ -1,23 +1,23 @@
 	const_def
 
 PHYSICAL EQU const_value
-	const NORMAL   ; $00
-	const FIGHTING ; $01
-	const FLYING   ; $02
-	const POISON   ; $03
-	const GROUND   ; $04
-	const ROCK     ; $05
-	const BIRD     ; $06
-	const BUG      ; $07
-	const GHOST    ; $08
+	const NORMAL       ; $00
+	const FIGHTING     ; $01
+	const FLYING       ; $02
+	const POISON       ; $03
+	const GROUND       ; $04
+	const ROCK         ; $05
+	const BIRD         ; $06
+	const BUG          ; $07
+	const GHOST        ; $08
 
 const_value = $14
 
 SPECIAL EQU const_value
-	const FIRE     ; $14
-	const WATER    ; $15
-	const GRASS    ; $16
-	const ELECTRIC ; $17
-	const PSYCHIC  ; $18
-	const ICE      ; $19
-	const DRAGON   ; $1A
+	const FIRE         ; $14
+	const WATER        ; $15
+	const GRASS        ; $16
+	const ELECTRIC     ; $17
+	const PSYCHIC_TYPE ; $18
+	const ICE          ; $19
+	const DRAGON       ; $1A
--- a/data/moves/moves.asm
+++ b/data/moves/moves.asm
@@ -10,169 +10,169 @@
 	db \6 ; pp
 ENDM
 
-	move POUND,        NO_ADDITIONAL_EFFECT,        40, NORMAL,   100, 35
+	move POUND,        NO_ADDITIONAL_EFFECT,        40, NORMAL,       100, 35
 MoveEnd:
-	move KARATE_CHOP,  NO_ADDITIONAL_EFFECT,        50, NORMAL,   100, 25
-	move DOUBLESLAP,   TWO_TO_FIVE_ATTACKS_EFFECT,  15, NORMAL,    85, 10
-	move COMET_PUNCH,  TWO_TO_FIVE_ATTACKS_EFFECT,  18, NORMAL,    85, 15
-	move MEGA_PUNCH,   NO_ADDITIONAL_EFFECT,        80, NORMAL,    85, 20
-	move PAY_DAY,      PAY_DAY_EFFECT,              40, NORMAL,   100, 20
-	move FIRE_PUNCH,   BURN_SIDE_EFFECT1,           75, FIRE,     100, 15
-	move ICE_PUNCH,    FREEZE_SIDE_EFFECT,          75, ICE,      100, 15
-	move THUNDERPUNCH, PARALYZE_SIDE_EFFECT1,       75, ELECTRIC, 100, 15
-	move SCRATCH,      NO_ADDITIONAL_EFFECT,        40, NORMAL,   100, 35
-	move VICEGRIP,     NO_ADDITIONAL_EFFECT,        55, NORMAL,   100, 30
-	move GUILLOTINE,   OHKO_EFFECT,                  1, NORMAL,    30,  5
-	move RAZOR_WIND,   CHARGE_EFFECT,               80, NORMAL,    75, 10
-	move SWORDS_DANCE, ATTACK_UP2_EFFECT,            0, NORMAL,   100, 30
-	move CUT,          NO_ADDITIONAL_EFFECT,        50, NORMAL,    95, 30
-	move GUST,         NO_ADDITIONAL_EFFECT,        40, NORMAL,   100, 35
-	move WING_ATTACK,  NO_ADDITIONAL_EFFECT,        35, FLYING,   100, 35
-	move WHIRLWIND,    SWITCH_AND_TELEPORT_EFFECT,   0, NORMAL,    85, 20
-	move FLY,          FLY_EFFECT,                  70, FLYING,    95, 15
-	move BIND,         TRAPPING_EFFECT,             15, NORMAL,    75, 20
-	move SLAM,         NO_ADDITIONAL_EFFECT,        80, NORMAL,    75, 20
-	move VINE_WHIP,    NO_ADDITIONAL_EFFECT,        35, GRASS,    100, 10
-	move STOMP,        FLINCH_SIDE_EFFECT2,         65, NORMAL,   100, 20
-	move DOUBLE_KICK,  ATTACK_TWICE_EFFECT,         30, FIGHTING, 100, 30
-	move MEGA_KICK,    NO_ADDITIONAL_EFFECT,       120, NORMAL,    75,  5
-	move JUMP_KICK,    JUMP_KICK_EFFECT,            70, FIGHTING,  95, 25
-	move ROLLING_KICK, FLINCH_SIDE_EFFECT2,         60, FIGHTING,  85, 15
-	move SAND_ATTACK,  ACCURACY_DOWN1_EFFECT,        0, NORMAL,   100, 15
-	move HEADBUTT,     FLINCH_SIDE_EFFECT2,         70, NORMAL,   100, 15
-	move HORN_ATTACK,  NO_ADDITIONAL_EFFECT,        65, NORMAL,   100, 25
-	move FURY_ATTACK,  TWO_TO_FIVE_ATTACKS_EFFECT,  15, NORMAL,    85, 20
-	move HORN_DRILL,   OHKO_EFFECT,                  1, NORMAL,    30,  5
-	move TACKLE,       NO_ADDITIONAL_EFFECT,        35, NORMAL,    95, 35
-	move BODY_SLAM,    PARALYZE_SIDE_EFFECT2,       85, NORMAL,   100, 15
-	move WRAP,         TRAPPING_EFFECT,             15, NORMAL,    85, 20
-	move TAKE_DOWN,    RECOIL_EFFECT,               90, NORMAL,    85, 20
-	move THRASH,       THRASH_PETAL_DANCE_EFFECT,   90, NORMAL,   100, 20
-	move DOUBLE_EDGE,  RECOIL_EFFECT,              100, NORMAL,   100, 15
-	move TAIL_WHIP,    DEFENSE_DOWN1_EFFECT,         0, NORMAL,   100, 30
-	move POISON_STING, POISON_SIDE_EFFECT1,         15, POISON,   100, 35
-	move TWINEEDLE,    TWINEEDLE_EFFECT,            25, BUG,      100, 20
-	move PIN_MISSILE,  TWO_TO_FIVE_ATTACKS_EFFECT,  14, BUG,       85, 20
-	move LEER,         DEFENSE_DOWN1_EFFECT,         0, NORMAL,   100, 30
-	move BITE,         FLINCH_SIDE_EFFECT1,         60, NORMAL,   100, 25
-	move GROWL,        ATTACK_DOWN1_EFFECT,          0, NORMAL,   100, 40
-	move ROAR,         SWITCH_AND_TELEPORT_EFFECT,   0, NORMAL,   100, 20
-	move SING,         SLEEP_EFFECT,                 0, NORMAL,    55, 15
-	move SUPERSONIC,   CONFUSION_EFFECT,             0, NORMAL,    55, 20
-	move SONICBOOM,    SPECIAL_DAMAGE_EFFECT,        1, NORMAL,    90, 20
-	move DISABLE,      DISABLE_EFFECT,               0, NORMAL,    55, 20
-	move ACID,         DEFENSE_DOWN_SIDE_EFFECT,    40, POISON,   100, 30
-	move EMBER,        BURN_SIDE_EFFECT1,           40, FIRE,     100, 25
-	move FLAMETHROWER, BURN_SIDE_EFFECT1,           95, FIRE,     100, 15
-	move MIST,         MIST_EFFECT,                  0, ICE,      100, 30
-	move WATER_GUN,    NO_ADDITIONAL_EFFECT,        40, WATER,    100, 25
-	move HYDRO_PUMP,   NO_ADDITIONAL_EFFECT,       120, WATER,     80,  5
-	move SURF,         NO_ADDITIONAL_EFFECT,        95, WATER,    100, 15
-	move ICE_BEAM,     FREEZE_SIDE_EFFECT,          95, ICE,      100, 10
-	move BLIZZARD,     FREEZE_SIDE_EFFECT,         120, ICE,       90,  5
-	move PSYBEAM,      CONFUSION_SIDE_EFFECT,       65, PSYCHIC,  100, 20
-	move BUBBLEBEAM,   SPEED_DOWN_SIDE_EFFECT,      65, WATER,    100, 20
-	move AURORA_BEAM,  ATTACK_DOWN_SIDE_EFFECT,     65, ICE,      100, 20
-	move HYPER_BEAM,   HYPER_BEAM_EFFECT,          150, NORMAL,    90,  5
-	move PECK,         NO_ADDITIONAL_EFFECT,        35, FLYING,   100, 35
-	move DRILL_PECK,   NO_ADDITIONAL_EFFECT,        80, FLYING,   100, 20
-	move SUBMISSION,   RECOIL_EFFECT,               80, FIGHTING,  80, 25
-	move LOW_KICK,     FLINCH_SIDE_EFFECT2,         50, FIGHTING,  90, 20
-	move COUNTER,      NO_ADDITIONAL_EFFECT,         1, FIGHTING, 100, 20
-	move SEISMIC_TOSS, SPECIAL_DAMAGE_EFFECT,        1, FIGHTING, 100, 20
-	move STRENGTH,     NO_ADDITIONAL_EFFECT,        80, NORMAL,   100, 15
-	move ABSORB,       DRAIN_HP_EFFECT,             20, GRASS,    100, 20
-	move MEGA_DRAIN,   DRAIN_HP_EFFECT,             40, GRASS,    100, 10
-	move LEECH_SEED,   LEECH_SEED_EFFECT,            0, GRASS,     90, 10
-	move GROWTH,       SPECIAL_UP1_EFFECT,           0, NORMAL,   100, 40
-	move RAZOR_LEAF,   NO_ADDITIONAL_EFFECT,        55, GRASS,     95, 25
-	move SOLARBEAM,    CHARGE_EFFECT,              120, GRASS,    100, 10
-	move POISONPOWDER, POISON_EFFECT,                0, POISON,    75, 35
-	move STUN_SPORE,   PARALYZE_EFFECT,              0, GRASS,     75, 30
-	move SLEEP_POWDER, SLEEP_EFFECT,                 0, GRASS,     75, 15
-	move PETAL_DANCE,  THRASH_PETAL_DANCE_EFFECT,   70, GRASS,    100, 20
-	move STRING_SHOT,  SPEED_DOWN1_EFFECT,           0, BUG,       95, 40
-	move DRAGON_RAGE,  SPECIAL_DAMAGE_EFFECT,        1, DRAGON,   100, 10
-	move FIRE_SPIN,    TRAPPING_EFFECT,             15, FIRE,      70, 15
-	move THUNDERSHOCK, PARALYZE_SIDE_EFFECT1,       40, ELECTRIC, 100, 30
-	move THUNDERBOLT,  PARALYZE_SIDE_EFFECT1,       95, ELECTRIC, 100, 15
-	move THUNDER_WAVE, PARALYZE_EFFECT,              0, ELECTRIC, 100, 20
-	move THUNDER,      PARALYZE_SIDE_EFFECT1,      120, ELECTRIC,  70, 10
-	move ROCK_THROW,   NO_ADDITIONAL_EFFECT,        50, ROCK,      65, 15
-	move EARTHQUAKE,   NO_ADDITIONAL_EFFECT,       100, GROUND,   100, 10
-	move FISSURE,      OHKO_EFFECT,                  1, GROUND,    30,  5
-	move DIG,          CHARGE_EFFECT,              100, GROUND,   100, 10
-	move TOXIC,        POISON_EFFECT,                0, POISON,    85, 10
-	move CONFUSION,    CONFUSION_SIDE_EFFECT,       50, PSYCHIC,  100, 25
-	move PSYCHIC_M,    SPECIAL_DOWN_SIDE_EFFECT,    90, PSYCHIC,  100, 10
-	move HYPNOSIS,     SLEEP_EFFECT,                 0, PSYCHIC,   60, 20
-	move MEDITATE,     ATTACK_UP1_EFFECT,            0, PSYCHIC,  100, 40
-	move AGILITY,      SPEED_UP2_EFFECT,             0, PSYCHIC,  100, 30
-	move QUICK_ATTACK, NO_ADDITIONAL_EFFECT,        40, NORMAL,   100, 30
-	move RAGE,         RAGE_EFFECT,                 20, NORMAL,   100, 20
-	move TELEPORT,     SWITCH_AND_TELEPORT_EFFECT,   0, PSYCHIC,  100, 20
-	move NIGHT_SHADE,  SPECIAL_DAMAGE_EFFECT,        0, GHOST,    100, 15
-	move MIMIC,        MIMIC_EFFECT,                 0, NORMAL,   100, 10
-	move SCREECH,      DEFENSE_DOWN2_EFFECT,         0, NORMAL,    85, 40
-	move DOUBLE_TEAM,  EVASION_UP1_EFFECT,           0, NORMAL,   100, 15
-	move RECOVER,      HEAL_EFFECT,                  0, NORMAL,   100, 20
-	move HARDEN,       DEFENSE_UP1_EFFECT,           0, NORMAL,   100, 30
-	move MINIMIZE,     EVASION_UP1_EFFECT,           0, NORMAL,   100, 20
-	move SMOKESCREEN,  ACCURACY_DOWN1_EFFECT,        0, NORMAL,   100, 20
-	move CONFUSE_RAY,  CONFUSION_EFFECT,             0, GHOST,    100, 10
-	move WITHDRAW,     DEFENSE_UP1_EFFECT,           0, WATER,    100, 40
-	move DEFENSE_CURL, DEFENSE_UP1_EFFECT,           0, NORMAL,   100, 40
-	move BARRIER,      DEFENSE_UP2_EFFECT,           0, PSYCHIC,  100, 30
-	move LIGHT_SCREEN, LIGHT_SCREEN_EFFECT,          0, PSYCHIC,  100, 30
-	move HAZE,         HAZE_EFFECT,                  0, ICE,      100, 30
-	move REFLECT,      REFLECT_EFFECT,               0, PSYCHIC,  100, 20
-	move FOCUS_ENERGY, FOCUS_ENERGY_EFFECT,          0, NORMAL,   100, 30
-	move BIDE,         BIDE_EFFECT,                  0, NORMAL,   100, 10
-	move METRONOME,    METRONOME_EFFECT,             0, NORMAL,   100, 10
-	move MIRROR_MOVE,  MIRROR_MOVE_EFFECT,           0, FLYING,   100, 20
-	move SELFDESTRUCT, EXPLODE_EFFECT,             130, NORMAL,   100,  5
-	move EGG_BOMB,     NO_ADDITIONAL_EFFECT,       100, NORMAL,    75, 10
-	move LICK,         PARALYZE_SIDE_EFFECT2,       20, GHOST,    100, 30
-	move SMOG,         POISON_SIDE_EFFECT2,         20, POISON,    70, 20
-	move SLUDGE,       POISON_SIDE_EFFECT2,         65, POISON,   100, 20
-	move BONE_CLUB,    FLINCH_SIDE_EFFECT1,         65, GROUND,    85, 20
-	move FIRE_BLAST,   BURN_SIDE_EFFECT2,          120, FIRE,      85,  5
-	move WATERFALL,    NO_ADDITIONAL_EFFECT,        80, WATER,    100, 15
-	move CLAMP,        TRAPPING_EFFECT,             35, WATER,     75, 10
-	move SWIFT,        SWIFT_EFFECT,                60, NORMAL,   100, 20
-	move SKULL_BASH,   CHARGE_EFFECT,              100, NORMAL,   100, 15
-	move SPIKE_CANNON, TWO_TO_FIVE_ATTACKS_EFFECT,  20, NORMAL,   100, 15
-	move CONSTRICT,    SPEED_DOWN_SIDE_EFFECT,      10, NORMAL,   100, 35
-	move AMNESIA,      SPECIAL_UP2_EFFECT,           0, PSYCHIC,  100, 20
-	move KINESIS,      ACCURACY_DOWN1_EFFECT,        0, PSYCHIC,   80, 15
-	move SOFTBOILED,   HEAL_EFFECT,                  0, NORMAL,   100, 10
-	move HI_JUMP_KICK, JUMP_KICK_EFFECT,            85, FIGHTING,  90, 20
-	move GLARE,        PARALYZE_EFFECT,              0, NORMAL,    75, 30
-	move DREAM_EATER,  DREAM_EATER_EFFECT,         100, PSYCHIC,  100, 15
-	move POISON_GAS,   POISON_EFFECT,                0, POISON,    55, 40
-	move BARRAGE,      TWO_TO_FIVE_ATTACKS_EFFECT,  15, NORMAL,    85, 20
-	move LEECH_LIFE,   DRAIN_HP_EFFECT,             20, BUG,      100, 15
-	move LOVELY_KISS,  SLEEP_EFFECT,                 0, NORMAL,    75, 10
-	move SKY_ATTACK,   CHARGE_EFFECT,              140, FLYING,    90,  5
-	move TRANSFORM,    TRANSFORM_EFFECT,             0, NORMAL,   100, 10
-	move BUBBLE,       SPEED_DOWN_SIDE_EFFECT,      20, WATER,    100, 30
-	move DIZZY_PUNCH,  NO_ADDITIONAL_EFFECT,        70, NORMAL,   100, 10
-	move SPORE,        SLEEP_EFFECT,                 0, GRASS,    100, 15
-	move FLASH,        ACCURACY_DOWN1_EFFECT,        0, NORMAL,    70, 20
-	move PSYWAVE,      SPECIAL_DAMAGE_EFFECT,        1, PSYCHIC,   80, 15
-	move SPLASH,       SPLASH_EFFECT,                0, NORMAL,   100, 40
-	move ACID_ARMOR,   DEFENSE_UP2_EFFECT,           0, POISON,   100, 40
-	move CRABHAMMER,   NO_ADDITIONAL_EFFECT,        90, WATER,     85, 10
-	move EXPLOSION,    EXPLODE_EFFECT,             170, NORMAL,   100,  5
-	move FURY_SWIPES,  TWO_TO_FIVE_ATTACKS_EFFECT,  18, NORMAL,    80, 15
-	move BONEMERANG,   ATTACK_TWICE_EFFECT,         50, GROUND,    90, 10
-	move REST,         HEAL_EFFECT,                  0, PSYCHIC,  100, 10
-	move ROCK_SLIDE,   NO_ADDITIONAL_EFFECT,        75, ROCK,      90, 10
-	move HYPER_FANG,   FLINCH_SIDE_EFFECT1,         80, NORMAL,    90, 15
-	move SHARPEN,      ATTACK_UP1_EFFECT,            0, NORMAL,   100, 30
-	move CONVERSION,   CONVERSION_EFFECT,            0, NORMAL,   100, 30
-	move TRI_ATTACK,   NO_ADDITIONAL_EFFECT,        80, NORMAL,   100, 10
-	move SUPER_FANG,   SUPER_FANG_EFFECT,            1, NORMAL,    90, 10
-	move SLASH,        NO_ADDITIONAL_EFFECT,        70, NORMAL,   100, 20
-	move SUBSTITUTE,   SUBSTITUTE_EFFECT,            0, NORMAL,   100, 10
-	move STRUGGLE,     RECOIL_EFFECT,               50, NORMAL,   100, 10
+	move KARATE_CHOP,  NO_ADDITIONAL_EFFECT,        50, NORMAL,       100, 25
+	move DOUBLESLAP,   TWO_TO_FIVE_ATTACKS_EFFECT,  15, NORMAL,        85, 10
+	move COMET_PUNCH,  TWO_TO_FIVE_ATTACKS_EFFECT,  18, NORMAL,        85, 15
+	move MEGA_PUNCH,   NO_ADDITIONAL_EFFECT,        80, NORMAL,        85, 20
+	move PAY_DAY,      PAY_DAY_EFFECT,              40, NORMAL,       100, 20
+	move FIRE_PUNCH,   BURN_SIDE_EFFECT1,           75, FIRE,         100, 15
+	move ICE_PUNCH,    FREEZE_SIDE_EFFECT,          75, ICE,          100, 15
+	move THUNDERPUNCH, PARALYZE_SIDE_EFFECT1,       75, ELECTRIC,     100, 15
+	move SCRATCH,      NO_ADDITIONAL_EFFECT,        40, NORMAL,       100, 35
+	move VICEGRIP,     NO_ADDITIONAL_EFFECT,        55, NORMAL,       100, 30
+	move GUILLOTINE,   OHKO_EFFECT,                  1, NORMAL,        30,  5
+	move RAZOR_WIND,   CHARGE_EFFECT,               80, NORMAL,        75, 10
+	move SWORDS_DANCE, ATTACK_UP2_EFFECT,            0, NORMAL,       100, 30
+	move CUT,          NO_ADDITIONAL_EFFECT,        50, NORMAL,        95, 30
+	move GUST,         NO_ADDITIONAL_EFFECT,        40, NORMAL,       100, 35
+	move WING_ATTACK,  NO_ADDITIONAL_EFFECT,        35, FLYING,       100, 35
+	move WHIRLWIND,    SWITCH_AND_TELEPORT_EFFECT,   0, NORMAL,        85, 20
+	move FLY,          FLY_EFFECT,                  70, FLYING,        95, 15
+	move BIND,         TRAPPING_EFFECT,             15, NORMAL,        75, 20
+	move SLAM,         NO_ADDITIONAL_EFFECT,        80, NORMAL,        75, 20
+	move VINE_WHIP,    NO_ADDITIONAL_EFFECT,        35, GRASS,        100, 10
+	move STOMP,        FLINCH_SIDE_EFFECT2,         65, NORMAL,       100, 20
+	move DOUBLE_KICK,  ATTACK_TWICE_EFFECT,         30, FIGHTING,     100, 30
+	move MEGA_KICK,    NO_ADDITIONAL_EFFECT,       120, NORMAL,        75,  5
+	move JUMP_KICK,    JUMP_KICK_EFFECT,            70, FIGHTING,      95, 25
+	move ROLLING_KICK, FLINCH_SIDE_EFFECT2,         60, FIGHTING,      85, 15
+	move SAND_ATTACK,  ACCURACY_DOWN1_EFFECT,        0, NORMAL,       100, 15
+	move HEADBUTT,     FLINCH_SIDE_EFFECT2,         70, NORMAL,       100, 15
+	move HORN_ATTACK,  NO_ADDITIONAL_EFFECT,        65, NORMAL,       100, 25
+	move FURY_ATTACK,  TWO_TO_FIVE_ATTACKS_EFFECT,  15, NORMAL,        85, 20
+	move HORN_DRILL,   OHKO_EFFECT,                  1, NORMAL,        30,  5
+	move TACKLE,       NO_ADDITIONAL_EFFECT,        35, NORMAL,        95, 35
+	move BODY_SLAM,    PARALYZE_SIDE_EFFECT2,       85, NORMAL,       100, 15
+	move WRAP,         TRAPPING_EFFECT,             15, NORMAL,        85, 20
+	move TAKE_DOWN,    RECOIL_EFFECT,               90, NORMAL,        85, 20
+	move THRASH,       THRASH_PETAL_DANCE_EFFECT,   90, NORMAL,       100, 20
+	move DOUBLE_EDGE,  RECOIL_EFFECT,              100, NORMAL,       100, 15
+	move TAIL_WHIP,    DEFENSE_DOWN1_EFFECT,         0, NORMAL,       100, 30
+	move POISON_STING, POISON_SIDE_EFFECT1,         15, POISON,       100, 35
+	move TWINEEDLE,    TWINEEDLE_EFFECT,            25, BUG,          100, 20
+	move PIN_MISSILE,  TWO_TO_FIVE_ATTACKS_EFFECT,  14, BUG,           85, 20
+	move LEER,         DEFENSE_DOWN1_EFFECT,         0, NORMAL,       100, 30
+	move BITE,         FLINCH_SIDE_EFFECT1,         60, NORMAL,       100, 25
+	move GROWL,        ATTACK_DOWN1_EFFECT,          0, NORMAL,       100, 40
+	move ROAR,         SWITCH_AND_TELEPORT_EFFECT,   0, NORMAL,       100, 20
+	move SING,         SLEEP_EFFECT,                 0, NORMAL,        55, 15
+	move SUPERSONIC,   CONFUSION_EFFECT,             0, NORMAL,        55, 20
+	move SONICBOOM,    SPECIAL_DAMAGE_EFFECT,        1, NORMAL,        90, 20
+	move DISABLE,      DISABLE_EFFECT,               0, NORMAL,        55, 20
+	move ACID,         DEFENSE_DOWN_SIDE_EFFECT,    40, POISON,       100, 30
+	move EMBER,        BURN_SIDE_EFFECT1,           40, FIRE,         100, 25
+	move FLAMETHROWER, BURN_SIDE_EFFECT1,           95, FIRE,         100, 15
+	move MIST,         MIST_EFFECT,                  0, ICE,          100, 30
+	move WATER_GUN,    NO_ADDITIONAL_EFFECT,        40, WATER,        100, 25
+	move HYDRO_PUMP,   NO_ADDITIONAL_EFFECT,       120, WATER,         80,  5
+	move SURF,         NO_ADDITIONAL_EFFECT,        95, WATER,        100, 15
+	move ICE_BEAM,     FREEZE_SIDE_EFFECT,          95, ICE,          100, 10
+	move BLIZZARD,     FREEZE_SIDE_EFFECT,         120, ICE,           90,  5
+	move PSYBEAM,      CONFUSION_SIDE_EFFECT,       65, PSYCHIC_TYPE, 100, 20
+	move BUBBLEBEAM,   SPEED_DOWN_SIDE_EFFECT,      65, WATER,        100, 20
+	move AURORA_BEAM,  ATTACK_DOWN_SIDE_EFFECT,     65, ICE,          100, 20
+	move HYPER_BEAM,   HYPER_BEAM_EFFECT,          150, NORMAL,        90,  5
+	move PECK,         NO_ADDITIONAL_EFFECT,        35, FLYING,       100, 35
+	move DRILL_PECK,   NO_ADDITIONAL_EFFECT,        80, FLYING,       100, 20
+	move SUBMISSION,   RECOIL_EFFECT,               80, FIGHTING,      80, 25
+	move LOW_KICK,     FLINCH_SIDE_EFFECT2,         50, FIGHTING,      90, 20
+	move COUNTER,      NO_ADDITIONAL_EFFECT,         1, FIGHTING,     100, 20
+	move SEISMIC_TOSS, SPECIAL_DAMAGE_EFFECT,        1, FIGHTING,     100, 20
+	move STRENGTH,     NO_ADDITIONAL_EFFECT,        80, NORMAL,       100, 15
+	move ABSORB,       DRAIN_HP_EFFECT,             20, GRASS,        100, 20
+	move MEGA_DRAIN,   DRAIN_HP_EFFECT,             40, GRASS,        100, 10
+	move LEECH_SEED,   LEECH_SEED_EFFECT,            0, GRASS,         90, 10
+	move GROWTH,       SPECIAL_UP1_EFFECT,           0, NORMAL,       100, 40
+	move RAZOR_LEAF,   NO_ADDITIONAL_EFFECT,        55, GRASS,         95, 25
+	move SOLARBEAM,    CHARGE_EFFECT,              120, GRASS,        100, 10
+	move POISONPOWDER, POISON_EFFECT,                0, POISON,        75, 35
+	move STUN_SPORE,   PARALYZE_EFFECT,              0, GRASS,         75, 30
+	move SLEEP_POWDER, SLEEP_EFFECT,                 0, GRASS,         75, 15
+	move PETAL_DANCE,  THRASH_PETAL_DANCE_EFFECT,   70, GRASS,        100, 20
+	move STRING_SHOT,  SPEED_DOWN1_EFFECT,           0, BUG,           95, 40
+	move DRAGON_RAGE,  SPECIAL_DAMAGE_EFFECT,        1, DRAGON,       100, 10
+	move FIRE_SPIN,    TRAPPING_EFFECT,             15, FIRE,          70, 15
+	move THUNDERSHOCK, PARALYZE_SIDE_EFFECT1,       40, ELECTRIC,     100, 30
+	move THUNDERBOLT,  PARALYZE_SIDE_EFFECT1,       95, ELECTRIC,     100, 15
+	move THUNDER_WAVE, PARALYZE_EFFECT,              0, ELECTRIC,     100, 20
+	move THUNDER,      PARALYZE_SIDE_EFFECT1,      120, ELECTRIC,      70, 10
+	move ROCK_THROW,   NO_ADDITIONAL_EFFECT,        50, ROCK,          65, 15
+	move EARTHQUAKE,   NO_ADDITIONAL_EFFECT,       100, GROUND,       100, 10
+	move FISSURE,      OHKO_EFFECT,                  1, GROUND,        30,  5
+	move DIG,          CHARGE_EFFECT,              100, GROUND,       100, 10
+	move TOXIC,        POISON_EFFECT,                0, POISON,        85, 10
+	move CONFUSION,    CONFUSION_SIDE_EFFECT,       50, PSYCHIC_TYPE, 100, 25
+	move PSYCHIC_M,    SPECIAL_DOWN_SIDE_EFFECT,    90, PSYCHIC_TYPE, 100, 10
+	move HYPNOSIS,     SLEEP_EFFECT,                 0, PSYCHIC_TYPE,  60, 20
+	move MEDITATE,     ATTACK_UP1_EFFECT,            0, PSYCHIC_TYPE, 100, 40
+	move AGILITY,      SPEED_UP2_EFFECT,             0, PSYCHIC_TYPE, 100, 30
+	move QUICK_ATTACK, NO_ADDITIONAL_EFFECT,        40, NORMAL,       100, 30
+	move RAGE,         RAGE_EFFECT,                 20, NORMAL,       100, 20
+	move TELEPORT,     SWITCH_AND_TELEPORT_EFFECT,   0, PSYCHIC_TYPE, 100, 20
+	move NIGHT_SHADE,  SPECIAL_DAMAGE_EFFECT,        0, GHOST,        100, 15
+	move MIMIC,        MIMIC_EFFECT,                 0, NORMAL,       100, 10
+	move SCREECH,      DEFENSE_DOWN2_EFFECT,         0, NORMAL,        85, 40
+	move DOUBLE_TEAM,  EVASION_UP1_EFFECT,           0, NORMAL,       100, 15
+	move RECOVER,      HEAL_EFFECT,                  0, NORMAL,       100, 20
+	move HARDEN,       DEFENSE_UP1_EFFECT,           0, NORMAL,       100, 30
+	move MINIMIZE,     EVASION_UP1_EFFECT,           0, NORMAL,       100, 20
+	move SMOKESCREEN,  ACCURACY_DOWN1_EFFECT,        0, NORMAL,       100, 20
+	move CONFUSE_RAY,  CONFUSION_EFFECT,             0, GHOST,        100, 10
+	move WITHDRAW,     DEFENSE_UP1_EFFECT,           0, WATER,        100, 40
+	move DEFENSE_CURL, DEFENSE_UP1_EFFECT,           0, NORMAL,       100, 40
+	move BARRIER,      DEFENSE_UP2_EFFECT,           0, PSYCHIC_TYPE, 100, 30
+	move LIGHT_SCREEN, LIGHT_SCREEN_EFFECT,          0, PSYCHIC_TYPE, 100, 30
+	move HAZE,         HAZE_EFFECT,                  0, ICE,          100, 30
+	move REFLECT,      REFLECT_EFFECT,               0, PSYCHIC_TYPE, 100, 20
+	move FOCUS_ENERGY, FOCUS_ENERGY_EFFECT,          0, NORMAL,       100, 30
+	move BIDE,         BIDE_EFFECT,                  0, NORMAL,       100, 10
+	move METRONOME,    METRONOME_EFFECT,             0, NORMAL,       100, 10
+	move MIRROR_MOVE,  MIRROR_MOVE_EFFECT,           0, FLYING,       100, 20
+	move SELFDESTRUCT, EXPLODE_EFFECT,             130, NORMAL,       100,  5
+	move EGG_BOMB,     NO_ADDITIONAL_EFFECT,       100, NORMAL,        75, 10
+	move LICK,         PARALYZE_SIDE_EFFECT2,       20, GHOST,        100, 30
+	move SMOG,         POISON_SIDE_EFFECT2,         20, POISON,        70, 20
+	move SLUDGE,       POISON_SIDE_EFFECT2,         65, POISON,       100, 20
+	move BONE_CLUB,    FLINCH_SIDE_EFFECT1,         65, GROUND,        85, 20
+	move FIRE_BLAST,   BURN_SIDE_EFFECT2,          120, FIRE,          85,  5
+	move WATERFALL,    NO_ADDITIONAL_EFFECT,        80, WATER,        100, 15
+	move CLAMP,        TRAPPING_EFFECT,             35, WATER,         75, 10
+	move SWIFT,        SWIFT_EFFECT,                60, NORMAL,       100, 20
+	move SKULL_BASH,   CHARGE_EFFECT,              100, NORMAL,       100, 15
+	move SPIKE_CANNON, TWO_TO_FIVE_ATTACKS_EFFECT,  20, NORMAL,       100, 15
+	move CONSTRICT,    SPEED_DOWN_SIDE_EFFECT,      10, NORMAL,       100, 35
+	move AMNESIA,      SPECIAL_UP2_EFFECT,           0, PSYCHIC_TYPE, 100, 20
+	move KINESIS,      ACCURACY_DOWN1_EFFECT,        0, PSYCHIC_TYPE,  80, 15
+	move SOFTBOILED,   HEAL_EFFECT,                  0, NORMAL,       100, 10
+	move HI_JUMP_KICK, JUMP_KICK_EFFECT,            85, FIGHTING,      90, 20
+	move GLARE,        PARALYZE_EFFECT,              0, NORMAL,        75, 30
+	move DREAM_EATER,  DREAM_EATER_EFFECT,         100, PSYCHIC_TYPE, 100, 15
+	move POISON_GAS,   POISON_EFFECT,                0, POISON,        55, 40
+	move BARRAGE,      TWO_TO_FIVE_ATTACKS_EFFECT,  15, NORMAL,        85, 20
+	move LEECH_LIFE,   DRAIN_HP_EFFECT,             20, BUG,          100, 15
+	move LOVELY_KISS,  SLEEP_EFFECT,                 0, NORMAL,        75, 10
+	move SKY_ATTACK,   CHARGE_EFFECT,              140, FLYING,        90,  5
+	move TRANSFORM,    TRANSFORM_EFFECT,             0, NORMAL,       100, 10
+	move BUBBLE,       SPEED_DOWN_SIDE_EFFECT,      20, WATER,        100, 30
+	move DIZZY_PUNCH,  NO_ADDITIONAL_EFFECT,        70, NORMAL,       100, 10
+	move SPORE,        SLEEP_EFFECT,                 0, GRASS,        100, 15
+	move FLASH,        ACCURACY_DOWN1_EFFECT,        0, NORMAL,        70, 20
+	move PSYWAVE,      SPECIAL_DAMAGE_EFFECT,        1, PSYCHIC_TYPE,  80, 15
+	move SPLASH,       SPLASH_EFFECT,                0, NORMAL,       100, 40
+	move ACID_ARMOR,   DEFENSE_UP2_EFFECT,           0, POISON,       100, 40
+	move CRABHAMMER,   NO_ADDITIONAL_EFFECT,        90, WATER,         85, 10
+	move EXPLOSION,    EXPLODE_EFFECT,             170, NORMAL,       100,  5
+	move FURY_SWIPES,  TWO_TO_FIVE_ATTACKS_EFFECT,  18, NORMAL,        80, 15
+	move BONEMERANG,   ATTACK_TWICE_EFFECT,         50, GROUND,        90, 10
+	move REST,         HEAL_EFFECT,                  0, PSYCHIC_TYPE, 100, 10
+	move ROCK_SLIDE,   NO_ADDITIONAL_EFFECT,        75, ROCK,          90, 10
+	move HYPER_FANG,   FLINCH_SIDE_EFFECT1,         80, NORMAL,        90, 15
+	move SHARPEN,      ATTACK_UP1_EFFECT,            0, NORMAL,       100, 30
+	move CONVERSION,   CONVERSION_EFFECT,            0, NORMAL,       100, 30
+	move TRI_ATTACK,   NO_ADDITIONAL_EFFECT,        80, NORMAL,       100, 10
+	move SUPER_FANG,   SUPER_FANG_EFFECT,            1, NORMAL,        90, 10
+	move SLASH,        NO_ADDITIONAL_EFFECT,        70, NORMAL,       100, 20
+	move SUBSTITUTE,   SUBSTITUTE_EFFECT,            0, NORMAL,       100, 10
+	move STRUGGLE,     RECOIL_EFFECT,               50, NORMAL,       100, 10
--- a/data/pokemon/base_stats/abra.asm
+++ b/data/pokemon/base_stats/abra.asm
@@ -3,7 +3,7 @@
 	db  25,  20,  15,  90, 105
 	;   hp  atk  def  spd  spc
 
-	db PSYCHIC, PSYCHIC ; type
+	db PSYCHIC_TYPE, PSYCHIC_TYPE ; type
 	db 200 ; catch rate
 	db 73 ; base exp
 
--- a/data/pokemon/base_stats/alakazam.asm
+++ b/data/pokemon/base_stats/alakazam.asm
@@ -3,7 +3,7 @@
 	db  55,  50,  45, 120, 135
 	;   hp  atk  def  spd  spc
 
-	db PSYCHIC, PSYCHIC ; type
+	db PSYCHIC_TYPE, PSYCHIC_TYPE ; type
 	db 50 ; catch rate
 	db 186 ; base exp
 
--- a/data/pokemon/base_stats/drowzee.asm
+++ b/data/pokemon/base_stats/drowzee.asm
@@ -3,7 +3,7 @@
 	db  60,  48,  45,  42,  90
 	;   hp  atk  def  spd  spc
 
-	db PSYCHIC, PSYCHIC ; type
+	db PSYCHIC_TYPE, PSYCHIC_TYPE ; type
 	db 190 ; catch rate
 	db 102 ; base exp
 
--- a/data/pokemon/base_stats/exeggcute.asm
+++ b/data/pokemon/base_stats/exeggcute.asm
@@ -3,7 +3,7 @@
 	db  60,  40,  80,  40,  60
 	;   hp  atk  def  spd  spc
 
-	db GRASS, PSYCHIC ; type
+	db GRASS, PSYCHIC_TYPE ; type
 	db 90 ; catch rate
 	db 98 ; base exp
 
--- a/data/pokemon/base_stats/exeggutor.asm
+++ b/data/pokemon/base_stats/exeggutor.asm
@@ -3,7 +3,7 @@
 	db  95,  95,  85,  55, 125
 	;   hp  atk  def  spd  spc
 
-	db GRASS, PSYCHIC ; type
+	db GRASS, PSYCHIC_TYPE ; type
 	db 45 ; catch rate
 	db 212 ; base exp
 
--- a/data/pokemon/base_stats/hypno.asm
+++ b/data/pokemon/base_stats/hypno.asm
@@ -3,7 +3,7 @@
 	db  85,  73,  70,  67, 115
 	;   hp  atk  def  spd  spc
 
-	db PSYCHIC, PSYCHIC ; type
+	db PSYCHIC_TYPE, PSYCHIC_TYPE ; type
 	db 75 ; catch rate
 	db 165 ; base exp
 
--- a/data/pokemon/base_stats/jynx.asm
+++ b/data/pokemon/base_stats/jynx.asm
@@ -3,7 +3,7 @@
 	db  65,  50,  35,  95,  95
 	;   hp  atk  def  spd  spc
 
-	db ICE, PSYCHIC ; type
+	db ICE, PSYCHIC_TYPE ; type
 	db 45 ; catch rate
 	db 137 ; base exp
 
--- a/data/pokemon/base_stats/kadabra.asm
+++ b/data/pokemon/base_stats/kadabra.asm
@@ -3,7 +3,7 @@
 	db  40,  35,  30, 105, 120
 	;   hp  atk  def  spd  spc
 
-	db PSYCHIC, PSYCHIC ; type
+	db PSYCHIC_TYPE, PSYCHIC_TYPE ; type
 	db 100 ; catch rate
 	db 145 ; base exp
 
--- a/data/pokemon/base_stats/mew.asm
+++ b/data/pokemon/base_stats/mew.asm
@@ -3,7 +3,7 @@
 	db 100, 100, 100, 100, 100
 	;   hp  atk  def  spd  spc
 
-	db PSYCHIC, PSYCHIC ; type
+	db PSYCHIC_TYPE, PSYCHIC_TYPE ; type
 	db 45 ; catch rate
 	db 64 ; base exp
 
--- a/data/pokemon/base_stats/mewtwo.asm
+++ b/data/pokemon/base_stats/mewtwo.asm
@@ -3,7 +3,7 @@
 	db 106, 110,  90, 130, 154
 	;   hp  atk  def  spd  spc
 
-	db PSYCHIC, PSYCHIC ; type
+	db PSYCHIC_TYPE, PSYCHIC_TYPE ; type
 	db 3 ; catch rate
 	db 220 ; base exp
 
--- a/data/pokemon/base_stats/mrmime.asm
+++ b/data/pokemon/base_stats/mrmime.asm
@@ -3,7 +3,7 @@
 	db  40,  45,  65,  90, 100
 	;   hp  atk  def  spd  spc
 
-	db PSYCHIC, PSYCHIC ; type
+	db PSYCHIC_TYPE, PSYCHIC_TYPE ; type
 	db 45 ; catch rate
 	db 136 ; base exp
 
--- a/data/pokemon/base_stats/slowbro.asm
+++ b/data/pokemon/base_stats/slowbro.asm
@@ -3,7 +3,7 @@
 	db  95,  75, 110,  30,  80
 	;   hp  atk  def  spd  spc
 
-	db WATER, PSYCHIC ; type
+	db WATER, PSYCHIC_TYPE ; type
 	db 75 ; catch rate
 	db 164 ; base exp
 
--- a/data/pokemon/base_stats/slowpoke.asm
+++ b/data/pokemon/base_stats/slowpoke.asm
@@ -3,7 +3,7 @@
 	db  90,  65,  65,  15,  40
 	;   hp  atk  def  spd  spc
 
-	db WATER, PSYCHIC ; type
+	db WATER, PSYCHIC_TYPE ; type
 	db 190 ; catch rate
 	db 99 ; base exp
 
--- a/data/pokemon/base_stats/starmie.asm
+++ b/data/pokemon/base_stats/starmie.asm
@@ -3,7 +3,7 @@
 	db  60,  75,  85, 115, 100
 	;   hp  atk  def  spd  spc
 
-	db WATER, PSYCHIC ; type
+	db WATER, PSYCHIC_TYPE ; type
 	db 60 ; catch rate
 	db 207 ; base exp
 
--- a/data/types/type_matchups.asm
+++ b/data/types/type_matchups.asm
@@ -1,89 +1,85 @@
 TypeEffects:
-; format: attacking type, defending type, damage multiplier
-; the multiplier is a (decimal) fixed-point number:
-;     20 is ×2.0
-;     05 is ×0.5
-;     00 is ×0
-	db WATER,FIRE,20
-	db FIRE,GRASS,20
-	db FIRE,ICE,20
-	db GRASS,WATER,20
-	db ELECTRIC,WATER,20
-	db WATER,ROCK,20
-	db GROUND,FLYING,00
-	db WATER,WATER,05
-	db FIRE,FIRE,05
-	db ELECTRIC,ELECTRIC,05
-	db ICE,ICE,05
-	db GRASS,GRASS,05
-	db PSYCHIC,PSYCHIC,05
-	db FIRE,WATER,05
-	db GRASS,FIRE,05
-	db WATER,GRASS,05
-	db ELECTRIC,GRASS,05
-	db NORMAL,ROCK,05
-	db NORMAL,GHOST,00
-	db GHOST,GHOST,20
-	db FIRE,BUG,20
-	db FIRE,ROCK,05
-	db WATER,GROUND,20
-	db ELECTRIC,GROUND,00
-	db ELECTRIC,FLYING,20
-	db GRASS,GROUND,20
-	db GRASS,BUG,05
-	db GRASS,POISON,05
-	db GRASS,ROCK,20
-	db GRASS,FLYING,05
-	db ICE,WATER,05
-	db ICE,GRASS,20
-	db ICE,GROUND,20
-	db ICE,FLYING,20
-	db FIGHTING,NORMAL,20
-	db FIGHTING,POISON,05
-	db FIGHTING,FLYING,05
-	db FIGHTING,PSYCHIC,05
-	db FIGHTING,BUG,05
-	db FIGHTING,ROCK,20
-	db FIGHTING,ICE,20
-	db FIGHTING,GHOST,00
-	db POISON,GRASS,20
-	db POISON,POISON,05
-	db POISON,GROUND,05
-	db POISON,BUG,20
-	db POISON,ROCK,05
-	db POISON,GHOST,05
-	db GROUND,FIRE,20
-	db GROUND,ELECTRIC,20
-	db GROUND,GRASS,05
-	db GROUND,BUG,05
-	db GROUND,ROCK,20
-	db GROUND,POISON,20
-	db FLYING,ELECTRIC,05
-	db FLYING,FIGHTING,20
-	db FLYING,BUG,20
-	db FLYING,GRASS,20
-	db FLYING,ROCK,05
-	db PSYCHIC,FIGHTING,20
-	db PSYCHIC,POISON,20
-	db BUG,FIRE,05
-	db BUG,GRASS,20
-	db BUG,FIGHTING,05
-	db BUG,FLYING,05
-	db BUG,PSYCHIC,20
-	db BUG,GHOST,05
-	db BUG,POISON,20
-	db ROCK,FIRE,20
-	db ROCK,FIGHTING,05
-	db ROCK,GROUND,05
-	db ROCK,FLYING,20
-	db ROCK,BUG,20
-	db ROCK,ICE,20
-	db GHOST,NORMAL,00
-	db GHOST,PSYCHIC,00
-	db FIRE,DRAGON,05
-	db WATER,DRAGON,05
-	db ELECTRIC,DRAGON,05
-	db GRASS,DRAGON,05
-	db ICE,DRAGON,20
-	db DRAGON,DRAGON,20
-	db $FF
+	;  attacker,     defender,     *=
+	db WATER,        FIRE,         SUPER_EFFECTIVE
+	db FIRE,         GRASS,        SUPER_EFFECTIVE
+	db FIRE,         ICE,          SUPER_EFFECTIVE
+	db GRASS,        WATER,        SUPER_EFFECTIVE
+	db ELECTRIC,     WATER,        SUPER_EFFECTIVE
+	db WATER,        ROCK,         SUPER_EFFECTIVE
+	db GROUND,       FLYING,       NO_EFFECT
+	db WATER,        WATER,        NOT_VERY_EFFECTIVE
+	db FIRE,         FIRE,         NOT_VERY_EFFECTIVE
+	db ELECTRIC,     ELECTRIC,     NOT_VERY_EFFECTIVE
+	db ICE,          ICE,          NOT_VERY_EFFECTIVE
+	db GRASS,        GRASS,        NOT_VERY_EFFECTIVE
+	db PSYCHIC_TYPE, PSYCHIC_TYPE, NOT_VERY_EFFECTIVE
+	db FIRE,         WATER,        NOT_VERY_EFFECTIVE
+	db GRASS,        FIRE,         NOT_VERY_EFFECTIVE
+	db WATER,        GRASS,        NOT_VERY_EFFECTIVE
+	db ELECTRIC,     GRASS,        NOT_VERY_EFFECTIVE
+	db NORMAL,       ROCK,         NOT_VERY_EFFECTIVE
+	db NORMAL,       GHOST,        NO_EFFECT
+	db GHOST,        GHOST,        SUPER_EFFECTIVE
+	db FIRE,         BUG,          SUPER_EFFECTIVE
+	db FIRE,         ROCK,         NOT_VERY_EFFECTIVE
+	db WATER,        GROUND,       SUPER_EFFECTIVE
+	db ELECTRIC,     GROUND,       NO_EFFECT
+	db ELECTRIC,     FLYING,       SUPER_EFFECTIVE
+	db GRASS,        GROUND,       SUPER_EFFECTIVE
+	db GRASS,        BUG,          NOT_VERY_EFFECTIVE
+	db GRASS,        POISON,       NOT_VERY_EFFECTIVE
+	db GRASS,        ROCK,         SUPER_EFFECTIVE
+	db GRASS,        FLYING,       NOT_VERY_EFFECTIVE
+	db ICE,          WATER,        NOT_VERY_EFFECTIVE
+	db ICE,          GRASS,        SUPER_EFFECTIVE
+	db ICE,          GROUND,       SUPER_EFFECTIVE
+	db ICE,          FLYING,       SUPER_EFFECTIVE
+	db FIGHTING,     NORMAL,       SUPER_EFFECTIVE
+	db FIGHTING,     POISON,       NOT_VERY_EFFECTIVE
+	db FIGHTING,     FLYING,       NOT_VERY_EFFECTIVE
+	db FIGHTING,     PSYCHIC_TYPE, NOT_VERY_EFFECTIVE
+	db FIGHTING,     BUG,          NOT_VERY_EFFECTIVE
+	db FIGHTING,     ROCK,         SUPER_EFFECTIVE
+	db FIGHTING,     ICE,          SUPER_EFFECTIVE
+	db FIGHTING,     GHOST,        NO_EFFECT
+	db POISON,       GRASS,        SUPER_EFFECTIVE
+	db POISON,       POISON,       NOT_VERY_EFFECTIVE
+	db POISON,       GROUND,       NOT_VERY_EFFECTIVE
+	db POISON,       BUG,          SUPER_EFFECTIVE
+	db POISON,       ROCK,         NOT_VERY_EFFECTIVE
+	db POISON,       GHOST,        NOT_VERY_EFFECTIVE
+	db GROUND,       FIRE,         SUPER_EFFECTIVE
+	db GROUND,       ELECTRIC,     SUPER_EFFECTIVE
+	db GROUND,       GRASS,        NOT_VERY_EFFECTIVE
+	db GROUND,       BUG,          NOT_VERY_EFFECTIVE
+	db GROUND,       ROCK,         SUPER_EFFECTIVE
+	db GROUND,       POISON,       SUPER_EFFECTIVE
+	db FLYING,       ELECTRIC,     NOT_VERY_EFFECTIVE
+	db FLYING,       FIGHTING,     SUPER_EFFECTIVE
+	db FLYING,       BUG,          SUPER_EFFECTIVE
+	db FLYING,       GRASS,        SUPER_EFFECTIVE
+	db FLYING,       ROCK,         NOT_VERY_EFFECTIVE
+	db PSYCHIC_TYPE, FIGHTING,     SUPER_EFFECTIVE
+	db PSYCHIC_TYPE, POISON,       SUPER_EFFECTIVE
+	db BUG,          FIRE,         NOT_VERY_EFFECTIVE
+	db BUG,          GRASS,        SUPER_EFFECTIVE
+	db BUG,          FIGHTING,     NOT_VERY_EFFECTIVE
+	db BUG,          FLYING,       NOT_VERY_EFFECTIVE
+	db BUG,          PSYCHIC_TYPE, SUPER_EFFECTIVE
+	db BUG,          GHOST,        NOT_VERY_EFFECTIVE
+	db BUG,          POISON,       SUPER_EFFECTIVE
+	db ROCK,         FIRE,         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,         ICE,          SUPER_EFFECTIVE
+	db GHOST,        NORMAL,       NO_EFFECT
+	db GHOST,        PSYCHIC_TYPE, NO_EFFECT
+	db FIRE,         DRAGON,       NOT_VERY_EFFECTIVE
+	db WATER,        DRAGON,       NOT_VERY_EFFECTIVE
+	db ELECTRIC,     DRAGON,       NOT_VERY_EFFECTIVE
+	db GRASS,        DRAGON,       NOT_VERY_EFFECTIVE
+	db ICE,          DRAGON,       SUPER_EFFECTIVE
+	db DRAGON,       DRAGON,       SUPER_EFFECTIVE
+	db -1 ; end