This commit is contained in:
Zeta_Null 2023-10-20 14:33:46 -04:00
commit efd3ce0f00
17 changed files with 71 additions and 28 deletions

View file

@ -30,7 +30,7 @@
const FIRE_STONE ; 16 const FIRE_STONE ; 16
const THUNDERSTONE ; 17 const THUNDERSTONE ; 17
const WATER_STONE ; 18 const WATER_STONE ; 18
const ITEM_19 ; 19 const FAIRY_FEATHER; 19
const HP_UP ; 1a const HP_UP ; 1a
const PROTEIN ; 1b const PROTEIN ; 1b
const IRON ; 1c const IRON ; 1c

View file

@ -130,6 +130,7 @@ DEF MAIL_STRUCT_LENGTH_JP EQU $2a ; mailmsg_jp struct
const HELD_DRAGON_BOOST const HELD_DRAGON_BOOST
const HELD_DARK_BOOST const HELD_DARK_BOOST
const HELD_STEEL_BOOST const HELD_STEEL_BOOST
const HELD_FAIRY_BOOST
const_next 70 const_next 70
const HELD_CATCH_CHANCE const HELD_CATCH_CHANCE

View file

@ -32,6 +32,7 @@ DEF SPECIAL EQU const_value
const ICE const ICE
const DRAGON const DRAGON
const DARK const DARK
const FAIRY
DEF TYPES_END EQU const_value DEF TYPES_END EQU const_value
DEF NUM_TYPES EQU TYPES_END + UNUSED_TYPES - UNUSED_TYPES_END - 1 ; discount BIRD DEF NUM_TYPES EQU TYPES_END + UNUSED_TYPES - UNUSED_TYPES_END - 1 ; discount BIRD

View file

@ -56,8 +56,8 @@ ItemAttributes:
item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; WATER_STONE ; WATER_STONE
item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; ITEM_19 ; FAIRY_FEATHER
item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE item_attribute 1450, HELD_FAIRY_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; HP_UP ; HP_UP
item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; PROTEIN ; PROTEIN

View file

@ -3,7 +3,7 @@
; item associated with the table entry is used instead. ; item associated with the table entry is used instead.
TimeCapsule_CatchRateItems: TimeCapsule_CatchRateItems:
db ITEM_19, LEFTOVERS db FAIRY_FEATHER, LEFTOVERS
db ITEM_2D, BITTER_BERRY db ITEM_2D, BITTER_BERRY
db ITEM_32, GOLD_BERRY db ITEM_32, GOLD_BERRY
db ITEM_5A, BERRY db ITEM_5A, BERRY

View file

@ -25,7 +25,7 @@ ItemDescriptions:
dw FireStoneDesc dw FireStoneDesc
dw ThunderStoneDesc dw ThunderStoneDesc
dw WaterStoneDesc dw WaterStoneDesc
dw QuestionMarkDesc dw FairyFeatherDesc
dw HPUpDesc dw HPUpDesc
dw ProteinDesc dw ProteinDesc
dw IronDesc dw IronDesc
@ -915,3 +915,7 @@ MusicMailDesc:
MirageMailDesc: MirageMailDesc:
db "MEW-print MAIL." db "MEW-print MAIL."
next "(HOLD)@" next "(HOLD)@"
FairyFeatherDesc:
db "Powers up fairy-"
next "type moves. (HOLD)@"

View file

@ -24,7 +24,7 @@ ItemNames::
li "FIRE STONE" li "FIRE STONE"
li "THUNDERSTONE" li "THUNDERSTONE"
li "WATER STONE" li "WATER STONE"
li "TERU-SAMA" li "FAIRYFEATHER"
li "HP UP" li "HP UP"
li "PROTEIN" li "PROTEIN"
li "IRON" li "IRON"

View file

@ -210,4 +210,4 @@ TohjoFallsName: db "TOHJO FALLS@"
UndergroundName: db "UNDERGROUND@" UndergroundName: db "UNDERGROUND@"
BattleTowerName: db "BATTLE¯TOWER@" BattleTowerName: db "BATTLE¯TOWER@"
SpecialMapName: db "SPECIAL@" SpecialMapName: db "SPECIAL@"
SilentHillsName: db "SILENT HILLS@" SilentHillsName: db "SILENT¯HILLS@"

View file

@ -31,6 +31,7 @@ TypeNames:
dw Ice dw Ice
dw Dragon dw Dragon
dw Dark dw Dark
dw Fairy
assert_table_length TYPES_END assert_table_length TYPES_END
Normal: db "NORMAL@" Normal: db "NORMAL@"
@ -52,3 +53,4 @@ Ghost: db "GHOST@"
Steel: db "STEEL@" Steel: db "STEEL@"
Dragon: db "DRAGON@" Dragon: db "DRAGON@"
Dark: db "DARK@" Dark: db "DARK@"
Fairy: db "FAIRY@"

View file

@ -19,4 +19,5 @@ PokedexTypeSearchStrings:
db " DRAGON @" db " DRAGON @"
db " DARK @" db " DARK @"
db " STEEL @" db " STEEL @"
db " FAIRY @"
assert_table_length NUM_TYPES + 1 assert_table_length NUM_TYPES + 1

View file

@ -18,4 +18,5 @@ PokedexTypeSearchConversionTable:
db DRAGON db DRAGON
db DARK db DARK
db STEEL db STEEL
db FAIRY
assert_table_length NUM_TYPES assert_table_length NUM_TYPES

View file

@ -16,4 +16,5 @@ TypeBoostItems:
db HELD_DRAGON_BOOST, DRAGON ; DRAGON_SCALE db HELD_DRAGON_BOOST, DRAGON ; DRAGON_SCALE
db HELD_DARK_BOOST, DARK ; BLACKGLASSES db HELD_DARK_BOOST, DARK ; BLACKGLASSES
db HELD_STEEL_BOOST, STEEL ; METAL_COAT db HELD_STEEL_BOOST, STEEL ; METAL_COAT
db HELD_FAIRY_BOOST, FAIRY ; FAIRY_FEATHER
db -1 db -1

View file

