summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorentrpntr <entrpntr@gmail.com>2020-04-19 12:31:56 -0400
committerentrpntr <entrpntr@gmail.com>2020-04-19 12:31:56 -0400
commite953302d3f81f080fd5d8423000496ce2fad36d3 (patch)
treebb66787122ec1029524153c96c3f34b66780e5c7 /data
parente10598eb204358343491c92348b9220185e3b33d (diff)
Continue with effect commands (about 50% complete).
Diffstat (limited to 'data')
-rw-r--r--data/battle/accuracy_multipliers.asm17
-rw-r--r--data/moves/flail_reversal_power.asm8
-rw-r--r--data/pokemon/base_stats/abra.asm2
-rw-r--r--data/pokemon/base_stats/alakazam.asm2
-rw-r--r--data/pokemon/base_stats/celebi.asm2
-rw-r--r--data/pokemon/base_stats/drowzee.asm2
-rw-r--r--data/pokemon/base_stats/espeon.asm2
-rw-r--r--data/pokemon/base_stats/exeggcute.asm2
-rw-r--r--data/pokemon/base_stats/exeggutor.asm2
-rw-r--r--data/pokemon/base_stats/girafarig.asm2
-rw-r--r--data/pokemon/base_stats/hypno.asm2
-rw-r--r--data/pokemon/base_stats/jynx.asm2
-rw-r--r--data/pokemon/base_stats/kadabra.asm2
-rw-r--r--data/pokemon/base_stats/lugia.asm2
-rw-r--r--data/pokemon/base_stats/mew.asm2
-rw-r--r--data/pokemon/base_stats/mewtwo.asm2
-rw-r--r--data/pokemon/base_stats/mr__mime.asm2
-rw-r--r--data/pokemon/base_stats/natu.asm2
-rw-r--r--data/pokemon/base_stats/slowbro.asm2
-rw-r--r--data/pokemon/base_stats/slowking.asm2
-rw-r--r--data/pokemon/base_stats/slowpoke.asm2
-rw-r--r--data/pokemon/base_stats/smoochum.asm2
-rw-r--r--data/pokemon/base_stats/starmie.asm2
-rw-r--r--data/pokemon/base_stats/unown.asm2
-rw-r--r--data/pokemon/base_stats/wobbuffet.asm2
-rw-r--r--data/pokemon/base_stats/xatu.asm2
-rw-r--r--data/types/type_boost_items.asm19
-rw-r--r--data/types/type_matchups.asm118
28 files changed, 186 insertions, 24 deletions
diff --git a/data/battle/accuracy_multipliers.asm b/data/battle/accuracy_multipliers.asm
new file mode 100644
index 00000000..4b52a090
--- /dev/null
+++ b/data/battle/accuracy_multipliers.asm
@@ -0,0 +1,17 @@
+; Multiplier ratios for accuracy from modifier -6 to +6
+; (for other stats, see data/battle/stat_multipliers.asm).
+
+AccuracyLevelMultipliers:
+ db 33, 100 ; -6 = 33%
+ db 36, 100 ; -5 = 36%
+ db 43, 100 ; -4 = 43%
+ db 50, 100 ; -3 = 50%
+ db 60, 100 ; -2 = 60%
+ db 75, 100 ; -1 = 75%
+ db 1, 1 ; 0 = 100%
+ db 133, 100 ; +1 = 133%
+ db 166, 100 ; +2 = 166%
+ db 2, 1 ; +3 = 200%
+ db 233, 100 ; +4 = 233%
+ db 133, 50 ; +5 = 266%
+ db 3, 1 ; +6 = 300%
diff --git a/data/moves/flail_reversal_power.asm b/data/moves/flail_reversal_power.asm
new file mode 100644
index 00000000..fb915905
--- /dev/null
+++ b/data/moves/flail_reversal_power.asm
@@ -0,0 +1,8 @@
+FlailReversalPower:
+ ; hp bar pixels, power
+ db HP_BAR_LENGTH_PX / 48, 200
+ db HP_BAR_LENGTH_PX / 12, 150
+ db HP_BAR_LENGTH_PX / 5, 100
+ db HP_BAR_LENGTH_PX / 3, 80
+ db HP_BAR_LENGTH_PX * 2 / 3, 40
+ db HP_BAR_LENGTH_PX, 20
diff --git a/data/pokemon/base_stats/abra.asm b/data/pokemon/base_stats/abra.asm
index e43adeec..d5073235 100644
--- a/data/pokemon/base_stats/abra.asm
+++ b/data/pokemon/base_stats/abra.asm
@@ -3,7 +3,7 @@
db 25, 20, 15, 90, 105, 55
; hp atk def spd sat sdf
- db PSYCHIC, PSYCHIC ; type
+ db PSYCHIC_TYPE, PSYCHIC_TYPE ; type
db 200 ; catch rate
db 73 ; base exp
db NO_ITEM, NO_ITEM ; items
diff --git a/data/pokemon/base_stats/alakazam.asm b/data/pokemon/base_stats/alakazam.asm
index 6524400b..673ae050 100644
--- a/data/pokemon/base_stats/alakazam.asm
+++ b/data/pokemon/base_stats/alakazam.asm
@@ -3,7 +3,7 @@
db 55, 50, 45, 120, 135, 85
; hp atk def spd sat sdf
- db PSYCHIC, PSYCHIC ; type
+ db PSYCHIC_TYPE, PSYCHIC_TYPE ; type
db 50 ; catch rate
db 186 ; base exp
db NO_ITEM, NO_ITEM ; items
diff --git a/data/pokemon/base_stats/celebi.asm b/data/pokemon/base_stats/celebi.asm
index 49cb349d..cef8879f 100644
--- a/data/pokemon/base_stats/celebi.asm
+++ b/data/pokemon/base_stats/celebi.asm
@@ -3,7 +3,7 @@
db 100, 100, 100, 100, 100, 100
; hp atk def spd sat sdf
- db PSYCHIC, GRASS ; type
+ db PSYCHIC_TYPE, GRASS ; type
db 45 ; catch rate
db 64 ; base exp
db NO_ITEM, MIRACLEBERRY ; items
diff --git a/data/pokemon/base_stats/drowzee.asm b/data/pokemon/base_stats/drowzee.asm
index 614dd3d8..f6865872 100644
--- a/data/pokemon/base_stats/drowzee.asm
+++ b/data/pokemon/base_stats/drowzee.asm
@@ -3,7 +3,7 @@
db 60, 48, 45, 42, 43, 90
; hp atk def spd sat sdf
- db PSYCHIC, PSYCHIC ; type
+ db PSYCHIC_TYPE, PSYCHIC_TYPE ; type
db 190 ; catch rate
db 102 ; base exp
db NO_ITEM, NO_ITEM ; items
diff --git a/data/pokemon/base_stats/espeon.asm b/data/pokemon/base_stats/espeon.asm
index 7913fc16..44126640 100644
--- a/data/pokemon/base_stats/espeon.asm
+++ b/data/pokemon/base_stats/espeon.asm
@@ -3,7 +3,7 @@
db 65, 65, 60, 110, 130, 95
; hp atk def spd sat sdf
- db PSYCHIC, PSYCHIC ; type
+ db PSYCHIC_TYPE, PSYCHIC_TYPE ; type
db 45 ; catch rate
db 197 ; base exp
db NO_ITEM, NO_ITEM ; items
diff --git a/data/pokemon/base_stats/exeggcute.asm b/data/pokemon/base_stats/exeggcute.asm
index 6aad891f..8ec4ac50 100644
--- a/data/pokemon/base_stats/exeggcute.asm
+++ b/data/pokemon/base_stats/exeggcute.asm
@@ -3,7 +3,7 @@
db 60, 40, 80, 40, 60, 45
; hp atk def spd sat sdf
- db GRASS, PSYCHIC ; type
+ db GRASS, PSYCHIC_TYPE ; type
db 90 ; catch rate
db 98 ; base exp
db NO_ITEM, NO_ITEM ; items
diff --git a/data/pokemon/base_stats/exeggutor.asm b/data/pokemon/base_stats/exeggutor.asm
index f67ecf4a..7a217259 100644
--- a/data/pokemon/base_stats/exeggutor.asm
+++ b/data/pokemon/base_stats/exeggutor.asm
@@ -3,7 +3,7 @@
db 95, 95, 85, 55, 125, 65
; hp atk def spd sat sdf
- db GRASS, PSYCHIC ; type
+ db GRASS, PSYCHIC_TYPE ; type
db 45 ; catch rate
db 212 ; base exp
db NO_ITEM, NO_ITEM ; items
diff --git a/data/pokemon/base_stats/girafarig.asm b/data/pokemon/base_stats/girafarig.asm
index 93acd159..015b46ad 100644
--- a/data/pokemon/base_stats/girafarig.asm
+++ b/data/pokemon/base_stats/girafarig.asm
@@ -3,7 +3,7 @@
db 70, 80, 65, 85, 90, 65
; hp atk def spd sat sdf
- db NORMAL, PSYCHIC ; type
+ db NORMAL, PSYCHIC_TYPE ; type
db 60 ; catch rate
db 149 ; base exp
db NO_ITEM, NO_ITEM ; items
diff --git a/data/pokemon/base_stats/hypno.asm b/data/pokemon/base_stats/hypno.asm
index f19dd638..8490a106 100644
--- a/data/pokemon/base_stats/hypno.asm
+++ b/data/pokemon/base_stats/hypno.asm
@@ -3,7 +3,7 @@
db 85, 73, 70, 67, 73, 115
; hp atk def spd sat sdf
- db PSYCHIC, PSYCHIC ; type
+ db PSYCHIC_TYPE, PSYCHIC_TYPE ; type
db 75 ; catch rate
db 165 ; base exp
db NO_ITEM, NO_ITEM ; items
diff --git a/data/pokemon/base_stats/jynx.asm b/data/pokemon/base_stats/jynx.asm
index 3e43e23b..6563aa28 100644
--- a/data/pokemon/base_stats/jynx.asm
+++ b/data/pokemon/base_stats/jynx.asm
@@ -3,7 +3,7 @@
db 65, 50, 35, 95, 115, 95
; hp atk def spd sat sdf
- db ICE, PSYCHIC ; type
+ db ICE, PSYCHIC_TYPE ; type
db 45 ; catch rate
db 137 ; base exp
db ICE_BERRY, ICE_BERRY ; items
diff --git a/data/pokemon/base_stats/kadabra.asm b/data/pokemon/base_stats/kadabra.asm
index da2f3bf4..48a34dde 100644
--- a/data/pokemon/base_stats/kadabra.asm
+++ b/data/pokemon/base_stats/kadabra.asm
@@ -3,7 +3,7 @@
db 40, 35, 30, 105, 120, 70
; hp atk def spd sat sdf
- db PSYCHIC, PSYCHIC ; type
+ db PSYCHIC_TYPE, PSYCHIC_TYPE ; type
db 100 ; catch rate
db 145 ; base exp
db NO_ITEM, NO_ITEM ; items
diff --git a/data/pokemon/base_stats/lugia.asm b/data/pokemon/base_stats/lugia.asm
index 9fa2a759..f29ccc33 100644
--- a/data/pokemon/base_stats/lugia.asm
+++ b/data/pokemon/base_stats/lugia.asm
@@ -3,7 +3,7 @@
db 106, 90, 130, 110, 90, 154
; hp atk def spd sat sdf
- db PSYCHIC, FLYING ; type
+ db PSYCHIC_TYPE, FLYING ; type
db 3 ; catch rate
db 220 ; base exp
db NO_ITEM, NO_ITEM ; items
diff --git a/data/pokemon/base_stats/mew.asm b/data/pokemon/base_stats/mew.asm
index c910fa66..6236dc88 100644
--- a/data/pokemon/base_stats/mew.asm
+++ b/data/pokemon/base_stats/mew.asm
@@ -3,7 +3,7 @@
db 100, 100, 100, 100, 100, 100
; hp atk def spd sat sdf
- db PSYCHIC, PSYCHIC ; type
+ db PSYCHIC_TYPE, PSYCHIC_TYPE ; type
db 45 ; catch rate
db 64 ; base exp
db NO_ITEM, MIRACLEBERRY ; items
diff --git a/data/pokemon/base_stats/mewtwo.asm b/data/pokemon/base_stats/mewtwo.asm
index 39f1fdbf..66a7bd72 100644
--- a/data/pokemon/base_stats/mewtwo.asm
+++ b/data/pokemon/base_stats/mewtwo.asm
@@ -3,7 +3,7 @@
db 106, 110, 90, 130, 154, 90
; hp atk def spd sat sdf
- db PSYCHIC, PSYCHIC ; type
+ db PSYCHIC_TYPE, PSYCHIC_TYPE ; type
db 3 ; catch rate
db 220 ; base exp
db NO_ITEM, BERSERK_GENE ; items
diff --git a/data/pokemon/base_stats/mr__mime.asm b/data/pokemon/base_stats/mr__mime.asm
index 5d7d2bad..f690cec6 100644
--- a/data/pokemon/base_stats/mr__mime.asm
+++ b/data/pokemon/base_stats/mr__mime.asm
@@ -3,7 +3,7 @@
db 40, 45, 65, 90, 100, 120
; hp atk def spd sat sdf
- db PSYCHIC, PSYCHIC ; type
+ db PSYCHIC_TYPE, PSYCHIC_TYPE ; type
db 45 ; catch rate
db 136 ; base exp
db NO_ITEM, MYSTERYBERRY ; items
diff --git a/data/pokemon/base_stats/natu.asm b/data/pokemon/base_stats/natu.asm
index 4eaa2677..e4906ab9 100644
--- a/data/pokemon/base_stats/natu.asm
+++ b/data/pokemon/base_stats/natu.asm
@@ -3,7 +3,7 @@
db 40, 50, 45, 70, 70, 45
; hp atk def spd sat sdf
- db PSYCHIC, FLYING ; type
+ db PSYCHIC_TYPE, FLYING ; type
db 190 ; catch rate
db 73 ; base exp
db NO_ITEM, NO_ITEM ; items
diff --git a/data/pokemon/base_stats/slowbro.asm b/data/pokemon/base_stats/slowbro.asm
index 2e256b36..ffe95d6c 100644
--- a/data/pokemon/base_stats/slowbro.asm
+++ b/data/pokemon/base_stats/slowbro.asm
@@ -3,7 +3,7 @@
db 95, 75, 110, 30, 100, 80
; hp atk def spd sat sdf
- db WATER, PSYCHIC ; type
+ db WATER, PSYCHIC_TYPE ; type
db 75 ; catch rate
db 164 ; base exp
db NO_ITEM, KINGS_ROCK ; items
diff --git a/data/pokemon/base_stats/slowking.asm b/data/pokemon/base_stats/slowking.asm
index 0c870f4a..d7e9b4af 100644
--- a/data/pokemon/base_stats/slowking.asm
+++ b/data/pokemon/base_stats/slowking.asm
@@ -3,7 +3,7 @@
db 95, 75, 80, 30, 100, 110
; hp atk def spd sat sdf
- db WATER, PSYCHIC ; type
+ db WATER, PSYCHIC_TYPE ; type
db 70 ; catch rate
db 164 ; base exp
db NO_ITEM, KINGS_ROCK ; items
diff --git a/data/pokemon/base_stats/slowpoke.asm b/data/pokemon/base_stats/slowpoke.asm
index e8c718b8..cc06c5b0 100644
--- a/data/pokemon/base_stats/slowpoke.asm
+++ b/data/pokemon/base_stats/slowpoke.asm
@@ -3,7 +3,7 @@
db 90, 65, 65, 15, 40, 40
; hp atk def spd sat sdf
- db WATER, PSYCHIC ; type
+ db WATER, PSYCHIC_TYPE ; type
db 190 ; catch rate
db 99 ; base exp
db NO_ITEM, KINGS_ROCK ; items
diff --git a/data/pokemon/base_stats/smoochum.asm b/data/pokemon/base_stats/smoochum.asm
index d8670632..548ad5f5 100644
--- a/data/pokemon/base_stats/smoochum.asm
+++ b/data/pokemon/base_stats/smoochum.asm
@@ -3,7 +3,7 @@
db 45, 30, 15, 65, 85, 65
; hp atk def spd sat sdf
- db ICE, PSYCHIC ; type
+ db ICE, PSYCHIC_TYPE ; type
db 45 ; catch rate
db 87 ; base exp
db ICE_BERRY, ICE_BERRY ; items
diff --git a/data/pokemon/base_stats/starmie.asm b/data/pokemon/base_stats/starmie.asm
index 262cd612..337afa76 100644
--- a/data/pokemon/base_stats/starmie.asm
+++ b/data/pokemon/base_stats/starmie.asm
@@ -3,7 +3,7 @@
db 60, 75, 85, 115, 100, 85
; hp atk def spd sat sdf
- db WATER, PSYCHIC ; type
+ db WATER, PSYCHIC_TYPE ; type
db 60 ; catch rate
db 207 ; base exp
db STARDUST, STAR_PIECE ; items
diff --git a/data/pokemon/base_stats/unown.asm b/data/pokemon/base_stats/unown.asm
index bf3d0f1f..b8db2883 100644
--- a/data/pokemon/base_stats/unown.asm
+++ b/data/pokemon/base_stats/unown.asm
@@ -3,7 +3,7 @@
db 48, 72, 48, 48, 72, 48
; hp atk def spd sat sdf
- db PSYCHIC, PSYCHIC ; type
+ db PSYCHIC_TYPE, PSYCHIC_TYPE ; type
db 225 ; catch rate
db 61 ; base exp
db NO_ITEM, NO_ITEM ; items
diff --git a/data/pokemon/base_stats/wobbuffet.asm b/data/pokemon/base_stats/wobbuffet.asm
index e04d443a..855a7d99 100644
--- a/data/pokemon/base_stats/wobbuffet.asm
+++ b/data/pokemon/base_stats/wobbuffet.asm
@@ -3,7 +3,7 @@
db 190, 33, 58, 33, 33, 58
; hp atk def spd sat sdf
- db PSYCHIC, PSYCHIC ; type
+ db PSYCHIC_TYPE, PSYCHIC_TYPE ; type
db 45 ; catch rate
db 177 ; base exp
db NO_ITEM, NO_ITEM ; items
diff --git a/data/pokemon/base_stats/xatu.asm b/data/pokemon/base_stats/xatu.asm
index d0fe363f..f1fc7a55 100644
--- a/data/pokemon/base_stats/xatu.asm
+++ b/data/pokemon/base_stats/xatu.asm
@@ -3,7 +3,7 @@
db 65, 75, 70, 95, 95, 70
; hp atk def spd sat sdf
- db PSYCHIC, FLYING ; type
+ db PSYCHIC_TYPE, FLYING ; type
db 75 ; catch rate
db 171 ; base exp
db NO_ITEM, NO_ITEM ; items
diff --git a/data/types/type_boost_items.asm b/data/types/type_boost_items.asm
new file mode 100644
index 00000000..85a58db1
--- /dev/null
+++ b/data/types/type_boost_items.asm
@@ -0,0 +1,19 @@
+TypeBoostItems:
+ db HELD_NORMAL_BOOST, NORMAL ; PINK_BOW/POLKADOT_BOW
+ db HELD_FIGHTING_BOOST, FIGHTING ; BLACKBELT_I
+ db HELD_FLYING_BOOST, FLYING ; SHARP_BEAK
+ db HELD_POISON_BOOST, POISON ; POISON BARB
+ db HELD_GROUND_BOOST, GROUND ; SOFT_SAND
+ db HELD_ROCK_BOOST, ROCK ; HARD_STONE
+ db HELD_BUG_BOOST, BUG ; SILVERPOWDER
+ db HELD_GHOST_BOOST, GHOST ; SPELL_TAG
+ db HELD_FIRE_BOOST, FIRE ; CHARCOAL
+ db HELD_WATER_BOOST, WATER ; MYSTIC WATER
+ db HELD_GRASS_BOOST, GRASS ; MIRACLE_SEED
+ db HELD_ELECTRIC_BOOST, ELECTRIC ; MAGNET
+ db HELD_PSYCHIC_BOOST, PSYCHIC_TYPE ; TWISTEDSPOON
+ db HELD_ICE_BOOST, ICE ; NEVERMELTICE
+ db HELD_DRAGON_BOOST, DRAGON ; DRAGON_SCALE
+ db HELD_DARK_BOOST, DARK ; BLACKGLASSES
+ db HELD_STEEL_BOOST, STEEL ; METAL_COAT
+ db -1
diff --git a/data/types/type_matchups.asm b/data/types/type_matchups.asm
new file mode 100644
index 00000000..81906b0f
--- /dev/null
+++ b/data/types/type_matchups.asm
@@ -0,0 +1,118 @@
+TypeMatchups:
+ ; 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_TYPE, 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_TYPE, FIGHTING, SUPER_EFFECTIVE
+ db PSYCHIC_TYPE, POISON, SUPER_EFFECTIVE
+ db PSYCHIC_TYPE, PSYCHIC_TYPE, NOT_VERY_EFFECTIVE
+ db PSYCHIC_TYPE, DARK, NO_EFFECT
+ db PSYCHIC_TYPE, 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_TYPE, 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_TYPE, 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_TYPE, 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
+
+ db -2 ; end (with Foresight)
+
+; Foresight removes Ghost's immunities.
+ db NORMAL, GHOST, NO_EFFECT
+ db FIGHTING, GHOST, NO_EFFECT
+
+ db -1 ; end