3#include "battle/action_cmd/whirlwind_bubble.png.h"
6#define NAMESPACE action_command_whirlwind
19#define HUFF_FILL_TICK 500
20#define BUZZAR_FILL_TICK 600
58s32 N(
DrainRateTable1)[] = { 50, 50, 50, 50, 75, 75, 75, 100, 100, 100, 100 };
61#define GET_DRAIN_RATE_HUFF(pct) (N(DrainRateTable0)[((pct) / (ONE_PCT_MASH / 5))])
62#define GET_DRAIN_RATE_BUZZAR(pct) (N(DrainRateTable1)[((pct) / (ONE_PCT_MASH / 10))])
72s32 N(
BuzzarQuality)[] = { 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1 };
74API_CALLABLE(N(
init)) {
92 acs->meterFillLevel = 0;
93 acs->meterFillWidth = 0;
129API_CALLABLE(N(start)) {
147 acs->meterFillLevel = 0;
148 acs->meterFillWidth = 0;
170 switch (
acs->state) {
203 if (
acs->hudPosX > 50) {
213 if (
acs->prepareTime != 0) {
218 acs->meterFillLevel = 0;
220 acs->stateTimer =
acs->duration;
227 cutoff =
acs->mashMeterCutoffs[
acs->mashMeterNumIntervals];
234 acs->meterFillLevel -=
amt;
236 if (
acs->meterFillLevel < 0) {
237 acs->meterFillLevel = 0;
241 if (!
acs->berserkerEnabled) {
248 acs->meterFillLevel +=
amt;
256 if (
acs->meterFillLevel > cutoff * 100) {
257 acs->meterFillLevel = cutoff * 100;
266 if (
acs->stateTimer != 0) {
277 if (
acs->stateTimer != 0) {
292 if (!
acs->berserkerEnabled) {
BSS s32 PopupMenu_SelectedIndex
BSS ActionCommandStatus gActionCommandStatus
void action_command_free(void)
void draw_mash_meter_multicolor_with_divisor(s32 posX, s32 posY, s32 fillValue, s32 divisor)
s32 adjust_action_command_difficulty(s32 difficultyLevel)
void action_command_init_status(void)
#define SCALE_BY_PCT(x, pct)
HudScript HES_MashAButton
s32 actionCmdTableWhirlwind[]
#define GET_DRAIN_RATE_HUFF(pct)
#define GET_DRAIN_RATE_BUZZAR(pct)
HudScript HES_WhirlwindBubble
@ ACTION_COMMAND_WHIRLWIND
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)
HudScript * hud_element_get_script(s32 id)
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 HES_TEMPLATE_CI_CUSTOM_SIZE(name, sizeX, sizeY)
Basic HudScript used for static CI images, setting size with hs_SetCustomSize.
#define HES_TEMPLATE_CI_ENUM_SIZE(name, sizeX, sizeY)
Basic HudScript used for static CI images, setting size with hs_SetTileSize.
#define INCLUDE_PAL(FILENAME, SYMBOLNAME)
#define INCLUDE_IMG(FILENAME, SYMBOLNAME)
BattleStatus gBattleStatus
void N init(Npc *bombette)