4#define NAMESPACE action_command_hurricane
17#define METER_FILL_TICK 650
21#define GET_DRAIN_RATE(pct) PCT_TO_TABLE_RATE(N(DrainRateTable), pct)
23API_CALLABLE(N(
init)) {
38 acs->hudPrepareTime = 30;
42 acs->meterFillLevel = 0;
43 acs->meterFillWidth = 0;
74API_CALLABLE(N(start)) {
93 acs->meterFillLevel = 0;
94 acs->meterFillWidth = 0;
115 switch (
acs->state) {
141 if (
acs->hudPrepareTime != 0) {
142 acs->hudPrepareTime--;
147 if (
acs->hudPosX > 50) {
157 if (
acs->prepareTime != 0) {
163 acs->meterFillLevel = 0;
165 acs->stateTimer =
acs->duration;
173 if (!
acs->isMeterFilled) {
174 if (
acs->statusChance != 0) {
175 cutoff =
acs->mashMeterCutoffs[
acs->mashMeterNumIntervals];
177 if (
acs->meterFillLevel < 0) {
178 acs->meterFillLevel = 0;
181 acs->meterFillLevel -= 10;
182 if (
acs->meterFillLevel < 0) {
183 acs->meterFillLevel = 0;
198 for (i = 1; i >= 0; i--) {
208 if (
acs->statusChance != 0) {
237 for (i = 1; i >= 0; i--) {
257 if (
acs->stateTimer != 0) {
266 if (
acs->statusChance == 0) {
277 cutoff =
acs->mashMeterCutoffs[
acs->mashMeterNumIntervals - 1];
294 if (
acs->statusChance == 0) {
296 if (
acs->meterFillLevel < 0) {
297 acs->meterFillLevel = 0;
301 if (
acs->stateTimer != 0) {
322 if (!
acs->isMeterFilled) {
BSS s32 PopupMenu_SelectedIndex
BSS ActionCommandStatus gActionCommandStatus
void draw_mash_meter_multicolor(s32 posX, s32 posY, s32 fillValue)
void action_command_free(void)
void increment_action_command_attempt_count(void)
s32 adjust_action_command_difficulty(s32 difficultyLevel)
void draw_mash_meter_blink(s32 posX, s32 posY, s32 fillValue)
void increment_action_command_success_count(void)
void action_command_init_status(void)
HudScript HES_MashBButton1
#define AC_QUALITY_FAILED
#define SCALE_BY_PCT(x, pct)
HudScript HES_MashAButton
@ ACTION_COMMAND_HURRICANE
@ ACTION_RESULT_METER_BELOW_HALF
void btl_set_popup_duration(s32 duration)
s32 evt_get_variable(Evt *script, Bytecode var)
void hud_element_get_render_pos(s32 id, s32 *x, s32 *y)
void hud_element_set_alpha(s32 id, s32 opacity)
void hud_element_set_script(s32 id, HudScript *anim)
void hud_element_set_render_depth(s32 id, s32 z)
void hud_element_set_render_pos(s32 id, s32 x, s32 y)
s32 hud_element_create(HudScript *anim)
Creates a new HUD element and returns its ID.
void hud_element_set_flags(s32 id, s32 flags)
Turns on the given flags.
void hud_element_clear_flags(s32 id, s32 flags)
Turns off the given flags.
void hud_element_draw_clipped(s32 id)
void hud_element_free(s32 id)
@ HUD_ELEMENT_FLAG_DISABLED
#define GET_DRAIN_RATE(pct)
s32 actionCmdTableHurricane[]
BattleStatus gBattleStatus
void N init(Npc *bombette)