1 #include "internals/enums.h"
2 
3 #include "game/Tactical/Animation_Control.h"
4 #include "game/Tactical/Soldier_Control.h"
5 
6 /** Return approach name or NULL if not found. */
getApproachName(enum Approach approach)7 const char* Internals::getApproachName(enum Approach approach)
8 {
9 	switch(approach)
10 	{
11 		case APPROACH_NONE:                           return "APPROACH_NONE";
12 		case APPROACH_FRIENDLY:                       return "APPROACH_FRIENDLY";
13 		case APPROACH_DIRECT:                         return "APPROACH_DIRECT";
14 		case APPROACH_THREATEN:                       return "APPROACH_THREATEN";
15 		case APPROACH_RECRUIT:                        return "APPROACH_RECRUIT";
16 		case APPROACH_REPEAT:                         return "APPROACH_REPEAT";
17 		case APPROACH_GIVINGITEM:                     return "APPROACH_GIVINGITEM";
18 		case NPC_INITIATING_CONV:                     return "NPC_INITIATING_CONV";
19 		case NPC_INITIAL_QUOTE:                       return "NPC_INITIAL_QUOTE";
20 		case NPC_WHOAREYOU:                           return "NPC_WHOAREYOU";
21 		case TRIGGER_NPC:                             return "TRIGGER_NPC";
22 		case APPROACH_GIVEFIRSTAID:                   return "APPROACH_GIVEFIRSTAID";
23 		case APPROACH_SPECIAL_INITIAL_QUOTE:          return "APPROACH_SPECIAL_INITIAL_QUOTE";
24 		case APPROACH_ENEMY_NPC_QUOTE:                return "APPROACH_ENEMY_NPC_QUOTE";
25 		case APPROACH_DECLARATION_OF_HOSTILITY:       return "APPROACH_DECLARATION_OF_HOSTILITY";
26 		case APPROACH_EPC_IN_WRONG_SECTOR:            return "APPROACH_EPC_IN_WRONG_SECTOR";
27 		case APPROACH_EPC_WHO_IS_RECRUITED:           return "APPROACH_EPC_WHO_IS_RECRUITED";
28 		case APPROACH_INITIAL_QUOTE:                  return "APPROACH_INITIAL_QUOTE";
29 		case APPROACH_CLOSING_SHOP:                   return "APPROACH_CLOSING_SHOP";
30 		case APPROACH_SECTOR_NOT_SAFE:                return "APPROACH_SECTOR_NOT_SAFE";
31 		case APPROACH_DONE_SLAPPED:                   return "APPROACH_DONE_SLAPPED";
32 		case APPROACH_DONE_PUNCH_0:                   return "APPROACH_DONE_PUNCH_0";
33 		case APPROACH_DONE_PUNCH_1:                   return "APPROACH_DONE_PUNCH_1";
34 		case APPROACH_DONE_PUNCH_2:                   return "APPROACH_DONE_PUNCH_2";
35 		case APPROACH_DONE_OPEN_STRUCTURE:            return "APPROACH_DONE_OPEN_STRUCTURE";
36 		case APPROACH_DONE_GET_ITEM:                  return "APPROACH_DONE_GET_ITEM";
37 		case APPROACH_DONE_GIVING_ITEM:               return "APPROACH_DONE_GIVING_ITEM";
38 		case APPROACH_DONE_TRAVERSAL:                 return "APPROACH_DONE_TRAVERSAL";
39 		case APPROACH_BUYSELL:                        return "APPROACH_BUYSELL";
40 		case APPROACH_ONE_OF_FOUR_STANDARD:           return "APPROACH_ONE_OF_FOUR_STANDARD";
41 		case APPROACH_FRIENDLY_DIRECT_OR_RECRUIT:     return "APPROACH_FRIENDLY_DIRECT_OR_RECRUIT";
42 		default:                                      return NULL;
43 	}
44 }
45 
getActionName(UINT8 action)46 const char* Internals::getActionName(UINT8 action)
47 {
48 	switch(action)
49 	{
50 		case MERC_OPENDOOR:                   return "OPENDOOR";
51 		case MERC_OPENSTRUCT:                 return "OPENSTRUCT";
52 		case MERC_PICKUPITEM:                 return "PICKUPITEM";
53 		case MERC_PUNCH:                      return "PUNCH";
54 		case MERC_KNIFEATTACK:                return "KNIFEATTACK";
55 		case MERC_GIVEAID:                    return "GIVEAID";
56 		case MERC_GIVEITEM:                   return "GIVEITEM";
57 		case MERC_WAITFOROTHERSTOTRIGGER:     return "WAITFOROTHERSTOTRIGGER";
58 		case MERC_CUTFFENCE:                  return "CUTFFENCE";
59 		case MERC_DROPBOMB:                   return "DROPBOMB";
60 		case MERC_STEAL:                      return "STEAL";
61 		case MERC_TALK:                       return "TALK";
62 		case MERC_ENTER_VEHICLE:              return "ENTER_VEHICLE";
63 		case MERC_REPAIR:                     return "REPAIR";
64 		case MERC_RELOADROBOT:                return "RELOADROBOT";
65 		case MERC_TAKEBLOOD:                  return "TAKEBLOOD";
66 		case MERC_ATTACH_CAN:                 return "ATTACH_CAN";
67 		case MERC_FUEL_VEHICLE:               return "FUEL_VEHICLE";
68 		case NO_PENDING_ACTION:               return "NOTHING";
69 		default:                              return "???";
70 	}
71 }
72 
73 /** Get animation name. */
getAnimationName(UINT16 animation)74 const char* Internals::getAnimationName(UINT16 animation)
75 {
76 	switch(animation)
77 	{
78 		case WALKING:                         return "WALKING";
79 		case STANDING:                        return "STANDING";
80 		case KNEEL_DOWN:                      return "KNEEL_DOWN";
81 		case CROUCHING:                       return "CROUCHING";
82 		case KNEEL_UP:                        return "KNEEL_UP";
83 		case SWATTING:                        return "SWATTING";
84 		case RUNNING:                         return "RUNNING";
85 		case PRONE_DOWN:                      return "PRONE_DOWN";
86 		case CRAWLING:                        return "CRAWLING";
87 		case PRONE_UP:                        return "PRONE_UP";
88 		case PRONE:                           return "PRONE";
89 		case READY_RIFLE_STAND:               return "READY_RIFLE_STAND";
90 		case AIM_RIFLE_STAND:                 return "AIM_RIFLE_STAND";
91 		case SHOOT_RIFLE_STAND:               return "SHOOT_RIFLE_STAND";
92 		case END_RIFLE_STAND:                 return "END_RIFLE_STAND";
93 		case START_SWAT:                      return "START_SWAT";
94 		case END_SWAT:                        return "END_SWAT";
95 		case FLYBACK_HIT:                     return "FLYBACK_HIT";
96 		case READY_RIFLE_PRONE:               return "READY_RIFLE_PRONE";
97 		case AIM_RIFLE_PRONE:                 return "AIM_RIFLE_PRONE";
98 		case SHOOT_RIFLE_PRONE:               return "SHOOT_RIFLE_PRONE";
99 		case END_RIFLE_PRONE:                 return "END_RIFLE_PRONE";
100 		case FALLBACK_DEATHTWICH:             return "FALLBACK_DEATHTWICH";
101 		case GENERIC_HIT_STAND:               return "GENERIC_HIT_STAND";
102 		case FLYBACK_HIT_BLOOD_STAND:         return "FLYBACK_HIT_BLOOD_STAND";
103 		case FLYBACK_HIT_DEATH:               return "FLYBACK_HIT_DEATH";
104 		case READY_RIFLE_CROUCH:              return "READY_RIFLE_CROUCH";
105 		case AIM_RIFLE_CROUCH:                return "AIM_RIFLE_CROUCH";
106 		case SHOOT_RIFLE_CROUCH:              return "SHOOT_RIFLE_CROUCH";
107 		case END_RIFLE_CROUCH:                return "END_RIFLE_CROUCH";
108 		case FALLBACK_HIT_STAND:              return "FALLBACK_HIT_STAND";
109 		case ROLLOVER:                        return "ROLLOVER";
110 		case CLIMBUPROOF:                     return "CLIMBUPROOF";
111 		case FALLOFF:                         return "FALLOFF";
112 		case GETUP_FROM_ROLLOVER:             return "GETUP_FROM_ROLLOVER";
113 		case CLIMBDOWNROOF:                   return "CLIMBDOWNROOF";
114 		case FALLFORWARD_ROOF:                return "FALLFORWARD_ROOF";
115 		case GENERIC_HIT_DEATHTWITCHNB:       return "GENERIC_HIT_DEATHTWITCHNB";
116 		case GENERIC_HIT_DEATHTWITCHB:        return "GENERIC_HIT_DEATHTWITCHB";
117 		case FALLBACK_HIT_DEATHTWITCHNB:      return "FALLBACK_HIT_DEATHTWITCHNB";
118 		case FALLBACK_HIT_DEATHTWITCHB:       return "FALLBACK_HIT_DEATHTWITCHB";
119 		case GENERIC_HIT_DEATH:               return "GENERIC_HIT_DEATH";
120 		case FALLBACK_HIT_DEATH:              return "FALLBACK_HIT_DEATH";
121 		case GENERIC_HIT_CROUCH:              return "GENERIC_HIT_CROUCH";
122 		case STANDING_BURST:                  return "STANDING_BURST";
123 		case STANDING_BURST_HIT:              return "STANDING_BURST_HIT";
124 		case FALLFORWARD_FROMHIT_STAND:       return "FALLFORWARD_FROMHIT_STAND";
125 		case FALLFORWARD_FROMHIT_CROUCH:      return "FALLFORWARD_FROMHIT_CROUCH";
126 		case ENDFALLFORWARD_FROMHIT_CROUCH:   return "ENDFALLFORWARD_FROMHIT_CROUCH";
127 		case GENERIC_HIT_PRONE:               return "GENERIC_HIT_PRONE";
128 		case PRONE_HIT_DEATH:                 return "PRONE_HIT_DEATH";
129 		case PRONE_LAY_FROMHIT:               return "PRONE_LAY_FROMHIT";
130 		case PRONE_HIT_DEATHTWITCHNB:         return "PRONE_HIT_DEATHTWITCHNB";
131 		case PRONE_HIT_DEATHTWITCHB:          return "PRONE_HIT_DEATHTWITCHB";
132 		case ADULTMONSTER_BREATHING:          return "ADULTMONSTER_BREATHING";
133 		case ADULTMONSTER_WALKING:            return "ADULTMONSTER_WALKING";
134 		case ADULTMONSTER_ATTACKING:          return "ADULTMONSTER_ATTACKING";
135 		case FLYBACK_HITDEATH_STOP:           return "FLYBACK_HITDEATH_STOP";
136 		case FALLFORWARD_HITDEATH_STOP:       return "FALLFORWARD_HITDEATH_STOP";
137 		case FALLBACK_HITDEATH_STOP:          return "FALLBACK_HITDEATH_STOP";
138 		case PRONE_HITDEATH_STOP:             return "PRONE_HITDEATH_STOP";
139 		case FLYBACKHIT_STOP:                 return "FLYBACKHIT_STOP";
140 		case FALLBACKHIT_STOP:                return "FALLBACKHIT_STOP";
141 		case FALLOFF_STOP:                    return "FALLOFF_STOP";
142 		case FALLOFF_FORWARD_STOP:            return "FALLOFF_FORWARD_STOP";
143 		case STAND_FALLFORWARD_STOP:          return "STAND_FALLFORWARD_STOP";
144 		case PRONE_LAYFROMHIT_STOP:           return "PRONE_LAYFROMHIT_STOP";
145 		case HOPFENCE:                        return "HOPFENCE";
146 		case ADULTMONSTER_HIT:                return "ADULTMONSTER_HIT";
147 		case ADULTMONSTER_DYING:              return "ADULTMONSTER_DYING";
148 		case ADULTMONSTER_DYING_STOP:         return "ADULTMONSTER_DYING_STOP";
149 		case PUNCH_BREATH:                    return "PUNCH_BREATH";
150 		case PUNCH:                           return "PUNCH";
151 		case NOTHING_STAND:                   return "NOTHING_STAND";
152 		case JFK_HITDEATH:                    return "JFK_HITDEATH";
153 		case JFK_HITDEATH_STOP:               return "JFK_HITDEATH_STOP";
154 		case JFK_HITDEATH_TWITCHB:            return "JFK_HITDEATH_TWITCHB";
155 		case FIRE_STAND_BURST_SPREAD:         return "FIRE_STAND_BURST_SPREAD";
156 		case FALLOFF_DEATH:                   return "FALLOFF_DEATH";
157 		case FALLOFF_DEATH_STOP:              return "FALLOFF_DEATH_STOP";
158 		case FALLOFF_TWITCHB:                 return "FALLOFF_TWITCHB";
159 		case FALLOFF_TWITCHNB:                return "FALLOFF_TWITCHNB";
160 		case FALLOFF_FORWARD_DEATH:           return "FALLOFF_FORWARD_DEATH";
161 		case FALLOFF_FORWARD_DEATH_STOP:      return "FALLOFF_FORWARD_DEATH_STOP";
162 		case FALLOFF_FORWARD_TWITCHB:         return "FALLOFF_FORWARD_TWITCHB";
163 		case FALLOFF_FORWARD_TWITCHNB:        return "FALLOFF_FORWARD_TWITCHNB";
164 		case OPEN_DOOR:                       return "OPEN_DOOR";
165 		case OPEN_STRUCT:                     return "OPEN_STRUCT";
166 		case PICKUP_ITEM:                     return "PICKUP_ITEM";
167 		case DROP_ITEM:                       return "DROP_ITEM";
168 		case SLICE:                           return "SLICE";
169 		case STAB:                            return "STAB";
170 		case CROUCH_STAB:                     return "CROUCH_STAB";
171 		case START_AID:                       return "START_AID";
172 		case GIVING_AID:                      return "GIVING_AID";
173 		case END_AID:                         return "END_AID";
174 		case DODGE_ONE:                       return "DODGE_ONE";
175 		case FATCIV_ASS_SCRATCH:              return "FATCIV_ASS_SCRATCH";
176 		case READY_DUAL_STAND:                return "READY_DUAL_STAND";
177 		case AIM_DUAL_STAND:                  return "AIM_DUAL_STAND";
178 		case SHOOT_DUAL_STAND:                return "SHOOT_DUAL_STAND";
179 		case END_DUAL_STAND:                  return "END_DUAL_STAND";
180 		case RAISE_RIFLE:                     return "RAISE_RIFLE";
181 		case LOWER_RIFLE:                     return "LOWER_RIFLE";
182 		case BODYEXPLODING:                   return "BODYEXPLODING";
183 		case THROW_ITEM:                      return "THROW_ITEM";
184 		case LOB_ITEM:                        return "LOB_ITEM";
185 		case QUEEN_MONSTER_BREATHING:         return "QUEEN_MONSTER_BREATHING";
186 		case CROUCHED_BURST:                  return "CROUCHED_BURST";
187 		case PRONE_BURST:                     return "PRONE_BURST";
188 		case NOTUSEDANIM1:                    return "NOTUSEDANIM1";
189 		case BIGBUY_FLEX:                     return "BIGBUY_FLEX";
190 		case BIGBUY_STRECH:                   return "BIGBUY_STRECH";
191 		case BIGBUY_SHOEDUST:                 return "BIGBUY_SHOEDUST";
192 		case BIGBUY_HEADTURN:                 return "BIGBUY_HEADTURN";
193 		case MINIGIRL_STOCKING:               return "MINIGIRL_STOCKING";
194 		case GIVE_ITEM:                       return "GIVE_ITEM";
195 		case CLIMB_CLIFF:                     return "CLIMB_CLIFF";
196 		case COW_EATING:                      return "COW_EATING";
197 		case COW_HIT:                         return "COW_HIT";
198 		case COW_DYING:                       return "COW_DYING";
199 		case COW_DYING_STOP:                  return "COW_DYING_STOP";
200 		case WATER_HIT:                       return "WATER_HIT";
201 		case WATER_DIE:                       return "WATER_DIE";
202 		case WATER_DIE_STOP:                  return "WATER_DIE_STOP";
203 		case CROW_WALK:                       return "CROW_WALK";
204 		case CROW_TAKEOFF:                    return "CROW_TAKEOFF";
205 		case CROW_LAND:                       return "CROW_LAND";
206 		case CROW_FLY:                        return "CROW_FLY";
207 		case CROW_EAT:                        return "CROW_EAT";
208 		case HELIDROP:                        return "HELIDROP";
209 		case FEM_CLEAN:                       return "FEM_CLEAN";
210 		case FEM_KICKSN:                      return "FEM_KICKSN";
211 		case FEM_LOOK:                        return "FEM_LOOK";
212 		case FEM_WIPE:                        return "FEM_WIPE";
213 		case REG_SQUISH:                      return "REG_SQUISH";
214 		case REG_PULL:                        return "REG_PULL";
215 		case REG_SPIT:                        return "REG_SPIT";
216 		case HATKID_YOYO:                     return "HATKID_YOYO";
217 		case KID_ARMPIT:                      return "KID_ARMPIT";
218 		case MONSTER_CLOSE_ATTACK:            return "MONSTER_CLOSE_ATTACK";
219 		case MONSTER_SPIT_ATTACK:             return "MONSTER_SPIT_ATTACK";
220 		case MONSTER_BEGIN_EATTING_FLESH:     return "MONSTER_BEGIN_EATTING_FLESH";
221 		case MONSTER_EATTING_FLESH:           return "MONSTER_EATTING_FLESH";
222 		case MONSTER_END_EATTING_FLESH:       return "MONSTER_END_EATTING_FLESH";
223 		case BLOODCAT_RUN:                    return "BLOODCAT_RUN";
224 		case BLOODCAT_STARTREADY:             return "BLOODCAT_STARTREADY";
225 		case BLOODCAT_READY:                  return "BLOODCAT_READY";
226 		case BLOODCAT_ENDREADY:               return "BLOODCAT_ENDREADY";
227 		case BLOODCAT_HIT:                    return "BLOODCAT_HIT";
228 		case BLOODCAT_DYING:                  return "BLOODCAT_DYING";
229 		case BLOODCAT_DYING_STOP:             return "BLOODCAT_DYING_STOP";
230 		case BLOODCAT_SWIPE:                  return "BLOODCAT_SWIPE";
231 		case NINJA_GOTOBREATH:                return "NINJA_GOTOBREATH";
232 		case NINJA_BREATH:                    return "NINJA_BREATH";
233 		case NINJA_LOWKICK:                   return "NINJA_LOWKICK";
234 		case NINJA_PUNCH:                     return "NINJA_PUNCH";
235 		case NINJA_SPINKICK:                  return "NINJA_SPINKICK";
236 		case END_OPEN_DOOR:                   return "END_OPEN_DOOR";
237 		case END_OPEN_LOCKED_DOOR:            return "END_OPEN_LOCKED_DOOR";
238 		case KICK_DOOR:                       return "KICK_DOOR";
239 		case CLOSE_DOOR:                      return "CLOSE_DOOR";
240 		case RIFLE_STAND_HIT:                 return "RIFLE_STAND_HIT";
241 		case DEEP_WATER_TRED:                 return "DEEP_WATER_TRED";
242 		case DEEP_WATER_SWIM:                 return "DEEP_WATER_SWIM";
243 		case DEEP_WATER_HIT:                  return "DEEP_WATER_HIT";
244 		case DEEP_WATER_DIE:                  return "DEEP_WATER_DIE";
245 		case DEEP_WATER_DIE_STOPPING:         return "DEEP_WATER_DIE_STOPPING";
246 		case DEEP_WATER_DIE_STOP:             return "DEEP_WATER_DIE_STOP";
247 		case LOW_TO_DEEP_WATER:               return "LOW_TO_DEEP_WATER";
248 		case DEEP_TO_LOW_WATER:               return "DEEP_TO_LOW_WATER";
249 		case GOTO_SLEEP:                      return "GOTO_SLEEP";
250 		case SLEEPING:                        return "SLEEPING";
251 		case WKAEUP_FROM_SLEEP:               return "WKAEUP_FROM_SLEEP";
252 		case FIRE_LOW_STAND:                  return "FIRE_LOW_STAND";
253 		case FIRE_BURST_LOW_STAND:            return "FIRE_BURST_LOW_STAND";
254 		case LARVAE_BREATH:                   return "LARVAE_BREATH";
255 		case LARVAE_HIT:                      return "LARVAE_HIT";
256 		case LARVAE_DIE:                      return "LARVAE_DIE";
257 		case LARVAE_DIE_STOP:                 return "LARVAE_DIE_STOP";
258 		case LARVAE_WALK:                     return "LARVAE_WALK";
259 		case INFANT_HIT:                      return "INFANT_HIT";
260 		case INFANT_DIE:                      return "INFANT_DIE";
261 		case INFANT_DIE_STOP:                 return "INFANT_DIE_STOP";
262 		case INFANT_ATTACK:                   return "INFANT_ATTACK";
263 		case INFANT_BEGIN_EATTING_FLESH:      return "INFANT_BEGIN_EATTING_FLESH";
264 		case INFANT_EATTING_FLESH:            return "INFANT_EATTING_FLESH";
265 		case INFANT_END_EATTING_FLESH:        return "INFANT_END_EATTING_FLESH";
266 		case MONSTER_UP:                      return "MONSTER_UP";
267 		case MONSTER_JUMP:                    return "MONSTER_JUMP";
268 		case STANDING_SHOOT_UNJAM:            return "STANDING_SHOOT_UNJAM";
269 		case CROUCH_SHOOT_UNJAM:              return "CROUCH_SHOOT_UNJAM";
270 		case PRONE_SHOOT_UNJAM:               return "PRONE_SHOOT_UNJAM";
271 		case STANDING_SHOOT_DWEL_UNJAM:       return "STANDING_SHOOT_DWEL_UNJAM";
272 		case STANDING_SHOOT_LOW_UNJAM:        return "STANDING_SHOOT_LOW_UNJAM";
273 		case READY_DUAL_CROUCH:               return "READY_DUAL_CROUCH";
274 		case AIM_DUAL_CROUCH:                 return "AIM_DUAL_CROUCH";
275 		case SHOOT_DUAL_CROUCH:               return "SHOOT_DUAL_CROUCH";
276 		case END_DUAL_CROUCH:                 return "END_DUAL_CROUCH";
277 		case CROUCH_SHOOT_DWEL_UNJAM:         return "CROUCH_SHOOT_DWEL_UNJAM";
278 		case ADJACENT_GET_ITEM:               return "ADJACENT_GET_ITEM";
279 		case CUTTING_FENCE:                   return "CUTTING_FENCE";
280 		case CRIPPLE_BEG:                     return "CRIPPLE_BEG";
281 		case CRIPPLE_HIT:                     return "CRIPPLE_HIT";
282 		case CRIPPLE_DIE:                     return "CRIPPLE_DIE";
283 		case CRIPPLE_DIE_STOP:                return "CRIPPLE_DIE_STOP";
284 		case CRIPPLE_DIE_FLYBACK:             return "CRIPPLE_DIE_FLYBACK";
285 		case CRIPPLE_DIE_FLYBACK_STOP:        return "CRIPPLE_DIE_FLYBACK_STOP";
286 		case CRIPPLE_KICKOUT:                 return "CRIPPLE_KICKOUT";
287 		case FROM_INJURED_TRANSITION:         return "FROM_INJURED_TRANSITION";
288 		case THROW_KNIFE:                     return "THROW_KNIFE";
289 		case KNIFE_BREATH:                    return "KNIFE_BREATH";
290 		case KNIFE_GOTOBREATH:                return "KNIFE_GOTOBREATH";
291 		case KNIFE_ENDBREATH:                 return "KNIFE_ENDBREATH";
292 		case ROBOTNW_HIT:                     return "ROBOTNW_HIT";
293 		case ROBOTNW_DIE:                     return "ROBOTNW_DIE";
294 		case ROBOTNW_DIE_STOP:                return "ROBOTNW_DIE_STOP";
295 		case CATCH_STANDING:                  return "CATCH_STANDING";
296 		case CATCH_CROUCHED:                  return "CATCH_CROUCHED";
297 		case PLANT_BOMB:                      return "PLANT_BOMB";
298 		case USE_REMOTE:                      return "USE_REMOTE";
299 		case START_COWER:                     return "START_COWER";
300 		case COWERING:                        return "COWERING";
301 		case END_COWER:                       return "END_COWER";
302 		case STEAL_ITEM:                      return "STEAL_ITEM";
303 		case SHOOT_ROCKET:                    return "SHOOT_ROCKET";
304 		case CIV_DIE2:                        return "CIV_DIE2";
305 		case SHOOT_MORTAR:                    return "SHOOT_MORTAR";
306 		case CROW_DIE:                        return "CROW_DIE";
307 		case SIDE_STEP:                       return "SIDE_STEP";
308 		case WALK_BACKWARDS:                  return "WALK_BACKWARDS";
309 		case BEGIN_OPENSTRUCT:                return "BEGIN_OPENSTRUCT";
310 		case END_OPENSTRUCT:                  return "END_OPENSTRUCT";
311 		case END_OPENSTRUCT_LOCKED:           return "END_OPENSTRUCT_LOCKED";
312 		case PUNCH_LOW:                       return "PUNCH_LOW";
313 		case PISTOL_SHOOT_LOW:                return "PISTOL_SHOOT_LOW";
314 		case DECAPITATE:                      return "DECAPITATE";
315 		case BLOODCAT_BITE_ANIM:              return "BLOODCAT_BITE_ANIM";
316 		case BIGMERC_IDLE_NECK:               return "BIGMERC_IDLE_NECK";
317 		case BIGMERC_CROUCH_TRANS_INTO:       return "BIGMERC_CROUCH_TRANS_INTO";
318 		case BIGMERC_CROUCH_TRANS_OUTOF:      return "BIGMERC_CROUCH_TRANS_OUTOF";
319 		case GOTO_PATIENT:                    return "GOTO_PATIENT";
320 		case BEING_PATIENT:                   return "BEING_PATIENT";
321 		case GOTO_DOCTOR:                     return "GOTO_DOCTOR";
322 		case BEING_DOCTOR:                    return "BEING_DOCTOR";
323 		case END_DOCTOR:                      return "END_DOCTOR";
324 		case GOTO_REPAIRMAN:                  return "GOTO_REPAIRMAN";
325 		case BEING_REPAIRMAN:                 return "BEING_REPAIRMAN";
326 		case END_REPAIRMAN:                   return "END_REPAIRMAN";
327 		case FALL_INTO_PIT:                   return "FALL_INTO_PIT";
328 		case ROBOT_WALK:                      return "ROBOT_WALK";
329 		case ROBOT_SHOOT:                     return "ROBOT_SHOOT";
330 		case QUEEN_HIT:                       return "QUEEN_HIT";
331 		case QUEEN_DIE:                       return "QUEEN_DIE";
332 		case QUEEN_DIE_STOP:                  return "QUEEN_DIE_STOP";
333 		case QUEEN_INTO_READY:                return "QUEEN_INTO_READY";
334 		case QUEEN_READY:                     return "QUEEN_READY";
335 		case QUEEN_END_READY:                 return "QUEEN_END_READY";
336 		case QUEEN_CALL:                      return "QUEEN_CALL";
337 		case QUEEN_SPIT:                      return "QUEEN_SPIT";
338 		case QUEEN_SWIPE:                     return "QUEEN_SWIPE";
339 		case RELOAD_ROBOT:                    return "RELOAD_ROBOT";
340 		case END_CATCH:                       return "END_CATCH";
341 		case END_CROUCH_CATCH:                return "END_CROUCH_CATCH";
342 		case AI_RADIO:                        return "AI_RADIO";
343 		case AI_CR_RADIO:                     return "AI_CR_RADIO";
344 		case TANK_SHOOT:                      return "TANK_SHOOT";
345 		case TANK_BURST:                      return "TANK_BURST";
346 		case QUEEN_SLAP:                      return "QUEEN_SLAP";
347 		case SLAP_HIT:                        return "SLAP_HIT";
348 		case TAKE_BLOOD_FROM_CORPSE:          return "TAKE_BLOOD_FROM_CORPSE";
349 		case VEHICLE_DIE:                     return "VEHICLE_DIE";
350 		case QUEEN_FRUSTRATED_SLAP:           return "QUEEN_FRUSTRATED_SLAP";
351 		case CHARIOTS_OF_FIRE:                return "CHARIOTS_OF_FIRE";
352 		case AI_PULL_SWITCH:                  return "AI_PULL_SWITCH";
353 		case MONSTER_MELT:                    return "MONSTER_MELT";
354 		case MERC_HURT_IDLE_ANIM:             return "MERC_HURT_IDLE_ANIM";
355 		case END_HURT_WALKING:                return "END_HURT_WALKING";
356 		case PASS_OBJECT:                     return "PASS_OBJECT";
357 		case DROP_ADJACENT_OBJECT:            return "DROP_ADJACENT_OBJECT";
358 		case READY_DUAL_PRONE:                return "READY_DUAL_PRONE";
359 		case AIM_DUAL_PRONE:                  return "AIM_DUAL_PRONE";
360 		case SHOOT_DUAL_PRONE:                return "SHOOT_DUAL_PRONE";
361 		case END_DUAL_PRONE:                  return "END_DUAL_PRONE";
362 		case PRONE_SHOOT_DWEL_UNJAM:          return "PRONE_SHOOT_DWEL_UNJAM";
363 		case PICK_LOCK:                       return "PICK_LOCK";
364 		case OPEN_DOOR_CROUCHED:              return "OPEN_DOOR_CROUCHED";
365 		case BEGIN_OPENSTRUCT_CROUCHED:       return "BEGIN_OPENSTRUCT_CROUCHED";
366 		case CLOSE_DOOR_CROUCHED:             return "CLOSE_DOOR_CROUCHED";
367 		case OPEN_STRUCT_CROUCHED:            return "OPEN_STRUCT_CROUCHED";
368 		case END_OPEN_DOOR_CROUCHED:          return "END_OPEN_DOOR_CROUCHED";
369 		case END_OPENSTRUCT_CROUCHED:         return "END_OPENSTRUCT_CROUCHED";
370 		case END_OPEN_LOCKED_DOOR_CROUCHED:   return "END_OPEN_LOCKED_DOOR_CROUCHED";
371 		case END_OPENSTRUCT_LOCKED_CROUCHED:  return "END_OPENSTRUCT_LOCKED_CROUCHED";
372 		case DRUNK_IDLE:                      return "DRUNK_IDLE";
373 		case CROWBAR_ATTACK:                  return "CROWBAR_ATTACK";
374 		case CIV_COWER_HIT:                   return "CIV_COWER_HIT";
375 		case BLOODCAT_WALK_BACKWARDS:         return "BLOODCAT_WALK_BACKWARDS";
376 		case MONSTER_WALK_BACKWARDS:          return "MONSTER_WALK_BACKWARDS";
377 		case KID_SKIPPING:                    return "KID_SKIPPING";
378 		case ROBOT_BURST_SHOOT:               return "ROBOT_BURST_SHOOT";
379 		case ATTACH_CAN_TO_STRING:            return "ATTACH_CAN_TO_STRING";
380 		case SWAT_BACKWARDS:                  return "SWAT_BACKWARDS";
381 		case JUMP_OVER_BLOCKING_PERSON:       return "JUMP_OVER_BLOCKING_PERSON";
382 		case REFUEL_VEHICLE:                  return "REFUEL_VEHICLE";
383 		case ROBOT_CAMERA_NOT_MOVING:         return "ROBOT_CAMERA_NOT_MOVING";
384 		case CRIPPLE_OPEN_DOOR:               return "CRIPPLE_OPEN_DOOR";
385 		case CRIPPLE_CLOSE_DOOR:              return "CRIPPLE_CLOSE_DOOR";
386 		case CRIPPLE_END_OPEN_DOOR:           return "CRIPPLE_END_OPEN_DOOR";
387 		case CRIPPLE_END_OPEN_LOCKED_DOOR:    return "CRIPPLE_END_OPEN_LOCKED_DOOR";
388 		case LOCKPICK_CROUCHED:               return "LOCKPICK_CROUCHED";
389 		default:                              return "???";
390 	}
391 }
392