package DroneOctantArchetype
using RTDB, DroneActions, DroneOctantActions, DroneReactionsActions, DroneStatusEffectActions, ItemHandling, PatrolActions

Map : ActionMap
{
	defaultMap = 
	{
		map = 
		[
			{
				node = "GenericArchetype.EnterIdle";
				isOverriddenBy = "DroneOctantArchetype.EnterIdle";
			}, 
			{
				node = "GenericArchetype.EnterAlerted";
				isOverriddenBy = "DroneOctantArchetype.EnterAlerted";
			}, 
			{
				node = "GenericArchetype.EnterCombat";
				isOverriddenBy = "DroneOctantArchetype.EnterCombat";
			}, 
			{
				node = "GenericArchetype.MovementPolicyCompositeDefault";
				isOverriddenBy = "DroneOctantArchetype.MovementPolicyCompositeDefault";
			}, 
			{
				node = "GenericArchetype.StrafeMovementPolicyComposite";
				isOverriddenBy = "DroneOctantArchetype.StrafeMovementPolicyComposite";
			}, 
			{
				node = "GenericArchetype.ShootDefault";
				isOverriddenBy = "DroneOctantArchetype.ShootDefault";
			}, 
			{
				node = "DroneActions.ShootWhileMounted";
				isOverriddenBy = "DroneOctantArchetype.ShootWhileMounted";
			}, 
			{
				node = "GenericArchetype.WeaponHandlingComposite";
				isOverriddenBy = "DroneOctantArchetype.WeaponHandlingComposite";
			}, 
			{
				node = "GenericArchetype.CommandEquipPrimaryWeaponComposite";
				isOverriddenBy = "DroneOctantArchetype.CommandEquipPrimaryWeaponComposite";
			}, 
			{
				node = "GenericArchetype.CommandWeaponHandlingCompositeDecorator";
				isOverriddenBy = "DroneOctantArchetype.CommandWeaponHandlingCompositeDecorator";
			}, 
			{
				node = "GenericArchetype.CommandForceShoot";
				isOverriddenBy = "DroneOctantArchetype.CommandForceShoot";
			}, 
			{
				node = "GenericArchetype.SE_DefeatedStartup";
				isOverriddenBy = "DroneOctantArchetype.SE_UnconsciousStartup";
			}, 
			{
				node = "GenericArchetype.SE_DefeatedLoop";
				isOverriddenBy = "DroneOctantArchetype.SE_Unconscious";
			}, 
			{
				node = "GenericArchetype.SE_Blind";
				isOverriddenBy = "DroneOctantArchetype.SE_Blind";
			}, 
			{
				node = "DroneStatusEffectActions.SE_BlindRegular";
				isOverriddenBy = "DroneOctantArchetype.SE_BlindRegular";
			}, 
			{
				node = "GenericArchetype.SE_SetFriendly";
				isOverriddenBy = "DroneOctantArchetype.SE_SetFriendly";
			}, 
			{
				node = "StatusEffectActions.SE_SystemCollapse";
				isOverriddenBy = "DroneOctantArchetype.SE_SystemCollapse";
			}, 
			{
				node = "StatusEffectActions.SE_QuickHackStaggerLocomotion";
				isOverriddenBy = "DroneOctantArchetype.SE_QuickHackStaggerLocomotion";
			}, 
			{
				node = "StatusEffectActions.SE_CommsNoise";
				isOverriddenBy = "DroneOctantArchetype.SE_CommsNoise";
			}, 
			{
				node = "StatusEffectActions.SE_CommsCallIn";
				isOverriddenBy = "DroneOctantArchetype.SE_CommsCallIn";
			}, 
			{
				node = "StatusEffectActions.SE_CommsCallOut";
				isOverriddenBy = "DroneOctantArchetype.SE_CommsCallOut";
			}, 
			{
				node = "StatusEffectActions.AIQuickhackDefaultAction";
				isOverriddenBy = "DroneOctantArchetype.AIQuickhackDefaultAction";
			}, 
			{
				node = "ReactionsActions.AnswerCall";
				isOverriddenBy = "DroneOctantArchetype.AnswerCall";
			}, 
			{
				node = "ReactionsActions.CallSquadMove";
				isOverriddenBy = "DroneOctantArchetype.CallSquadMove";
			}, 
			{
				node = "ReactionsActions.RotateToStimTarget";
				isOverriddenBy = "DroneOctantArchetype.RotateToStimTarget";
			}, 
			{
				node = "ReactionsActions.LookAwayFromWhistle";
				isOverriddenBy = "DroneOctantArchetype.LookAwayFromWhistle";
			}, 
			{
				node = "ReactionsActions.CallSquadTalk";
				isOverriddenBy = "DroneOctantArchetype.CallSquadTalk";
			}, 
			{
				node = "ReactionsActions.CallPlayerTalk";
				isOverriddenBy = "DroneOctantArchetype.CallPlayerTalk";
			}, 
			{
				node = "ReactionsActions.EndDeviceInvestigation";
				isOverriddenBy = "DroneOctantArchetype.EndDeviceInvestigation";
			}, 
			{
				node = "ReactionsActions.ReactionCanEquipWeapon";
				isOverriddenBy = "DroneOctantArchetype.ReactionCanEquipWeapon";
			}, 
			{
				node = "ReactionsActions.CallSquadMoveToStimPosition";
				isOverriddenBy = "DroneOctantArchetype.CallSquadMoveToStimPosition";
			}, 
			{
				node = "MechanicalReactionsActions.CallGuardWait";
				isOverriddenBy = "DroneReactionsActions.CallGuardWait";
			}, 
			{
				node = "ReactionsActions.LookAroundForIntruder";
				isOverriddenBy = "DroneOctantArchetype.LookAroundForIntruder";
			}, 
			{
				node = "ReactionsActions.LookAroundForIntruderUnarmed";
				isOverriddenBy = "DroneOctantArchetype.LookAroundForIntruder";
			}, 
			{
				node = "PatrolActions.DefaultPatrolAction";
				isOverriddenBy = "DroneOctantArchetype.DefaultPatrolAction";
			}
		];
	};
}

