1200 {
1204 if (targetItem)
1205 {
1206 parent = targetItem.GetHierarchyParent();
1207 }
1208 target =
new ActionTarget(targetItem, parent, -1, vector.Zero, -1);
1209 bool hasTarget = targetItem != NULL;
1210
1211 if (mainItem)
1212 {
1213 array<ActionBase_Basic> actions;
1214 array<ref ActionBase> variant_actions;
1216 int variants_count,v;
1217
1218
1219 mainItem.GetActions(DefaultActionInput, actions);
1220 if (actions)
1221 {
1222 for (int i = 0; i < actions.Count(); i++)
1223 {
1225 if (picked_action.HasVariants())
1226 {
1227 picked_action.UpdateVariants(itemInHand, targetItem, -1);
1228 picked_action.GetVariants(variant_actions);
1229 for (v = 0; v < variant_actions.Count(); v ++)
1230 {
1231 picked_action = variant_actions[v];
1232 if (picked_action && picked_action.CanBeSetFromInventory() && picked_action.Can(
m_Player,target, itemInHand))
1233 {
1234 if (hasTarget == picked_action.HasTarget())
1235 return true;
1236 }
1237 }
1238 }
1239 else
1240 {
1241 if (picked_action && picked_action.CanBeSetFromInventory() && picked_action.Can(
m_Player,target, itemInHand))
1242 {
1243 if (hasTarget == picked_action.HasTarget())
1244 return true;
1245 }
1246 }
1247 }
1248 }
1249
1251 if (actions)
1252 {
1253 for (int j = 0; j < actions.Count(); j++)
1254 {
1256 if (picked_action.HasVariants())
1257 {
1258 picked_action.UpdateVariants(itemInHand, targetItem, -1);
1259 picked_action.GetVariants(variant_actions);
1260 for (v = 0; v < variant_actions.Count(); v ++)
1261 {
1262 picked_action = variant_actions[v];
1263 if (picked_action && picked_action.HasTarget() && picked_action.CanBeSetFromInventory() && picked_action.Can(
m_Player,target, itemInHand))
1264 {
1265 if (hasTarget == picked_action.HasTarget())
1266 return true;
1267 }
1268 }
1269 }
1270 else
1271 {
1272 if (picked_action && picked_action.HasTarget() && picked_action.CanBeSetFromInventory() && picked_action.Can(
m_Player,target, itemInHand))
1273 {
1274 if (hasTarget == picked_action.HasTarget())
1275 return true;
1276 }
1277 }
1278 }
1279 }
1280 }
1281 return false;
1282 }
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
class GP5GasMask extends MaskBase ItemBase