fix type matchup damage

This commit is contained in:
Llinos Evans 2025-07-25 18:26:49 +01:00
parent 8e9f9d8657
commit 0ae24ced3c
3 changed files with 31 additions and 143 deletions

View file

@ -130,124 +130,3 @@ TypeMatchups:
db FIGHTING, GHOST, NO_EFFECT
db -1 ; end
InverseTypeMatchups:
; attacker, defender, *=
db NORMAL, ROCK, SUPER_EFFECTIVE
db NORMAL, STEEL, SUPER_EFFECTIVE
db FIRE, FIRE, SUPER_EFFECTIVE
db FIRE, WATER, SUPER_EFFECTIVE
db FIRE, GRASS, NOT_VERY_EFFECTIVE
db FIRE, ICE, NOT_VERY_EFFECTIVE
db FIRE, BUG, NOT_VERY_EFFECTIVE
db FIRE, ROCK, SUPER_EFFECTIVE
db FIRE, DRAGON, SUPER_EFFECTIVE
db FIRE, STEEL, NOT_VERY_EFFECTIVE
db WATER, FIRE, NOT_VERY_EFFECTIVE
db WATER, WATER, SUPER_EFFECTIVE
db WATER, GRASS, SUPER_EFFECTIVE
db WATER, GROUND, NOT_VERY_EFFECTIVE
db WATER, ROCK, NOT_VERY_EFFECTIVE
db WATER, DRAGON, SUPER_EFFECTIVE
db ELECTRIC, WATER, NOT_VERY_EFFECTIVE
db ELECTRIC, ELECTRIC, SUPER_EFFECTIVE
db ELECTRIC, GRASS, SUPER_EFFECTIVE
db ELECTRIC, GROUND, SUPER_EFFECTIVE
db ELECTRIC, FLYING, NOT_VERY_EFFECTIVE
db ELECTRIC, DRAGON, SUPER_EFFECTIVE
db GRASS, FIRE, SUPER_EFFECTIVE
db GRASS, WATER, NOT_VERY_EFFECTIVE
db GRASS, GRASS, SUPER_EFFECTIVE
db GRASS, POISON, SUPER_EFFECTIVE
db GRASS, GROUND, NOT_VERY_EFFECTIVE
db GRASS, FLYING, SUPER_EFFECTIVE
db GRASS, BUG, SUPER_EFFECTIVE
db GRASS, ROCK, NOT_VERY_EFFECTIVE
db GRASS, DRAGON, SUPER_EFFECTIVE
db GRASS, STEEL, SUPER_EFFECTIVE
db ICE, WATER, SUPER_EFFECTIVE
db ICE, GRASS, NOT_VERY_EFFECTIVE
db ICE, ICE, SUPER_EFFECTIVE
db ICE, GROUND, NOT_VERY_EFFECTIVE
db ICE, FLYING, NOT_VERY_EFFECTIVE
db ICE, DRAGON, NOT_VERY_EFFECTIVE
db ICE, STEEL, SUPER_EFFECTIVE
db ICE, FIRE, SUPER_EFFECTIVE
db FIGHTING, NORMAL, NOT_VERY_EFFECTIVE
db FIGHTING, ICE, NOT_VERY_EFFECTIVE
db FIGHTING, POISON, SUPER_EFFECTIVE
db FIGHTING, FLYING, SUPER_EFFECTIVE
db FIGHTING, PSYCHIC_TYPE, SUPER_EFFECTIVE
db FIGHTING, BUG, SUPER_EFFECTIVE
db FIGHTING, ROCK, NOT_VERY_EFFECTIVE
db FIGHTING, DARK, NOT_VERY_EFFECTIVE
db FIGHTING, STEEL, NOT_VERY_EFFECTIVE
db POISON, GRASS, NOT_VERY_EFFECTIVE
db POISON, POISON, SUPER_EFFECTIVE
db POISON, GROUND, SUPER_EFFECTIVE
db POISON, ROCK, SUPER_EFFECTIVE
db POISON, GHOST, SUPER_EFFECTIVE
db POISON, STEEL, SUPER_EFFECTIVE
db GROUND, FIRE, NOT_VERY_EFFECTIVE
db GROUND, ELECTRIC, NOT_VERY_EFFECTIVE
db GROUND, GRASS, SUPER_EFFECTIVE
db GROUND, POISON, NOT_VERY_EFFECTIVE
db GROUND, FLYING, SUPER_EFFECTIVE
db GROUND, BUG, SUPER_EFFECTIVE
db GROUND, ROCK, NOT_VERY_EFFECTIVE
db GROUND, STEEL, NOT_VERY_EFFECTIVE
db FLYING, ELECTRIC, SUPER_EFFECTIVE
db FLYING, GRASS, NOT_VERY_EFFECTIVE
db FLYING, FIGHTING, NOT_VERY_EFFECTIVE
db FLYING, BUG, NOT_VERY_EFFECTIVE
db FLYING, ROCK, SUPER_EFFECTIVE
db FLYING, STEEL, SUPER_EFFECTIVE
db PSYCHIC_TYPE, FIGHTING, NOT_VERY_EFFECTIVE
db PSYCHIC_TYPE, POISON, NOT_VERY_EFFECTIVE
db PSYCHIC_TYPE, PSYCHIC_TYPE, SUPER_EFFECTIVE
db PSYCHIC_TYPE, DARK, SUPER_EFFECTIVE
db PSYCHIC_TYPE, STEEL, SUPER_EFFECTIVE
db BUG, FIRE, SUPER_EFFECTIVE
db BUG, GRASS, NOT_VERY_EFFECTIVE
db BUG, FIGHTING, SUPER_EFFECTIVE
db BUG, POISON, SUPER_EFFECTIVE
db BUG, FLYING, SUPER_EFFECTIVE
db BUG, PSYCHIC_TYPE, NOT_VERY_EFFECTIVE
db BUG, GHOST, SUPER_EFFECTIVE
db BUG, DARK, NOT_VERY_EFFECTIVE
db BUG, STEEL, SUPER_EFFECTIVE
db ROCK, FIRE, NOT_VERY_EFFECTIVE
db ROCK, ICE, NOT_VERY_EFFECTIVE
db ROCK, FIGHTING, SUPER_EFFECTIVE
db ROCK, GROUND, SUPER_EFFECTIVE
db ROCK, FLYING, NOT_VERY_EFFECTIVE
db ROCK, BUG, NOT_VERY_EFFECTIVE
db ROCK, STEEL, SUPER_EFFECTIVE
db GHOST, NORMAL, SUPER_EFFECTIVE
db GHOST, PSYCHIC_TYPE, NOT_VERY_EFFECTIVE
db GHOST, DARK, SUPER_EFFECTIVE
db GHOST, STEEL, SUPER_EFFECTIVE
db GHOST, GHOST, NOT_VERY_EFFECTIVE
db DRAGON, DRAGON, NOT_VERY_EFFECTIVE
db DRAGON, STEEL, SUPER_EFFECTIVE
db DARK, FIGHTING, SUPER_EFFECTIVE
db DARK, PSYCHIC_TYPE, NOT_VERY_EFFECTIVE
db DARK, GHOST, NOT_VERY_EFFECTIVE
db DARK, DARK, SUPER_EFFECTIVE
db DARK, STEEL, SUPER_EFFECTIVE
db STEEL, FIRE, SUPER_EFFECTIVE
db STEEL, WATER, SUPER_EFFECTIVE
db STEEL, ELECTRIC, SUPER_EFFECTIVE
db STEEL, ICE, NOT_VERY_EFFECTIVE
db STEEL, ROCK, NOT_VERY_EFFECTIVE
db STEEL, STEEL, SUPER_EFFECTIVE
db NORMAL, GHOST, SUPER_EFFECTIVE
db FIGHTING, GHOST, SUPER_EFFECTIVE
db FAIRY, FIRE, SUPER_EFFECTIVE
db FAIRY, BUG, NOT_VERY_EFFECTIVE
db FAIRY, FIGHTING, NOT_VERY_EFFECTIVE
db FAIRY, ICE, SUPER_EFFECTIVE
db FAIRY, DRAGON, NOT_VERY_EFFECTIVE
db FAIRY, DARK, NOT_VERY_EFFECTIVE
db FAIRY, STEEL, SUPER_EFFECTIVE
db -1 ; end

