Citrine geography rework, Metal Coat

Lots of things here. Citrine now has its own tileset featuring content from the prototype asset leak. This includes new grass, signs, and so on. Lots of tinkering had to be done to make it look good, but it does! Collision and everything is done, but grass needs to animate properly. I'm committing as-is because making the grass animate is actually very difficult.

Also added the Metal Coat and fixed the issues with prior evolution methods - evo items first, level-up second. It is currently unobtainable.
This commit is contained in:
Llinos Evans 2023-04-17 18:40:30 +01:00
parent 6c43b45213
commit 094869ab5e
22 changed files with 181 additions and 32 deletions

View file

@ -166,11 +166,11 @@ Due to the odd way some new Pokemon evolve, methods are listed here. Beta Pokemo
New Pokemon:
- Rhydon -> Rhyperior | Use Protector
- Lickitung -> Lickilicky | L32
- Scyther -> Scizor | L41
- Scyther -> Scizor | L41 OR use Metal Coat
- Scyther -> Kleavor | Use Black Augurite
- Pinsir -> Purakkusu | L42
- Pinsir -> Purakkusu | L42 OR use Metal Coat
- Tangela -> Tangrowth | L44
- Onix -> Steelix | L38
- Onix -> Steelix | L38 OR use Metal Coat
- Slowpoke -> Slowking | Use Heart Stone
- Chansey -> Blissey | L45
- Psyduck -> Weirduck | L22, Golduck level remains the same for Weirduck.
@ -179,7 +179,7 @@ New Pokemon:
- Magneton -> Magnezone | Use Thunder Stone
- Farfetch'd -> Sirfetch'd | Use Heart Stone
- Poliwhirl -> Politoed | Use Heart Stone
- Ditto -> Animon | Trade
- Ditto -> Animon | Use Metal Coat
- Seadra -> Kingdra | Trade
- Primeape -> Annihilape | Trade
- Golbat -> Crobat | L44
@ -212,6 +212,9 @@ Kanto Beta Pokemon:
- Para -> Paras | L12
- Hinaazu -> Doduo | L18
- Betobebii -> Grimer | L20
- Nidorino OR Nidorina -> Nidoreign | Moon Stone
- Nidorino -> Nidoking | L36
- Nidorina -> Nidoqueen | L36
Eeveelutions:
- Espeon | Heart Stone
@ -220,7 +223,22 @@ Eeveelutions:
- Glaceon | Ice Stone
- Sylveon | Moon Stone
Nidos can evolve into Nidoreign with a Moon Stone, or their original counterparts with a Poison Stone.
The Evolution Stone Glitch is being made a feature by moving the Pokemon's constants appropriately. It happens by defeating a Pokemon using a certain Pokemon, while levelling up the respective Pokemon that wants to evolve. Thus, by using a stone, you now have a way to save on them, making all evolutions replicable as long as the Pokemon is kept in possession. We're making each Pokemon that applies to this glitch thematically appropriate.
The following will apply:
- Clefable for Moon Stone
- Arcanine for Fire Stone
- Poliwrath for Water Stone
- Politoed for Heart Stone
- Victreebel for Leaf Stone
- Tsubomitto for Poison Stone
- Mr. Rime for Ice Stone
- Melmetal for Candy Jar
- Kleavor for Black Augurite
- Porygon2 for Up-Grade
- Porygon-Z for Dubious Disc
- Rhyperior for Protector
- Steelix for Metal Coat
Accessing Regional variants
====

View file

@ -100,6 +100,7 @@ DEF SAFARI_ROCK EQU $16 ; overload
const CITRINE_PASS ; $59
const OLD_SEA_MAP ; $5A
const UP_GRADE ; $5B
const METAL_COAT ; $5C
DEF NUM_ITEMS EQU const_value - 1
; elevator floors use item IDs

View file

@ -98,7 +98,7 @@
const DRAGONAIR ; $59
const KABUTO ; $5A
const KABUTOPS ; $5B - Up-Grade (Evo Stone Glitch)
const HORSEA ; $5C
const HORSEA ; $5C - Metal Coat (Evo Stone Glitch)
const SEADRA ; $5D
const BAWLIGUA ; $5E (new)
const CRYITHAN ; $5F (new)

View file

@ -26,4 +26,5 @@
const FACILITY ; 22
const PLATEAU ; 23
const PREGYM ; 24
const CITRINE ; 25
DEF NUM_TILESETS EQU const_value

