Merge branch '_RHH/master' into _RHH/upcoming

This commit is contained in:
Eduardo Quezada 2024-08-24 19:44:35 -04:00
commit abf60e9c64
97 changed files with 445 additions and 283 deletions

View File

@ -928,19 +928,10 @@ BattleScript_BothCanNoLongerEscape::
return
BattleScript_EffectHyperspaceFury::
jumpifspecies BS_ATTACKER, SPECIES_HOOPA_UNBOUND, BattleScript_EffectHyperspaceFuryUnbound
jumpifspecies BS_ATTACKER, SPECIES_HOOPA_UNBOUND, BattleScript_EffectHit
jumpifspecies BS_ATTACKER, SPECIES_HOOPA_CONFINED, BattleScript_ButHoopaCantUseIt
goto BattleScript_PokemonCantUseTheMove
BattleScript_EffectHyperspaceFuryUnbound::
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
pause B_WAIT_TIME_LONG
ppreduce
seteffectprimary MOVE_EFFECT_FEINT
goto BattleScript_HitFromCritCalc
BattleScript_ButHoopaCantUseIt:
printstring STRINGID_BUTHOOPACANTUSEIT
waitmessage B_WAIT_TIME_LONG

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1001 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 737 B

After

Width:  |  Height:  |  Size: 627 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 983 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 682 B

After

Width:  |  Height:  |  Size: 654 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 623 B

After

Width:  |  Height:  |  Size: 641 B

View File

@ -10,7 +10,7 @@ JASC-PAL
0 0 0
200 200 200
0 168 216
0 0 0
248 224 88
0 0 0
0 0 0
0 0 0

View File

@ -10,7 +10,7 @@ JASC-PAL
0 0 0
200 200 200
24 232 104
0 0 0
248 224 88
0 0 0
0 0 0
0 0 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 897 B

After

Width:  |  Height:  |  Size: 877 B

View File

@ -8,10 +8,10 @@ JASC-PAL
128 96 64
224 192 64
192 128 0
229 229 247
96 32 0
224 128 64
229 229 247
192 96 64
224 128 64
0 0 0
0 0 0
0 0 0

View File

@ -8,10 +8,10 @@ JASC-PAL
96 88 80
176 192 72
48 40 24
229 229 247
48 40 24
136 152 72
96 104 48
229 229 247
137 153 67
179 206 83
0 0 0
0 0 0
0 0 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 934 B

After

Width:  |  Height:  |  Size: 856 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -2,18 +2,18 @@ JASC-PAL
0100
16
152 208 160
144 80 120
16 16 16
216 96 160
248 200 216
248 248 248
232 160 176
72 64 104
168 160 208
120 112 152
224 40 72
240 208 104
224 216 224
192 208 208
112 136 136
248 248 248
89 80 89
115 115 115
166 58 112
217 85 69
255 229 102
128 115 128
217 87 152
179 161 179
242 242 242
242 145 178
24 24 24
255 204 217
227 219 224
191 191 191
255 249 251

View File

@ -2,18 +2,18 @@ JASC-PAL
0100
16
152 208 160
144 80 120
16 16 16
216 96 160
248 200 216
248 248 248
232 160 176
48 48 48
136 136 136
88 88 88
224 40 72
240 208 104
224 216 224
168 48 104
112 40 72
224 112 160
62 60 64
140 45 99
166 58 112
230 85 121
255 229 102
99 90 99
217 87 152
140 125 140
254 92 155
242 145 178
24 24 24
255 204 217
194 174 189
194 72 133
232 220 228

Binary file not shown.

Before

Width:  |  Height:  |  Size: 526 B

After

Width:  |  Height:  |  Size: 506 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -8,7 +8,7 @@ JASC-PAL
176 64 96
152 152 192
75 81 113
78 140 154
60 91 97
78 140 154
5 5 5
201 206 220

Binary file not shown.

Before

Width:  |  Height:  |  Size: 526 B

After

Width:  |  Height:  |  Size: 621 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 837 B

After

Width:  |  Height:  |  Size: 951 B

View File

