summaryrefslogtreecommitdiff
path: root/constants/battle_constants.inc
blob: 0a5dd109410080d752dbf3698c5ac0c0a5742c14 (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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
@ battle types
    .set BATTLE_TYPE_DOUBLE ,         0x0001
    .set BATTLE_TYPE_LINK,            0x0002
    .set BATTLE_TYPE_WILD,            0x0004
    .set BATTLE_TYPE_TRAINER,         0x0008
    .set BATTLE_TYPE_FIRST_BATTLE,    0x0010
    .set BATTLE_TYPE_20,              0x0020
    .set BATTLE_TYPE_MULTI,           0x0040
    .set BATTLE_TYPE_SAFARI,          0x0080
    .set BATTLE_TYPE_BATTLE_TOWER,    0x0100
    .set BATTLE_TYPE_WALLY_TUTORIAL,  0x0200
    .set BATTLE_TYPE_ROAMER,          0x0400
    .set BATTLE_TYPE_EREADER_TRAINER, 0x0800
    .set BATTLE_TYPE_KYOGRE_GROUDON,  0x1000
    .set BATTLE_TYPE_LEGENDARY,       0x2000
    .set BATTLE_TYPE_REGI,            0x4000
    .set BATTLE_TYPE_TWO_OPPONENTS,   0x8000
    .set BATTLE_TYPE_DOME,            0x10000
    .set BATTLE_TYPE_PALACE,          0x20000
    .set BATTLE_TYPE_ARENA,          0x40000
    .set BATTLE_TYPE_FACTORY,         0x80000
    .set BATTLE_TYPE_PIKE,         0x100000
    .set BATTLE_TYPE_PYRAMID,         0x200000
    .set BATTLE_TYPE_INGAME_PARTNER,  0x400000
    .set BATTLE_TYPE_x800000,         0x800000
    .set BATTLE_TYPE_RECORDED,        0x1000000
    .set BATTLE_TYPE_x2000000,       0x2000000
    .set BATTLE_TYPE_x4000000,        0x4000000
    .set BATTLE_TYPE_SECRET_BASE,     0x8000000
    .set BATTLE_TYPE_GROUDON,         0x10000000
    .set BATTLE_TYPE_KYOGRE,          0x20000000
    .set BATTLE_TYPE_RAYQUAZA,        0x40000000
    .set BATTLE_TYPE_x80000000,       0x80000000
    
@ battle outcomes
    .set WON,                  0x1
    .set LOST,                 0x2
    .set DREW,                 0x3
    .set RAN,                  0x4
    .set PLAYER_TELEPORTED,    0x5
    .set MON_FLED,            0x6
    .set CAUGHT,               0x7
    .set OUT_OF_BALLS,  0x8
    .set FORFEITED,            0x9
    .set OPPONENT_TELEPORTED,  0xA
    
@ identities
    .set B_POSITION_PLAYER_LEFT,	0
    .set B_POSITION_OPPONENT_LEFT,	1
    .set B_POSITION_PLAYER_RIGHT,	2
    .set B_POSITION_OPPONENT_RIGHT,	3

@ status 1
	.set STATUS1_SLEEP, 0x7
	.set STATUS1_POISON, 0x8
	.set STATUS1_BURN, 0x10
	.set STATUS1_FREEZE, 0x20
	.set STATUS1_PARALYSIS, 0x40
	.set STATUS1_TOXIC_POISON, 0x80
	.set STATUS1_TOXIC_COUNTER, 0xF00
	
	.set STATUS1_ANY, STATUS1_SLEEP | STATUS1_POISON | STATUS1_BURN | STATUS1_FREEZE | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON

@ status 2
	.set STATUS2_CONFUSION, 0x00000007
	.set STATUS2_FLINCHED, 0x00000008
	.set STATUS2_UPROAR, 0x00000070
	.set STATUS2_BIDE, 0x00000300
	.set STATUS2_LOCK_CONFUSE, 0x00000C00
	.set STATUS2_MULTIPLETURNS, 0x00001000
	.set STATUS2_WRAPPED, 0x0000E000
	.set STATUS2_INFATUATION, 0x000F0000
	.set STATUS2_FOCUS_ENERGY, 0x00100000
	.set STATUS2_TRANSFORMED, 0x00200000
	.set STATUS2_RECHARGE, 0x00400000
	.set STATUS2_RAGE, 0x00800000
	.set STATUS2_SUBSTITUTE, 0x01000000
	.set STATUS2_DESTINY_BOND, 0x02000000
	.set STATUS2_ESCAPE_PREVENTION, 0x04000000
	.set STATUS2_NIGHTMARE, 0x08000000
	.set STATUS2_CURSED, 0x10000000
	.set STATUS2_FORESIGHT, 0x20000000
	.set STATUS2_DEFENSE_CURL, 0x40000000
	.set STATUS2_TORMENT, 0x80000000

@ status 3
	.set STATUS3_LEECHSEED_BANK, 0x3
	.set STATUS3_LEECHSEED, 0x4
	.set STATUS3_ALWAYS_HITS, 0x18
	.set STATUS3_PERISH_SONG, 0x20
	.set STATUS3_ON_AIR, 0x40
	.set STATUS3_UNDERGROUND, 0x80
	.set STATUS3_MINIMIZED, 0x100
	.set STATUS3_ROOTED, 0x400
	.set STATUS3_CHARGED_UP, 0x200
	.set STATUS3_YAWN, 0x1800
	.set STATUS3_IMPRISONED_OTHERS, 0x2000
	.set STATUS3_GRUDGE, 0x4000
	.set STATUS3_CANT_SCORE_A_CRIT, 0x8000
	.set STATUS3_MUDSPORT, 0x10000
	.set STATUS3_WATERSPORT, 0x20000
	.set STATUS3_UNDERWATER, 0x40000
	.set STATUS3_INTIMIDATE_POKES, 0x80000
	.set STATUS3_TRACE, 0x100000

@ side status
	.set SIDE_STATUS_REFLECT, 0x1
	.set SIDE_STATUS_LIGHTSCREEN, 0x2
	.set SIDE_STATUS_X4, 0x4
	.set SIDE_STATUS_SPIKES, 0x10
	.set SIDE_STATUS_SAFEGUARD, 0x20
	.set SIDE_STATUS_FUTUREATTACK, 0x40
	.set SIDE_STATUS_MIST, 0x100
	.set SIDE_STATUS_SPIKES_DAMAGED, 0x200

@ stats
	.set HP, 0x0
	.set ATK, 0x1
	.set DEF, 0x2
	.set SPEED, 0x3
	.set SPATK, 0x4
	.set SPDEF, 0x5
	.set ACC, 0x6
	.set EVASION, 0x7
	
@ weather flags
	.set WEATHER_RAIN_TEMPORARY, 0x01
	.set WEATHER_RAIN_DOWNPOUR, 0x02
	.set WEATHER_RAIN_PERMANENT, 0x04
	.set WEATHER_SANDSTORM_TEMPORARY, 0x08
	.set WEATHER_SANDSTORM_PERMANENT, 0x10
	.set WEATHER_SUN_TEMPORARY, 0x20
	.set WEATHER_SUN_PERMANENT, 0x40
	.set WEATHER_HAIL, 0x80
	
@ hitmarker
	.set HITMARKER_x10, 0x00000010
	.set HITMARKER_x20, 0x00000020
	.set HITMARKER_DESTINYBOND, 0x00000040
	.set HITMARKER_NO_ANIMATIONS, 0x00000080
	.set HITMARKER_IGNORE_SUBSTITUTE, 0x00000100
	.set HITMARKER_NO_ATTACKSTRING, 0x00000200
	.set HITMARKER_ATTACKSTRING_PRINTED, 0x00000400
	.set HITMARKER_NO_PPDEDUCT, 0x00000800
	.set HITMARKER_PURSUIT_TRAP, 0x00001000
	.set HITMARKER_IGNORE_SAFEGUARD, 0x00002000
	.set HITMARKER_SYNCHRONISE_EFFECT, 0x00004000
	.set HITMARKER_RUN, 0x00008000
	.set HITMARKER_IGNORE_ON_AIR, 0x00010000
	.set HITMARKER_IGNORE_UNDERGROUND, 0x00020000
	.set HITMARKER_IGNORE_UNDERWATER, 0x00040000
	.set HITMARKER_UNABLE_TO_USE_MOVE, 0x00080000
	.set HITMARKER_x100000, 0x00100000
	.set HITMARKER_x200000, 0x00200000
	.set HITMARKER_x400000, 0x00400000
	.set HITMARKER_x800000, 0x00800000
	.set HITMARKER_GRUDGE, 0x01000000
	.set HITMARKER_OBEYS, 0x02000000
	.set HITMARKER_x4000000, 0x04000000
	.set HITMARKER_x8000000, 0x08000000

@ move flags
	.set MOVE_RESULT_MISSED, 0x1
	.set MOVE_RESULT_SUPER_EFFECTIVE, 0x2
	.set MOVE_RESULT_NOT_VERY_EFFECTIVE, 0x4
	.set MOVE_RESULT_DOESNT_AFFECT_FOE, 0x8
	.set MOVE_RESULT_ONE_HIT_KO, 0x10
	.set MOVE_RESULT_FAILED, 0x20
	.set MOVE_RESULT_FOE_ENDURED, 0x40
	.set MOVE_RESULT_FOE_HUNG_ON, 0x80
	.set MOVE_RESULT_NO_EFFECT, (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED)