shithub: pokered

Download patch

ref: a3d3f8324a670aad8bf1348b65192544c8ab2d9f
parent: 008cface5253f5e3e786daea365d9528a50e8dbf
author: IIMarckus <iimarckus@gmail.com>
date: Thu Oct 16 22:42:32 EDT 2014

Kill version.asm.

--- a/audio/sfx/sfx_1f_5d.asm
+++ b/audio/sfx/sfx_1f_5d.asm
@@ -1,6 +1,6 @@
 SFX_1f_5d_Ch1: ; 7c45e (1f:445e)
 	duty 2
-IF _RED
+IF DEF(_RED)
 	unknownsfx0x20 4, 244, 0, 7
 	unknownsfx0x20 3, 228, 128, 6
 	unknownsfx0x20 3, 228, 192, 6
@@ -18,7 +18,7 @@
 
 SFX_1f_5d_Ch2: ; 7c475 (1f:4475)
 	duty 2
-IF _RED
+IF DEF(_RED)
 	unknownsfx0x20 4, 8, 0, 0
 	unknownsfx0x20 3, 212, 1, 7
 	unknownsfx0x20 3, 196, 129, 6
--- a/constants.asm
+++ b/constants.asm
@@ -1,5 +1,3 @@
-INCLUDE "version.asm"
-
 INCLUDE "macros.asm"
 
 INCLUDE "hram.asm"
--- a/data/baseStats/alakazam.asm
+++ b/data/baseStats/alakazam.asm
@@ -14,13 +14,12 @@
 dw AlakazamPicBack
 ; attacks known at lvl 0
 db TELEPORT
-IF !_YELLOW
-	db CONFUSION
-	db DISABLE
-ENDC
-IF _YELLOW
+IF DEF(_YELLOW)
 	db KINESIS
 	db 0
+ELSE
+	db CONFUSION
+	db DISABLE
 ENDC
 db 0
 db 3 ; growth rate
--- a/data/baseStats/butterfree.asm
+++ b/data/baseStats/butterfree.asm
@@ -25,10 +25,9 @@
 db %11110000
 db %01000011
 db %00101000
-IF !_YELLOW
-	db %00000010
-ENDC
-IF _YELLOW
+IF DEF(_YELLOW)
 	db %01000010
+ELSE
+	db %00000010
 ENDC
 db 0 ; padding
--- a/data/baseStats/chansey.asm
+++ b/data/baseStats/chansey.asm
@@ -14,11 +14,10 @@
 dw ChanseyPicBack
 ; attacks known at lvl 0
 db POUND
-IF !_YELLOW
-	db DOUBLESLAP
-ENDC
-IF _YELLOW
+IF DEF(_YELLOW)
 	db TAIL_WHIP
+ELSE
+	db DOUBLESLAP
 ENDC
 db 0
 db 0
--- a/data/baseStats/charizard.asm
+++ b/data/baseStats/charizard.asm
@@ -25,10 +25,9 @@
 db %11001110
 db %11100011
 db %00001000
-IF !_YELLOW
-	db %00100110
-ENDC
-IF _YELLOW
+IF DEF(_YELLOW)
 	db %00101110
+ELSE
+	db %00100110
 ENDC
 db 0 ; padding
--- a/data/baseStats/diglett.asm
+++ b/data/baseStats/diglett.asm
@@ -25,10 +25,9 @@
 db %11001110
 db %00000010
 db %10001000
-IF !_YELLOW
-	db %00000010
-ENDC
-IF _YELLOW
+IF DEF(_YELLOW)
 	db %00000110
+ELSE
+	db %00000010
 ENDC
 db 0 ; padding
--- a/data/baseStats/dugtrio.asm
+++ b/data/baseStats/dugtrio.asm
@@ -25,10 +25,9 @@
 db %11001110
 db %00000010
 db %10001000
-IF !_YELLOW
-	db %00000010
-ENDC
-IF _YELLOW
+IF DEF(_YELLOW)
 	db %00000110
+ELSE
+	db %00000010
 ENDC
 db 0 ; padding
--- a/data/baseStats/eevee.asm
+++ b/data/baseStats/eevee.asm
@@ -14,11 +14,10 @@
 dw EeveePicBack
 ; attacks known at lvl 0
 db TACKLE
-IF !_YELLOW
-	db SAND_ATTACK
-ENDC
-IF _YELLOW
+IF DEF(_YELLOW)
 	db TAIL_WHIP
+ELSE
+	db SAND_ATTACK
 ENDC
 db 0
 db 0
--- a/data/baseStats/flareon.asm
+++ b/data/baseStats/flareon.asm
@@ -14,11 +14,10 @@
 dw FlareonPicBack
 ; attacks known at lvl 0
 db TACKLE
-IF !_YELLOW
-	db SAND_ATTACK
-ENDC
-IF _YELLOW
+IF DEF(_YELLOW)
 	db TAIL_WHIP
+ELSE
+	db SAND_ATTACK
 ENDC
 db QUICK_ATTACK
 db EMBER
--- a/data/baseStats/gyarados.asm
+++ b/data/baseStats/gyarados.asm
@@ -13,17 +13,16 @@
 dw GyaradosPicFront
 dw GyaradosPicBack
 ; attacks known at lvl 0
-IF !_YELLOW
-db BITE
-db DRAGON_RAGE
-db LEER
-db HYDRO_PUMP
-ENDC
-IF _YELLOW
+IF DEF(_YELLOW)
 db TACKLE
 db 0
 db 0
 db 0
+ELSE
+db BITE
+db DRAGON_RAGE
+db LEER
+db HYDRO_PUMP
 ENDC
 db 5 ; growth rate
 ; learnset
--- a/data/baseStats/jolteon.asm
+++ b/data/baseStats/jolteon.asm
@@ -14,11 +14,10 @@
 dw JolteonPicBack
 ; attacks known at lvl 0
 db TACKLE
-IF !_YELLOW
-	db SAND_ATTACK
-ENDC
-IF _YELLOW
+IF DEF(_YELLOW)
 	db TAIL_WHIP
+ELSE
+	db SAND_ATTACK
 ENDC
 db QUICK_ATTACK
 db THUNDERSHOCK
--- a/data/baseStats/kadabra.asm
+++ b/data/baseStats/kadabra.asm
@@ -14,13 +14,12 @@
 dw KadabraPicBack
 ; attacks known at lvl 0
 db TELEPORT
-IF !_YELLOW
-	db CONFUSION
-	db DISABLE
-ENDC
-IF _YELLOW
+IF DEF(_YELLOW)
 	DB KINESIS
 	db 0
+ELSE
+	db CONFUSION
+	db DISABLE
 ENDC
 db 0
 db 3 ; growth rate
--- a/data/baseStats/marowak.asm
+++ b/data/baseStats/marowak.asm
@@ -14,15 +14,14 @@
 dw MarowakPicBack
 ; attacks known at lvl 0
 db BONE_CLUB
-IF !_YELLOW
-	db GROWL
-	db LEER
-	db FOCUS_ENERGY
-ENDC
-IF _YELLOW
+IF DEF(_YELLOW)
 	db TAIL_WHIP
 	db 0
 	db 0
+ELSE
+	db GROWL
+	db LEER
+	db FOCUS_ENERGY
 ENDC
 db 0 ; growth rate
 ; learnset
--- a/data/baseStats/primeape.asm
+++ b/data/baseStats/primeape.asm
@@ -14,12 +14,12 @@
 dw PrimeapePicBack
 ; attacks known at lvl 0
 db SCRATCH
-IF !_YELLOW
+IF !DEF(_YELLOW)
 	db LEER
 ENDC
 db KARATE_CHOP
 db FURY_SWIPES
-IF _YELLOW
+IF DEF(_YELLOW)
 	db LOW_KICK
 ENDC
 db 0 ; growth rate
--- a/data/baseStats/vaporeon.asm
+++ b/data/baseStats/vaporeon.asm
@@ -14,11 +14,10 @@
 dw VaporeonPicBack
 ; attacks known at lvl 0
 db TACKLE
-IF !_YELLOW
-	db SAND_ATTACK
-ENDC
-IF _YELLOW
+IF DEF(_YELLOW)
 	db TAIL_WHIP
+ELSE
+	db SAND_ATTACK
 ENDC
 db QUICK_ATTACK
 db WATER_GUN
--- a/data/baseStats/venomoth.asm
+++ b/data/baseStats/venomoth.asm
@@ -15,13 +15,12 @@
 ; attacks known at lvl 0
 db TACKLE
 db DISABLE
-IF !_YELLOW
-	db POISONPOWDER
-	db LEECH_LIFE
-ENDC
-IF _YELLOW
+IF DEF(_YELLOW)
 	db SUPERSONIC
 	db CONFUSION
+ELSE
+	db POISONPOWDER
+	db LEECH_LIFE
 ENDC
 db 0 ; growth rate
 ; learnset
--- a/data/baseStats/venonat.asm
+++ b/data/baseStats/venonat.asm
@@ -22,17 +22,16 @@
 db %00100000
 db %00000011
 db %00111000
-IF !_YELLOW
-	db %11010000
-	db %00000011
-	db %00101000
-	db %00000010
-ENDC
-IF _YELLOW
+IF DEF(_YELLOW)
 	db %11110000
 	db %01000011
 	db %00101000
 	db %00100010
+ELSE
+	db %11010000
+	db %00000011
+	db %00101000
+	db %00000010
 ENDC
 
 db 0 ; padding
--- a/data/mapObjects/route19.asm
+++ b/data/mapObjects/route19.asm
@@ -1,11 +1,10 @@
 Route19Object: ; 0x54e9a (size=87)
 	db $43 ; border block
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db $1 ; warps
 		db $9, $5, $0, $f8 ; SURF_HOUSE
-	ENDC
-	IF !_YELLOW
+	ELSE
 		db $0 ; warps
 	ENDC
 
@@ -25,6 +24,6 @@
 	db SPRITE_SWIMMER, $2c + 4, $a + 4, $ff, $d0, TRAINER | $a, BEAUTY + $C8, $e
 
 	; warp-to
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		EVENT_DISP ROUTE_19_WIDTH, $9, $5 ; SURF_HOUSE
 	ENDC
--- a/data/prize_mon_levels.asm
+++ b/data/prize_mon_levels.asm
@@ -1,5 +1,5 @@
 PrizeMonLevelDictionary: ; 5298a (14:698a)
-IF _RED
+IF DEF(_RED)
 	db ABRA,9
 	db CLEFAIRY,8
 	db NIDORINA,17
@@ -8,7 +8,7 @@
 	db SCYTHER,25
 	db PORYGON,26
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	db ABRA,6
 	db CLEFAIRY,12
 	db NIDORINO,17
--- a/data/prizes.asm
+++ b/data/prizes.asm
@@ -14,19 +14,19 @@
 PrizeMenuMon1Entries: ; 52859 (14:6859)
 	db ABRA
 	db CLEFAIRY
-IF _RED
+IF DEF(_RED)
 	db NIDORINA
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	db NIDORINO
 ENDC
 	db "@"
 PrizeMenuMon1Cost: ; 5285d (14:685d)
-IF _RED
+IF DEF(_RED)
 	db $01,$80
 	db $05,$00
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	db $01,$20
 	db $07,$50
 ENDC
@@ -34,11 +34,11 @@
 	db "@"
 
 PrizeMenuMon2Entries: ; 52864 (14:6864)
-IF _RED
+IF DEF(_RED)
 	db DRATINI
 	db SCYTHER
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	db PINSIR
 	db DRATINI
 ENDC
@@ -45,12 +45,12 @@
 	db PORYGON
 	db "@"
 PrizeMenuMon2Cost: ; 52868 (14:6868)
-IF _RED
+IF DEF(_RED)
 	db $28,$00
 	db $55,$00
 	db $99,$99
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	db $25,$00
 	db $46,$00
 	db $65,$00
--- a/data/sgb_border.asm
+++ b/data/sgb_border.asm
@@ -1,20 +1,20 @@
 BorderPalettes: ; 72788 (1c:6788)
-IF _RED
+IF DEF(_RED)
 	INCBIN "gfx/red/sgbborder.map"
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	INCBIN "gfx/blue/sgbborder.map"
 ENDC
 
 	ds $100
 
-IF _RED
+IF DEF(_RED)
 	RGB 30,29,29 ; PAL_SGB1
 	RGB 25,22,25
 	RGB 25,17,21
 	RGB 24,14,12
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	RGB 0,0,0 ; PAL_SGB1 (the first color is not defined, but if used, turns up as 30,29,29... o_O)
 	RGB 10,17,26
 	RGB 5,9,20
@@ -23,13 +23,13 @@
 
 	ds $18
 