@ -1,19 +1,19 @@
JASC-PAL
0100
16
153 211 165
179 179 179
217 217 217
242 242 242
138 138 138
77 50 38
148 104 90
156 213 164
123 123 123
197 180 189
255 255 255
82 82 82
148 98 90
139 115 98
197 148 123
8 8 8
65 49 41
98 82 74
238 139 24
246 230 24
90 74 57
230 213 205
0 0 0
102 61 44
195 146 123
245 147 45
251 242 54
46 43 40
93 86 80
220 191 179
145 131 122

View File

@ -1,19 +1,19 @@
JASC-PAL
0100
16
153 211 165
161 104 55
214 153 99
237 173 116
128 81 41
77 50 38
148 104 90
156 213 164
123 98 65
189 148 106
230 172 139
90 57 49
148 98 90
139 115 98
197 148 123
8 8 8
65 49 41
98 82 74
238 139 24
246 230 24
90 74 57
230 213 205
0 0 0
102 61 44
195 146 123
245 147 45
251 242 54
46 43 40
93 86 80
220 191 179
145 131 122

Binary file not shown.

Before

Width:  |  Height:  |  Size: 550 B

After

Width:  |  Height:  |  Size: 535 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 608 B

After

Width:  |  Height:  |  Size: 593 B

View File

@ -8,7 +8,7 @@ JASC-PAL
248 204 48
192 144 40
248 252 248
212 95 60
131 27 27
16 16 16
96 248 208
128 128 128
@ -16,4 +16,4 @@ JASC-PAL
212 95 60
120 92 32
72 88 96
48 56 72
90 91 92

Binary file not shown.

Before

Width:  |  Height:  |  Size: 885 B

After

Width:  |  Height:  |  Size: 826 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 985 B

After

Width:  |  Height:  |  Size: 852 B

View File

@ -10,8 +10,8 @@ JASC-PAL
25 25 33
99 99 99
236 236 246
99 99 99
185 172 189
35 35 35
152 142 156
38 37 38
129 138 129
182 191 199

View File

@ -8,10 +8,10 @@ JASC-PAL
168 136 88
0 0 0
224 200 88
99 99 99
48 48 48
236 236 246
168 144 64
185 172 189
122 94 0
38 37 38
129 138 129
182 191 199

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 948 B

After

Width:  |  Height:  |  Size: 885 B

View File

@ -10,10 +10,10 @@ JASC-PAL
184 72 80
160 88 56
240 120 64
51 51 34
96 48 16
248 200 96
51 51 51
72 40 24
96 64 48
119 51 85
128 128 128
0 0 0
128 96 72

View File

@ -1,19 +1,19 @@
JASC-PAL
0100
16
152 208 160
88 112 88
16 16 16
248 248 248
152 176 160
88 64 40
240 96 8
160 96 16
248 160 40
80 48 24
248 192 0
56 32 16
72 48 32
120 72 40
128 128 128
0 0 0
153 204 153
90 115 90
17 17 17
255 255 255
164 189 164
115 65 57
238 98 8
180 115 24
255 164 41
82 49 24
255 197 0
41 24 16
74 49 32
172 82 32
90 115 90
106 65 41

Binary file not shown.

Before

Width:  |  Height:  |  Size: 975 B

After

Width:  |  Height:  |  Size: 897 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 975 B

After

Width:  |  Height:  |  Size: 897 B

View File

@ -2,11 +2,11 @@ JASC-PAL
0100
16
152 208 160
104 72 16
96 72 24
97 62 1
171 105 39
184 128 72
232 176 88
0 0 0
224 169 81
240 216 152
88 88 88
232 232 248

Binary file not shown.

Before

Width:  |  Height:  |  Size: 716 B

After

Width:  |  Height:  |  Size: 646 B

View File

@ -2,18 +2,18 @@ JASC-PAL
0100
16
153 211 165
175 92 10
252 238 137
219 168 62
218 192 200
183 132 149
119 83 89
103 114 114
234 236 236
158 166 166
209 216 216
162 176 176
110 130 130
16 16 16
115 128 128
248 248 248
185 185 185
94 100 100
191 194 194
140 147 147
252 154 188
248 82 111
12 168 201
54 237 227
221 233 229
67 63 61

Binary file not shown.

Before

Width:  |  Height:  |  Size: 792 B

After

Width:  |  Height:  |  Size: 909 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1002 B

After

Width:  |  Height:  |  Size: 889 B

View File

