Celeste Hill Gate & other things

- New Celeste Hill Gate location so the entrance into the location makes more sense. Also took the opportunity to include more lore. This replaces Pokemon Tower 4F.
- Fixed a bug that caused the Cat icon to not animate correctly.
- Made the infinite Nugget glitch work properly because I was stupid and didn't test it.
- Luxwan now uses the Small Bird icon to fit with the rest of the line.
- Nidoreign has a new Pokedex entry and classification, centred on the Nido's origins in the Moon Rabbit of Asian mythology.
This commit is contained in:
Llinos Evans 2023-09-20 17:02:09 +01:00
parent 953e8e295f
commit 63a28e410c
34 changed files with 118 additions and 200 deletions

View file

@ -86,11 +86,7 @@
const EVENT_BEAT_POKEMONTOWER_3_TRAINER_0
const EVENT_BEAT_POKEMONTOWER_3_TRAINER_1
const EVENT_BEAT_POKEMONTOWER_3_TRAINER_2
const_skip 5
const EVENT_BEAT_POKEMONTOWER_4_TRAINER_0
const EVENT_BEAT_POKEMONTOWER_4_TRAINER_1
const EVENT_BEAT_POKEMONTOWER_4_TRAINER_2
const_skip 6
const_skip 14
const EVENT_BEAT_POKEMONTOWER_5_TRAINER_0
const EVENT_BEAT_POKEMONTOWER_5_TRAINER_1
const EVENT_BEAT_POKEMONTOWER_5_TRAINER_2

View file

@ -12,9 +12,9 @@
const ICON_GRASS ; $7
const ICON_SNAKE ; $8
const ICON_QUADRUPED ; $9
const ICON_PIKACHU ; $A
const ICON_SMALL_BIRD; $0B
const ICON_CAT ; 0C
const ICON_PIKACHU ; $0A
const ICON_CAT ; $0B
const ICON_SMALL_BIRD; $0C
DEF ICON_TRADEBUBBLE EQU $0e

View file

@ -167,7 +167,7 @@ DEF FIRST_INDOOR_MAP EQU const_value
map_const POKEMON_TOWER_1F, 10, 9 ; $90
map_const POKEMON_TOWER_2F, 10, 9 ; $91
map_const BRUNSWICK_GROTTO, 15, 12 ; $92 - Was Pokemon Tower 3F
map_const POKEMON_TOWER_4F, 10, 9 ; $93 - Currently unused
map_const CELESTE_HILL_GATE, 5, 4 ; $93 - Was Pokemon Tower 4F
map_const POKEMON_TOWER_5F, 10, 9 ; $94 - Currently unused
map_const POKEMON_TOWER_6F, 10, 9 ; $95
map_const POKEMON_TOWER_7F, 10, 9 ; $96

View file

@ -73,8 +73,8 @@
const SPRITE_CHANSEY ; $44
const SPRITE_JESSIE ; $45
const SPRITE_JAMES ; $46
const SPRITE_CAT
const SPRITE_SMALL_BIRD
const SPRITE_CAT
const SPRITE_ARBOK
const SPRITE_KOFFING
const SPRITE_DIGLETT

View file

