107 {
108 PlayerBase player_target = PlayerBase.Cast(action_data.
m_Target.GetObject());
109 PlayerBase player_source = PlayerBase.Cast(action_data.
m_Player);
110
112 {
114 EntityAI restraining_item = player_target.GetItemInHands();
115
116 player_target.SetRestrained(false);
117
118
119
120 CachedObjectsArrays.ARRAY_STRING.Clear();
121
122 restraining_item.ConfigGetTextArray( "CanBeUnrestrainedBy", CachedObjectsArrays.ARRAY_STRING );
123 restraining_item.ConfigGetFloatArray( "CanBeUnrestrainedByDMG", CachedObjectsArrays.ARRAY_FLOAT );
124
125 string item_in_hands_name = unrestraining_tool.GetType();
126 float damageToTool = 0;
127
128 for(int i = 0; i < CachedObjectsArrays.ARRAY_STRING.Count(); i++)
129 {
130 string class_name = CachedObjectsArrays.ARRAY_STRING.Get(i);
132 {
133 damageToTool = CachedObjectsArrays.ARRAY_FLOAT.Get(i/2);
134 break;
135 }
136 }
137
138 MiscGameplayFunctions.DealAbsoluteDmg(action_data.
m_MainItem, damageToTool);
139
140
141 MiscGameplayFunctions.TransformRestrainItem(restraining_item, unrestraining_tool, player_source, player_target, true);
142 }
143 }
bool CanReceiveAction(ActionTarget target)
class OptionSelectorMultistate extends OptionSelector class_name
ref ActionTarget m_Target