@ -49,12 +49,14 @@ TypeMatchups:
db FIGHTING, ROCK, SUPER_EFFECTIVE db FIGHTING, ROCK, SUPER_EFFECTIVE
db FIGHTING, DARK, SUPER_EFFECTIVE db FIGHTING, DARK, SUPER_EFFECTIVE
db FIGHTING, STEEL, SUPER_EFFECTIVE db FIGHTING, STEEL, SUPER_EFFECTIVE
db FIGHTING, FAIRY, NOT_VERY_EFFECTIVE
db POISON, GRASS, SUPER_EFFECTIVE db POISON, GRASS, SUPER_EFFECTIVE
db POISON, POISON, NOT_VERY_EFFECTIVE db POISON, POISON, NOT_VERY_EFFECTIVE
db POISON, GROUND, NOT_VERY_EFFECTIVE db POISON, GROUND, NOT_VERY_EFFECTIVE
db POISON, ROCK, NOT_VERY_EFFECTIVE db POISON, ROCK, NOT_VERY_EFFECTIVE
db POISON, GHOST, NOT_VERY_EFFECTIVE db POISON, GHOST, NOT_VERY_EFFECTIVE
db POISON, STEEL, NO_EFFECT db POISON, STEEL, NO_EFFECT
db POISON, FAIRY, SUPER_EFFECTIVE
db GROUND, FIRE, SUPER_EFFECTIVE db GROUND, FIRE, SUPER_EFFECTIVE
db GROUND, ELECTRIC, SUPER_EFFECTIVE db GROUND, ELECTRIC, SUPER_EFFECTIVE
db GROUND, GRASS, NOT_VERY_EFFECTIVE db GROUND, GRASS, NOT_VERY_EFFECTIVE
@ -83,6 +85,7 @@ TypeMatchups:
db BUG, GHOST, NOT_VERY_EFFECTIVE db BUG, GHOST, NOT_VERY_EFFECTIVE
db BUG, DARK, SUPER_EFFECTIVE db BUG, DARK, SUPER_EFFECTIVE
db BUG, STEEL, NOT_VERY_EFFECTIVE db BUG, STEEL, NOT_VERY_EFFECTIVE
db BUG, FAIRY, NOT_VERY_EFFECTIVE
db ROCK, FIRE, SUPER_EFFECTIVE db ROCK, FIRE, SUPER_EFFECTIVE
db ROCK, ICE, SUPER_EFFECTIVE db ROCK, ICE, SUPER_EFFECTIVE
db ROCK, FIGHTING, NOT_VERY_EFFECTIVE db ROCK, FIGHTING, NOT_VERY_EFFECTIVE
@ -97,17 +100,26 @@ TypeMatchups:
db GHOST, GHOST, SUPER_EFFECTIVE db GHOST, GHOST, SUPER_EFFECTIVE
db DRAGON, DRAGON, SUPER_EFFECTIVE db DRAGON, DRAGON, SUPER_EFFECTIVE
db DRAGON, STEEL, NOT_VERY_EFFECTIVE db DRAGON, STEEL, NOT_VERY_EFFECTIVE
db DRAGON, FAIRY, NO_EFFECT
db DARK, FIGHTING, NOT_VERY_EFFECTIVE db DARK, FIGHTING, NOT_VERY_EFFECTIVE
db DARK, PSYCHIC_TYPE, SUPER_EFFECTIVE db DARK, PSYCHIC_TYPE, SUPER_EFFECTIVE
db DARK, GHOST, SUPER_EFFECTIVE db DARK, GHOST, SUPER_EFFECTIVE
db DARK, DARK, NOT_VERY_EFFECTIVE db DARK, DARK, NOT_VERY_EFFECTIVE
db DARK, STEEL, NOT_VERY_EFFECTIVE db DARK, STEEL, NOT_VERY_EFFECTIVE
db DARK, FAIRY, NOT_VERY_EFFECTIVE
db STEEL, FIRE, NOT_VERY_EFFECTIVE db STEEL, FIRE, NOT_VERY_EFFECTIVE
db STEEL, WATER, NOT_VERY_EFFECTIVE db STEEL, WATER, NOT_VERY_EFFECTIVE
db STEEL, ELECTRIC, NOT_VERY_EFFECTIVE db STEEL, ELECTRIC, NOT_VERY_EFFECTIVE
db STEEL, ICE, SUPER_EFFECTIVE db STEEL, ICE, SUPER_EFFECTIVE
db STEEL, ROCK, SUPER_EFFECTIVE db STEEL, ROCK, SUPER_EFFECTIVE
db STEEL, STEEL, NOT_VERY_EFFECTIVE db STEEL, STEEL, NOT_VERY_EFFECTIVE
db STEEL, FAIRY, SUPER_EFFECTIVE
db FAIRY, FIRE, NOT_VERY_EFFECTIVE
db FAIRY, FIGHTING, SUPER_EFFECTIVE
db FAIRY, POISON, NOT_VERY_EFFECTIVE
db FAIRY, DRAGON, SUPER_EFFECTIVE
db FAIRY, DARK, SUPER_EFFECTIVE
db FAIRY, STEEL, NOT_VERY_EFFECTIVE
db -2 ; end (with Foresight) db -2 ; end (with Foresight)

View file

