Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
SpyGuy.h File Reference

Go to the source code of this file.

Macros

#define SPY_GUY_DROPS
 
#define SPY_GUY_ANIMS
 
#define SPY_GUY_ROCK_ANIMS
 
#define SPY_GUY_ROCK_HITBOX(npcID)
 

Macro Definition Documentation

◆ SPY_GUY_DROPS

#define SPY_GUY_DROPS
Value:
{ \
.dropFlags = NPC_DROP_FLAG_80, \
.itemDropChance = 5, \
.itemDrops = { \
{ ITEM_FIRE_FLOWER, 2, 0 }, \
{ ITEM_THUNDER_RAGE, 2, 0 }, \
{ ITEM_THUNDER_BOLT, 2, 0 }, \
{ ITEM_DUSTY_HAMMER, 2, 0 }, \
{ ITEM_PEBBLE, 2, 0 }, \
}, \
.heartDrops = STANDARD_HEART_DROPS(3), \
.flowerDrops = STANDARD_FLOWER_DROPS(2), \
.minCoinBonus = 0, \
.maxCoinBonus = 3, \
}
@ NPC_DROP_FLAG_80
Definition enums.h:5089
#define STANDARD_FLOWER_DROPS(attempts)
Definition npc.h:53
#define STANDARD_HEART_DROPS(attempts)
Definition npc.h:29

Definition at line 4 of file SpyGuy.h.

4#define SPY_GUY_DROPS \
5{ \
6 .dropFlags = NPC_DROP_FLAG_80, \
7 .itemDropChance = 5, \
8 .itemDrops = { \
9 { ITEM_FIRE_FLOWER, 2, 0 }, \
10 { ITEM_THUNDER_RAGE, 2, 0 }, \
11 { ITEM_THUNDER_BOLT, 2, 0 }, \
12 { ITEM_DUSTY_HAMMER, 2, 0 }, \
13 { ITEM_PEBBLE, 2, 0 }, \
14 }, \
15 .heartDrops = STANDARD_HEART_DROPS(3), \
16 .flowerDrops = STANDARD_FLOWER_DROPS(2), \
17 .minCoinBonus = 0, \
18 .maxCoinBonus = 3, \
19}

◆ SPY_GUY_ANIMS

#define SPY_GUY_ANIMS
Value:
{ \
.idle = ANIM_SpyGuy_Anim02, \
.walk = ANIM_SpyGuy_Anim04, \
.run = ANIM_SpyGuy_Anim05, \
.chase = ANIM_SpyGuy_Anim04, \
.anim_4 = ANIM_SpyGuy_Anim02, \
.anim_5 = ANIM_SpyGuy_Anim02, \
.death = ANIM_SpyGuy_Anim0B, \
.hit = ANIM_SpyGuy_Anim0B, \
.anim_8 = ANIM_SpyGuy_Anim15, \
.anim_9 = ANIM_SpyGuy_Anim16, \
.anim_A = ANIM_SpyGuy_Anim02, \
.anim_B = ANIM_SpyGuy_Anim02, \
.anim_C = ANIM_SpyGuy_Anim02, \
.anim_D = ANIM_SpyGuy_Anim02, \
.anim_E = ANIM_SpyGuy_Anim02, \
.anim_F = ANIM_SpyGuy_Anim02, \
}

Definition at line 21 of file SpyGuy.h.

21#define SPY_GUY_ANIMS \
22{ \
23 .idle = ANIM_SpyGuy_Anim02, \
24 .walk = ANIM_SpyGuy_Anim04, \
25 .run = ANIM_SpyGuy_Anim05, \
26 .chase = ANIM_SpyGuy_Anim04, \
27 .anim_4 = ANIM_SpyGuy_Anim02, \
28 .anim_5 = ANIM_SpyGuy_Anim02, \
29 .death = ANIM_SpyGuy_Anim0B, \
30 .hit = ANIM_SpyGuy_Anim0B, \
31 .anim_8 = ANIM_SpyGuy_Anim15, \
32 .anim_9 = ANIM_SpyGuy_Anim16, \
33 .anim_A = ANIM_SpyGuy_Anim02, \
34 .anim_B = ANIM_SpyGuy_Anim02, \
35 .anim_C = ANIM_SpyGuy_Anim02, \
36 .anim_D = ANIM_SpyGuy_Anim02, \
37 .anim_E = ANIM_SpyGuy_Anim02, \
38 .anim_F = ANIM_SpyGuy_Anim02, \
39}

◆ SPY_GUY_ROCK_ANIMS

