summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/rom3.s18
-rw-r--r--data/data2.s4
-rw-r--r--data/type_effectiveness.s119
3 files changed, 130 insertions, 11 deletions
diff --git a/asm/rom3.s b/asm/rom3.s
index bdde4eaf8..10f5983ef 100644
--- a/asm/rom3.s
+++ b/asm/rom3.s
@@ -38272,7 +38272,7 @@ _0801CDBC:
adds r2, r1, 0
b _0801CE38
.align 2, 0
-_0801CDC8: .4byte gUnknown_081F9720
+_0801CDC8: .4byte gTypeEffectiveness
_0801CDCC:
adds r3, 0x3
b _0801CE34
@@ -38438,7 +38438,7 @@ _0801CEF4:
pop {r0}
bx r0
.align 2, 0
-_0801CF08: .4byte gUnknown_081F9720
+_0801CF08: .4byte gTypeEffectiveness
_0801CF0C: .4byte 0x02024a80
_0801CF10: .4byte 0x02024c08
_0801CF14: .4byte 0x02024c07
@@ -38535,7 +38535,7 @@ _0801CFD8:
adds r4, r1, 0
b _0801D12A
.align 2, 0
-_0801CFE4: .4byte gUnknown_081F9720
+_0801CFE4: .4byte gTypeEffectiveness
_0801CFE8:
adds r0, r5, r4
ldrb r0, [r0]
@@ -38987,7 +38987,7 @@ _0801D328:
adds r0, r1, 0
b _0801D3CA
.align 2, 0
-_0801D344: .4byte gUnknown_081F9720
+_0801D344: .4byte gTypeEffectiveness
_0801D348:
adds r7, 0x3
b _0801D3B6
@@ -39125,7 +39125,7 @@ _0801D43A:
pop {r1}
bx r1
.align 2, 0
-_0801D44C: .4byte gUnknown_081F9720
+_0801D44C: .4byte gTypeEffectiveness
_0801D450: .4byte 0x02024a80
_0801D454: .4byte 0x02024c08
_0801D458: .4byte gBattleMoves
@@ -39271,7 +39271,7 @@ _0801D554:
pop {r1}
bx r1
.align 2, 0
-_0801D564: .4byte gUnknown_081F9720
+_0801D564: .4byte gTypeEffectiveness
_0801D568: .4byte 0x02024c08
_0801D56C: .4byte 0x02024a80
_0801D570: .4byte gBattleMoves
@@ -48965,7 +48965,7 @@ _08022370:
adds r6, r1, 0
b _08022432
.align 2, 0
-_0802237C: .4byte gUnknown_081F9720
+_0802237C: .4byte gTypeEffectiveness
_08022380:
adds r0, r5, r6
ldrb r0, [r0]
@@ -60590,7 +60590,7 @@ _08028110:
pop {r0}
bx r0
.align 2, 0
-_08028120: .4byte gUnknown_081F9720
+_08028120: .4byte gTypeEffectiveness
_08028124: .4byte 0x02024c44
_08028128: .4byte 0x02024c07
_0802812C: .4byte 0x02024a80
@@ -89711,7 +89711,7 @@ _08036CBE:
pop {r0}
bx r0
.align 2, 0
-_08036CD0: .4byte gUnknown_081F9720
+_08036CD0: .4byte gTypeEffectiveness
thumb_func_end sub_8036C4C
thumb_func_start sub_8036CD4
diff --git a/data/data2.s b/data/data2.s
index b938c2a39..4ce96c57d 100644
--- a/data/data2.s
+++ b/data/data2.s
@@ -931,8 +931,8 @@ gOamData_81F96F0:: @ 81F96F0
.align 2
.incbin "baserom.gba", 0x1f96f8, 0x28
-gUnknown_081F9720:: @ 81F9720
- .incbin "baserom.gba", 0x001f9720, 0x150
+@ 81F9720
+ .include "data/type_effectiveness.s"
@ 81F9870
.include "data/text/type_names.s"
diff --git a/data/type_effectiveness.s b/data/type_effectiveness.s
new file mode 100644
index 000000000..d0272d9e9
--- /dev/null
+++ b/data/type_effectiveness.s
@@ -0,0 +1,119 @@
+@ format: attacking type, defending type, damage multiplier
+@ the multiplier is a (decimal) fixed-point number:
+@ 20 is ×2.0
+@ 05 is ×0.5
+@ 00 is ×0
+
+gTypeEffectiveness:: @ 81F9720
+ .byte TYPE_NORMAL, TYPE_ROCK, 5
+ .byte TYPE_NORMAL, TYPE_STEEL, 5
+ .byte TYPE_FIRE, TYPE_FIRE, 5
+ .byte TYPE_FIRE, TYPE_WATER, 5
+ .byte TYPE_FIRE, TYPE_GRASS, 20
+ .byte TYPE_FIRE, TYPE_ICE, 20
+ .byte TYPE_FIRE, TYPE_BUG, 20
+ .byte TYPE_FIRE, TYPE_ROCK, 5
+ .byte TYPE_FIRE, TYPE_DRAGON, 5
+ .byte TYPE_FIRE, TYPE_STEEL, 20
+ .byte TYPE_WATER, TYPE_FIRE, 20
+ .byte TYPE_WATER, TYPE_WATER, 5
+ .byte TYPE_WATER, TYPE_GRASS, 5
+ .byte TYPE_WATER, TYPE_GROUND, 20
+ .byte TYPE_WATER, TYPE_ROCK, 20
+ .byte TYPE_WATER, TYPE_DRAGON, 5
+ .byte TYPE_ELECTRIC, TYPE_WATER, 20
+ .byte TYPE_ELECTRIC, TYPE_ELECTRIC, 5
+ .byte TYPE_ELECTRIC, TYPE_GRASS, 5
+ .byte TYPE_ELECTRIC, TYPE_GROUND, 0
+ .byte TYPE_ELECTRIC, TYPE_FLYING, 20
+ .byte TYPE_ELECTRIC, TYPE_DRAGON, 5
+ .byte TYPE_GRASS, TYPE_FIRE, 5
+ .byte TYPE_GRASS, TYPE_WATER, 20
+ .byte TYPE_GRASS, TYPE_GRASS, 5
+ .byte TYPE_GRASS, TYPE_POISON, 5
+ .byte TYPE_GRASS, TYPE_GROUND, 20
+ .byte TYPE_GRASS, TYPE_FLYING, 5
+ .byte TYPE_GRASS, TYPE_BUG, 5
+ .byte TYPE_GRASS, TYPE_ROCK, 20
+ .byte TYPE_GRASS, TYPE_DRAGON, 5
+ .byte TYPE_GRASS, TYPE_STEEL, 5
+ .byte TYPE_ICE, TYPE_WATER, 5
+ .byte TYPE_ICE, TYPE_GRASS, 20
+ .byte TYPE_ICE, TYPE_ICE, 5
+ .byte TYPE_ICE, TYPE_GROUND, 20
+ .byte TYPE_ICE, TYPE_FLYING, 20
+ .byte TYPE_ICE, TYPE_DRAGON, 20
+ .byte TYPE_ICE, TYPE_STEEL, 5
+ .byte TYPE_ICE, TYPE_FIRE, 5
+ .byte TYPE_FIGHTING, TYPE_NORMAL, 20
+ .byte TYPE_FIGHTING, TYPE_ICE, 20
+ .byte TYPE_FIGHTING, TYPE_POISON, 5
+ .byte TYPE_FIGHTING, TYPE_FLYING, 5
+ .byte TYPE_FIGHTING, TYPE_PSYCHIC, 5
+ .byte TYPE_FIGHTING, TYPE_BUG, 5
+ .byte TYPE_FIGHTING, TYPE_ROCK, 20
+ .byte TYPE_FIGHTING, TYPE_DARK, 20
+ .byte TYPE_FIGHTING, TYPE_STEEL, 20
+ .byte TYPE_POISON, TYPE_GRASS, 20
+ .byte TYPE_POISON, TYPE_POISON, 5
+ .byte TYPE_POISON, TYPE_GROUND, 5
+ .byte TYPE_POISON, TYPE_ROCK, 5
+ .byte TYPE_POISON, TYPE_GHOST, 5
+ .byte TYPE_POISON, TYPE_STEEL, 0
+ .byte TYPE_GROUND, TYPE_FIRE, 20
+ .byte TYPE_GROUND, TYPE_ELECTRIC, 20
+ .byte TYPE_GROUND, TYPE_GRASS, 5
+ .byte TYPE_GROUND, TYPE_POISON, 20
+ .byte TYPE_GROUND, TYPE_FLYING, 0
+ .byte TYPE_GROUND, TYPE_BUG, 5
+ .byte TYPE_GROUND, TYPE_ROCK, 20
+ .byte TYPE_GROUND, TYPE_STEEL, 20
+ .byte TYPE_FLYING, TYPE_ELECTRIC, 5
+ .byte TYPE_FLYING, TYPE_GRASS, 20
+ .byte TYPE_FLYING, TYPE_FIGHTING, 20
+ .byte TYPE_FLYING, TYPE_BUG, 20
+ .byte TYPE_FLYING, TYPE_ROCK, 5
+ .byte TYPE_FLYING, TYPE_STEEL, 5
+ .byte TYPE_PSYCHIC, TYPE_FIGHTING, 20
+ .byte TYPE_PSYCHIC, TYPE_POISON, 20
+ .byte TYPE_PSYCHIC, TYPE_PSYCHIC, 5
+ .byte TYPE_PSYCHIC, TYPE_DARK, 0
+ .byte TYPE_PSYCHIC, TYPE_STEEL, 5
+ .byte TYPE_BUG, TYPE_FIRE, 5
+ .byte TYPE_BUG, TYPE_GRASS, 20
+ .byte TYPE_BUG, TYPE_FIGHTING, 5
+ .byte TYPE_BUG, TYPE_POISON, 5
+ .byte TYPE_BUG, TYPE_FLYING, 5
+ .byte TYPE_BUG, TYPE_PSYCHIC, 20
+ .byte TYPE_BUG, TYPE_GHOST, 5
+ .byte TYPE_BUG, TYPE_DARK, 20
+ .byte TYPE_BUG, TYPE_STEEL, 5
+ .byte TYPE_ROCK, TYPE_FIRE, 20
+ .byte TYPE_ROCK, TYPE_ICE, 20
+ .byte TYPE_ROCK, TYPE_FIGHTING, 5
+ .byte TYPE_ROCK, TYPE_GROUND, 5
+ .byte TYPE_ROCK, TYPE_FLYING, 20
+ .byte TYPE_ROCK, TYPE_BUG, 20
+ .byte TYPE_ROCK, TYPE_STEEL, 5
+ .byte TYPE_GHOST, TYPE_NORMAL, 0
+ .byte TYPE_GHOST, TYPE_PSYCHIC, 20
+ .byte TYPE_GHOST, TYPE_DARK, 5
+ .byte TYPE_GHOST, TYPE_STEEL, 5
+ .byte TYPE_GHOST, TYPE_GHOST, 20
+ .byte TYPE_DRAGON, TYPE_DRAGON, 20
+ .byte TYPE_DRAGON, TYPE_STEEL, 5
+ .byte TYPE_DARK, TYPE_FIGHTING, 5
+ .byte TYPE_DARK, TYPE_PSYCHIC, 20
+ .byte TYPE_DARK, TYPE_GHOST, 20
+ .byte TYPE_DARK, TYPE_DARK, 5
+ .byte TYPE_DARK, TYPE_STEEL, 5
+ .byte TYPE_STEEL, TYPE_FIRE, 5
+ .byte TYPE_STEEL, TYPE_WATER, 5
+ .byte TYPE_STEEL, TYPE_ELECTRIC, 5
+ .byte TYPE_STEEL, TYPE_ICE, 20
+ .byte TYPE_STEEL, TYPE_ROCK, 20
+ .byte TYPE_STEEL, TYPE_STEEL, 5
+ .byte 0xFE, 0xFE, 0
+ .byte TYPE_NORMAL, TYPE_GHOST, 0
+ .byte TYPE_FIGHTING, TYPE_GHOST, 0
+ .byte 0xFF, 0xFF, 0