-IF _RED
+IF DEF(_RED)
 	RGB 30,29,29 ; PAL_SGB2
 	RGB 22,31,16
 	RGB 27,20,6
 	RGB 15,15,15
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	RGB 30,29,29 ; PAL_SGB2
 	RGB 27,11,6
 	RGB 5,9,20
@@ -38,13 +38,13 @@
 
 	ds $18
 
-IF _RED
+IF DEF(_RED)
 	RGB 30,29,29 ; PAL_SGB3
 	RGB 31,31,17
 	RGB 18,21,29
 	RGB 15,15,15
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	RGB 30,29,29 ; PAL_SGB3
 	RGB 12,15,11
 	RGB 5,9,20
@@ -54,9 +54,9 @@
 	ds $18
 
 SGBBorderGraphics: ; 72fe8 (1c:6fe8)
-IF _RED
+IF DEF(_RED)
 	INCBIN "gfx/red/sgbborder.2bpp"
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	INCBIN "gfx/blue/sgbborder.2bpp"
 ENDC
--- a/data/super_palettes.asm
+++ b/data/super_palettes.asm
@@ -52,13 +52,13 @@
 	RGB 20,26,31
 	RGB 17,23,10
 	RGB 3,2,2
-IF _RED
+IF DEF(_RED)
 	RGB 31,29,31 ; PAL_LOGO1
 	RGB 30,30,17
 	RGB 17,23,10
 	RGB 21,0,4
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	RGB 31,29,31 ; PAL_LOGO1
 	RGB 30,30,17
 	RGB 21,0,4
@@ -118,28 +118,28 @@
 	RGB 3,2,2
 	RGB 31,29,31 ; PAL_SLOTS2
 	RGB 31,31,17
-IF _RED
+IF DEF(_RED)
 	RGB 25,17,21
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	RGB 16,19,29
 ENDC
 	RGB 3,2,2
 	RGB 31,29,31 ; PAL_SLOTS3
 	RGB 22,31,16
-IF _RED
+IF DEF(_RED)
 	RGB 25,17,21
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	RGB 16,19,29
 ENDC
 	RGB 3,2,2
 	RGB 31,29,31 ; PAL_SLOTS4
-IF _RED
+IF DEF(_RED)
 	RGB 16,19,29
 	RGB 25,17,21
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	RGB 25,17,21
 	RGB 16,19,29
 ENDC
--- a/data/title_mons.asm
+++ b/data/title_mons.asm
@@ -1,6 +1,6 @@
 TitleMons: ; 4588 (1:4588)
 ; mons on the title screen are randomly chosen from here
-IF _RED
+IF DEF(_RED)
 	db CHARMANDER
 	db SQUIRTLE
 	db BULBASAUR
@@ -18,7 +18,7 @@
 	db PONYTA
 	db MAGIKARP
 ENDC
-IF _GREEN
+IF DEF(_GREEN)
 	db BULBASAUR
 	db CHARMANDER
 	db SQUIRTLE
@@ -36,7 +36,7 @@
 	db PONYTA
 	db MAGIKARP
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	db SQUIRTLE
 	db CHARMANDER
 	db BULBASAUR
--- a/data/trades.asm
+++ b/data/trades.asm
@@ -1,6 +1,6 @@
 TradeMons: ; 71b7b (1c:5b7b)
 ; givemonster, getmonster, textstring, nickname (11 bytes), 14 bytes total
-IF _YELLOW
+IF DEF(_YELLOW)
 	db LICKITUNG, DUGTRIO,   0,"GURIO@@@@@@"
 	db CLEFAIRY,  MR_MIME,   0,"MILES@@@@@@"
 	db BUTTERFREE,BEEDRILL,  2,"STINGER@@@@"
--- a/data/trainer_moves.asm
+++ b/data/trainer_moves.asm
@@ -1,3 +1,4 @@
+IF !DEF(YELLOW)
 LoneMoves: ; 39d22 (e:5d22)
 ; these are used for gym leaders.
 ; this is not automatic! you have to write the number you want to W_LONEATTACKNO
@@ -31,12 +32,14 @@
 	db LANCE,BARRIER
 	db $FF
 
-if _YELLOW
-; different format from above.
+ELSE
+; yellow has its own format.
 
 ; entry ≔ trainerclass, trainerid, moveset+, 0
 ; moveset ≔ partymon, partymon'smove, moveid
 
+LoneMoves:
+TeamMoves:
 	db BUG_CATCHER,$f
 	db 2,2,TACKLE
 	db 2,3,STRING_SHOT
--- a/data/trainer_parties.asm
+++ b/data/trainer_parties.asm
@@ -33,11 +33,11 @@
 	db 17,RATTATA,RATTATA,RATICATE,0
 	db 18,NIDORAN_M,NIDORINO,0
 	db 17,SPEAROW,RATTATA,RATTATA,SPEAROW,0
-if _YELLOW
+if DEF(_YELLOW)
 	db 24,SANDSHREW,0
 endc
 BugCatcherData: ; 39dce (e:5dce)
-if _YELLOW
+if DEF(_YELLOW)
 	db 7,CATERPIE,CATERPIE,0
 	db 6,METAPOD,CATERPIE,METAPOD,0
 	db 10,CATERPIE,0
@@ -57,7 +57,7 @@
 	db 18,METAPOD,CATERPIE,VENONAT,0
 	db 19,BEEDRILL,BEEDRILL,0
 	db 20,CATERPIE,WEEDLE,VENONAT,0
-if _YELLOW
+if DEF(_YELLOW)
 	db 8,CATERPIE,METAPOD,0
 endc
 LassData: ; 39e0c (e:5e0c)
@@ -72,7 +72,7 @@
 	db 15,NIDORAN_M,NIDORAN_F,0
 	db 13,ODDISH,PIDGEY,ODDISH,0
 	db 18,PIDGEY,NIDORAN_F,0
-if _YELLOW
+if DEF(_YELLOW)
 	db 20,JIGGLYPUFF,0
 else
 	db 18,RATTATA,PIKACHU,0
@@ -79,7 +79,7 @@
 endc
 	db 23,NIDORAN_F,NIDORINA,0
 	db 24,MEOWTH,MEOWTH,MEOWTH,0
-if _YELLOW
+if DEF(_YELLOW)
 	db 19,PIDGEY,RATTATA,NIDORAN_F,MEOWTH,NIDORAN_M,0
 else
 	db 19,PIDGEY,RATTATA,NIDORAN_M,MEOWTH,PIKACHU,0
@@ -87,7 +87,7 @@
 	db 22,CLEFAIRY,CLEFAIRY,0
 	db 23,BELLSPROUT,WEEPINBELL,0
 	db 23,ODDISH,GLOOM,0
-if _YELLOW
+if DEF(_YELLOW)
 	db 6,NIDORAN_F,NIDORAN_M,0
 endc
 SailorData: ; 39e58 (e:5e58)
@@ -98,13 +98,13 @@
 	db 18,TENTACOOL,STARYU,0
 	db 17,HORSEA,HORSEA,HORSEA,0
 	db 20,MACHOP,0
-if _YELLOW
+if DEF(_YELLOW)
 	db 24,MAGNEMITE,0
 else
 	db 21,PIKACHU,PIKACHU,0
 endc
 JrTrainerMData: ; 39e78 (e:5e78)
-if _YELLOW
+if DEF(_YELLOW)
 	db 9,DIGLETT,SANDSHREW,0
 else
 	db 11,DIGLETT,SANDSHREW,0
@@ -117,12 +117,12 @@
 	db 21,GROWLITHE,CHARMANDER,0
 	db 19,RATTATA,DIGLETT,EKANS,SANDSHREW,0
 	db 29,NIDORAN_M,NIDORINO,0
-if _YELLOW
+if DEF(_YELLOW)
 	db 16,WEEPINBELL,0
 endc
 JrTrainerFData: ; 39e9d (e:5e9d)
 	db 19,GOLDEEN,0
-if _YELLOW
+if DEF(_YELLOW)
 	db 16,ODDISH,BELLSPROUT,0
 else
 	db 16,RATTATA,PIKACHU,0
@@ -131,7 +131,7 @@
 	db 22,BULBASAUR,0
 	db 18,ODDISH,BELLSPROUT,ODDISH,BELLSPROUT,0
 	db 23,MEOWTH,0
-if _YELLOW
+if DEF(_YELLOW)
 	db 20,JIGGLYPUFF,CLEFAIRY,0
 else
 	db 20,PIKACHU,CLEFAIRY,0
@@ -140,7 +140,7 @@
 	db 21,JIGGLYPUFF,PIDGEY,MEOWTH,0
 	db 22,ODDISH,BULBASAUR,0
 	db 24,BULBASAUR,IVYSAUR,0
-if _YELLOW
+if DEF(_YELLOW)
 	db 24,PIDGEY,MEOWTH,RATTATA,PIDGEY,MEOWTH,0
 else
 	db 24,PIDGEY,MEOWTH,RATTATA,PIKACHU,MEOWTH,0
@@ -153,7 +153,7 @@
 	db 20,MEOWTH,ODDISH,PIDGEY,0
 	db 19,PIDGEY,RATTATA,RATTATA,BELLSPROUT,0
 	db 28,GLOOM,ODDISH,ODDISH,0
-if _YELLOW
+if DEF(_YELLOW)
 	db 29,PIDGEY,PIDGEOTTO,0
 else
 	db 29,PIKACHU,RAICHU,0
@@ -161,7 +161,7 @@
 	db 33,CLEFAIRY,0
 	db 29,BELLSPROUT,ODDISH,TANGELA,0
 	db 30,TENTACOOL,HORSEA,SEEL,0
-if _YELLOW
+if DEF(_YELLOW)
 	db 20,CUBONE,0
 endc
 PokemaniacData: ; 39f09 (e:5f09)
@@ -282,7 +282,7 @@
 	db 21,ODDISH,BELLSPROUT,ODDISH,BELLSPROUT,0
 	db 24,BELLSPROUT,BELLSPROUT,0
 	db 26,EXEGGCUTE,0
-if _YELLOW
+if DEF(_YELLOW)
 	db 27,RATTATA,VULPIX,RATTATA,0
 else
 	db 27,RATTATA,PIKACHU,RATTATA,0
@@ -304,7 +304,7 @@
 	db 33,SLOWPOKE,SLOWPOKE,SLOWBRO,0
 	db 38,SLOWBRO,0
 RockerData: ; 3a127 (e:6127)
-if _YELLOW
+if DEF(_YELLOW)
 	db 20,VOLTORB,VOLTORB,VOLTORB,0
 else
 	db 20,VOLTORB,MAGNEMITE,VOLTORB,0
@@ -355,7 +355,7 @@
 	db 38,MACHOKE,MACHOP,MACHOKE,0
 	db 43,MACHOKE,MACHOP,MACHOKE,0
 Green1Data: ; 3a1e4 (e:61e4)
-if _YELLOW
+if DEF(_YELLOW)
 	db 5,EEVEE,0
 	db $FF,9,SPEAROW,8,EEVEE,0
 	db $FF,18,SPEAROW,15,SANDSHREW,15,RATTATA,17,EEVEE,0
@@ -391,7 +391,7 @@
 	db 33,MAGNEMITE,MAGNETON,VOLTORB,0
 	db 34,MAGNEMITE,ELECTRODE,0
 GiovanniData: ; 3a27e (e:627e)
-if _YELLOW
+if DEF(_YELLOW)
 	db $FF,25,ONIX,24,RHYHORN,29,PERSIAN,0
 	db $FF,37,NIDORINO,35,PERSIAN,37,RHYHORN,41,NIDOQUEEN,0
 	db $FF,50,DUGTRIO,53,PERSIAN,53,NIDOQUEEN,55,NIDOKING,55,RHYDON,0
@@ -442,7 +442,7 @@
 	db 33,MACHOKE,0
 	db 25,RATTATA,RATTATA,ZUBAT,RATTATA,EKANS,0
 	db 32,CUBONE,DROWZEE,MAROWAK,0
-if _YELLOW
+if DEF(_YELLOW)
 JessieJamesData:
 	db 14,EKANS,MEOWTH,KOFFING,0
 	db 25,KOFFING,MEOWTH,EKANS,0
@@ -476,7 +476,7 @@
 BrunoData: ; 3a3a9 (e:63a9)
 	db $FF,53,ONIX,55,HITMONCHAN,55,HITMONLEE,56,ONIX,58,MACHAMP,0
 BrockData: ; 3a3b5 (e:63b5)
-if _YELLOW
+if DEF(_YELLOW)
 	db $FF,10,GEODUDE,12,ONIX,0
 else
 	db $FF,12,GEODUDE,14,ONIX,0
@@ -484,31 +484,31 @@
 MistyData: ; 3a3bb (e:63bb)
 	db $FF,18,STARYU,21,STARMIE,0
 LtSurgeData: ; 3a3c1 (e:63c1)