#define SPY_GUY_ROCK_ANIMS
Value:
{ \
.idle = ANIM_SpyGuy_Anim10, \
.walk = ANIM_SpyGuy_Anim10, \
.run = ANIM_SpyGuy_Anim10, \
.chase = ANIM_SpyGuy_Anim10, \
.anim_4 = ANIM_SpyGuy_Anim10, \
.anim_5 = ANIM_SpyGuy_Anim10, \
.death = ANIM_SpyGuy_Anim10, \
.hit = ANIM_SpyGuy_Anim10, \
.anim_8 = ANIM_SpyGuy_Anim10, \
.anim_9 = ANIM_SpyGuy_Anim10, \
.anim_A = ANIM_SpyGuy_Anim10, \
.anim_B = ANIM_SpyGuy_Anim10, \
.anim_C = ANIM_SpyGuy_Anim10, \
.anim_D = ANIM_SpyGuy_Anim10, \
.anim_E = ANIM_SpyGuy_Anim10, \
.anim_F = ANIM_SpyGuy_Anim10, \
}

Definition at line 41 of file SpyGuy.h.

41#define SPY_GUY_ROCK_ANIMS \
42{ \
43 .idle = ANIM_SpyGuy_Anim10, \
44 .walk = ANIM_SpyGuy_Anim10, \
45 .run = ANIM_SpyGuy_Anim10, \
46 .chase = ANIM_SpyGuy_Anim10, \
47 .anim_4 = ANIM_SpyGuy_Anim10, \
48 .anim_5 = ANIM_SpyGuy_Anim10, \
49 .death = ANIM_SpyGuy_Anim10, \
50 .hit = ANIM_SpyGuy_Anim10, \
51 .anim_8 = ANIM_SpyGuy_Anim10, \
52 .anim_9 = ANIM_SpyGuy_Anim10, \
53 .anim_A = ANIM_SpyGuy_Anim10, \
54 .anim_B = ANIM_SpyGuy_Anim10, \
55 .anim_C = ANIM_SpyGuy_Anim10, \
56 .anim_D = ANIM_SpyGuy_Anim10, \
57 .anim_E = ANIM_SpyGuy_Anim10, \
58 .anim_F = ANIM_SpyGuy_Anim10, \
59}

◆ SPY_GUY_ROCK_HITBOX

#define SPY_GUY_ROCK_HITBOX ( npcID)
Value:
{ \
.id = npcID, \
.settings = &N(NpcSettings_SpyGuyRock), \
.pos = { NPC_DISPOSE_LOCATION }, \
.yaw = 90, \
.drops = NO_DROPS, \
.territory = { \
.wander = { \
.isFlying = TRUE, \
.moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, \
.wanderShape = SHAPE_CYLINDER, \
.centerPos = { NPC_DISPOSE_LOCATION }, \
.wanderSize = { 0 }, \
.detectShape = SHAPE_CYLINDER, \
.detectPos = { NPC_DISPOSE_LOCATION }, \
.detectSize = { 0 }, \
} \
}, \
.animations = SPY_GUY_ROCK_ANIMS, \
}
#define SPY_GUY_ROCK_ANIMS
Definition SpyGuy.h:41
@ ENEMY_FLAG_NO_DROPS
Definition enums.h:4544
@ ENEMY_FLAG_FLYING
Definition enums.h:4532
@ ENEMY_FLAG_IGNORE_ENTITY_COLLISION
Definition enums.h:4531
@ ENEMY_FLAG_IGNORE_WORLD_COLLISION
Definition enums.h:4529
#define NO_DROPS
Definition npc.h:23
@ SHAPE_CYLINDER
Definition npc.h:197
#define NO_OVERRIDE_MOVEMENT_SPEED
Definition npc.h:78
#define NPC_DISPOSE_LOCATION
Definition macros.h:158

Definition at line 61 of file SpyGuy.h.

61#define SPY_GUY_ROCK_HITBOX(npcID) \
62{ \
63 .id = npcID, \
64 .settings = &N(NpcSettings_SpyGuyRock), \
65 .pos = { NPC_DISPOSE_LOCATION }, \
66 .yaw = 90, \
67 .flags = ENEMY_FLAG_IGNORE_WORLD_COLLISION | ENEMY_FLAG_IGNORE_ENTITY_COLLISION | ENEMY_FLAG_FLYING | ENEMY_FLAG_NO_DROPS, \
68 .drops = NO_DROPS, \
69 .territory = { \
70 .wander = { \
71 .isFlying = TRUE, \
72 .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, \
73 .wanderShape = SHAPE_CYLINDER, \
74 .centerPos = { NPC_DISPOSE_LOCATION }, \
75 .wanderSize = { 0 }, \
76 .detectShape = SHAPE_CYLINDER, \
77 .detectPos = { NPC_DISPOSE_LOCATION }, \
78 .detectSize = { 0 }, \
79 } \
80 }, \
81 .animations = SPY_GUY_ROCK_ANIMS, \
82}