4#define NAMESPACE action_command_smack
16#define HAND_METER_FILL_TICK 1300
17#define FAN_METER_FILL_TICK 850
18#define FAIL_METER_FILL_TICK 1100
22#define GET_DRAIN_RATE(pct) PCT_TO_TABLE_RATE(N(DrainRateTable), pct)
31API_CALLABLE(N(
init)) {
46 acs->hudPrepareTime = 30;
49 acs->meterFillLevel = 0;
50 acs->meterFillWidth = 0;
78API_CALLABLE(N(start)) {
97 acs->meterFillLevel = 0;
98 acs->meterFillWidth = 0;
101 battleStatus->maxActionQuality =
acs->mashMeterCutoffs[(
acs->mashMeterNumIntervals - 1)];
118 switch (
acs->state) {
135 if (
acs->hudPrepareTime != 0) {
136 acs->hudPrepareTime--;
141 if (
acs->hudPosX > 50) {
150 if (
acs->prepareTime != 0) {
155 acs->meterFillLevel = 0;
158 acs->stateTimer =
acs->duration;
167 if (!
acs->isMeterFilled) {
168 cutoff =
acs->mashMeterCutoffs[
acs->mashMeterNumIntervals];
170 if (
acs->meterFillLevel < 0) {
171 acs->meterFillLevel = 0;
176 if (!
acs->isMeterFilled) {
182 if (
acs->smack.holdingLeft) {
199 if (
acs->meterFillLevel < 0) {
200 acs->meterFillLevel = 0;
263 if (
acs->stateTimer != 0) {
268 if (
acs->meterFillLevel == 0) {
274 cutoff =
acs->mashMeterCutoffs[
acs->mashMeterNumIntervals - 1];
291 if (
acs->stateTimer != 0) {
BSS s32 PopupMenu_SelectedIndex
BSS ActionCommandStatus gActionCommandStatus
void action_command_free(void)
void increment_action_command_attempt_count(void)
s32 adjust_action_command_difficulty(s32 difficultyLevel)
void increment_action_command_success_count(void)
void action_command_init_status(void)
#define AC_QUALITY_FAILED
HudScript HES_StickNeutral
#define SCALE_BY_PCT(x, pct)
HudScript HES_StickMashLeft
struct ActorBlueprint * actorBlueprint
@ SOUND_LOOP_CHARGE_METER
@ ACTION_RESULT_METER_NOT_ENOUGH
void btl_set_popup_duration(s32 duration)
s32 evt_get_variable(Evt *script, Bytecode var)
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.
@ HUD_ELEMENT_FLAG_DISABLED
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)
#define GET_DRAIN_RATE(pct)
#define FAIL_METER_FILL_TICK
s32 actionCmdTableSmack[]
#define HAND_METER_FILL_TICK
#define FAN_METER_FILL_TICK
BattleStatus gBattleStatus
void N init(Npc *bombette)