ref: e135091f09cbd92e7cd5ec851f874501ee5090a2
parent: 7cef012335f0bb335833a3ea36fd02dfa31cfbea
author: Rangi <remy.oukaour+rangi42@gmail.com>
date: Mon Jan 22 08:18:23 EST 2018
Day-Care bit flags
--- a/constants/wram_constants.asm
+++ b/constants/wram_constants.asm
@@ -1,7 +1,7 @@
-; InputType: ; c2c7
+; InputType:: ; c2c7
AUTO_INPUT EQU $ff
-; wCurrentDexMode: ; c7d4
+; wCurrentDexMode:: ; c7d4
const_def
const DEXMODE_NEW
const DEXMODE_OLD
@@ -8,7 +8,7 @@
const DEXMODE_ABC
const DEXMODE_UNOWN
-; MonType: ; cf5f
+; MonType:: ; cf5f
const_def
const PARTYMON ; 0
const OTPARTYMON ; 1
@@ -16,7 +16,7 @@
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_MED EQU 3
TEXT_DELAY_SLOW EQU 5
-; TextBoxFrame: ; cfce
+; TextBoxFrame:: ; cfce
const_def
const FRAME_1 ; 0
const FRAME_2 ; 1
@@ -40,12 +40,12 @@
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
@@ -52,11 +52,11 @@
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,7 +70,7 @@
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
@@ -77,13 +77,13 @@
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
@@ -90,7 +90,7 @@
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 @@
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 @@
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 @@
const RISINGBADGE
NUM_JOHTO_BADGES EQU const_value
-; wKantoBadges: ; d858
+; wKantoBadges:: ; d858
const_def
const BOULDERBADGE
const CASCADEBADGE
@@ -157,7 +157,7 @@
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 @@
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
--- a/data/engine_flags.asm
+++ b/data/engine_flags.asm
@@ -14,13 +14,10 @@
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
--- a/engine/breeding.asm
+++ b/engine/breeding.asm
@@ -288,7 +288,7 @@
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 @@
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 @@
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 @@
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
--- 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 @@
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 @@
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_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 @@
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 @@
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 @@
; 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 @@
; 1678f
DayCareManIntroText: ; 1678f
- set 7, [hl]
+ set DAYCAREMAN_ACTIVE_F, [hl]
call PrintDayCareText
call YesNoBox
ret
@@ -429,7 +429,7 @@
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 @@
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_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 @@
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 @@
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
--- a/engine/events/happiness_egg.asm
+++ b/engine/events/happiness_egg.asm
@@ -146,7 +146,7 @@
; 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 @@
.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 @@
.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 @@
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
--- a/wram.asm
+++ b/wram.asm
@@ -2787,8 +2787,8 @@
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