-if _YELLOW
+if DEF(_YELLOW)
 	db $FF,28,RAICHU,0
 else
 	db $FF,21,VOLTORB,18,PIKACHU,24,RAICHU,0
 endc
 ErikaData: ; 3a3c9 (e:63c9)
-if _YELLOW
+if DEF(_YELLOW)
 	db $FF,30,TANGELA,32,WEEPINBELL,32,GLOOM,0
 else
 	db $FF,29,VICTREEBEL,24,TANGELA,29,VILEPLUME,0
 endc
 KogaData: ; 3a3d1 (e:63d1)
-if _YELLOW
+if DEF(_YELLOW)
 	db $FF,44,VENONAT,46,VENONAT,48,VENONAT,50,VENOMOTH,0
 else
 	db $FF,37,KOFFING,39,MUK,37,KOFFING,43,WEEZING,0
 endc
 BlaineData: ; 3a3db (e:63db)
-if _YELLOW
+if DEF(_YELLOW)
 	db $FF,48,NINETALES,50,RAPIDASH,54,ARCANINE,0
 else
 	db $FF,42,GROWLITHE,40,PONYTA,42,RAPIDASH,47,ARCANINE,0
 endc
 SabrinaData: ; 3a3e5 (e:63e5)
-if _YELLOW
+if DEF(_YELLOW)
 	db $FF,50,ABRA,50,KADABRA,50,ALAKAZAM,0
 else
 	db $FF,38,KADABRA,37,MR_MIME,38,VENOMOTH,43,ALAKAZAM,0
@@ -516,7 +516,7 @@
 GentlemanData: ; 3a3ef (e:63ef)
 	db 18,GROWLITHE,GROWLITHE,0
 	db 19,NIDORAN_M,NIDORAN_F,0
-if _YELLOW
+if DEF(_YELLOW)
 	db 22,VOLTORB,MAGNEMITE,0
 else
 	db 23,PIKACHU,0
@@ -524,7 +524,7 @@
 	db 48,PRIMEAPE,0
 	db 17,GROWLITHE,PONYTA,0
 Green2Data: ; 3a401 (e:6401)
-if _YELLOW
+if DEF(_YELLOW)
 	db $FF,19,SPEAROW,16,RATTATA,18,SANDSHREW,20,EEVEE,0
 	db $FF,25,FEAROW,23,SHELLDER,22,VULPIX,20,SANDSHREW,25,EEVEE,0
 	db $FF,25,FEAROW,23,MAGNEMITE,22,SHELLDER,20,SANDSHREW,25,EEVEE,0
@@ -550,7 +550,7 @@
 	db $FF,47,PIDGEOT,45,RHYHORN,45,EXEGGCUTE,47,GYARADOS,50,ALAKAZAM,53,CHARIZARD,0
 endc
 Green3Data: ; 3a491 (e:6491)
-if _YELLOW
+if DEF(_YELLOW)
 	db $FF,61,SANDSLASH,59,ALAKAZAM,61,EXEGGUTOR,61,CLOYSTER,63,NINETALES,65,JOLTEON,0
 	db $FF,61,SANDSLASH,59,ALAKAZAM,61,EXEGGUTOR,61,MAGNETON,63,CLOYSTER,65,FLAREON,0
 	db $FF,61,SANDSLASH,59,ALAKAZAM,61,EXEGGUTOR,61,NINETALES,63,MAGNETON,65,VAPOREON,0
--- a/data/wildPokemon/mansion1.asm
+++ b/data/wildPokemon/mansion1.asm
@@ -1,6 +1,6 @@
 MansionMons1:
 	db $0A
-	IF _RED
+	IF DEF(_RED)
 		db 32,KOFFING
 		db 30,KOFFING
 		db 34,PONYTA
@@ -13,7 +13,7 @@
 		db 39,MUK
 	ENDC
 
-	IF _GREEN || _BLUE
+	IF DEF(_GREEN) || DEF(_BLUE)
 		db 32,GRIMER
 		db 30,GRIMER
 		db 34,PONYTA
@@ -26,7 +26,7 @@
 		db 39,WEEZING
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 34,RATTATA
 		db 34,RATICATE
 		db 23,GRIMER
--- a/data/wildPokemon/mansion2.asm
+++ b/data/wildPokemon/mansion2.asm
@@ -1,6 +1,6 @@
 MansionMons2:
 	db $0A
-	IF _RED
+	IF DEF(_RED)
 		db 32,GROWLITHE
 		db 34,KOFFING
 		db 34,KOFFING
@@ -13,7 +13,7 @@
 		db 37,MUK
 	ENDC
 
-	IF _GREEN || !_JAPAN && _BLUE
+	IF DEF(_GREEN) || !DEF(_JAPAN) && DEF(_BLUE)
 		db 32,VULPIX
 		db 34,GRIMER
 		db 34,GRIMER
@@ -26,7 +26,7 @@
 		db 37,WEEZING
 	ENDC
 
-	IF _JAPAN && _BLUE
+	IF DEF(_JAPAN) && DEF(_BLUE)
 		db 32,GROWLITHE
 		db 34,GRIMER
 		db 34,GRIMER
@@ -39,7 +39,7 @@
 		db 37,WEEZING
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 37,RATTATA
 		db 37,RATICATE
 		db 26,GRIMER
--- a/data/wildPokemon/mansion3.asm
+++ b/data/wildPokemon/mansion3.asm
@@ -1,6 +1,6 @@
 MansionMons3:
 	db $0A
-	IF _RED
+	IF DEF(_RED)
 		db 31,KOFFING
 		db 33,GROWLITHE
 		db 35,KOFFING
@@ -13,7 +13,7 @@
 		db 42,MUK
 	ENDC
 
-	IF _GREEN || !_JAPAN && _BLUE
+	IF DEF(_GREEN) || !DEF(_JAPAN) && DEF(_BLUE)
 		db 31,GRIMER
 		db 33,VULPIX
 		db 35,GRIMER
@@ -26,7 +26,7 @@
 		db 42,WEEZING
 	ENDC
 
-	IF _JAPAN && _BLUE
+	IF DEF(_JAPAN) && DEF(_BLUE)
 		db 31,GRIMER
 		db 33,GROWLITHE
 		db 35,GRIMER
@@ -39,7 +39,7 @@
 		db 42,WEEZING
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 40,RATTATA
 		db 40,RATICATE
 		db 32,GRIMER
--- a/data/wildPokemon/mansionb1.asm
+++ b/data/wildPokemon/mansionb1.asm
@@ -1,6 +1,6 @@
 MansionMonsB1:
 	db $0A
-	IF _RED
+	IF DEF(_RED)
 		db 33,KOFFING
 		db 31,KOFFING
 		db 35,GROWLITHE
@@ -13,7 +13,7 @@
 		db 42,MUK
 	ENDC
 
-	IF _GREEN || !_JAPAN && _BLUE
+	IF DEF(_GREEN) || !DEF(_JAPAN) && DEF(_BLUE)
 		db 33,GRIMER
 		db 31,GRIMER
 		db 35,VULPIX
@@ -26,7 +26,7 @@
 		db 42,WEEZING
 	ENDC
 
-	IF _JAPAN && _BLUE
+	IF DEF(_JAPAN) && DEF(_BLUE)
 		db 33,GRIMER
 		db 31,GRIMER
 		db 35,GROWLITHE
@@ -39,7 +39,7 @@
 		db 42,WEEZING
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 35,GRIMER
 		db 38,GRIMER
 		db 37,RATICATE
@@ -53,4 +53,3 @@
 	ENDC
 
 	db $00
-
--- a/data/wildPokemon/mtmoon1.asm
+++ b/data/wildPokemon/mtmoon1.asm
@@ -1,28 +1,27 @@
 MoonMons1:
 	db $0A
-	IF !_YELLOW
+	IF DEF(_YELLOW)
 		db 8,ZUBAT
-		db 7,ZUBAT
 		db 9,ZUBAT
-		db 8,GEODUDE
+		db 10,GEODUDE
 		db 6,ZUBAT
+		db 7,ZUBAT
 		db 10,ZUBAT
 		db 10,GEODUDE
-		db 8,PARAS
 		db 11,ZUBAT
-		db 8,CLEFAIRY
-	ENDC
-	IF _YELLOW
+		db 12,SANDSHREW
+		db 11,CLEFAIRY
+	ELSE
 		db 8,ZUBAT
+		db 7,ZUBAT
 		db 9,ZUBAT
-		db 10,GEODUDE
+		db 8,GEODUDE
 		db 6,ZUBAT
-		db 7,ZUBAT
 		db 10,ZUBAT
 		db 10,GEODUDE
+		db 8,PARAS
 		db 11,ZUBAT
-		db 12,SANDSHREW
-		db 11,CLEFAIRY
+		db 8,CLEFAIRY
 	ENDC
 	db $00
 
--- a/data/wildPokemon/mtmoonb1.asm
+++ b/data/wildPokemon/mtmoonb1.asm
@@ -1,20 +1,8 @@
 MoonMonsB1:
 	db $0A
-	IF !_YELLOW
+	IF DEF(_YELLOW)
 		db 8,ZUBAT
-		db 7,ZUBAT
-		db 7,GEODUDE
-		db 8,GEODUDE
 		db 9,ZUBAT
-		db 10,PARAS
-		db 10,ZUBAT
-		db 11,ZUBAT
-		db 9,CLEFAIRY
-		db 9,GEODUDE
-	ENDC
-	IF _YELLOW
-		db 8,ZUBAT
-		db 9,ZUBAT
 		db 10,GEODUDE
 		db 6,ZUBAT
 		db 7,ZUBAT
@@ -23,6 +11,17 @@
 		db 11,ZUBAT
 		db 12,SANDSHREW
 		db 11,CLEFAIRY
+	ELSE
+		db 8,ZUBAT
+		db 7,ZUBAT
+		db 7,GEODUDE
+		db 8,GEODUDE
+		db 9,ZUBAT
+		db 10,PARAS
+		db 10,ZUBAT
+		db 11,ZUBAT
+		db 9,CLEFAIRY
+		db 9,GEODUDE
 	ENDC
 	db $00
 
--- a/data/wildPokemon/mtmoonb2.asm
+++ b/data/wildPokemon/mtmoonb2.asm
@@ -1,19 +1,7 @@
 MoonMonsB2:
 	db $0A
-	IF !_YELLOW
-		db 9,ZUBAT
-		db 9,GEODUDE
+	IF DEF(_YELLOW)
 		db 10,ZUBAT
-		db 10,GEODUDE
-		db 11,ZUBAT
-		db 10,PARAS
-		db 12,PARAS
-		db 10,CLEFAIRY
-		db 12,ZUBAT
-		db 12,CLEFAIRY
-	ENDC
-	IF _YELLOW
-		db 10,ZUBAT
 		db 11,GEODUDE
 		db 13,PARAS
 		db 11,ZUBAT
@@ -23,6 +11,17 @@
 		db 9,CLEFAIRY
 		db 11,CLEFAIRY
 		db 13,CLEFAIRY
+	ELSE
+		db 9,ZUBAT
+		db 9,GEODUDE
+		db 10,ZUBAT
+		db 10,GEODUDE
+		db 11,ZUBAT
+		db 10,PARAS
+		db 12,PARAS
+		db 10,CLEFAIRY
+		db 12,ZUBAT
+		db 12,CLEFAIRY
 	ENDC
 	db $00
 
--- a/data/wildPokemon/pokemontower3.asm
+++ b/data/wildPokemon/pokemontower3.asm
@@ -1,29 +1,27 @@
 TowerMons3:
 	db $0A
 
-	IF !_YELLOW
+	IF DEF(_YELLOW)
 		db 20,GASTLY
 		db 21,GASTLY
 		db 22,GASTLY
 		db 23,GASTLY
+		db 24,GASTLY
 		db 19,GASTLY
 		db 18,GASTLY
-		db 24,GASTLY
-		db 20,CUBONE
-		db 22,CUBONE
+		db 25,GASTLY
+		db 20,HAUNTER
 		db 25,HAUNTER
-	ENDC
-
-	IF _YELLOW
+	ELSE
 		db 20,GASTLY
 		db 21,GASTLY
 		db 22,GASTLY
 		db 23,GASTLY
-		db 24,GASTLY
 		db 19,GASTLY
 		db 18,GASTLY
-		db 25,GASTLY
-		db 20,HAUNTER
+		db 24,GASTLY
+		db 20,CUBONE
+		db 22,CUBONE
 		db 25,HAUNTER
 	ENDC
 
--- a/data/wildPokemon/pokemontower4.asm
+++ b/data/wildPokemon/pokemontower4.asm
@@ -1,30 +1,28 @@
 TowerMons4:
 	db $0A
 
-	IF !_YELLOW
+	IF DEF(_YELLOW)
 		db 20,GASTLY
 		db 21,GASTLY
 		db 22,GASTLY
 		db 23,GASTLY
+		db 24,GASTLY
 		db 19,GASTLY
 		db 18,GASTLY
+		db 25,GASTLY
+		db 20,HAUNTER
 		db 25,HAUNTER
-		db 20,CUBONE
-		db 22,CUBONE
-		db 24,GASTLY
-	ENDC
-
-	IF _YELLOW
+	ELSE
 		db 20,GASTLY
 		db 21,GASTLY
 		db 22,GASTLY
 		db 23,GASTLY
-		db 24,GASTLY
 		db 19,GASTLY
 		db 18,GASTLY
-		db 25,GASTLY
-		db 20,HAUNTER
 		db 25,HAUNTER
+		db 20,CUBONE
+		db 22,CUBONE
+		db 24,GASTLY
 	ENDC
 
 	db $00
--- a/data/wildPokemon/pokemontower5.asm
+++ b/data/wildPokemon/pokemontower5.asm
@@ -1,23 +1,10 @@
 TowerMons5:
 	db $0A
 
-	IF !_YELLOW
-		db 20,GASTLY
-		db 21,GASTLY
+	IF DEF(_YELLOW)
 		db 22,GASTLY
 		db 23,GASTLY
-		db 19,GASTLY
-		db 18,GASTLY
-		db 25,HAUNTER
-		db 20,CUBONE
-		db 22,CUBONE
 		db 24,GASTLY
-	ENDC
-
-	IF _YELLOW
-		db 22,GASTLY
-		db 23,GASTLY
-		db 24,GASTLY
 		db 25,GASTLY
 		db 26,GASTLY
 		db 21,GASTLY
@@ -25,6 +12,17 @@
 		db 27,GASTLY
 		db 22,HAUNTER
 		db 27,HAUNTER
+	ELSE
+		db 20,GASTLY
+		db 21,GASTLY
+		db 22,GASTLY
+		db 23,GASTLY
+		db 19,GASTLY
+		db 18,GASTLY
+		db 25,HAUNTER
+		db 20,CUBONE
+		db 22,CUBONE
+		db 24,GASTLY
 	ENDC
 
 	db $00
--- a/data/wildPokemon/pokemontower6.asm
+++ b/data/wildPokemon/pokemontower6.asm
@@ -1,23 +1,10 @@
 TowerMons6:
 	db $0F
 
-	IF !_YELLOW
-		db 21,GASTLY
+	IF DEF(_YELLOW)
 		db 22,GASTLY
 		db 23,GASTLY
 		db 24,GASTLY
-		db 20,GASTLY
-		db 19,GASTLY
-		db 26,HAUNTER
-		db 22,CUBONE
-		db 24,CUBONE
-		db 28,HAUNTER
-	ENDC
-
-	IF _YELLOW
-		db 22,GASTLY
-		db 23,GASTLY
-		db 24,GASTLY
 		db 25,GASTLY
 		db 26,GASTLY
 		db 21,GASTLY
@@ -25,6 +12,17 @@
 		db 27,GASTLY
 		db 22,HAUNTER
 		db 27,HAUNTER
+	ELSE
+		db 21,GASTLY
+		db 22,GASTLY
+		db 23,GASTLY
+		db 24,GASTLY
+		db 20,GASTLY
+		db 19,GASTLY
+		db 26,HAUNTER
+		db 22,CUBONE
+		db 24,CUBONE
+		db 28,HAUNTER
 	ENDC
 
 	db $00
--- a/data/wildPokemon/pokemontower7.asm
+++ b/data/wildPokemon/pokemontower7.asm
@@ -1,22 +1,8 @@
 TowerMons7:
 	db $0F
 
-	IF !_YELLOW
-		db 21,GASTLY
-		db 22,GASTLY
-		db 23,GASTLY
+	IF DEF(_YELLOW)
 		db 24,GASTLY
-		db 20,GASTLY
-		db 28,HAUNTER
-		db 22,CUBONE
-		db 24,CUBONE
-		db 28,HAUNTER
-		db 30,HAUNTER
-
-	ENDC
-
-	IF _YELLOW
-		db 24,GASTLY
 		db 25,GASTLY
 		db 26,GASTLY
 		db 27,GASTLY
@@ -26,6 +12,17 @@
 		db 29,GASTLY
 		db 24,HAUNTER
 		db 29,HAUNTER
+	ELSE
+		db 21,GASTLY
+		db 22,GASTLY
+		db 23,GASTLY
+		db 24,GASTLY
+		db 20,GASTLY
+		db 28,HAUNTER
+		db 22,CUBONE
+		db 24,CUBONE
+		db 28,HAUNTER
+		db 30,HAUNTER
 	ENDC
 
 	db $00
--- a/data/wildPokemon/powerplant.asm
+++ b/data/wildPokemon/powerplant.asm
@@ -1,7 +1,18 @@
 PowerPlantMons:
 	db $0A
-	IF !_YELLOW
-	
+
+	IF DEF(_YELLOW)
+		db 30,MAGNEMITE
+		db 35,MAGNEMITE
+		db 33,MAGNETON
+		db 33,VOLTORB
+		db 37,VOLTORB
+		db 33,GRIMER
+		db 37,GRIMER
+		db 38,MAGNETON
+		db 33,MUK
+		db 37,MUK
+	ELSE
 		db 21,VOLTORB
 		db 21,MAGNEMITE
 		db 20,PIKACHU
@@ -10,28 +21,14 @@
 		db 23,VOLTORB
 		db 32,MAGNETON
 		db 35,MAGNETON
-		IF _RED
+		IF DEF(_RED)
 			db 33,ELECTABUZZ
 			db 36,ELECTABUZZ
 		ENDC
-		IF _GREEN || _BLUE
+		IF DEF(_GREEN) || DEF(_BLUE)
 			db 33,RAICHU
 			db 36,RAICHU
 		ENDC
 	ENDC
 
-	IF _YELLOW
-		db 30,MAGNEMITE
-		db 35,MAGNEMITE
-		db 33,MAGNETON
-		db 33,VOLTORB
-		db 37,VOLTORB
-		db 33,GRIMER
-		db 37,GRIMER
-		db 38,MAGNETON
-		db 33,MUK
-		db 37,MUK
-	ENDC
-
 	db $00
-
--- a/data/wildPokemon/rocktunnel1.asm
+++ b/data/wildPokemon/rocktunnel1.asm
@@ -1,16 +1,27 @@
 TunnelMonsB1:
 	db $0F
 
-	IF !_YELLOW
+	IF DEF(_YELLOW)
+		db 15,ZUBAT
+		db 16,GEODUDE
+		db 17,ZUBAT
+		db 19,ZUBAT
+		db 18,GEODUDE
+		db 20,GEODUDE
+		db 21,ZUBAT
+		db 17,MACHOP
+		db 19,MACHOP
+		db 21,MACHOP
+	ELSE
 		db 16,ZUBAT
 		db 17,ZUBAT
 		db 17,GEODUDE
 		db 15,MACHOP
 		db 16,GEODUDE
-		IF _RED || _GREEN || (_BLUE && !_JAPAN)
+		IF DEF(_RED) || DEF(_GREEN) || (DEF(_BLUE) && !DEF(_JAPAN))
 			db 18,ZUBAT
 		ENDC
-		IF (_BLUE && _JAPAN)
+		IF (DEF(_BLUE) && DEF(_JAPAN))
 			db 18,DITTO
 		ENDC
 		db 15,ZUBAT
@@ -17,19 +28,6 @@
 		db 17,MACHOP
 		db 13,ONIX
 		db 15,ONIX
-	ENDC
-
-	IF _YELLOW
-		db 15,ZUBAT
-		db 16,GEODUDE
-		db 17,ZUBAT
-		db 19,ZUBAT
-		db 18,GEODUDE
-		db 20,GEODUDE
-		db 21,ZUBAT
-		db 17,MACHOP
-		db 19,MACHOP
-		db 21,MACHOP
 	ENDC
 
 	db $00
--- a/data/wildPokemon/rocktunnel2.asm
+++ b/data/wildPokemon/rocktunnel2.asm
@@ -1,15 +1,27 @@
 TunnelMonsB2:
 	db $0F
-	IF !_YELLOW
+
+	IF DEF(_YELLOW)
+		db 20,ZUBAT
+		db 17,GEODUDE
+		db 18,MACHOP
+		db 21,ZUBAT
+		db 22,ZUBAT
+		db 21,GEODUDE
+		db 20,MACHOP
+		db 14,ONIX
+		db 18,ONIX
+		db 22,ONIX
+	ELSE
 		db 16,ZUBAT
 		db 17,ZUBAT
 		db 17,GEODUDE
 		db 15,MACHOP
 		db 16,GEODUDE
-		IF _RED || _GREEN || (_BLUE && !_JAPAN)
+		IF DEF(_RED) || DEF(_GREEN) || (DEF(_BLUE) && !DEF(_JAPAN))
 			db 18,ZUBAT
 		ENDC
-		IF (_BLUE && _JAPAN)
+		IF DEF(_BLUE) && DEF(_JAPAN)
 			db 18,DITTO
 		ENDC
 		db 17,MACHOP
@@ -16,19 +28,6 @@
 		db 17,ONIX
 		db 13,ONIX
 		db 18,GEODUDE
-	ENDC
-
-	IF _YELLOW
-		db 20,ZUBAT
-		db 17,GEODUDE
-		db 18,MACHOP
-		db 21,ZUBAT
-		db 22,ZUBAT
-		db 21,GEODUDE
-		db 20,MACHOP
-		db 14,ONIX
-		db 18,ONIX
-		db 22,ONIX
 	ENDC
 
 	db $00
--- a/data/wildPokemon/route1.asm
+++ b/data/wildPokemon/route1.asm
@@ -1,20 +1,8 @@
 Route1Mons:
 	db $19
-	IF !_YELLOW
+	IF DEF(_YELLOW)
 		db 3,PIDGEY
-		db 3,RATTATA
-		db 3,RATTATA
-		db 2,RATTATA
-		db 2,PIDGEY
-		db 3,PIDGEY
-		db 3,PIDGEY
-		db 4,RATTATA
 		db 4,PIDGEY
-		db 5,PIDGEY
-	ENDC
-	IF _YELLOW
-		db 3,PIDGEY
-		db 4,PIDGEY
 		db 2,RATTATA
 		db 3,RATTATA
 		db 2,PIDGEY
@@ -23,6 +11,17 @@
 		db 4,RATTATA
 		db 6,PIDGEY
 		db 7,PIDGEY
+	ELSE
+		db 3,PIDGEY
+		db 3,RATTATA
+		db 3,RATTATA
+		db 2,RATTATA
+		db 2,PIDGEY
+		db 3,PIDGEY
+		db 3,PIDGEY
+		db 4,RATTATA
+		db 4,PIDGEY
+		db 5,PIDGEY
 	ENDC
 	db $00
 
--- a/data/wildPokemon/route10.asm
+++ b/data/wildPokemon/route10.asm
@@ -1,7 +1,7 @@
 Route10Mons:
 	db $0F
 
-	IF _RED
+	IF DEF(_RED)
 		db 16,VOLTORB
 		db 16,SPEAROW
 		db 14,VOLTORB
@@ -14,7 +14,7 @@
 		db 17,EKANS
 	ENDC
 
-	IF !_RED
+	IF DEF(_BLUE) || DEF(_GREEN)
 		db 16,VOLTORB
 		db 16,SPEAROW
 		db 14,VOLTORB
@@ -27,7 +27,7 @@
 		db 17,SANDSHREW
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 16,MAGNEMITE
 		db 18,RATTATA
 		db 18,MAGNEMITE
--- a/data/wildPokemon/route11.asm
+++ b/data/wildPokemon/route11.asm
@@ -1,7 +1,7 @@
 Route11Mons:
 	db $0F
 
-	IF _RED
+	IF DEF(_RED)
 		db 14,EKANS
 		db 15,SPEAROW
 		db 12,EKANS
@@ -14,7 +14,7 @@
 		db 15,DROWZEE
 	ENDC
 
-	IF _GREEN || _BLUE
+	IF DEF(_GREEN) || DEF(_BLUE)
 		db 14,SANDSHREW
 		db 15,SPEAROW
 		db 12,SANDSHREW
@@ -27,7 +27,7 @@
 		db 15,DROWZEE
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 16,PIDGEY
 		db 15,RATTATA
 		db 18,PIDGEY
--- a/data/wildPokemon/route12.asm
+++ b/data/wildPokemon/route12.asm
@@ -1,7 +1,7 @@
 Route12Mons:
 	db $0F
 
-	IF _RED || (_JAPAN && _BLUE)
+	IF DEF(_RED) || (DEF(_JAPAN) && DEF(_BLUE))
 		db 24,ODDISH
 		db 25,PIDGEY
 		db 23,PIDGEY
@@ -15,7 +15,7 @@
 		db $00
 	ENDC
 