@ -1,19 +1,19 @@
JASC-PAL
0100
16
152 208 160
176 72 88
88 64 72
136 128 136
200 88 112
224 112 136
248 248 248
208 200 200
168 160 168
16 16 16
232 184 88
160 112 40
240 216 128
64 160 184
224 224 224
16 72 88
153 211 165
23 75 93
82 65 74
164 115 41
131 65 74
180 74 90
238 189 90
230 115 139
67 163 189
139 131 139
172 164 172
17 17 17
246 222 131
197 197 197
222 222 222
250 250 250

View File

@ -1,19 +1,19 @@
JASC-PAL
0100
16
152 208 160
16 72 88
16 16 16
136 128 136
32 120 200
80 160 224
232 224 200
232 224 200
216 168 128
16 16 16
160 112 40
160 112 40
240 216 128
64 160 184
232 224 200
16 72 88
153 211 165
0 122 112
148 82 32
163 153 24
57 98 172
90 131 205
229 226 36
156 180 255
0 193 190
180 123 65
205 156 98
17 17 17
255 249 140
230 189 131
255 230 164
250 250 250

Binary file not shown.

Before

Width:  |  Height:  |  Size: 555 B

After

Width:  |  Height:  |  Size: 389 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 711 B

After

Width:  |  Height:  |  Size: 551 B

View File

@ -1,17 +1,19 @@
JASC-PAL
0100
14
153 211 165
113 113 113
16
156 213 164
148 98 90
98 82 74
123 123 123
197 148 123
230 213 205
197 180 189
255 255 255
180 180 180
18 18 18
198 135 110
135 86 81
246 195 158
87 44 39
107 65 60
255 160 0
255 255 0
66 22 28
194 103 16
82 82 82
65 49 41
139 115 98
8 8 8
238 139 24
246 230 24
0 0 0
0 0 0

View File

@ -1,17 +1,19 @@
JASC-PAL
0100
14
153 211 165
164 70 47
235 145 61
211 94 44
18 18 18
198 135 110
135 86 81
246 195 158
87 44 39
107 65 60
255 160 0
255 255 0
66 22 28
194 103 16
16
156 213 164
148 98 90
98 82 74
123 98 65
197 148 123
230 213 205
197 131 106
238 189 148
90 57 49
65 49 41
139 115 98
8 8 8
238 139 24
246 230 24
0 0 0
0 0 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 700 B

After

Width:  |  Height:  |  Size: 698 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 721 B

After

Width:  |  Height:  |  Size: 661 B

View File

@ -2,15 +2,15 @@ JASC-PAL
0100
16
152 208 160
72 184 120
16 144 64
128 248 176
200 144 48
248 240 160
240 200 80
72 200 232
48 152 168
128 224 216
199 171 123
247 244 203
240 219 158
72 88 72
16 16 16
88 32 120
64 56 165
232 248 240
192 216 200
136 160 144

Binary file not shown.

Before

Width:  |  Height:  |  Size: 738 B

After

Width:  |  Height:  |  Size: 663 B

View File

@ -6,11 +6,11 @@ JASC-PAL
128 224 200
56 192 168
16 16 16
176 144 32
176 160 104
240 240 240
224 216 128
224 220 175
0 24 96
248 248 208
247 247 228
104 104 120
200 200 208
160 160 176

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 984 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 677 B

After

Width:  |  Height:  |  Size: 721 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -3,17 +3,17 @@ JASC-PAL
16
128 208 232
12 98 39
106 115 57
115 112 57
24 156 74
236 173 21
248 248 248
8 16 16
156 213 156
236 173 21
115 164 115
12 98 39
236 173 21
5 59 26
248 128 0
24 156 74
0 0 0
0 0 0
0 0 0
208 152 8
12 98 39
5 59 26
0 0 0

View File

@ -8,12 +8,12 @@ JASC-PAL
207 215 195
7 14 14
168 232 104
185 175 53
224 248 152
96 166 87
40 56 48
212 33 0
40 48 56
248 64 24
24 156 74
0 0 0
0 0 0
0 0 0
184 179 114
43 99 64
0 72 40
0 0 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 582 B

After

Width:  |  Height:  |  Size: 621 B

View File

