Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
multibounce.c
Go to the documentation of this file.
1#include "common.h"
2#include "script_api/battle.h"
4#include "sprite/player.h"
5
6#define NAMESPACE battle_move_multibounce
7
9
11 7, 6, 5, 4, 3, 2, 1, 0
12};
13
17
23 CaseEq(0)
25 CaseEq(1)
27 CaseEq(2)
30 Return
31 End
32};
33
48 Return
49 EndIf
52 IfEq(LVar0, 1)
54 EndIf
55 Wait(1)
58 CaseGt(0)
62 Else
65 EndIf
76 Return
77 EndIf
79 Return
85 Return
86 EndIf
90 Add(LVarF, 1)
92 Label(10)
95 Sub(LVar0, 1)
98 EndIf
104 EndIf
108 Add(LVarA, 5)
112 IfEq(LVarF, 1)
114 Else
116 EndIf
120 Return
121 EndIf
122 Wait(1)
129 Else
132 EndIf
137 Else
140 EndIf
143 CaseEq(0)
145 CaseEq(1)
147 CaseEq(2)
149 CaseEq(3)
158 CaseOrEq(2)
161 Return
162 EndIf
164 Return
167 CaseOrEq(3)
170 Return
171 EndIf
174 Add(LVarF, 1)
178 Return
179 EndIf
180 Goto(10)
181 Return
182 End
183};
184
199 Return
200 EndIf
203 IfEq(LVar0, 1)
204 Set(LFlag0, TRUE)
205 EndIf
206 Wait(1)
213 Else
216 EndIf
227 Return
228 EndIf
230 Return
236 Return
237 EndIf
242 Set(LVarF, 0)
243 Add(LVarF, 1)
244 Label(10)
246 Sub(LVar0, 1)
248 Set(LFlag0, TRUE)
249 EndIf
255 EndIf
263 IfEq(LVarF, 1)
265 Wait(7)
267 Else
269 Wait(7)
271 EndIf
276 Return
277 EndIf
278 Wait(1)
285 Else
288 EndIf
293 Else
296 EndIf
299 CaseEq(0)
301 CaseEq(1)
303 CaseEq(2)
305 CaseEq(3)
314 CaseOrEq(2)
317 Return
318 EndIf
320 Return
323 CaseOrEq(3)
326 Return
327 EndIf
330 Add(LVarF, 1)
334 Return
335 EndIf
336 Goto(10)
337 Return
338 End
339};
340
355 Return
356 EndIf
359 IfEq(LVar0, 1)
360 Set(LFlag0, TRUE)
361 EndIf
362 Wait(1)
369 Else
372 EndIf
383 Return
384 EndIf
386 Return
392 Return
393 EndIf
398 Set(LVarF, 0)
399 Add(LVarF, 1)
400 Label(20)
402 Sub(LVar0, 1)
404 Set(LFlag0, TRUE)
405 EndIf
411 EndIf
417 IfEq(LVarF, 1)
419 Else
421 EndIf
425 Return
426 EndIf
427 Wait(1)
434 Else
437 EndIf
442 Else
445 EndIf
448 CaseEq(0)
450 CaseEq(1)
452 CaseEq(2)
454 CaseEq(3)
463 CaseOrEq(2)
466 Return
467 EndIf
469 Return
472 CaseOrEq(3)
475 Return
476 EndIf
479 Add(LVarF, 1)
483 Return
484 EndIf
485 Goto(20)
486 Return
487 End
488};
BSS s32 PopupMenu_SelectedIndex
@ AC_DIFFICULTY_1
Definition action_cmd.h:43
@ AC_DIFFICULTY_3
Definition action_cmd.h:45
Bytecode EvtScript[]
@ ACTION_COMMAND_JUMP
Definition enums.h:3473
@ ACTOR_SOUND_HURT
Definition enums.h:2037
@ BS_FLAGS1_NO_RATING
Definition enums.h:3576
@ BS_FLAGS1_NICE_HIT
Definition enums.h:3575
@ BS_FLAGS1_TRIGGER_EVENTS
Definition enums.h:3574
@ BS_FLAGS1_INCLUDE_POWER_UPS
Definition enums.h:3570
@ BS_FLAGS1_EXECUTING_MOVE
Definition enums.h:3577
@ PLAYER_ULTRA_JUMP_2
Definition enums.h:4314
@ PLAYER_ULTRA_JUMP_4
Definition enums.h:4316
@ ITER_NEXT
Definition enums.h:2025
@ PLAYER_SUPER_JUMP_3
Definition enums.h:4305
@ PLAYER_SUPER_JUMP_4
Definition enums.h:4306
@ PLAYER_SUPER_JUMP_5
Definition enums.h:4307
@ PLAYER_SUPER_JUMP_6
Definition enums.h:4308
@ HIT_RESULT_NO_DAMAGE
Definition enums.h:1952
@ HIT_RESULT_HIT
Definition enums.h:1950
@ HIT_RESULT_NICE_NO_DAMAGE
Definition enums.h:1953
@ HIT_RESULT_NICE
Definition enums.h:1951
@ HIT_RESULT_MISS
Definition enums.h:1956
@ BTL_CAM_PLAYER_MULTIBOUNCE
Definition enums.h:4861
@ BTL_CAM_PLAYER_JUMP_MIDAIR
Definition enums.h:4855
@ PLAYER_BASIC_JUMP_3
Definition enums.h:4297
@ PLAYER_BASIC_JUMP_4
Definition enums.h:4298
@ PLAYER_BASIC_JUMP_0
Definition enums.h:4294
@ SOUND_ACTOR_JUMPED_2
Definition enums.h:778
@ SOUND_JUMP_COMBO_1
Definition enums.h:954
@ SOUND_ACTOR_JUMPED_1
Definition enums.h:777
@ SOUND_NONE
Definition enums.h:547
@ SOUND_JUMP_COMBO_4
Definition enums.h:957
@ SOUND_JUMP_COMBO_3
Definition enums.h:956
@ SOUND_ACTOR_JUMPED_3
Definition enums.h:779
@ SOUND_JUMP_COMBO_2
Definition enums.h:955
@ ACTOR_PLAYER
Definition enums.h:2085
@ ACTOR_BLUR_ENABLE
Definition enums.h:6413
@ ACTOR_BLUR_DISABLE
Definition enums.h:6412
@ DAMAGE_TYPE_MULTI_BOUNCE
Definition enums.h:2874
@ DAMAGE_TYPE_JUMP
Definition enums.h:2858
@ DAMAGE_TYPE_MULTIPLE_POPUPS
Definition enums.h:2879
#define Else
Marks the end of an if statement and the start of the else block.
Definition macros.h:295
#define Switch(LVAR)
Marks the start of a switch statement.
Definition macros.h:311
#define Ref(sym)
Address/pointer constant.
Definition macros.h:60
#define IfGe(LVAR, RVAR)
Marks the beginning of an if statement that only executes if LVAR >= RVAR.
Definition macros.h:284
#define Set(VAR, INT_VALUE)
Sets the given variable to a given value casted to an integer.
Definition macros.h:365
#define CaseEq(RVAR)
Marks the start of a switch case that executes only if LVAR == RVAR. It also marks the end of any pre...
Definition macros.h:319
#define Sub(VAR, INT_VALUE)
Definition macros.h:377
#define LVarF
Definition macros.h:163
#define End
Signals the end of EVT script data. A script missing this will likely crash on load.
Definition macros.h:213
#define Add(VAR, INT_VALUE)
Definition macros.h:376
#define IfFalse(b)
Definition macros.h:646
#define EndCaseGroup
Marks the end of a switch case group (CaseOrEq and/or CaseAndEq), stopping fallthrough.
Definition macros.h:352
#define Goto(LABEL_ID)
Moves execution to the given label.
Definition macros.h:232
#define Label(LABEL_ID)
Marks this point in the script as a Goto target.
Definition macros.h:227
#define CaseOrEq(RVAR)
Marks the start of a switch case that executes only if LVAR == RVAR.
Definition macros.h:341
#define EndIf
Marks the end of an if statement or an else block.
Definition macros.h:298
#define CaseDefault
Marks the start of a switch case that executes unconditionally. It also marks the end of any previous...
Definition macros.h:337
#define ExecWait(EVT_SOURCE)
Launches a new child thread.
Definition macros.h:475
#define LVar2
Definition macros.h:150
#define LVar1
Definition macros.h:149
#define LFlag0
Definition macros.h:167
#define LVarA
Definition macros.h:158
#define Wait(NUM_FRAMES)
Blocks for the given number of frames.
Definition macros.h:254
s32 Difficulty1D[8]
Definition macros.h:106
#define EndSwitch
Marks the end of a switch statement and any case.
Definition macros.h:362
#define IfEq(LVAR, RVAR)
Marks the beginning of an if statement that only executes if LVAR == RVAR.
Definition macros.h:269
#define Call(FUNC, ARGS...)
Calls a given C EVT API function with any number of arguments.
Definition macros.h:576
#define CaseGt(RVAR)
Marks the start of a switch case that executes only if LVAR <= RVAR. It also marks the end of any pre...
Definition macros.h:328
#define LVarE
Definition macros.h:162
#define LVar0
Definition macros.h:148
#define Return
Kills the current EVT thread.
Definition macros.h:217