-	IF _GREEN || (!_JAPAN && _BLUE)
+	IF DEF(_GREEN) || (!DEF(_JAPAN) && DEF(_BLUE))
 		db 24,BELLSPROUT
 		db 25,PIDGEY
 		db 23,PIDGEY
@@ -29,7 +29,7 @@
 		db $00
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 25,ODDISH
 		db 25,BELLSPROUT
 		db 28,PIDGEY
--- a/data/wildPokemon/route13.asm
+++ b/data/wildPokemon/route13.asm
@@ -1,5 +1,5 @@
 Route13Mons:
-	IF _RED || (_JAPAN && _BLUE)
+	IF DEF(_RED) || (DEF(_JAPAN) && DEF(_BLUE))
 		db $14
 		db 24,ODDISH
 		db 25,PIDGEY
@@ -14,7 +14,7 @@
 		db $00
 	ENDC
 
-	IF _GREEN || (!_JAPAN && _BLUE)
+	IF DEF(_GREEN) || (!DEF(_JAPAN) && DEF(_BLUE))
 		db $14
 		db 24,BELLSPROUT
 		db 25,PIDGEY
@@ -29,7 +29,7 @@
 		db $00
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db $0F
 		db 25,ODDISH
 		db 25,BELLSPROUT
--- a/data/wildPokemon/route14.asm
+++ b/data/wildPokemon/route14.asm
@@ -1,6 +1,6 @@
 Route14Mons:
 	db $0F
-	IF _RED || (_JAPAN && _BLUE)
+	IF DEF(_RED) || (DEF(_JAPAN) && DEF(_BLUE))
 		db 24,ODDISH
 		db 26,PIDGEY
 		db 23,DITTO
@@ -13,7 +13,7 @@
 		db 30,PIDGEOTTO
 	ENDC
 
-	IF _GREEN || (!_JAPAN && _BLUE)
+	IF DEF(_GREEN) || (!DEF(_JAPAN) && DEF(_BLUE))
 		db 24,BELLSPROUT
 		db 26,PIDGEY
 		db 23,DITTO
@@ -26,7 +26,7 @@
 		db 30,PIDGEOTTO
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 26,ODDISH
 		db 26,BELLSPROUT
 		db 24,VENONAT
--- a/data/wildPokemon/route15.asm
+++ b/data/wildPokemon/route15.asm
@@ -1,6 +1,6 @@
 Route15Mons:
 	db $0F
-	IF _RED || (_JAPAN && _BLUE)
+	IF DEF(_RED) || (DEF(_JAPAN) && DEF(_BLUE))
 		db 24,ODDISH
 		db 26,DITTO
 		db 23,PIDGEY
@@ -13,7 +13,7 @@
 		db 30,PIDGEOTTO
 	ENDC
 
-	IF _GREEN || (!_JAPAN && _BLUE)
+	IF DEF(_GREEN) || (!DEF(_JAPAN) && DEF(_BLUE))
 		db 24,BELLSPROUT
 		db 26,DITTO
 		db 23,PIDGEY
@@ -26,7 +26,7 @@
 		db 30,PIDGEOTTO
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 26,ODDISH
 		db 26,BELLSPROUT
 		db 24,VENONAT
--- a/data/wildPokemon/route16.asm
+++ b/data/wildPokemon/route16.asm
@@ -1,21 +1,8 @@
 Route16Mons:
 	db $19
-	IF !_YELLOW
-		db 20,SPEAROW
+	IF DEF(_YELLOW)
 		db 22,SPEAROW
-		db 18,RATTATA
-		db 20,DODUO
-		db 20,RATTATA
-		db 18,DODUO
 		db 22,DODUO
-		db 22,RATTATA
-		db 23,RATICATE
-		db 25,RATICATE
-	ENDC
-
-	IF _YELLOW
-		db 22,SPEAROW
-		db 22,DODUO
 		db 23,RATTATA
 		db 24,DODUO
 		db 24,RATTATA
@@ -24,6 +11,17 @@
 		db 24,FEAROW
 		db 25,RATICATE
 		db 26,RATICATE
+	ELSE
+		db 20,SPEAROW
+		db 22,SPEAROW
+		db 18,RATTATA
+		db 20,DODUO
+		db 20,RATTATA
+		db 18,DODUO
+		db 22,DODUO
+		db 22,RATTATA
+		db 23,RATICATE
+		db 25,RATICATE
 	ENDC
 
 	db $00
--- a/data/wildPokemon/route17.asm
+++ b/data/wildPokemon/route17.asm
@@ -1,19 +1,7 @@
 Route17Mons:
 	db $19
-	IF !_YELLOW
-		db 20,SPEAROW
-		db 22,SPEAROW
-		db 25,RATICATE
-		db 24,DODUO
-		db 27,RATICATE
-		db 26,DODUO
-		db 28,DODUO
-		db 29,RATICATE
-		db 25,FEAROW
-		db 27,FEAROW
-	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 26,DODUO
 		db 27,FEAROW
 		db 27,DODUO
@@ -24,6 +12,17 @@
 		db 28,DODUO
 		db 32,PONYTA
 		db 29,DODRIO
+	ELSE
+		db 20,SPEAROW
+		db 22,SPEAROW
+		db 25,RATICATE
+		db 24,DODUO
+		db 27,RATICATE
+		db 26,DODUO
+		db 28,DODUO
+		db 29,RATICATE
+		db 25,FEAROW
+		db 27,FEAROW
 	ENDC
 
 	db $00
--- a/data/wildPokemon/route18.asm
+++ b/data/wildPokemon/route18.asm
@@ -1,19 +1,7 @@
 Route18Mons:
 	db $19
-	IF !_YELLOW
-		db 20,SPEAROW
-		db 22,SPEAROW
-		db 25,RATICATE
-		db 24,DODUO
-		db 25,FEAROW
-		db 26,DODUO
-		db 28,DODUO
-		db 29,RATICATE
-		db 27,FEAROW
-		db 29,FEAROW
-	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 22,SPEAROW
 		db 22,DODUO
 		db 23,RATTATA
@@ -24,6 +12,17 @@
 		db 24,FEAROW
 		db 25,RATICATE
 		db 26,RATICATE
+	ELSE
+		db 20,SPEAROW
+		db 22,SPEAROW
+		db 25,RATICATE
+		db 24,DODUO
+		db 25,FEAROW
+		db 26,DODUO
+		db 28,DODUO
+		db 29,RATICATE
+		db 27,FEAROW
+		db 29,FEAROW
 	ENDC
 
 	db $00
--- a/data/wildPokemon/route2.asm
+++ b/data/wildPokemon/route2.asm
@@ -1,40 +1,39 @@
 Route2Mons:
 	db $19
 
-	IF !_YELLOW
+	IF DEF(_YELLOW)
 		db 3,RATTATA
 		db 3,PIDGEY
+		db 4,RATTATA
+		db 4,NIDORAN_M
+		db 4,NIDORAN_F
+		db 5,PIDGEY
+		db 6,NIDORAN_M
+		db 6,NIDORAN_F
+		db 7,PIDGEY
+		db 7,PIDGEY
+	ELSE
+		db 3,RATTATA
+		db 3,PIDGEY
 		db 4,PIDGEY
 		db 4,RATTATA
 		db 5,PIDGEY
-		if _RED
+		if DEF(_RED)
 			db 3,WEEDLE
 		ENDC
-		if _BLUE
+		if DEF(_BLUE)
 			db 3,CATERPIE
 		ENDC
 		db 2,RATTATA
 		db 5,RATTATA
-		if _RED
+		if DEF(_RED)
 			db 4,WEEDLE
 			db 5,WEEDLE
 		ENDC
-		if _BLUE
+		if DEF(_BLUE)
 			db 4,CATERPIE
 			db 5,CATERPIE
 		ENDC
-	ENDC
-	IF _YELLOW
-		db 3,RATTATA
-		db 3,PIDGEY
-		db 4,RATTATA
-		db 4,NIDORAN_M
-		db 4,NIDORAN_F
-		db 5,PIDGEY
-		db 6,NIDORAN_M
-		db 6,NIDORAN_F
-		db 7,PIDGEY
-		db 7,PIDGEY
 	ENDC
 	db $00
 
--- a/data/wildPokemon/route21.asm
+++ b/data/wildPokemon/route21.asm
@@ -1,19 +1,7 @@
 Route21Mons:
 	db $19
-	IF !_YELLOW
-		db 21,RATTATA
-		db 23,PIDGEY
-		db 30,RATICATE
-		db 23,RATTATA
-		db 21,PIDGEY
-		db 30,PIDGEOTTO
-		db 32,PIDGEOTTO
-		db 28,TANGELA
-		db 30,TANGELA
-		db 32,TANGELA
-	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 15,PIDGEY
 		db 13,RATTATA
 		db 13,PIDGEY
@@ -24,6 +12,17 @@
 		db 17,PIDGEOTTO
 		db 19,PIDGEOTTO
 		db 15,PIDGEOTTO
+	ELSE
+		db 21,RATTATA
+		db 23,PIDGEY
+		db 30,RATICATE
+		db 23,RATTATA
+		db 21,PIDGEY
+		db 30,PIDGEOTTO
+		db 32,PIDGEOTTO
+		db 28,TANGELA
+		db 30,TANGELA
+		db 32,TANGELA
 	ENDC
 
 	db $05
--- a/data/wildPokemon/route22.asm
+++ b/data/wildPokemon/route22.asm
@@ -1,6 +1,6 @@
 Route22Mons:
 	db $19
-	IF _RED || (_JAPAN && _BLUE)
+	IF DEF(_RED) || (DEF(_JAPAN) && DEF(_BLUE))
 		db 3,RATTATA
 		db 3,NIDORAN_M
 		db 4,RATTATA
@@ -12,7 +12,7 @@
 		db 3,NIDORAN_F
 		db 4,NIDORAN_F
 	ENDC
-	IF _GREEN || (!_JAPAN && _BLUE)
+	IF DEF(_GREEN) || (!DEF(_JAPAN) && DEF(_BLUE))
 		db 3,RATTATA
 		db 3,NIDORAN_F
 		db 4,RATTATA
@@ -24,7 +24,7 @@
 		db 3,NIDORAN_M
 		db 4,NIDORAN_M
 	ENDC
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 2,NIDORAN_M
 		db 2,NIDORAN_F
 		db 3,MANKEY
--- a/data/wildPokemon/route23.asm
+++ b/data/wildPokemon/route23.asm
@@ -1,10 +1,22 @@
 Route23Mons:
 	db $0A
-	IF !_YELLOW
-		IF _RED
+
+	IF DEF(_YELLOW)
+		db 41,NIDORINO
+		db 41,NIDORINA
+		db 36,MANKEY
+		db 44,NIDORINO
+		db 44,NIDORINA
+		db 40,FEAROW
+		db 41,MANKEY
+		db 45,FEAROW
+		db 41,PRIMEAPE
+		db 46,PRIMEAPE
+	ELSE
+		IF DEF(_RED)
 			db 26,EKANS
 		ENDC
-		IF !_RED
+		IF !DEF(_RED)
 			db 26,SANDSHREW
 		ENDC
 		db 33,DITTO
@@ -12,28 +24,15 @@
 		db 38,FEAROW
 		db 38,DITTO
 		db 38,FEAROW
-		IF _RED
+		IF DEF(_RED)
 			db 41,ARBOK
 		ENDC
-		IF !_RED
+		IF !DEF(_RED)
 			db 41,SANDSLASH
 		ENDC
 		db 43,DITTO
 		db 41,FEAROW
 		db 43,FEAROW
-	ENDC
-
-	IF _YELLOW
-		db 41,NIDORINO
-		db 41,NIDORINA
-		db 36,MANKEY
-		db 44,NIDORINO
-		db 44,NIDORINA
-		db 40,FEAROW
-		db 41,MANKEY
-		db 45,FEAROW
-		db 41,PRIMEAPE
-		db 46,PRIMEAPE
 	ENDC
 
 	db $00
--- a/data/wildPokemon/route24.asm
+++ b/data/wildPokemon/route24.asm
@@ -1,7 +1,7 @@
 Route24Mons:
 	db $19
 
-	IF _RED
+	IF DEF(_RED)
 		db 7,WEEDLE
 		db 8,KAKUNA
 		db 12,PIDGEY
@@ -14,7 +14,7 @@
 		db 12,ABRA
 	ENDC
 
-	IF _GREEN || !_JAPAN && _BLUE
+	IF DEF(_GREEN) || !DEF(_JAPAN) && DEF(_BLUE)
 		db 7,CATERPIE
 		db 8,METAPOD
 		db 12,PIDGEY
@@ -27,7 +27,7 @@
 		db 12,ABRA
 	ENDC
 
