CombatAction (000000CC)

From SWGANH Wiki
Jump to: navigation, search

Object Controller - CombatAction (000000CC)

SWGANH Wiki is a repository of Star Wars Galaxies Developer information. This site is only meant to be used by SWGANH Developer team.

Struct


INT:	ActionCRC
LONG:	AttackerID
LONG:	WeaponID
BYTE:	AttackerEndPosture
BYTE:	TrailsBitFlag
BYTE:	AttackerCombatSpecialMoveEffect
SHORT:	DefenderList
{
  LONG:	DefenderID
  BYTE:	DefenderEndPosture
  BYTE:	HitType
  BYTE:	DefenderCombatSpecialMoveEffect
}

Variable Descriptions


Flags = 1B
ControllerID = 000000CD

  • ActionCRC:

The SWGCRC of the combat action being performed. Taken from combat/combat_manager.iff as an ENTRKEY tag.

  • AttackerID:

The ObjectID of the CreatureObject performing the combat action.

  • WeaponID:

The ObjectID of the Weapon being used in the action (pistol,sword,grenade,etc).

  • AttackerEndPosture:

The PostureID to put the attacker into after performing the action.

  • TrailsBitFlag:

Bit Flags used to mark which trails to turn on for the combat animation. Trails are the red light that follow the player or their weapon, and also include lightsaber trails.

Flags Are: 0x01 - left_foot 0x02 - right_foot 0x04 - left_hand 0x08 - right_hand 0x10 - weapon

  • CombatSpecialMoveEffect:

This is the same for attacker and defender. This byte is currently disabled in the client, even when enabled, the textures are missing so it WILL NOT display anything besides debug errors. These WERE to be used for changing and animating state changes however that was moved out onto client effects. These values are taken from combat/special_move_visuals.iff. You may always just send 0 for this.


  • CombatSpecialMoveEffects:

0x0 - NONE 0x1 - target 0x2 - blinded 0x3 - damage 0x4 - dizzied 0x5 - duck 0x6 - intimidated 0x7 - knockdown 0x8 - startle 0x9 - startled 0xA - stunned 0xB - surprised 0xC - target_body 0xD - target_head 0xE - target_leg

  • DefenderID:

The ObjectID of the CreatureObject defending against the attacker on this action. No Defender is listed if the action only applies to the attacker themselves. Also: The client is restricted to only allowing 1 Defender to be listed per action.

  • DefenderEndPosture:

The PostureID to put the Defender into after the attack action is completed. The Defender may only be forced into a posture if the ENTRKEY has that PostureID listed as one of its options. These are marked with a ENTRPOST tag in the combat/combat_manager.iff file. Otherwise the posture WILL NOT WORK.

  • PosturesFromCombatManager:

0x0 - Standing 0x1 - Kneeling 0x2 - Prone 0xD - Incapacitated

  • HitType:

This is the result type of the combat action (miss,hit,dodge,etc). It is also called Disposition in the client assembly. Every ENTRKEY has a list of possible dispositions for that action, given by a ENTRDISP key.Not all options are available for every combat action so refer to combat/combat_manager.iff for info.

Dispositions: 0x0 - MISS 0x1 - HIT 0x2 - BLOCK 0x3 - DODGE 0x5 - COUNTER 0x7 - RICOCHET 0x8 - REFLECT 0x9 - REFLECT_TO_TARGET

CommonToMelee:0,1,2,3,5 CommonToRanged:0,1,3,7

Tags


OCM This header is part of the ObjControllerMessage.

100% This packet has been completely reversed.

Example Packet

05 00 			   'Opperand Count
46 5E CE 80 		   'ObjController
1B 00 00 00 		   'Sub-Op
CC 00 00 00 		   'CommandOp
19 00 00 00 00 00 00 00   'Reciepeint ID
00 00 00 00 		   'Spacing
08 E3 38 40 		   'Animation CRC
19 00 00 00 00 00 00 00   'Character ID
3A 00 00 00 00 00 00 00   'Character ID + Weapon ID Offset (58)
00 			   'Posture
FF FF 			   'Red Tail
01 00 			   'Num of Defenders
7C 1B 06 00 00 00 00 00   'Defender ID
00                        'posture of defender
01 00 
C2 AD


CRC List


