package DroneBombusSuicideArchetype
using RTDB, DroneActions, DroneBombusActions, DroneStatusEffectActions, ItemHandling, PatrolActions

Map : ActionMap
{
	defaultMap = 
	{
		map = 
		[
			{
				node = "GenericArchetype.EnterIdle";
				isOverriddenBy = "DroneBombusSuicideArchetype.EnterIdle";
			}, 
			{
				node = "GenericArchetype.EnterAlerted";
				isOverriddenBy = "DroneBombusSuicideArchetype.EnterAlerted";
			}, 
			{
				node = "GenericArchetype.EnterCombat";
				isOverriddenBy = "DroneBombusSuicideArchetype.EnterCombat";
			}, 
			{
				node = "GenericArchetype.MovementPolicyCompositeDefault";
				isOverriddenBy = "DroneBombusSuicideArchetype.MovementPolicyCompositeDefault";
			}, 
			{
				node = "GenericArchetype.StrafeMovementPolicyComposite";
				isOverriddenBy = "DroneBombusSuicideArchetype.StrafeMovementPolicyComposite";
			}, 
			{
				node = "GenericArchetype.ShootDefault";
				isOverriddenBy = "DroneBombusSuicideArchetype.ShootDefault";
			}, 
			{
				node = "GenericArchetype.WeaponHandlingComposite";
				isOverriddenBy = "DroneBombusSuicideArchetype.WeaponHandlingComposite";
			}, 
			{
				node = "GenericArchetype.CommandEquipPrimaryWeaponComposite";
				isOverriddenBy = "DroneBombusSuicideArchetype.CommandEquipPrimaryWeaponComposite";
			}, 
			{
				node = "GenericArchetype.CommandWeaponHandlingCompositeDecorator";
				isOverriddenBy = "DroneBombusSuicideArchetype.CommandWeaponHandlingCompositeDecorator";
			}, 
			{
				node = "GenericArchetype.CommandForceShoot";
				isOverriddenBy = "DroneBombusSuicideArchetype.CommandForceShoot";
			}, 
			{
				node = "GenericArchetype.SE_DefeatedStartup";
				isOverriddenBy = "DroneBombusSuicideArchetype.SE_UnconsciousStartup";
			}, 
			{
				node = "GenericArchetype.SE_DefeatedLoop";
				isOverriddenBy = "DroneBombusSuicideArchetype.SE_Unconscious";
			}, 
			{
				node = "GenericArchetype.SE_Blind";
				isOverriddenBy = "DroneBombusSuicideArchetype.SE_Blind";
			}, 
			{
				node = "GenericArchetype.SE_SetFriendly";
				isOverriddenBy = "DroneBombusSuicideArchetype.SE_SetFriendly";
			}, 
			{
				node = "PatrolActions.DefaultPatrolAction";
				isOverriddenBy = "DroneBombusSlowArchetype.DefaultPatrolAction";
			}
		];
	};
}

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

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

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

MovementPolicyCompositeDefault : DroneBombusActions.MovementPolicyCompositeSuicide
{
}

StrafeMovementPolicyComposite : DroneBombusActions.StrafeMovementPolicyCompositeSuicide
{
}

ShootDefault : DroneBombusActions.CommitSuicide
{
}

WeaponHandlingComposite : DroneActions.WeaponHandlingComposite
{
}

CommandEquipPrimaryWeaponComposite : ItemHandling.EquipSelector
{
}

CommandWeaponHandlingCompositeDecorator : DroneActions.CommandWeaponHandlingCompositeDecorator
{
}

CommandForceShoot : DroneBombusActions.CommandForceShoot
{
}

SE_UnconsciousStartup : DroneStatusEffectActions.SE_UnconsciousStartup
{
}

SE_Unconscious : DroneStatusEffectActions.SE_Unconscious
{
}

SE_Blind : DroneStatusEffectActions.SE_Blind
{
}

SE_SetFriendly : DroneStatusEffectActions.SE_SetFriendly
{
}

SE_EMP : DroneStatusEffectActions.SE_EMP
{
}

DefaultPatrolAction : PatrolActions.DroneScanShort
{
}

