aboutsummaryrefslogtreecommitdiffstats
path: root/engine/events/black_out.asm
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi42@gmail.com>2020-07-02 23:30:21 -0400
committerRangi <remy.oukaour+rangi42@gmail.com>2020-07-02 23:30:21 -0400
commitf275790aec4a796ed969b099364abfdf25385967 (patch)
treec56edfd01a61e9aa0e3c3ee8a046e66b5a1984e4 /engine/events/black_out.asm
parentActually run .travis/webhook.sh (diff)
downloadpokeyellow-f275790aec4a796ed969b099364abfdf25385967.tar.gz
pokeyellow-f275790aec4a796ed969b099364abfdf25385967.tar.xz
pokeyellow-f275790aec4a796ed969b099364abfdf25385967.zip
Add subdirectories to engine/ similar to pokecrystal
Diffstat (limited to 'engine/events/black_out.asm')
-rw-r--r--engine/events/black_out.asm46
1 files changed, 46 insertions, 0 deletions
diff --git a/engine/events/black_out.asm b/engine/events/black_out.asm
new file mode 100644
index 00000000..6c358ce3
--- /dev/null
+++ b/engine/events/black_out.asm
@@ -0,0 +1,46 @@
+ResetStatusAndHalveMoneyOnBlackout::
+; Reset player status on blackout.
+ xor a
+ ld [wBattleResult], a
+ ld [wWalkBikeSurfState], a
+ ld [wIsInBattle], a
+ ld [wMapPalOffset], a
+ ld [wNPCMovementScriptFunctionNum], a
+ ld [hJoyHeld], a
+ ld [wNPCMovementScriptPointerTableNum], a
+ ld [wFlags_0xcd60], a
+
+ ld [hMoney], a
+ ld [hMoney + 1], a
+ ld [hMoney + 2], a
+ call HasEnoughMoney
+ jr c, .lostmoney ; never happens
+
+ ; Halve the player's money.
+ ld a, [wPlayerMoney]
+ ld [hMoney], a
+ ld a, [wPlayerMoney + 1]
+ ld [hMoney + 1], a
+ ld a, [wPlayerMoney + 2]
+ ld [hMoney + 2], a
+ xor a
+ ld [hDivideBCDDivisor], a
+ ld [hDivideBCDDivisor + 1], a
+ ld a, 2
+ ld [hDivideBCDDivisor + 2], a
+ predef DivideBCDPredef3
+ ld a, [hDivideBCDQuotient]
+ ld [wPlayerMoney], a
+ ld a, [hDivideBCDQuotient + 1]
+ ld [wPlayerMoney + 1], a
+ ld a, [hDivideBCDQuotient + 2]
+ 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