View file

@ -91,6 +91,7 @@ KeyItemFlags:
dbit TRUE ; CITRINE_PASS
dbit TRUE ; OLD_SEA_MAP
dbit FALSE ; UP_GRADE
dbit FALSE ; METAL_COAT
dbit TRUE ; FLOOR_B2F
dbit TRUE ; FLOOR_B1F
dbit TRUE ; FLOOR_1F

View file

@ -91,6 +91,7 @@ ItemNames::
li "CITRINE PASS"
li "OLD SEA MAP"
li "UP-GRADE"
li "METAL COAT"
assert_list_length NUM_ITEMS
li "B2F"
li "B1F"

View file

@ -91,6 +91,7 @@ ItemPrices::
bcd3 0 ; CITRINE_PASS
bcd3 0 ; OLD_SEA_MAP
bcd3 3000 ; UP_GRADE
bcd3 3000 ; METAL_COAT
assert_table_length NUM_ITEMS
bcd3 0 ; FLOOR_B2F
bcd3 0 ; FLOOR_B1F

View file

@ -43,4 +43,6 @@ UsableItems_PartyMenu:
db POISON_STONE
db BLK_AUGURITE
db DUBIOUS_DISC
db UP_GRADE
db METAL_COAT
db -1 ; end

View file

@ -1,2 +1,2 @@
map_header CitrineCity, CITRINE_CITY, OVERWORLD, 0
map_header CitrineCity, CITRINE_CITY, CITRINE, 0
end_map_header

View file

@ -558,8 +558,9 @@ GastlyEvosMoves:
ScytherEvosMoves:
; Evolutions
db EV_LEVEL, 41, SCIZOR
db EV_ITEM, BLK_AUGURITE, 1, KLEAVOR
db EV_ITEM, METAL_COAT, 1, SCIZOR
db EV_LEVEL, 41, SCIZOR
db 0
; Learnset
db 17, LEER
@ -599,6 +600,7 @@ BlastoiseEvosMoves:
PinsirEvosMoves:
; Evolutions
db EV_ITEM, METAL_COAT, 1, PURAKKUSU
db EV_LEVEL, 42, PURAKKUSU
db 0
; Learnset
@ -657,6 +659,7 @@ GrowlitheEvosMoves:
OnixEvosMoves:
; Evolutions
db EV_ITEM, METAL_COAT, 1, STEELIX
db EV_LEVEL, 38, STEELIX
db 0
; Learnset
@ -1176,7 +1179,7 @@ ZapdosEvosMoves:
DittoEvosMoves:
; Evolutions
db EV_TRADE, 1, ANIMON
db EV_ITEM, METAL_COAT, 1, ANIMON
db 0
; Learnset
db 0
@ -2225,7 +2228,8 @@ RaticateEvosMoves:
NidorinoEvosMoves:
; Evolutions
db EV_ITEM, MOON_STONE, 1, NIDOREIGN
db EV_ITEM, POISON_STONE, 1, NIDOKING
;db EV_ITEM, POISON_STONE, 1, NIDOKING
db EV_LEVEL, 36, NIDOKING
db 0
; Learnset
db 8, HORN_ATTACK
@ -2239,7 +2243,8 @@ NidorinoEvosMoves:
NidorinaEvosMoves:
; Evolutions
db EV_ITEM, MOON_STONE, 1, NIDOREIGN
db EV_ITEM, POISON_STONE, 1, NIDOQUEEN
;db EV_ITEM, POISON_STONE, 1, NIDOQUEEN
db EV_LEVEL, 36, NIDOQUEEN
db 0
; Learnset
db 8, SCRATCH
@ -3106,7 +3111,7 @@ SandslashAEvosMoves:
db 45, BLIZZARD
db 0
NinetalesAEvosMoves: ; vulpix-alola learnset
NinetalesAEvosMoves: ; vulpix-alola learnset, same principle for others
; Evolutions
db 0
; Learnset
@ -3214,7 +3219,7 @@ ExeggutorAEvosMoves:
; Evolutions
db 0
; Learnset
db 25, REFLECT ; this would normally be removed, but because this'll be traded, we're using this
db 25, REFLECT ; the moves would normally be removed, but because this'll be traded, we're using this
db 28, LEECH_SEED
db 32, STUN_SPORE
db 37, POISONPOWDER

View file

