summaryrefslogtreecommitdiff
path: root/battle/type_matchup.asm
blob: f330d871081c131325fdc21e37da1c043c756a1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
; The multiplier is divided by 10, so we can use values like 0.5.

SUPER_EFFECTIVE    EQU 20
NOT_VERY_EFFECTIVE EQU 05
NO_EFFECT          EQU 00

; All other cases are neutral (1x).

	;  attacker  defender*=

	db NORMAL,    ROCK,      NOT_VERY_EFFECTIVE
	db NORMAL,    STEEL,     NOT_VERY_EFFECTIVE
	db FIRE,      FIRE,      NOT_VERY_EFFECTIVE
	db FIRE,      WATER,     NOT_VERY_EFFECTIVE
	db FIRE,      GRASS,     SUPER_EFFECTIVE
	db FIRE,      ICE,       SUPER_EFFECTIVE
	db FIRE,      BUG,       SUPER_EFFECTIVE
	db FIRE,      ROCK,      NOT_VERY_EFFECTIVE
	db FIRE,      DRAGON,    NOT_VERY_EFFECTIVE
	db FIRE,      STEEL,     SUPER_EFFECTIVE
	db WATER,     FIRE,      SUPER_EFFECTIVE
	db WATER,     WATER,     NOT_VERY_EFFECTIVE
	db WATER,     GRASS,     NOT_VERY_EFFECTIVE
	db WATER,     GROUND,    SUPER_EFFECTIVE
	db WATER,     ROCK,      SUPER_EFFECTIVE
	db WATER,     DRAGON,    NOT_VERY_EFFECTIVE
	db ELECTRIC,  WATER,     SUPER_EFFECTIVE
	db ELECTRIC,  ELECTRIC,  NOT_VERY_EFFECTIVE
	db ELECTRIC,  GRASS,     NOT_VERY_EFFECTIVE
	db ELECTRIC,  GROUND,    NO_EFFECT
	db ELECTRIC,  FLYING,    SUPER_EFFECTIVE
	db ELECTRIC,  DRAGON,    NOT_VERY_EFFECTIVE
	db GRASS,     FIRE,      NOT_VERY_EFFECTIVE
	db GRASS,     WATER,     SUPER_EFFECTIVE
	db GRASS,     GRASS,     NOT_VERY_EFFECTIVE
	db GRASS,     POISON,    NOT_VERY_EFFECTIVE
	db GRASS,     GROUND,    SUPER_EFFECTIVE
	db GRASS,     FLYING,    NOT_VERY_EFFECTIVE
	db GRASS,     BUG,       NOT_VERY_EFFECTIVE
	db GRASS,     ROCK,      SUPER_EFFECTIVE
	db GRASS,     DRAGON,    NOT_VERY_EFFECTIVE
	db GRASS,     STEEL,     NOT_VERY_EFFECTIVE
	db ICE,       WATER,     NOT_VERY_EFFECTIVE
	db ICE,       GRASS,     SUPER_EFFECTIVE
	db ICE,       ICE,       NOT_VERY_EFFECTIVE
	db ICE,       GROUND,    SUPER_EFFECTIVE
	db ICE,       FLYING,    SUPER_EFFECTIVE
	db ICE,       DRAGON,    SUPER_EFFECTIVE
	db ICE,       STEEL,     NOT_VERY_EFFECTIVE
	db ICE,       FIRE,      NOT_VERY_EFFECTIVE
	db FIGHTING,  NORMAL,    SUPER_EFFECTIVE
	db FIGHTING,  ICE,       SUPER_EFFECTIVE
	db FIGHTING,  POISON,    NOT_VERY_EFFECTIVE
	db FIGHTING,  FLYING,    NOT_VERY_EFFECTIVE
	db FIGHTING,  PSYCHIC,   NOT_VERY_EFFECTIVE
	db FIGHTING,  BUG,       NOT_VERY_EFFECTIVE
	db FIGHTING,  ROCK,      SUPER_EFFECTIVE
	db FIGHTING,  DARK,      SUPER_EFFECTIVE
	db FIGHTING,  STEEL,     SUPER_EFFECTIVE
	db POISON,    GRASS,     SUPER_EFFECTIVE
	db POISON,    POISON,    NOT_VERY_EFFECTIVE
	db POISON,    GROUND,    NOT_VERY_EFFECTIVE
	db POISON,    ROCK,      NOT_VERY_EFFECTIVE
	db POISON,    GHOST,     NOT_VERY_EFFECTIVE
	db POISON,    STEEL,     NO_EFFECT
	db GROUND,    FIRE,      SUPER_EFFECTIVE
	db GROUND,    ELECTRIC,  SUPER_EFFECTIVE
	db GROUND,    GRASS,     NOT_VERY_EFFECTIVE
	db GROUND,    POISON,    SUPER_EFFECTIVE
	db GROUND,    FLYING,    NO_EFFECT
	db GROUND,    BUG,       NOT_VERY_EFFECTIVE
	db GROUND,    ROCK,      SUPER_EFFECTIVE
	db GROUND,    STEEL,     SUPER_EFFECTIVE
	db FLYING,    ELECTRIC,  NOT_VERY_EFFECTIVE
	db FLYING,    GRASS,     SUPER_EFFECTIVE
	db FLYING,    FIGHTING,  SUPER_EFFECTIVE
	db FLYING,    BUG,       SUPER_EFFECTIVE
	db FLYING,    ROCK,      NOT_VERY_EFFECTIVE
	db FLYING,    STEEL,     NOT_VERY_EFFECTIVE
	db PSYCHIC,   FIGHTING,  SUPER_EFFECTIVE
	db PSYCHIC,   POISON,    SUPER_EFFECTIVE
	db PSYCHIC,   PSYCHIC,   NOT_VERY_EFFECTIVE
	db PSYCHIC,   DARK,      NO_EFFECT
	db PSYCHIC,   STEEL,     NOT_VERY_EFFECTIVE
	db BUG,       FIRE,      NOT_VERY_EFFECTIVE
	db BUG,       GRASS,     SUPER_EFFECTIVE
	db BUG,       FIGHTING,  NOT_VERY_EFFECTIVE
	db BUG,       POISON,    NOT_VERY_EFFECTIVE
	db BUG,       FLYING,    NOT_VERY_EFFECTIVE
	db BUG,       PSYCHIC,   SUPER_EFFECTIVE
	db BUG,       GHOST,     NOT_VERY_EFFECTIVE
	db BUG,       DARK,      SUPER_EFFECTIVE
	db BUG,       STEEL,     NOT_VERY_EFFECTIVE
	db ROCK,      FIRE,      SUPER_EFFECTIVE
	db ROCK,      ICE,       SUPER_EFFECTIVE
	db ROCK,      FIGHTING,  NOT_VERY_EFFECTIVE
	db ROCK,      GROUND,    NOT_VERY_EFFECTIVE
	db ROCK,      FLYING,    SUPER_EFFECTIVE
	db ROCK,      BUG,       SUPER_EFFECTIVE
	db ROCK,      STEEL,     NOT_VERY_EFFECTIVE
	db GHOST,     NORMAL,    NO_EFFECT
	db GHOST,     PSYCHIC,   SUPER_EFFECTIVE
	db GHOST,     DARK,      NOT_VERY_EFFECTIVE
	db GHOST,     STEEL,     NOT_VERY_EFFECTIVE
	db GHOST,     GHOST,     SUPER_EFFECTIVE
	db DRAGON,    DRAGON,    SUPER_EFFECTIVE
	db DRAGON,    STEEL,     NOT_VERY_EFFECTIVE
	db DARK,      FIGHTING,  NOT_VERY_EFFECTIVE
	db DARK,      PSYCHIC,   SUPER_EFFECTIVE
	db DARK,      GHOST,     SUPER_EFFECTIVE
	db DARK,      DARK,      NOT_VERY_EFFECTIVE
	db DARK,      STEEL,     NOT_VERY_EFFECTIVE
	db STEEL,     FIRE,      NOT_VERY_EFFECTIVE
	db STEEL,     WATER,     NOT_VERY_EFFECTIVE
	db STEEL,     ELECTRIC,  NOT_VERY_EFFECTIVE
	db STEEL,     ICE,       SUPER_EFFECTIVE
	db STEEL,     ROCK,      SUPER_EFFECTIVE
	db STEEL,     STEEL,     NOT_VERY_EFFECTIVE


; Foresight removes Ghost's immunities.

	db $fe

	db NORMAL,    GHOST,     NO_EFFECT
	db FIGHTING,  GHOST,     NO_EFFECT

	db $ff ; end