3#include "sprite/npc/MontyMole.h"
30#define INTANGIBLE_MONTY_MOLE_NPC_FLAGS \
31 ENEMY_FLAG_SKIP_BATTLE \
32 | ENEMY_FLAG_IGNORE_TOUCH \
33 | ENEMY_FLAG_IGNORE_JUMP \
34 | ENEMY_FLAG_IGNORE_HAMMER \
35 | ENEMY_FLAG_IGNORE_PARTNER \
36 | ENEMY_FLAG_CANT_INTERACT
45 enemy =
script->owner1.enemy;
85 script->functionTemp[1] = 0;
113 if (
script->functionTemp[1] <= 0) {
121 script->functionTemp[1]--;
265 switch (
script->AI_TEMP_STATE) {
BSS s32 PopupMenu_SelectedIndex
#define INTANGIBLE_MONTY_MOLE_NPC_FLAGS
@ AI_STATE_MOLE_DRAW_ROCK
@ AI_STATE_MOLE_PRE_BURROW
@ AI_STATE_MOLE_PRE_SURFACE
@ AI_STATE_MOLE_THROW_ROCK
#define npc_raycast_down_sides
@ AI_FLAG_SKIP_EMOTE_AFTER_FLEE
@ AI_FLAG_SKIP_IDLE_ANIM_AFTER_FLEE
@ NPC_FLAG_COLLDING_FORWARD_WITH_WORLD
s32 evt_get_variable(Evt *script, Bytecode var)
b32 is_point_outside_territory(s32 shape, f32 pointX, f32 pointY, f32 centerX, f32 centerY, f32 sizeX, f32 sizeZ)
void ai_enemy_play_sound(Npc *npc, s32 arg1, s32 arg2)
f32 dist2D(f32 ax, f32 ay, f32 bx, f32 by)
f32 get_xz_dist_to_player(f32, f32)
f32 get_clamped_angle_diff(f32, f32)
enum TerritoryShape shape
enum TerritoryShape detectShape
b32 basic_ai_check_player_dist(EnemyDetectVolume *arg0, Enemy *arg1, f32 arg2, f32 arg3, s8 arg4)
Enemy * get_enemy(s32 npcID)
Looks for an enemy matching the specified npcID.
Npc * get_npc_unsafe(s32 npcID)
void AIStateHandler(Evt *script, MobileAISettings *settings, EnemyDetectVolume *territory)
enum TerritoryShape wanderShape
void npc_move_heading(Npc *npc, f32 speed, f32 yaw)
s32 skipPlayerDetectChance
EnemyTerritoryWander wander
EnemyTerritory * territory
PlayerStatus * gPlayerStatusPtr
PartnerStatus gPartnerStatus