summaryrefslogtreecommitdiff
path: root/scripts/daycarem.asm
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/daycarem.asm')
-rwxr-xr-xscripts/daycarem.asm228
1 files changed, 116 insertions, 112 deletions
diff --git a/scripts/daycarem.asm b/scripts/daycarem.asm
index 1830d2c0..60daa3d5 100755
--- a/scripts/daycarem.asm
+++ b/scripts/daycarem.asm
@@ -1,31 +1,31 @@
-DayCareMScript: ; 5624f (15:624f)
+DayCareMScript:
jp EnableAutoTextBoxDrawing
-DayCareMTextPointers: ; 56252 (15:6252)
+DayCareMTextPointers:
dw DayCareMText1
-DayCareMText1: ; 56254 (15:6254)
- db $8
+DayCareMText1:
+ TX_ASM
call SaveScreenTilesToBuffer2
- ld a, [W_DAYCARE_IN_USE]
+ ld a, [wDayCareInUse]
and a
- jp nz, DayCareMScript_562e1
- ld hl, DayCareMText_5640f
+ jp nz, .daycareInUse
+ ld hl, DayCareIntroText
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem]
and a
- ld hl, DayCareMText_5643b
- jp nz, DayCareMScript_56409
+ ld hl, DayCareComeAgainText
+ jp nz, .done
ld a, [wPartyCount]
dec a
- ld hl, DayCareMText_56445
- jp z, DayCareMScript_56409
- ld hl, DayCareMText_56414
+ ld hl, DayCareOnlyHaveOneMonText
+ jp z, .done
+ ld hl, DayCareWhichMonText
call PrintText
xor a
ld [wUpdateSpritesEnabled], a
- ld [wd07d], a
+ ld [wPartyMenuTypeOrMessageID], a
ld [wMenuItemToSwap], a
call DisplayPartyMenu
push af
@@ -33,90 +33,91 @@ DayCareMText1: ; 56254 (15:6254)
call RestoreScreenTilesAndReloadTilePatterns
call LoadGBPal
pop af
- ld hl, DayCareMText_56437
- jp c, DayCareMScript_56409
- callab Func_2171b
- ld hl, DayCareMText_5644a
- jp c, DayCareMScript_56409
+ ld hl, DayCareAllRightThenText
+ jp c, .done
+ callab KnowsHMMove
+ ld hl, DayCareCantAcceptMonWithHMText
+ jp c, .done
xor a
- ld [wcc2b], a
+ ld [wPartyAndBillsPCSavedMenuItem], a
ld a, [wWhichPokemon]
ld hl, wPartyMonNicks
call GetPartyMonName
- ld hl, DayCareMText_56419
+ ld hl, DayCareWillLookAfterMonText
call PrintText
- ld a, $1
- ld [W_DAYCARE_IN_USE], a
- ld a, $3
- ld [wcf95], a
- call Func_3a68
+ ld a, 1
+ ld [wDayCareInUse], a
+ ld a, PARTY_TO_DAYCARE
+ ld [wMoveMonType], a
+ call MoveMon
xor a
- ld [wcf95], a
+ ld [wRemoveMonFromBox], a
call RemovePokemon
ld a, [wcf91]
call PlayCry
- ld hl, DayCareMText_5641e
- jp DayCareMScript_56409
+ ld hl, DayCareComeSeeMeInAWhileText
+ jp .done
-DayCareMScript_562e1: ; 562e1 (15:62e1)
+.daycareInUse
xor a
- ld hl, W_DAYCAREMONNAME
+ ld hl, wDayCareMonName
call GetPartyMonName
- ld a, $3
- ld [wcc49], a
+ ld a, DAYCARE_DATA
+ ld [wMonDataLocation], a
call LoadMonData
callab CalcLevelFromExperience
ld a, d
cp MAX_LEVEL
- jr c, .asm_56315
+ jr c, .skipCalcExp
+
ld d, MAX_LEVEL
callab CalcExperience
ld hl, wDayCareMonExp
- ld a, [H_NUMTOPRINT]
+ ld a, [hExperience]
ld [hli], a
- ld a, [$ff97]
+ ld a, [hExperience + 1]
ld [hli], a
- ld a, [$ff98]
+ ld a, [hExperience + 2]
ld [hl], a
ld d, MAX_LEVEL
-.asm_56315
+.skipCalcExp
xor a
- ld [wTrainerEngageDistance], a
+ ld [wDayCareNumLevelsGrown], a
ld hl, wDayCareMonBoxLevel
ld a, [hl]
- ld [wTrainerSpriteOffset], a
+ ld [wDayCareStartLevel], a
cp d
ld [hl], d
- ld hl, DayCareMText_56432
- jr z, .asm_56333
- ld a, [wTrainerSpriteOffset]
+ ld hl, DayCareMonNeedsMoreTimeText
+ jr z, .next
+ ld a, [wDayCareStartLevel]
ld b, a
ld a, d
sub b
- ld [wTrainerEngageDistance], a
- ld hl, DayCareMText_56423
+ ld [wDayCareNumLevelsGrown], a
+ ld hl, DayCareMonHasGrownText
-.asm_56333
+.next
call PrintText
ld a, [wPartyCount]
cp PARTY_LENGTH
- ld hl, DayCareMText_56440
- jp z, .asm_56403
- ld de, wTrainerFacingDirection
+ ld hl, DayCareNoRoomForMonText
+ jp z, .leaveMonInDayCare
+ ld de, wDayCareTotalCost
xor a
ld [de], a
inc de
ld [de], a
- ld hl, wTrainerScreenX
+ ld hl, wDayCarePerLevelCost
ld a, $1
ld [hli], a
ld [hl], $0
- ld a, [wTrainerEngageDistance]
+ ld a, [wDayCareNumLevelsGrown]
inc a
ld b, a
- ld c, $2
-.asm_56357
+ ld c, 2
+.calcPriceLoop
push hl
push de
push bc
@@ -125,141 +126,144 @@ DayCareMScript_562e1: ; 562e1 (15:62e1)
pop de
pop hl
dec b
- jr nz, .asm_56357
- ld hl, DayCareMText_56428
+ jr nz, .calcPriceLoop
+ ld hl, DayCareOweMoneyText
call PrintText
- ld a, $13
+ ld a, MONEY_BOX
ld [wTextBoxID], a
call DisplayTextBoxID
call YesNoChoice
- ld hl, DayCareMText_56437
+ ld hl, DayCareAllRightThenText
ld a, [wCurrentMenuItem]
and a
- jp nz, .asm_56403
- ld hl, wTrainerFacingDirection
- ld [$ff9f], a
+ jp nz, .leaveMonInDayCare
+ ld hl, wDayCareTotalCost
+ ld [hMoney], a
ld a, [hli]
- ld [$ffa0], a
+ ld [hMoney + 1], a
ld a, [hl]
- ld [$ffa1], a
+ ld [hMoney + 2], a
call HasEnoughMoney
- jr nc, .asm_56396
- ld hl, DayCareMText_56454
- jp .asm_56403
+ jr nc, .enoughMoney
+ ld hl, DayCareNotEnoughMoneyText
+ jp .leaveMonInDayCare
-.asm_56396
+.enoughMoney
xor a
- ld [W_DAYCARE_IN_USE], a
- ld hl, wTrainerEngageDistance
+ ld [wDayCareInUse], a
+ ld hl, wDayCareNumLevelsGrown
ld [hli], a
inc hl
ld de, wPlayerMoney + 2
ld c, $3
predef SubBCDPredef
- ld a, (SFX_02_5a - SFX_Headers_02) / 3
+ ld a, SFX_PURCHASE
call PlaySoundWaitForCurrent
- ld a, $13
+ ld a, MONEY_BOX
ld [wTextBoxID], a
call DisplayTextBoxID
- ld hl, DayCareMText_5644f
+ ld hl, DayCareHeresYourMonText
call PrintText
- ld a, $2
- ld [wcf95], a
- call Func_3a68
+ ld a, DAYCARE_TO_PARTY
+ ld [wMoveMonType], a
+ call MoveMon
ld a, [wDayCareMonSpecies]
ld [wcf91], a
ld a, [wPartyCount]
dec a
push af
- ld bc, $002c
+ ld bc, wPartyMon2 - wPartyMon1
push bc
ld hl, wPartyMon1Moves
call AddNTimes
ld d, h
ld e, l
- ld a, $1
- ld [wHPBarMaxHP], a
+ ld a, 1
+ ld [wLearningMovesFromDayCare], a
predef WriteMonMoves
pop bc
pop af
+
+; set mon's HP to max
ld hl, wPartyMon1HP
call AddNTimes
ld d, h
ld e, l
- ld bc, $0021
+ ld bc, wPartyMon1MaxHP - wPartyMon1HP
add hl, bc
ld a, [hli]
ld [de], a
inc de
ld a, [hl]
ld [de], a
+
ld a, [wcf91]
call PlayCry
- ld hl, DayCareMText_5642d
- jr DayCareMScript_56409
+ ld hl, DayCareGotMonBackText
+ jr .done
-.asm_56403
- ld a, [wTrainerSpriteOffset]
+.leaveMonInDayCare
+ ld a, [wDayCareStartLevel]
ld [wDayCareMonBoxLevel], a
-DayCareMScript_56409: ; 56409 (15:6409)
+.done
call PrintText
jp TextScriptEnd
-DayCareMText_5640f: ; 5640f (15:640f)
- TX_FAR _DayCareMText_5640f
+DayCareIntroText:
+ TX_FAR _DayCareIntroText
db "@"
-DayCareMText_56414: ; 56414 (15:6414)
- TX_FAR _DayCareMText_56414
+DayCareWhichMonText:
+ TX_FAR _DayCareWhichMonText
db "@"
-DayCareMText_56419: ; 56419 (15:6419)
- TX_FAR _DayCareMText_56419
+DayCareWillLookAfterMonText:
+ TX_FAR _DayCareWillLookAfterMonText
db "@"
-DayCareMText_5641e: ; 5641e (15:641e)
- TX_FAR _DayCareMText_5641e
+DayCareComeSeeMeInAWhileText:
+ TX_FAR _DayCareComeSeeMeInAWhileText
db "@"
-DayCareMText_56423: ; 56423 (15:6423)
- TX_FAR _DayCareMText_56423
+DayCareMonHasGrownText:
+ TX_FAR _DayCareMonHasGrownText
db "@"
-DayCareMText_56428: ; 56428 (15:6428)
- TX_FAR _DayCareMText_56428
+DayCareOweMoneyText:
+ TX_FAR _DayCareOweMoneyText
db "@"
-DayCareMText_5642d: ; 5642d (15:642d)
- TX_FAR _DayCareMText_5642d
+DayCareGotMonBackText:
+ TX_FAR _DayCareGotMonBackText
db "@"
-DayCareMText_56432: ; 56432 (15:6432)
- TX_FAR _DayCareMText_56432
+DayCareMonNeedsMoreTimeText:
+ TX_FAR _DayCareMonNeedsMoreTimeText
db "@"
-DayCareMText_56437: ; 56437 (15:6437)
- TX_FAR _DayCareMText_56437 ; 0x8c000
-DayCareMText_5643b: ; 5643b (15:643b)
- TX_FAR _DayCareMText_5643b ; 0x8c013
+DayCareAllRightThenText:
+ TX_FAR _DayCareAllRightThenText
+DayCareComeAgainText:
+ TX_FAR _DayCareComeAgainText
db "@"
-DayCareMText_56440: ; 56440 (15:6440)
- TX_FAR _DayCareMText_56440
+DayCareNoRoomForMonText:
+ TX_FAR _DayCareNoRoomForMonText
db "@"
-DayCareMText_56445: ; 56445 (15:6445)
- TX_FAR _DayCareMText_56445
+DayCareOnlyHaveOneMonText:
+ TX_FAR _DayCareOnlyHaveOneMonText
db "@"
-DayCareMText_5644a: ; 5644a (15:644a)
- TX_FAR _DayCareMText_5644a
+DayCareCantAcceptMonWithHMText:
+ TX_FAR _DayCareCantAcceptMonWithHMText
db "@"
-DayCareMText_5644f: ; 5644f (15:644f)
- TX_FAR _DayCareMText_5644f
+DayCareHeresYourMonText:
+ TX_FAR _DayCareHeresYourMonText
db "@"
-DayCareMText_56454: ; 56454 (15:6454)
- TX_FAR _DayCareMText_56454
+DayCareNotEnoughMoneyText:
+ TX_FAR _DayCareNotEnoughMoneyText
db "@"