108 {
112
113 switch (
acs->state) {
116
121 }
122
127 }
128
133 }
134
139 }
140
142 break;
146 if (
acs->hudPosX > 50) {
148 }
153 break;
156 if (
acs->prepareTime != 0) {
158 return;
159 }
162 acs->stateTimer =
acs->duration;
163
164
167
168
169 if (
acs->breakFree.dir == 0) {
170 acs->escapeThreshold++;
171 if (
acs->escapeThreshold >=
acs->escapeChance) {
172 acs->escapeThreshold =
acs->escapeChance;
173 acs->breakFree.dir = 1;
174 }
175 } else {
176 acs->escapeThreshold--;
177 if (
acs->escapeThreshold <= 0) {
178 acs->escapeThreshold = 0;
179 acs->breakFree.dir = 0;
180 }
181 }
182
183
184
185 if (!
acs->berserkerEnabled) {
188 s32 i;
189
190 acs->meterFillLevel = 0;
191
193 if (inputBufPos < 0) {
195 }
196
197 for (i = 0; i <
windowLen; i++, inputBufPos++) {
200 }
203 }
204 }
205 } else {
208 }
209
211 if (
acs->stateTimer != 0) {
213 break;
214 }
215
216 if (
battleStatus->actionQuality >=
acs->mashMeterCutoffs[
acs->mashMeterNumIntervals] -
acs->escapeThreshold) {
219 } else {
222 }
223
225 acs->stateTimer = 20;
227 break;
229 if (
acs->stateTimer != 0) {
231 break;
232 }
234 break;
235 }
236}
BSS s32 PopupMenu_SelectedIndex
BSS ActionCommandStatus gActionCommandStatus
void action_command_free(void)
#define AC_QUALITY_FAILED
#define SCALE_BY_PCT(x, pct)
HudScript HES_MashAButton
@ ACTION_RESULT_METER_NOT_ENOUGH
void btl_set_popup_duration(s32 duration)
void hud_element_set_alpha(s32 id, s32 opacity)
void hud_element_set_script(s32 id, HudScript *anim)
void hud_element_set_render_pos(s32 id, s32 x, s32 y)
void hud_element_clear_flags(s32 id, s32 flags)
Turns off the given flags.
@ HUD_ELEMENT_FLAG_DISABLED
BattleStatus gBattleStatus