package MeleeMantisBladesActions
using RTDB, MeleeActions, MovementActions, DashAndDodgeActions

DodgeHitReactionSelectorDefinition : AIActionSelector
{
	actions = 
	[
		"MeleeMantisBladesActions.DodgeMeleeKerenzikovLeftDefinition", "MeleeMantisBladesActions.DodgeHitMeleeLeftDefinition", "MeleeMantisBladesActions.DodgeMeleeKerenzikovRightDefinition", "MeleeMantisBladesActions.DodgeHitMeleeRightDefinition", "MeleeMantisBladesActions.DodgeMeleeKerenzikovBackDefinition", "MeleeMantisBladesActions.DodgeHitMeleeBackDefinition"
	];
	defaultAction = "MeleeMantisBladesActions.SlowPushAttack01Definition";
}

DodgeMeleeSelectorDefinition : AIActionSelector
{
	actions = 
	[
		"MeleeMantisBladesActions.DodgeMeleeKerenzikovLeftDefinition", "MeleeMantisBladesActions.DodgeMeleeLeftDefinition", "MeleeMantisBladesActions.DodgeMeleeKerenzikovRightDefinition", "MeleeMantisBladesActions.DodgeMeleeRightDefinition", "MeleeMantisBladesActions.DodgeMeleeKerenzikovBackDefinition"
	];
	defaultAction = "MeleeMantisBladesActions.DodgeMeleeBackDefinition";
}

DodgeForParryMeleeSelectorDefinition : AIActionSelector
{
	actions = 
	[
		"MeleeMantisBladesActions.DodgeMeleeForParryMeleeBackDefinition"
	];
	defaultAction = "GenericArchetype.Success";
}

KerenzikovDodgeSelectorDefinition : AIActionSelector
{
	actions = 
	[
		"MeleeMantisBladesActions.DodgeKerenzikovLeftOnSpotDefinition", "MeleeMantisBladesActions.DodgeKerenzikovRightOnSpotDefinition", "MeleeMantisBladesActions.DodgeKerenzikovRightFrontDefinition", "MeleeMantisBladesActions.DodgeKerenzikovLeftFrontDefinition"
	];
	defaultAction = "MeleeMantisBladesActions.DodgeKerenzikovBackDefinition";
}

DodgeMeleeLeftDefinition : DashAndDodgeActions.DodgeMeleeLeftDefinition
{
}

DodgeHitMeleeLeftDefinition : DashAndDodgeActions.DodgeHitMeleeLeftDefinition
{
}

DodgeMeleeKerenzikovLeftDefinition : DashAndDodgeActions.DodgeMeleeKerenzikovLeftDefinition
{
}

DodgeMeleeRightDefinition : DashAndDodgeActions.DodgeMeleeRightDefinition
{
}

DodgeHitMeleeRightDefinition : DashAndDodgeActions.DodgeHitMeleeRightDefinition
{
}

DodgeMeleeKerenzikovRightDefinition : DashAndDodgeActions.DodgeMeleeKerenzikovRightDefinition
{
}

DodgeMeleeBackDefinition : DashAndDodgeActions.DodgeMeleeBackDefinition
{
}

DodgeHitMeleeBackDefinition : DashAndDodgeActions.DodgeHitMeleeBackDefinition
{
}

DodgeMeleeKerenzikovBackDefinition : DashAndDodgeActions.DodgeMeleeKerenzikovBackDefinition
{
}

DodgeMeleeForParryMeleeBackDefinition : DashAndDodgeActions.DodgeMeleeForParryMeleeBackDefinition
{
	loop = 
	{
		duration = 1.f;
		changeNPCState = 
		{
			hitReactionMode = "Unstoppable";
			upperBodyState = "Taunt";
		};
	};
}

DodgeMeleeKerenzikovForParryMeleeBackDefinition : DashAndDodgeActions.DodgeMeleeKerenzikovForParryMeleeBackDefinition
{
	loop = 
	{
		duration = 1.2f;
		changeNPCState = 
		{
			hitReactionMode = "Unstoppable";
			upperBodyState = "Taunt";
		};
	};
}

DodgeKerenzikovBackDefinition : DashAndDodgeActions.DodgeKerenzikovBackDefinition
{
}

DodgeKerenzikovLeftFrontDefinition : DashAndDodgeActions.DodgeKerenzikovLeftFrontDefinition
{
}

DodgeKerenzikovRightFrontDefinition : DashAndDodgeActions.DodgeKerenzikovRightFrontDefinition
{
}

DodgeKerenzikovLeftOnSpotDefinition : DashAndDodgeActions.DodgeKerenzikovLeftOnSpotDefinition
{
	animData = 
	{
		animFeature = "DodgeLeftOnSpotKerenzikov";
		animVariationSubAction = 
		{
			animVariationRandomize = 
			[
				0, 1
			];
		} : AISubActionRandomize;
		animSlot = 
		{
			startupSlide = "DashAndDodgeActions.StepsSlideData";
			loopSlide = "DashAndDodgeActions.StepsSlideData";
			recoverySlide = "DashAndDodgeActions.StepsSlideData";
		};
	};
}

DodgeKerenzikovRightOnSpotDefinition : DashAndDodgeActions.DodgeKerenzikovRightOnSpotDefinition
{
	animData = 
	{
		animFeature = "DodgeRightOnSpotKerenzikov";
		animVariationSubAction = 
		{
			animVariationRandomize = 
			[
				0, 1
			];
		} : AISubActionRandomize;
		animSlot = 
		{
			startupSlide = "DashAndDodgeActions.StepsSlideData";
			loopSlide = "DashAndDodgeActions.StepsSlideData";
			recoverySlide = "DashAndDodgeActions.StepsSlideData";
		};
	};
}

DeflectReactionSelectorDefinition : AIActionSelector
{
	actions = 
	[
		"MeleeMantisBladesActions.DeflectedRightArmToRightDefinition", "MeleeMantisBladesActions.DeflectedRightArmToLeftDefinition", "MeleeMantisBladesActions.DeflectedRightArmToDownDefinition", "MeleeMantisBladesActions.DeflectedLeftArmToLeftDefinition", "MeleeMantisBladesActions.DeflectedLeftArmToUpDefinition", "MeleeMantisBladesActions.DeflectedBothArmsToUpDefinition"
	];
	defaultAction = "MeleeActions.DeflectedDefaultDefinition";
}

MeleeTauntSupportAreaDefinition : MeleeActions.MeleeTauntSupportAreaDefinition
{
	animData = 
	{
		animFeature = "MeleeSupportTaunt";
		animVariationSubAction = 
		{
			animVariationRandomize = 
			[
				0, 1
			];
		} : AISubActionRandomize;
		animSlot = 
		{
		};
	};
}

MeleeTauntCombatAreaDefinition : MeleeActions.MeleeTauntCombatAreaDefinition
{
	animData = 
	{
		animFeature = "MeleeCombatTaunt";
		animVariationSubAction = 
		{
			animVariationRandomize = 
			[
				0, 1
			];
		} : AISubActionRandomize;
		animSlot = 
		{
		};
	};
}

MeleeTauntHitReactionDefinition : MeleeActions.MeleeTauntHitReactionDefinition
{
}

MeleeTauntPreAttackDefinition : MeleeActions.MeleeTauntPreAttackDefinition
{
	loop = 
	{
		duration = 1.35f;
		changeNPCState = 
		{
			upperBodyState = "Taunt";
		};
		toNextPhaseConditionCheckInterval = 0.5f;
		toNextPhaseCondition = 
		[
			{
				condition = 
				{
					OR = 
					[
						"Condition.CombatTarget"
					];
				} : AIActionOR;
			}
		];
	};
	animData = 
	{
		animFeature = "StepsIdle";
		animSlot = 
		{
		};
	};
}

MeleeTauntContactAreaDefinition : MeleeActions.MeleeTauntContactAreaDefinition
{
}

DashForwardToTarget : DashAndDodgeActions.DashForwardToTarget
{
	activationCondition = 
	{
		condition = 
		{
			AND = 
			[
				"Condition.CalculatePathStraightFullCheckToTarget", "Condition.TargetAbove2dot5m", "Condition.TargetBelow4m", "Condition.NotPreviousAttackNameAtkFromSprint", "Condition.AbilityCanUseLegs"
			];
		} : AIActionAND;
	};
}

MeleeParry01Definition : AIActionSequence
{
	actions = 
	[
		"MeleeMantisBladesActions.ParryMeleeAttack01Definition"
	];
}

MeleeBlock01Definition : AIActionSequence
{
	actions = 
	[
		"MeleeMantisBladesActions.BlockMeleeAttack01Definition"
	];
}

MeleeKerenzikovDodge01Definition : AIActionSelector
{
	actions = 
	[
		"DashAndDodgeActions.DodgeMeleeKerenzikovLeftOnSpotDefinition", "DashAndDodgeActions.DodgeMeleeKerenzikovRightOnSpotDefinition", "MeleeMantisBladesActions.DodgeMeleeKerenzikovRightDefinition", "MeleeMantisBladesActions.DodgeMeleeKerenzikovLeftDefinition"
	];
	defaultAction = "MeleeMantisBladesActions.DodgeMeleeKerenzikovBackDefinition";
}

MeleeBlockDodge01Definition : AIActionSequence
{
	actions = 
	[
		"MeleeMantisBladesActions.BlockDodgeMeleeAttack01Definition"
	];
}

MeleeBlockDodgeToParry01Definition : AIActionSequence
{
	actions = 
	[
		"MeleeMantisBladesActions.BlockDodgeMeleeAttackToParry01Definition", "CombatDecorator.MeleeParryState", "GenericArchetype.Success"
	];
}

MeleePushAttack01Definition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeWalkToCloseAttackRange", "MovementActions.MeleeMoveToAttackRange", "MovementActions.RotateInIdle", "MeleeActions.FailAttackRange", "MeleeActions.FriendlyFireMeleeCheck", "MeleeMantisBladesActions.PushAttack01Definition"
	];
}

MeleeLightCloseSingleLeft01Definition : AIActionSequence
{
	actions = 
	[
		"MeleeMantisBladesActions.CloseSingleLeft01MeleeAttackLight01Definition"
	];
}

MeleeLightCloseSingleRight01Definition : AIActionSequence
{
	actions = 
	[
		"MeleeMantisBladesActions.CloseSingleRight01MeleeAttackLight01Definition"
	];
}

MeleeLightCloseSingleBack01Definition : AIActionSequence
{
	actions = 
	[
		"MeleeMantisBladesActions.CloseSingleBack01MeleeAttackLight01Definition"
	];
}

MeleeLightCloseCombo01Definition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeWalkToCloseAttackRange", "MovementActions.MeleeMoveToCloseAttackRange", "MeleeActions.FailAttackRange", "MeleeActions.FriendlyFireMeleeCheck", "MeleeMantisBladesActions.CloseCombo01MeleeAttackLight01Definition", "MeleeMantisBladesActions.CloseCombo01MeleeAttackLight01RecoverMissDefinition", "MeleeMantisBladesActions.CloseCombo01MeleeAttackLight02Definition", "MeleeMantisBladesActions.CloseCombo01MeleeAttackLight03Definition", "MeleeMantisBladesActions.CloseCombo01MeleeAttackLight03RecoverMissDefinition", "MeleeMantisBladesActions.CloseCombo01MeleeAttackLight03RecoverHitDefinition"
	];
}

MeleeLightCloseCombo02Definition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeWalkToCloseAttackRange", "MovementActions.MeleeMoveToCloseAttackRange", "MeleeActions.FailAttackRange", "MeleeActions.FriendlyFireMeleeCheck", "MeleeMantisBladesActions.CloseCombo02MeleeAttackLight01Definition", "MeleeMantisBladesActions.CloseCombo02MeleeAttackLight02Definition", "MeleeMantisBladesActions.CloseCombo02MeleeAttackLight02RecoverMissDefinition", "MeleeMantisBladesActions.CloseCombo02MeleeAttackLight02RecoverHitDefinition"
	];
}

