4#include "sprite/npc/WorldBow.h"
5#include "sprite/player.h"
7#define NAMESPACE world_bow
20 bow->collisionHeight = 26;
21 bow->collisionDiameter = 24;
174 #define USE_STATE functionTemp[0]
201 switch (
script->USE_STATE) {
208 script->functionTemp[1] = 3;
223 script->functionTemp[1]--;
224 if (
script->functionTemp[1] == 0) {
238 switch (
script->USE_STATE) {
248 if (
script->functionTemp[2] != 0) {
277 bow->pos.x += ((
bow->moveToPos.x -
bow->pos.x) /
bow->duration);
278 bow->pos.y += ((
bow->moveToPos.y -
bow->pos.y) /
bow->duration);
279 bow->pos.z += ((
bow->moveToPos.z -
bow->pos.z) /
bow->duration);
284 if (
bow->duration == 0) {
336 script->functionTemp[1] = 3;
343 if (
script->functionTemp[1] == 0) {
349 script->functionTemp[1]--;
BSS s32 PopupMenu_SelectedIndex
@ TWEESTER_PARTNER_ATTRACT
@ TWEESTER_PARTNER_RELEASE
@ PS_FLAG_HAZARD_INVINCIBILITY
@ PA_FLAG_PARTNER_USAGE_FORCED
@ RENDER_MODE_SURFACE_XLU_LAYER2
@ RENDER_MODE_SURFACE_XLU_LAYER1
@ NPC_FLAG_IGNORE_WORLD_COLLISION
@ NPC_FLAG_IGNORE_PLAYER_COLLISION
@ NPC_FLAG_IGNORE_CAMERA_FOR_YAW
void suggest_player_anim_always_forward(AnimID anim)
void partner_clear_player_tracking(Npc *partner)
void partner_flying_update_player_tracking(Npc *partner)
s32 disable_player_input(void)
Shadow * get_shadow_by_index(s32 index)
s32 enable_player_input(void)
f32 dist2D(f32 ax, f32 ay, f32 bx, f32 by)
s32 player_test_lateral_overlap(s32, PlayerStatus *, f32 *, f32 *, f32 *, f32, f32)
s32 is_starting_conversation(void)
void set_action_state(s32 actionState)
void suggest_player_anim_allow_backward(AnimID anim)
void partner_flying_update_motion(Npc *partner)
void partner_flying_enable(Npc *partner, s32 val)
void sin_cos_rad(f32 rad, f32 *outSinTheta, f32 *outCosTheta)
void add_vec2D_polar(f32 *x, f32 *y, f32 r, f32 theta)
void npc_set_imgfx_params(Npc *npc, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6)
s32 func_800EA52C(s32 partnerID)
s32 partner_init_get_out(Npc *npc)
s32 partner_init_put_away(Npc *partner)
s32 partner_put_away(Npc *partner)
s32 partner_force_player_flip_done(void)
s32 partner_get_out(Npc *partner)
void sfx_play_sound_at_npc(s32 soundID, s32 arg1, s32 npcID)
#define End
Signals the end of EVT script data. A script missing this will likely crash on load.
#define Call(FUNC, ARGS...)
Calls a given C EVT API function with any number of arguments.
#define Return
Kills the current EVT thread.
Entity * TweesterTouchingPartner
CollisionStatus gCollisionStatus
PartnerStatus gPartnerStatus
GameStatus * gGameStatusPtr
PlayerStatus gPlayerStatus
void N pre_battle(Npc *bow)
void N end_outta_sight_cleanup(Npc *partner)
EvtScript EVS_WorldBow_Update
EvtScript EVS_WorldBow_PutAway
EvtScript EVS_WorldBow_TakeOut
EvtScript EVS_WorldBow_UseAbility
s32 N check_for_treadmill_overlaps(void)
void N try_cancel_tweester(Npc *bow)