pokered/engine/events/black_out.asm

47 lines
1,003 B
NASM
Raw Normal View History

2016-09-18 01:17:57 +00:00
ResetStatusAndHalveMoneyOnBlackout::
; Reset player status on blackout.
xor a
ld [wBattleResult], a
ld [wWalkBikeSurfState], a
ld [wIsInBattle], a
ld [wMapPalOffset], a
ld [wNPCMovementScriptFunctionNum], a
ldh [hJoyHeld], a
2016-09-18 01:17:57 +00:00
ld [wNPCMovementScriptPointerTableNum], a
ld [wFlags_0xcd60], a
ldh [hMoney], a
ldh [hMoney + 1], a
ldh [hMoney + 2], a
2016-09-18 01:17:57 +00:00
call HasEnoughMoney
jr c, .lostmoney ; never happens
; Halve the player's money.
ld a, [wPlayerMoney]
ldh [hMoney], a
2016-09-18 01:17:57 +00:00
ld a, [wPlayerMoney + 1]
ldh [hMoney + 1], a
2016-09-18 01:17:57 +00:00
ld a, [wPlayerMoney + 2]
ldh [hMoney + 2], a
2016-09-18 01:17:57 +00:00
xor a
ldh [hDivideBCDDivisor], a
ldh [hDivideBCDDivisor + 1], a
2016-09-18 01:17:57 +00:00
ld a, 2
ldh [hDivideBCDDivisor + 2], a
2016-09-18 01:17:57 +00:00
predef DivideBCDPredef3
ldh a, [hDivideBCDQuotient]
2016-09-18 01:17:57 +00:00
ld [wPlayerMoney], a
ldh a, [hDivideBCDQuotient + 1]
2016-09-18 01:17:57 +00:00
ld [wPlayerMoney + 1], a
ldh a, [hDivideBCDQuotient + 2]
2016-09-18 01:17:57 +00:00
ld [wPlayerMoney + 2], a
.lostmoney
ld hl, wd732
set 2, [hl]
res 3, [hl]
set 6, [hl]
ld a, %11111111
ld [wJoyIgnore], a
predef_jump HealParty