SimpleMeleeCombatComboDefinition : AIActionSequence
{
	actions = 
	[
		"MovementActions.SimpleMeleeCombatWalkToCloseAttackRange", "MovementActions.SimpleMeleeCombatMoveToCloseAttackRange", "MovementActions.SimpleMeleeCombatWoundedMoveToCloseAttackRange", "MovementActions.RotateInIdle", "MeleeActions.FailAttackRange", "MeleeActions.FriendlyFireMeleeCheck", "MeleeMantisBladesActions.Combo01MeleeAttackLight01FromIdleDefinition", "MeleeMantisBladesActions.Combo01MeleeAttackLight01Definition", "MeleeMantisBladesActions.Combo01MeleeAttackLight01RecoverMissDefinition", "MeleeMantisBladesActions.Combo01MeleeAttackLight02Definition", "MeleeMantisBladesActions.Combo01MeleeAttackLight03Definition", "MeleeMantisBladesActions.Combo01MeleeAttackLight03RecoverMissDefinition", "MeleeMantisBladesActions.Combo01MeleeAttackLight03RecoverHitDefinition"
	];
	hasMemory = false;
}

MeleeLightCombo01Definition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeWalkToCloseAttackRange", "MovementActions.MeleeMoveToAttackRange", "MeleeActions.FailAttackRange", "MeleeActions.FriendlyFireMeleeCheck", "MeleeMantisBladesActions.Combo01MeleeAttackLight01FromIdleDefinition", "MeleeMantisBladesActions.Combo01MeleeAttackLight01Definition", "MeleeMantisBladesActions.Combo01MeleeAttackLight01RecoverMissDefinition", "MeleeMantisBladesActions.Combo01MeleeAttackLight02Definition", "MeleeMantisBladesActions.Combo01MeleeAttackLight03Definition", "MeleeMantisBladesActions.Combo01MeleeAttackLight03RecoverMissDefinition", "MeleeMantisBladesActions.Combo01MeleeAttackLight03RecoverHitDefinition"
	];
}

MeleeLightCombo02Definition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeWalkToCloseAttackRange", "MovementActions.MeleeMoveToAttackRange", "MeleeActions.FailAttackRange", "MeleeActions.FriendlyFireMeleeCheck", "MeleeMantisBladesActions.Combo02MeleeAttackLight01FromIdleDefinition", "MeleeMantisBladesActions.Combo02MeleeAttackLight01Definition", "MeleeMantisBladesActions.Combo02MeleeAttackLight02Definition", "MeleeMantisBladesActions.Combo02MeleeAttackLight02RecoverMissDefinition", "MeleeMantisBladesActions.Combo02MeleeAttackLight02RecoverHitDefinition"
	];
}

MeleeLightCombo03Definition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeWalkToCloseAttackRange", "MovementActions.MeleeMoveToAttackRange", "MeleeActions.FailAttackRange", "MeleeActions.FriendlyFireMeleeCheck", "MeleeMantisBladesActions.Combo03MeleeAttackLight01FromIdleDefinition", "MeleeMantisBladesActions.Combo03MeleeAttackLight01Definition", "MeleeMantisBladesActions.Combo03MeleeAttackLight01RecoverMissDefinition", "MeleeMantisBladesActions.Combo03MeleeAttackLight02Definition", "MeleeMantisBladesActions.Combo03MeleeAttackLight03Definition", "MeleeMantisBladesActions.Combo03MeleeAttackLight04Definition", "MeleeMantisBladesActions.Combo03MeleeAttackLight04RecoverMissDefinition", "MeleeMantisBladesActions.Combo03MeleeAttackLight04RecoverHitDefinition"
	];
}

MeleeStrongSingle01Definition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeWalkToCloseAttackRange", "MovementActions.MeleeMoveToCloseAttackRange", "MeleeActions.FailAttackRange", "MeleeActions.FriendlyFireMeleeCheck", "MeleeMantisBladesActions.SingleMeleeAttackStrong01FromIdleDefinition", "MeleeMantisBladesActions.SingleMeleeAttackStrong01Definition", "MeleeMantisBladesActions.SingleMeleeAttackStrong01RecoverMissDefinition", "MeleeMantisBladesActions.SingleMeleeAttackStrong01RecoverHitDefinition"
	];
}

MeleeStrongSingle02Definition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeWalkToCloseAttackRange", "MovementActions.MeleeMoveToCloseAttackRange", "MeleeActions.FailAttackRange", "MeleeActions.FriendlyFireMeleeCheck", "MeleeMantisBladesActions.InfiniteGenericMeleeAttackStartup01Definition", "MeleeMantisBladesActions.InfiniteGenericMeleeAttackFromAttack04Definition"
	];
}

MeleeChargeSingle01Definition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeMoveToChargeAttackRange", "MeleeMantisBladesActions.SingleMeleeAttackCharge01Definition", "MeleeMantisBladesActions.SingleMeleeAttackCharge01RecoverMissDefinition", "MeleeMantisBladesActions.SingleMeleeAttackCharge01RecoverHitDefinition"
	];
}

MeleeChargeSingle02Definition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeMoveToChargeAttackRange", "MeleeMantisBladesActions.SingleMeleeAttackCharge02Definition", "MeleeMantisBladesActions.SingleMeleeAttackCharge02RecoverMissDefinition", "MeleeMantisBladesActions.SingleMeleeAttackCharge02RecoverHitDefinition"
	];
}

MeleeChargeSingle03Definition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeMoveToChargeAttackRange", "MeleeMantisBladesActions.SingleMeleeAttackCharge03Definition", "MeleeMantisBladesActions.SingleMeleeAttackCharge03RecoverMissDefinition", "MeleeMantisBladesActions.SingleMeleeAttackCharge03RecoverHitDefinition"
	];
}

MeleeChargeJump01Definition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeMoveToChargeJumpAttackRange", "MovementActions.MeleeMoveToChargeJumpAttackStraightPath", "MeleeActions.FailAttackRangeChargedJump", "MeleeMantisBladesActions.SingleMeleeAttackChargeJump01TauntDefinition", "MeleeMantisBladesActions.SingleMeleeAttackChargeJump01Definition", "MeleeMantisBladesActions.SingleMeleeAttackChargeJump01RecoverHitDefinition"
	];
}

MeleeChargeJump02Definition : AIActionSequence
{
	actions = [];
}