@ -38,7 +38,7 @@ ItemEffects:
dw EvoStoneEffect ; FIRE_STONE dw EvoStoneEffect ; FIRE_STONE
dw EvoStoneEffect ; THUNDERSTONE dw EvoStoneEffect ; THUNDERSTONE
dw EvoStoneEffect ; WATER_STONE dw EvoStoneEffect ; WATER_STONE
dw NoEffect ; ITEM_19 dw NoEffect ; FAIRY_FEATHER
dw VitaminEffect ; HP_UP dw VitaminEffect ; HP_UP
dw VitaminEffect ; PROTEIN dw VitaminEffect ; PROTEIN
dw VitaminEffect ; IRON dw VitaminEffect ; IRON
@ -193,22 +193,27 @@ ItemEffects:
dw PokeBallEffect ; PARK_BALL dw PokeBallEffect ; PARK_BALL
dw NoEffect ; RAINBOW_WING dw NoEffect ; RAINBOW_WING
dw NoEffect ; ITEM_B3 dw NoEffect ; ITEM_B3
assert_table_length ITEM_B3 dw NoEffect ; BRICK_PIECE
dw NoEffect ; SURF_MAIL
dw NoEffect ; LITEBLUEMAIL
dw NoEffect ; PORTRAITMAIL
dw NoEffect ; LOVELY_MAIL
dw NoEffect ; EON_MAIL
dw NoEffect ; MORPH_MAIL
dw NoEffect ; BLUESKY_MAIL
dw NoEffect ; MUSIC_MAIL
dw NoEffect ; MIRAGE_MAIL
dw NoEffect ; ITEM_BE
dw NoEffect ; ITEM_DC
dw NoEffect ; ITEM_C3
dw NoEffect ; ITEM_FA
assert_table_length NUM_ITEMS
; The items past ITEM_B3 do not have effect entries: ; The items past ITEM_B3 do not have effect entries:
; BRICK_PIECE
; SURF_MAIL
; LITEBLUEMAIL
; PORTRAITMAIL
; LOVELY_MAIL
; EON_MAIL
; MORPH_MAIL
; BLUESKY_MAIL
; MUSIC_MAIL
; MIRAGE_MAIL
; ITEM_BE
; They all have the ITEMMENU_NOUSE attribute so they can't be used anyway. ; They all have the ITEMMENU_NOUSE attribute so they can't be used anyway.
; NoEffect would be appropriate, with the table then being NUM_ITEMS long. ; NoEffect would be appropriate, with the table then being NUM_ITEMS long.
; This has been amended for architectural purposes, and because we have a shitload of SW97 items to add.
PokeBallEffect: PokeBallEffect:
; BUG: The Dude's catching tutorial may crash if his Poké Ball can't be used (see docs/bugs_and_glitches.md) ; BUG: The Dude's catching tutorial may crash if his Poké Ball can't be used (see docs/bugs_and_glitches.md)
ld a, [wBattleMode] ld a, [wBattleMode]

View file

