57 {
60 ConstructionActionData construction_action_data = action_data.
m_Player.GetConstructionActionData();
62
63 if ( construction.CanDestroyPart( construction_part.
GetPartName() ) )
64 {
65
67 string zone_name;
68 DamageSystem.GetDamageZoneFromComponentName(ent,part_name,zone_name);
69
70 if (zone_name != "")
71 {
72 ent.AddHealth(zone_name,
"Health",-(ent.GetMaxHealth(zone_name,
"")/
CYCLES));
73 if (ent.GetHealth(zone_name,"Health") < 1)
75 }
76 else
77 {
79 }
80
81
82 action_data.
m_MainItem.DecreaseHealth( UADamageApplied.DESTROY,
false );
83 }
84 }
const int AT_DESTROY_PART
void ConstructionBase(EntityAI parent)
void ConstructionPart(string name, string part_name, string main_part_name, int id, bool is_built, bool is_base, bool is_gate, array< string > required_parts)
ref ActionTarget m_Target
ConstructionPart GetTargetPart()