DeflectedRightArmToRightDefinition : AIAction
{
	activationCondition = 
	{
		condition = 
		{
			OR = 
			[
				"Condition.PreviousAttackNameCloseSingleRight01MeleeAttackLight01", "Condition.PreviousAttackNameCloseCombo02MeleeAttackLight01", "Condition.PreviousAttackNameCloseCombo02MeleeAttackLight02", "Condition.PreviousAttackNameCloseCombo02MeleeAttackLight01", "Condition.PreviousAttackNameCloseCombo02MeleeAttackLight02", "Condition.PreviousAttackNameCombo03MeleeAttackLight01", "Condition.PreviousAttackNameCombo03MeleeAttackLight03", "Condition.PreviousAttackNameCombo03MeleeAttackLight01", "Condition.PreviousAttackNameCombo03MeleeAttackLight03", "Condition.PreviousAttackNameInfiniteGenericMeleeAttackStartup01", "Condition.PreviousAttackNameInfiniteGenericMeleeAttackStartup02", "Condition.PreviousAttackNameInfiniteGenericMeleeAttackFromAttack01", "Condition.PreviousAttackNameInfiniteGenericMeleeAttackFromAttack03"
			];
		} : AIActionOR;
	};
	loop = 
	{
		duration = 1.7f;
	};
	animData = 
	{
		animFeature = "DeflectedRightArmToRight";
		animSlot = 
		{
		};
	};
}

DeflectedRightArmToLeftDefinition : AIAction
{
	activationCondition = 
	{
		condition = 
		{
			OR = 
			[
				"Condition.PreviousAttackNameCloseSingleBack01MeleeAttackLight01", "Condition.PreviousAttackNameCloseCombo01MeleeAttackLight01"
			];
		} : AIActionOR;
	};
	loop = 
	{
		duration = 2.f;
	};
	animData = 
	{
		animFeature = "DeflectedRightArmToLeft";
		animSlot = 
		{
		};
	};
}

DeflectedRightArmToDownDefinition : AIAction
{
	activationCondition = 
	{
		condition = 
		{
			OR = 
			[
				"Condition.PreviousAttackNameCombo01MeleeAttackLight02", "Condition.PreviousAttackNameCombo02MeleeAttackLight01", "Condition.PreviousAttackNameCombo02MeleeAttackLight02", "Condition.PreviousAttackNameCombo03MeleeAttackLight02", "Condition.PreviousAttackNameSingleMeleeAttackStrong01", "Condition.PreviousAttackNameInfiniteGenericMeleeAttackFromAttack02"
			];
		} : AIActionOR;
	};
	loop = 
	{
		duration = 1.6f;
	};
	animData = 
	{
		animFeature = "DeflectedRightArmToDown";
		animSlot = 
		{
		};
	};
}

DeflectedLeftArmToLeftDefinition : AIAction
{
	activationCondition = 
	{
		condition = 
		{
			OR = 
			[
				"Condition.PreviousAttackNameCloseSingleLeft01MeleeAttackLight01", "Condition.PreviousAttackNameCloseCombo01MeleeAttackLight02", "Condition.PreviousAttackNameCloseCombo01MeleeAttackLight03", "Condition.PreviousAttackNameCombo03MeleeAttackLight04", "Condition.PreviousAttackNameCombo03MeleeAttackLight02", "Condition.PreviousAttackNameCombo03MeleeAttackLight04", "Condition.PreviousAttackNameInfiniteGenericMeleeAttackFromAttack04"
			];
		} : AIActionOR;
	};
	loop = 
	{
		duration = 1.6f;
	};
	animData = 
	{
		animFeature = "DeflectedLeftArmToLeft";
		animSlot = 
		{
		};
	};
}

DeflectedLeftArmToUpDefinition : AIAction
{
	activationCondition = 
	{
		condition = 
		{
			OR = 
			[
				"Condition.PreviousAttackNameCombo01MeleeAttackLight01", "Condition.PreviousAttackNameSingleMeleeAttackCharge03", "Condition.PreviousAttackNameSingleMeleeAttackCharge03"
			];
		} : AIActionOR;
	};
	loop = 
	{
		duration = 2.03f;
	};
	animData = 
	{
		animFeature = "DeflectedLeftArmToUp";
		animSlot = 
		{
		};
	};
}

DeflectedBothArmsToUpDefinition : AIAction
{
	activationCondition = 
	{
		condition = 
		{
			OR = 
			[
				"Condition.PreviousAttackNameCombo01MeleeAttackLight03", "Condition.PreviousAttackNameSingleMeleeAttackCharge01", "Condition.PreviousAttackNameSingleMeleeAttackCharge02"
			];
		} : AIActionOR;
	};
	loop = 
	{
		duration = 2.06f;
	};
	animData = 
	{
		animFeature = "DeflectedLeftArmToUp";
		animSlot = 
		{
		};
	};
}

ParryMeleeAttack01Definition : MeleeActions.ParryMeleeAttack01Definition
{
	startup = 
	{
		duration = 0.9f;
		changeNPCState = 
		{
			upperBodyState = "Defend";
			hitReactionMode = "Unstoppable";
		};
	};
}

BlockMeleeAttack01Definition : MeleeActions.BlockMeleeAttack01Definition
{
}

BlockDodgeMeleeAttack01Definition : MeleeActions.BlockDodgeMeleeAttack01Definition
{
	loop = 
	{
		duration = 0.73f;
		changeNPCState = 
		{
			upperBodyState = "Defend";
			hitReactionMode = "Unstoppable";
		};
	};
}

BlockDodgeMeleeAttackToParry01Definition : MeleeActions.BlockDodgeMeleeAttackToParry01Definition
{
}

SlowPushAttack01Definition : MeleeActions.SlowPushAttack01Definition
{
	animData = 
	{
		animFeature = "ParryMeleeAttack01";
		animSlot = 
		{
			startupSlide = "MeleeActions.MeleeAttackLightSlideData";
			loopSlide = "MeleeActions.MeleeSlideCollsionPrevention";
			recoverySlide = "MeleeActions.MeleeSlideCollsionPrevention";
		};
	};
}