@ -540,12 +540,12 @@ Pokegear_UpdateClock:
PokegearMap_CheckRegion: PokegearMap_CheckRegion:
ld a, [wPokegearMapPlayerIconLandmark] ld a, [wPokegearMapPlayerIconLandmark]
cp NIHON_LANDMARK
jr z, .nihon
cp LANDMARK_FAST_SHIP cp LANDMARK_FAST_SHIP
jr z, .johto jr z, .johto
cp KANTO_LANDMARK cp KANTO_LANDMARK
jr nc, .kanto jr nc, .kanto
cp NIHON_LANDMARK
jr c, .nihon
.johto .johto
ld a, POKEGEARSTATE_JOHTOMAPINIT ld a, POKEGEARSTATE_JOHTOMAPINIT
jr .done jr .done
@ -2059,10 +2059,17 @@ PokegearMap:
ret ret
.kanto .kanto
cp NIHON_LANDMARK
jr c, .nihon
call LoadTownMapGFX call LoadTownMapGFX
call FillKantoMap call FillKantoMap
ret ret
.nihon
call LoadTownMapGFX
call FillNihonMap
ret
_FlyMap: _FlyMap:
call ClearBGPalettes call ClearBGPalettes
call ClearTilemap call ClearTilemap
@ -2305,10 +2312,10 @@ FlyMap:
call GetWorldMapLocation call GetWorldMapLocation
.CheckRegion: .CheckRegion:
; The first 46 locations are part of Johto. The rest are in Kanto. ; The first 46 locations are part of Johto. The rest are in Kanto.
cp KANTO_LANDMARK
jr nc, .KantoFlyMap
cp NIHON_LANDMARK cp NIHON_LANDMARK
jr nc, .NihonFlyMap jr nc, .NihonFlyMap
cp KANTO_LANDMARK
jr nc, .KantoFlyMap
; Johto fly map ; Johto fly map
; Note that .NoKanto should be modified in tandem with this branch ; Note that .NoKanto should be modified in tandem with this branch
push af push af
@ -2341,7 +2348,7 @@ FlyMap:
; Kanto's map is only loaded if we've visited Indigo Plateau ; Kanto's map is only loaded if we've visited Indigo Plateau
ld a, KANTO_FLYPOINT ; first Kanto flypoint ld a, KANTO_FLYPOINT ; first Kanto flypoint
ld [wStartFlypoint], a ld [wStartFlypoint], a
ld a, NUM_FLYPOINTS - 1 ; last Kanto flypoint ld a, NIHON_FLYPOINT - 1 ; last Kanto flypoint
ld [wEndFlypoint], a ld [wEndFlypoint], a
ld [wTownMapPlayerIconLandmark], a ; last one is default (Indigo Plateau) ld [wTownMapPlayerIconLandmark], a ; last one is default (Indigo Plateau)
; Fill out the map ; Fill out the map
@ -2366,9 +2373,9 @@ FlyMap:
and a and a
jr z, .NoKanto jr z, .NoKanto
; Kanto's map is only loaded if we've visited Indigo Plateau ; Kanto's map is only loaded if we've visited Indigo Plateau
ld a, NIHON_FLYPOINT ; first Kanto flypoint ld a, NIHON_FLYPOINT ; first Nihon flypoint
ld [wStartFlypoint], a ld [wStartFlypoint], a
ld a, NUM_FLYPOINTS - 1 ; last Kanto flypoint ld a, NUM_FLYPOINTS - 1 ; last Nihon flypoint
ld [wEndFlypoint], a ld [wEndFlypoint], a
ld [wTownMapPlayerIconLandmark], a ; last one is default (Indigo Plateau) ld [wTownMapPlayerIconLandmark], a ; last one is default (Indigo Plateau)
; Fill out the map ; Fill out the map
@ -2985,11 +2992,19 @@ EntireFlyMap: ; unreferenced
ld a, [wTownMapPlayerIconLandmark] ld a, [wTownMapPlayerIconLandmark]
cp KANTO_FLYPOINT cp KANTO_FLYPOINT
jr c, .InJohto jr c, .InJohto
cp NIHON_FLYPOINT
jr nc, .InNihon
call FillKantoMap call FillKantoMap
xor a xor a
ld b, HIGH(vBGMap1) ld b, HIGH(vBGMap1)
jr .Finally jr .Finally
.InNihon:
call FillNihonMap
ld a, SCREEN_HEIGHT_PX
ld b, HIGH(vBGMap0)
jr .Finally
.InJohto: .InJohto:
call FillJohtoMap call FillJohtoMap
ld a, SCREEN_HEIGHT_PX ld a, SCREEN_HEIGHT_PX

Binary file not shown.

View file

@ -15,7 +15,7 @@ SilentHills_MapEvents:
db 0, 0 ; filler db 0, 0 ; filler
def_warp_events def_warp_events
;warp_event 8, 13, GLOBAL_TERMINAL_1F, 1 warp_event 11, 5, PLAYERS_HOUSE_1F, 1
def_coord_events def_coord_events