4#define HAS_COIN_FLAG AreaFlag(1)
6API_CALLABLE(N(Bandit_TetherStolenCoin)) {
26 script->functionTempPtr[0] = npc;
27 script->functionTemp[1] = itemEntityIndex;
28 script->functionTemp[2] = areaFlag;
31 npc = script->functionTempPtr[0];
32 itemEntityIndex = script->functionTemp[1];
33 areaFlag = script->functionTemp[2];
43EvtScript N(EVS_Bandit_CreateStolenCoin) = {
58 .alertRadius = 450.0f,
59 .playerSearchInterval = 10,
62 .chaseUpdateInterval = 100,
63 .chaseRadius = 550.0f,
64 .chaseOffsetDist = 100.0f,
69 Call(BasicAI_Main,
Ref(N(AISettings_Bandit)))
87 Exec(N(EVS_Bandit_CreateStolenCoin))
114 .level = ACTOR_LEVEL_BANDIT,
115 .ai = &N(EVS_NpcAI_Bandit),
117 .onDefeat = &N(EVS_NpcDefeat_Bandit),
@ ITEM_SPAWN_MODE_DECORATION
@ AI_ACTION_JUMP_WHEN_SEE_PLAYER
@ NPC_FLAG_IGNORE_WORLD_COLLISION
s32 evt_get_variable(Evt *script, Bytecode var)
void set_item_entity_position(s32 itemEntityIndex, f32 x, f32 y, f32 z)
Npc * get_npc_unsafe(s32 npcID)
ApiStatus RemoveItemEntity(Evt *script, b32 isInitialCall)
ApiStatus DisablePlayerInput(Evt *script, b32 isInitialCall)
Disables player and partner input, and disables the status menu.
ApiStatus GetNpcPos(Evt *script, b32 isInitialCall)
ApiStatus SetNpcSpeed(Evt *script, b32 isInitialCall)
ApiStatus SetNpcAnimation(Evt *script, b32 isInitialCall)
ApiStatus SetEnemyFlagBits(Evt *script, b32 isInitialCall)
ApiStatus GetNpcYaw(Evt *script, b32 isInitialCall)
ApiStatus InterpNpcYaw(Evt *script, b32 isInitialCall)
ApiStatus RemoveNpc(Evt *script, b32 isInitialCall)
ApiStatus DoNpcDefeat(Evt *script, b32 isInitialCall)
ApiStatus NpcJump0(Evt *script, b32 isInitialCall)
ApiStatus MakeItemEntity(Evt *script, b32 isInitialCall)
ApiStatus SetNpcJumpscale(Evt *script, b32 isInitialCall)
ApiStatus OnPlayerFled(Evt *script, b32 isInitialCall)
ApiStatus GetSelfNpcID(Evt *script, b32 isInitialCall)
ApiStatus NpcMoveTo(Evt *script, b32 isInitialCall)
ApiStatus SetNpcFlagBits(Evt *script, b32 isInitialCall)
ApiStatus GetPlayerPos(Evt *script, b32 isInitialCall)
ApiStatus GetBattleOutcome(Evt *script, b32 isInitialCall)
#define Switch(LVAR)
Marks the start of a switch statement.
#define Ref(sym)
Address/pointer constant.
#define Set(VAR, INT_VALUE)
Sets the given variable to a given value casted to an integer.
#define CaseEq(RVAR)
Marks the start of a switch case that executes only if LVAR == RVAR. It also marks the end of any pre...
#define End
Signals the end of EVT script data. A script missing this will likely crash on load.
#define Add(VAR, INT_VALUE)
#define Wait(NUM_FRAMES)
Blocks for the given number of frames.
#define EndSwitch
Marks the end of a switch statement and any case.
#define Call(FUNC, ARGS...)
Calls a given C EVT API function with any number of arguments.
#define Exec(EVT_SOURCE)
Launches a new thread.
#define Return
Kills the current EVT thread.