PushAttack01Definition : MeleeActions.PushAttack01Definition
{
	loop = 
	{
		duration = 0.2f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
			hitReactionMode = "StaggerMin";
		};
	};
	recovery = 
	{
		duration = 0.53f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	animData = 
	{
		animFeature = "ParryMeleeAttack01";
		animSlot = 
		{
			startupSlide = "MeleeActions.MeleeAttackLightSlideData";
			loopSlide = "MeleeActions.MeleeAttackChargeSlideData";
			recoverySlide = "MeleeActions.MeleeSlideCollsionPrevention";
		};
	};
}

CloseCombo01MeleeAttackLight01Definition : MeleeActions.CloseCombo01MeleeAttackLight01Definition
{
	startup = 
	{
		duration = 0.567f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisCloseCombo01MeleeAttackLight01DefinitionAttackData
	];
}

CloseCombo01MeleeAttackLight01FromDashDefinition : MeleeActions.CloseCombo01MeleeAttackLight01FromDashDefinition
{
	startup = 
	{
		duration = 0.567f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
			hitReactionMode = "StaggerMin";
		};
	};
	startupSubActions += 
	[
		{
		} : AISubActionInAir
	];
	loopSubActions = 
	[
		{
		} : MantisCloseCombo01MeleeAttackLight01FromDashDefinitionAttackData
	];
}

CloseCombo01MeleeAttackLight02Definition : MeleeActions.CloseCombo01MeleeAttackLight02Definition
{
	startup = 
	{
		duration = 0.067f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisCloseCombo01MeleeAttackLight02DefinitionAttackData
	];
}

CloseCombo01MeleeAttackLight03Definition : MeleeActions.CloseCombo01MeleeAttackLight03Definition
{
	startup = 
	{
		duration = 0.667f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
			hitReactionMode = "StaggerMin";
		};
	};
	startupSubActions += 
	[
		{
		} : AISubActionInAir
	];
	loopSubActions = 
	[
		{
		} : MantisCloseCombo01MeleeAttackLight03DefinitionAttackData
	];
}

CloseCombo01MeleeAttackLight01RecoverMissDefinition : MeleeActions.CloseCombo01MeleeAttackLight01RecoverMissDefinition
{
	loop = 
	{
		duration = 0.967f;
	};
}

CloseCombo01MeleeAttackLight03RecoverMissDefinition : MeleeActions.CloseCombo01MeleeAttackLight03RecoverMissDefinition
{
	loop = 
	{
		duration = 0.8f;
	};
}

CloseCombo01MeleeAttackLight03RecoverHitDefinition : MeleeActions.CloseCombo01MeleeAttackLight03RecoverHitDefinition
{
	loop = 
	{
		duration = 0.8f;
	};
}

MantisCloseCombo01MeleeAttackLight01DefinitionAttackData : CloseCombo01MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.25f, 0.3f, 1.5f );
	attack = "NPCAttacks.StrongAttack";
}

MantisCloseCombo01MeleeAttackLight01FromDashDefinitionAttackData : CloseCombo01MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.25f, 0.3f, 1.5f );
	attack = "NPCAttacks.StrongAttack";
}

MantisCloseCombo01MeleeAttackLight02DefinitionAttackData : CloseCombo01MeleeAttackLight02AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.25f, 0.3f, 1.5f );
	attack = "NPCAttacks.StrongAttack";
}

MantisCloseCombo01MeleeAttackLight03DefinitionAttackData : CloseCombo01MeleeAttackLight03AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.25f, 0.3f, 1.5f );
	attack = "NPCAttacks.StrongAttack";
}

CloseCombo02MeleeAttackLight01Definition : MeleeActions.CloseCombo02MeleeAttackLight01Definition
{
	startup = 
	{
		duration = 0.46f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisCloseCombo02MeleeAttackLight01DefinitionAttackData
	];
}

CloseCombo02MeleeAttackLight01FromDashDefinition : MeleeActions.CloseCombo02MeleeAttackLight01FromDashDefinition
{
	startup = 
	{
		duration = 0.46f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisCloseCombo02MeleeAttackLight01FromDashDefinitionAttackData
	];
}

CloseCombo02MeleeAttackLight02Definition : MeleeActions.CloseCombo02MeleeAttackLight02Definition
{
	startup = 
	{
		duration = 0.43f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisCloseCombo02MeleeAttackLight02DefinitionAttackData
	];
}

CloseCombo02MeleeAttackLight02RecoverMissDefinition : MeleeActions.CloseCombo02MeleeAttackLight02RecoverMissDefinition
{
	loop = 
	{
		duration = 0.66f;
	};
}

CloseCombo02MeleeAttackLight02RecoverHitDefinition : MeleeActions.CloseCombo02MeleeAttackLight02RecoverHitDefinition
{
	loop = 
	{
		duration = 0.66f;
	};
}

MantisCloseCombo02MeleeAttackLight01DefinitionAttackData : CloseCombo02MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.25f, 0.3f, 1.5f );
	attack = "NPCAttacks.StrongAttack";
}

MantisCloseCombo02MeleeAttackLight01FromDashDefinitionAttackData : CloseCombo02MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.25f, 0.3f, 1.5f );
	attack = "NPCAttacks.StrongAttack";
}

MantisCloseCombo02MeleeAttackLight02DefinitionAttackData : CloseCombo02MeleeAttackLight02AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.25f, 0.3f, 1.5f );
	attack = "NPCAttacks.StrongAttack";
}

CloseSingleLeft01MeleeAttackLight01Definition : MeleeActions.CloseSingleLeft01MeleeAttackLight01Definition
{
	loopSubActions = 
	[
		{
		} : MantisCloseSingleLeft01MeleeAttackLight01AttackData
	];
}

CloseSingleRight01MeleeAttackLight01Definition : MeleeActions.CloseSingleRight01MeleeAttackLight01Definition
{
	loopSubActions = 
	[
		{
		} : MantisCloseSingleRight01MeleeAttackLight01AttackData
	];
}

CloseSingleBack01MeleeAttackLight01Definition : MeleeActions.CloseSingleBack01MeleeAttackLight01Definition
{
	loopSubActions = 
	[
		{
		} : MantisCloseSingleBack01MeleeAttackLight01AttackData
	];
}