@ -43,6 +43,7 @@ _ProtectorDescription::
_BlkAuguriteDescription::
_DubiousDiscDescription::
_UpGradeDescription::
_MetalCoatDescription::
text "Evolves certain"
next "kinds of #MON."
prompt

View file

@ -71,4 +71,7 @@ Plateau_Coll::
PreGym_Coll::
coll_tiles $0B, $0E, $1E, $1F
;coll_tiles $01, $06, $12, $13, $17, $19, $0A, $1A, $3E, $3F, $0F, $1D, $1C, $0C, $0D, $2A, $2B, $3A, $3B
Citrine_Coll::
coll_tiles $2C, $31, $3F, $55, $0E, $2F, $23, $20, $10, $03, $1C, $1B, $0B, $0C, $21

View file

@ -2,13 +2,14 @@ MACRO tileset
db BANK(\1_GFX)
dw \1_Block, \1_GFX, \1_Coll
db \2, \3, \4 ; counter tiles
db \5 ; grass tile
db \5, ; grass tile
db \6 ; animations (TILEANIM_* value)
ENDM
Tilesets:
table_width 12, Tilesets
; name, 3 counter tiles, grass tile, animations
; FIXME: Needs to have a new column for a second grass tile for Citrine to work properly. Missing tile is $3F.
tileset Overworld, -1, -1, -1, $52, TILEANIM_WATER_FLOWER
tileset RedsHouse1, -1, -1, -1, -1, TILEANIM_NONE
tileset Mart, $18,$19,$1E, -1, TILEANIM_NONE
@ -34,4 +35,5 @@ Tilesets:
tileset Facility, $12, -1, -1, -1, TILEANIM_WATER
tileset Plateau, -1, -1, -1, $45, TILEANIM_WATER
tileset PreGym, $3A, $3B, -1, -1, TILEANIM_NONE
tileset Citrine, -1, -1, -1, $0E, TILEANIM_WATER_FLOWER
assert_table_length NUM_TILESETS

View file

@ -25,6 +25,7 @@ WarpTileIDPointers:
dw .FacilityWarpTileIDs
dw .PlateauWarpTileIDs
dw .PreGymWarpTileIDs
dw .CitrineWarpTileIDs
assert_table_length NUM_TILESETS
MACRO warp_tiles
@ -90,10 +91,13 @@ ENDM
.PlateauWarpTileIDs:
db $1B, $3B
; fallthrough
.ShipPortWarpTileIDs:
.ClubWarpTileIDs:
.PreGymWarpTileIDs:
warp_tiles $23
.CitrineWarpTileIDs:
warp_tiles $1B, $1C
.ShipPortWarpTileIDs:
.ClubWarpTileIDs:
warp_tiles ; end

View file

@ -22,11 +22,11 @@ SetIshiharaTeam:
IshiharaTeam:
db EXEGGUTOR_A, 90
db TAUROS, 90
db SLOWKING, 90
db RAPIDASH, 50
db PINSIR, 90
db DITTO, 90
db SCYTHER, 50
IF DEF(_DEBUG)
db MUK, 50
db ONIX, 50
ENDC
db -1 ; end
@ -154,6 +154,8 @@ DebugItemsList:
db UP_GRADE, 1
db TM_MEGA_PUNCH, 1
db HM_SURF, 1
db METAL_COAT, 99
db BLK_AUGURITE, 99
db FLOOR_1F
db -1 ; end

View file

@ -108,6 +108,7 @@ ItemUsePtrTable:
dw UnusableItem ; CITRINE_PASS
dw UnusableItem ; OLD_SEA_MAP
dw ItemUseEvoStone ; UP_GRADE
dw ItemUseEvoStone ; METAL_COAT
dw UnusableItem ; FLOOR_B2F
dw UnusableItem ; FLOOR_B1F
dw UnusableItem ; FLOOR_1F

View file

@ -196,6 +196,8 @@ ItemDescriptionPointers:
text_end
text_far _UpGradeDescription
text_end
text_far _MetalCoatDescription
text_end
text_far _HM01Description
text_end
text_far _HM02Description

84
gfx/blocksets/citrine.bst Normal file
View file

@ -0,0 +1,84 @@
()KKK
O####9#########9#%&  
()R*+:;<<<<<<<<<<<<<<HI77XY77,,,,,,,,,,,,77779999999999FG99VW#
#,,,,,,,,,,,,,,,,/U/U??/U/U??SS88SSSSSS 88@A@APQPQ@A@APQPQ%&
"""

""""

