2019-01-01 20:06:23 +00:00
|
|
|
Daycare_Script:
|
2014-05-18 18:19:10 +00:00
|
|
|
jp EnableAutoTextBoxDrawing
|
|
|
|
|
2019-01-01 20:06:23 +00:00
|
|
|
Daycare_TextPointers:
|
2023-07-14 01:27:56 +00:00
|
|
|
def_text_pointers
|
|
|
|
dw_const DaycareGentlemanText, TEXT_DAYCARE_GENTLEMAN
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
DaycareGentlemanText:
|
2020-07-04 21:09:35 +00:00
|
|
|
text_asm
|
2014-05-18 18:19:10 +00:00
|
|
|
call SaveScreenTilesToBuffer2
|
2015-08-31 02:38:41 +00:00
|
|
|
ld a, [wDayCareInUse]
|
2014-05-18 18:19:10 +00:00
|
|
|
and a
|
2015-07-19 03:49:52 +00:00
|
|
|
jp nz, .daycareInUse
|
2023-07-14 01:27:56 +00:00
|
|
|
ld hl, .IntroText
|
2014-05-18 18:19:10 +00:00
|
|
|
call PrintText
|
|
|
|
call YesNoChoice
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [wCurrentMenuItem]
|
2014-05-18 18:19:10 +00:00
|
|
|
and a
|
2023-07-14 01:27:56 +00:00
|
|
|
ld hl, .ComeAgainText
|
2015-07-19 03:49:52 +00:00
|
|
|
jp nz, .done
|
2014-06-14 11:12:40 +00:00
|
|
|
ld a, [wPartyCount]
|
2014-05-18 18:19:10 +00:00
|
|
|
dec a
|
2023-07-14 01:27:56 +00:00
|
|
|
ld hl, .OnlyHaveOneMonText
|
2015-07-19 03:49:52 +00:00
|
|
|
jp z, .done
|
2023-07-14 01:27:56 +00:00
|
|
|
ld hl, .WhichMonText
|
2014-05-18 18:19:10 +00:00
|
|
|
call PrintText
|
|
|
|
xor a
|
2014-09-13 07:50:56 +00:00
|
|
|
ld [wUpdateSpritesEnabled], a
|
2015-07-13 22:40:33 +00:00
|
|
|
ld [wPartyMenuTypeOrMessageID], a
|
2014-08-09 05:39:13 +00:00
|
|
|
ld [wMenuItemToSwap], a
|
2014-05-18 18:19:10 +00:00
|
|
|
call DisplayPartyMenu
|
|
|
|
push af
|
|
|
|
call GBPalWhiteOutWithDelay3
|
2014-09-10 03:55:19 +00:00
|
|
|
call RestoreScreenTilesAndReloadTilePatterns
|
2014-05-18 18:19:10 +00:00
|
|
|
call LoadGBPal
|
|
|
|
pop af
|
2023-07-14 01:27:56 +00:00
|
|
|
ld hl, .AllRightThenText
|
2015-07-19 03:49:52 +00:00
|
|
|
jp c, .done
|
2020-07-07 01:18:22 +00:00
|
|
|
callfar KnowsHMMove
|
2023-07-14 01:27:56 +00:00
|
|
|
ld hl, .CantAcceptMonWithHMText
|
2015-07-19 03:49:52 +00:00
|
|
|
jp c, .done
|
2014-05-18 18:19:10 +00:00
|
|
|
xor a
|
2015-07-16 03:04:58 +00:00
|
|
|
ld [wPartyAndBillsPCSavedMenuItem], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ld a, [wWhichPokemon]
|
2014-06-14 11:12:40 +00:00
|
|
|
ld hl, wPartyMonNicks
|
2014-05-18 18:19:10 +00:00
|
|
|
call GetPartyMonName
|
2023-07-14 01:27:56 +00:00
|
|
|
ld hl, .WillLookAfterMonText
|
2014-05-18 18:19:10 +00:00
|
|
|
call PrintText
|
2015-07-13 06:36:56 +00:00
|
|
|
ld a, 1
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wDayCareInUse], a
|
2015-07-13 06:36:56 +00:00
|
|
|
ld a, PARTY_TO_DAYCARE
|
|
|
|
ld [wMoveMonType], a
|
2015-07-13 06:00:48 +00:00
|
|
|
call MoveMon
|
2014-05-18 18:19:10 +00:00
|
|
|
xor a
|
2015-07-13 06:36:56 +00:00
|
|
|
ld [wRemoveMonFromBox], a
|
2014-05-18 18:19:10 +00:00
|
|
|
call RemovePokemon
|
2024-08-04 14:05:33 +00:00
|
|
|
ld a, [wCurPartySpecies]
|
2014-05-18 18:19:10 +00:00
|
|
|
call PlayCry
|
2023-07-14 01:27:56 +00:00
|
|
|
ld hl, .ComeSeeMeInAWhileText
|
2015-07-19 03:49:52 +00:00
|
|
|
jp .done
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2015-07-19 03:49:52 +00:00
|
|
|
.daycareInUse
|
2014-05-18 18:19:10 +00:00
|
|
|
xor a
|
2015-08-31 02:38:41 +00:00
|
|
|
ld hl, wDayCareMonName
|
2014-05-18 18:19:10 +00:00
|
|
|
call GetPartyMonName
|
2015-07-16 03:04:58 +00:00
|
|
|
ld a, DAYCARE_DATA
|
|
|
|
ld [wMonDataLocation], a
|
2014-05-18 18:19:10 +00:00
|
|
|
call LoadMonData
|
2020-07-07 01:18:22 +00:00
|
|
|
callfar CalcLevelFromExperience
|
2014-05-18 18:19:10 +00:00
|
|
|
ld a, d
|
2014-08-23 06:17:47 +00:00
|
|
|
cp MAX_LEVEL
|
2015-07-19 03:49:52 +00:00
|
|
|
jr c, .skipCalcExp
|
|
|
|
|
2014-08-23 06:17:47 +00:00
|
|
|
ld d, MAX_LEVEL
|
2020-07-07 01:18:22 +00:00
|
|
|
callfar CalcExperience
|
2014-06-14 11:12:40 +00:00
|
|
|
ld hl, wDayCareMonExp
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh a, [hExperience]
|
2014-05-18 18:19:10 +00:00
|
|
|
ld [hli], a
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh a, [hExperience + 1]
|
2014-05-18 18:19:10 +00:00
|
|
|
ld [hli], a
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh a, [hExperience + 2]
|
2014-05-18 18:19:10 +00:00
|
|
|
ld [hl], a
|
2014-08-23 06:17:47 +00:00
|
|
|
ld d, MAX_LEVEL
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2015-07-19 03:49:52 +00:00
|
|
|
.skipCalcExp
|
2014-05-18 18:19:10 +00:00
|
|
|
xor a
|
2015-07-19 03:49:52 +00:00
|
|
|
ld [wDayCareNumLevelsGrown], a
|
2014-06-14 11:12:40 +00:00
|
|
|
ld hl, wDayCareMonBoxLevel
|
2014-05-18 18:19:10 +00:00
|
|
|
ld a, [hl]
|
2015-07-19 03:49:52 +00:00
|
|
|
ld [wDayCareStartLevel], a
|
2014-05-18 18:19:10 +00:00
|
|
|
cp d
|
|
|
|
ld [hl], d
|
2023-07-14 01:27:56 +00:00
|
|
|
ld hl, .MonNeedsMoreTimeText
|
2015-07-19 03:49:52 +00:00
|
|
|
jr z, .next
|
|
|
|
ld a, [wDayCareStartLevel]
|
2014-05-18 18:19:10 +00:00
|
|
|
ld b, a
|
|
|
|
ld a, d
|
|
|
|
sub b
|
2015-07-19 03:49:52 +00:00
|
|
|
ld [wDayCareNumLevelsGrown], a
|
2023-07-14 01:27:56 +00:00
|
|
|
ld hl, .MonHasGrownText
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2015-07-19 03:49:52 +00:00
|
|
|
.next
|
2014-05-18 18:19:10 +00:00
|
|
|
call PrintText
|
2014-06-14 11:12:40 +00:00
|
|
|
ld a, [wPartyCount]
|
2014-08-23 06:17:47 +00:00
|
|
|
cp PARTY_LENGTH
|
2023-07-14 01:27:56 +00:00
|
|
|
ld hl, .NoRoomForMonText
|
2015-07-23 13:07:12 +00:00
|
|
|
jp z, .leaveMonInDayCare
|
|
|
|
ld de, wDayCareTotalCost
|
2014-05-18 18:19:10 +00:00
|
|
|
xor a
|
|
|
|
ld [de], a
|
|
|
|
inc de
|
|
|
|
ld [de], a
|
2015-07-23 13:07:12 +00:00
|
|
|
ld hl, wDayCarePerLevelCost
|
2014-05-18 18:19:10 +00:00
|
|
|
ld a, $1
|
|
|
|
ld [hli], a
|
|
|
|
ld [hl], $0
|
2015-07-19 03:49:52 +00:00
|
|
|
ld a, [wDayCareNumLevelsGrown]
|
2014-05-18 18:19:10 +00:00
|
|
|
inc a
|
|
|
|
ld b, a
|
2015-07-23 13:07:12 +00:00
|
|
|
ld c, 2
|
|
|
|
.calcPriceLoop
|
2014-05-18 18:19:10 +00:00
|
|
|
push hl
|
|
|
|
push de
|
|
|
|
push bc
|
2014-06-16 20:57:26 +00:00
|
|
|
predef AddBCDPredef
|
2014-05-18 18:19:10 +00:00
|
|
|
pop bc
|
|
|
|
pop de
|
|
|
|
pop hl
|
|
|
|
dec b
|
2015-07-23 13:07:12 +00:00
|
|
|
jr nz, .calcPriceLoop
|
2023-07-14 01:27:56 +00:00
|
|
|
ld hl, .OweMoneyText
|
2014-05-18 18:19:10 +00:00
|
|
|
call PrintText
|
2015-07-23 13:07:12 +00:00
|
|
|
ld a, MONEY_BOX
|
2015-02-07 10:43:08 +00:00
|
|
|
ld [wTextBoxID], a
|
2014-05-18 18:19:10 +00:00
|
|
|
call DisplayTextBoxID
|
|
|
|
call YesNoChoice
|
2023-07-14 01:27:56 +00:00
|
|
|
ld hl, .AllRightThenText
|
2014-05-18 18:19:10 +00:00
|
|
|
ld a, [wCurrentMenuItem]
|
|
|
|
and a
|
2015-07-23 13:07:12 +00:00
|
|
|
jp nz, .leaveMonInDayCare
|
|
|
|
ld hl, wDayCareTotalCost
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hMoney], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ld a, [hli]
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hMoney + 1], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ld a, [hl]
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hMoney + 2], a
|
2014-05-18 18:19:10 +00:00
|
|
|
call HasEnoughMoney
|
2015-07-23 13:07:12 +00:00
|
|
|
jr nc, .enoughMoney
|
2023-07-14 01:27:56 +00:00
|
|
|
ld hl, .NotEnoughMoneyText
|
2015-07-23 13:07:12 +00:00
|
|
|
jp .leaveMonInDayCare
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2015-07-23 13:07:12 +00:00
|
|
|
.enoughMoney
|
2014-05-18 18:19:10 +00:00
|
|
|
xor a
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wDayCareInUse], a
|
2015-07-19 03:49:52 +00:00
|
|
|
ld hl, wDayCareNumLevelsGrown
|
2014-05-18 18:19:10 +00:00
|
|
|
ld [hli], a
|
|
|
|
inc hl
|
2014-05-26 21:04:56 +00:00
|
|
|
ld de, wPlayerMoney + 2
|
2014-05-18 18:19:10 +00:00
|
|
|
ld c, $3
|
2014-06-16 20:57:26 +00:00
|
|
|
predef SubBCDPredef
|
2015-07-19 08:46:12 +00:00
|
|
|
ld a, SFX_PURCHASE
|
2014-05-18 18:19:10 +00:00
|
|
|
call PlaySoundWaitForCurrent
|
2015-07-13 06:00:48 +00:00
|
|
|
ld a, MONEY_BOX
|
2015-02-07 10:43:08 +00:00
|
|
|
ld [wTextBoxID], a
|
2014-05-18 18:19:10 +00:00
|
|
|
call DisplayTextBoxID
|
2023-07-14 01:27:56 +00:00
|
|
|
ld hl, .HeresYourMonText
|
2014-05-18 18:19:10 +00:00
|
|
|
call PrintText
|
2015-07-13 06:36:56 +00:00
|
|
|
ld a, DAYCARE_TO_PARTY
|
|
|
|
ld [wMoveMonType], a
|
2015-07-13 06:00:48 +00:00
|
|
|
call MoveMon
|
2014-06-14 11:12:40 +00:00
|
|
|
ld a, [wDayCareMonSpecies]
|
2024-08-04 14:05:33 +00:00
|
|
|
ld [wCurPartySpecies], a
|
2014-06-14 11:12:40 +00:00
|
|
|
ld a, [wPartyCount]
|
2014-05-18 18:19:10 +00:00
|
|
|
dec a
|
|
|
|
push af
|
2015-07-13 06:36:56 +00:00
|
|
|
ld bc, wPartyMon2 - wPartyMon1
|
2014-05-18 18:19:10 +00:00
|
|
|
push bc
|
2014-06-14 11:12:40 +00:00
|
|
|
ld hl, wPartyMon1Moves
|
2014-05-18 18:19:10 +00:00
|
|
|
call AddNTimes
|
|
|
|
ld d, h
|
|
|
|
ld e, l
|
2015-07-13 06:36:56 +00:00
|
|
|
ld a, 1
|
2015-07-19 03:49:52 +00:00
|
|
|
ld [wLearningMovesFromDayCare], a
|
2014-06-16 20:57:26 +00:00
|
|
|
predef WriteMonMoves
|
2014-05-18 18:19:10 +00:00
|
|
|
pop bc
|
|
|
|
pop af
|
2015-07-19 03:49:52 +00:00
|
|
|
|
|
|
|
; set mon's HP to max
|
2014-06-14 11:12:40 +00:00
|
|
|
ld hl, wPartyMon1HP
|
2014-05-18 18:19:10 +00:00
|
|
|
call AddNTimes
|
|
|
|
ld d, h
|
|
|
|
ld e, l
|
2015-07-13 06:36:56 +00:00
|
|
|
ld bc, wPartyMon1MaxHP - wPartyMon1HP
|
2014-05-18 18:19:10 +00:00
|
|
|
add hl, bc
|
|
|
|
ld a, [hli]
|
|
|
|
ld [de], a
|
|
|
|
inc de
|
|
|
|
ld a, [hl]
|
|
|
|
ld [de], a
|
2015-07-19 03:49:52 +00:00
|
|
|
|
2024-08-04 14:05:33 +00:00
|
|
|
ld a, [wCurPartySpecies]
|
2014-05-18 18:19:10 +00:00
|
|
|
call PlayCry
|
2023-07-14 01:27:56 +00:00
|
|
|
ld hl, .GotMonBackText
|
2015-07-19 03:49:52 +00:00
|
|
|
jr .done
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2015-07-23 13:07:12 +00:00
|
|
|
.leaveMonInDayCare
|
2015-07-19 03:49:52 +00:00
|
|
|
ld a, [wDayCareStartLevel]
|
2014-06-14 11:12:40 +00:00
|
|
|
ld [wDayCareMonBoxLevel], a
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2015-07-19 03:49:52 +00:00
|
|
|
.done
|
2014-05-18 18:19:10 +00:00
|
|
|
call PrintText
|
|
|
|
jp TextScriptEnd
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.IntroText:
|
|
|
|
text_far _DaycareGentlemanIntroText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.WhichMonText:
|
|
|
|
text_far _DaycareGentlemanWhichMonText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.WillLookAfterMonText:
|
|
|
|
text_far _DaycareGentlemanWillLookAfterMonText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.ComeSeeMeInAWhileText:
|
|
|
|
text_far _DaycareGentlemanComeSeeMeInAWhileText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.MonHasGrownText:
|
|
|
|
text_far _DaycareGentlemanMonHasGrownText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.OweMoneyText:
|
|
|
|
text_far _DaycareGentlemanOweMoneyText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.GotMonBackText:
|
|
|
|
text_far _DaycareGentlemanGotMonBackText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.MonNeedsMoreTimeText:
|
|
|
|
text_far _DaycareGentlemanMonNeedsMoreTimeText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.AllRightThenText:
|
|
|
|
text_far _DaycareGentlemanAllRightThenText
|
|
|
|
.ComeAgainText:
|
|
|
|
text_far _DaycareGentlemanComeAgainText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.NoRoomForMonText:
|
|
|
|
text_far _DaycareGentlemanNoRoomForMonText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.OnlyHaveOneMonText:
|
|
|
|
text_far _DaycareGentlemanOnlyHaveOneMonText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.CantAcceptMonWithHMText:
|
|
|
|
text_far _DaycareGentlemanCantAcceptMonWithHMText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.HeresYourMonText:
|
|
|
|
text_far _DaycareGentlemanHeresYourMonText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.NotEnoughMoneyText:
|
|
|
|
text_far _DaycareGentlemanNotEnoughMoneyText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|