MantisCloseSingleLeft01MeleeAttackLight01AttackData : CloseSingleLeft01MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.0f;
	colliderBoxSize = ( 2.f, 0.3f, 0.5f );
	attack = "NPCAttacks.StrongAttack";
}

MantisCloseSingleRight01MeleeAttackLight01AttackData : CloseSingleRight01MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.0f;
	colliderBoxSize = ( 2.f, 0.3f, 0.5f );
	attack = "NPCAttacks.StrongAttack";
}

MantisCloseSingleBack01MeleeAttackLight01AttackData : CloseSingleBack01MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.0f;
	colliderBoxSize = ( 2.f, 0.3f, 0.5f );
	attack = "NPCAttacks.StrongAttack";
}

InfiniteGenericMeleeAttackStartup01Definition : MeleeActions.InfiniteGenericMeleeAttackStartup01Definition
{
	startup = 
	{
		duration = 0.567f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
			hitReactionMode = "StaggerMin";
		};
	};
	recovery = 
	{
		duration = 1.f;
		changeNPCState = 
		{
			hitReactionMode = "StaggerMin";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisInfiniteGenericMeleeAttackStartup01AttackData
	];
	recoverySubActions += 
	[
		{
		} : AISubActionInAir
	];
}

InfiniteGenericMeleeAttackStartup02Definition : MeleeActions.InfiniteGenericMeleeAttackStartup02Definition
{
	startup = 
	{
		duration = 0.4f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisInfiniteGenericMeleeAttackStartup02AttackData
	];
}

InfiniteGenericMeleeAttackFromAttack01Definition : MeleeActions.InfiniteGenericMeleeAttackFromAttack01Definition
{
	startup = 
	{
		duration = 0.3f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loop = 
	{
		duration = 0.2f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisInfiniteGenericMeleeAttackFromAttack01Definition
	];
}

InfiniteGenericMeleeAttackFromAttack02Definition : MeleeActions.InfiniteGenericMeleeAttackFromAttack02Definition
{
	startup = 
	{
		duration = 0.333f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loop = 
	{
		duration = 0.2f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisInfiniteGenericMeleeAttackFromAttack02Definition
	];
}

InfiniteGenericMeleeAttackFromAttack03Definition : MeleeActions.InfiniteGenericMeleeAttackFromAttack03Definition
{
	startup = 
	{
		duration = 0.3f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loop = 
	{
		duration = 0.2f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisInfiniteGenericMeleeAttackFromAttack03Definition
	];
}

InfiniteGenericMeleeAttackFromAttack04Definition : MeleeActions.InfiniteGenericMeleeAttackFromAttack04Definition
{
	startup = 
	{
		duration = 0.3f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loop = 
	{
		duration = 0.2f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisInfiniteGenericMeleeAttackFromAttack04Definition
	];
}

MantisInfiniteGenericMeleeAttackStartup01AttackData : InfiniteGenericMeleeAttackStartup01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.5f, 0.3f, 1.f );
	attack = "NPCAttacks.StrongAttack";
}

MantisInfiniteGenericMeleeAttackStartup02AttackData : InfiniteGenericMeleeAttackStartup02AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.f, 0.3f, 0.5f );
	attack = "NPCAttacks.StrongAttack";
}

MantisInfiniteGenericMeleeAttackFromAttack01Definition : InfiniteGenericMeleeAttackFromAttack01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.f, 0.3f, 0.5f );
	attack = "NPCAttacks.StrongAttack";
}

MantisInfiniteGenericMeleeAttackFromAttack02Definition : InfiniteGenericMeleeAttackFromAttack02AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.25f, 0.3f, 2.f );
	attack = "NPCAttacks.StrongAttack";
}

MantisInfiniteGenericMeleeAttackFromAttack03Definition : InfiniteGenericMeleeAttackFromAttack03AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.25f, 0.3f, 2.f );
	attack = "NPCAttacks.StrongAttack";
}

MantisInfiniteGenericMeleeAttackFromAttack04Definition : InfiniteGenericMeleeAttackFromAttack04AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.f, 0.3f, 0.5f );
	attack = "NPCAttacks.StrongAttack";
}

Combo01MeleeAttackLight01FromIdleDefinition : MeleeActions.Combo01MeleeAttackLight01FromIdleDefinition
{
	startup = 
	{
		duration = 1.4f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
			hitReactionMode = "StaggerMin";
		};
	};
	startupSubActions += 
	[
		{
		} : AISubActionInAir
	];
	loopSubActions = 
	[
		{
		} : MantisCombo01MeleeAttackLight01FromIdleAttackData
	];
}

Combo01MeleeAttackLight01FromDashDefinition : MeleeActions.Combo01MeleeAttackLight01FromDashDefinition
{
	startup = 
	{
		duration = 1.4f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisCombo01MeleeAttackLight01FromDashAttackData
	];
}

Combo01MeleeAttackLight01Definition : MeleeActions.Combo01MeleeAttackLight01Definition
{
	startup = 
	{
		duration = 0.767f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisCombo01MeleeAttackLight01AttackData
	];
}

Combo01MeleeAttackLight02Definition : MeleeActions.Combo01MeleeAttackLight02Definition
{
	startup = 
	{
		duration = 0.167f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisCombo01MeleeAttackLight02AttackData
	];
}

Combo01MeleeAttackLight03Definition : MeleeActions.Combo01MeleeAttackLight03Definition
{
	startup = 
	{
		duration = 0.8f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
			hitReactionMode = "StaggerMin";
		};
	};
	startupSubActions += 
	[
		{
		} : AISubActionInAir
	];
	loopSubActions = 
	[
		{
		} : MantisCombo01MeleeAttackLight03AttackData
	];
}

Combo01MeleeAttackLight01RecoverMissDefinition : MeleeActions.Combo01MeleeAttackLight01RecoverMissDefinition
{
	loop = 
	{
		duration = 0.9f;
	};
}

Combo01MeleeAttackLight03RecoverMissDefinition : MeleeActions.Combo01MeleeAttackLight03RecoverMissDefinition
{
	loop = 
	{
		duration = 1.f;
	};
}

Combo01MeleeAttackLight03RecoverHitDefinition : MeleeActions.Combo01MeleeAttackLight03RecoverHitDefinition
{
	loop = 
	{
		duration = 1.f;
	};
}

