From e135091f09cbd92e7cd5ec851f874501ee5090a2 Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 22 Jan 2018 13:18:23 -0500 Subject: [PATCH] Day-Care bit flags --- constants/wram_constants.asm | 56 +++++++++++++++++++-------------- data/engine_flags.asm | 11 +++---- engine/breeding.asm | 8 ++--- engine/events/daycare.asm | 33 +++++++++---------- engine/events/happiness_egg.asm | 10 +++--- wram.asm | 4 +-- 6 files changed, 65 insertions(+), 57 deletions(-) diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm index d21f0095c..6dd54f72b 100644 --- a/constants/wram_constants.asm +++ b/constants/wram_constants.asm @@ -1,14 +1,14 @@ -; InputType: ; c2c7 +; InputType:: ; c2c7 AUTO_INPUT EQU $ff -; wCurrentDexMode: ; c7d4 +; wCurrentDexMode:: ; c7d4 const_def const DEXMODE_NEW const DEXMODE_OLD const DEXMODE_ABC const DEXMODE_UNOWN -; MonType: ; cf5f +; MonType:: ; cf5f const_def const PARTYMON ; 0 const OTPARTYMON ; 1 @@ -16,7 +16,7 @@ AUTO_INPUT EQU $ff const TEMPMON ; 3 const WILDMON ; 4 -; Options: ; cfcc +; Options:: ; cfcc const_value set 4 const NO_TEXT_SCROLL ; 4 @@ -28,7 +28,7 @@ TEXT_DELAY_FAST EQU 1 TEXT_DELAY_MED EQU 3 TEXT_DELAY_SLOW EQU 5 -; TextBoxFrame: ; cfce +; TextBoxFrame:: ; cfce const_def const FRAME_1 ; 0 const FRAME_2 ; 1 @@ -40,23 +40,23 @@ TEXT_DELAY_SLOW EQU 5 const FRAME_8 ; 7 NUM_FRAMES EQU const_value -; TextBoxFlags: ; cfcf +; TextBoxFlags:: ; cfcf const_def const FAST_TEXT_DELAY_F ; 0 const NO_TEXT_DELAY_F ; 1 -; GBPrinter: ; cfd0 +; GBPrinter:: ; cfd0 GBPRINTER_LIGHTEST EQU $00 GBPRINTER_LIGHTER EQU $20 GBPRINTER_NORMAL EQU $40 GBPRINTER_DARKER EQU $60 GBPRINTER_DARKEST EQU $7f -; Options2: ; cfd1 +; Options2:: ; cfd1 const_def const MENU_ACCOUNT ; 0 -; WalkingDirection: ; d043 +; WalkingDirection:: ; d043 const_value set -1 const STANDING ; -1 const DOWN ; 0 @@ -70,27 +70,27 @@ UP_MASK EQU 1 << UP LEFT_MASK EQU 1 << LEFT RIGHT_MASK EQU 1 << RIGHT -; FacingDirection: ; d044 +; FacingDirection:: ; d044 FACE_CURRENT EQU 0 FACE_DOWN EQU 8 FACE_UP EQU 4 FACE_LEFT EQU 2 FACE_RIGHT EQU 1 -; wPokemonWithdrawDepositParameter: ; d10b +; wPokemonWithdrawDepositParameter:: ; d10b PC_WITHDRAW EQU 0 PC_DEPOSIT EQU 1 DAY_CARE_WITHDRAW EQU 2 DAY_CARE_DEPOSIT EQU 3 -; wInitListType: ; d263 +; wInitListType:: ; d263 INIT_ENEMYOT_LIST EQU 1 INIT_BAG_ITEM_LIST EQU 2 INIT_OTHER_ITEM_LIST EQU 3 INIT_PLAYEROT_LIST EQU 4 INIT_MON_LIST EQU 5 -; TimeOfDay: ; d269 +; TimeOfDay:: ; d269 const_def const MORN_F ; 0 const DAY_F ; 1 @@ -105,20 +105,20 @@ DARKNESS EQU 1 << DARKNESS_F ANYTIME EQU MORN | DAY | NITE -; ScriptFlags: ; d434 +; ScriptFlags:: ; d434 SCRIPT_RUNNING EQU 2 -; ScriptMode: ; d437 +; ScriptMode:: ; d437 SCRIPT_OFF EQU 0 SCRIPT_READ EQU 1 SCRIPT_WAIT_MOVEMENT EQU 2 SCRIPT_WAIT EQU 3 -; wSpawnAfterChampion: ; d4b5 +; wSpawnAfterChampion:: ; d4b5 SPAWN_LANCE EQU 1 SPAWN_RED EQU 2 -; CurDay: ; d4cb +; CurDay:: ; d4cb const_def const SUNDAY ; 0 const MONDAY ; 1 @@ -128,11 +128,11 @@ SPAWN_RED EQU 2 const FRIDAY ; 5 const SATURDAY ; 6 -; MapObjects: ; d71e +; MapObjects:: ; d71e PLAYER_OBJECT EQU 0 NUM_OBJECTS EQU $10 -; wJohtoBadges: ; d857 +; wJohtoBadges:: ; d857 const_def const ZEPHYRBADGE const HIVEBADGE @@ -144,7 +144,7 @@ NUM_OBJECTS EQU $10 const RISINGBADGE NUM_JOHTO_BADGES EQU const_value -; wKantoBadges: ; d858 +; wKantoBadges:: ; d858 const_def const BOULDERBADGE const CASCADEBADGE @@ -157,7 +157,7 @@ NUM_JOHTO_BADGES EQU const_value NUM_KANTO_BADGES EQU const_value NUM_BADGES EQU NUM_JOHTO_BADGES + NUM_KANTO_BADGES -; wPokegearFlags: ; d957 +; wPokegearFlags:: ; d957 const_def const POKEGEAR_MAP_CARD_F ; 0 const POKEGEAR_RADIO_CARD_F ; 1 @@ -166,13 +166,23 @@ NUM_BADGES EQU NUM_JOHTO_BADGES + NUM_KANTO_BADGES POKEGEAR_OBTAINED_F EQU 7 -; WhichRegisteredItem: ; d95b +; WhichRegisteredItem:: ; d95b REGISTERED_POCKET EQU %11000000 REGISTERED_NUMBER EQU %00111111 -; PlayerState: ; d95d +; PlayerState:: ; d95d PLAYER_NORMAL EQU 0 PLAYER_BIKE EQU 1 PLAYER_SKATE EQU 2 PLAYER_SURF EQU 4 PLAYER_SURF_PIKA EQU 8 + +; wDayCareMan:: ; def5 +DAYCAREMAN_HAS_MON_F EQU 0 +DAYCAREMAN_MONS_COMPATIBLE_F EQU 5 +DAYCAREMAN_HAS_EGG_F EQU 6 +DAYCAREMAN_ACTIVE_F EQU 7 + +; wDayCareLady:: ; df2c +DAYCARELADY_HAS_MON_F EQU 0 +DAYCARELADY_ACTIVE_F EQU 7 diff --git a/data/engine_flags.asm b/data/engine_flags.asm index 119697466..f75b050c6 100644 --- a/data/engine_flags.asm +++ b/data/engine_flags.asm @@ -14,13 +14,10 @@ EngineFlags: ; 80462 engine_flag wPokegearFlags, POKEGEAR_EXPN_CARD_F engine_flag wPokegearFlags, POKEGEAR_OBTAINED_F - ; wDayCareMan, 7 ; day-care 1 on - engine_flag wDayCareMan, 6 ; egg is ready - ; wDayCareMan, 5 ; monster 1 and 2 are compatible - engine_flag wDayCareMan, 0 ; monster 1 in day-care - - ; wDayCareLady, 7 = day-care 2 on - engine_flag wDayCareLady, 0 ; monster 2 in day-care + ; day-care + engine_flag wDayCareMan, DAYCAREMAN_HAS_EGG_F + engine_flag wDayCareMan, DAYCAREMAN_HAS_MON_F + engine_flag wDayCareLady, DAYCARELADY_HAS_MON_F engine_flag wMomSavingMoney, 0 ; mom saving money ; $8 engine_flag wMomSavingMoney, 7 ; dst diff --git a/engine/breeding.asm b/engine/breeding.asm index b16747089..b379ec195 100755 --- a/engine/breeding.asm +++ b/engine/breeding.asm @@ -288,7 +288,7 @@ HatchEggs: ; 16f70 (5:6f70) push hl ld bc, MON_STAT_EXP - 1 add hl, bc - ld b, $0 + ld b, FALSE predef CalcPkmnStats pop bc ld hl, MON_MAXHP @@ -705,7 +705,7 @@ EggHatch_AnimationSequence: ; 1728f (5:728f) call DisableLCD ld hl, EggHatchGFX ld de, vTiles0 tile $00 - ld bc, $20 + ld bc, 2 tiles ld a, BANK(EggHatchGFX) call FarCopyBytes farcall ClearSpriteAnims @@ -893,7 +893,7 @@ Special_DayCareMon1: ; 17421 ld a, [wBreedMon1Species] call PlayMonCry ld a, [wDayCareLady] - bit 0, a + bit DAYCARELADY_HAS_MON_F, a jr z, DayCareMonCursor call ButtonSound ld hl, wBreedMon2Nick @@ -906,7 +906,7 @@ Special_DayCareMon2: ; 17440 ld a, [wBreedMon2Species] call PlayMonCry ld a, [wDayCareMan] - bit 0, a + bit DAYCAREMAN_HAS_MON_F, a jr z, DayCareMonCursor call ButtonSound ld hl, wBreedMon1Nick diff --git a/engine/events/daycare.asm b/engine/events/daycare.asm index f65464a8d..3f9dbf84e 100755 --- a/engine/events/daycare.asm +++ b/engine/events/daycare.asm @@ -23,7 +23,7 @@ Special_DayCareMan: ; 166d6 ld hl, wDayCareMan - bit 0, [hl] + bit DAYCAREMAN_HAS_MON_F, [hl] jr nz, .AskWithdrawMon ld hl, wDayCareMan ld a, DAYCARETEXT_MAN_INTRO @@ -33,7 +33,7 @@ Special_DayCareMan: ; 166d6 jr c, .print_text farcall DepositMonWithDayCareMan ld hl, wDayCareMan - set 0, [hl] + set DAYCAREMAN_HAS_MON_F, [hl] call DayCare_DepositPokemonText call DayCare_InitBreeding ret @@ -47,8 +47,8 @@ Special_DayCareMan: ; 166d6 farcall RetrievePokemonFromDayCareMan call DayCare_GetBackMonForMoney ld hl, wDayCareMan - res 0, [hl] - res 5, [hl] + res DAYCAREMAN_HAS_MON_F, [hl] + res DAYCAREMAN_MONS_COMPATIBLE_F, [hl] jr .cancel .print_text @@ -62,7 +62,7 @@ Special_DayCareMan: ; 166d6 Special_DayCareLady: ; 1672a ld hl, wDayCareLady - bit 0, [hl] + bit DAYCARELADY_HAS_MON_F, [hl] jr nz, .AskWithdrawMon ld hl, wDayCareLady ld a, DAYCARETEXT_LADY_INTRO @@ -72,7 +72,7 @@ Special_DayCareLady: ; 1672a jr c, .print_text farcall DepositMonWithDayCareLady ld hl, wDayCareLady - set 0, [hl] + set DAYCARELADY_HAS_MON_F, [hl] call DayCare_DepositPokemonText call DayCare_InitBreeding ret @@ -86,9 +86,9 @@ Special_DayCareLady: ; 1672a farcall RetrievePokemonFromDayCareLady call DayCare_GetBackMonForMoney ld hl, wDayCareLady - res 0, [hl] + res DAYCARELADY_HAS_MON_F, [hl] ld hl, wDayCareMan - res 5, [hl] + res DAYCAREMAN_MONS_COMPATIBLE_F, [hl] jr .cancel .print_text @@ -101,9 +101,9 @@ Special_DayCareLady: ; 1672a ; 16781 DayCareLadyIntroText: ; 16781 - bit 7, [hl] + bit DAYCARELADY_ACTIVE_F, [hl] jr nz, .okay - set 7, [hl] + set DAYCARELADY_ACTIVE_F, [hl] inc a .okay call PrintDayCareText @@ -112,7 +112,7 @@ DayCareLadyIntroText: ; 16781 ; 1678f DayCareManIntroText: ; 1678f - set 7, [hl] + set DAYCAREMAN_ACTIVE_F, [hl] call PrintDayCareText call YesNoBox ret @@ -429,7 +429,7 @@ PrintDayCareText: ; 1689b Special_DayCareManOutside: ; 16936 ld hl, wDayCareMan - bit 6, [hl] + bit DAYCAREMAN_HAS_EGG_F, [hl] jr nz, .AskGiveEgg ld hl, .NotYet call PrintText @@ -451,7 +451,7 @@ Special_DayCareManOutside: ; 16936 jr nc, .PartyFull call DayCare_GiveEgg ld hl, wDayCareMan - res 6, [hl] + res DAYCAREMAN_HAS_EGG_F, [hl] call DayCare_InitBreeding ld hl, .GotEggText call PrintText @@ -593,10 +593,10 @@ DayCare_GetCurrentPartyMember: ; 16a31 DayCare_InitBreeding: ; 16a3b ld a, [wDayCareLady] - bit 0, a + bit DAYCARELADY_HAS_MON_F, a ret z ld a, [wDayCareMan] - bit 0, a + bit DAYCAREMAN_HAS_MON_F, a ret z callfar CheckBreedmonCompatibility ld a, [wd265] @@ -605,7 +605,7 @@ DayCare_InitBreeding: ; 16a3b inc a ret z ld hl, wDayCareMan - set 5, [hl] + set DAYCAREMAN_MONS_COMPATIBLE_F, [hl] .loop call Random cp 150 @@ -660,6 +660,7 @@ DayCare_InitBreeding: ; 16a3b ld a, EGG_LEVEL ld [CurPartyLevel], a +; Nidoran♀ can give birth to either gender of Nidoran ld a, [CurPartySpecies] cp NIDORAN_F jr nz, .GotEggSpecies diff --git a/engine/events/happiness_egg.asm b/engine/events/happiness_egg.asm index 2db54a1a7..8a5ade3c8 100755 --- a/engine/events/happiness_egg.asm +++ b/engine/events/happiness_egg.asm @@ -146,7 +146,7 @@ DayCareStep:: ; 7282 ; Raise the experience of Day-Care Pokémon every step cycle. ld a, [wDayCareMan] - bit 0, a + bit DAYCAREMAN_HAS_MON_F, a jr z, .day_care_lady ld a, [wBreedMon1Level] ; level @@ -168,7 +168,7 @@ DayCareStep:: ; 7282 .day_care_lady ld a, [wDayCareLady] - bit 0, a + bit DAYCARELADY_HAS_MON_F, a jr z, .check_egg ld a, [wBreedMon2Level] ; level @@ -190,7 +190,7 @@ DayCareStep:: ; 7282 .check_egg ld hl, wDayCareMan - bit 5, [hl] ; egg + bit DAYCAREMAN_MONS_COMPATIBLE_F, [hl] ret z ld hl, wStepsToEgg dec [hl] @@ -218,6 +218,6 @@ DayCareStep:: ; 7282 cp b ret nc ld hl, wDayCareMan - res 5, [hl] - set 6, [hl] + res DAYCAREMAN_MONS_COMPATIBLE_F, [hl] + set DAYCAREMAN_HAS_EGG_F, [hl] ret diff --git a/wram.asm b/wram.asm index 05b91389c..845666742 100644 --- a/wram.asm +++ b/wram.asm @@ -2787,8 +2787,8 @@ wFirstUnownSeen:: db wDayCareMan:: ; def5 ; bit 7: active -; bit 6: monsters are compatible -; bit 5: egg ready +; bit 6: egg ready +; bit 5: monsters are compatible ; bit 0: monster 1 in day-care db