4#include "sprite/npc/WorldLakilester.h"
5#include "sprite/player.h"
7#define NAMESPACE world_lakilester
220 f32 moveSpeed = 0.0f;
222 if (
dist2D(0.0f, 0.0f, stickX, -stickY) >= 1.0) {
224 if (
SQ(stickX) +
SQ(stickY) >
SQ(55)) {
317 #define TEST_MOVE_AT_ANGLE(testFunc, angle) \
319 yaw = clamp_angle(angle), \
320 x = lakilester->pos.x, \
321 y = lakilester->moveToPos.y, \
322 z = lakilester->pos.z, \
323 testFunc(lakilester->collisionChannel, &x, &y, &z, 0.0f, yaw, lakilester->collisionHeight, radius) \
373 f32 moveAngle, moveSpeed;
397 if (moveSpeed != 0.0f) {
425 if (moveSpeed != 0.0f) {
687 script->functionTemp[1] = 3;
713 if (
script->functionTemp[1] == 0) {
723 script->functionTemp[1]--;
747 for (i = 0; i < 4; i++) {
883 yaw = (180.0f +
camYaw) - 90.0f;
885 yaw = (0.0f +
camYaw) - 90.0f;
1184 script->functionTemp[0] = 0;
1187 switch (
script->functionTemp[0]) {
1189 if (!
script->varTable[12]) {
1213 if (
script->varTable[12]) {
1231 script->functionTemp[0] = 1;
1241 script->functionTemp[1]--;
1243 if (
script->functionTemp[1] == 0) {
1244 if (
script->varTable[12]) {
s32 partner_use_ability(void)
BSS s32 PopupMenu_SelectedIndex
b8 keepUsingPartnerOnMapChange
@ TWEESTER_PARTNER_ATTRACT
@ TWEESTER_PARTNER_RELEASE
@ PS_FLAG_ENTERING_BATTLE
@ PS_FLAG_CUTSCENE_MOVEMENT
@ PARTNER_ACTION_LAKILESTER_1
@ COLLIDER_FLAG_IGNORE_PLAYER
@ COLLIDER_FLAGS_SURFACE_TYPE_MASK
@ ENTITY_TYPE_SCRIPT_SPRING
@ ENTITY_TYPE_SIMPLE_SPRING
@ PA_FLAG_DISMOUNTING_ALLOWED
@ PA_FLAG_PARTNER_USAGE_FORCED
@ PA_FLAG_FORCED_PARTNER_ABILITY_END
@ SOUND_QUICK_PLAYER_JUMP
@ ACTION_STATE_HIT_FIRE
Causes Mario to fly up and take damage. Used for fire bars.
@ CAMERA_MOVE_IGNORE_PLAYER_Y
@ NPC_FLAG_TOUCHES_GROUND
@ NPC_FLAG_IGNORE_WORLD_COLLISION
@ NPC_FLAG_IGNORE_PLAYER_COLLISION
@ NPC_FLAG_COLLDING_FORWARD_WITH_WORLD
@ NPC_FLAG_IGNORE_CAMERA_FOR_YAW
@ NPC_FLAG_COLLDING_WITH_WORLD
f32 update_lerp(s32 easing, f32 start, f32 end, s32 elapsed, s32 duration)
b32 npc_raycast_down_around(s32, f32 *, f32 *, f32 *, f32 *, f32, f32)
HitID player_raycast_below_cam_relative(PlayerStatus *playerStatus, f32 *outX, f32 *outY, f32 *outZ, f32 *outLength, f32 *hitRx, f32 *hitRz, f32 *hitDirX, f32 *hitDirZ)
s32 npc_test_move_complex_with_slipping(s32, f32 *, f32 *, f32 *, f32, f32, f32, f32)
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)
s32 get_collider_flags(s32 colliderID)
s32 disable_player_static_collisions(void)
s32 enable_player_input(void)
f32 dist2D(f32 ax, f32 ay, f32 bx, f32 by)
void partner_kill_ability_script(void)
void phys_main_collision_below(void)
void gravity_use_fall_parms(void)
u32 get_entity_type(s32 arg0)
void enable_player_shadow(void)
b32 npc_test_move_simple_with_slipping(s32, f32 *, f32 *, f32 *, f32, f32, f32, f32)
void set_action_state(s32 actionState)
b32 npc_test_move_taller_with_slipping(s32, f32 *, f32 *, f32 *, f32, f32, f32, f32)
HitID player_raycast_up_corners(PlayerStatus *, f32 *, f32 *, f32 *, f32 *, f32)
void suggest_player_anim_allow_backward(AnimID anim)
void partner_flying_update_motion(Npc *partner)
void partner_flying_enable(Npc *partner, s32 val)
f32 get_player_normal_pitch(void)
s32 enable_player_static_collisions(void)
void sin_cos_rad(f32 rad, f32 *outSinTheta, f32 *outCosTheta)
void add_vec2D_polar(f32 *x, f32 *y, f32 r, f32 theta)
void func_800E4AD8(s32 arg0)
void disable_player_shadow(void)
void npc_surface_spawn_fx(Npc *npc, SurfaceInteractMode mode)
Npc * get_npc_unsafe(s32 npcID)
void npc_move_heading(Npc *npc, f32 speed, f32 yaw)
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)
void sfx_play_sound_with_params(s32 soundID, u8 volume, u8 pan, s16 pitchShift)
#define End
Signals the end of EVT script data. A script missing this will likely crash on load.
#define COLLISION_WITH_ENTITY_BIT
#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
s32 NpcHitQueryColliderID
PlayerStatus gPlayerStatus
s32 N test_dismount_height(f32 *posY)
void N try_cancel_tweester(Npc *lakilester)
EvtScript EVS_WorldLakilester_PutAway
void N pre_battle(Npc *lakilester)
#define TEST_MOVE_AT_ANGLE(testFunc, angle)
void N post_battle(Npc *lakilester)
@ MOUNT_STATE_IN_PROGRESS
EvtScript EVS_WorldLakilester_TakeOut
EvtScript EVS_WorldLakilester_UseAbility
s32 N test_mounting_height_adjustment(Npc *lakilester, f32 height, f32 dist)
void N sync_player_position(void)
void N get_movement_from_input(f32 *outAngle, f32 *outSpeed)
void N update_riding_physics(Npc *lakilester)
void N apply_riding_static_collisions(Npc *lakilester)
void N offset_player_from_camera(f32 arg0)
EvtScript EVS_WorldLakilester_Update
void N init(Npc *lakilester)
EvtScript EVS_WorldLakilester_EnterMap
@ RIDE_STATE_START_RIDING