@ -10,9 +10,9 @@ JASC-PAL
141 120 48
251 243 199
110 64 20
0 0 0
0 0 0
0 0 0
193 193 147
63 89 63
184 72 32
0 0 0
0 0 0
0 0 0

View File

@ -3,16 +3,16 @@ JASC-PAL
16
152 208 160
32 48 72
0 0 0
237 151 18
40 152 168
63 74 11
32 88 160
138 103 54
0 0 0
74 58 11
218 221 187
0 0 0
0 0 0
0 0 0
144 24 40
182 189 145
63 84 89
248 48 48
0 0 0
0 0 0
0 0 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 402 B

After

Width:  |  Height:  |  Size: 387 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 396 B

After

Width:  |  Height:  |  Size: 381 B

View File

@ -2,18 +2,18 @@ JASC-PAL
0100
16
152 208 160
96 88 88
232 236 200
125 121 118
236 235 232
16 16 16
176 168 136
64 76 104
72 60 56
172 166 153
79 104 117
72 68 65
48 36 40
128 156 168
168 168 224
96 108 136
187 210 227
173 114 205
128 149 168
248 252 248
208 200 248
225 171 233
184 176 184
160 112 224
225 52 239
0 0 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 786 B

After

Width:  |  Height:  |  Size: 713 B

View File

@ -2,17 +2,17 @@ JASC-PAL
0100
16
152 208 160
33 112 129
72 70 22
16 88 105
147 50 4
7 7 7
63 164 227
171 92 25
255 191 5
40 40 40
192 192 203
248 248 248
47 155 63
0 0 0
0 0 0
206 0 46
18 117 33
0 0 0
0 0 0
0 0 0

View File

@ -2,18 +2,18 @@ JASC-PAL
0100
16
152 208 160
203 38 19
90 63 20
117 76 35
120 48 7
7 7 7
248 136 0
248 168 72
97 120 16
192 224 88
40 40 40
209 88 56
128 152 40
192 192 203
0 0 0
0 0 0
0 0 0
48 48 48
248 248 248
160 136 80
217 79 61
181 114 72
199 172 109
0 0 0
0 0 0
0 0 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 623 B

After

Width:  |  Height:  |  Size: 562 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 800 B

After

Width:  |  Height:  |  Size: 766 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 831 B

After

Width:  |  Height:  |  Size: 830 B

View File

@ -2,18 +2,18 @@ JASC-PAL
0100
16
104 48 152
72 32 0
87 48 2
248 192 48
232 144 16
1 1 1
198 217 180
198 217 180
72 32 0
136 192 120
41 18 0
96 48 16
167 89 102
198 217 180
167 89 102
144 72 112
198 217 180
106 48 87
248 160 232
198 217 180
1 1 1
0 0 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 871 B

View File

@ -4,7 +4,7 @@ JASC-PAL
152 208 160
87 18 18
87 18 18
152 208 160
33 33 25
0 0 0
218 79 79
164 40 40

Binary file not shown.

Before

Width:  |  Height:  |  Size: 768 B

After

Width:  |  Height:  |  Size: 828 B

View File

@ -11,8 +11,8 @@ JASC-PAL
126 101 54
224 176 38
117 117 117
0 0 0
0 0 0
126 101 54
248 248 248
0 0 0
0 0 0
0 0 0

View File

@ -5,14 +5,14 @@ JASC-PAL
48 64 48
72 128 72
0 0 0
49 45 41
112 168 112
184 248 184
195 237 195
160 102 204
96 79 92
201 144 119
217 217 233
0 0 0
0 0 0
129 167 131
80 56 96
248 248 248
0 0 0
0 0 0
0 0 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 698 B

After

Width:  |  Height:  |  Size: 574 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 616 B

After

Width:  |  Height:  |  Size: 645 B

View File

@ -3,14 +3,14 @@ JASC-PAL
16
152 208 160
11 11 11
124 56 72
102 46 59
182 65 92
191 69 98
227 81 116
55 55 55
79 79 79
26 95 77
20 140 80
26 95 77
22 177 116
55 106 55
224 172 35

View File

@ -3,16 +3,16 @@ JASC-PAL
16
152 208 160
11 11 11
64 64 16
96 72 40
144 80 48
55 55 55
87 39 36
152 96 75
158 103 81
193 125 98
40 40 40
40 72 8
80 112 0
96 144 0
55 106 55
182 65 92
74 70 71
113 145 61
76 105 27
150 196 80
80 96 40
224 172 35
0 0 0
0 0 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 818 B