-	IF _JAPAN && _BLUE
+	IF DEF(_JAPAN) && DEF(_BLUE)
 		db 7,CATERPIE
 		db 8,METAPOD
 		db 12,PIDGEY
@@ -40,7 +40,7 @@
 		db 12,ABRA
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 12,ODDISH
 		db 12,BELLSPROUT
 		db 13,PIDGEY
--- a/data/wildPokemon/route25.asm
+++ b/data/wildPokemon/route25.asm
@@ -1,7 +1,7 @@
 Route25Mons:
 	db $0F
 
-	IF _RED
+	IF DEF(_RED)
 		db 8,WEEDLE
 		db 9,KAKUNA
 		db 13,PIDGEY
@@ -14,7 +14,7 @@
 		db 8,CATERPIE
 	ENDC
 
-	IF _GREEN || !_JAPAN && _BLUE
+	IF DEF(_GREEN) || !DEF(_JAPAN) && DEF(_BLUE)
 		db 8,CATERPIE
 		db 9,METAPOD
 		db 13,PIDGEY
@@ -27,7 +27,7 @@
 		db 8,WEEDLE
 	ENDC
 
-	IF _JAPAN && _BLUE
+	IF DEF(_JAPAN) && DEF(_BLUE)
 		db 8,CATERPIE
 		db 9,METAPOD
 		db 13,PIDGEY
@@ -40,7 +40,7 @@
 		db 8,WEEDLE
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 12,ODDISH
 	db 12,BELLSPROUT
 	db 13,PIDGEY
--- a/data/wildPokemon/route3.asm
+++ b/data/wildPokemon/route3.asm
@@ -1,19 +1,7 @@
 Route3Mons:
 	db $14
-	IF !_YELLOW
-		db 6,PIDGEY
-		db 5,SPEAROW
-		db 7,PIDGEY
-		db 6,SPEAROW
-		db 7,SPEAROW
-		db 8,PIDGEY
+	IF DEF(_YELLOW)
 		db 8,SPEAROW
-		db 3,JIGGLYPUFF
-		db 5,JIGGLYPUFF
-		db 7,JIGGLYPUFF
-	ENDC
-	IF _YELLOW
-		db 8,SPEAROW
 		db 9,SPEAROW
 		db 9,MANKEY
 		db 10,SPEAROW
@@ -23,6 +11,17 @@
 		db 12,RATTATA
 		db 11,SPEAROW
 		db 12,SPEAROW
+	ELSE
+		db 6,PIDGEY
+		db 5,SPEAROW
+		db 7,PIDGEY
+		db 6,SPEAROW
+		db 7,SPEAROW
+		db 8,PIDGEY
+		db 8,SPEAROW
+		db 3,JIGGLYPUFF
+		db 5,JIGGLYPUFF
+		db 7,JIGGLYPUFF
 	ENDC
 	db $00
 
--- a/data/wildPokemon/route4.asm
+++ b/data/wildPokemon/route4.asm
@@ -1,7 +1,7 @@
 Route4Mons:
 	db $14
 
-	IF _RED
+	IF DEF(_RED)
 		db 10,RATTATA
 		db 10,SPEAROW
 		db 8,RATTATA
@@ -14,7 +14,7 @@
 		db 12,EKANS
 	ENDC
 
-	IF !_RED
+	IF DEF(_BLUE) || DEF(_GREEN)
 		db 10,RATTATA
 		db 10,SPEAROW
 		db 8,RATTATA
@@ -27,7 +27,7 @@
 		db 12,SANDSHREW
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 8,SPEAROW
 		db 9,SPEAROW
 		db 9,MANKEY
--- a/data/wildPokemon/route5.asm
+++ b/data/wildPokemon/route5.asm
@@ -1,7 +1,7 @@
 Route5Mons:
 	db $0F
 
-	IF _RED
+	IF DEF(_RED)
 		db 13,ODDISH
 		db 13,PIDGEY
 		db 15,PIDGEY
@@ -14,7 +14,7 @@
 		db 16,MANKEY
 	ENDC
 
-	IF _GREEN || !_JAPAN && _BLUE
+	IF DEF(_GREEN) || !DEF(_JAPAN) && DEF(_BLUE)
 		db 13,BELLSPROUT
 		db 13,PIDGEY
 		db 15,PIDGEY
@@ -27,7 +27,7 @@
 		db 16,MEOWTH
 	ENDC
 
-	IF _JAPAN && _BLUE
+	IF DEF(_JAPAN) && DEF(_BLUE)
 		db 13,ODDISH
 		db 13,PIDGEY
 		db 15,PIDGEY
@@ -40,7 +40,7 @@
 		db 16,MEOWTH
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 15,PIDGEY
 		db 14,RATTATA
 		db 7,ABRA
--- a/data/wildPokemon/route6.asm
+++ b/data/wildPokemon/route6.asm
@@ -1,7 +1,7 @@
 Route6Mons:
 	db $0F
 
-	IF _RED
+	IF DEF(_RED)
 		db 13,ODDISH
 		db 13,PIDGEY
 		db 15,PIDGEY
@@ -15,7 +15,7 @@
 		db $00
 	ENDC
 
-	IF _GREEN || !_JAPAN && _BLUE
+	IF DEF(_GREEN) || !DEF(_JAPAN) && DEF(_BLUE)
 		db 13,BELLSPROUT
 		db 13,PIDGEY
 		db 15,PIDGEY
@@ -29,7 +29,7 @@
 		db $00
 	ENDC
 
-	IF _JAPAN && _BLUE
+	IF DEF(_JAPAN) && DEF(_BLUE)
 		db 13,ODDISH
 		db 13,PIDGEY
 		db 15,PIDGEY
@@ -43,7 +43,7 @@
 		db $00
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 15,PIDGEY
 		db 14,RATTATA
 		db 7,ABRA
--- a/data/wildPokemon/route7.asm
+++ b/data/wildPokemon/route7.asm
@@ -1,7 +1,7 @@
 Route7Mons:
 	db $0F
 
-	IF _RED
+	IF DEF(_RED)
 		db 19,PIDGEY
 		db 19,ODDISH
 		db 17,MANKEY
@@ -14,7 +14,7 @@
 		db 20,MANKEY
 	ENDC
 
-	IF _GREEN || !_JAPAN && _BLUE
+	IF DEF(_GREEN) || !DEF(_JAPAN) && DEF(_BLUE)
 		db 19,PIDGEY
 		db 19,BELLSPROUT
 		db 17,MEOWTH
@@ -27,7 +27,7 @@
 		db 20,MEOWTH
 	ENDC
 
-	IF _JAPAN && _BLUE
+	IF DEF(_JAPAN) && DEF(_BLUE)
 		db 19,PIDGEY
 		db 19,ODDISH
 		db 17,MEOWTH
@@ -40,7 +40,7 @@
 		db 20,MEOWTH
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 20,PIDGEY
 		db 22,PIDGEY
 		db 20,RATTATA
--- a/data/wildPokemon/route8.asm
+++ b/data/wildPokemon/route8.asm
@@ -1,7 +1,7 @@
 Route8Mons:
 	db $0F
 
-	IF _RED
+	IF DEF(_RED)
 		db 18,PIDGEY
 		db 18,MANKEY
 		db 17,EKANS
@@ -14,7 +14,7 @@
 		db 18,GROWLITHE
 	ENDC
 
-	IF _GREEN || !_JAPAN && _BLUE
+	IF DEF(_GREEN) || !DEF(_JAPAN) && DEF(_BLUE)
 		db 18,PIDGEY
 		db 18,MEOWTH
 		db 17,SANDSHREW
@@ -27,7 +27,7 @@
 		db 18,VULPIX
 	ENDC
 
-	IF _JAPAN && _BLUE
+	IF DEF(_JAPAN) && DEF(_BLUE)
 		db 18,PIDGEY
 		db 18,MEOWTH
 		db 17,SANDSHREW
@@ -40,7 +40,7 @@
 		db 18,GROWLITHE
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 20,PIDGEY
 		db 22,PIDGEY
 		db 20,RATTATA
--- a/data/wildPokemon/route9.asm
+++ b/data/wildPokemon/route9.asm
@@ -1,7 +1,7 @@
 Route9Mons:
 	db $0F
 
-	IF _RED
+	IF DEF(_RED)
 		db 16,RATTATA
 		db 16,SPEAROW
 		db 14,RATTATA
@@ -14,7 +14,7 @@
 		db 17,EKANS
 	ENDC
 
-	IF !_RED && !_YELLOW
+	IF DEF(_GREEN) || DEF(_BLUE)
 		db 16,RATTATA
 		db 16,SPEAROW
 		db 14,RATTATA
@@ -27,7 +27,7 @@
 		db 17,SANDSHREW
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 16,NIDORAN_M
 		db 16,NIDORAN_F
 		db 18,RATTATA
--- a/data/wildPokemon/safarizone1.asm
+++ b/data/wildPokemon/safarizone1.asm
@@ -1,6 +1,6 @@
 ZoneMons1:
 	db $1E
-	IF _RED || (_JAPAN && _BLUE)
+	IF DEF(_RED) || (DEF(_JAPAN) && DEF(_BLUE))
 		db 24,NIDORAN_M
 		db 26,DODUO
 		db 22,PARAS
@@ -9,16 +9,16 @@
 		db 23,EXEGGCUTE
 		db 24,NIDORAN_F
 		db 25,PARASECT
-		IF _RED
+		IF DEF(_RED)
 			db 25,KANGASKHAN
 		ENDC
-		IF _JAPAN && _BLUE
+		IF DEF(_JAPAN) && DEF(_BLUE)
 			db 25,LICKITUNG
 		ENDC
 		db 28,SCYTHER
 	ENDC
 
-	IF _GREEN || (!_JAPAN && _BLUE)
+	IF DEF(_GREEN) || (!DEF(_JAPAN) && DEF(_BLUE))
 		db 24,NIDORAN_F
 		db 26,DODUO
 		db 22,PARAS
@@ -31,7 +31,7 @@
 		db 28,PINSIR
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 21,NIDORAN_M
 		db 29,NIDORAN_F
 		db 22,EXEGGCUTE
--- a/data/wildPokemon/safarizone2.asm
+++ b/data/wildPokemon/safarizone2.asm
@@ -1,49 +1,47 @@
 ZoneMons2:
 	db $1E
-	IF !_YELLOW
-		IF _RED || (_JAPAN && _BLUE)
+	IF DEF(_YELLOW)
+		db 36,NIDORAN_M
+		db 14,NIDORAN_F
+		db 20,EXEGGCUTE
+		db 25,RHYHORN
+		db 23,NIDORINA
+		db 28,KANGASKHAN
+		db 16,CUBONE
+		db 33,KANGASKHAN
+		db 25,SCYTHER
+		db 15,PINSIR
+	ELSE
+		IF DEF(_RED) || (DEF(_JAPAN) && DEF(_BLUE))
 			db 22,NIDORAN_M
 		ENDC
-		IF _GREEN || (!_JAPAN && _BLUE)
+		IF DEF(_GREEN) || (!DEF(_JAPAN) && DEF(_BLUE))
 			db 22,NIDORAN_F
 		ENDC
 		db 26,RHYHORN
 		db 23,PARAS
 		db 25,EXEGGCUTE
-		IF _RED || (_JAPAN && _BLUE)
+		IF DEF(_RED) || (DEF(_JAPAN) && DEF(_BLUE))
 			db 30,NIDORINO
 		ENDC
-		IF _GREEN || (!_JAPAN && _BLUE)
+		IF DEF(_GREEN) || (!DEF(_JAPAN) && DEF(_BLUE))
 			db 30,NIDORINA
 		ENDC
 		db 27,EXEGGCUTE
-		IF _RED || (_JAPAN && _BLUE)
+		IF DEF(_RED) || (DEF(_JAPAN) && DEF(_BLUE))
 			db 30,NIDORINA
 		ENDC
-		IF _GREEN || (!_JAPAN && _BLUE)
+		IF DEF(_GREEN) || (!DEF(_JAPAN) && DEF(_BLUE))
 			db 30,NIDORINO
 		ENDC
 		db 32,VENOMOTH
 		db 26,CHANSEY
-		IF _RED || _GREEN || (!_JAPAN && _BLUE)
+		IF DEF(_RED) || DEF(_GREEN) || (!DEF(_JAPAN) && DEF(_BLUE))
 			db 28,TAUROS
 		ENDC
-		IF (_JAPAN && _BLUE)
+		IF (DEF(_JAPAN) && DEF(_BLUE))
 			db 28,PINSIR
 		ENDC
-	ENDC
-
-	IF _YELLOW
-		db 36,NIDORAN_M
-		db 14,NIDORAN_F
-		db 20,EXEGGCUTE
-		db 25,RHYHORN
-		db 23,NIDORINA
-		db 28,KANGASKHAN
-		db 16,CUBONE
-		db 33,KANGASKHAN
-		db 25,SCYTHER
-		db 15,PINSIR
 	ENDC
 
 	db $00