()"""
R*+*+:;:;*+*+:;:;LM,,\],,,,,,,,,,,,NO,,^_,,,,,,,,,,LM,,\],,,,,,,,LM,\],,,,,*+*+:;:;,,,,/U/U??@A@APQPQ@A@APQPQ@A,,PQ,,/U/U??@A/UPQ?####9###@A@APQPQ33332223333TTT3333LSSSZZ\SSSMZZ]!########!## ######## '''''6776777$$$$774$7774##!########!########''''''''$$$$$$$$7'57$533,,,,,,,,,,,,74<<%&
"N9999999999999999@A-.PQ=>@A,,PQ,,@A@APQPQ,,-.,,=>-.,,=>,,@A@APQPQ,,-.,,=>@A,,PQ,,@A@APQPQ,,@A,,PQ
KKKKKK ,,,,,,,,,,,,,,,, 
KK
KKKK
9$$$$$[[[[%&
KKKK [[[[[[*+,,:;,,,,,,,,,,
()KKKKKKR,,@A,,PQ,,@A74PQ##!######! !######## ![[[[[[[[[[ !######!##! ########![[[[[[[[[[,,,,,,,,@A,,PQ,,,,*+,,:;,,*+,,:;*+,,:;,,*+,,:;,,,,*+,,:;*+*+:;:;*+,,:;,,*+*+:;:;*+*+:;:;,,,,,,,,,,,,,,,,*+*+:;:;,,*+,,:;,,,,,,,,<<<<<<<<<<<<<<<<[[[[[[,,,,,,,,,,FG,,VW77777777',,,',,,',,,',,,,,$,,$,,$,,$
KKK
KKK
KKK
KKK999999999999<<67!##!############!##!99NO99^_99999999,,@A,,PQ-.@A=>PQ99999999*+*+:;:;*+*+:;:;*+,,:;,,1111[[TTTT22222T2T2T2T[[[[[[%&
KKK
KKK
()KKK
KKK33*+:;*+:;*+*+:;:;@A@APQPQ,,,,,,,,@A,,PQ,,@A,,PQ,,,,@A,,PQ,,@A,,PQ,,,,,,,,@A@APQPQ$$$$HI4$XY74""""
()KKKBCKJJR
()KKKDEKJJR,,,,,,,,,,,,88%&""88""()%&
KKKK 11110000000000FG00VW,0,00,0,,0,00,0,0909909009099090
KKKK 
KKKKKKKK
KKKKKKR
KKKK
KKKK

View file

@ -64,4 +64,7 @@ Underground_Block:: INCBIN "gfx/blocksets/underground.bst"
SECTION "Tilesets 4", ROMX
PreGym_GFX:: INCBIN "gfx/tilesets/pregym.2bpp"
PreGym_Block:: INCBIN "gfx/blocksets/pregym.bst"
PreGym_Block:: INCBIN "gfx/blocksets/pregym.bst"
Citrine_GFX:: INCBIN "gfx/tilesets/citrine.2bpp"
Citrine_Block:: INCBIN "gfx/blocksets/citrine.bst"

BIN
gfx/tilesets/citrine.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View file

@ -1,14 +1,31 @@
kkkkk !kkkkkkkkkkkCChi>??;CCCdhi(,,)eCd|}}~$W%eCdI#####Ht
yt
G>>>>hi(,,)>>>>gFCCZ[(,,)CCC<FdZ[$W%eC<Fd|}~
t
eC<Fd
I#####Ht
Vt
eCd1't t'
oooooteCd1' 'n meCd1'89 !'n lll
eCd1'<=|r'n ooo
eCd1&#####"n meCd1' '
lllllteCd1't t't
eC<Fd
't t'
oooooteC<Fd
' 'n meC<Fd
'89 'n lll
eC<Fd
'wA=r'n ooo
eC<Fd&#####"n meC<Fd
' 'tlllllteC<Fd
'6 't
t
eCd1'89 !&###H111eCd1'<=|s'11'.Cd1D#####"T.CCCCd1111111'eCCTTTTT-T.CCxxxxxxCCCCCCCCTCCCCCCCCC
eC<Fd
' &###H111eC<Fd'=s'_11'.C<Fd
D#####"T.CCCC<Fd
'eCCTTTTTF-T.CCxxxxxxcJKKKKKKKKTKKKKKKKKKU