Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
ShyGuy.h
Go to the documentation of this file.
1#include "common.h"
2#include "sprite/npc/ShyGuy.h"
3
4#define SHY_GUY_DROPS \
5{ \
6 .dropFlags = NPC_DROP_FLAG_80, \
7 .itemDropChance = 5, \
8 .itemDrops = { \
9 { ITEM_DIZZY_DIAL, 2, 0 }, \
10 { ITEM_SUPER_SHROOM, 2, 0 }, \
11 { ITEM_THUNDER_BOLT, 2, 0 }, \
12 { ITEM_DRIED_SHROOM, 2, 0 }, \
13 { ITEM_SLEEPY_SHEEP, 2, 0 }, \
14 { ITEM_POW_BLOCK, 2, 0 }, \
15 { ITEM_FRIGHT_JAR, 2, 0 }, \
16 }, \
17 .heartDrops = STANDARD_HEART_DROPS(2), \
18 .flowerDrops = STANDARD_FLOWER_DROPS(2), \
19 .minCoinBonus = 0, \
20 .maxCoinBonus = 2, \
21}
22
23// standard shy guys
24
25#define RED_SHY_GUY_ANIMS \
26{ \
27 .idle = ANIM_ShyGuy_Red_Anim01, \
28 .walk = ANIM_ShyGuy_Red_Anim02, \
29 .run = ANIM_ShyGuy_Red_Anim03, \
30 .chase = ANIM_ShyGuy_Red_Anim03, \
31 .anim_4 = ANIM_ShyGuy_Red_Anim01, \
32 .anim_5 = ANIM_ShyGuy_Red_Anim01, \
33 .death = ANIM_ShyGuy_Red_Anim0C, \
34 .hit = ANIM_ShyGuy_Red_Anim0C, \
35 .anim_8 = ANIM_ShyGuy_Red_Anim15, \
36 .anim_9 = ANIM_ShyGuy_Red_Anim12, \
37 .anim_A = ANIM_ShyGuy_Red_Anim11, \
38 .anim_B = ANIM_ShyGuy_Red_Anim10, \
39 .anim_C = ANIM_ShyGuy_Red_Anim05, \
40 .anim_D = ANIM_ShyGuy_Red_Anim01, \
41 .anim_E = ANIM_ShyGuy_Red_Anim01, \
42 .anim_F = ANIM_ShyGuy_Red_Anim01, \
43}
44
45#define BLUE_SHY_GUY_ANIMS \
46{ \
47 .idle = ANIM_ShyGuy_Blue_Anim01, \
48 .walk = ANIM_ShyGuy_Blue_Anim02, \
49 .run = ANIM_ShyGuy_Blue_Anim03, \
50 .chase = ANIM_ShyGuy_Blue_Anim03, \
51 .anim_4 = ANIM_ShyGuy_Blue_Anim01, \
52 .anim_5 = ANIM_ShyGuy_Blue_Anim01, \
53 .death = ANIM_ShyGuy_Blue_Anim0C, \
54 .hit = ANIM_ShyGuy_Blue_Anim0C, \
55 .anim_8 = ANIM_ShyGuy_Blue_Anim15, \
56 .anim_9 = ANIM_ShyGuy_Blue_Anim12, \
57 .anim_A = ANIM_ShyGuy_Blue_Anim11, \
58 .anim_B = ANIM_ShyGuy_Blue_Anim10, \
59 .anim_C = ANIM_ShyGuy_Blue_Anim05, \
60 .anim_D = ANIM_ShyGuy_Blue_Anim01, \
61 .anim_E = ANIM_ShyGuy_Blue_Anim01, \
62 .anim_F = ANIM_ShyGuy_Blue_Anim01, \
63}
64
65#define GREEN_SHY_GUY_ANIMS \
66{ \
67 .idle = ANIM_ShyGuy_Green_Anim01, \
68 .walk = ANIM_ShyGuy_Green_Anim02, \
69 .run = ANIM_ShyGuy_Green_Anim03, \
70 .chase = ANIM_ShyGuy_Green_Anim03, \
71 .anim_4 = ANIM_ShyGuy_Green_Anim01, \
72 .anim_5 = ANIM_ShyGuy_Green_Anim01, \
73 .death = ANIM_ShyGuy_Green_Anim0C, \
74 .hit = ANIM_ShyGuy_Green_Anim0C, \
75 .anim_8 = ANIM_ShyGuy_Green_Anim15, \
76 .anim_9 = ANIM_ShyGuy_Green_Anim12, \
77 .anim_A = ANIM_ShyGuy_Green_Anim11, \
78 .anim_B = ANIM_ShyGuy_Green_Anim10, \
79 .anim_C = ANIM_ShyGuy_Green_Anim05, \
80 .anim_D = ANIM_ShyGuy_Green_Anim01, \
81 .anim_E = ANIM_ShyGuy_Green_Anim01, \
82 .anim_F = ANIM_ShyGuy_Green_Anim01, \
83}
84
85#define PINK_SHY_GUY_ANIMS \
86{ \
87 .idle = ANIM_ShyGuy_Pink_Anim01, \
88 .walk = ANIM_ShyGuy_Pink_Anim02, \
89 .run = ANIM_ShyGuy_Pink_Anim03, \
90 .chase = ANIM_ShyGuy_Pink_Anim03, \
91 .anim_4 = ANIM_ShyGuy_Pink_Anim01, \
92 .anim_5 = ANIM_ShyGuy_Pink_Anim01, \
93 .death = ANIM_ShyGuy_Pink_Anim0C, \
94 .hit = ANIM_ShyGuy_Pink_Anim0C, \
95 .anim_8 = ANIM_ShyGuy_Pink_Anim15, \
96 .anim_9 = ANIM_ShyGuy_Pink_Anim12, \
97 .anim_A = ANIM_ShyGuy_Pink_Anim11, \
98 .anim_B = ANIM_ShyGuy_Pink_Anim10, \
99 .anim_C = ANIM_ShyGuy_Pink_Anim05, \
100 .anim_D = ANIM_ShyGuy_Pink_Anim01, \
101 .anim_E = ANIM_ShyGuy_Pink_Anim01, \
102 .anim_F = ANIM_ShyGuy_Pink_Anim01, \
103}
104
105#define YELLOW_SHY_GUY_ANIMS \
106{ \
107 .idle = ANIM_ShyGuy_Yellow_Anim01, \
108 .walk = ANIM_ShyGuy_Yellow_Anim02, \
109 .run = ANIM_ShyGuy_Yellow_Anim03, \
110 .chase = ANIM_ShyGuy_Yellow_Anim03, \
111 .anim_4 = ANIM_ShyGuy_Yellow_Anim01, \
112 .anim_5 = ANIM_ShyGuy_Yellow_Anim01, \
113 .death = ANIM_ShyGuy_Yellow_Anim0C, \
114 .hit = ANIM_ShyGuy_Yellow_Anim0C, \
115 .anim_8 = ANIM_ShyGuy_Yellow_Anim15, \
116 .anim_9 = ANIM_ShyGuy_Yellow_Anim12, \
117 .anim_A = ANIM_ShyGuy_Yellow_Anim11, \
118 .anim_B = ANIM_ShyGuy_Yellow_Anim10, \
119 .anim_C = ANIM_ShyGuy_Yellow_Anim05, \
120 .anim_D = ANIM_ShyGuy_Yellow_Anim01, \
121 .anim_E = ANIM_ShyGuy_Yellow_Anim01, \
122 .anim_F = ANIM_ShyGuy_Yellow_Anim01, \
123}
124
125#define ANTI_GUY_ANIMS \
126{ \
127 .idle = ANIM_ShyGuy_Black_Anim01, \
128 .walk = ANIM_ShyGuy_Black_Anim02, \
129 .run = ANIM_ShyGuy_Black_Anim03, \
130 .chase = ANIM_ShyGuy_Black_Anim02, \
131 .anim_4 = ANIM_ShyGuy_Black_Anim01, \
132 .anim_5 = ANIM_ShyGuy_Black_Anim01, \
133 .death = ANIM_ShyGuy_Black_Anim0C, \
134 .hit = ANIM_ShyGuy_Black_Anim0C, \
135 .anim_8 = ANIM_ShyGuy_Black_Anim15, \
136 .anim_9 = ANIM_ShyGuy_Black_Anim12, \
137 .anim_A = ANIM_ShyGuy_Black_Anim11, \
138 .anim_B = ANIM_ShyGuy_Black_Anim10, \
139 .anim_C = ANIM_ShyGuy_Black_Anim05, \
140 .anim_D = ANIM_ShyGuy_Black_Anim01, \
141 .anim_E = ANIM_ShyGuy_Black_Anim01, \
142 .anim_F = ANIM_ShyGuy_Black_Anim01, \
143}
144
145// shy guys who avoid the player
146
147#define RED_AVOID_SHY_GUY_ANIMS \
148{ \
149 .idle = ANIM_ShyGuy_Red_Anim01, \
150 .walk = ANIM_ShyGuy_Red_Anim02, \
151 .run = ANIM_ShyGuy_Red_Anim04, \
152 .chase = ANIM_ShyGuy_Red_Anim04, \
153 .anim_4 = ANIM_ShyGuy_Red_Anim01, \
154 .anim_5 = ANIM_ShyGuy_Red_Anim01, \
155 .death = ANIM_ShyGuy_Red_Anim0C, \
156 .hit = ANIM_ShyGuy_Red_Anim0C, \
157 .anim_8 = ANIM_ShyGuy_Red_Anim15, \
158 .anim_9 = ANIM_ShyGuy_Red_Anim12, \
159 .anim_A = ANIM_ShyGuy_Red_Anim11, \
160 .anim_B = ANIM_ShyGuy_Red_Anim10, \
161 .anim_C = ANIM_ShyGuy_Red_Anim05, \
162 .anim_D = ANIM_ShyGuy_Red_Anim01, \
163 .anim_E = ANIM_ShyGuy_Red_Anim01, \
164 .anim_F = ANIM_ShyGuy_Red_Anim01, \
165}
166
167#define BLUE_AVOID_SHY_GUY_ANIMS \
168{ \
169 .idle = ANIM_ShyGuy_Blue_Anim01, \
170 .walk = ANIM_ShyGuy_Blue_Anim02, \
171 .run = ANIM_ShyGuy_Blue_Anim04, \
172 .chase = ANIM_ShyGuy_Blue_Anim04, \
173 .anim_4 = ANIM_ShyGuy_Blue_Anim01, \
174 .anim_5 = ANIM_ShyGuy_Blue_Anim01, \
175 .death = ANIM_ShyGuy_Blue_Anim0C, \
176 .hit = ANIM_ShyGuy_Blue_Anim0C, \
177 .anim_8 = ANIM_ShyGuy_Blue_Anim15, \
178 .anim_9 = ANIM_ShyGuy_Blue_Anim12, \
179 .anim_A = ANIM_ShyGuy_Blue_Anim11, \
180 .anim_B = ANIM_ShyGuy_Blue_Anim10, \
181 .anim_C = ANIM_ShyGuy_Blue_Anim05, \
182 .anim_D = ANIM_ShyGuy_Blue_Anim01, \
183 .anim_E = ANIM_ShyGuy_Blue_Anim01, \
184 .anim_F = ANIM_ShyGuy_Blue_Anim01, \
185}
186
187#define GREEN_AVOID_SHY_GUY_ANIMS \
188{ \
189 .idle = ANIM_ShyGuy_Green_Anim01, \
190 .walk = ANIM_ShyGuy_Green_Anim02, \
191 .run = ANIM_ShyGuy_Green_Anim04, \
192 .chase = ANIM_ShyGuy_Green_Anim04, \
193 .anim_4 = ANIM_ShyGuy_Green_Anim01, \
194 .anim_5 = ANIM_ShyGuy_Green_Anim01, \
195 .death = ANIM_ShyGuy_Green_Anim0C, \
196 .hit = ANIM_ShyGuy_Green_Anim0C, \
197 .anim_8 = ANIM_ShyGuy_Green_Anim15, \
198 .anim_9 = ANIM_ShyGuy_Green_Anim12, \
199 .anim_A = ANIM_ShyGuy_Green_Anim11, \
200 .anim_B = ANIM_ShyGuy_Green_Anim10, \
201 .anim_C = ANIM_ShyGuy_Green_Anim05, \
202 .anim_D = ANIM_ShyGuy_Green_Anim01, \
203 .anim_E = ANIM_ShyGuy_Green_Anim01, \
204 .anim_F = ANIM_ShyGuy_Green_Anim01, \
205}
206
207#define PINK_AVOID_SHY_GUY_ANIMS \
208{ \
209 .idle = ANIM_ShyGuy_Pink_Anim01, \
210 .walk = ANIM_ShyGuy_Pink_Anim02, \
211 .run = ANIM_ShyGuy_Pink_Anim04, \
212 .chase = ANIM_ShyGuy_Pink_Anim04, \
213 .anim_4 = ANIM_ShyGuy_Pink_Anim01, \
214 .anim_5 = ANIM_ShyGuy_Pink_Anim01, \
215 .death = ANIM_ShyGuy_Pink_Anim0C, \
216 .hit = ANIM_ShyGuy_Pink_Anim0C, \
217 .anim_8 = ANIM_ShyGuy_Pink_Anim15, \
218 .anim_9 = ANIM_ShyGuy_Pink_Anim12, \
219 .anim_A = ANIM_ShyGuy_Pink_Anim11, \
220 .anim_B = ANIM_ShyGuy_Pink_Anim10, \
221 .anim_C = ANIM_ShyGuy_Pink_Anim05, \
222 .anim_D = ANIM_ShyGuy_Pink_Anim01, \
223 .anim_E = ANIM_ShyGuy_Pink_Anim01, \
224 .anim_F = ANIM_ShyGuy_Pink_Anim01, \
225}
226
227#define YELLOW_AVOID_SHY_GUY_ANIMS \
228{ \
229 .idle = ANIM_ShyGuy_Yellow_Anim01, \
230 .walk = ANIM_ShyGuy_Yellow_Anim02, \
231 .run = ANIM_ShyGuy_Yellow_Anim04, \
232 .chase = ANIM_ShyGuy_Yellow_Anim04, \
233 .anim_4 = ANIM_ShyGuy_Yellow_Anim01, \
234 .anim_5 = ANIM_ShyGuy_Yellow_Anim01, \
235 .death = ANIM_ShyGuy_Yellow_Anim0C, \
236 .hit = ANIM_ShyGuy_Yellow_Anim0C, \
237 .anim_8 = ANIM_ShyGuy_Yellow_Anim15, \
238 .anim_9 = ANIM_ShyGuy_Yellow_Anim12, \
239 .anim_A = ANIM_ShyGuy_Yellow_Anim11, \
240 .anim_B = ANIM_ShyGuy_Yellow_Anim10, \
241 .anim_C = ANIM_ShyGuy_Yellow_Anim05, \
242 .anim_D = ANIM_ShyGuy_Yellow_Anim01, \
243 .anim_E = ANIM_ShyGuy_Yellow_Anim01, \
244 .anim_F = ANIM_ShyGuy_Yellow_Anim01, \
245}