49 {
69 s32 wasStatusInflicted;
71
78 wasStatusInflicted = false;
79
82 }
83
87 }
88
89 target->lastDamageTaken = 0;
92 state = &player->
state;
93 } else {
95 }
96
100 }
104 }
108 }
112 }
113
118 ) {
120 }
121 }
122
129 }
131 }
132
135 } else {
137 }
138
141 }
142
146 }
147
151 }
154 }
155
157 target->hpChangeCounter = 0;
158
160 target->hpChangeCounter = 0;
162
167 } else {
170 }
171 } else {
177
181 ) {
186 }
187 }
190 target->hpChangeCounter = 0;
191 }
192
198 }
199
204 }
205
209 }
212 }
215 }
218 }
219
225 wasStatusInflicted = true;
226 }
229 wasStatusInflicted = true;
230 }
233 }
235 }
236 }
237
240 if ((
target->attackBoost > 0 ||
target->defenseBoost > 0) ||
241 ((
target->staticStatus == 0 &&
target->transparentStatus != 0) ||
target->staticStatus != 0))
242 {
245 target->isGlowing =
false;
247 if (
target->staticStatus != 0) {
249 target->staticDuration = 0;
251 }
252 if (
target->transparentStatus != 0) {
253 target->transparentStatus = 0;
254 target->transparentDuration = 0;
256 }
257 wasStatusInflicted = true;
259 }
260 }
261 }
262
268 wasStatusInflicted = true;
269 }
272 wasStatusInflicted = true;
273 }
274 }
275 }
276
281 }
284 }
285 }
286 }
287
291 ) {
294 }
297 }
298 }
299
303 ) {
306 }
309 }
310 }
311
315 ) {
318 }
321 }
322 }
323
328 }
331 }
333 }
334 }
335
341 ) {
342
343
344 #define INFLICT_STATUS(STATUS_TYPE) \
345 if ((battleStatus->curAttackStatus & STATUS_FLAG_##STATUS_TYPE) && \
346 try_inflict_status(target, STATUS_KEY_##STATUS_TYPE, STATUS_TURN_MOD_##STATUS_TYPE)) { \
347 wasStatusInflicted = true; \
348 } \
349
358
359 #undef INFLICT_STATUS
360
363 wasStatusInflicted = true;
364 }
365
366 if (wasStatusInflicted) {
369 }
372 }
373 }
374 }
375
378
388 {
394 wasStatusInflicted = true;
396 } else {
399 }
400 }
401
403
406 ) {
409 }
410
414 } else {
416 }
417 }
418 }
419
422 }
423
425
429 }
430 }
431
436 }
440 } else {
442 }
445 }
446 }
447 }
448
457 } else {
459 }
460 }
461
464 }
465
472 }
479 }
486 }
493 }
500 }
508 }
516 }
519 }
520
522
526 }
529 }
530 }
531
533}
#define INFLICT_STATUS(STATUS_TYPE)
@ ACTION_RATING_SUPER
sets nice hits = 2
@ ACTION_RATING_NICE
sets nice hits = 1
@ BS_FLAGS1_PARTNER_ACTING
@ BS_FLAGS1_TRIGGER_EVENTS
@ BS_FLAGS1_SHOW_PLAYER_DECORATIONS
@ BS_FLAGS1_INCLUDE_POWER_UPS
@ BS_FLAGS1_ACTORS_VISIBLE
@ ACTOR_EVENT_FLAG_RIDING_BROOMSTICK
Actor is on Magikoopa Broomstick, effect seems to be redundant.
@ ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED
Actor glows and listens for Star Beam and Peach Beam events.
@ ACTOR_EVENT_FLAG_GROUNDABLE
Actor can be knocked down from flight; triggered by jump attacks.
@ ACTOR_EVENT_FLAG_ATTACK_CHARGED
Actor has charged an attack that can be removed with Star Beam.
@ ACTOR_EVENT_FLAG_BURIED
Actor can only by hit by quake-element attacks.
@ ACTOR_EVENT_FLAG_FLIPABLE
Actor can be flipped; triggered by jump and quake attacks.
@ ACTOR_EVENT_FLAG_ENCHANTED
Actor glows and listens for the Star Beam event.
@ ACTOR_PART_TARGET_NO_DAMAGE
@ HIT_RESULT_NICE_NO_DAMAGE
@ ACTOR_FLAG_DAMAGE_IMMUNE
@ ACTOR_FLAG_NO_DMG_POPUP
Hide damage popup.
@ ACTOR_FLAG_FLIPPED
Actor has been flipped over.
@ EVENT_INVUNERABLE_TAUNT
@ ACTOR_PART_FLAG_DAMAGE_IMMUNE
electrified Plays extra hurt SFX?
@ DAMAGE_TYPE_STATUS_ALWAYS_HITS
@ DAMAGE_TYPE_IGNORE_DEFENSE
@ DAMAGE_TYPE_REMOVE_BUFFS
@ DAMAGE_TYPE_MULTIPLE_POPUPS
void show_primary_damage_popup(f32 x, f32 y, f32 z, s32 attack, s32 a)
void show_immune_bonk(f32 x, f32 y, f32 z, s32, s32, s32)
void dispatch_event_actor(Actor *, s32)
void show_actor_health_bar(Actor *)
void remove_status_static(s32)
void remove_status_transparent(s32)
void set_actor_flash_mode(Actor *actor, s32 arg1)
void show_damage_fx(Actor *actor, f32 x, f32 y, f32 z, s32 damage)
void cancel_action_rating_combo(Actor *)
Evt * start_script(EvtScript *source, s32 priority, s32 initialState)
s32 inflict_status(Actor *, s32, s32)
void show_next_damage_popup(f32 x, f32 y, f32 z, s32 damageAmount, s32 angle)
s32 get_defense(Actor *actor, s32 *defenseTable, s32 elementFlags)
void apply_shock_effect(Actor *)
void show_action_rating(s32, Actor *, f32, f32, f32)
EvtScript EVS_PlayStopHitFX
EvtScript EVS_PlayFreezeHitFX
EvtScript EVS_PlayShrinkHitFX
EvtScript EVS_PlayParalyzeHitFX
EvtScript EVS_PlayPoisonHitFX
EvtScript EVS_PlaySleepHitFX
EvtScript EVS_PlayDizzyHitFX