MantisCombo01MeleeAttackLight01FromIdleAttackData : Combo01MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.f, 0.3f, 2.f );
	attack = "NPCAttacks.StrongAttack";
}

MantisCombo01MeleeAttackLight01FromDashAttackData : Combo01MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.f, 0.3f, 2.f );
	attack = "NPCAttacks.StrongAttack";
}

MantisCombo01MeleeAttackLight01AttackData : Combo01MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.f, 0.3f, 2.f );
	attack = "NPCAttacks.StrongAttack";
}

MantisCombo01MeleeAttackLight02AttackData : Combo01MeleeAttackLight02AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.25f, 0.3f, 1.f );
	attack = "NPCAttacks.StrongAttack";
}

MantisCombo01MeleeAttackLight03AttackData : Combo01MeleeAttackLight03AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.0f;
	colliderBoxSize = ( 1.f, 0.3f, 2.f );
	attack = "NPCAttacks.StrongAttack";
}

Combo02MeleeAttackLight01FromIdleDefinition : MeleeActions.Combo02MeleeAttackLight01FromIdleDefinition
{
	startup = 
	{
		duration = 0.667f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisCombo02MeleeAttackLight01FromIdleAttackData
	];
}

Combo02MeleeAttackLight01FromDashDefinition : MeleeActions.Combo02MeleeAttackLight01FromDashDefinition
{
	startup = 
	{
		duration = 0.667f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisCombo02MeleeAttackLight01FromDashAttackData
	];
}

Combo02MeleeAttackLight01Definition : MeleeActions.Combo02MeleeAttackLight01Definition
{
	startup = 
	{
		duration = 0.5f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisCombo02MeleeAttackLight01AttackData
	];
}

Combo02MeleeAttackLight02Definition : MeleeActions.Combo02MeleeAttackLight02Definition
{
	startup = 
	{
		duration = 0.167f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisCombo02MeleeAttackLight02AttackData
	];
}

Combo02MeleeAttackLight02RecoverMissDefinition : MeleeActions.Combo02MeleeAttackLight02RecoverMissDefinition
{
}

Combo02MeleeAttackLight02RecoverHitDefinition : MeleeActions.Combo02MeleeAttackLight02RecoverHitDefinition
{
}

MantisCombo02MeleeAttackLight01FromIdleAttackData : Combo02MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.0f;
	colliderBoxSize = ( 2.f, 0.3f, 1.f );
	attack = "NPCAttacks.StrongAttack";
}

MantisCombo02MeleeAttackLight01FromDashAttackData : Combo02MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.0f;
	colliderBoxSize = ( 2.f, 0.3f, 1.f );
	attack = "NPCAttacks.StrongAttack";
}

MantisCombo02MeleeAttackLight01AttackData : Combo02MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.0f;
	colliderBoxSize = ( 2.f, 0.3f, 1.f );
	attack = "NPCAttacks.StrongAttack";
}

MantisCombo02MeleeAttackLight02AttackData : Combo02MeleeAttackLight02AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.0f;
	colliderBoxSize = ( 2.f, 0.3f, 1.f );
	attack = "NPCAttacks.StrongAttack";
}

Combo03MeleeAttackLight01FromIdleDefinition : MeleeActions.Combo03MeleeAttackLight01FromIdleDefinition
{
	startup = 
	{
		duration = 0.36f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisCombo03MeleeAttackLight01FromIdleAttackData
	];
}

Combo03MeleeAttackLight01FromDashDefinition : MeleeActions.Combo03MeleeAttackLight01FromDashDefinition
{
	startup = 
	{
		duration = 0.36f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisCombo03MeleeAttackLight01FromDashAttackData
	];
}

Combo03MeleeAttackLight01Definition : MeleeActions.Combo03MeleeAttackLight01Definition
{
	startup = 
	{
		duration = 0.33f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisCombo03MeleeAttackLight01AttackData
	];
}

Combo03MeleeAttackLight02Definition : MeleeActions.Combo03MeleeAttackLight02Definition
{
	startup = 
	{
		duration = 0.3f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisCombo03MeleeAttackLight02AttackData
	];
}

Combo03MeleeAttackLight03Definition : MeleeActions.Combo03MeleeAttackLight03Definition
{
	startup = 
	{
		duration = 0.3f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisCombo03MeleeAttackLight03AttackData
	];
}

Combo03MeleeAttackLight04Definition : MeleeActions.Combo03MeleeAttackLight04Definition
{
	startup = 
	{
		duration = 0.03f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
		};
	};
	loopSubActions = 
	[
		{
		} : MantisCombo03MeleeAttackLight04AttackData
	];
}

MantisCombo03MeleeAttackLight01FromIdleAttackData : Combo03MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.25f, 0.3f, 2.f );
	attack = "NPCAttacks.StrongAttack";
}

MantisCombo03MeleeAttackLight01FromDashAttackData : Combo03MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.25f, 0.3f, 2.f );
	attack = "NPCAttacks.StrongAttack";
}

MantisCombo03MeleeAttackLight01AttackData : Combo03MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.25f, 0.3f, 2.f );
	attack = "NPCAttacks.StrongAttack";
}

MantisCombo03MeleeAttackLight02AttackData : Combo03MeleeAttackLight02AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.25f, 0.3f, 2.f );
	attack = "NPCAttacks.StrongAttack";
}

MantisCombo03MeleeAttackLight03AttackData : Combo03MeleeAttackLight03AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.25f, 0.3f, 2.f );
	attack = "NPCAttacks.StrongAttack";
}

MantisCombo03MeleeAttackLight04AttackData : Combo03MeleeAttackLight04AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.25f, 0.3f, 2.f );
	attack = "NPCAttacks.StrongAttack";
}

Combo03MeleeAttackLight01RecoverMissDefinition : MeleeActions.Combo03MeleeAttackLight01RecoverMissDefinition
{
}

Combo03MeleeAttackLight04RecoverMissDefinition : MeleeActions.Combo03MeleeAttackLight04RecoverMissDefinition
{
}

Combo03MeleeAttackLight04RecoverHitDefinition : MeleeActions.Combo03MeleeAttackLight04RecoverHitDefinition
{
}

