WIP Battle Tent: winnings based on streak

This commit is contained in:
Thorn Avery 2023-12-20 17:29:21 +11:00
parent 1b0b7a281c
commit 27f898e583

View file

@ -322,6 +322,9 @@ BattleTent_InitBattle:
ld [wBattleTentCurScript], a ld [wBattleTentCurScript], a
ret ret
BTBattleReward:
db $00, $00, $00
BattleTent_AfterBattle: BattleTent_AfterBattle:
ld a, $ff ld a, $ff
ld [wJoyIgnore], a ld [wJoyIgnore], a
@ -338,8 +341,12 @@ BattleTent_AfterBattle:
cp $FF cp $FF
jr z, .max ; cap out at 255 wins jr z, .max ; cap out at 255 wins
inc a inc a
.max
ld [wBTStreakCnt], a ; increment win counter ld [wBTStreakCnt], a ; increment win counter
ld hl, BTBattleReward + 2
ld de, wBTWinnings + 2
ld c, $3
predef AddBCDPredef ; for some reason this is maxing out the counter
.max
jr .skip2 jr .skip2
.skip .skip
ld a, 1 ; lost last match ld a, 1 ; lost last match
@ -593,46 +600,46 @@ BattleTentGuy_After:
jr nz, .skip jr nz, .skip
; multiply streak by 2000 ; multiply streak by 2000
ld a, [wBTStreakCnt] ;ld a, [wBTStreakCnt]
ldh [hMultiplier], a ;ldh [hMultiplier], a
ld a, $07 ;ld a, $07
ldh [hMultiplicand], a ;ldh [hMultiplicand], a
ld a, $D0 ;ld a, $D0
ldh [hMultiplicand+1], a ;ldh [hMultiplicand+1], a
call Multiply ;call Multiply
ldh a, [hProduct] ;ldh a, [hProduct]
ld [wBTWinnings], a ;ld [wBTWinnings], a
ldh a, [hProduct+1] ;ldh a, [hProduct+1]
ld [wBTWinnings+1], a ;ld [wBTWinnings+1], a
ldh a, [hProduct+2] ;ldh a, [hProduct+2]
ld [wBTWinnings+2], a ;ld [wBTWinnings+2], a
; Max out at 2000 * 255 = 510000 ; Max out at 2000 * 255 = 510000
; 07 C8 30 = 2000 * 255 ; 07 C8 30 = 2000 * 255
; (this shouldnt ever matter im just paranoid) ; (this shouldnt ever matter im just paranoid)
ld a, [wBTWinnings] ;ld a, [wBTWinnings]
cp $07 ;cp $07
jr c, .done ;jr c, .done
ld a, $07 ;ld a, $07
ld [wBTWinnings], a ;ld [wBTWinnings], a
ld a, [wBTWinnings+1] ;ld a, [wBTWinnings+1]
cp $C8 ;cp $C8
jr c, .done ;jr c, .done
ld a, $C8 ;ld a, $C8
ld [wBTWinnings+1], a ;ld [wBTWinnings+1], a
ld a, [wBTWinnings+2] ;ld a, [wBTWinnings+2]
cp $30 ;cp $30
jr c, .done ;jr c, .done
ld a, $30 ;ld a, $30
ld [wBTWinnings+2], a ;ld [wBTWinnings+2], a
.done ;.done
; todo: convert wBTWinnings to BCD ; todo: convert wBTWinnings to BCD
ld a, $00 ld a, [wBTWinnings]
ldh [hMoney], a ldh [hMoney], a
ld a, $00 ld a, [wBTWinnings+1]
ldh [hMoney+1], a ldh [hMoney+1], a
ld a, $00 ld a, [wBTWinnings+2]
ldh [hMoney+2], a ldh [hMoney+2], a
ld hl, hMoney + 2 ld hl, hMoney + 2
ld de, wPlayerMoney + 2 ld de, wPlayerMoney + 2
@ -832,7 +839,7 @@ BattleTentWon:
para $52, " received" para $52, " received"
line "¥@" line "¥@"
text_decimal wBTWinnings, 3, 6 text_bcd wBTWinnings, 3, 6
text "!" text "!"
prompt prompt