5#define NAMESPACE action_command_mega_shock
11API_CALLABLE(N(
init)) {
25 actionCommandStatus->
state = 0;
31 actionCommandStatus->
hudPosX = -48;
32 actionCommandStatus->
hudPosY = 80;
61API_CALLABLE(N(start)) {
62 Bytecode* readPos = script->ptrReadPos;
85 actionCommandStatus->
state = 10;
86 battleStatus->
flags1 &= ~BS_FLAGS1_FREE_ACTION_COMMAND;
109 s8 adjustedFillLevel;
111 switch (actionCommandStatus->
state) {
116 if (actionCommandStatus->
showHud) {
122 if (actionCommandStatus->
showHud) {
129 if (actionCommandStatus->
showHud) {
133 actionCommandStatus->
state = 1;
142 actionCommandStatus->
hudPosX += 20;
143 if (actionCommandStatus->
hudPosX > 50) {
144 actionCommandStatus->
hudPosX = 50;
152 actionCommandStatus->
hudPosY + 28);
163 actionCommandStatus->
unk_5C = 0;
166 actionCommandStatus->
state = 11;
177 mashMeterCutoff = mashMeterCutoffs[mashMeterIntervals];
178 index = actionCommandStatus->
barFillLevel / mashMeterCutoff / 20;
199 while (frameCount >= 0) {
209 if ((buttonsPushed & buttonsAB) == buttonsAB) {
220 buttonsPushed = fillLevel / 100;
238 while (frameCount >= 0) {
253 actionCommandStatus->
hudPosY + 28);
257 adjustedFillLevel = actionCommandStatus->
barFillLevel / 100;
273 if (buttonsPushed == 0) {
281 threshold = mashMeterCutoff / 2;
296 actionCommandStatus->
state = 12;
BSS ActionCommandStatus gActionCommandStatus
void draw_mash_meter_multicolor(s32 posX, s32 posY, s32 fillValue)
void action_command_free(void)
s32 adjust_action_command_difficulty(s32 arg0)
void draw_mash_meter_blink(s32 posX, s32 posY, s32 fillValue)
void action_command_init_status(void)
HudScript HES_MashBButton1
HudScript HES_MashAButton
@ ACTION_COMMAND_MODE_NOT_LEARNED
@ ACTION_COMMAND_MEGA_SHOCK
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
s32 actionCmdTableMegaShock[]
void sfx_stop_sound(s32 soundID)
void sfx_adjust_env_sound_params(s32 soundID, u8 volume, u8 pan, s16 pitchShift)
void sfx_play_sound_with_params(s32 soundID, u8 volume, u8 pan, s16 pitchShift)
s32 * actionCmdDifficultyTable
BattleStatus gBattleStatus
void N init(Npc *bombette)