From 1b0b7a281c5c271cc470819b3467c3194eae2b3b Mon Sep 17 00:00:00 2001 From: Thorn Avery Date: Wed, 20 Dec 2023 16:58:51 +1100 Subject: [PATCH 1/7] WIP Battle Tent: winnings based on streak --- ram/wram.asm | 1 + scripts/BattleTent.asm | 60 +++++++++++++++++++++++++++++++++++------- 2 files changed, 51 insertions(+), 10 deletions(-) diff --git a/ram/wram.asm b/ram/wram.asm index 748ad659..de3f443f 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -2141,6 +2141,7 @@ wChannel7:: channel_struct wChannel7 wChannel8:: channel_struct wChannel8 ENDU wBTStreakCnt:: db +wBTWinnings:: dw wObtainedHiddenItemsFlags:: flag_array 112 diff --git a/scripts/BattleTent.asm b/scripts/BattleTent.asm index de140d0c..74c485ac 100644 --- a/scripts/BattleTent.asm +++ b/scripts/BattleTent.asm @@ -578,26 +578,63 @@ BattleTentGuy: ld [wBTCont], a xor a ; initialise counter ld [wBTStreakCnt], a + ld [wBTWinnings], a + ld [wBTWinnings+1], a + ld [wBTWinnings+2], a ld a, 1 ld [wBattleTentCurScript], a jp TextScriptEnd -BTReward: - db $03,$00,$00 - BattleTentGuy_After: db $8 ld a, [wBTCont] cp 2 ; voluntarily exited ld hl, BattleTentLost - jr nz, .skip ; Not Teh Urn BibleThump - ld a, $03 ; NO REVERTING THIS CODE PIGU IM SICK OF YOU BREAKING IT! - ldh [$9f], a + jr nz, .skip + + ; multiply streak by 2000 + ld a, [wBTStreakCnt] + ldh [hMultiplier], a + ld a, $07 + ldh [hMultiplicand], a + ld a, $D0 + ldh [hMultiplicand+1], a + call Multiply + ldh a, [hProduct] + ld [wBTWinnings], a + ldh a, [hProduct+1] + ld [wBTWinnings+1], a + ldh a, [hProduct+2] + ld [wBTWinnings+2], a + + ; Max out at 2000 * 255 = 510000 + ; 07 C8 30 = 2000 * 255 + ; (this shouldnt ever matter im just paranoid) + ld a, [wBTWinnings] + cp $07 + jr c, .done + ld a, $07 + ld [wBTWinnings], a + ld a, [wBTWinnings+1] + cp $C8 + jr c, .done + ld a, $C8 + ld [wBTWinnings+1], a + ld a, [wBTWinnings+2] + cp $30 + jr c, .done + ld a, $30 + ld [wBTWinnings+2], a +.done + + ; todo: convert wBTWinnings to BCD ld a, $00 - ldh [$a1], a + ldh [hMoney], a ld a, $00 - ldh [$a0], a - ld hl, $ffa1 + ldh [hMoney+1], a + ld a, $00 + ldh [hMoney+2], a + ld hl, hMoney + 2 ld de, wPlayerMoney + 2 ld c, $3 predef AddBCDPredef @@ -635,6 +672,7 @@ BattleTentGuy2: and a jr nz, .refused ; If 0, move to refused. ld hl, BattleTentGuy2_Streak ; The message has been changed appropriately down below. + call PrintText jr .done .init ld hl, BattleTentGuy2_Init ; Load the next battle. @@ -793,7 +831,9 @@ BattleTentWon: line "reward!" para $52, " received" - line "Â¥30000!" + line "Â¥@" + text_decimal wBTWinnings, 3, 6 + text "!" prompt BattleTentLost: From 27f898e58391bac2f45115a2a56b23616891e7f6 Mon Sep 17 00:00:00 2001 From: Thorn Avery Date: Wed, 20 Dec 2023 17:29:21 +1100 Subject: [PATCH 2/7] WIP Battle Tent: winnings based on streak --- scripts/BattleTent.asm | 75 +++++++++++++++++++++++------------------- 1 file changed, 41 insertions(+), 34 deletions(-) diff --git a/scripts/BattleTent.asm b/scripts/BattleTent.asm index 74c485ac..b0dea111 100644 --- a/scripts/BattleTent.asm +++ b/scripts/BattleTent.asm @@ -321,6 +321,9 @@ BattleTent_InitBattle: ld a, 6 ld [wBattleTentCurScript], a ret + +BTBattleReward: + db $00, $00, $00 BattleTent_AfterBattle: ld a, $ff @@ -338,8 +341,12 @@ BattleTent_AfterBattle: cp $FF jr z, .max ; cap out at 255 wins inc a -.max 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 .skip ld a, 1 ; lost last match @@ -593,46 +600,46 @@ BattleTentGuy_After: jr nz, .skip ; multiply streak by 2000 - ld a, [wBTStreakCnt] - ldh [hMultiplier], a - ld a, $07 - ldh [hMultiplicand], a - ld a, $D0 - ldh [hMultiplicand+1], a - call Multiply - ldh a, [hProduct] - ld [wBTWinnings], a - ldh a, [hProduct+1] - ld [wBTWinnings+1], a - ldh a, [hProduct+2] - ld [wBTWinnings+2], a + ;ld a, [wBTStreakCnt] + ;ldh [hMultiplier], a + ;ld a, $07 + ;ldh [hMultiplicand], a + ;ld a, $D0 + ;ldh [hMultiplicand+1], a + ;call Multiply + ;ldh a, [hProduct] + ;ld [wBTWinnings], a + ;ldh a, [hProduct+1] + ;ld [wBTWinnings+1], a + ;ldh a, [hProduct+2] + ;ld [wBTWinnings+2], a ; Max out at 2000 * 255 = 510000 ; 07 C8 30 = 2000 * 255 ; (this shouldnt ever matter im just paranoid) - ld a, [wBTWinnings] - cp $07 - jr c, .done - ld a, $07 - ld [wBTWinnings], a - ld a, [wBTWinnings+1] - cp $C8 - jr c, .done - ld a, $C8 - ld [wBTWinnings+1], a - ld a, [wBTWinnings+2] - cp $30 - jr c, .done - ld a, $30 - ld [wBTWinnings+2], a -.done + ;ld a, [wBTWinnings] + ;cp $07 + ;jr c, .done + ;ld a, $07 + ;ld [wBTWinnings], a + ;ld a, [wBTWinnings+1] + ;cp $C8 + ;jr c, .done + ;ld a, $C8 + ;ld [wBTWinnings+1], a + ;ld a, [wBTWinnings+2] + ;cp $30 + ;jr c, .done + ;ld a, $30 + ;ld [wBTWinnings+2], a +;.done ; todo: convert wBTWinnings to BCD - ld a, $00 + ld a, [wBTWinnings] ldh [hMoney], a - ld a, $00 + ld a, [wBTWinnings+1] ldh [hMoney+1], a - ld a, $00 + ld a, [wBTWinnings+2] ldh [hMoney+2], a ld hl, hMoney + 2 ld de, wPlayerMoney + 2 @@ -832,7 +839,7 @@ BattleTentWon: para $52, " received" line "Â¥@" - text_decimal wBTWinnings, 3, 6 + text_bcd wBTWinnings, 3, 6 text "!" prompt From 8e03534fc6b6a553269401f8ee1f9b996144560a Mon Sep 17 00:00:00 2001 From: Thorn Avery Date: Wed, 20 Dec 2023 18:18:16 +1100 Subject: [PATCH 3/7] WIP Battle Tent: BCD Add not working :( --- ram/wram.asm | 7 +++++-- scripts/BattleTent.asm | 3 +-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ram/wram.asm b/ram/wram.asm index de3f443f..39325ee3 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -2026,9 +2026,13 @@ wCelesteHillCaveCurScript:: db wBrunswickGladeCurScript:: db ds 2 wSSAnneBowCurScript:: db +UNION wViridianForestCurScript:: db wMuseum1FCurScript:: db wRoute13CurScript:: db +NEXTU +wBTWinnings:: ds 3 +ENDU wRoute14CurScript:: db wRoute17CurScript:: db wRoute19CurScript:: db @@ -2135,13 +2139,12 @@ wStringBuffer2:: ; cf70 wStringBuffer3:: ; cf81 ds 9 + 1 ;end BT wram - ds 79 + ds 76 NEXTU wChannel7:: channel_struct wChannel7 wChannel8:: channel_struct wChannel8 ENDU wBTStreakCnt:: db -wBTWinnings:: dw wObtainedHiddenItemsFlags:: flag_array 112 diff --git a/scripts/BattleTent.asm b/scripts/BattleTent.asm index b0dea111..a959afa6 100644 --- a/scripts/BattleTent.asm +++ b/scripts/BattleTent.asm @@ -323,7 +323,7 @@ BattleTent_InitBattle: ret BTBattleReward: - db $00, $00, $00 + db $00, $20, $00 BattleTent_AfterBattle: ld a, $ff @@ -634,7 +634,6 @@ BattleTentGuy_After: ;ld [wBTWinnings+2], a ;.done - ; todo: convert wBTWinnings to BCD ld a, [wBTWinnings] ldh [hMoney], a ld a, [wBTWinnings+1] From f126a262439df30c4a4081f9495a64c544da2166 Mon Sep 17 00:00:00 2001 From: Thorn Avery Date: Wed, 20 Dec 2023 18:49:51 +1100 Subject: [PATCH 4/7] Battle Tent: working! (assuming union is ok) --- ram/wram.asm | 7 ++++--- scripts/BattleTent.asm | 8 +++++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ram/wram.asm b/ram/wram.asm index 39325ee3..a6db5305 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -2030,12 +2030,13 @@ UNION wViridianForestCurScript:: db wMuseum1FCurScript:: db wRoute13CurScript:: db -NEXTU -wBTWinnings:: ds 3 -ENDU wRoute14CurScript:: db wRoute17CurScript:: db wRoute19CurScript:: db +NEXTU +wBTWinnings:: ds 3 +wBTBattleReward:: ds 3 +ENDU wRoute21CurScript:: db wSafariZoneGateCurScript:: db wRockTunnelB1FCurScript:: db diff --git a/scripts/BattleTent.asm b/scripts/BattleTent.asm index a959afa6..a1b8e207 100644 --- a/scripts/BattleTent.asm +++ b/scripts/BattleTent.asm @@ -342,7 +342,7 @@ BattleTent_AfterBattle: jr z, .max ; cap out at 255 wins inc a ld [wBTStreakCnt], a ; increment win counter - ld hl, BTBattleReward + 2 + ld hl, wBTBattleReward + 2 ld de, wBTWinnings + 2 ld c, $3 predef AddBCDPredef ; for some reason this is maxing out the counter @@ -588,6 +588,12 @@ BattleTentGuy: ld [wBTWinnings], a ld [wBTWinnings+1], a ld [wBTWinnings+2], a + ld a, [BTBattleReward] + ld [wBTBattleReward], a + ld a, [BTBattleReward+1] + ld [wBTBattleReward+1], a + ld a, [BTBattleReward+2] + ld [wBTBattleReward+2], a ld a, 1 ld [wBattleTentCurScript], a jp TextScriptEnd From 743a645c5ef16d8adc7d6cf5c9934e0b288803fb Mon Sep 17 00:00:00 2001 From: Martha Schilling Date: Wed, 20 Dec 2023 12:09:06 +0000 Subject: [PATCH 5/7] god i need some help with this I'm trying to make the warp to Mt. Moon Crater a hole warp like the ones from Seafoam Islands, but I cannot seem to get to work at all, the hole just doesn't send me down. I know I'm clearly missing something, but I'm committing as-is in the hopes that someone could have a look at it --- data/maps/dungeon_maps.asm | 1 + data/maps/objects/MtMoonB1F.asm | 7 +++++-- data/maps/objects/MtMoonCrater.asm | 5 ++--- data/maps/objects/MtMoonSquare.asm | 2 +- data/maps/objects/Route4.asm | 1 + data/maps/special_warps.asm | 2 ++ gfx/blocksets/cavern.bst | Bin 2480 -> 2496 bytes maps/MtMoonB1F.blk | 2 +- maps/MtMoonCrater.blk | 4 ++-- maps/Route4.blk | 13 +++++-------- scripts/MtMoonB1F.asm | 9 ++++++++- 11 files changed, 28 insertions(+), 18 deletions(-) diff --git a/data/maps/dungeon_maps.asm b/data/maps/dungeon_maps.asm index 5aef3c46..aba0ac00 100644 --- a/data/maps/dungeon_maps.asm +++ b/data/maps/dungeon_maps.asm @@ -19,6 +19,7 @@ DungeonMaps1: db GARNET_CAVERN_2F db GARNET_CAVERN_1F db GARNET_CAVERN_B1F + db MT_MOON_CRATER db -1 ; end ; GetBattleTransitionID_IsDungeonMap checks if wCurMap diff --git a/data/maps/objects/MtMoonB1F.asm b/data/maps/objects/MtMoonB1F.asm index ec1e7565..19d5df00 100644 --- a/data/maps/objects/MtMoonB1F.asm +++ b/data/maps/objects/MtMoonB1F.asm @@ -11,9 +11,12 @@ MtMoonB1F_Object: warp_event 23, 3, MT_MOON_B2F, 4 warp_event 27, 3, ROUTE_4, 3 warp_event 1, 27, MT_MOON_B2F, 5 - warp_event 1, 9, MT_MOON_SQUARE, 1 + warp_event 1, 13, MT_MOON_SQUARE, 1 warp_event 1, 23, MT_MOON_SQUARE, 4 - warp_event 1, 13, MT_MOON_1F, 6 + warp_event 1, 17, MT_MOON_1F, 6 + warp_event 5, 27, MT_MOON_SQUARE, 2 + warp_event 1, 3, MT_MOON_CRATER, 1 + warp_event 1, 7, ROUTE_4, 4 def_bg_events diff --git a/data/maps/objects/MtMoonCrater.asm b/data/maps/objects/MtMoonCrater.asm index 8afbe497..92f06219 100644 --- a/data/maps/objects/MtMoonCrater.asm +++ b/data/maps/objects/MtMoonCrater.asm @@ -2,14 +2,13 @@ MtMoonCrater_Object: db $03 ; border block def_warp_events - warp_event 23, 49, MT_MOON_SQUARE, 2 - warp_event 22, 49, MT_MOON_SQUARE, 2 + warp_event 46, 47, MT_MOON_B1F, 14 def_bg_events def_object_events object_event 33, 17, SPRITE_FOSSIL, STAY, NONE, 1, DOME_FOSSIL - object_event 31, 32, SPRITE_FOSSIL, STAY, NONE, 2, WING_FOSSIL + object_event 32, 32, SPRITE_FOSSIL, STAY, NONE, 2, WING_FOSSIL object_event 33, 16, SPRITE_FOSSIL, STAY, NONE, 3, HELIX_FOSSIL object_event 45, 24, SPRITE_POKE_BALL, STAY, NONE, 4, MAX_ETHER diff --git a/data/maps/objects/MtMoonSquare.asm b/data/maps/objects/MtMoonSquare.asm index ce4550bc..5ab98ad3 100644 --- a/data/maps/objects/MtMoonSquare.asm +++ b/data/maps/objects/MtMoonSquare.asm @@ -3,7 +3,7 @@ MtMoonSquare_Object: def_warp_events warp_event 16, 3, MT_MOON_B1F, 10 - warp_event 22, 1, MT_MOON_CRATER, 1 + warp_event 22, 1, MT_MOON_B1F, 13 warp_event 11, 5, MT_MOON_SQUARE_HOUSE, 1 warp_event 20, 9, MT_MOON_B1F, 11 diff --git a/data/maps/objects/Route4.asm b/data/maps/objects/Route4.asm index 343cc4d0..8b9a5049 100644 --- a/data/maps/objects/Route4.asm +++ b/data/maps/objects/Route4.asm @@ -5,6 +5,7 @@ Route4_Object: warp_event 11, 5, MT_MOON_POKECENTER, 1 warp_event 18, 5, MT_MOON_1F, 1 warp_event 24, 5, MT_MOON_B1F, 8 + warp_event 50, 1, MT_MOON_B1F, 15 def_bg_events bg_event 12, 5, 6 ; PokeCenterSignText diff --git a/data/maps/special_warps.asm b/data/maps/special_warps.asm index f5700d1a..4d06a495 100644 --- a/data/maps/special_warps.asm +++ b/data/maps/special_warps.asm @@ -14,6 +14,7 @@ DungeonWarpList: db POKEMON_MANSION_1F, 1 db POKEMON_MANSION_1F, 2 db POKEMON_MANSION_2F, 3 + db MT_MOON_CRATER, 1 db -1 ; end @@ -36,6 +37,7 @@ DungeonWarpData: fly_warp POKEMON_MANSION_1F, 16, 14 fly_warp POKEMON_MANSION_1F, 16, 14 fly_warp POKEMON_MANSION_2F, 18, 14 + fly_warp MT_MOON_CRATER, 21, 46 MACRO special_warp_spec diff --git a/gfx/blocksets/cavern.bst b/gfx/blocksets/cavern.bst index e81fe7378b45d5c8e2b10312de9eb215aaadd996..66ba2ad53134dc11f437f1c4243505c0319492fa 100644 GIT binary patch delta 24 XcmdlWd_Z`^22KH1C{R*jWd&gXMg#-Y delta 7 OcmX>gyg_)w22KDB?gIb- diff --git a/maps/MtMoonB1F.blk b/maps/MtMoonB1F.blk index 88548eaf..1b97036d 100644 --- a/maps/MtMoonB1F.blk +++ b/maps/MtMoonB1F.blk @@ -1 +1 @@ -?????<==???????==<<?????????=<?=??????<< \ No newline at end of file +?????<?<===??????=?<=?????????=<<???=›??????<=< \ No newline at end of file diff --git a/maps/MtMoonCrater.blk b/maps/MtMoonCrater.blk index 99589287..eacef248 100644 --- a/maps/MtMoonCrater.blk +++ b/maps/MtMoonCrater.blk @@ -1,5 +1,5 @@ AAAAAAAAAAAAAAAAAAAAAAAAAACEEEEEEEEEEEEEEEEEEEE?AAABbCF,5   DD?AABCF// - D@AABF9 ),@ACF,<=========>)@AB)@AK>@AAB)@CF$%,\QQQq@AB @AAB)@BZ--v=JAB@AAB@B"#rk-zG?AB @AAB@K=>,012@AB @AAB.@AAB%_@AB @AAB)@ACF)<=====JCF@AAB.@AB,@ACEE?ABD?AB@AB7@CF€D?B@AB@AB 6DFF)DDF<==JAB@AB 5,DE?AAB @AB + D@AABF9 ),@ACF,<=========>)@AB)@AK>@AAB)@CF$%,\QQQQ@AB @AAB)@BZ--v=JAB@AAB@B"#rk-zG?AB @AAB@K=>,012@AB @AAB.@AAB%_@AB @AAB)@ACF)<=====JCF@AAB.@AB,@ACEE?ABD?AB@AB7@CF€D?B@AB@AB 6DF)DF<==JAB@AB 5,DE?AAB @AB 6,DD?AB - D?K==========><>@AB,@D?AAAAAAAAAAB@K>@AB|DEDEEEEEEEEESFDGF=>@AB,.}},.@AAAAACF@AB,||)DEEEEEFF@AK=======>Y<=========== \ No newline at end of file + D?K============>@AB,@DE?AACEEE?AAC?K>@AB|DEFDEEFD?CFDGF>@AB,.}},.@ABDGEF.@AB,||)DEEF,g@AK======================A \ No newline at end of file diff --git a/maps/Route4.blk b/maps/Route4.blk index a9fb235b..834aa85b 100644 --- a/maps/Route4.blk +++ b/maps/Route4.blk @@ -1,8 +1,7 @@ -,,,,+WW*,,,,,,,,,+WWWWWWWWWWWWWWWWWWWWWW*,,,,,+WW% !$*,,,,,,,,) +,,,,+WW*,,,,,,,,,+WWWWWWWWWWWWWWWWWWWWW*,,,,,+WW% !$*,,,,,,,,) X YY - -X +XY X X @@ -12,8 +11,7 @@ X 1111$WWWW,)|r$*+WWWW% Z/[Y - -X +Z[ X Zaaaaa,)()11 @@ -24,11 +22,10 @@ Zaaaaa,)()11 Y - X -Z/g,)()/[ -Z/o\kkkk,)() +Z/g,)()/[ +Z/o\kkkk,)() diff --git a/scripts/MtMoonB1F.asm b/scripts/MtMoonB1F.asm index 06af2dd3..9c8cd112 100644 --- a/scripts/MtMoonB1F.asm +++ b/scripts/MtMoonB1F.asm @@ -1,6 +1,13 @@ MtMoonB1F_Script: call EnableAutoTextBoxDrawing - ret + ld a, MT_MOON_CRATER + ld [wDungeonWarpDestinationMap], a + ld hl, MtMoonHolesCoords + jp IsPlayerOnDungeonWarp + +MtMoonHolesCoords: + dbmapcoord 6, 23 + db -1 ; end MtMoonB1F_TextPointers: dw MtMoonText1 From 163b1b060ce1417bcdba0fe1f7871f6f0d612a98 Mon Sep 17 00:00:00 2001 From: Thorn Avery Date: Thu, 21 Dec 2023 15:11:21 +1100 Subject: [PATCH 6/7] Battle Tent: working! (for real this time!!) --- ram/wram.asm | 6 +- scripts/BattleTent.asm | 144 ++++++++++++++++++++--------------------- 2 files changed, 73 insertions(+), 77 deletions(-) diff --git a/ram/wram.asm b/ram/wram.asm index a6db5305..4f318d20 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -2026,17 +2026,12 @@ wCelesteHillCaveCurScript:: db wBrunswickGladeCurScript:: db ds 2 wSSAnneBowCurScript:: db -UNION wViridianForestCurScript:: db wMuseum1FCurScript:: db wRoute13CurScript:: db wRoute14CurScript:: db wRoute17CurScript:: db wRoute19CurScript:: db -NEXTU -wBTWinnings:: ds 3 -wBTBattleReward:: ds 3 -ENDU wRoute21CurScript:: db wSafariZoneGateCurScript:: db wRockTunnelB1FCurScript:: db @@ -2146,6 +2141,7 @@ wChannel7:: channel_struct wChannel7 wChannel8:: channel_struct wChannel8 ENDU wBTStreakCnt:: db +wBTRewards:: db wObtainedHiddenItemsFlags:: flag_array 112 diff --git a/scripts/BattleTent.asm b/scripts/BattleTent.asm index a1b8e207..a67bdca5 100644 --- a/scripts/BattleTent.asm +++ b/scripts/BattleTent.asm @@ -342,10 +342,6 @@ BattleTent_AfterBattle: jr z, .max ; cap out at 255 wins inc a ld [wBTStreakCnt], a ; increment win counter - ld hl, wBTBattleReward + 2 - ld de, wBTWinnings + 2 - ld c, $3 - predef AddBCDPredef ; for some reason this is maxing out the counter .max jr .skip2 .skip @@ -585,15 +581,6 @@ BattleTentGuy: ld [wBTCont], a xor a ; initialise counter ld [wBTStreakCnt], a - ld [wBTWinnings], a - ld [wBTWinnings+1], a - ld [wBTWinnings+2], a - ld a, [BTBattleReward] - ld [wBTBattleReward], a - ld a, [BTBattleReward+1] - ld [wBTBattleReward+1], a - ld a, [BTBattleReward+2] - ld [wBTBattleReward+2], a ld a, 1 ld [wBattleTentCurScript], a jp TextScriptEnd @@ -604,55 +591,50 @@ BattleTentGuy_After: cp 2 ; voluntarily exited ld hl, BattleTentLost jr nz, .skip - - ; multiply streak by 2000 - ;ld a, [wBTStreakCnt] - ;ldh [hMultiplier], a - ;ld a, $07 - ;ldh [hMultiplicand], a - ;ld a, $D0 - ;ldh [hMultiplicand+1], a - ;call Multiply - ;ldh a, [hProduct] - ;ld [wBTWinnings], a - ;ldh a, [hProduct+1] - ;ld [wBTWinnings+1], a - ;ldh a, [hProduct+2] - ;ld [wBTWinnings+2], a - - ; Max out at 2000 * 255 = 510000 - ; 07 C8 30 = 2000 * 255 - ; (this shouldnt ever matter im just paranoid) - ;ld a, [wBTWinnings] - ;cp $07 - ;jr c, .done - ;ld a, $07 - ;ld [wBTWinnings], a - ;ld a, [wBTWinnings+1] - ;cp $C8 - ;jr c, .done - ;ld a, $C8 - ;ld [wBTWinnings+1], a - ;ld a, [wBTWinnings+2] - ;cp $30 - ;jr c, .done - ;ld a, $30 - ;ld [wBTWinnings+2], a -;.done - - ld a, [wBTWinnings] - ldh [hMoney], a - ld a, [wBTWinnings+1] - ldh [hMoney+1], a - ld a, [wBTWinnings+2] - ldh [hMoney+2], a - ld hl, hMoney + 2 - ld de, wPlayerMoney + 2 - ld c, $3 - predef AddBCDPredef - ld hl, BattleTentWon -.skip + ld hl, BattleTentWon call PrintText + ; give reward + ; every ten battles gives a bottle cap + ; every five gives a rare candy + ld a, [wBTStreakCnt] + ld c, 0 ; fives count +.findFive: + cp 5 + jr nc, .hasFive + jr .done +.hasFive: + sub 5 + inc c + jr .findFive +.done: + ld a, c + and a + jr z, .skip ; skip if no rewards + ld [wBTRewards], a + ld hl, ReceivedRewardPreamble + call PrintText + ld a, [wBTRewards] + ld b, RARE_CANDY + call GiveItem + jr nc, .bag_full ; could use money instead here + ld hl, ReceivedRewardText + call PrintText + ld a, [wBTRewards] + srl a + and a + jr z, .skip + ld [wBTRewards], a + ;ld b, POWER_FEED + ld b, BOTTLE_CAP + call GiveItem + jr nc, .bag_full + ld hl, ReceivedRewardText + call PrintText + jr .skip +.bag_full: + ld hl, RewardNoRoomText + call PrintText +.skip: ld hl, BattleTentPleaseWait call PrintText call BattleTent_RestoreTeam @@ -839,13 +821,10 @@ BattleTentWon: text "Wow! You finally" line "did it!" - para "Here is the" - line "reward!" - - para $52, " received" - line "Â¥@" - text_bcd wBTWinnings, 3, 6 - text "!" + para "You beat" + line "@" + text_decimal wBTStreakCnt, 1, 3 + text " oppenont(s)!" prompt BattleTentLost: @@ -893,10 +872,10 @@ BattleTentGuy2_Win: ;text "Congratulations!" text "Well done!" - para "You defeated" - line "@" - text_decimal wBTStreakCnt, 1, 3 - text " opponent(s)!" + ;para "You defeated" + ;line "@" + ;text_decimal wBTStreakCnt, 1, 3 + ;text " opponent(s)!" para "Please go back to" line "the counter to" @@ -909,6 +888,27 @@ BattleTentGuy2_Heal: cont "full health." done +ReceivedRewardPreamble: + text "Take these" + line "on the house!" + prompt + text_end + +ReceivedRewardText: + text " received" + line "@" + text_decimal wBTRewards, 1, 2 + text "x @" + text_ram wStringBuffer + text "!" + prompt + text_end + +RewardNoRoomText: + text "You have no room!" + prompt + text_end + ; Battle Tent BattleTentMart:: script_mart FULL_RESTORE, MAX_REVIVE, FULL_HEAL, BOTTLE_CAP, POKE_DOLL, X_ATTACK, X_DEFEND, X_SPEED, X_SPECIAL, GUARD_SPEC From c2a46acf850d155758372f08b756dd4e60ccbaed Mon Sep 17 00:00:00 2001 From: Thorn Avery Date: Thu, 21 Dec 2023 15:12:58 +1100 Subject: [PATCH 7/7] oops naughty thorn messing with ram layout --- ram/wram.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ram/wram.asm b/ram/wram.asm index 4f318d20..48c81e70 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -2135,7 +2135,7 @@ wStringBuffer2:: ; cf70 wStringBuffer3:: ; cf81 ds 9 + 1 ;end BT wram - ds 76 + ds 79 NEXTU wChannel7:: channel_struct wChannel7 wChannel8:: channel_struct wChannel8