EnterIdle : AIActionSmartComposite
{
	type = "AISmartCompositeType.Sequence";
	nodes = 
	[
		"DroneActions.TryActivateIdleLights", "ItemHandling.EquipPrimarySequence", "GenericArchetype.Success"
	];
}

EnterAlerted : AIActionSmartComposite
{
	type = "AISmartCompositeType.Sequence";
	nodes = 
	[
		"DroneActions.PlayAlertedSound", "DroneActions.TryActivatAlertedLights", "GenericArchetype.Success"
	];
}

EnterCombat : AIActionSmartComposite
{
	type = "AISmartCompositeType.Sequence";
	nodes = 
	[
		"DroneActions.PlayCombatSound", "DroneActions.TryActivateCombatLights", "GenericArchetype.Success"
	];
}

MovementPolicyCompositeDefault : DroneOctantActions.MovementPolicyCompositeDefault
{
}

StrafeMovementPolicyComposite : DroneOctantActions.StrafeMovementPolicyComposite
{
}

ShootDefault : DroneOctantActions.ShootDefault
{
}

ShootWhileMounted : DroneOctantActions.ShootWhileMounted
{
}

LookAroundForIntruder : DroneActions.LookAroundForIntruder
{
}

WeaponHandlingComposite : DroneActions.WeaponHandlingComposite
{
}

CommandEquipPrimaryWeaponComposite : ItemHandling.EquipSelector
{
}

CommandWeaponHandlingCompositeDecorator : DroneActions.CommandWeaponHandlingCompositeDecorator
{
}

CommandForceShoot : DroneOctantActions.CommandForceShoot
{
}

SE_UnconsciousStartup : DroneStatusEffectActions.SE_UnconsciousStartup
{
}

SE_Unconscious : DroneStatusEffectActions.SE_Unconscious
{
}

SE_Blind : DroneStatusEffectActions.SE_Blind
{
}

SE_BlindRegular : DroneStatusEffectActions.SE_BlindRegularOctant
{
}

SE_SetFriendly : DroneStatusEffectActions.SE_SetFriendly
{
}

SE_EMP : DroneStatusEffectActions.SE_EMP
{
}

SE_SystemCollapse : DroneStatusEffectActions.SE_SystemCollapse
{
}

SE_QuickHackStaggerLocomotion : DroneStatusEffectActions.SE_QuickHackStaggerLocomotion
{
}

SE_WeaponJammed : DroneStatusEffectActions.SE_WeaponJammed
{
}

SE_CommsNoise : DroneStatusEffectActions.SE_CommsNoise
{
}

SE_CommsCallIn : DroneStatusEffectActions.SE_CommsCallIn
{
}

SE_CommsCallOut : DroneStatusEffectActions.SE_CommsCallOut
{
}

AIQuickhackDefaultAction : DroneStatusEffectActions.DroneQuickhackDefaultAction
{
}

AnswerCall : DroneReactionsActions.AnswerCall
{
}

CallSquadMove : DroneReactionsActions.CallSquadMove
{
}

RotateToStimTarget : DroneReactionsActions.RotateToStimTarget
{
}

LookAwayFromWhistle : DroneReactionsActions.LookAwayFromWhistle
{
}

CallSquadTalk : DroneReactionsActions.CallSquadTalk
{
}

CallPlayerTalk : DroneReactionsActions.CallPlayerTalk
{
}

EndDeviceInvestigation : DroneReactionsActions.WaitAMoment
{
}

ReactionCanEquipWeapon : DroneReactionsActions.ReactionCanEquipWeapon
{
}

CallSquadMoveToStimPosition : DroneReactionsActions.MoveToCustomWorldPosition
{
}

DefaultPatrolAction : PatrolActions.DroneScanShort
{
}

