package MechanicalReactionsActions
using RTDB, DroneReactionsActions, MechReactionsActions

TurnAtReaction : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.TurnAtReaction", "MechReactionsActions.TurnAtReaction", "GenericArchetype.Success"
	];
}

EndTurnAtReaction : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.EndTurnAtReaction", "MechReactionsActions.EndTurnAtReaction", "GenericArchetype.Success"
	];
}

CallGuardInitialReaction : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.CallGuardInitialReaction", "MechReactionsActions.CallGuardInitialReaction", "GenericArchetype.Success"
	];
}

CallGuardRunAway : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.CallGuardRunAway", "MechReactionsActions.CallGuardRunAway", "GenericArchetype.Success"
	];
}

CallGuardWait : AIActionSmartComposite
{
	nodes = 
	[
		"MechReactionsActions.CallGuardWait", "GenericArchetype.Success"
	];
}

CallGuardRunAwayCondition : AIAction
{
	activationCondition = 
	{
		condition = 
		{
			OR = 
			[
				"Condition.StimTargetBelow12m", {
					AND = 
					[
						"Condition.StimTargetIsVisible"
					];
				} : AIActionAND
			];
		} : AIActionOR;
	};
}

CallGuardExitCondition : AIAction
{
	activationCondition = 
	{
		condition = 
		{
			AND = 
			[
				"Condition.NotStimTargetMinAccuracyValue0"
			];
		} : AIActionAND;
	};
}

InvestigateInitialReaction : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.InvestigateInitialReaction", "MechReactionsActions.InvestigateInitialReaction", "GenericArchetype.Success"
	];
}

InvestigateInProgress : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.InvestigateInProgress", "MechReactionsActions.InvestigateInProgress", "GenericArchetype.Success"
	];
}

InvestigateComplete : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.InvestigateComplete", "MechReactionsActions.InvestigateComplete", "GenericArchetype.Success"
	];
}

InvestigateDeviceInitialReaction : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.InvestigateDeviceInitialReaction", "MechReactionsActions.InvestigateDeviceInitialReaction", "GenericArchetype.Success"
	];
}

InvestigateDeviceExecution : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.InvestigateDeviceExecution", "MechReactionsActions.InvestigateDeviceExecution", "GenericArchetype.Success"
	];
}

InvestigateDeviceComplete : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.InvestigateDeviceComplete", "MechReactionsActions.InvestigateDeviceComplete", "GenericArchetype.Success"
	];
}

InvestigateDeviceRegisterAsWillingInvestigator : AIAction
{
	startup = 
	{
		duration = 0.1f;
	};
	startupSubActions = 
	[
		{
			name = "npcDistracted";
			targetListener = "AIActionTarget.StimTarget";
		} : AISubActionQueueCommunicationEvent, 
		{
			name = "npcDistracted";
			targetListener = "AIActionTarget.TargetDevice";
		} : AISubActionQueueCommunicationEvent
	];
}

ForceCombatInitialReaction : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.ForceCombatInitialReaction", "MechReactionsActions.ForceCombatInitialReaction", "GenericArchetype.Success"
	];
}

ReprimandFollowMove : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.ReprimandFollowMove", "MechReactionsActions.ReprimandFollowMove", "GenericArchetype.Success"
	];
}

SearchHiddenTarget : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.SearchHiddenTarget", "MechReactionsActions.SearchHiddenTarget", "GenericArchetype.Success"
	];
}

EnterCombatWithTarget : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.EnterCombatWithTarget", "MechReactionsActions.EnterCombatWithTarget", "GenericArchetype.Success"
	];
}

IsNonCombatTypeCheck : AIActionSmartComposite
{
	repeat = 0;
	nodes = 
	[
		"DroneReactionsActions.IsNonCombatTypeCheck", "MechReactionsActions.IsNonCombatTypeCheck"
	];
}

ReprimandFinalWarning : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.ReprimandFinalWarning", "MechReactionsActions.ReprimandFinalWarning", "GenericArchetype.Success"
	];
}

RotateToTarget : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.RotateToTarget", "MechReactionsActions.RotateToTarget", "GenericArchetype.Success"
	];
}

ReprimandAskToLeave : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.ReprimandAskToLeave", "MechReactionsActions.ReprimandAskToLeave", "GenericArchetype.Success"
	];
}

ReprimandSuccessful : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.ReprimandSuccessful", "MechReactionsActions.ReprimandSuccessful", "GenericArchetype.Success"
	];
}

TargetCompliesReaction : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.TargetCompliesReaction", "MechReactionsActions.TargetCompliesReaction", "GenericArchetype.Success"
	];
}

ReprimandAssist : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.ReprimandAssist", "MechReactionsActions.ReprimandAssist", "GenericArchetype.Success"
	];
}

AskToHolsterReaction : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.AskToHolsterReaction", "MechReactionsActions.AskToHolsterReaction", "GenericArchetype.Success"
	];
}

InvestigateBody : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.InvestigateBody", "MechReactionsActions.InvestigateBody", "GenericArchetype.Success"
	];
}

GrenadeLandedCondition : AIAction
{
	activationCondition = 
	{
		condition = 
		{
			AND = 
			[
				"Condition.IsGrenadeLandedStimType"
			];
		} : AIActionAND;
	};
}

GrenadeLandedInitialReaction : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.GrenadeLandedInitialReaction", "MechReactionsActions.GrenadeLandedInitialReaction", "GenericArchetype.Success"
	];
}

GrenadeLandedContinuedReaction : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.GrenadeLandedContinuedReaction", "MechReactionsActions.GrenadeLandedContinuedReaction", "GenericArchetype.Success"
	];
}

ExplosionCondition : AIAction
{
	activationCondition = 
	{
		condition = 
		{
			AND = 
			[
				"Condition.ExplosionStimType"
			];
		} : AIActionAND;
	};
}

ExplosionReaction : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.ExplosionReaction", "MechReactionsActions.ExplosionReaction", "GenericArchetype.Success"
	];
}

DeviceExplosionCondition : AIAction
{
	activationCondition = 
	{
		condition = 
		{
			AND = 
			[
				"Condition.DeviceExplosionStimType"
			];
		} : AIActionAND;
	};
}

DeviceExplosionReaction : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.DeviceExplosionReaction", "MechReactionsActions.DeviceExplosionReaction", "GenericArchetype.Success"
	];
}

LandingVeryHardCondition : AIAction
{
	activationCondition = 
	{
		condition = 
		{
			AND = 
			[
				"Condition.LandingVeryHardStimType"
			];
		} : AIActionAND;
	};
}

LandingVeryHardReaction : AIActionSmartComposite
{
	nodes = 
	[
		"DroneReactionsActions.LandingVeryHardReaction", "MechReactionsActions.LandingVeryHardReaction", "GenericArchetype.Success"
	];
}