@ -21,10 +21,10 @@ MonPartySpritePointers:
mon_icon_header QuadrupedIconFrame1, 0, 1, ICON_QUADRUPED << 2
mon_icon_header QuadrupedIconFrame1, 1, 1, ICON_QUADRUPED << 2 + 2
mon_icon_header PikachuSprite, 0, 4, ICON_PIKACHU << 2
mon_icon_header TradeBubbleIconGFX, 0, 4, ICON_TRADEBUBBLE << 2
mon_icon_header SmallBirdSprite, 0, 4, ICON_SMALL_BIRD << 2
mon_icon_header CatIconFrame1, 0, 1, ICON_CAT << 2
mon_icon_header CatIconFrame1, 1, 1, ICON_CAT << 2 + 2
mon_icon_header SmallBirdSprite, 0, 4, ICON_SMALL_BIRD << 2
mon_icon_header TradeBubbleIconGFX, 0, 4, ICON_TRADEBUBBLE << 2
mon_icon_header MonsterSprite, 0, 4, ICONOFFSET + ICON_MON << 2
mon_icon_header PokeBallSprite, 0, 8, ICONOFFSET + ICON_BALL << 2
mon_icon_header FairySprite, 0, 4, ICONOFFSET + ICON_FAIRY << 2
@ -39,7 +39,7 @@ MonPartySpritePointers:
mon_icon_header QuadrupedIconFrame2, 0, 1, ICONOFFSET + ICON_QUADRUPED << 2
mon_icon_header QuadrupedIconFrame2, 1, 1, ICONOFFSET + ICON_QUADRUPED << 2 + 2
mon_icon_header PikachuSprite, 12, 4, ICONOFFSET + ICON_PIKACHU << 2
mon_icon_header TradeBubbleIconGFX, 4, 4, ICONOFFSET + ICON_TRADEBUBBLE << 2
mon_icon_header SmallBirdSprite, 12, 4, ICONOFFSET + ICON_SMALL_BIRD << 2
mon_icon_header CatIconFrame2, 0, 1, ICONOFFSET + ICON_CAT << 2
mon_icon_header CatIconFrame2, 1, 1, ICONOFFSET + ICON_CAT << 2 + 2
mon_icon_header SmallBirdSprite, 12, 4, ICONOFFSET + ICON_SMALL_BIRD << 2
mon_icon_header TradeBubbleIconGFX, 4, 4, ICONOFFSET + ICON_TRADEBUBBLE << 2

View file

@ -0,0 +1,2 @@
map_header CelesteHillGate, CELESTE_HILL_GATE, GATE, 0
end_map_header

View file

@ -1,2 +0,0 @@
map_header PokemonTower4F, POKEMON_TOWER_4F, CEMETERY, 0
end_map_header

View file

@ -149,7 +149,7 @@ MapHeaderBanks::
db BANK(PokemonTower1F_h)
db BANK(PokemonTower2F_h)
db BANK(BrunswickGrotto_h)
db BANK(PokemonTower4F_h)
db BANK(CelesteHillGate_h) ; was pokemon tower 4f
db BANK(PokemonTower5F_h)
db BANK(PokemonTower6F_h)
db BANK(PokemonTower7F_h)

View file

@ -149,7 +149,7 @@ MapHeaderPointers::
dw PokemonTower1F_h
dw PokemonTower2F_h
dw BrunswickGrotto_h
dw PokemonTower4F_h
dw CelesteHillGate_h ; was pokemon tower 4f
dw PokemonTower5F_h
dw PokemonTower6F_h
dw PokemonTower7F_h

View file

@ -0,0 +1,17 @@
CelesteHillGate_Object:
db $a ; border block
def_warp_events
warp_event 4, 0, CELESTE_HILL_OUTSIDE, 1
warp_event 5, 0, CELESTE_HILL_OUTSIDE, 2
warp_event 4, 7, CITRINE_CITY, 5
warp_event 5, 7, CITRINE_CITY, 5
def_bg_events
def_object_events
object_event 8, 4, SPRITE_SCIENTIST, WALK, LEFT_RIGHT, 1 ; person
object_event 1, 4, SPRITE_YOUNGSTER, STAY, NONE, 2 ; person
object_event 1, 5, SPRITE_SMALL_BIRD, WALK, ANY_DIR, 3 ; person
def_warps_to CELESTE_HILL_GATE

View file

@ -2,8 +2,8 @@ CelesteHillOutside_Object:
db $2 ; border block
def_warp_events
warp_event 18, 35, CITRINE_CITY, 5
warp_event 19, 35, CITRINE_CITY, 5
warp_event 18, 35, CELESTE_HILL_GATE, 1
warp_event 19, 35, CELESTE_HILL_GATE, 2
warp_event 16, 23, CELESTE_HILL_CAVE, 1
warp_event 36, 11, CELESTE_HILL_CAVE, 5
warp_event 2, 9, CELESTE_HILL_CAVE, 6

View file

