summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorentrpntr <entrpntr@gmail.com>2020-05-04 10:57:46 -0400
committerentrpntr <entrpntr@gmail.com>2020-05-04 10:57:46 -0400
commit39a7f59931e03e4ebd155e061ac6e71a6d6bd97a (patch)
tree2601e63dcfc316ed96c20887897b2d244782d354
parent3d651a7c49317e9c2b55bffcb589bf2e1e2b4ccd (diff)
Clean up specials and swarms.
-rw-r--r--constants/engine_flags.asm2
-rw-r--r--constants/pokemon_data_constants.asm46
-rw-r--r--constants/script_constants.asm12
-rw-r--r--constants/wram_constants.asm2
-rw-r--r--data/engine_flags.asm2
-rw-r--r--data/events/happiness_probabilities.asm16
-rw-r--r--data/special_pointers.asm130
-rwxr-xr-xdata/text/common_1.asm6
-rwxr-xr-xengine/events/haircut.asm8
-rwxr-xr-xengine/events/specials.asm421
-rw-r--r--engine/menus/naming_screen.asm2
-rwxr-xr-xengine/overworld/time.asm4
-rw-r--r--engine/overworld/wildmons.asm4
-rw-r--r--main.asm18
-rw-r--r--maps/GoldenrodUnderground.asm163
-rw-r--r--wram.asm8
16 files changed, 428 insertions, 416 deletions
diff --git a/constants/engine_flags.asm b/constants/engine_flags.asm
index 4bdadba9..2e23a342 100644
--- a/constants/engine_flags.asm
+++ b/constants/engine_flags.asm
@@ -96,7 +96,7 @@
; wDailyFlags1
const ENGINE_KURT_MAKING_BALLS
const ENGINE_DAILY_BUG_CONTEST ; 50
- const ENGINE_FISH_SWARM
+ const ENGINE_SWARM
const ENGINE_TIME_CAPSULE
const ENGINE_ALL_FRUIT_TREES
const ENGINE_GOT_SHUCKIE_TODAY
diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm
index 9edb9cab..83d5d7b6 100644
--- a/constants/pokemon_data_constants.asm
+++ b/constants/pokemon_data_constants.asm
@@ -19,7 +19,8 @@ BASE_UNKNOWN_1 EQUS "(wBaseUnknown1 - wCurBaseData)"
BASE_EGG_STEPS EQUS "(wBaseEggSteps - wCurBaseData)"
BASE_UNKNOWN_2 EQUS "(wBaseUnknown2 - wCurBaseData)"
BASE_PIC_SIZE EQUS "(wBasePicSize - wCurBaseData)"
-BASE_PADDING EQUS "(wBasePadding - wCurBaseData)"
+BASE_FRONTPIC EQUS "(wBaseUnusedFrontpic - wCurBaseData)"
+BASE_BACKPIC EQUS "(wBaseUnusedBackpic - wCurBaseData)"
BASE_GROWTH_RATE EQUS "(wBaseGrowthRate - wCurBaseData)"
BASE_EGG_GROUPS EQUS "(wBaseEggGroups - wCurBaseData)"
BASE_TMHM EQUS "(wBaseTMHM - wCurBaseData)"
@@ -70,37 +71,38 @@ MONS_PER_BOX EQU 20
NUM_BOXES EQU 14
; hall of fame
-HOF_MON_LENGTH = 1 + 2 + 2 + 1 + (MON_NAME_LENGTH - 1) ; species, id, dvs, level, nick
-HOF_LENGTH = 1 + HOF_MON_LENGTH * PARTY_LENGTH + 1 ; win count, party, terminator
-NUM_HOF_TEAMS = 30
+HOF_MON_LENGTH EQU 1 + 2 + 2 + 1 + (MON_NAME_LENGTH - 1) ; species, id, dvs, level, nick
+HOF_LENGTH EQU 1 + HOF_MON_LENGTH * PARTY_LENGTH + 1 ; win count, party, terminator
+NUM_HOF_TEAMS EQU 30
-; evolution types
-const_value SET 1
+; evolution types (used in data/pokemon/evos_attacks.asm)
+ const_def 1
const EVOLVE_LEVEL
const EVOLVE_ITEM
const EVOLVE_TRADE
const EVOLVE_HAPPINESS
const EVOLVE_STAT
-
-; happiness evolution triggers
-const_value SET 1
+; EVOLVE_HAPPINESS triggers
+ const_def 1
const TR_ANYTIME
const TR_MORNDAY
const TR_NITE
-
-; stat evolution triggers
-const_value SET 1
+; EVOLVE_STAT triggers
+ const_def 1
const ATK_GT_DEF
const ATK_LT_DEF
const ATK_EQ_DEF
-NUM_GRASSMON EQU 7
-NUM_WATERMON EQU 3
+; wild data
+
+NUM_GRASSMON EQU 7 ; data/wild/*_grass.asm table size
+NUM_WATERMON EQU 3 ; data/wild/*_water.asm table size
-GRASS_WILDDATA_LENGTH EQU (NUM_GRASSMON * 2 + 1) * 3 + 2
-WATER_WILDDATA_LENGTH EQU (NUM_WATERMON * 2 + 1) * 1 + 2
+GRASS_WILDDATA_LENGTH EQU 2 + (1 + NUM_GRASSMON * 2) * 3
+WATER_WILDDATA_LENGTH EQU 2 + (1 + NUM_WATERMON * 2) * 1
+FISHGROUP_DATA_LENGTH EQU 1 + 2 * 3
NUM_ROAMMON_MAPS EQU 16 ; RoamMaps table size (see data/wild/roammon_maps.asm)
@@ -132,12 +134,12 @@ const_value = 1
const HAPPINESS_FAINTED ; 06
const HAPPINESS_POISONFAINT ; 07
const HAPPINESS_BEATENBYSTRONGFOE ; 08
- const HAPPINESS_YOUNGCUT1 ; 09
- const HAPPINESS_YOUNGCUT2 ; 0a
- const HAPPINESS_YOUNGCUT3 ; 0b
- const HAPPINESS_OLDERCUT1 ; 0c
- const HAPPINESS_OLDERCUT2 ; 0d
- const HAPPINESS_OLDERCUT3 ; 0e
+ const HAPPINESS_OLDERCUT1 ; 09
+ const HAPPINESS_OLDERCUT2 ; 0a
+ const HAPPINESS_OLDERCUT3 ; 0b
+ const HAPPINESS_YOUNGCUT1 ; 0c
+ const HAPPINESS_YOUNGCUT2 ; 0d
+ const HAPPINESS_YOUNGCUT3 ; 0e
const HAPPINESS_BITTERPOWDER ; 0f
const HAPPINESS_ENERGYROOT ; 10
const HAPPINESS_REVIVALHERB ; 11
diff --git a/constants/script_constants.asm b/constants/script_constants.asm
index 1d1e962a..49588f84 100644
--- a/constants/script_constants.asm
+++ b/constants/script_constants.asm
@@ -229,18 +229,6 @@ NUM_FRUIT_TREES EQU const_value - 1
const DECODESC_BIG_DOLL ; 3
const DECODESC_CONSOLE ; 4
-; swarm arguments
-; StoreSwarmMapIndices arguments
- const_def
- const SWARM_DUNSPARCE ; 0
- const SWARM_YANMA ; 1
-
-; ActivateFishingSwarm writebyte arguments
- const_def
- const FISHSWARM_NONE ; 0
- const FISHSWARM_QWILFISH ; 1
- const FISHSWARM_REMORAID ; 2
-
; SpecialGameboyCheck return values
const_def
const GBCHECK_GB ; 0
diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm
index 391894f0..ec956c5e 100644
--- a/constants/wram_constants.asm
+++ b/constants/wram_constants.asm
@@ -249,7 +249,7 @@ PLAYER_SURF_PIKA EQU 8
const_def
const DAILYFLAGS1_KURT_MAKING_BALLS_F ; 0
const DAILYFLAGS1_BUG_CONTEST_F ; 1
- const DAILYFLAGS1_FISH_SWARM_F ; 2
+ const DAILYFLAGS1_SWARM_F ; 2
const DAILYFLAGS1_TIME_CAPSULE_F ; 3
const DAILYFLAGS1_ALL_FRUIT_TREES_F ; 4
const DAILYFLAGS1_GOT_SHUCKIE_TODAY_F ; 5
diff --git a/data/engine_flags.asm b/data/engine_flags.asm
index 41c5597f..87e15afb 100644
--- a/data/engine_flags.asm
+++ b/data/engine_flags.asm
@@ -105,7 +105,7 @@ EngineFlags:
engine_flag wDailyFlags1, DAILYFLAGS1_KURT_MAKING_BALLS_F
engine_flag wDailyFlags1, DAILYFLAGS1_BUG_CONTEST_F ; $50
- engine_flag wDailyFlags1, DAILYFLAGS1_FISH_SWARM_F
+ engine_flag wDailyFlags1, DAILYFLAGS1_SWARM_F
engine_flag wDailyFlags1, DAILYFLAGS1_TIME_CAPSULE_F
engine_flag wDailyFlags1, DAILYFLAGS1_ALL_FRUIT_TREES_F
engine_flag wDailyFlags1, DAILYFLAGS1_GOT_SHUCKIE_TODAY_F
diff --git a/data/events/happiness_probabilities.asm b/data/events/happiness_probabilities.asm
index 0dc08ac7..7a80f989 100644
--- a/data/events/happiness_probabilities.asm
+++ b/data/events/happiness_probabilities.asm
@@ -1,12 +1,12 @@
-HappinessData_YoungerHaircutBrother:
- db $4c, 2, HAPPINESS_YOUNGCUT1 ; 30% chance
- db $80, 3, HAPPINESS_YOUNGCUT2 ; 20% chance
- db $ff, 4, HAPPINESS_YOUNGCUT3 ; 50% chance
-
HappinessData_OlderHaircutBrother:
- db $9a, 2, HAPPINESS_OLDERCUT1 ; 60% chance
- db $4c, 3, HAPPINESS_OLDERCUT2 ; 10% chance
- db $ff, 4, HAPPINESS_OLDERCUT3 ; 30% chance
+ db $4c, 2, HAPPINESS_OLDERCUT1 ; 30% chance
+ db $80, 3, HAPPINESS_OLDERCUT2 ; 20% chance
+ db $ff, 4, HAPPINESS_OLDERCUT3 ; 50% chance
+
+HappinessData_YoungerHaircutBrother:
+ db $9a, 2, HAPPINESS_YOUNGCUT1 ; 60% chance
+ db $4c, 3, HAPPINESS_YOUNGCUT2 ; 10% chance
+ db $ff, 4, HAPPINESS_YOUNGCUT3 ; 30% chance
HappinessData_DaisysGrooming:
db $ff, 2, HAPPINESS_GROOMING ; 99.6% chance
diff --git a/data/special_pointers.asm b/data/special_pointers.asm
new file mode 100644
index 00000000..03492518
--- /dev/null
+++ b/data/special_pointers.asm
@@ -0,0 +1,130 @@
+; Special routines can be used with the "special" map script command.
+; They often use wScriptVar for arguments and return values.
+
+add_special: MACRO
+; Some ROM0 specials have a nonzero bank.
+\1Special::
+IF _NARG == 1
+ dba \1
+ELSE
+ dbw \2, \1
+ENDC
+ENDM
+
+SpecialsPointers::
+ add_special WarpToSpawnPoint ; $0
+
+; Communications
+ add_special SetBitsForLinkTradeRequest
+ add_special WaitForLinkedFriend
+ add_special CheckLinkTimeout
+ add_special TryQuickSave
+ add_special CheckBothSelectedSameRoom
+ add_special FailedLinkToPast
+ add_special CloseLink
+ add_special WaitForOtherPlayerToExit ; $8
+ add_special SetBitsForBattleRequest
+ add_special SetBitsForTimeCapsuleRequest
+ add_special CheckTimeCapsuleCompatibility
+ add_special EnterTimeCapsule
+ add_special TradeCenter
+ add_special Colosseum
+ add_special TimeCapsule
+ add_special CableClubCheckWhichChris ; $10
+ add_special CheckMysteryGift
+ add_special GetMysteryGiftItem
+ add_special UnlockMysteryGift
+
+; Map events
+ add_special BugContestJudging
+ add_special CheckPartyFullAfterContest
+ add_special ContestDropOffMons
+ add_special ContestReturnMons
+ add_special GiveParkBalls ; $18
+ add_special CheckMagikarpLength
+ add_special MagikarpHouseSign
+ add_special HealParty ; this is both a special and a predef
+ add_special PokemonCenterPC
+ add_special PlayersHousePC
+ add_special DayCareMan
+ add_special DayCareLady
+ add_special DayCareManOutside ; $20
+ add_special MoveDeletion
+ add_special BankOfMom
+ add_special MagnetTrain
+ add_special NameRival
+ add_special SetDayOfWeek
+ add_special OverworldTownMap
+ add_special UnownPrinter
+ add_special MapRadio ; $28
+ add_special UnownPuzzle
+ add_special SlotMachine
+ add_special CardFlip
+ add_special DummyNonfunctionalGameCornerGame
+ add_special ClearBGPalettesBufferScreen
+ add_special FadeOutPalettes
+ add_special FadeBlackQuickly
+ add_special FadeInPalettes ; $30
+ add_special FadeInQuickly
+ add_special ReloadSpritesNoPalettes, 2
+ add_special ClearBGPalettes
+ add_special UpdateTimePals
+ add_special ClearTilemap
+ add_special UpdateSprites
+ add_special ReplaceChrisSprite
+ add_special GameCornerPrizeMonCheckDex ; $38
+ add_special UnusedSetSeenMon
+ add_special WaitSFX, 3
+ add_special PlayMapMusic
+ add_special RestartMapMusic
+ add_special HealMachineAnim
+ add_special SurfStartStep
+ add_special FindPartyMonAboveLevel
+ add_special FindPartyMonAtLeastThatHappy ; $40
+ add_special FindPartyMonThatSpecies
+ add_special FindPartyMonThatSpeciesYourTrainerID
+ add_special UnusedCheckUnusedTwoDayTimer
+ add_special DayCareMon1
+ add_special DayCareMon2
+ add_special SelectRandomBugContestContestants
+ add_special ActivateFishingSwarm
+ add_special ToggleMaptileDecorations ; $48
+ add_special ToggleDecorationsVisibility
+ add_special GiveShuckle
+ add_special ReturnShuckle
+ add_special BillsGrandfather
+ add_special CheckPokerus
+ add_special DisplayCoinCaseBalance
+ add_special DisplayMoneyAndCoinBalance
+ add_special PlaceMoneyTopRight ; $50
+ add_special CheckForLuckyNumberWinners
+ add_special CheckLuckyNumberShowFlag
+ add_special ResetLuckyNumberShowFlag
+ add_special PrintTodaysLuckyNumber
+ add_special SelectApricornForKurt
+ add_special NameRater
+ add_special DisplayLinkRecord
+ add_special GetFirstPokemonHappiness ; $58
+ add_special CheckFirstMonIsEgg
+ add_special RandomUnseenWildMon
+ add_special RandomPhoneWildMon
+ add_special RandomPhoneMon
+ add_special LoadUsedSpritesGFX
+ add_special PlaySlowCry
+ add_special SnorlaxAwake
+ add_special OlderHaircutBrother ; $60
+ add_special YoungerHaircutBrother
+ add_special DaisysGrooming
+ add_special PlayCurMonCry
+ add_special ProfOaksPCBoot
+ add_special GameboyCheck
+ add_special TrainerHouse
+ add_special PhotoStudio
+ add_special InitRoamMons ; $68
+ add_special FadeOutMusic
+ add_special Diploma
+ add_special PrintDiploma
+ add_special InitialSetDSTFlag
+ add_special InitialClearDSTFlag
+ add_special MrChrono
+ add_special DummySpecial_c389
diff --git a/data/text/common_1.asm b/data/text/common_1.asm
index 169cc9a9..a1c9fdb2 100755
--- a/data/text/common_1.asm
+++ b/data/text/common_1.asm
@@ -1012,7 +1012,7 @@ _SavingRecordText::
line "DON'T TURN OFF!"
done
-ReceivedMysteryGiftText_::
+_ReceiveItemText::
text_ram wPlayerName
text " received"
line "@"
@@ -1022,11 +1022,11 @@ ReceivedMysteryGiftText_::
text_promptbutton
db "@"
-NoCoinsText_::
+_NoCoinsText::
text "You have no coins."
prompt
-NoCoinCaseText_::
+_NoCoinCaseText::
text "You don't have a"
line "COIN CASE."
prompt
diff --git a/engine/events/haircut.asm b/engine/events/haircut.asm
index 55718beb..32043af1 100755
--- a/engine/events/haircut.asm
+++ b/engine/events/haircut.asm
@@ -12,14 +12,14 @@ BillsGrandfather:
ld [wScriptVar], a
ret
-YoungerHaircutBrother:
- ld hl, HappinessData_YoungerHaircutBrother
- jr HaircutOrGrooming
-
OlderHaircutBrother:
ld hl, HappinessData_OlderHaircutBrother
jr HaircutOrGrooming
+YoungerHaircutBrother:
+ ld hl, HappinessData_YoungerHaircutBrother
+ jr HaircutOrGrooming
+
DaisysGrooming:
ld hl, HappinessData_DaisysGrooming
; fallthrough
diff --git a/engine/events/specials.asm b/engine/events/specials.asm
index 8e93a048..ab02d3a0 100755
--- a/engine/events/specials.asm
+++ b/engine/events/specials.asm
@@ -1,5 +1,6 @@
-Special:: ; c22b
- ld hl, SpecialsPointers ; $4239
+Special::
+; Run script special de.
+ ld hl, SpecialsPointers
add hl, de
add hl, de
add hl, de
@@ -12,141 +13,12 @@ Special:: ; c22b
rst FarCall
ret
-; Special routines can be used with the "special" map script command.
-; They often use wScriptVar for arguments and return values.
+INCLUDE "data/special_pointers.asm"
-add_special: MACRO
-; Some ROM0 specials have a nonzero bank.
-\1Special::
-IF _NARG == 1
- dba \1
-ELSE
- dbw \2, \1
-ENDC
-ENDM
-
-SpecialsPointers::
- add_special WarpToSpawnPoint
-
-; Communications
- add_special SetBitsForLinkTradeRequest
- add_special WaitForLinkedFriend
- add_special CheckLinkTimeout
- add_special TryQuickSave
- add_special CheckBothSelectedSameRoom
- add_special FailedLinkToPast
- add_special CloseLink
- add_special WaitForOtherPlayerToExit
- add_special SetBitsForBattleRequest
- add_special SetBitsForTimeCapsuleRequest
- add_special CheckTimeCapsuleCompatibility
- add_special EnterTimeCapsule
- add_special TradeCenter
- add_special Colosseum
- add_special TimeCapsule
- add_special CableClubCheckWhichChris
- add_special CheckMysteryGift
- add_special GetMysteryGiftItem
- add_special UnlockMysteryGift
-
-; Map events
- add_special BugContestJudging
- add_special CheckPartyFullAfterContest
- add_special ContestDropOffMons
- add_special ContestReturnMons
- add_special GiveParkBalls
- add_special CheckMagikarpLength
- add_special MagikarpHouseSign
- add_special HealParty
- add_special PokemonCenterPC
- add_special PlayersHousePC
- add_special DayCareMan
- add_special DayCareLady
- add_special DayCareManOutside
- add_special MoveDeletion
- add_special BankOfMom
- add_special MagnetTrain
- add_special NameRival
- add_special SetDayOfWeek
- add_special OverworldTownMap
- add_special UnownPrinter
- add_special MapRadio
- add_special UnownPuzzle
- add_special SlotMachine
- add_special CardFlip
- add_special DummyNonfunctionalGameCornerGame
- add_special ClearBGPalettesBufferScreen
- add_special FadeOutPalettes
- add_special FadeBlackQuickly
- add_special FadeInPalettes
- add_special FadeInQuickly
- add_special ReloadSpritesNoPalettes, $02
- add_special ClearBGPalettes
- add_special UpdateTimePals
- add_special ClearTilemap
- add_special UpdateSprites
- add_special ReplaceChrisSprite
- add_special GameCornerPrizeMonCheckDex
- add_special UnusedSetSeenMon
- add_special WaitSFX, $03
- add_special PlayMapMusic
- add_special RestartMapMusic
- add_special HealMachineAnim
- add_special SurfStartStep
- add_special FindPartyMonAboveLevel
- add_special FindPartyMonAtLeastThatHappy
- add_special FindPartyMonThatSpecies
- add_special FindPartyMonThatSpeciesYourTrainerID
- add_special UnusedCheckUnusedTwoDayTimer
- add_special DayCareMon1
- add_special DayCareMon2
- add_special SelectRandomBugContestContestants
- add_special ActivateFishingSwarm
- add_special ToggleMaptileDecorations
- add_special ToggleDecorationsVisibility
- add_special GiveShuckle
- add_special ReturnShuckle
- add_special BillsGrandfather
- add_special CheckPokerus
- add_special DisplayCoinCaseBalance
- add_special DisplayMoneyAndCoinBalance
- add_special PlaceMoneyTopRight
- add_special CheckForLuckyNumberWinners
- add_special CheckLuckyNumberShowFlag
- add_special ResetLuckyNumberShowFlag
- add_special PrintTodaysLuckyNumber
- add_special SelectApricornForKurt
- add_special NameRater
- add_special DisplayLinkRecord
- add_special GetFirstPokemonHappiness
- add_special CheckFirstMonIsEgg
- add_special RandomUnseenWildMon
- add_special RandomPhoneWildMon
- add_special RandomPhoneMon
- add_special LoadUsedSpritesGFX
- add_special PlaySlowCry
- add_special SnorlaxAwake
- add_special YoungerHaircutBrother
- add_special OlderHaircutBrother
- add_special DaisysGrooming
- add_special PlayCurMonCry
- add_special ProfOaksPCBoot
- add_special GameboyCheck
- add_special TrainerHouse
- add_special PhotoStudio
- add_special InitRoamMons
- add_special FadeOutMusic
- add_special Diploma
- add_special PrintDiploma
- add_special InitialSetDSTFlag
- add_special InitialClearDSTFlag
- add_special MrChrono
- add_special SpecialNone
-
-SpecialNone: ; c389
- ret
-
-GameCornerPrizeMonCheckDex: ; c38a
+DummySpecial_c389:
+ ret
+
+GameCornerPrizeMonCheckDex:
ld a, [wScriptVar]
dec a
call CheckCaughtMon
@@ -156,12 +28,12 @@ GameCornerPrizeMonCheckDex: ; c38a
call SetSeenAndCaughtMon
call FadeToMenu
ld a, [wScriptVar]
- ld [wd151], a
+ ld [wNamedObjectIndexBuffer], a
farcall NewPokedexEntry
call ExitAllMenus
ret
-UnusedSetSeenMon: ; c3ac
+UnusedSetSeenMon:
ld a, [wScriptVar]
dec a
call SetSeenMon
@@ -170,28 +42,28 @@ UnusedSetSeenMon: ; c3ac
FindPartyMonAboveLevel:
ld a, [wScriptVar]
ld b, a
- farcall _FindPartyMonAboveLevel ; same bank
+ farcall _FindPartyMonAboveLevel
jr z, FoundNone
jr FoundOne
FindPartyMonAtLeastThatHappy:
ld a, [wScriptVar]
ld b, a
- farcall _FindPartyMonAtLeastThatHappy ; same bank
+ farcall _FindPartyMonAtLeastThatHappy
jr z, FoundNone
jr FoundOne
FindPartyMonThatSpecies:
ld a, [wScriptVar]
ld b, a
- farcall _FindPartyMonThatSpecies ; same bank
+ farcall _FindPartyMonThatSpecies
jr z, FoundNone
jr FoundOne
FindPartyMonThatSpeciesYourTrainerID:
ld a, [wScriptVar]
ld b, a
- farcall _FindPartyMonThatSpeciesYourTrainerID ; same bank
+ farcall _FindPartyMonThatSpeciesYourTrainerID
jr z, FoundNone
jr FoundOne
@@ -205,16 +77,17 @@ FoundNone:
ld [wScriptVar], a
ret
-NameRival: ; c3f7
- ld b, $2
+NameRival:
+ ld b, NAME_RIVAL
ld de, wRivalName
- farcall NamingScreen_
+ farcall _NamingScreen
+ ; default to "SILVER"
ld hl, wRivalName
- ld de, .DefaultName
+ ld de, .default
call InitName
ret
-.DefaultName:
+.default
IF DEF(_GOLD)
db "SILVER@"
ENDC
@@ -227,25 +100,25 @@ NameRater:
farcall _NameRater
ret
-OverworldTownMap: ; c41a (3:441a)
+OverworldTownMap:
call FadeToMenu
- farcall Function9188a
+ farcall _TownMap
call ExitAllMenus
ret
-UnownPrinter: ; c427 (3:4427)
+UnownPrinter:
call FadeToMenu
farcall _UnownPrinter
call ExitAllMenus
ret
-DisplayLinkRecord: ; c434 (3:4434)
+DisplayLinkRecord:
call FadeToMenu
farcall _DisplayLinkRecord
call ExitAllMenus
ret
-PlayersHousePC: ; c441 (3:4441)
+PlayersHousePC:
xor a
ld [wScriptVar], a
farcall _PlayersHousePC
@@ -253,95 +126,96 @@ PlayersHousePC: ; c441 (3:4441)
ld [wScriptVar], a
ret
-CheckMysteryGift: ; c450 (3:4450)
- ld a, $0
+CheckMysteryGift:
+ ld a, BANK(sMysteryGiftItem)
call OpenSRAM
- ld a, [$abe2]
+ ld a, [sMysteryGiftItem]
and a
- jr z, .asm_c45c
+ jr z, .no
inc a
-.asm_c45c
+
+.no
ld [wScriptVar], a
call CloseSRAM
ret
-GetMysteryGiftItem: ; c463 (3:4463)
- ld a, $0
+GetMysteryGiftItem:
+ ld a, BANK(sMysteryGiftItem)
call OpenSRAM
- ld a, [$abe2]
+ ld a, [sMysteryGiftItem]
ld [wCurItem], a
- ld a, $1
+ ld a, 1
ld [wItemQuantityChangeBuffer], a
ld hl, wNumItems
call ReceiveItem
- jr nc, .asm_c497
+ jr nc, .no_room
xor a
- ld [$abe2], a
+ ld [sMysteryGiftItem], a
call CloseSRAM
ld a, [wCurItem]
- ld [wd151], a
+ ld [wNamedObjectIndexBuffer], a
call GetItemName
- ld hl, ReceivedMysteryGiftText ; $449f
+ ld hl, .ReceiveItemText
call PrintText
- ld a, $1
+ ld a, TRUE
ld [wScriptVar], a
ret
-.asm_c497
+.no_room
call CloseSRAM
xor a
ld [wScriptVar], a
ret
-ReceivedMysteryGiftText:
- text_far ReceivedMysteryGiftText_
- db "@"
+.ReceiveItemText:
+ text_far _ReceiveItemText
+ text_end
-BugContestJudging: ; c4a4 (3:44a4)
+BugContestJudging:
farcall _BugContestJudging
ld a, b
ld [wScriptVar], a
ret
-MapRadio: ; c4af (3:44af)
+MapRadio:
ld a, [wScriptVar]
ld e, a
- farcall Function919c1
+ farcall PlayRadio
ret
-UnownPuzzle: ; c4ba (3:44ba)
+UnownPuzzle:
call FadeToMenu
- farcall Functione199d
- ld a, [wFieldMoveSucceeded]
+ farcall _UnownPuzzle
+ ld a, [wSolvedUnownPuzzle]
ld [wScriptVar], a
call ExitAllMenus
ret
-SlotMachine: ; c4cd (3:44cd)
- call Functionc508
+SlotMachine:
+ call CheckCoinsAndCoinCase
ret c
- ld a, BANK(Function92c36)
- ld hl, Function92c36
- call Functionc4f4
+ ld a, BANK(_SlotMachine)
+ ld hl, _SlotMachine
+ call StartGameCornerGame
ret
-CardFlip: ; c4da (3:44da)
- call Functionc508
+CardFlip:
+ call CheckCoinsAndCoinCase
ret c
- ld a, BANK(Functione0909)
- ld hl, Functione0909
- call Functionc4f4
+ ld a, BANK(_CardFlip)
+ ld hl, _CardFlip
+ call StartGameCornerGame
ret
-DummyNonfunctionalGameCornerGame: ; c4e7 (3:44e7)
- call Functionc508
+DummyNonfunctionalGameCornerGame:
+ call CheckCoinsAndCoinCase
ret c
- ld a, BANK(Functione2668)
- ld hl, Functione2668
- call Functionc4f4
+ ld a, BANK(_DummyGame)
+ ld hl, _DummyGame
+ call StartGameCornerGame
ret
-Functionc4f4: ; c4f4 (3:44f4)
+StartGameCornerGame:
call FarQueueScript
call FadeToMenu
ld hl, wQueuedScriptBank
@@ -355,55 +229,55 @@ Functionc4f4: ; c4f4 (3:44f4)
call ExitAllMenus
ret
-Functionc508: ; c508 (3:4508)
+CheckCoinsAndCoinCase:
ld hl, wCoins
ld a, [hli]
or [hl]
- jr z, .asm_c51e
+ jr z, .no_coins
ld a, COIN_CASE
ld [wCurItem], a
ld hl, wNumItems
call CheckItem
- jr nc, .asm_c523
+ jr nc, .no_coin_case
and a
ret
-.asm_c51e
+.no_coins
ld hl, .NoCoinsText
- jr .asm_c526
+ jr .print
-.asm_c523
+.no_coin_case
ld hl, .NoCoinCaseText
-.asm_c526
+
+.print
call PrintText
scf
ret
.NoCoinsText:
- text_far NoCoinsText_
- db "@"
+ text_far _NoCoinsText
+ text_end
.NoCoinCaseText:
- text_far NoCoinCaseText_
- db "@"
+ text_far _NoCoinCaseText
+ text_end
-ClearBGPalettesBufferScreen: ; c535 (3:4535)
+ClearBGPalettesBufferScreen:
call ClearBGPalettes
call BufferScreen
ret
-Functionc53c: ; c53c (3:453c)
- jr c, .asm_c543
+ScriptReturnCarry:
+ jr c, .carry
xor a
ld [wScriptVar], a
ret
-
-.asm_c543
- ld a, $1
+.carry
+ ld a, 1
ld [wScriptVar], a
ret
-UnusedCheckUnusedTwoDayTimer: ; c549 (3:4549)
+UnusedCheckUnusedTwoDayTimer:
farcall CheckUnusedTwoDayTimer
ld a, [wUnusedTwoDayTimer]
ld [wScriptVar], a
@@ -416,58 +290,58 @@ ActivateFishingSwarm:
StoreSwarmMapIndices::
ld a, d
- ld [wDunsparceMapGroup], a
+ ld [wSwarmMapGroup], a
ld a, e
- ld [wDunsparceMapNumber], a
+ ld [wSwarmMapNumber], a
; fallthrough
SetSwarmFlag:
ld hl, wDailyFlags1
- set DAILYFLAGS1_FISH_SWARM_F, [hl]
+ set DAILYFLAGS1_SWARM_F, [hl]
ret
CheckSwarmFlag::
ld hl, wDailyFlags1
- bit DAILYFLAGS1_FISH_SWARM_F, [hl]
- jr z, .asm_c578
+ bit DAILYFLAGS1_SWARM_F, [hl]
+ jr z, .clear_swarm
xor a
ld [wScriptVar], a
ret
-.asm_c578
- ld a, $1
+.clear_swarm
+ ld a, 1
ld [wScriptVar], a
xor a
ld [wFishingSwarmFlag], a
- ld [wDunsparceMapGroup], a
- ld [wDunsparceMapNumber], a
+ ld [wSwarmMapGroup], a
+ ld [wSwarmMapNumber], a
ret
-CheckPokerus: ; c588 (3:4588)
- farcall Functionc7a40
- jp Functionc53c
+CheckPokerus:
+ farcall _CheckPokerus
+ jp ScriptReturnCarry
-ResetLuckyNumberShowFlag: ; c591 (3:4591)
+ResetLuckyNumberShowFlag:
farcall RestartLuckyNumberCountdown
ld hl, wLuckyNumberShowFlag
res LUCKYNUMBERSHOW_GAME_OVER_F, [hl]
farcall LoadOrRegenerateLuckyIDNumber
ret
-CheckLuckyNumberShowFlag: ; c5a3 (3:45a3)
+CheckLuckyNumberShowFlag:
farcall _CheckLuckyNumberShowFlag
- jp Functionc53c
+ jp ScriptReturnCarry
-CountUnown: ; c5ac (3:45ac)
+CountUnown:
ld hl, wUnownDex
ld b, $0
-.asm_c5b1
+.loop
ld a, [hli]
and a
ret z
inc b
ld a, b
- cp $1a
- jr c, .asm_c5b1
+ cp NUM_UNOWN
+ jr c, .loop
ret
SelectApricornForKurt:
@@ -483,34 +357,44 @@ SelectApricornForKurt:
call TossItem
ret
-SnorlaxAwake: ; c5d6 (3:45d6)
- ld a, [wChannelsEnd]
- cp $40
- jr nz, .asm_c5fb
+SnorlaxAwake:
+; Check if the Poké Flute channel is playing, and if the player is standing
+; next to Snorlax.
+
+; outputs:
+; wScriptVar is 1 if the conditions are met, otherwise 0.
+
+; check background music
+ ld a, [wMapMusic]
+ cp MUSIC_POKE_FLUTE_CHANNEL
+ jr nz, .nope
+
ld a, [wXCoord]
ld b, a
ld a, [wYCoord]
ld c, a
+
ld hl, .ProximityCoords
-.asm_c5e8
+.loop
ld a, [hli]
- cp $ff
- jr z, .asm_c5fb
+ cp -1
+ jr z, .nope
cp b
- jr nz, .asm_c5f8
+ jr nz, .nextcoord
ld a, [hli]
cp c
- jr nz, .asm_c5e8
- ld a, $1
- jr .asm_c5fc
+ jr nz, .loop
+
+ ld a, TRUE
+ jr .done
-.asm_c5f8
+.nextcoord
inc hl
- jr .asm_c5e8
+ jr .loop
-.asm_c5fb
+.nope
xor a
-.asm_c5fc
+.done
ld [wScriptVar], a
ret
@@ -523,54 +407,55 @@ SnorlaxAwake: ; c5d6 (3:45d6)
db 36, 9 ; right
db -1
-PlayCurMonCry: ; c60b (3:460b)
+PlayCurMonCry:
ld a, [wCurPartySpecies]
jp PlayMonCry
-GameboyCheck: ; c611 (3:4611)
+GameboyCheck:
ldh a, [hCGB]
and a
- jr nz, .asm_c622
+ jr nz, .cgb
+
ldh a, [hSGB]
and a
- jr nz, .asm_c61e
- xor a
- jr .asm_c624
-
-.asm_c61e
- ld a, $1
- jr .asm_c624
-
-.asm_c622
- ld a, $2
-.asm_c624
+ jr nz, .sgb
+
+.gb
+ xor a ; GBCHECK_GB
+ jr .done
+.sgb
+ ld a, GBCHECK_SGB
+ jr .done
+.cgb
+ ld a, GBCHECK_CGB
+.done
ld [wScriptVar], a
ret
-FadeOutMusic: ; c628 (3:4628)
- ld a, $0
+FadeOutMusic:
+ ld a, LOW(MUSIC_NONE)
ld [wMusicFadeID], a
- ld a, $0
+ ld a, HIGH(MUSIC_NONE)
ld [wMusicFadeID + 1], a
ld a, $2
ld [wMusicFade], a
ret
-Diploma: ; c638 (3:4638)
+Diploma:
call FadeToMenu
- farcall Functione0002
+ farcall _Diploma
call ExitAllMenus
ret
-PrintDiploma: ; c645 (3:4645)
+PrintDiploma:
call FadeToMenu
- farcall Function84684
+ farcall _PrintDiploma
call ExitAllMenus
ret
-TrainerHouse: ; c652 (3:4652)
- ld a, $0
+TrainerHouse:
+ ld a, BANK(sMysteryGiftTrainerHouseFlag)
call OpenSRAM
- ld a, [$abfd]
+ ld a, [sMysteryGiftTrainerHouseFlag]
ld [wScriptVar], a
jp CloseSRAM
diff --git a/engine/menus/naming_screen.asm b/engine/menus/naming_screen.asm
index a528b3a8..88241187 100644
--- a/engine/menus/naming_screen.asm
+++ b/engine/menus/naming_screen.asm
@@ -1,4 +1,4 @@
-NamingScreen_:
+_NamingScreen:
call DisableSpriteUpdates
call NamingScreen
call ReturnToMapWithSpeechTextbox
diff --git a/engine/overworld/time.asm b/engine/overworld/time.asm
index 17ddbd6a..d5c45cc4 100755
--- a/engine/overworld/time.asm
+++ b/engine/overworld/time.asm
@@ -177,13 +177,13 @@ CheckUnusedTwoDayTimer:
; unused
ld hl, wDailyFlags1
- set DAILYFLAGS1_FISH_SWARM_F, [hl]
+ set DAILYFLAGS1_SWARM_F, [hl]
ret
; unused
and a
ld hl, wDailyFlags1
- bit DAILYFLAGS1_FISH_SWARM_F, [hl]
+ bit DAILYFLAGS1_SWARM_F, [hl]
ret nz
scf
ret
diff --git a/engine/overworld/wildmons.asm b/engine/overworld/wildmons.asm
index bd839dae..c06020e1 100644
--- a/engine/overworld/wildmons.asm
+++ b/engine/overworld/wildmons.asm
@@ -430,10 +430,10 @@ _JohtoWildmonCheck:
_SwarmWildmonCheck:
call CopyCurrMapDE
- ld a, [wDunsparceMapGroup]
+ ld a, [wSwarmMapGroup]
cp d
jr nz, _NoSwarmWildmon
- ld a, [wDunsparceMapNumber]
+ ld a, [wSwarmMapNumber]
cp e
jr nz, _NoSwarmWildmon
call LookUpWildmonsForMapDE
diff --git a/main.asm b/main.asm
index 2479d95e..4c23e6fe 100644
--- a/main.asm
+++ b/main.asm
@@ -482,7 +482,7 @@ PrintMailAndExit::
dr $845d4, $84616
PrintPartymon::
dr $84616, $84684
-Function84684::
+_PrintDiploma::
dr $84684, $8640a
HallOfFame::
@@ -622,9 +622,9 @@ RadioMusicRestartDE::
dr $917ca, $917de
RadioMusicRestartPokemonChannel::
dr $917de, $9188a
-Function9188a::
+_TownMap::
dr $9188a, $919c1
-Function919c1::
+PlayRadio::
dr $919c1, $91a4f
TownMap_::
dr $91a4f, $91a61
@@ -637,7 +637,7 @@ GetLandmarkName::
dr $92364, $9297a
Fish::
dr $9297a, $92c36
-Function92c36::
+_SlotMachine::
dr $92c36, $93f86
@@ -671,7 +671,7 @@ INCLUDE "engine/pokemon/mail_2.asm"
SECTION "bank31_2", ROMX
-Functionc7a40::
+_CheckPokerus::
dr $c7a40, $c7a5a
CheckForLuckyNumberWinners::
dr $c7a5a, $c7bad
@@ -751,17 +751,17 @@ TilesetForestColl::
SECTION "bank38", ROMX
dr $e0000, $e0002
-Functione0002::
+_Diploma::
dr $e0002, $e081b
RotateUnownFrontpic::
dr $e081b, $e0909
-Functione0909::
+_CardFlip::
dr $e0909, $e199d
-Functione199d::
+_UnownPuzzle::
dr $e199d, $e2668
-Functione2668::
+_DummyGame::
dr $e2668, $e2b9e
DepositPokemon_::
dr $e2b9e, $e2d71
diff --git a/maps/GoldenrodUnderground.asm b/maps/GoldenrodUnderground.asm
index aaf5617a..99860be6 100644
--- a/maps/GoldenrodUnderground.asm
+++ b/maps/GoldenrodUnderground.asm
@@ -1,12 +1,15 @@
- const_def 2 ; object constants
+GOLDENRODUNDERGROUND_OLDER_HAIRCUT_PRICE EQU 500
+GOLDENRODUNDERGROUND_YOUNGER_HAIRCUT_PRICE EQU 300
+
+ object_const_def ; object_event constants
const GOLDENRODUNDERGROUND_SUPER_NERD1
const GOLDENRODUNDERGROUND_SUPER_NERD2
const GOLDENRODUNDERGROUND_SUPER_NERD3
const GOLDENRODUNDERGROUND_SUPER_NERD4
const GOLDENRODUNDERGROUND_POKE_BALL
const GOLDENRODUNDERGROUND_GRAMPS
- const GOLDENRODUNDERGROUND_SUPER_NERD5
- const GOLDENRODUNDERGROUND_SUPER_NERD6
+ const GOLDENRODUNDERGROUND_OLDER_HAIRCUT_BROTHER
+ const GOLDENRODUNDERGROUND_YOUNGER_HAIRCUT_BROTHER
const GOLDENRODUNDERGROUND_GRANNY
GoldenrodUnderground_MapScripts:
@@ -33,8 +36,8 @@ GoldenrodUnderground_MapScripts:
clearevent EVENT_SWITCH_12
clearevent EVENT_SWITCH_13
clearevent EVENT_SWITCH_14
- writebyte 0
- copyvartobyte wUndergroundSwitchPositions
+ setval 0
+ writemem wUndergroundSwitchPositions
return
.CheckBasementKey:
@@ -47,7 +50,7 @@ GoldenrodUnderground_MapScripts:
return
.CheckDayOfWeek:
- checkcode VAR_WEEKDAY
+ readvar VAR_WEEKDAY
ifequal MONDAY, .Monday
ifequal TUESDAY, .Tuesday
ifequal WEDNESDAY, .Wednesday
@@ -57,8 +60,8 @@ GoldenrodUnderground_MapScripts:
.Sunday:
disappear GOLDENRODUNDERGROUND_GRAMPS
- disappear GOLDENRODUNDERGROUND_SUPER_NERD5
- appear GOLDENRODUNDERGROUND_SUPER_NERD6
+ disappear GOLDENRODUNDERGROUND_OLDER_HAIRCUT_BROTHER
+ appear GOLDENRODUNDERGROUND_YOUNGER_HAIRCUT_BROTHER
appear GOLDENRODUNDERGROUND_GRANNY
return
@@ -68,43 +71,43 @@ GoldenrodUnderground_MapScripts:
iffalse .NotMondayMorning
appear GOLDENRODUNDERGROUND_GRAMPS
.NotMondayMorning:
- disappear GOLDENRODUNDERGROUND_SUPER_NERD5
- disappear GOLDENRODUNDERGROUND_SUPER_NERD6
+ disappear GOLDENRODUNDERGROUND_OLDER_HAIRCUT_BROTHER
+ disappear GOLDENRODUNDERGROUND_YOUNGER_HAIRCUT_BROTHER
disappear GOLDENRODUNDERGROUND_GRANNY
return
.Tuesday:
disappear GOLDENRODUNDERGROUND_GRAMPS
- appear GOLDENRODUNDERGROUND_SUPER_NERD5
- disappear GOLDENRODUNDERGROUND_SUPER_NERD6
+ appear GOLDENRODUNDERGROUND_OLDER_HAIRCUT_BROTHER
+ disappear GOLDENRODUNDERGROUND_YOUNGER_HAIRCUT_BROTHER
disappear GOLDENRODUNDERGROUND_GRANNY
return
.Wednesday:
disappear GOLDENRODUNDERGROUND_GRAMPS
- disappear GOLDENRODUNDERGROUND_SUPER_NERD5
- appear GOLDENRODUNDERGROUND_SUPER_NERD6
+ disappear GOLDENRODUNDERGROUND_OLDER_HAIRCUT_BROTHER
+ appear GOLDENRODUNDERGROUND_YOUNGER_HAIRCUT_BROTHER
disappear GOLDENRODUNDERGROUND_GRANNY
return
.Thursday:
disappear GOLDENRODUNDERGROUND_GRAMPS
- appear GOLDENRODUNDERGROUND_SUPER_NERD5
- disappear GOLDENRODUNDERGROUND_SUPER_NERD6
+ appear GOLDENRODUNDERGROUND_OLDER_HAIRCUT_BROTHER
+ disappear GOLDENRODUNDERGROUND_YOUNGER_HAIRCUT_BROTHER
disappear GOLDENRODUNDERGROUND_GRANNY
return
.Friday:
disappear GOLDENRODUNDERGROUND_GRAMPS
- disappear GOLDENRODUNDERGROUND_SUPER_NERD5
- appear GOLDENRODUNDERGROUND_SUPER_NERD6
+ disappear GOLDENRODUNDERGROUND_OLDER_HAIRCUT_BROTHER
+ appear GOLDENRODUNDERGROUND_YOUNGER_HAIRCUT_BROTHER
disappear GOLDENRODUNDERGROUND_GRANNY
return
.Saturday:
disappear GOLDENRODUNDERGROUND_GRAMPS
- appear GOLDENRODUNDERGROUND_SUPER_NERD5
- disappear GOLDENRODUNDERGROUND_SUPER_NERD6
+ appear GOLDENRODUNDERGROUND_OLDER_HAIRCUT_BROTHER
+ disappear GOLDENRODUNDERGROUND_YOUNGER_HAIRCUT_BROTHER
appear GOLDENRODUNDERGROUND_GRANNY
return
@@ -154,10 +157,10 @@ TrainerPokemaniacDonald:
BitterMerchantScript:
opentext
- checkcode VAR_WEEKDAY
+ readvar VAR_WEEKDAY
ifequal SUNDAY, .Open
ifequal SATURDAY, .Open
- jump GoldenrodUndergroundScript_ShopClosed
+ sjump GoldenrodUndergroundScript_ShopClosed
.Open:
pokemart MARTTYPE_BITTER, MART_UNDERGROUND
@@ -168,9 +171,9 @@ BargainMerchantScript:
opentext
checkflag ENGINE_GOLDENROD_UNDERGROUND_MERCHANT_CLOSED
iftrue GoldenrodUndergroundScript_ShopClosed
- checkcode VAR_WEEKDAY
+ readvar VAR_WEEKDAY
ifequal MONDAY, .CheckMorn
- jump GoldenrodUndergroundScript_ShopClosed
+ sjump GoldenrodUndergroundScript_ShopClosed
.CheckMorn:
checktime MORN
@@ -181,53 +184,53 @@ BargainMerchantScript:
OlderHaircutBrotherScript:
opentext
- checkcode VAR_WEEKDAY
+ readvar VAR_WEEKDAY
ifequal TUESDAY, .DoHaircut
ifequal THURSDAY, .DoHaircut
ifequal SATURDAY, .DoHaircut
- jump GoldenrodUndergroundScript_ShopClosed
+ sjump GoldenrodUndergroundScript_ShopClosed
.DoHaircut:
checkflag ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
iftrue .AlreadyGotHaircut
special PlaceMoneyTopRight
- writetext UnknownText_0x7c5f9
+ writetext GoldenrodUndergroundOlderHaircutBrotherOfferHaircutText
yesorno
iffalse .Refused
- checkmoney YOUR_MONEY, 500
+ checkmoney YOUR_MONEY, GOLDENRODUNDERGROUND_OLDER_HAIRCUT_PRICE
ifequal HAVE_LESS, .NotEnoughMoney
- writetext UnknownText_0x7c69a
+ writetext GoldenrodUndergroundOlderHaircutBrotherAskWhichMonText
promptbutton
- special YoungerHaircutBrother
+ special OlderHaircutBrother
ifequal $0, .Refused
ifequal $1, .Refused
setflag ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
ifequal $2, .two
ifequal $3, .three
- jump .else
+ sjump .else
.two
setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1
clearevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2
clearevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_3
- jump .then
+ sjump .then
.three
clearevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1
setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2
clearevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_3
- jump .then
+ sjump .then
.else
clearevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1
clearevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2
setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_3
- jump .then
+ sjump .then
.then
- takemoney YOUR_MONEY, 500
+ takemoney YOUR_MONEY, GOLDENRODUNDERGROUND_OLDER_HAIRCUT_PRICE
special PlaceMoneyTopRight
- writetext UnknownText_0x7c6b8
+ writetext GoldenrodUndergroundOlderHaircutBrotherWatchItBecomeBeautifulText
waitbutton
closetext
special FadeOutPalettes
@@ -236,81 +239,81 @@ OlderHaircutBrotherScript:
special FadeInPalettes
special RestartMapMusic
opentext
- writetext UnknownText_0x7c6d8
+ writetext GoldenrodUndergroundOlderHaircutBrotherAllDoneText
waitbutton
checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1
iftrue EitherHaircutBrotherScript_SlightlyHappier
checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2
iftrue EitherHaircutBrotherScript_Happier
- jump EitherHaircutBrotherScript_MuchHappier
+ sjump EitherHaircutBrotherScript_MuchHappier
.Refused:
- writetext UnknownText_0x7c6ea
+ writetext GoldenrodUndergroundOlderHaircutBrotherThatsAShameText
waitbutton
closetext
end
.NotEnoughMoney:
- writetext UnknownText_0x7c709
+ writetext GoldenrodUndergroundOlderHaircutBrotherYoullNeedMoreMoneyText
waitbutton
closetext
end
.AlreadyGotHaircut:
- writetext UnknownText_0x7c72b
+ writetext GoldenrodUndergroundOlderHaircutBrotherOneHaircutADayText
waitbutton
closetext
end
YoungerHaircutBrotherScript:
opentext
- checkcode VAR_WEEKDAY
+ readvar VAR_WEEKDAY
ifequal SUNDAY, .DoHaircut
ifequal WEDNESDAY, .DoHaircut
ifequal FRIDAY, .DoHaircut
- jump GoldenrodUndergroundScript_ShopClosed
+ sjump GoldenrodUndergroundScript_ShopClosed
.DoHaircut:
checkflag ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
iftrue .AlreadyGotHaircut
special PlaceMoneyTopRight
- writetext UnknownText_0x7c75c
+ writetext GoldenrodUndergroundYoungerHaircutBrotherOfferHaircutText
yesorno
iffalse .Refused
- checkmoney YOUR_MONEY, 300
+ checkmoney YOUR_MONEY, GOLDENRODUNDERGROUND_YOUNGER_HAIRCUT_PRICE
ifequal HAVE_LESS, .NotEnoughMoney
- writetext UnknownText_0x7c7f1
+ writetext GoldenrodUndergroundYoungerHaircutBrotherAskWhichMonText
promptbutton
- special OlderHaircutBrother
+ special YoungerHaircutBrother
ifequal $0, .Refused
ifequal $1, .Refused
setflag ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
ifequal $2, .two
ifequal $3, .three
- jump .else
+ sjump .else
.two
setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1
clearevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2
clearevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_3
- jump .then
+ sjump .then
.three
clearevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1
setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2
clearevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_3
- jump .then
+ sjump .then
.else
clearevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1
clearevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2
setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_3
- jump .then
+ sjump .then
.then
- takemoney YOUR_MONEY, 300
+ takemoney YOUR_MONEY, GOLDENRODUNDERGROUND_YOUNGER_HAIRCUT_PRICE
special PlaceMoneyTopRight
- writetext UnknownText_0x7c80e
+ writetext GoldenrodUndergroundYoungerHaircutBrotherIllMakeItLookCoolText
waitbutton
closetext
special FadeOutPalettes
@@ -319,28 +322,28 @@ YoungerHaircutBrotherScript:
special FadeInPalettes
special RestartMapMusic
opentext
- writetext UnknownText_0x7c82a
+ writetext GoldenrodUndergroundYoungerHaircutBrotherAllDoneText
waitbutton
checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1
iftrue EitherHaircutBrotherScript_SlightlyHappier
checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2
iftrue EitherHaircutBrotherScript_Happier
- jump EitherHaircutBrotherScript_MuchHappier
+ sjump EitherHaircutBrotherScript_MuchHappier
.Refused:
- writetext UnknownText_0x7c842
+ writetext GoldenrodUndergroundYoungerHaircutBrotherHowDisappointingText
waitbutton
closetext
end
.NotEnoughMoney:
- writetext UnknownText_0x7c85b
+ writetext GoldenrodUndergroundYoungerHaircutBrotherShortOnFundsText
waitbutton
closetext
end
.AlreadyGotHaircut:
- writetext UnknownText_0x7c87b
+ writetext GoldenrodUndergroundYoungerHaircutBrotherOneHaircutADayText
waitbutton
closetext
end
@@ -372,14 +375,14 @@ BasementDoorScript::
iftrue .Open
checkitem BASEMENT_KEY
iftrue .Unlock
- writetext UnknownText_0x7c5b0
+ writetext GoldenrodUndergroundTheDoorsLockedText
waitbutton
closetext
end
.Unlock:
playsound SFX_TRANSACTION
- writetext UnknownText_0x7c5d6
+ writetext GoldenrodUndergroundBasementKeyOpenedDoorText
waitbutton
closetext
changeblock 18, 6, $2e ; unlocked door
@@ -389,13 +392,13 @@ BasementDoorScript::
end
.Open:
- writetext UnknownText_0x7c5c3
+ writetext GoldenrodUndergroundTheDoorIsOpenText
waitbutton
closetext
end
GoldenrodUndergroundScript_ShopClosed:
- writetext UnknownText_0x7c904
+ writetext GoldenrodUndergroundWeAreNotOpenTodayText
waitbutton
closetext
end
@@ -506,20 +509,20 @@ PokemaniacDonaldAfterBattleText:
cont "#MON."
done
-UnknownText_0x7c5b0:
+GoldenrodUndergroundTheDoorsLockedText:
text "The door's locked…"
done
-UnknownText_0x7c5c3:
+GoldenrodUndergroundTheDoorIsOpenText:
text "The door is open."
done
-UnknownText_0x7c5d6:
+GoldenrodUndergroundBasementKeyOpenedDoorText:
text "The BASEMENT KEY"
line "opened the door."
done
-UnknownText_0x7c5f9:
+GoldenrodUndergroundOlderHaircutBrotherOfferHaircutText:
text "Welcome!"
para "I run the #MON"
@@ -537,37 +540,37 @@ UnknownText_0x7c5f9:
line "to do that?"
done
-UnknownText_0x7c69a:
+GoldenrodUndergroundOlderHaircutBrotherAskWhichMonText:
text "Which #MON"
line "should I work on?"
done
-UnknownText_0x7c6b8:
+GoldenrodUndergroundOlderHaircutBrotherWatchItBecomeBeautifulText:
text "OK! Watch it"
line "become beautiful!"
done
-UnknownText_0x7c6d8:
+GoldenrodUndergroundOlderHaircutBrotherAllDoneText:
text "There! All done!"
done
-UnknownText_0x7c6ea:
+GoldenrodUndergroundOlderHaircutBrotherThatsAShameText:
text "Is that right?"
line "That's a shame!"
done
-UnknownText_0x7c709:
+GoldenrodUndergroundOlderHaircutBrotherYoullNeedMoreMoneyText:
text "You'll need more"
line "money than that."
done
-UnknownText_0x7c72b:
+GoldenrodUndergroundOlderHaircutBrotherOneHaircutADayText:
text "I do only one"
line "haircut a day. I'm"
cont "done for today."
done
-UnknownText_0x7c75c:
+GoldenrodUndergroundYoungerHaircutBrotherOfferHaircutText:
text "Welcome to the"
line "#MON SALON!"
@@ -583,32 +586,32 @@ UnknownText_0x7c75c:
para "So? How about it?"
done
-UnknownText_0x7c7f1:
+GoldenrodUndergroundYoungerHaircutBrotherAskWhichMonText:
text "OK, which #MON"
line "should I do?"
done
-UnknownText_0x7c80e:
+GoldenrodUndergroundYoungerHaircutBrotherIllMakeItLookCoolText:
text "OK! I'll make it"
line "look cool!"
done
-UnknownText_0x7c82a:
+GoldenrodUndergroundYoungerHaircutBrotherAllDoneText:
text "There we go!"
line "All done!"
done
-UnknownText_0x7c842:
+GoldenrodUndergroundYoungerHaircutBrotherHowDisappointingText:
text "No? "
line "How disappointing!"
done
-UnknownText_0x7c85b:
+GoldenrodUndergroundYoungerHaircutBrotherShortOnFundsText:
text "You're a little"
line "short on funds."
done
-UnknownText_0x7c87b:
+GoldenrodUndergroundYoungerHaircutBrotherOneHaircutADayText:
text "I can do only one"
line "haircut a day."
@@ -634,7 +637,7 @@ HaircutBrosText_MuchHappier:
line "delighted!"
done
-UnknownText_0x7c904:
+GoldenrodUndergroundWeAreNotOpenTodayText:
text "We're not open"
line "today."
done
diff --git a/wram.asm b/wram.asm
index cb8e177b..6806c883 100644
--- a/wram.asm
+++ b/wram.asm
@@ -1422,6 +1422,10 @@ wNumMoves:: ds 1 ; cfe3
wFieldMoveSucceeded::
wItemEffectSucceeded::
wBattlePlayerAction::
+; 0 - use move
+; 1 - use item
+; 2 - switch
+wSolvedUnownPuzzle::
db ; cfe4
wVramState:: ds 1
@@ -2634,8 +2638,8 @@ wBugContestSecondPartySpecies:: db ; dce6
wContestMon:: party_struct wContestMon ; dce7
-wDunsparceMapGroup:: ds 1 ; dd17
-wDunsparceMapNumber:: ds 1 ; dd18
+wSwarmMapGroup:: ds 1 ; dd17
+wSwarmMapNumber:: ds 1 ; dd18
wFishingSwarmFlag:: ds 1 ; dd19
wRoamMon1:: roam_struct wRoamMon1 ; dd1a