View file

@ -1263,10 +1263,10 @@ INCLUDE "data/battle/critical_hit_chances.asm"
INCLUDE "engine/battle/move_effects/triple_kick.asm"
GetNextTypeMatchupsByte:
ld a, BANK(TypeMatchups)
call GetFarByte
ret
;GetNextTypeMatchupsByte:
; ld a, BANK(TypeMatchups)
; call GetFarByte
; ret
BattleCommand_Stab:
; STAB = Same Type Attack Bonus
@ -1352,9 +1352,9 @@ BattleCommand_Stab:
ld hl, TypeMatchups
.TypesLoop:
; ld a, [hli]
call GetNextTypeMatchupsByte
inc hl
ld a, [hli]
; call GetNextTypeMatchupsByte
; inc hl
cp -1
jr z, .end
@ -1372,8 +1372,8 @@ BattleCommand_Stab:
.SkipForesightCheck:
cp b
jr nz, .SkipType
; ld a, [hl]
call GetNextTypeMatchupsByte
ld a, [hl]
; call GetNextTypeMatchupsByte
cp d
jr z, .GotMatchup
cp e
@ -1478,9 +1478,9 @@ CheckTypeMatchup:
ld [wTypeMatchup], a
ld hl, TypeMatchups
.TypesLoop:
; ld a, [hli]
call GetNextTypeMatchupsByte
inc hl
ld a, [hli]
; call GetNextTypeMatchupsByte
; inc hl
cp -1
jr z, .End
cp -2
@ -1494,9 +1494,9 @@ CheckTypeMatchup:
.Next:
cp d
jr nz, .Nope
; ld a, [hli]
call GetNextTypeMatchupsByte
inc hl
ld a, [hli]
; call GetNextTypeMatchupsByte
; inc hl
cp b
jr z, .Yup
cp c
@ -1514,9 +1514,9 @@ CheckTypeMatchup:
ldh [hDividend + 0], a
ldh [hMultiplicand + 0], a
ldh [hMultiplicand + 1], a
; ld a, [hli]
call GetNextTypeMatchupsByte
inc hl
ld a, [hli]
; call GetNextTypeMatchupsByte
; inc hl
ldh [hMultiplicand + 2], a
ld a, [wTypeMatchup]
ldh [hMultiplier], a
@ -1558,7 +1558,7 @@ BattleCommand_ResetTypeMatchup:
INCLUDE "engine/battle/ai/switch.asm"
;INCLUDE "data/types/type_matchups.asm"
INCLUDE "data/types/type_matchups.asm"
BattleCommand_DamageVariation:
; Modify the damage spread between 85% and 100%.

View file

@ -511,9 +511,6 @@ INCLUDE "data/tilesets/nihon_west_collision.asm"
TilesetNihonBirdonAttr::
INCBIN "data/tilesets/nihon_birdon_attributes.bin"
TilesetNihonFontAttr::
INCBIN "data/tilesets/nihon_font_attributes.bin"
TilesetNihonHighTechAttr::
INCBIN "data/tilesets/nihon_hightech_attributes.bin"
@ -659,3 +656,15 @@ INCBIN "data/tilesets/players_room_metatiles.bin"
TilesetPlayersRoomColl::
INCLUDE "data/tilesets/players_room_collision.asm"
TilesetNihonFontMeta::
INCBIN "data/tilesets/nihon_font_metatiles.bin"
TilesetNihonFontColl::
INCLUDE "data/tilesets/nihon_font_collision.asm"
TilesetNihonFontAttr::
INCBIN "data/tilesets/nihon_font_attributes.bin"
TilesetNihonFontGFX::
INCBIN "gfx/tilesets/nihon_font.2bpp.lz"