After

Width:  |  Height:  |  Size: 739 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 554 B

After

Width:  |  Height:  |  Size: 437 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 B

After

Width:  |  Height:  |  Size: 492 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 530 B

After

Width:  |  Height:  |  Size: 565 B

View File

@ -2,7 +2,7 @@ JASC-PAL
0100
16
152 208 160
16 56 64
24 64 16
192 232 160
0 0 0
120 184 56
@ -11,7 +11,7 @@ JASC-PAL
192 104 120
136 72 80
240 168 176
72 104 120
72 120 74
252 188 219
0 0 0
0 0 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 983 B

After

Width:  |  Height:  |  Size: 926 B

View File

@ -3,7 +3,7 @@ JASC-PAL
16
152 208 160
57 65 65
57 65 65
29 41 41
244 245 247
204 204 204
7 7 7
@ -13,7 +13,7 @@ JASC-PAL
57 65 65
112 112 112
116 168 95
7 7 7
7 7 7
248 224 0
0 168 216
7 7 7
0 0 0

View File

@ -11,9 +11,9 @@ JASC-PAL
0 0 0
164 164 164
30 109 89
116 116 116
104 98 115
134 216 33
0 0 0
0 0 0
248 224 0
0 192 88
0 0 0
0 0 0

View File

@ -3746,7 +3746,7 @@ static void DoBattleIntro(void)
gBattleStruct->startingStatus = GetTrainerStartingStatusFromId(gTrainerBattleOpponent_B);
gBattleStruct->startingStatusTimer = 0; // infinite
}
else if (GetTrainerStartingStatusFromId(gTrainerBattleOpponent_A))
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && GetTrainerStartingStatusFromId(gTrainerBattleOpponent_A))
{
gBattleStruct->startingStatus = GetTrainerStartingStatusFromId(gTrainerBattleOpponent_A);
gBattleStruct->startingStatusTimer = 0; // infinite
@ -5737,8 +5737,10 @@ bool32 TrySetAteType(u32 move, u32 battlerAtk, u32 attackerAbility)
break;
case EFFECT_HIDDEN_POWER:
case EFFECT_WEATHER_BALL:
case EFFECT_CHANGE_TYPE_ON_ITEM:
case EFFECT_NATURAL_GIFT:
case EFFECT_CHANGE_TYPE_ON_ITEM:
case EFFECT_REVELATION_DANCE:
case EFFECT_TERRAIN_PULSE:
return FALSE;
}

View File