--- a/data/wildPokemon/safarizone3.asm
+++ b/data/wildPokemon/safarizone3.asm
@@ -1,6 +1,6 @@
 ZoneMons3:
 	db $1E
-	IF _RED
+	IF DEF(_RED)
 		db 25,NIDORAN_M
 		db 26,DODUO
 		db 23,VENONAT
@@ -13,7 +13,7 @@
 		db 28,KANGASKHAN
 	ENDC
 
-	IF _GREEN || (!_JAPAN && _BLUE)
+	IF DEF(_GREEN) || (!DEF(_JAPAN) && DEF(_BLUE))
 		db 25,NIDORAN_F
 		db 26,DODUO
 		db 23,VENONAT
@@ -26,7 +26,7 @@
 		db 28,KANGASKHAN
 	ENDC
 
-	IF _JAPAN && _BLUE
+	IF DEF(_JAPAN) && DEF(_BLUE)
 		db 25,NIDORAN_M
 		db 26,DODUO
 		db 23,VENONAT
@@ -39,7 +39,7 @@
 		db 28,LICKITUNG
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 29,NIDORAN_M
 		db 21,NIDORAN_F
 		db 22,EXEGGCUTE
--- a/data/wildPokemon/safarizonecenter.asm
+++ b/data/wildPokemon/safarizonecenter.asm
@@ -1,6 +1,6 @@
 ZoneMonsCenter:
 	db $1E
-	IF _RED
+	IF DEF(_RED)
 		db 22,NIDORAN_M
 		db 25,RHYHORN
 		db 22,VENONAT
@@ -13,7 +13,7 @@
 		db 23,CHANSEY
 	ENDC
 
-	IF _GREEN || (!_JAPAN && _BLUE)
+	IF DEF(_GREEN) || (!DEF(_JAPAN) && DEF(_BLUE))
 		db 22,NIDORAN_F
 		db 25,RHYHORN
 		db 22,VENONAT
@@ -26,7 +26,7 @@
 		db 23,CHANSEY
 	ENDC
 
-	IF _JAPAN && _BLUE
+	IF DEF(_JAPAN) && DEF(_BLUE)
 		db 22,NIDORAN_M
 		db 25,RHYHORN
 		db 22,VENONAT
@@ -39,7 +39,7 @@
 		db 23,CHANSEY
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 14,NIDORAN_M
 		db 36,NIDORAN_F
 		db 24,EXEGGCUTE
--- a/data/wildPokemon/seafoamisland1.asm
+++ b/data/wildPokemon/seafoamisland1.asm
@@ -1,6 +1,6 @@
 IslandMons1:
 	db $0F
-	IF _RED
+	IF DEF(_RED)
 		db 30,SEEL
 		db 30,SLOWPOKE
 		db 30,SHELLDER
@@ -13,7 +13,7 @@
 		db 38,GOLDUCK
 	ENDC
 
-	IF _GREEN || !_JAPAN && _BLUE
+	IF DEF(_GREEN) || !DEF(_JAPAN) && DEF(_BLUE)
 		db 30,SEEL
 		db 30,PSYDUCK
 		db 30,STARYU
@@ -26,7 +26,7 @@
 		db 38,SLOWBRO
 	ENDC
 
-	IF _JAPAN && _BLUE
+	IF DEF(_JAPAN) && DEF(_BLUE)
 		db 30,SEEL
 		db 30,HORSEA
 		db 30,STARYU
@@ -39,7 +39,7 @@
 		db 38,SLOWBRO
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 18,ZUBAT
 		db 25,KRABBY
 		db 27,KRABBY
--- a/data/wildPokemon/seafoamislandb1.asm
+++ b/data/wildPokemon/seafoamislandb1.asm
@@ -1,6 +1,6 @@
 IslandMonsB1:
 	db $0A
-	IF _RED
+	IF DEF(_RED)
 		db 30,STARYU
 		db 30,HORSEA
 		db 32,SHELLDER
@@ -13,7 +13,7 @@
 		db 37,SEADRA
 	ENDC
 
-	IF _GREEN || !_JAPAN && _BLUE
+	IF DEF(_GREEN) || !DEF(_JAPAN) && DEF(_BLUE)
 		db 30,SHELLDER
 		db 30,KRABBY
 		db 32,STARYU
@@ -26,7 +26,7 @@
 		db 37,KINGLER
 	ENDC
 
-	IF _JAPAN && _BLUE
+	IF DEF(_JAPAN) && DEF(_BLUE)
 		db 30,SHELLDER
 		db 30,KRABBY
 		db 32,STARYU
@@ -39,7 +39,7 @@
 		db 37,KINGLER
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 27,ZUBAT
 		db 26,KRABBY
 		db 36,ZUBAT
--- a/data/wildPokemon/seafoamislandb2.asm
+++ b/data/wildPokemon/seafoamislandb2.asm
@@ -1,6 +1,6 @@
 IslandMonsB2:
 	db $0A
-	IF _RED
+	IF DEF(_RED)
 		db 30,SEEL
 		db 30,SLOWPOKE
 		db 32,SEEL
@@ -13,7 +13,7 @@
 		db 37,SLOWBRO
 	ENDC
 
-	IF _GREEN || !_JAPAN && _BLUE
+	IF DEF(_GREEN) || !DEF(_JAPAN) && DEF(_BLUE)
 		db 30,SEEL
 		db 30,PSYDUCK
 		db 32,SEEL
@@ -26,7 +26,7 @@
 		db 37,GOLDUCK
 	ENDC
 
-	IF _JAPAN && _BLUE
+	IF DEF(_JAPAN) && DEF(_BLUE)
 		db 30,SEEL
 		db 30,HORSEA
 		db 32,SEEL
@@ -39,7 +39,7 @@
 		db 37,JYNX
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 27,ZUBAT
 		db 27,KRABBY
 		db 36,ZUBAT
--- a/data/wildPokemon/seafoamislandb3.asm
+++ b/data/wildPokemon/seafoamislandb3.asm
@@ -1,6 +1,6 @@
 IslandMonsB3:
 	db $0A
-	IF _RED
+	IF DEF(_RED)
 		db 31,SLOWPOKE
 		db 31,SEEL
 		db 33,SLOWPOKE
@@ -13,7 +13,7 @@
 		db 37,DEWGONG
 	ENDC
 
-	IF _GREEN || !_JAPAN && _BLUE
+	IF DEF(_GREEN) || !DEF(_JAPAN) && DEF(_BLUE)
 		db 31,PSYDUCK
 		db 31,SEEL
 		db 33,PSYDUCK
@@ -26,7 +26,7 @@
 		db 37,DEWGONG
 	ENDC
 
-	IF _JAPAN && _BLUE
+	IF DEF(_JAPAN) && DEF(_BLUE)
 		db 31,HORSEA
 		db 31,SEEL
 		db 33,HORSEA
@@ -39,7 +39,7 @@
 		db 37,DEWGONG
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 27,GOLBAT
 		db 36,ZUBAT
 		db 29,KRABBY
--- a/data/wildPokemon/seafoamislandb4.asm
+++ b/data/wildPokemon/seafoamislandb4.asm
@@ -1,6 +1,6 @@
 IslandMonsB4:
 	db $0A
-	IF _RED
+	IF DEF(_RED)
 		db 31,HORSEA
 		db 31,SHELLDER
 		db 33,HORSEA
@@ -13,7 +13,7 @@
 		db 32,GOLBAT
 	ENDC
 
-	IF _GREEN || !_JAPAN && _BLUE
+	IF DEF(_GREEN) || !DEF(_JAPAN) && DEF(_BLUE)
 		db 31,KRABBY
 		db 31,STARYU
 		db 33,KRABBY
@@ -26,7 +26,7 @@
 		db 32,GOLBAT
 	ENDC
 
-	IF _JAPAN && _BLUE
+	IF DEF(_JAPAN) && DEF(_BLUE)
 		db 31,KRABBY
 		db 31,STARYU
 		db 33,KRABBY
@@ -39,7 +39,7 @@
 		db 32,GOLBAT
 	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 36,GOLBAT
 		db 36,ZUBAT
 		db 30,KRABBY
--- a/data/wildPokemon/unknowndungeon1.asm
+++ b/data/wildPokemon/unknowndungeon1.asm
@@ -1,20 +1,31 @@
 DungeonMons1:
 	db $0A
-	IF !_YELLOW
+	IF DEF(_YELLOW)
+		db 50,GOLBAT
+		db 55,GOLBAT
+		db 45,GRAVELER
+		db 55,GLOOM
+		db 55,WEEPINBELL
+		db 52,SANDSLASH
+		db 54,VENOMOTH
+		db 54,PARASECT
+		db 55,DITTO
+		db 60,DITTO
+	ELSE
 		db 46,GOLBAT
 		db 46,HYPNO
 		db 46,MAGNETON
-		IF _RED || _GREEN || (!_JAPAN && _BLUE)
+		IF DEF(_RED) || DEF(_GREEN) || (!DEF(_JAPAN) && DEF(_BLUE))
 			db 49,DODRIO
 		ENDC
-		IF _JAPAN && _BLUE
+		IF DEF(_JAPAN) && DEF(_BLUE)
 			db 49,RAPIDASH
 		ENDC
 		db 49,VENOMOTH
-		IF _RED
+		IF DEF(_RED)
 			db 52,ARBOK
 		ENDC
-		IF !_RED
+		IF !DEF(_RED)
 			db 52,SANDSLASH
 		ENDC
 		db 49,KADABRA
@@ -21,19 +32,6 @@
 		db 52,PARASECT
 		db 53,RAICHU
 		db 53,DITTO
-	ENDC
-
-	IF _YELLOW
-		db 50,GOLBAT
-		db 55,GOLBAT
-		db 45,GRAVELER
-		db 55,GLOOM
-		db 55,WEEPINBELL
-		db 52,SANDSLASH
-		db 54,VENOMOTH
-		db 54,PARASECT
-		db 55,DITTO
-		db 60,DITTO
 	ENDC
 
 	db $00
--- a/data/wildPokemon/unknowndungeon2.asm
+++ b/data/wildPokemon/unknowndungeon2.asm
@@ -1,14 +1,25 @@
 DungeonMons2:
 	db $0F
-	IF !_YELLOW
+	IF DEF(_YELLOW)
+		db 52,GOLBAT
+		db 57,GOLBAT
+		db 50,GRAVELER
+		db 56,SANDSLASH
+		db 50,RHYHORN
+		db 60,DITTO
+		db 58,GLOOM
+		db 58,WEEPINBELL
+		db 60,RHYDON
+		db 58,RHYDON
+	ELSE
 		db 51,DODRIO
 		db 51,VENOMOTH
 		db 51,KADABRA
 		db 52,RHYDON
-		IF _RED || _GREEN || (_BLUE && !_JAPAN)
+		IF DEF(_RED) || DEF(_GREEN) || (DEF(_BLUE) && !DEF(_JAPAN))
 			db 52,MAROWAK
 		ENDC
-		IF (_BLUE && _JAPAN)
+		IF (DEF(_BLUE) && DEF(_JAPAN))
 			db 52,MAROWAK
 		ENDC
 		db 52,ELECTRODE
@@ -16,19 +27,6 @@
 		db 54,WIGGLYTUFF
 		db 55,DITTO
 		db 60,DITTO
-	ENDC
-
-	IF _YELLOW
-		db 52,GOLBAT
-		db 57,GOLBAT
-		db 50,GRAVELER
-		db 56,SANDSLASH
-		db 50,RHYHORN
-		db 60,DITTO
-		db 58,GLOOM
-		db 58,WEEPINBELL
-		db 60,RHYDON
-		db 58,RHYDON
 	ENDC
 
 	db $00
--- a/data/wildPokemon/unknowndungeonb1.asm
+++ b/data/wildPokemon/unknowndungeonb1.asm
@@ -1,6 +1,17 @@
 DungeonMonsB1:
 	db $19
-	IF !_YELLOW
+	IF DEF(_YELLOW)
+		db 54,GOLBAT
+		db 59,GOLBAT
+		db 55,GRAVELER
+		db 52,RHYHORN
+		db 62,RHYDON
+		db 60,DITTO
+		db 56,CHANSEY
+		db 65,DITTO
+		db 55,LICKITUNG
+		db 50,LICKITUNG
+	ELSE
 		db 55,RHYDON
 		db 55,MAROWAK
 		db 55,ELECTRODE
@@ -7,28 +18,15 @@
 		db 64,CHANSEY
 		db 64,PARASECT
 		db 64,RAICHU
-		IF _RED
+		IF DEF(_RED)
 			db 57,ARBOK
 		ENDC
-		IF !_RED
+		IF DEF(_BLUE) || DEF(_GREEN)
 			db 57,SANDSLASH
 		ENDC
 		db 65,DITTO
 		db 63,DITTO
 		db 67,DITTO
-	ENDC
-
-	IF _YELLOW
-		db 54,GOLBAT
-		db 59,GOLBAT
-		db 55,GRAVELER
-		db 52,RHYHORN
-		db 62,RHYDON
-		db 60,DITTO
-		db 56,CHANSEY
-		db 65,DITTO
-		db 55,LICKITUNG
-		db 50,LICKITUNG
 	ENDC
 
 	db $00
--- a/data/wildPokemon/victoryroad1.asm
+++ b/data/wildPokemon/victoryroad1.asm
@@ -1,19 +1,7 @@
 PlateauMons1:
 	db $0F
-	IF !_YELLOW
-		db 24,MACHOP
-		db 26,GEODUDE
-		db 22,ZUBAT
-		db 36,ONIX
-		db 39,ONIX
-		db 42,ONIX
-		db 41,GRAVELER
-		db 41,GOLBAT
-		db 42,MACHOKE
-		db 43,MAROWAK
-	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 26,GEODUDE
 		db 31,GEODUDE
 		db 36,GEODUDE
@@ -24,6 +12,17 @@
 		db 45,ONIX
 		db 41,GRAVELER
 		db 47,GRAVELER
+	ELSE
+		db 24,MACHOP
+		db 26,GEODUDE
+		db 22,ZUBAT
+		db 36,ONIX
+		db 39,ONIX
+		db 42,ONIX
+		db 41,GRAVELER
+		db 41,GOLBAT
+		db 42,MACHOKE
+		db 43,MAROWAK
 	ENDC
 
 	db $00
--- a/data/wildPokemon/victoryroad2.asm
+++ b/data/wildPokemon/victoryroad2.asm
@@ -1,19 +1,7 @@
 PlateauMons2:
 	db $0A
-	IF !_YELLOW
-		db 22,MACHOP
-		db 24,GEODUDE
-		db 26,ZUBAT
-		db 36,ONIX
-		db 39,ONIX
-		db 42,ONIX
-		db 41,MACHOKE
-		db 40,GOLBAT
-		db 40,MAROWAK
-		db 43,GRAVELER
-	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 31,GEODUDE
 		db 36,GEODUDE
 		db 41,GEODUDE
@@ -24,6 +12,17 @@
 		db 47,ONIX
 		db 39,MACHOKE
 		db 42,MACHOKE
+	ELSE
+		db 22,MACHOP
+		db 24,GEODUDE
+		db 26,ZUBAT
+		db 36,ONIX
+		db 39,ONIX
+		db 42,ONIX
+		db 41,MACHOKE
+		db 40,GOLBAT
+		db 40,MAROWAK
+		db 43,GRAVELER
 	ENDC
 
 	db $00
--- a/data/wildPokemon/victoryroad3.asm
+++ b/data/wildPokemon/victoryroad3.asm
@@ -1,19 +1,7 @@
 PlateauMons3:
 	db $0F
-	IF !_YELLOW
-		db 24,MACHOP
-		db 26,GEODUDE
-		db 22,ZUBAT
-		db 42,ONIX
-		db 40,VENOMOTH
-		db 45,ONIX
-		db 43,GRAVELER
-		db 41,GOLBAT
-		db 42,MACHOKE
-		db 45,MACHOKE
-	ENDC
 
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		db 36,GEODUDE
 		db 44,GOLBAT
 		db 41,GEODUDE
@@ -24,6 +12,17 @@
 		db 45,MACHOKE
 		db 47,GRAVELER
 		db 47,GRAVELER
+	ELSE
+		db 24,MACHOP
+		db 26,GEODUDE
+		db 22,ZUBAT
+		db 42,ONIX
+		db 40,VENOMOTH
+		db 45,ONIX
+		db 43,GRAVELER
+		db 41,GOLBAT
+		db 42,MACHOKE
+		db 45,MACHOKE
 	ENDC
 
 	db $00
--- a/data/wildPokemon/viridianforest.asm
+++ b/data/wildPokemon/viridianforest.asm
@@ -1,7 +1,19 @@
 ForestMons:
-	IF !_YELLOW
+	IF DEF(_YELLOW)
+		db $19
+		db 3,CATERPIE
+		db 4,METAPOD
+		db 4,CATERPIE
+		db 5,CATERPIE
+		db 4,PIDGEY
+		db 6,PIDGEY
+		db 6,CATERPIE
+		db 6,METAPOD
+		db 8,PIDGEY
+		db 9,PIDGEOTTO
+	ELSE
 		db $08
-		IF _RED
+		IF DEF(_RED)
 			db 4,WEEDLE
 			db 5,KAKUNA
 			db 3,WEEDLE
@@ -11,7 +23,7 @@
 			db 4,METAPOD
 			db 3,CATERPIE
 		ENDC
-		IF _BLUE || _GREEN
+		IF DEF(_BLUE) || DEF(_GREEN)
 			db 4,CATERPIE
 			db 5,METAPOD
 			db 3,CATERPIE
@@ -26,19 +38,6 @@
 		db 5,PIKACHU
 	ENDC
 
-	IF _YELLOW
-		db $19
-		db 3,CATERPIE
-		db 4,METAPOD
-		db 4,CATERPIE
-		db 5,CATERPIE
-		db 4,PIDGEY
-		db 6,PIDGEY
-		db 6,CATERPIE
-		db 6,METAPOD
-		db 8,PIDGEY
-		db 9,PIDGEOTTO
-	ENDC
 
 	db $00
 
--- a/data/wild_mons.asm
+++ b/data/wild_mons.asm
@@ -247,7 +247,7 @@
 	dw NoMons
 	dw NoMons
 	dw NoMons
-	IF _YELLOW
+	IF DEF(_YELLOW)
 		dw NoMons
 	ENDC
 	dw $FFFF
--- a/engine/battle/animations.asm
+++ b/engine/battle/animations.asm
@@ -367,10 +367,10 @@
 	INCBIN "gfx/attack_anim_2.2bpp"
 
 SlotMachineTiles2: ; 78bde (1e:4bde)
-IF _RED
+IF DEF(_RED)
 	INCBIN "gfx/red/slotmachine2.2bpp"
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	INCBIN "gfx/blue/slotmachine2.2bpp"
 ENDC
 
--- a/engine/battle/core.asm
+++ b/engine/battle/core.asm
@@ -2954,7 +2954,7 @@
 	jp Delay3
 
 DisabledText: ; 3d555 (f:5555)
-IF _YELLOW
+IF DEF(_YELLOW)
 	db "Disabled!@"
 ELSE
 	db "disabled!@"
--- a/engine/intro.asm
+++ b/engine/intro.asm
@@ -429,13 +429,13 @@
 
 FightIntroFrontMon: ; 42099 (10:6099)
 
-IF _RED
+IF DEF(_RED)
 	INCBIN "gfx/red/intro_nido_1.6x6.2bpp"
 	INCBIN "gfx/red/intro_nido_2.6x6.2bpp"
 	INCBIN "gfx/red/intro_nido_3.6x6.2bpp"
 	ds $10 ; blank tile
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	INCBIN "gfx/blue/intro_purin_1.6x6.2bpp"
 	INCBIN "gfx/blue/intro_purin_2.6x6.2bpp"
 	INCBIN "gfx/blue/intro_purin_3.6x6.2bpp"
--- a/engine/menu/bills_pc.asm
+++ b/engine/menu/bills_pc.asm
@@ -345,7 +345,7 @@
 	next "DEPOSIT ",  $4a
 	next "RELEASE ",  $4a
 	next "CHANGE BOX"
-IF _YELLOW
+IF DEF(_YELLOW)
 	next "PRINT BOX"
 ENDC
 	next "SEE YA!"
--- a/engine/menu/pokedex.asm
+++ b/engine/menu/pokedex.asm
@@ -366,7 +366,7 @@
 	db   "DATA"
 	next "CRY"
 	next "AREA"
-IF _YELLOW
+IF DEF(_YELLOW)
 	next "PRNT"
 ENDC
 	next "QUIT@"
--- a/engine/oak_speech2.asm
+++ b/engine/oak_speech2.asm
@@ -181,7 +181,7 @@
 .namestring ; 6aa3 (1:6aa3)
 	db "NAME@"
 
-IF _RED
+IF DEF(_RED)
 DefaultNamesPlayer: ; 6aa8 (1:6aa8)
 	db   "NEW NAME"
 	next "RED"
@@ -197,7 +197,7 @@
 	db   "@"
 ENDC
 
-IF _BLUE
+IF DEF(_BLUE)
 DefaultNamesPlayer: ; 6aa8 (1:6aa8)
 	db   "NEW NAME"
 	next "BLUE"
@@ -213,7 +213,7 @@
 	db   "@"
 ENDC
 
-IF _YELLOW
+IF DEF(_YELLOW)
 DefaultNamesPlayer:
 	db   "NEW NAME"
 	next "YELLOW"
@@ -250,19 +250,19 @@
 	ld de, wcd6d
 	ld bc, $14
 	jp CopyData
-IF _RED
+IF DEF(_RED)
 DefaultNamesPlayerList: ; 6af2 (1:6af2)
 	db "NEW NAME@RED@ASH@JACK@"
 DefaultNamesRivalList: ; 6b08 (1:6b08)
 	db "NEW NAME@BLUE@GARY@JOHN@"
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 DefaultNamesPlayerList: ; 6af2 (1:6af2)
 	db "NEW NAME@BLUE@GARY@JOHN@"
 DefaultNamesRivalList: ; 6b08 (1:6b08)
 	db "NEW NAME@RED@ASH@JACK@"
 ENDC
-IF _YELLOW
+IF DEF(_YELLOW)
 DefaultNamesPlayerList:
 	db "NEW NAME@YELLOW@ASH@JACK@"
 DefaultNamesRivalList:
--- a/engine/slot_machine.asm
+++ b/engine/slot_machine.asm
@@ -862,9 +862,9 @@
 INCLUDE "data/slot_machine_wheels.asm"
 
 SlotMachineTiles1: ; 37a51 (d:7a51)
-IF _RED
+IF DEF(_RED)
 	INCBIN "gfx/red/slotmachine1.2bpp"
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	INCBIN "gfx/blue/slotmachine1.2bpp"
 ENDC
--- a/engine/titlescreen.asm
+++ b/engine/titlescreen.asm
@@ -56,11 +56,11 @@
 	ld a, BANK(PokemonLogoGraphics)
 	call FarCopyData2          ; second chunk
 	ld hl, Version_GFX ; $402f
-IF _RED
+IF DEF(_RED)
 	ld de,vChars2 + $600
 	ld bc,$50
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	ld de,vChars2 + $600 + $10
 	ld bc,$50 - $10
 ENDC
@@ -114,10 +114,10 @@
 	call SaveScreenTilesToBuffer2
 	call LoadScreenTilesFromBuffer2
 	call EnableLCD
-IF _RED
+IF DEF(_RED)
 	ld a,CHARMANDER ; which Pokemon to show first on the title screen
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	ld a,SQUIRTLE ; which Pokemon to show first on the title screen
 ENDC
 
@@ -382,9 +382,9 @@
 
 ; these point to special tiles specifically loaded for that purpose and are not usual text
 VersionOnTitleScreenText: ; 45a1 (1:45a1)
-IF _RED
+IF DEF(_RED)
 	db $60,$61,$7F,$65,$66,$67,$68,$69,"@" ; "Red Version"
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	db $61,$62,$63,$64,$65,$66,$67,$68,"@" ; "Blue Version"
 ENDC
--- a/main.asm
+++ b/main.asm
@@ -6414,10 +6414,10 @@
 INCLUDE "engine/battle/1a.asm"
 
 Version_GFX:
-IF _RED
+IF DEF(_RED)
 	INCBIN "gfx/red/redgreenversion.1bpp" ; 10 tiles
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	INCBIN "gfx/blue/blueversion.1bpp" ; 8 tiles
 ENDC
 
--- a/text/credits_text.asm
+++ b/text/credits_text.asm
@@ -65,10 +65,10 @@
 	dw CredPAAD
 
 CredVersion: ; 74343 (1d:4343) ; this 1 byte difference makes all bank addresses offset by 1 in the blue version
-IF _RED
+IF DEF(_RED)
 	db -8, "RED VERSION STAFF@"
 ENDC
-IF _BLUE
+IF DEF(_BLUE)
 	db -8, "BLUE VERSION STAFF@"
 ENDC
 CredTajiri: ; 74356 (1d:4356)
--- a/version.asm
+++ /dev/null
@@ -1,11 +1,0 @@
-check_ver: MACRO
-if !def(\1)
-\1 EQU 0
-endc
-ENDM
-
-	check_ver _RED
-	check_ver _BLUE
-	check_ver _JAPAN
-	check_ver _GREEN
-	check_ver _YELLOW