1 #ifndef Z_BOSS_H
2 #define Z_BOSS_H
3 
4 /*
5 	Boss constants
6 
7 /zaero/models/monsters/bossz/mech/tris.md2
8 
9 001-031 Idle1 (waves arms around menacingly)
10 032-056 Idle2 (grapple thing)
11 
12 057-066 RHook (raises weapon from Idle to fire Grappling Hook or Rockets)
13  - weapon arm rotates as it raises
14 
15 067-070 RCannon (raises weapon from Idle to fire Cannon)
16 
17 071-091 Attack1a (fires 7 Rockets)
18  - you can skip some frames if not firing all 7 rockets and jump to the reload sequence next
19  - (33, 50, 5) frame071
20  - (27, 39, 5) frame074
21  - (39, 39, 5) frame077
22  - (27, 44, 5) frame080
23  - (39, 44, 5) frame083
24  - (29, 48, 5) frame086
25  - (38, 48, 5) frame089
26 
27 092-098 Attack1b (reloads rockets)
28 
29 099-106 Attack2a (fires Grappling Hook)
30  - (34, 24, 3) frame104
31 
32 107-109 Attack2b (reels in Grappling Hook)
33  - loop as long as neccessary
34  - return hook to (34, 24, 5) approx. (arm is moving round)
35 
36 110-118 Attack2c (punch/swing, use at end of grapple attack2b)
37 
38 119-132 Attack3 (Cannon)
39  - spread is approx 50 degress wide
40  - (30, 44, 19) 25 degrees left of target, frame119
41  - (32, 33, 14) 16 degrees left of target, frame121
42  - (32, 45, 4) 8 degrees left of target, frame123
43  - (32, 34, 2) towards target, frame125
44  - (32, 49, -7) 8 degrees right of target, frame127
45  - (34, 36, -6) 16 degrees right of target, frame129
46  - (34, 36, -6) 16 degrees right of target, frame131
47 
48 133-135 LCannon (lowers weapon from Cannon firing to Idle)
49 136-141 LHook (lowers weapon from Grappling Hook or Rocket firing to Idle)
50 
51 142-147 H2C (switches from Rocket firing to Cannon)
52 148-153 C2H (switches from Cannon firing to Grappling Hook or Rockets)
53 - use these to switch from one attack to another without resetting to Idle
54 
55 154-160 Walk1 (steps out from Idle on left foot)
56 161-169 Walk2 (steps forward on right foot)
57 170-176 Walk3 (steps forward on left foot)
58 177-184 Walk4 (steps to Idle on right foot)
59 
60 185-187 Pain1 (short)
61 188-192 Pain2 (medium)
62 193-217 Pain3 (very long)
63 
64 218-236 Death1 (falls over backwards)
65 
66 237-281 Death2 (head blown off)
67  - steps forward to gain balance
68  - rocket (25, 26, 26) frame249
69  - rocket (20, 21, 16) frame250
70  - rocket (30, 20, 17) frame251
71  - rocket (17, 16, 8) frame252
72  - rocket (30, 16, 10) frame253
73  - rocket (25, 18, 0) frame254
74  - rocket (30, 27, -17) frame255
75  - cannon (33, 46, -9) 20 degrees right of target, frame257
76  - cannon (37, 31, -3) 15 degrees right of target, frame258
77  - cannon (24, 19, 21) 25 degrees left of target, frame264
78  - grappling (28, -8, 35) straight up end of death2 seq.
79    (make grapple hook only occur 15% of the time)
80 
81 
82 /zaero/models/monsters/bossz/grapple/tris.md2
83 
84 282-282 Grapple1 (shooting out)
85 283-283 Grapple2 (retracting)
86 
87 */
88 
89 #define FRAME_stand1start	    1
90 #define FRAME_stand1end		    31
91 #define FRAME_stand2start	    32
92 #define FRAME_stand2end		    56
93 #define FRAME_preHookStart		57
94 #define FRAME_preHookEnd			66
95 #define FRAME_preCannonStart	67
96 #define FRAME_preCannonEnd		70
97 #define FRAME_attack1aStart   71
98 #define FRAME_attack1aEnd	    91
99 #define FRAME_attack1bStart   92
100 #define FRAME_attack1bEnd	    98
101 #define FRAME_attack2aStart   99
102 #define FRAME_attack2aEnd	    106
103 #define FRAME_attack2bStart   107
104 #define FRAME_attack2bEnd	    109
105 #define FRAME_attack2cStart   110
106 #define FRAME_attack2cEnd	    118
107 #define FRAME_attack3Start		119
108 #define FRAME_attack3End	    132
109 #define FRAME_postCannonStart	133
110 #define FRAME_postCannonEnd		135
111 #define FRAME_postHookStart		136
112 #define FRAME_postHookEnd			141
113 #define FRAME_attackH2CStart	142
114 #define FRAME_attackH2CEnd		147
115 #define FRAME_attackC2HStart	148
116 #define FRAME_attackC2HEnd		153
117 #define FRAME_preWalkStart 	  154
118 #define FRAME_preWalkEnd   	  160
119 #define FRAME_walkStart 	    161
120 #define FRAME_walkEnd   	    176
121 #define FRAME_postWalkStart 	177
122 #define FRAME_postWalkEnd   	184
123 #define FRAME_pain1Start	    185
124 #define FRAME_pain1End		    187
125 #define FRAME_pain2Start	    188
126 #define FRAME_pain2End		    192
127 #define FRAME_pain3Start	    193
128 #define FRAME_pain3End		    217
129 #define FRAME_die1Start		    218
130 #define FRAME_die1End		      236
131 #define FRAME_die2Start		    237
132 #define FRAME_die2End		      281
133 
134 #define MODEL_SCALE	1.000
135 
136 #endif
137