@ -6027,6 +6027,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32
gBattlescriptCurrInstr = BattleScript_AbilityStatusEffect;
effect++;
}
break;
}
break;
case ABILITYEFFECT_MOVE_END_OTHER: // Abilities that activate on *another* battler's moveend: Dancer, Soul-Heart, Receiver, Symbiosis
@ -8558,16 +8559,20 @@ bool32 IsBattlerProtected(u32 battlerAtk, u32 battlerDef, u32 move)
// Protective Pads doesn't stop Unseen Fist from bypassing Protect effects, so IsMoveMakingContact() isn't used here.
// This means extra logic is needed to handle Shell Side Arm.
if (GetBattlerAbility(gBattlerAttacker) == ABILITY_UNSEEN_FIST
&& (gMovesInfo[move].makesContact
|| (gMovesInfo[move].effect == EFFECT_SHELL_SIDE_ARM && gBattleStruct->shellSideArmCategory[battlerAtk][battlerDef] == DAMAGE_CATEGORY_PHYSICAL))
&& !gProtectStructs[battlerDef].maxGuarded) // Max Guard cannot be bypassed by Unseen Fist
&& (gMovesInfo[move].makesContact
|| (gMovesInfo[move].effect == EFFECT_SHELL_SIDE_ARM
&& gBattleStruct->shellSideArmCategory[battlerAtk][battlerDef] == DAMAGE_CATEGORY_PHYSICAL))
&& !gProtectStructs[battlerDef].maxGuarded) // Max Guard cannot be bypassed by Unseen Fist
return FALSE;
else if (gSideStatuses[GetBattlerSide(battlerDef)] & SIDE_STATUS_CRAFTY_SHIELD
&& IS_MOVE_STATUS(move))
return TRUE;
else if (gMovesInfo[move].ignoresProtect)
return FALSE;
else if (gProtectStructs[battlerDef].protected)
return TRUE;
else if (gSideStatuses[GetBattlerSide(battlerDef)] & SIDE_STATUS_WIDE_GUARD
&& GetBattlerMoveTargetType(gBattlerAttacker, move) & (MOVE_TARGET_BOTH | MOVE_TARGET_FOES_AND_ALLY))
&& GetBattlerMoveTargetType(gBattlerAttacker, move) & (MOVE_TARGET_BOTH | MOVE_TARGET_FOES_AND_ALLY))
return TRUE;
else if (gProtectStructs[battlerDef].banefulBunkered)
return TRUE;
@ -8584,11 +8589,8 @@ bool32 IsBattlerProtected(u32 battlerAtk, u32 battlerDef, u32 move)
else if (gSideStatuses[GetBattlerSide(battlerDef)] & SIDE_STATUS_QUICK_GUARD
&& GetChosenMovePriority(gBattlerAttacker) > 0)
return TRUE;
else if (gSideStatuses[GetBattlerSide(battlerDef)] & SIDE_STATUS_CRAFTY_SHIELD
&& IS_MOVE_STATUS(move))
return TRUE;
else if (gSideStatuses[GetBattlerSide(battlerDef)] & SIDE_STATUS_MAT_BLOCK
&& !IS_MOVE_STATUS(move))
&& !IS_MOVE_STATUS(move))
return TRUE;
else
return FALSE;

View File

@ -1765,7 +1765,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
.trainerOffset = 0,
.frontPic = gMonFrontPic_Naclstack,
.frontPicSize = MON_COORDS_SIZE(64, 64),
.frontPicYOffset = 2,
.frontPicYOffset = 9,
.frontAnimFrames = sAnims_Naclstack,
//.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,
.backPic = gMonBackPic_Naclstack,
@ -1818,12 +1818,12 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
.trainerOffset = 0,
.frontPic = gMonFrontPic_Garganacl,
.frontPicSize = MON_COORDS_SIZE(64, 64),
.frontPicYOffset = 1,
.frontPicYOffset = 5,
.frontAnimFrames = sAnims_Garganacl,
//.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,
.backPic = gMonBackPic_Garganacl,
.backPicSize = MON_COORDS_SIZE(64, 64),
.backPicYOffset = 2,
.backPicYOffset = 14,
//.backAnimId = BACK_ANIM_NONE,
.palette = gMonPalette_Garganacl,
.shinyPalette = gMonShinyPalette_Garganacl,

View File

@ -1,7 +1,25 @@
#include "global.h"
#include "test/battle.h"
TO_DO_BATTLE_TEST("Adaptability increases same-type attack bonus from x1.5 to x2");
SINGLE_BATTLE_TEST("Adaptability increases same-type attack bonus from x1.5 to x2", s16 damage)
{
u32 ability;
PARAMETRIZE { ability = ABILITY_HYPER_CUTTER; }
PARAMETRIZE { ability = ABILITY_ADAPTABILITY; }
GIVEN {
PLAYER(SPECIES_CRAWDAUNT) { Ability(ability); }
OPPONENT(SPECIES_WOBBUFFET);
} WHEN {
TURN { MOVE(player, MOVE_WATER_GUN); }
} SCENE {
MESSAGE("Crawdaunt used Water Gun!");
ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_GUN, player);
HP_BAR(opponent, captureDamage: &results[i].damage);
} FINALLY {
// The jump from 1.5x STAB to 2.0x STAB is a 1.33x boost.
EXPECT_MUL_EQ(results[0].damage, Q_4_12(1.33), results[1].damage);
}
}
SINGLE_BATTLE_TEST("(TERA) Terastallizing into a different type with Adaptability gives 2.0x STAB", s16 damage)
{

View File

@ -21,7 +21,30 @@ SINGLE_BATTLE_TEST("Aerilate turns a Normal-type move into Flying-type move")
}
}
TO_DO_BATTLE_TEST("Aerilate can not turn certain moves into Flying type moves");
SINGLE_BATTLE_TEST("Aerilate can not turn certain moves into Flying type moves")
{
u32 move;
PARAMETRIZE { move = MOVE_WEATHER_BALL; }
// PARAMETRIZE { move = MOVE_NATURAL_GIFT; } TODO: handle this case via Skill Swap
PARAMETRIZE { move = MOVE_JUDGMENT; }
PARAMETRIZE { move = MOVE_TECHNO_BLAST; }
PARAMETRIZE { move = MOVE_REVELATION_DANCE; }
PARAMETRIZE { move = MOVE_MULTI_ATTACK; }
PARAMETRIZE { move = MOVE_TERRAIN_PULSE; }
GIVEN {
PLAYER(SPECIES_MEGANIUM);
OPPONENT(SPECIES_SALAMENCE) { Item(ITEM_SALAMENCITE); }
} WHEN {
TURN { MOVE(opponent, move, gimmick: GIMMICK_MEGA); }
} SCENE {
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_MEGA_EVOLUTION, opponent);
ANIMATION(ANIM_TYPE_MOVE, move, opponent);
NONE_OF {
MESSAGE("It's super effective!");
}
}
}
TO_DO_BATTLE_TEST("Aerilate boosts power of affected moves by 20% (Gen7+)");
TO_DO_BATTLE_TEST("Aerilate boosts power of affected moves by 30% (Gen6)");

View File

@ -1,4 +1,22 @@
#include "global.h"
#include "test/battle.h"
TO_DO_BATTLE_TEST("Aftermath damages the attacker by 1/4th of its max HP if they faint the target has this ability by a contact move");
SINGLE_BATTLE_TEST("Aftermath damages the attacker by 1/4th of its max HP if fainted by a contact move")
{
s16 aftermathDamage;
GIVEN {
PLAYER(SPECIES_VOLTORB) { HP(1); Ability(ABILITY_AFTERMATH); };
OPPONENT(SPECIES_WOBBUFFET);
} WHEN {
TURN {MOVE(opponent, MOVE_TACKLE);}
} SCENE {
MESSAGE("Foe Wobbuffet used Tackle!");
ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent);
MESSAGE("Voltorb fainted!");
ABILITY_POPUP(player, ABILITY_AFTERMATH);
HP_BAR(opponent, captureDamage: &aftermathDamage);
} THEN {
EXPECT_EQ(aftermathDamage, opponent->maxHP / 4);
}
}

View File

@ -134,3 +134,42 @@ SINGLE_BATTLE_TEST("Disguised Mimikyu is ignored by Mold Breaker")
NOT ABILITY_POPUP(player, ABILITY_DISGUISE);
}
}
SINGLE_BATTLE_TEST("Disguised Mimikyu's types revert back to Ghost/Fairy when Disguise is broken")
{
GIVEN {
ASSUME(gMovesInfo[MOVE_SHADOW_CLAW].type == TYPE_GHOST);
PLAYER(SPECIES_MIMIKYU_DISGUISED) { Ability(ABILITY_DISGUISE); }
OPPONENT(SPECIES_WOBBUFFET);
} WHEN {
TURN { MOVE(opponent, MOVE_SOAK); }
TURN { MOVE(opponent, MOVE_TACKLE); }
TURN { MOVE(opponent, MOVE_SHADOW_CLAW); }
} SCENE {
MESSAGE("Foe Wobbuffet used Soak!");
MESSAGE("Mimikyu transformed into the Water type!");
MESSAGE("Foe Wobbuffet used Tackle!");
ABILITY_POPUP(player, ABILITY_DISGUISE);
MESSAGE("Foe Wobbuffet used Shadow Claw!");
MESSAGE("It's super effective!");
}
}
SINGLE_BATTLE_TEST("Disguised Mimikyu blocks a move after getting Gastro Acid Batton Passed")
{
GIVEN {
ASSUME(gMovesInfo[MOVE_BATON_PASS].effect == EFFECT_BATON_PASS);
PLAYER(SPECIES_WOBBUFFET);
PLAYER(SPECIES_MIMIKYU_DISGUISED) { Ability(ABILITY_DISGUISE); }
OPPONENT(SPECIES_WOBBUFFET);
} WHEN {
TURN { MOVE(opponent, MOVE_GASTRO_ACID); MOVE(player, MOVE_BATON_PASS); SEND_OUT(player, 1); }
TURN { MOVE(opponent, MOVE_SHADOW_CLAW); }
} SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_GASTRO_ACID, opponent);
MESSAGE("Wobbuffet's ability was suppressed!");
ANIMATION(ANIM_TYPE_MOVE, MOVE_BATON_PASS, player);
ANIMATION(ANIM_TYPE_MOVE, MOVE_SHADOW_CLAW, opponent);
ABILITY_POPUP(player, ABILITY_DISGUISE);
}
}