@ -6,7 +6,7 @@ CitrineCity_Object:
warp_event 9, 17, CITRINE_TRADEBACK_HOUSE, 1
warp_event 15, 17, CITRINE_POKECENTER, 1
warp_event 15, 27, CITRINE_MART, 1
warp_event 23, 5, CELESTE_HILL_OUTSIDE, 1
warp_event 23, 5, CELESTE_HILL_GATE, 4
warp_event 11, 7, BATTLE_TENT, 1
warp_event 26, 31, CITRINE_FERRY_DOCK, 1
warp_event 27, 31, CITRINE_FERRY_DOCK, 1

View file

@ -3,7 +3,7 @@ PokemonTower3F_Object:
def_warp_events
warp_event 18, 9, POKEMON_TOWER_2F, 1
warp_event 3, 9, POKEMON_TOWER_4F, 2
;warp_event 3, 9, POKEMON_TOWER_4F, 2
def_bg_events

View file

@ -1,18 +0,0 @@
PokemonTower4F_Object:
db $1 ; border block
def_warp_events
warp_event 3, 9, POKEMON_TOWER_5F, 1
;warp_event 18, 9, POKEMON_TOWER_3F, 2
def_bg_events
def_object_events
object_event 5, 10, SPRITE_CHANNELER, STAY, RIGHT, 1, OPP_CHANNELER, 9
object_event 15, 7, SPRITE_CHANNELER, STAY, DOWN, 2, OPP_CHANNELER, 10
object_event 14, 12, SPRITE_CHANNELER, STAY, LEFT, 3, OPP_CHANNELER, 12
; object_event 12, 10, SPRITE_POKE_BALL, STAY, NONE, 4, ELIXER
; object_event 9, 10, SPRITE_POKE_BALL, STAY, NONE, 5, AWAKENING
; object_event 12, 16, SPRITE_POKE_BALL, STAY, NONE, 6, HP_UP
def_warps_to POKEMON_TOWER_4F

View file

@ -2,7 +2,7 @@ PokemonTower5F_Object:
db $1 ; border block
def_warp_events
warp_event 3, 9, POKEMON_TOWER_4F, 1
; warp_event 3, 9, POKEMON_TOWER_4F, 1
warp_event 18, 9, POKEMON_TOWER_6F, 1
def_bg_events

View file

@ -149,7 +149,7 @@ MapSongBanks::
db MUSIC_POKEMON_TOWER, 0 ; POKEMON_TOWER_2F
db MUSIC_KINCHOU01, 0 ; BRUNSWICK_GROTTO
;db MUSIC_POKEMON_TOWER, 0 ; POKEMON_TOWER_3F
db MUSIC_POKEMON_TOWER, 0 ; POKEMON_TOWER_4F
db MUSIC_FIELD06, 0 ; Celeste Hill Gate, was POKEMON_TOWER_4F
db MUSIC_POKEMON_TOWER, 0 ; POKEMON_TOWER_5F
db MUSIC_POKEMON_TOWER, 0 ; POKEMON_TOWER_6F
db MUSIC_POKEMON_TOWER, 0 ; POKEMON_TOWER_7F

View file

@ -1526,7 +1526,7 @@ OmegadgeDexEntry:
text_end
NidoreignDexEntry:
db "POISON PIN@"
db "LUNAR@"
db 3,7
dw 800
text_far _NidoreignDexEntry

View file

@ -110,7 +110,7 @@ MonPartyData:
nybble ICON_MON ; Lickitung
nybble ICON_MON ; Lickilicky
nybble ICON_SMALL_BIRD ; Farfetch'd
nybble ICON_BIRD ; Madaamu
nybble ICON_SMALL_BIRD ; Luxwan
nybble ICON_SMALL_BIRD ; Sirfetch'd
nybble ICON_MON ; Drowzee
nybble ICON_MON ; Hypno

View file