Combat CRC List
Name NBYTE
fire_single 0xA198F47D
fire_burst 0xC5ACFDD8
fire_suppression 0x9DC309E9
ranged_coup_de_grace 0x18E40286
unarmed_coup_de_grace 0x96008CB9
melee_coup_de_grace 0xAA69DF3
fire_acrobatic 0xBF7F2AA
tumble_facing 0x1E904B4F
tumble 0x9D2BC971
warcry 0x2C71E1EA
force_throw_1_arc_particle_level_1_light 0xA32D4F4F
force_throw_1_arc_particle_level_1_medium 0xD38F8A6
force_throw_1_particle_level_1_light 0xA12F155B
force_throw_1_particle_level_1_medium 0xA197EFA3
force_mind_blast_1_arc_particle_level_1_light 0x2F6BDDB3
force_mind_blast_1_arc_particle_level_1_medium 0x60D20A88
force_mind_blast_1_particle_level_1_light 0x3F37228A
force_mind_blast_1_particle_level_1_medium 0xFF5FAD81
force_knockdown_1_particle_level_1 0xCE4B23A1
force_knockdown_1_arc_particle_level_1 0x542EE645
force_intimidate 0x73C5BE9D
force_intimidate_chain 0xA982DE84
force_weaken_1_arc_particle_level_1_light 0xD9B51B63
force_weaken_1_arc_particle_level_1_medium 0x896F4F5F
force_weaken_1_particle_level_1_light 0x60BBC63C
force_weaken_1_particle_level_1_medium 0x33C099C2
force_healing_1 0xBF050580
force_drain_1 0xE6D39F0C
force_transfer_1 0xFA3497F6
mind_trick_1 0x895A4380
force_lightning_1_particle_level_1_light 0xF14F310A
force_lightning_1_particle_level_1_medium 0x1171D9FB
force_lightning_1_particle_level_2_light 0xC2F7C8DB
force_lightning_1_particle_level_2_medium 0x4F143B17
force_lightning_1_particle_level_3_light 0xD39F9F94
force_lightning_1_particle_level_3_medium 0x85C89A4C
force_lightning_1_particle_level_4_light 0x139AFA7C
force_lightning_1_particle_level_4_medium 0x44C33ECA
force_lightning_1_particle_level_5_light 0x2F2AD33
force_lightning_1_particle_level_5_medium 0x8E1F9F91
force_lightning_1_arc_particle_level_1_light 0x73D92090
force_lightning_1_arc_particle_level_1_medium 0x591ED8E0
force_lightning_1_arc_particle_level_2_light 0x4061D941
force_lightning_1_arc_particle_level_2_medium 0x77B3A0C
force_lightning_1_arc_particle_level_3_light 0x51098E0E
force_lightning_1_arc_particle_level_3_medium 0xCDA79B57
force_lightning_1_arc_particle_level_4_light 0x910CEBE6
force_lightning_1_arc_particle_level_4_medium 0xCAC3FD1
force_lightning_1_arc_particle_level_5_light 0x8064BCA9
force_lightning_1_arc_particle_level_5_medium 0xC6709E8A
force_choke_1_arc_particle_level_1_light 0x18B5E779
force_choke_1_arc_particle_level_1_medium 0x2FA3D4C0
force_choke_1_particle_level_1_light 0x45CD3B94
force_choke_1_particle_level_1_medium 0x855EC8E8
force_channel_2_particles_light 0x43869982
force_channel_2_particles_medium 0x47CE141C
force_channel_1_particle_light 0xBAA5A7B5
force_channel_1_particle_medium 0xD20A42E8
force_blast_2_particles_light 0x85BCDAC5
force_blast_2_particles_medium 0x3528EF75
force_blast_1_particle_light 0xE0D07B0D
force_blast_1_particle_medium 0x143001AF
force_absorb_2_particles_light 0x129732F9
force_absorb_2_particles_medium 0xC149FA7C
force_absorb_1_particle_light 0xD9DEB6D
force_absorb_1_particle_medium 0x831BE993
point_and_laugh 0x952A74B9
intimidate 0x5027C538
rescue 0xEE6E222F
fire_defender_posture_change_up 0x4CCDBF4E
fire_defender_posture_change_down 0xAEBEC072
fire_area_light 0x20A82F7F
fire_area_medium 0x9DD64F12
fire_area_no_trails_light 0x74B8822B
fire_area_no_trails_medium 0x465FCCD4
fire_5_single_medium 0xD1126A8A
fire_5_single_light 0xFFBB704B
fire_5_single_medium_face 0xBB5B427
fire_5_single_light_face 0x199B6040
fire_7_single_medium 0x82CDB434
fire_7_single_light 0x7D269FC4
fire_7_single_medium_face 0xA7AAB14F
fire_7_single_light_face 0xAB8B5754
fire_9_single_medium 0xE2F7EF01
fire_9_single_light 0x2AD05266
fire_9_single_medium_face 0x54E96B53
fire_9_single_light_face 0xB5F8D238
fire_5_special_single_light 0xCC61B17C
fire_5_special_single_medium 0x441CC581
fire_5_special_single_light_face 0xB1ED3658
fire_5_special_single_medium_face 0xC32BDB1B
fire_3_single_light 0xCE0081DF
fire_3_single_medium 0x936EC84D
fire_3_single_light_face 0xCFAA397C
fire_3_single_medium_face 0xFF95BB9F
fire_3_special_single_light 0x8EEA3C5C
fire_3_special_single_medium 0xA4E86D94
fire_3_special_single_light_face 0xC9BF89A5
fire_3_special_single_medium_face 0x1928FC1C
fire_1_single_light 0x4C9D6E50
fire_1_single_medium 0xC0B116F3
fire_1_single_light_face 0x7DBA0E68
fire_1_single_medium_face 0x538ABEF7
fire_1_special_single_light 0xDD98F8BF
fire_1_special_single_medium 0x4BBF598
fire_1_special_single_light_face 0x8C7A5C0D
fire_1_special_single_medium_face 0xAFD61E1E
test_swoosh 0x12CCB50E
test_homing 0x25355503
test_heavy_weapon 0x263ADB53
test_heavy_weapon_particle_system 0x76598837
test_sword_ricochet 0xE30B91AA
test_sword_throw 0x7DAE60BF
test_flamethrower_arc 0x737DB3A3
test_lightning_1 0xDB614110
test_lightning_2 0x247021D
test_lightning_passive_actors 0xE0FD567
fire_flame_thrower_cone_1_light 0xF338D78F
fire_flame_thrower_cone_1_medium 0x94F86763
fire_flame_thrower_cone_2_light 0xC0802E5E
fire_flame_thrower_cone_2_medium 0xCA9D858F
fire_flame_thrower_single_1_light 0xA4AE26EC
fire_flame_thrower_single_1_medium 0xDA4F1733
fire_flame_thrower_single_2_light 0x9716DF3D
fire_flame_thrower_single_2_medium 0x842AF5DF
fire_lightning_rifle_single_1_light 0xFA1A12B7
fire_lightning_rifle_single_1_medium 0xBC717F54
fire_lightning_rifle_single_2_light 0xC9A2EB66
fire_lightning_rifle_single_2_medium 0xE2149DB8
fire_acid_rifle_single_1_light 0x24BA04B1
fire_acid_rifle_single_1_medium 0xEE25958
fire_acid_rifle_single_2_light 0x1702FD60
fire_acid_rifle_single_2_medium 0x5087BBB4
test_flamethrower 0x71DEA592
saberthrow_posture_change 0x298A023F
saberthrow_light 0x3737DE16
saberthrow_medium 0x5F7BC6D
fire_heavy_rocket_launcher_light 0xB3743368
fire_heavy_rocket_launcher_medium 0xE8CEC55C
fire_heavy_particle_beam_light 0xF61155B7
fire_heavy_particle_beam_medium 0xBC7D7413
fire_heavy_lightning_beam_light 0x28C12D20
fire_heavy_lightning_beam_medium 0x27C8FE50
fire_heavy_acid_beam_light 0xFCB2CA1A
fire_heavy_acid_beam_medium 0x61A7354C
change_posture 0x450229AB
posture_scramble 0xA620916D
dodge 0x4FF30E4
go_incapacitated 0x82021A0D
get_hit_light 0xC1496B10
get_hit_medium 0xB74C44C2
attack_high_left_light_0 0x28664799
attack_high_center_light_0 0x917B54F5
attack_high_right_light_0 0xEC73E23C
attack_mid_left_light_0 0xCC03407
attack_mid_center_light_0 0xD0FFC443
attack_mid_right_light_0 0x78CCD756
attack_low_left_light_0 0xFBCA414B
attack_low_center_light_0 0xEB876830
attack_low_right_light_0 0x6BD05722
attack_high_left_medium_0 0xFB582775
attack_high_center_medium_0 0x8BC93FF
attack_high_right_medium_0 0x9EA1D836
attack_mid_left_medium_0 0x6FE7121F
attack_mid_center_medium_0 0xC43DAFC8
attack_mid_right_medium_0 0xDF254880
attack_low_left_medium_0 0x7CFB926B
attack_low_center_medium_0 0xFA3D2089
attack_low_right_medium_0 0xE45DE4F3
attack_high_left_light_1 0x9F7B869D
attack_high_center_light_1 0x266695F1
attack_high_right_light_1 0x5B6E2338
attack_mid_left_light_1 0xBBDDF503
attack_mid_center_light_1 0x67E20547
attack_mid_right_light_1 0xCFD11652
attack_low_left_light_1 0x4CD7804F
attack_low_center_light_1 0x5C9AA934
attack_low_right_light_1 0xDCCD9626
attack_high_left_medium_1 0x4C45E671
attack_high_center_medium_1 0xBFA152FB
attack_high_right_medium_1 0x29BC1932
attack_mid_left_medium_1 0xD8FAD31B
attack_mid_center_medium_1 0x73206ECC
attack_mid_right_medium_1 0x68388984
attack_low_left_medium_1 0xCBE6536F
attack_low_center_medium_1 0x4D20E18D
attack_low_right_medium_1 0x534025F7
attack_high_left_light_2 0x465DC590
attack_high_center_light_2 0xFF40D6FC
attack_high_right_light_2 0x82486035
attack_mid_left_light_2 0x62FBB60E
attack_mid_center_light_2 0xBEC4464A
attack_mid_right_light_2 0x16F7555F
attack_low_left_light_2 0x95F1C342
attack_low_center_light_2 0x85BCEA39
attack_low_right_light_2 0x5EBD52B
attack_high_left_medium_2 0x9563A57C
attack_high_center_medium_2 0x668711F6
attack_high_right_medium_2 0xF09A5A3F
attack_mid_left_medium_2 0x1DC9016
attack_mid_center_medium_2 0xAA062DC1
attack_mid_right_medium_2 0xB11ECA89
attack_low_left_medium_2 0x12C01062
attack_low_center_medium_2 0x9406A280
attack_low_right_medium_2 0x8A6666FA
attack_high_left_light_3 0xF1400494
attack_high_center_light_3 0x485D17F8
attack_high_right_light_3 0x3555A131
attack_mid_left_light_3 0xD5E6770A
attack_mid_center_light_3 0x9D9874E
attack_mid_right_light_3 0xA1EA945B
attack_low_left_light_3 0x22EC0246
attack_low_center_light_3 0x32A12B3D
attack_low_right_light_3 0xB2F6142F
Combat CRC List
Name NBYTE
attack_high_left_medium_3 0x227E6478
attack_high_center_medium_3 0xD19AD0F2
attack_high_right_medium_3 0x47879B3B
attack_mid_left_medium_3 0xB6C15112
attack_mid_center_medium_3 0x1D1BECC5
attack_mid_right_medium_3 0x6030B8D
attack_low_left_medium_3 0xA5DDD166
attack_low_center_medium_3 0x231B6384
attack_low_right_medium_3 0x3D7BA7FE
counter_high_left_light 0xED04F5BE
counter_high_center_light 0xE6264EE1
counter_high_right_light 0x3DBAFDBB
counter_mid_left_light 0x21FCD789
counter_mid_center_light 0x27781E8F
counter_mid_right_light 0xA84B7053
counter_low_left_light 0xFAE80EC3
counter_low_center_light 0xD0726BC3
counter_low_right_light 0x9366891
counter_high_left_medium 0xB396A891
counter_high_center_medium 0x98B526A
counter_high_right_medium 0xD82DD38E
counter_mid_left_medium 0x26672579
counter_mid_center_medium 0x942C27AA
counter_mid_right_medium 0x197383E0
counter_low_left_medium 0x871A3DBB
counter_low_center_medium 0x8730A7DE
counter_low_right_medium 0xEE79F6AC
charge 0x382EA44D
attack_high_right_2_punch_roundhouse_medium 0xBBCB01CB
attack_special_foot_stomp_medium 0x920E48D9
attack_special_shoulder_bash_medium 0xFFE673AE
attack_special_wookiee_slap_medium 0x4E29A2E3
attack_special_headbutt_medium 0x9237E287
attack_special_knee_strike_medium 0x5C101545
attack_special_elbow_throw_medium 0xD0F7826D
attack_special_hammerfist_medium 0x48EAE3F8
attack_high_right_0_rear_handhook_medium 0xD1B89FF1
attack_high_right_1_lead_arckick_medium 0xEF3EA6DD
attack_high_right_2_rear_roundhouse_kick_medium 0xA74449E6
attack_high_center_1_jab_double_medium 0xBDA3B50B
combo_2a_medium 0x764EF38D
combo_2b_medium 0x282B1161
combo_2c_medium 0xE2F7B03A
combo_2d_medium 0x23FC14BC
combo_2e_medium 0xE920B5E7
attack_high_right_2_punch_roundhouse_light 0xEBF3F5E7
attack_special_foot_stomp_light 0x866C676
attack_special_shoulder_bash_light 0x86E90D8A
attack_special_wookiee_slap_light 0x5988EF72
attack_special_headbutt_light 0x31CC9876
attack_special_knee_strike_light 0x2D539B97
attack_special_elbow_throw_light 0xBCB544E2
attack_special_hammerfist_light 0x97B85F8B
attack_high_right_0_rear_handhook_light 0x554E0B4B
attack_high_right_1_lead_arckick_light 0xE880CA38
attack_high_right_2_rear_roundhouse_kick_light 0x7FF8FBA2
attack_high_center_1_jab_double_light 0x8E369E1E
combo_2a_light 0x85FC7F8
combo_2b_light 0x3BE73E29
combo_2c_light 0x2A8F6966
combo_2d_light 0xEA8A0C8E
combo_2e_light 0xFBE25BC1
combo_3a_light 0xC28366A3
combo_3a_medium 0x10E4F37F
combo_3b_light 0xF13B9F72
combo_3b_medium 0x4E811193
combo_3c_light 0xE053C83D
combo_3c_medium 0x845DB0C8
combo_3d_light 0x2056ADD5
combo_3d_medium 0x4556144E
combo_3e_light 0x313EFA9A
combo_3e_medium 0x8F8AB515
combo_4a_light 0x388C225
combo_4a_medium 0x4C8872A8
combo_4b_light 0x30303BF4
combo_4b_medium 0x12ED9044
combo_4c_light 0x21586CBB
combo_4c_medium 0xD831311F
combo_4d_light 0xE15D0953
combo_4d_medium 0x193A9599
combo_4e_light 0xF0355E1C
combo_4e_medium 0xD3E634C2
combo_5a_light 0xC954637E
combo_5a_medium 0x2A22725A
combo_5b_light 0xFAEC9AAF
combo_5b_medium 0x744790B6
showoff_1_light 0xE75FA3F4
showoff_1_medium 0x123AFFDC
showoff_2_light 0xD4E75A25
showoff_2_medium 0x4C5F1D30
showoff_3_light 0xC58F0D6A
showoff_3_medium 0x8683BC6B
showoff_4_light 0x58A6882
showoff_4_medium 0x478818ED
combo_jedi_1_light 0x3B5BC191
combo_jedi_1_medium 0xEE4B9B05
combo_jedi_2_light 0x8E33840
combo_jedi_2_medium 0xB02E79E9
combo_jedi_3_light 0x198B6F0F
combo_jedi_3_medium 0x7AF2D8B2
combo_jedi_4_light 0xD98E0AE7
combo_jedi_4_medium 0xBBF97C34
lower_posture_polearm_1 0x5C2229A4
lower_posture_unarmed_1 0x180234BF
lower_posture_2hmelee_1 0x7B334D21
lower_posture_2hmelee_2 0xA2150E2C
lower_posture_2hmelee_3 0x1508CF28
lower_posture_2hmelee_4 0x10588836
lower_posture_2hmelee_5 0xA7454932
lower_posture_2hmelee_6 0x7E630A3F
lower_posture_1hmelee_1 0x66D08D33
lower_posture_polearm_2 0x85046AA9
knockdown_polearm_1 0x5D4C7189
knockdown_polearm_2 0x846A3284
knockdown_polearm_3 0x3377F380
knockdown_1hmelee_1 0x67BED51E
knockdown_2hmelee_1 0x7A5D150C
knockdown_unarmed_1 0x196C6C92
knockdown_unarmed_2 0xC04A2F9F
knockdown_unarmed_3 0x7757EE9B
ranged_melee_light 0x98D4611D
ranged_melee_medium 0x649314F9
throw_grenade 0xBA1C5AD9
throw_grenade_near_cryoban 0x46B26553
throw_grenade_medium_cryoban 0x692FBE3E
throw_grenade_far_cryoban 0x6EE19F7E
throw_grenade_near_bug_bomb 0xDBFEC97A
throw_grenade_medium_bug_bomb 0x9F913C3C
throw_grenade_far_bug_bomb 0xE8E67429
throw_grenade_near_healing 0x3E7E9237
throw_grenade_medium_healing 0x11E3495A
throw_grenade_far_healing 0x162D681A
throw_grenade_near_healing_longrange 0x52F1A79F
throw_grenade_medium_healing_longrange 0x60BD48A4
throw_grenade_far_healing_longrange 0x1871C5FC
throw_grenade_near_poison 0x2F965EC6
throw_grenade_medium_poison 0x99E0B9AE
throw_grenade_far_poison 0xFC5681FE
throw_grenade_near_area_poison 0xD89FD6B
throw_grenade_medium_area_poison 0x61C1EAAD
throw_grenade_far_area_poison 0x767527F4
throw_grenade_near_disease 0xC242FBF6
throw_grenade_medium_disease 0xEDDF209B
throw_grenade_far_disease 0xEA1101DB
throw_grenade_near_area_disease 0x1FB00695
throw_grenade_medium_area_disease 0x340142C5
throw_grenade_far_area_disease 0x3C4DA852
throw_grenade_near_fragmentation 0x4BE0B515
throw_grenade_medium_fragmentation 0x4C609329
throw_grenade_far_fragmentation 0xD70385F8
throw_grenade_near_glop 0xD67B1297
throw_grenade_medium_glop 0x709ACE88
throw_grenade_far_glop 0x7FCAE4AD
throw_grenade_near_imperial_detonator 0xCC416EC7
throw_grenade_medium_imperial_detonator 0x3DD55BD7
throw_grenade_far_imperial_detonator 0x82EB0804
throw_grenade_near_proton 0x625878A8
throw_grenade_medium_proton 0xD42E9FC0
throw_grenade_far_proton 0xB198A790
throw_grenade_near_thermal_detonator 0x360CE917
throw_grenade_medium_thermal_detonator 0x440062C
throw_grenade_far_thermal_detonator 0x7C8C8B74
get_hit_grenade_near_light 0x5C15392D
get_hit_grenade_medium_light 0xCE1FC390
get_hit_grenade_far_light 0xC9EE1B6
get_hit_grenade_near_medium 0xF43AE775
get_hit_grenade_medium_medium 0x59A31E03
get_hit_grenade_far_medium 0xB9A3AA3
throw_trap_enraging_spur 0x5CEE04B1
throw_trap_flash_bomb 0x7C6EA80E
throw_trap_noise_maker 0x3EC0D1A1
throw_trap_sonic_pulse 0x827475FE
throw_trap_tranq_dart 0x5728DD31
throw_trap_drowsy_dart 0xE2ED588
throw_trap_webber 0xDDE687CC
throw_trap_melee_def_1 0x2A58FBA5
throw_trap_melee_ranged_def_1 0xB2659C5
throw_trap_ranged_def_1 0xEA91508D
throw_trap_state_def_1 0xB4C9DE28
creature_attack_light 0xB6B8F58B
creature_attack_special_1_medium 0x24AEEF7A
creature_attack_special_1_light 0x13E6B2DE
creature_attack_special_2_medium 0x7ACB0D96
creature_attack_special_2_light 0x205E4B0F
creature_attack_medium 0x48CBE352
creature_attack_ranged_light 0x8D49FC90
creature_attack_ranged_medium 0x59E0483C
droid_attack_light 0x8342EABB
droid_attack_medium 0xD8932B99
fire_turret_light 0xB8C034D3
fire_turret_medium 0xF78304CD
fire_turret 0x4E5B59A7