Readme update, Lake of Rage changes, and must be 8-bit fixes

A slapdash of various little bits and pieces.
- Lake of Rage has a small culture entry at the top to illustrate what we're setting out to do. I mentioned the shell middens and canonised it alongside GSC.
- Move constants now have their 16-bit IDs set up
- Palfixed Feradactyl and Pupperon, fixed former's credit with confirmation from pokeoctober
- Wiped out the must be 8-bit errors on various Pokemon's `base_stats.asm` files.
- Fixed some aspects of Strong Arm and Water Sport calling garbage data; this was due to them using 8-bit comparison systems where there needed to be 16-bits. This fixes a good bit of their HM usage. Battle bugs need resolving (presumably due to a lack of gfx?)
- Fixed AI scoring with Water Sport (hopefully)
- Updated the readme with some of our progress over the past 5 months.
This commit is contained in:
Llinos Evans 2025-01-03 13:19:09 +00:00
parent a6b67cd167
commit ac0d055474
33 changed files with 189 additions and 88 deletions

View file

@ -1677,7 +1677,8 @@ AI_Smart_Surf:
AI_Smart_Whirlpool:
; Greatly encourage this move if the player is underwater and the enemy is faster.
ld a, [wLastPlayerCounterMove]
cp WATER_SPORT
ld bc, WATER_SPORT
call CompareMove
ret nz
ld a, [wPlayerSubStatus4]
bit SUBSTATUS_UNDERWATER, a

View file

@ -8315,7 +8315,7 @@ InitEnemyWildmon:
ld a, [wCurPartySpecies]
call GetPokemonIndexFromID
ld a, l
sub UNOWN
sub UNOWN ; FIXME: This flags a must be 8-bit warning. I don't think it's actually a problem, considering Unown is within the 8-bit boundary of Pokemon, but it may be worth checking out.
if HIGH(UNOWN) == 0
or h
else

View file

@ -5645,14 +5645,11 @@ BattleCommand_Charge:
call LoadMoveAnim
ld a, BATTLE_VARS_MOVE_ANIM
call GetBattleVar
cp FLY
jr z, .got_move_type
cp DIG
jr z, .got_move_type
cp BOUNCE
jr z, .got_move_type
cp WATER_SPORT
jr z, .got_move_type
ld hl, .fly_dig_moves ; attempt to resolve 16-bit issue with bounce and water sport - this can probably be made more efficient with a farcallable list
call CheckMoveInList
pop hl
jr c, .got_move_type
call BattleCommand_RaiseSub
xor a
@ -5753,6 +5750,13 @@ BattleCommand_Charge:
text_jump HidUnderwaterText
db "@"
.fly_dig_moves
dw FLY
dw DIG
dw BOUNCE
dw WATER_SPORT
dw -1
BattleCommand_TrapTarget:
ld a, [wAttackMissed]
and a

View file

@ -427,7 +427,7 @@ Function17042c:
; If a == 0 and b >= $fc, overwrite the current trainer's data with
; Unknown_17047e, and exit the inner loop.
ld a, b
cp NUM_POKEMON + 1
cp NUM_POKEMON + 1 ; FIXME: Flags a must be 8-bit error. Needs to be updated to match the 16-bit standard of comparing with Number of Pokemon. What is that? iunno.
jr nc, .copy_data
.next_iteration

View file

@ -1977,8 +1977,8 @@ TryStrongArmOW::
jr c, .cant_climb
; Now check if Strong Arm is in the party. This takes longer, thus the above going first.
ld d, STRONG_ARM
call CheckPartyMove
ld hl, STRONG_ARM
call CheckPartyMoveIndex
jr c, .cant_climb
ld a, BANK(AskStrongArmScript)
@ -2146,8 +2146,8 @@ TryWaterSportOW::
ld de, ENGINE_CASCADEBADGE
call CheckEngineFlag
jr c, .cant
ld d, WATER_SPORT
call CheckPartyMove
ld hl, WATER_SPORT
call CheckPartyMoveIndex
jr c, .cant
call GetPartyNickname
ld a, BANK(AskWaterSportScript)