@ -338,14 +338,14 @@ _MagnetiteDexEntry:: ; unused
next "levitating"
dex
_NidoreignDexEntry:: ; Consider revising. Could expand on why the Nidos are associated with the Moon Stone at all. They're based on the Moon Rabbit of East Asian mythology.
text "Exposure to a"
next "MOON STONE caused"
next "its evolution. It"
_NidoreignDexEntry:: ; The Nidos are based on the Moon Rabbit of East Asian mythology, so we're expanding on this with actual moon references.
text "It's said to come"
next "from the moon."
next "Its poisonous"
page "combines traits"
next "of both NIDORINA"
next "and NIDORINO"
page "spines are used"
next "to make powerful"
next "MAX ELIXERs"
dex
_BalumbaDexEntry::

View file

@ -78,8 +78,8 @@ SpriteSheetPointerTable:
overworld_sprite ChanseySprite, 12 ; SPRITE_CHANSEY
overworld_sprite JessieSprite, 12 ; SPRITE_JESSIE
overworld_sprite JamesSprite, 12 ; SPRITE_JAMES
overworld_sprite CatSprite, 12 ; SPRITE_CAT
overworld_sprite SmallBirdSprite, 12 ; SPRITE_SMALL_BIRD
overworld_sprite CatSprite, 12 ; SPRITE_CAT
overworld_sprite ArbokSprite, 12 ; SPRITE_ARBOK
overworld_sprite KoffingSprite, 12 ; SPRITE_KOFFING
overworld_sprite DiglettSprite, 12 ; SPRITE_DIGLETT

View file

@ -149,7 +149,7 @@ WildDataPointers:
dw PokemonTower2FWildMons
dw BrunswickGrottoWildMons
;dw PokemonTower3FWildMons
dw PokemonTower4FWildMons
dw NothingWildMons
dw PokemonTower5FWildMons
dw PokemonTower6FWildMons
dw PokemonTower7FWildMons
@ -298,7 +298,7 @@ INCLUDE "data/wild/maps/PokemonTower1F.asm"
INCLUDE "data/wild/maps/PokemonTower2F.asm"
INCLUDE "data/wild/maps/BrunswickGrotto.asm"
;INCLUDE "data/wild/maps/PokemonTower3F.asm"
INCLUDE "data/wild/maps/PokemonTower4F.asm"
;INCLUDE "data/wild/maps/PokemonTower4F.asm"
INCLUDE "data/wild/maps/PokemonTower5F.asm"
INCLUDE "data/wild/maps/PokemonTower6F.asm"
INCLUDE "data/wild/maps/PokemonTower7F.asm"

View file

@ -21,12 +21,12 @@ SetIshiharaTeam:
jr .loop
IshiharaTeam:
db EEVEE, 90
db EXEGGUTOR_A, 90
db MELTAN, 90
db TRAMPEL, 90
db MEWTWO, 90
db ELECTRODE, 50
db ARCANINE, 50
db FARFETCHD, 50
db -1 ; end
DebugStart:

View file

@ -92,7 +92,7 @@ PartyMonSpeeds:
LoadMonPartySpriteGfx:
; Load mon party sprite tile patterns into VRAM during V-blank.
ld hl, MonPartySpritePointers
ld a, $22 ; Number of pointers in the list in hex. eg. Yellow has 30, so 1E is used.
ld a, $24 ; Number of pointers in the list in hex. eg. Yellow has 30, so 1E is used.
LoadAnimSpriteGfx:
; Load animated sprite tile patterns into VRAM during V-blank. hl is the address

View file

@ -985,10 +985,11 @@ PokemonTower2F_Blocks: INCBIN "maps/PokemonTower2F.blk"
;INCLUDE "data/maps/objects/PokemonTower3F.asm"
;PokemonTower3F_Blocks: INCBIN "maps/PokemonTower3F.blk"
INCLUDE "data/maps/headers/PokemonTower4F.asm"
INCLUDE "scripts/PokemonTower4F.asm"
INCLUDE "data/maps/objects/PokemonTower4F.asm"
PokemonTower4F_Blocks: INCBIN "maps/PokemonTower4F.blk"
; Replaced Pokemon Tower 4F. You'll see lots of leftovers!
INCLUDE "data/maps/headers/CelesteHillGate.asm"
INCLUDE "scripts/CelesteHillGate.asm"
INCLUDE "data/maps/objects/CelesteHillGate.asm"
CelesteHillGate_Blocks: INCBIN "maps/CelesteHillGate.blk"
INCLUDE "data/maps/headers/PokemonTower5F.asm"
INCLUDE "scripts/PokemonTower5F.asm"