View File

@ -482,3 +482,68 @@ DOUBLE_BATTLE_TEST("Crafty Shield protects self and ally from status moves")
}
}
}
SINGLE_BATTLE_TEST("Protect does not block Confide")
{
GIVEN {
ASSUME(gMovesInfo[MOVE_CONFIDE].effect == EFFECT_SPECIAL_ATTACK_DOWN);
PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET);
} WHEN {
TURN { MOVE(opponent, MOVE_PROTECT); MOVE(player, MOVE_CONFIDE); }
} SCENE {
MESSAGE("Wobbuffet used Confide!");
ANIMATION(ANIM_TYPE_MOVE, MOVE_CONFIDE, player);
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent);
NOT MESSAGE("Foe Wobbuffet protected itself!");
}
}
DOUBLE_BATTLE_TEST("Crafty Shield protects self and ally from Confide")
{
GIVEN {
ASSUME(gMovesInfo[MOVE_CONFIDE].effect == EFFECT_SPECIAL_ATTACK_DOWN);
PLAYER(SPECIES_WOBBUFFET);
PLAYER(SPECIES_WYNAUT);
OPPONENT(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WYNAUT);
} WHEN {
TURN { MOVE(opponentLeft, MOVE_CRAFTY_SHIELD); MOVE(playerLeft, MOVE_CONFIDE, target: opponentLeft); MOVE(playerRight, MOVE_CONFIDE, target: opponentRight); }
} SCENE {
MESSAGE("Wobbuffet used Confide!");
MESSAGE("Foe Wobbuffet protected itself!");
MESSAGE("Wynaut used Confide!");
MESSAGE("Foe Wynaut protected itself!");
}
}
DOUBLE_BATTLE_TEST("Crafty Shield does not protect against moves that target all battlers")
{
GIVEN {
ASSUME(gMovesInfo[MOVE_FLOWER_SHIELD].target == MOVE_TARGET_ALL_BATTLERS);
ASSUME(gSpeciesInfo[SPECIES_TANGELA].types[0] == TYPE_GRASS);
ASSUME(gSpeciesInfo[SPECIES_TANGROWTH].types[0] == TYPE_GRASS);
ASSUME(gSpeciesInfo[SPECIES_SUNKERN].types[0] == TYPE_GRASS);
ASSUME(gSpeciesInfo[SPECIES_SUNFLORA].types[0] == TYPE_GRASS);
PLAYER(SPECIES_TANGELA);
PLAYER(SPECIES_TANGROWTH);
OPPONENT(SPECIES_SUNKERN);
OPPONENT(SPECIES_SUNFLORA);
} WHEN {
TURN { MOVE(opponentLeft, MOVE_CRAFTY_SHIELD); MOVE(opponentRight, MOVE_CELEBRATE); MOVE(playerLeft, MOVE_FLOWER_SHIELD); MOVE(playerRight, MOVE_CELEBRATE); }
} SCENE {
MESSAGE("Tangela used Flower Shield!");
ANIMATION(ANIM_TYPE_MOVE, MOVE_FLOWER_SHIELD, playerLeft);
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft);
MESSAGE("Tangela's Defense rose!");
ANIMATION(ANIM_TYPE_MOVE, MOVE_FLOWER_SHIELD, playerLeft);
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft);
MESSAGE("Foe Sunkern's Defense rose!");
ANIMATION(ANIM_TYPE_MOVE, MOVE_FLOWER_SHIELD, playerLeft);
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerRight);
MESSAGE("Tangrowth's Defense rose!");
ANIMATION(ANIM_TYPE_MOVE, MOVE_FLOWER_SHIELD, playerLeft);
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight);
MESSAGE("Foe Sunflora's Defense rose!");
}
}