summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--constants/engine_flags.asm6
-rw-r--r--constants/event_flags.asm8
-rwxr-xr-xengine/engine_flags.asm6
-rwxr-xr-xevent/happiness_egg.asm6
-rw-r--r--main.asm4
-rw-r--r--maps/DayCare.asm72
6 files changed, 88 insertions, 14 deletions
diff --git a/constants/engine_flags.asm b/constants/engine_flags.asm
index acd7f26d..e1ac69bf 100644
--- a/constants/engine_flags.asm
+++ b/constants/engine_flags.asm
@@ -6,10 +6,10 @@
engine_flag_def ENGINE_EXPN_CARD, wPokegearFlags, 3 ; expn card
engine_flag_def ENGINE_POKEGEAR, wPokegearFlags, 7 ; on/off
- engine_flag_def ENGINE_DAYCARE_MAN_HAS_EGG, wDayCareMan, 6 ; egg is ready
- engine_flag_def ENGINE_DAYCARE_MAN_HAS_MON, wDayCareMan, 0 ; monster 1 in daycare
+ engine_flag_def ENGINE_DAY_CARE_MAN_HAS_EGG, wDayCareMan, 6 ; egg is ready
+ engine_flag_def ENGINE_DAY_CARE_MAN_HAS_MON, wDayCareMan, 0 ; monster 1 in daycare
- engine_flag_def ENGINE_DAYCARE_LADY_HAS_MON, wDaycareLady, 0 ; monster 2 in daycare
+ engine_flag_def ENGINE_DAY_CARE_LADY_HAS_MON, wDaycareLady, 0 ; monster 2 in daycare
engine_flag_def ENGINE_MOM_SAVING_MONEY, wMomSavingMoney, 0 ; mom saving money ; $8
engine_flag_def ENGINE_DST, wMomSavingMoney, 7 ; dst
diff --git a/constants/event_flags.asm b/constants/event_flags.asm
index 636d0226..926b7e70 100644
--- a/constants/event_flags.asm
+++ b/constants/event_flags.asm
@@ -1833,10 +1833,10 @@
const EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_3
const EVENT_BLACKTHORN_CITY_SUPER_NERD_BLOCKS_GYM
const EVENT_BLACKTHORN_CITY_SUPER_NERD_DOES_NOT_BLOCK_GYM
- const EVENT_DAYCARE_MAN_IN_DAYCARE
- const EVENT_DAYCARE_MAN_ON_ROUTE_34
- const EVENT_DAYCARE_MON_1
- const EVENT_DAYCARE_MON_2
+ const EVENT_DAY_CARE_MAN_IN_DAY_CARE
+ const EVENT_DAY_CARE_MAN_ON_ROUTE_34
+ const EVENT_DAY_CARE_MON_1
+ const EVENT_DAY_CARE_MON_2
const EVENT_ILEX_FOREST_FARFETCHD
const EVENT_ROUTE_34_ILEX_FOREST_GATE_TEACHER_BEHIND_COUNTER
const EVENT_ROUTE_34_ILEX_FOREST_GATE_LASS
diff --git a/engine/engine_flags.asm b/engine/engine_flags.asm
index 3b032b98..cbde8bd7 100755
--- a/engine/engine_flags.asm
+++ b/engine/engine_flags.asm
@@ -92,10 +92,10 @@ EngineFlags:
engine_flag ENGINE_EXPN_CARD
engine_flag ENGINE_POKEGEAR
- engine_flag ENGINE_DAYCARE_MAN_HAS_EGG
- engine_flag ENGINE_DAYCARE_MAN_HAS_MON
+ engine_flag ENGINE_DAY_CARE_MAN_HAS_EGG
+ engine_flag ENGINE_DAY_CARE_MAN_HAS_MON
- engine_flag ENGINE_DAYCARE_LADY_HAS_MON
+ engine_flag ENGINE_DAY_CARE_LADY_HAS_MON
engine_flag ENGINE_MOM_SAVING_MONEY
engine_flag ENGINE_DST
diff --git a/event/happiness_egg.asm b/event/happiness_egg.asm
index cc013b75..5a7a8ba3 100755
--- a/event/happiness_egg.asm
+++ b/event/happiness_egg.asm
@@ -146,7 +146,7 @@ StepHappiness::
MAX_EXP EQU 5242880
DaycareStep::
- CheckFlag ENGINE_DAYCARE_MAN_HAS_MON
+ CheckFlag ENGINE_DAY_CARE_MAN_HAS_MON
jr z, .daycare_lady
ld a, [wBreedMon1Level]
cp MAX_LEVEL
@@ -165,7 +165,7 @@ DaycareStep::
ld a, MAX_EXP / $10000
ld [hl], a
.daycare_lady
- CheckFlag ENGINE_DAYCARE_LADY_HAS_MON
+ CheckFlag ENGINE_DAY_CARE_LADY_HAS_MON
jr z, .check_egg
ld a, [wBreedMon2Level]
cp MAX_LEVEL
@@ -213,5 +213,5 @@ DaycareStep::
ret nc
ld hl, wDayCareMan
res 5, [hl]
- SetFlagForceReuseHL ENGINE_DAYCARE_MAN_HAS_EGG
+ SetFlagForceReuseHL ENGINE_DAY_CARE_MAN_HAS_EGG
ret
diff --git a/main.asm b/main.asm
index 466f521a..a3052d78 100644
--- a/main.asm
+++ b/main.asm
@@ -1588,7 +1588,9 @@ SECTION "bank56", ROMX, BANK[$56]
dr $158000, $15c000
SECTION "bank57", ROMX, BANK[$57]
- dr $15c000, $160000
+ dr $15c000, $15f180
+
+INCLUDE "maps/DayCare.asm"
SECTION "bank58", ROMX, BANK[$58]
dr $160000, $164000
diff --git a/maps/DayCare.asm b/maps/DayCare.asm
new file mode 100644
index 00000000..06adf095
--- /dev/null
+++ b/maps/DayCare.asm
@@ -0,0 +1,72 @@
+ const_def 2 ; object constants
+ const DAYCARE_GRAMPS
+ const DAYCARE_GRANNY
+
+DayCare_MapScripts:
+ db 0 ; scene scripts
+
+ db 1 ; callbacks
+ callback MAPCALLBACK_OBJECTS, .EggCheckCallback
+
+.EggCheckCallback:
+ checkflag ENGINE_DAY_CARE_MAN_HAS_EGG
+ iftrue .PutDayCareManOutside
+ clearevent EVENT_DAY_CARE_MAN_IN_DAY_CARE
+ setevent EVENT_DAY_CARE_MAN_ON_ROUTE_34
+ return
+
+.PutDayCareManOutside:
+ setevent EVENT_DAY_CARE_MAN_IN_DAY_CARE
+ clearevent EVENT_DAY_CARE_MAN_ON_ROUTE_34
+ return
+
+DayCareManScript_Inside:
+ faceplayer
+ opentext
+ special DayCareMan
+ waitbutton
+ closetext
+ end
+
+DayCareLadyScript:
+ faceplayer
+ opentext
+ checkflag ENGINE_DAY_CARE_MAN_HAS_EGG
+ iftrue .HusbandWasLookingForYou
+ special DayCareLady
+ waitbutton
+ closetext
+ end
+
+.HusbandWasLookingForYou:
+ writetext Text_GrampsLookingForYou
+ waitbutton
+ closetext
+ end
+
+DayCareBookshelf:
+ jumpstd difficultbookshelf
+
+Text_GrampsLookingForYou:
+ text "Gramps was looking"
+ line "for you."
+ done
+
+DayCare_MapEvents:
+ db 0, 0 ; filler
+
+ db 4 ; warp events
+ warp_event 0, 5, ROUTE_34, 3
+ warp_event 0, 6, ROUTE_34, 4
+ warp_event 2, 7, ROUTE_34, 5
+ warp_event 3, 7, ROUTE_34, 5
+
+ db 0 ; coord events
+
+ db 2 ; bg events
+ bg_event 0, 1, BGEVENT_READ, DayCareBookshelf
+ bg_event 1, 1, BGEVENT_READ, DayCareBookshelf
+
+ db 2 ; object events
+ object_event 2, 3, SPRITE_GRAMPS, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DayCareManScript_Inside, EVENT_DAY_CARE_MAN_IN_DAY_CARE
+ object_event 5, 3, SPRITE_GRANNY, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, DayCareLadyScript, -1