BIN
maps/CelesteHillGate.blk Normal file

Binary file not shown.

View file

@ -1,3 +0,0 @@

 [Q ^QOL_ 
fONMOOMOgNOg 9f NO SU

View file

@ -2041,7 +2041,7 @@ wSSAnneB1FRoomsCurScript:: db
wVermilionCityCurScript:: db
wPokemonTower2FCurScript:: db
wPokemonTower3FCurScript:: db
wPokemonTower4FCurScript:: db
ds 1 ;was wPokemonTower4FCurScript
wPokemonTower5FCurScript:: db
wPokemonTower6FCurScript:: db
wPokemonTower7FCurScript:: db

View file

@ -0,0 +1,22 @@
CelesteHillGate_Script:
jp EnableAutoTextBoxDrawing
CelesteHillGate_TextPointers:
dw CelesteHillGateText1
dw CelesteHillGateText2
dw CelesteHillGateText3
CelesteHillGateText1:
text_far _CelesteHillGateText1
text_end
CelesteHillGateText2:
text_far _CelesteHillGateText2
text_end
CelesteHillGateText3:
text_far _CelesteHillGateText3
text_asm
ld a, LUXWAN
call PlayCry
jp TextScriptEnd

View file

@ -1,82 +0,0 @@
PokemonTower4F_Script:
call EnableAutoTextBoxDrawing
ld hl, PokemonTower4TrainerHeaders
ld de, PokemonTower4F_ScriptPointers
ld a, [wPokemonTower4FCurScript]
call ExecuteCurMapScriptInTable
ld [wPokemonTower4FCurScript], a
ret
PokemonTower4F_ScriptPointers:
dw CheckFightingMapTrainers
dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle
PokemonTower4F_TextPointers:
dw PokemonTower4Text1
dw PokemonTower4Text2
dw PokemonTower4Text3
PokemonTower4TrainerHeaders:
def_trainers
PokemonTower4TrainerHeader0:
trainer EVENT_BEAT_POKEMONTOWER_4_TRAINER_0, 2, PokemonTower4BattleText1, PokemonTower4EndBattleText1, PokemonTower4AfterBattleText1
PokemonTower4TrainerHeader1:
trainer EVENT_BEAT_POKEMONTOWER_4_TRAINER_1, 2, PokemonTower4BattleText2, PokemonTower4EndBattleText2, PokemonTower4AfterBattleText2
PokemonTower4TrainerHeader2:
trainer EVENT_BEAT_POKEMONTOWER_4_TRAINER_2, 2, PokemonTower4BattleText3, PokemonTower4EndBattleText3, PokemonTower4AfterBattleText3
db -1 ; end
PokemonTower4Text1:
text_asm
ld hl, PokemonTower4TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
PokemonTower4Text2:
text_asm
ld hl, PokemonTower4TrainerHeader1
call TalkToTrainer
jp TextScriptEnd
PokemonTower4Text3:
text_asm
ld hl, PokemonTower4TrainerHeader2
call TalkToTrainer
jp TextScriptEnd
PokemonTower4BattleText1:
text_far _PokemonTower4BattleText1
text_end
PokemonTower4EndBattleText1:
text_far _PokemonTower4EndBattleText1
text_end
PokemonTower4AfterBattleText1:
text_far _PokemonTower4AfterBattleText1
text_end
PokemonTower4BattleText2:
text_far _PokemonTower4BattleText2
text_end
PokemonTower4EndBattleText2:
text_far _PokemonTower4EndBattleText2
text_end
PokemonTower4AfterBattleText2:
text_far _PokemonTower4AfterBattleText2
text_end
PokemonTower4BattleText3:
text_far _PokemonTower4BattleText3
text_end
PokemonTower4EndBattleText3:
text_far _PokemonTower4EndBattleText3
text_end
PokemonTower4AfterBattleText3:
text_far _PokemonTower4AfterBattleText3
text_end

View file

@ -22,7 +22,7 @@ Route24_ScriptPointers:
dw Route24Script4
Route24Script0:
CheckEvent EVENT_GOT_NUGGET
CheckEvent EVENT_BEAT_ROUTE24_ROCKET
jp nz, CheckFightingMapTrainers
ld hl, CoordsData_5140e
call ArePlayerCoordsInArray
@ -106,9 +106,9 @@ Route24TrainerHeader5:
; We added the infinite Nugget glitch from FRLG to own the libs
Route24Text1:
text_asm
ResetEvent EVENT_NUGGET_REWARD_AVAILABLE
;CheckEvent EVENT_GOT_NUGGET
;jr nz, .got_item
;ResetEvent EVENT_NUGGET_REWARD_AVAILABLE
CheckEvent EVENT_BEAT_ROUTE24_ROCKET
jr nz, .got_item
ld hl, Route24Text_51510
call PrintText
lb bc, NUGGET, 1
@ -142,7 +142,7 @@ Route24Text1:
.bag_full
ld hl, Route24Text_51521
call PrintText
SetEvent EVENT_NUGGET_REWARD_AVAILABLE
; SetEvent EVENT_NUGGET_REWARD_AVAILABLE
jp TextScriptEnd
Route24Text_51510:

View file

@ -173,7 +173,7 @@ INCLUDE "text/LavenderPokecenter.asm"
INCLUDE "text/PokemonTower1F.asm"
INCLUDE "text/PokemonTower2F.asm"
INCLUDE "text/PokemonTower3F.asm"
INCLUDE "text/PokemonTower4F.asm"
INCLUDE "text/CelesteHillGate.asm"
INCLUDE "text/PokemonTower5F.asm"
INCLUDE "text/PokemonTower6F.asm"
INCLUDE "text/PokemonTower7F.asm"

31
text/CelesteHillGate.asm Normal file
View file

@ -0,0 +1,31 @@
; Referencing Bede's talks about Galarian Articuno
; "Galarian Articuno has a cold and callous personality, but its mannerisms are refined."
; "I was troubled by Articuno's behavior of toying with people."
_CelesteHillGateText1::
text "The locals here"
line "claim that"
cont "ARTICUNO has a"
cont "cold, callous"
cont "personality."
para "What kind of"
line "ARTICUNO did"
cont "they meet..?"
para "It's nothing like"
line "like the legends"
cont "I've read!"
done
_CelesteHillGateText2::
text "I came here to"
line "look for rare"
cont "bird #MON!"
para "Boy, it didn't"
line "disappoint!"
done
_CelesteHillGateText3::
text "LUXWAN: Kwaa!"
done

View file

@ -29,8 +29,7 @@ _CitrineCityTower::
done
_CitrineCityCavern::
text "GATE TO"
line "CELESTE HILL"
text "CELESTE HILL"
para "Stay safe! Look"
line "out for strong"

View file

@ -1,45 +0,0 @@
_PokemonTower4BattleText1::
text "GHOST! No!"
line "Kwaaah!"
done
_PokemonTower4EndBattleText1::
text "Where"
line "is the GHOST?"
prompt
_PokemonTower4AfterBattleText1::
text "I must have been"
line "dreaming..."
done
_PokemonTower4BattleText2::
text "Be cursed with"
line "me! Kwaaah!"
done
_PokemonTower4EndBattleText2::
text "What!"
prompt
_PokemonTower4AfterBattleText2::
text "We can't crack"
line "the identity of"
cont "the GHOSTs."
done
_PokemonTower4BattleText3::
text "Huhuhu..."
line "Beat me not!"
done
_PokemonTower4EndBattleText3::
text "Huh?"
line "Who? What?"
prompt
_PokemonTower4AfterBattleText3::
text "May the departed"
line "souls of #MON"
cont "rest in peace..."
done