SingleMeleeAttackStrong01FromIdleDefinition : MeleeActions.SingleMeleeAttackStrong01FromIdleDefinition
{
	startup = 
	{
		duration = 0.767f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
			hitReactionMode = "StaggerMin";
		};
	};
	loop = 
	{
		duration = 0.15f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
			hitReactionMode = "StaggerMin";
		};
	};
	startupSubActions += 
	[
		{
		} : AISubActionInAir
	];
	loopSubActions += 
	[
		{
		} : AISubActionInAir
	];
}

SingleMeleeAttackStrong01FromDashDefinition : MeleeActions.SingleMeleeAttackStrong01FromDashDefinition
{
	loop = 
	{
		duration = 0.15f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
			hitReactionMode = "StaggerMin";
		};
	};
	startupSubActions += 
	[
		{
		} : AISubActionInAir
	];
	loopSubActions += 
	[
		{
		} : AISubActionInAir
	];
}

SingleMeleeAttackStrong01Definition : MeleeActions.SingleMeleeAttackStrong01Definition
{
	loop = 
	{
		duration = 0.15f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
			hitReactionMode = "StaggerMin";
		};
	};
	startupSubActions += 
	[
		{
		} : AISubActionInAir
	];
	loopSubActions += 
	[
		{
		} : AISubActionInAir
	];
}

SingleMeleeAttackStrong01RecoverMissDefinition : MeleeActions.SingleMeleeAttackStrong01RecoverMissDefinition
{
}

SingleMeleeAttackStrong01RecoverHitDefinition : MeleeActions.SingleMeleeAttackStrong01RecoverHitDefinition
{
}

SingleMeleeAttackCharge01TauntDefinition : MeleeActions.SingleMeleeAttackCharge01TauntDefinition
{
}

SingleMeleeAttackCharge01Definition : MeleeActions.SingleMeleeAttackCharge01Definition
{
	startup = 
	{
		duration = 1.f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
			hitReactionMode = "StaggerMin";
		};
	};
	loop = 
	{
		duration = 1.f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
			hitReactionMode = "StaggerMin";
		};
	};
	startupSubActions += 
	[
		{
		} : AISubActionInAir
	];
	loopSubActions = 
	[
		{
		} : MantisSingleMeleeAttackCharge01AttackData, 
		{
		} : AISubActionInAir
	];
}

SingleMeleeAttackCharge01RecoverMissDefinition : MeleeActions.SingleMeleeAttackCharge01RecoverMissDefinition
{
}

SingleMeleeAttackCharge01RecoverHitDefinition : MeleeActions.SingleMeleeAttackCharge01RecoverHitDefinition
{
}

MantisSingleMeleeAttackCharge01AttackData : MeleeChargeSingle01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.f, 0.3f, 2.5f );
	attack = "NPCAttacks.StrongAttack";
}

SingleMeleeAttackCharge02TauntDefinition : MeleeActions.SingleMeleeAttackCharge02TauntDefinition
{
}

SingleMeleeAttackCharge02Definition : MeleeActions.SingleMeleeAttackCharge02Definition
{
	startup = 
	{
		duration = 1.f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
			hitReactionMode = "StaggerMin";
		};
	};
	loop = 
	{
		duration = 1.f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
			hitReactionMode = "StaggerMin";
		};
	};
	startupSubActions += 
	[
		{
		} : AISubActionInAir
	];
	loopSubActions = 
	[
		{
		} : MantisSingleMeleeAttackCharge02AttackData, 
		{
		} : AISubActionInAir
	];
}

SingleMeleeAttackCharge02RecoverMissDefinition : MeleeActions.SingleMeleeAttackCharge02RecoverMissDefinition
{
}

SingleMeleeAttackCharge02RecoverHitDefinition : MeleeActions.SingleMeleeAttackCharge02RecoverHitDefinition
{
}

MantisSingleMeleeAttackCharge02AttackData : MeleeChargeSingle02AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.25f, 0.3f, 1.f );
	attack = "NPCAttacks.StrongAttack";
}

SingleMeleeAttackCharge03TauntDefinition : MeleeActions.SingleMeleeAttackCharge03TauntDefinition
{
}

SingleMeleeAttackCharge03Definition : MeleeActions.SingleMeleeAttackCharge03Definition
{
	startup = 
	{
		duration = 1.f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
			hitReactionMode = "StaggerMin";
		};
	};
	loop = 
	{
		duration = 1.f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
			hitReactionMode = "StaggerMin";
		};
	};
	startupSubActions += 
	[
		{
		} : AISubActionInAir
	];
	loopSubActions = 
	[
		{
		} : MantisSingleMeleeAttackCharge03AttackData
	];
}

SingleMeleeAttackCharge03RecoverMissDefinition : MeleeActions.SingleMeleeAttackCharge03RecoverMissDefinition
{
}

SingleMeleeAttackCharge03RecoverHitDefinition : MeleeActions.SingleMeleeAttackCharge03RecoverHitDefinition
{
}

MantisSingleMeleeAttackCharge03AttackData : MeleeChargeSingle03AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.25f, 0.3f, 2.f );
	attack = "NPCAttacks.StrongAttack";
}

SingleMeleeAttackChargeJump01TauntDefinition : MeleeActions.SingleMeleeAttackChargeJump01TauntDefinition
{
}

SingleMeleeAttackChargeJump01Definition : MeleeActions.SingleMeleeAttackChargeJump01Definition
{
	startup = 
	{
		duration = 0.667f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
			hitReactionMode = "StaggerMin";
		};
	};
	startupSubActions += 
	[
		{
			name = "enemy_melee_charge";
		} : AISubActionPlayVoiceOver
	];
	loopSubActions = 
	[
		{
		} : MantisSingleMeleeAttackChargeJump01AttackData
	];
}

SingleMeleeAttackChargeJump01RecoverHitDefinition : MeleeActions.SingleMeleeAttackChargeJump01RecoverHitDefinition
{
}

MantisSingleMeleeAttackChargeJump01AttackData : SingleMeleeAttackChargeJump01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.0f;
	colliderBoxSize = ( 1.25f, 0.3f, 2.f );
	attack = "NPCAttacks.StrongAttack";
}

