package MeleeFistActions
using RTDB, MeleeActions, MovementActions, DashAndDodgeActions

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

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

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

KerenzikovDodgeSelectorDefinition : AIActionSelector
{
	actions = 
	[
		"MeleeFistActions.DodgeKerenzikovLeftOnSpotDefinition", "MeleeFistActions.DodgeKerenzikovRightOnSpotDefinition", "MeleeFistActions.DodgeKerenzikovRightFrontDefinition", "MeleeFistActions.DodgeKerenzikovLeftFrontDefinition"
	];
	defaultAction = "MeleeFistActions.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
{
}

DodgeMeleeKerenzikovForParryMeleeBackDefinition : DashAndDodgeActions.DodgeMeleeKerenzikovForParryMeleeBackDefinition
{
}

DodgeKerenzikovBackDefinition : DashAndDodgeActions.DodgeKerenzikovBackDefinition
{
}

DodgeKerenzikovLeftFrontDefinition : DashAndDodgeActions.DodgeKerenzikovLeftFrontDefinition
{
}

DodgeKerenzikovRightFrontDefinition : DashAndDodgeActions.DodgeKerenzikovRightFrontDefinition
{
}

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

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

DeflectReactionSelectorDefinition : AIActionSelector
{
	actions = 
	[
		"MeleeFistActions.DeflectedRightArmToRightDefinition", "MeleeFistActions.DeflectedRightArmToDownDefinition", "MeleeFistActions.DeflectedLeftArmToRightDefinition", "MeleeFistActions.DeflectedLeftArmToLeftDefinition", "MeleeFistActions.DeflectedRightLegDefinition"
	];
	defaultAction = "MeleeActions.DeflectedDefaultDefinition";
}

MeleeAttackLight01FistConditionDefinition : AIAction
{
	activationCondition = 
	{
		condition = 
		{
			AND = 
			[
				"Condition.MeleeAttackCondition", "Condition.AbilityIsFastMeleeArchetype"
			];
		} : AIActionAND;
	};
}

MeleeAttackLight02FistConditionDefinition : AIAction
{
	activationCondition = 
	{
		condition = 
		{
			AND = 
			[
				"Condition.MeleeAttackCondition", "Condition.AbilityIsFastMeleeArchetype"
			];
		} : AIActionAND;
	};
}

MeleeAttackLight03FistConditionDefinition : AIAction
{
	activationCondition = 
	{
		condition = 
		{
			AND = 
			[
				"Condition.MeleeAttackCondition", "Condition.NotAbilityIsFastMeleeArchetype"
			];
		} : AIActionAND;
	};
}

MeleeCloseAttackLight02FistConditionDefinition : AIAction
{
	activationCondition = 
	{
		condition = 
		{
			AND = 
			[
				"Condition.MeleeCloseAttackFrontCondition", "Condition.NotAbilityIsFastMeleeArchetype"
			];
		} : AIActionAND;
	};
}

StrongArmsUserCondition : AIActionOR
{
	OR = 
	[
		{
			slot = "AttachmentSlots.WeaponRight";
			itemType = "ItemType.Cyb_StrongArms";
		} : AISlotCond, 
		{
			slot = "AttachmentSlots.WeaponLeft";
			itemType = "ItemType.Cyb_StrongArms";
		} : AISlotCond, 
		{
			itemType = "ItemType.Cyb_StrongArms";
			equipmentGroup = "PrimaryEquipment";
		} : AIItemCond
	];
}

MeleeActivateStrongArmsDefinition : AIAction
{
	activationCondition = 
	{
		condition = 
		{
			AND = 
			[
				"MeleeFistActions.StrongArmsUserCondition", "Condition.NotStatusEffectStrongArmsPhysicalActive", "Condition.NotStatusEffectStrongArmsThermalActive", "Condition.NotStatusEffectStrongArmsChemicalActive", "Condition.NotStatusEffectStrongArmsElecricActive"
			];
		} : AIActionAND;
	};
	loop = 
	{
		duration = 0.000001f;
	};
	subActions = 
	[
		{
		} : AISubActionActivateStrongArmsFX
	];
}

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

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

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

MeleeTauntHitReactionDefinition : MeleeActions.MeleeTauntHitReactionDefinition
{
}

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

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

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

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

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

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

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

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

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

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

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

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

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

MeleeLightCloseCombo02Definition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeWalkToCloseAttackRange", "MovementActions.MeleeMoveToCloseAttackRange", "MovementActions.RotateInIdle", "MeleeActions.FailAttackRange", "MeleeActions.FriendlyFireMeleeCheck", "MeleeFistActions.CloseCombo02MeleeAttackLight01Definition", "MeleeFistActions.CloseCombo02MeleeAttackLight01RecoverMissDefinition", "MeleeFistActions.CloseCombo02MeleeAttackLight02Definition", "MeleeFistActions.CloseCombo02MeleeAttackLight03Definition", "MeleeFistActions.CloseCombo02MeleeAttackLight03RecoverMissDefinition", "MeleeFistActions.CloseCombo02MeleeAttackLight03RecoverHitDefinition"
	];
}

MeleeLightCombo01Definition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeWalkToCloseAttackRange", "MovementActions.MeleeMoveToAttackRange", "MovementActions.RotateInIdle", "MeleeActions.FailAttackRange", "MeleeActions.FriendlyFireMeleeCheck", "MeleeFistActions.Combo01MeleeAttackLight01FromIdleDefinition", "MeleeFistActions.Combo01MeleeAttackLight01Definition", "MeleeFistActions.Combo01MeleeAttackLight01RecoverMissDefinition", "MeleeFistActions.Combo01MeleeAttackLight02Definition", "MeleeFistActions.Combo01MeleeAttackLight03Definition", "MeleeFistActions.Combo01MeleeAttackLight04Definition", "MeleeFistActions.Combo01MeleeAttackLight04RecoverMissDefinition", "MeleeFistActions.Combo01MeleeAttackLight04RecoverHitDefinition"
	];
}

SimpleMeleeCombatComboDefinition : AIActionSequence
{
	actions = 
	[
		"MovementActions.SimpleMeleeCombatWalkToCloseAttackRange", "MovementActions.SimpleMeleeCombatMoveToCloseAttackRange", "MovementActions.SimpleMeleeCombatWoundedMoveToCloseAttackRange", "MovementActions.RotateInIdle", "MeleeActions.FailAttackRange", "MeleeActions.FriendlyFireMeleeCheck", "MeleeFistActions.InfiniteGenericMeleeAttackStartup03Definition", "MeleeFistActions.InfiniteGenericMeleeAttackFromAttack05Definition", "MeleeFistActions.InfiniteGenericMeleeAttackFromAttack02Definition"
	];
}

CivilianSimpleMeleeCombatCombo01FistDefinition : AIActionSequence
{
	activationCondition = "MeleeFistActions.CivilianWeaponTypeCondition";
	actions = 
	[
		"MovementActions.SimpleMeleeCombatWalkToCloseAttackRange", "MovementActions.RotateInIdle", "MeleeActions.FailAttackRange", "MeleeActions.FriendlyFireMeleeCheck", "MeleeFistActions.Combo01MeleeAttackLight01FromIdleDefinition", "MeleeFistActions.Combo01MeleeAttackLight01Definition", "MeleeFistActions.Combo01MeleeAttackLight01RecoverMissDefinition", "MeleeFistActions.Combo01MeleeAttackLight02Definition", "MeleeFistActions.Combo01MeleeAttackLight02RecoverMissDefinition", "MeleeFistActions.Combo01MeleeAttackLight02RecoverHitDefinition"
	];
}

CivilianSimpleMeleeCombatCombo02FistDefinition : AIActionSequence
{
	activationCondition = "MeleeFistActions.CivilianWeaponTypeCondition";
	actions = 
	[
		"MovementActions.SimpleMeleeCombatWalkToCloseAttackRange", "MovementActions.RotateInIdle", "MeleeActions.FailAttackRange", "MeleeActions.FriendlyFireMeleeCheck", "MeleeFistActions.Combo02MeleeAttackLight01FromIdleDefinition", "MeleeFistActions.Combo02MeleeAttackLight01Definition", "MeleeFistActions.Combo02MeleeAttackLight01RecoverMissDefinition", "MeleeFistActions.Combo02MeleeAttackLight02Definition", "MeleeFistActions.Combo02MeleeAttackLight02RecoverMissDefinition", "MeleeFistActions.Combo02MeleeAttackLight02RecoverHitDefinition"
	];
}

CivilianSimpleMeleeCombatCombo03FistDefinition : AIActionSequence
{
	activationCondition = "MeleeFistActions.CivilianWeaponTypeCondition";
	actions = 
	[
		"MovementActions.SimpleMeleeCombatWalkToCloseAttackRange", "MovementActions.RotateInIdle", "MeleeActions.FailAttackRange", "MeleeActions.FriendlyFireMeleeCheck", "MeleeFistActions.SingleMeleeAttackStrong01FromIdleDefinition", "MeleeFistActions.SingleMeleeAttackStrong01Definition", "MeleeFistActions.SingleMeleeAttackStrong01RecoverMissDefinition", "MeleeFistActions.SingleMeleeAttackStrong01RecoverHitDefinition"
	];
}

MeleeLightCombo02Definition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeWalkToCloseAttackRange", "MovementActions.MeleeMoveToAttackRange", "MovementActions.RotateInIdle", "MeleeActions.FailAttackRange", "MeleeActions.FriendlyFireMeleeCheck", "MeleeFistActions.Combo02MeleeAttackLight01FromIdleDefinition", "MeleeFistActions.Combo02MeleeAttackLight01Definition", "MeleeFistActions.Combo02MeleeAttackLight01RecoverMissDefinition", "MeleeFistActions.Combo02MeleeAttackLight02Definition", "MeleeFistActions.Combo02MeleeAttackLight03Definition", "MeleeFistActions.Combo02MeleeAttackLight03RecoverMissDefinition", "MeleeFistActions.Combo02MeleeAttackLight03RecoverHitDefinition"
	];
}

MeleeLightCombo03Definition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeWalkToCloseAttackRange", "MovementActions.MeleeMoveToAttackRange", "MovementActions.RotateInIdle", "MeleeActions.FailAttackRange", "MeleeActions.FriendlyFireMeleeCheck", "MeleeFistActions.Combo03MeleeAttackLight01FromIdleDefinition", "MeleeFistActions.Combo03MeleeAttackLight01Definition", "MeleeFistActions.Combo03MeleeAttackLight01RecoverMissDefinition", "MeleeFistActions.Combo03MeleeAttackLight02Definition", "MeleeFistActions.Combo03MeleeAttackLight03Definition", "MeleeFistActions.Combo03MeleeAttackLight03RecoverMissDefinition", "MeleeFistActions.Combo03MeleeAttackLight03RecoverHitDefinition"
	];
}

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

MeleeStrongSingle02Definition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeWalkToCloseAttackRange", "MovementActions.MeleeMoveToStrongAttackRange", "MovementActions.RotateInIdle", "MeleeActions.FailAttackRange", "MeleeActions.FriendlyFireMeleeCheck", "MeleeFistActions.SingleMeleeAttackStrong02FromIdleDefinition", "MeleeFistActions.SingleMeleeAttackStrong02Definition", "MeleeFistActions.SingleMeleeAttackStrong02RecoverMissDefinition", "MeleeFistActions.SingleMeleeAttackStrong02RecoverHitDefinition"
	];
}

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

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

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

MeleeChargeJump02Definition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeMoveToChargeJumpAttackRange", "MovementActions.MeleeMoveToChargeJumpAttackStraightPath", "MeleeActions.FailAttackRangeChargedJump", "MeleeFistActions.SingleMeleeAttackChargeJump02TauntDefinition", "MeleeFistActions.SingleMeleeAttackChargeJump02Definition", "MeleeFistActions.SingleMeleeAttackChargeJump02RecoverHitDefinition"
	];
}

MeleeWoundedCombo01LeftHandDefinition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeWalkToCloseAttackRange", "MovementActions.MeleeMoveToCloseAttackRange", "MeleeActions.FailAttackRange", "MeleeFistActions.InfiniteGenericMeleeAttackStartup03Definition"
	];
}

MeleeWoundedCombo02LeftHandDefinition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeWalkToCloseAttackRange", "MovementActions.MeleeMoveToCloseAttackRange", "MeleeActions.FailAttackRange", "MeleeFistActions.InfiniteGenericMeleeAttackFromAttack06Definition"
	];
}

MeleeWoundedCombo03LeftHandDefinition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeWalkToCloseAttackRange", "MovementActions.MeleeMoveToCloseAttackRange", "MeleeActions.FailAttackRange", "MeleeFistActions.InfiniteGenericMeleeAttackFromAttack03Definition"
	];
}

MeleeWoundedCombo01RightHandDefinition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeWalkToCloseAttackRange", "MovementActions.MeleeMoveToCloseAttackRange", "MeleeActions.FailAttackRange", "MeleeFistActions.InfiniteGenericMeleeAttackStartup04Definition"
	];
}

MeleeWoundedCombo02RightHandDefinition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeWalkToCloseAttackRange", "MovementActions.MeleeMoveToCloseAttackRange", "MeleeActions.FailAttackRange", "MeleeFistActions.InfiniteGenericMeleeAttackFromAttack07Definition"
	];
}

MeleeWoundedCombo03RightHandDefinition : AIActionSequence
{
	actions = 
	[
		"MovementActions.MeleeWalkToCloseAttackRange", "MovementActions.MeleeMoveToCloseAttackRange", "MeleeActions.FailAttackRange", "MeleeFistActions.InfiniteGenericMeleeAttackFromAttack04Definition"
	];
}

DeflectedRightArmToRightDefinition : AIAction
{
	activationCondition = 
	{
		condition = 
		{
			OR = 
			[
				"Condition.PreviousAttackNameInfiniteGenericMeleeAttackStartup02", "Condition.PreviousAttackNameCloseCombo01MeleeAttackLight01", "Condition.PreviousAttackNameCombo01MeleeAttackLight03", "Condition.PreviousAttackNameCombo02MeleeAttackLight01", "Condition.PreviousAttackNameSingleMeleeAttackStrong02", "Condition.PreviousAttackNameSingleMeleeAttackCharge01", "Condition.PreviousAttackNameSingleMeleeAttackCharge02", "Condition.PreviousAttackNameCombo03MeleeAttackLight02", "Condition.PreviousAttackNameCombo03MeleeAttackLight03"
			];
		} : AIActionOR;
	};
	startup = 
	{
		duration = 1.3f;
	};
	loop = 
	{
		duration = 0.3f;
	};
	recovery = 
	{
		duration = 2.1f;
	};
	animData = 
	{
		animFeature = "DeflectedRightArmToRight";
		animSlot = 
		{
		};
	};
}

DeflectedRightArmToDownDefinition : AIAction
{
	activationCondition = 
	{
		condition = 
		{
			OR = 
			[
				"Condition.PreviousAttackNameInfiniteGenericMeleeAttackFromAttack04", "Condition.PreviousAttackNameCloseCombo01MeleeAttackLight03", "Condition.PreviousAttackNameCloseCombo02MeleeAttackLight03", "Condition.PreviousAttackNameSingleMeleeAttackStrong01"
			];
		} : AIActionOR;
	};
	loop = 
	{
		duration = 1.6f;
	};
	animData = 
	{
		animFeature = "DeflectedRightArmToDown";
		animSlot = 
		{
		};
	};
}

DeflectedLeftArmToRightDefinition : AIAction
{
	activationCondition = 
	{
		condition = 
		{
			OR = 
			[
				"Condition.PreviousAttackNameInfiniteGenericMeleeAttackStartup01", "Condition.PreviousAttackNameCombo01MeleeAttackLight04", "Condition.PreviousAttackNameCombo02MeleeAttackLight03", "Condition.PreviousAttackNameCombo03MeleeAttackLight01"
			];
		} : AIActionOR;
	};
	loop = 
	{
		duration = 1.6f;
	};
	animData = 
	{
		animFeature = "DeflectedLeftArmToRight";
		animSlot = 
		{
		};
	};
}

DeflectedLeftArmToLeftDefinition : AIAction
{
	activationCondition = 
	{
		condition = 
		{
			OR = 
			[
				"Condition.PreviousAttackNameInfiniteGenericMeleeAttackFromAttack01", "Condition.PreviousAttackNameInfiniteGenericMeleeAttackFromAttack02", "Condition.PreviousAttackNameInfiniteGenericMeleeAttackFromAttack03", "Condition.PreviousAttackNameCloseCombo01MeleeAttackLight02", "Condition.PreviousAttackNameCloseCombo02MeleeAttackLight02", "Condition.PreviousAttackNameCombo01MeleeAttackLight02"
			];
		} : AIActionOR;
	};
	loop = 
	{
		duration = 3.5f;
	};
	animData = 
	{
		animFeature = "DeflectedLeftArmToLeft";
		animSlot = 
		{
		};
	};
}

DeflectedRightLegDefinition : AIAction
{
	activationCondition = 
	{
		condition = 
		{
			OR = 
			[
				"Condition.PreviousAttackNameCloseCombo02MeleeAttackLight01", "Condition.PreviousAttackNameCombo01MeleeAttackLight01", "Condition.PreviousAttackNameCombo02MeleeAttackLight02"
			];
		} : AIActionOR;
	};
	loop = 
	{
		duration = 1.8f;
	};
	animData = 
	{
		animFeature = "DeflectedRightLeg";
		animSlot = 
		{
		};
	};
}

ParryMeleeAttack01Definition : MeleeActions.ParryMeleeAttack01Definition
{
	startup = 
	{
		useDurationFromAnimSlot = false;
		duration = 0.875f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
			hitReactionMode = "Unstoppable";
		};
	};
}

BlockMeleeAttack01Definition : MeleeActions.BlockMeleeAttack01Definition
{
	allowBlendDuration = 1.2f;
	allowBlendPercCap = 0.7f;
}

BlockDodgeMeleeAttack01Definition : MeleeActions.BlockDodgeMeleeAttack01Definition
{
}

BlockDodgeMeleeAttackToParry01Definition : MeleeActions.BlockDodgeMeleeAttackToParry01Definition
{
}

SlowPushAttack01Definition : MeleeActions.SlowPushAttack01Definition
{
	startup = 
	{
		useDurationFromAnimSlot = false;
		duration = 1.5f;
		changeNPCState = 
		{
			upperBodyState = "Attack";
			hitReactionMode = "StaggerMin";
		};
	};
}

PushAttack01Definition : MeleeActions.PushAttack01Definition
{
}

CloseCombo01MeleeAttackLight01Definition : MeleeActions.CloseCombo01MeleeAttackLight01Definition
{
	loopSubActions = 
	[
		{
		} : FistCloseCombo01MeleeAttackLight01DefinitionAttackData
	];
}

CloseCombo01MeleeAttackLight01FromDashDefinition : MeleeActions.CloseCombo01MeleeAttackLight01FromDashDefinition
{
	loopSubActions = 
	[
		{
		} : FistCloseCombo01MeleeAttackLight01DefinitionAttackData
	];
}

CloseCombo01MeleeAttackLight02Definition : MeleeActions.CloseCombo01MeleeAttackLight02Definition
{
	loopSubActions = 
	[
		{
		} : FistCloseCombo01MeleeAttackLight02DefinitionAttackData
	];
}

CloseCombo01MeleeAttackLight03Definition : MeleeActions.CloseCombo01MeleeAttackLight03Definition
{
	loopSubActions = 
	[
		{
		} : FistCloseCombo01MeleeAttackLight03DefinitionAttackData
	];
}

CloseCombo01MeleeAttackLight01RecoverMissDefinition : MeleeActions.CloseCombo01MeleeAttackLight01RecoverMissDefinition
{
}

CloseCombo01MeleeAttackLight03RecoverMissDefinition : MeleeActions.CloseCombo01MeleeAttackLight03RecoverMissDefinition
{
}

CloseCombo01MeleeAttackLight03RecoverHitDefinition : MeleeActions.CloseCombo01MeleeAttackLight03RecoverHitDefinition
{
}

FistCloseCombo01MeleeAttackLight01DefinitionAttackData : CloseCombo01MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

FistCloseCombo01MeleeAttackLight02DefinitionAttackData : CloseCombo01MeleeAttackLight02AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

FistCloseCombo01MeleeAttackLight03DefinitionAttackData : CloseCombo01MeleeAttackLight03AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackDownToUp";
}

CloseCombo02MeleeAttackLight01Definition : MeleeActions.CloseCombo02MeleeAttackLight01Definition
{
	loopSubActions = 
	[
		{
		} : FistCloseCombo02MeleeAttackLight01DefinitionAttackData
	];
}

CloseCombo02MeleeAttackLight01FromDashDefinition : MeleeActions.CloseCombo02MeleeAttackLight01FromDashDefinition
{
	loopSubActions = 
	[
		{
		} : FistCloseCombo02MeleeAttackLight01DefinitionAttackData
	];
}

CloseCombo02MeleeAttackLight02Definition : MeleeActions.CloseCombo02MeleeAttackLight02Definition
{
	loopSubActions = 
	[
		{
		} : FistCloseCombo02MeleeAttackLight02DefinitionAttackData
	];
}

CloseCombo02MeleeAttackLight03Definition : MeleeActions.CloseCombo02MeleeAttackLight03Definition
{
	loopSubActions = 
	[
		{
		} : FistCloseCombo02MeleeAttackLight03DefinitionAttackData
	];
}

CloseCombo02MeleeAttackLight01RecoverMissDefinition : MeleeActions.CloseCombo02MeleeAttackLight01RecoverMissDefinition
{
}

CloseCombo02MeleeAttackLight03RecoverMissDefinition : MeleeActions.CloseCombo02MeleeAttackLight03RecoverMissDefinition
{
}

CloseCombo02MeleeAttackLight03RecoverHitDefinition : MeleeActions.CloseCombo02MeleeAttackLight03RecoverHitDefinition
{
}

FistCloseCombo02MeleeAttackLight01DefinitionAttackData : CloseCombo02MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackDownToUp";
}

FistCloseCombo02MeleeAttackLight02DefinitionAttackData : CloseCombo02MeleeAttackLight02AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

FistCloseCombo02MeleeAttackLight03DefinitionAttackData : CloseCombo02MeleeAttackLight03AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackDownToUp";
}

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

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

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

FistCloseSingleLeft01MeleeAttackLight01AttackData : CloseSingleLeft01MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackLeftToRight";
}

FistCloseSingleRight01MeleeAttackLight01AttackData : CloseSingleRight01MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackRightToLeft";
}

FistCloseSingleBack01MeleeAttackLight01AttackData : CloseSingleBack01MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackRightToLeft";
}

InfiniteGenericMeleeAttackStartup01Definition : MeleeActions.InfiniteGenericMeleeAttackStartup01Definition
{
	loopSubActions = 
	[
		{
		} : FistInfiniteGenericMeleeAttackStartup01AttackData
	];
}

InfiniteGenericMeleeAttackStartup02Definition : MeleeActions.InfiniteGenericMeleeAttackStartup02Definition
{
	loopSubActions = 
	[
		{
		} : FistInfiniteGenericMeleeAttackStartup02AttackData
	];
}

InfiniteGenericMeleeAttackStartup03Definition : MeleeActions.InfiniteGenericMeleeAttackStartup03Definition
{
	loopSubActions = 
	[
		{
		} : FistInfiniteGenericMeleeAttackStartup03AttackData
	];
}

InfiniteGenericMeleeAttackStartup04Definition : MeleeActions.InfiniteGenericMeleeAttackStartup04Definition
{
	loopSubActions = 
	[
		{
		} : FistInfiniteGenericMeleeAttackStartup04AttackData
	];
}

InfiniteGenericMeleeAttackFromAttack01Definition : MeleeActions.InfiniteGenericMeleeAttackFromAttack01Definition
{
	loopSubActions = 
	[
		{
		} : FistInfiniteGenericMeleeAttackFromAttack01Definition
	];
}

InfiniteGenericMeleeAttackFromAttack02Definition : MeleeActions.InfiniteGenericMeleeAttackFromAttack02Definition
{
	loopSubActions = 
	[
		{
		} : FistInfiniteGenericMeleeAttackFromAttack02Definition
	];
}

InfiniteGenericMeleeAttackFromAttack03Definition : MeleeActions.InfiniteGenericMeleeAttackFromAttack03Definition
{
	loopSubActions = 
	[
		{
		} : FistInfiniteGenericMeleeAttackFromAttack03Definition
	];
}

InfiniteGenericMeleeAttackFromAttack04Definition : MeleeActions.InfiniteGenericMeleeAttackFromAttack04Definition
{
	loopSubActions = 
	[
		{
		} : FistInfiniteGenericMeleeAttackFromAttack04Definition
	];
}

InfiniteGenericMeleeAttackFromAttack05Definition : MeleeActions.InfiniteGenericMeleeAttackFromAttack05Definition
{
	loopSubActions = 
	[
		{
		} : FistInfiniteGenericMeleeAttackFromAttack05Definition
	];
}

InfiniteGenericMeleeAttackFromAttack06Definition : MeleeActions.InfiniteGenericMeleeAttackFromAttack06Definition
{
	loopSubActions = 
	[
		{
		} : FistInfiniteGenericMeleeAttackFromAttack06Definition
	];
}

InfiniteGenericMeleeAttackFromAttack07Definition : MeleeActions.InfiniteGenericMeleeAttackFromAttack07Definition
{
	loopSubActions = 
	[
		{
		} : FistInfiniteGenericMeleeAttackFromAttack07Definition
	];
}

FistInfiniteGenericMeleeAttackStartup01AttackData : InfiniteGenericMeleeAttackStartup01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

FistInfiniteGenericMeleeAttackStartup02AttackData : InfiniteGenericMeleeAttackStartup02AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

FistInfiniteGenericMeleeAttackStartup03AttackData : InfiniteGenericMeleeAttackStartup03AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

FistInfiniteGenericMeleeAttackStartup04AttackData : InfiniteGenericMeleeAttackStartup04AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

FistInfiniteGenericMeleeAttackFromAttack01Definition : InfiniteGenericMeleeAttackFromAttack01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

FistInfiniteGenericMeleeAttackFromAttack02Definition : InfiniteGenericMeleeAttackFromAttack02AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

FistInfiniteGenericMeleeAttackFromAttack03Definition : InfiniteGenericMeleeAttackFromAttack03AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

FistInfiniteGenericMeleeAttackFromAttack04Definition : InfiniteGenericMeleeAttackFromAttack04AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

FistInfiniteGenericMeleeAttackFromAttack05Definition : InfiniteGenericMeleeAttackFromAttack05AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

FistInfiniteGenericMeleeAttackFromAttack06Definition : InfiniteGenericMeleeAttackFromAttack06AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

FistInfiniteGenericMeleeAttackFromAttack07Definition : InfiniteGenericMeleeAttackFromAttack07AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

Combo01MeleeAttackLight01FromIdleDefinition : MeleeActions.Combo01MeleeAttackLight01FromIdleDefinition
{
	loopSubActions = 
	[
		{
		} : FistCombo01MeleeAttackLight01FromIdleAttackData
	];
}

Combo01MeleeAttackLight01FromDashDefinition : MeleeActions.Combo01MeleeAttackLight01FromDashDefinition
{
	loopSubActions = 
	[
		{
		} : FistCombo01MeleeAttackLight01FromDashAttackData
	];
}

Combo01MeleeAttackLight01Definition : MeleeActions.Combo01MeleeAttackLight01Definition
{
	loopSubActions = 
	[
		{
		} : FistCombo01MeleeAttackLight01AttackData
	];
}

Combo01MeleeAttackLight02Definition : MeleeActions.Combo01MeleeAttackLight02Definition
{
	loopSubActions = 
	[
		{
		} : FistCombo01MeleeAttackLight02AttackData
	];
}

Combo01MeleeAttackLight03Definition : MeleeActions.Combo01MeleeAttackLight03Definition
{
	loopSubActions = 
	[
		{
		} : FistCombo01MeleeAttackLight03AttackData
	];
}

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

Combo01MeleeAttackLight01RecoverMissDefinition : MeleeActions.Combo01MeleeAttackLight01RecoverMissDefinition
{
}

Combo01MeleeAttackLight02RecoverMissDefinition : MeleeActions.Combo01MeleeAttackLight02RecoverMissDefinition
{
}

Combo01MeleeAttackLight02RecoverHitDefinition : MeleeActions.Combo01MeleeAttackLight02RecoverHitDefinition
{
}

Combo01MeleeAttackLight03RecoverMissDefinition : MeleeActions.Combo01MeleeAttackLight03RecoverMissDefinition
{
}

Combo01MeleeAttackLight04RecoverMissDefinition : MeleeActions.Combo01MeleeAttackLight04RecoverMissDefinition
{
}

Combo01MeleeAttackLight04RecoverHitDefinition : MeleeActions.Combo01MeleeAttackLight04RecoverHitDefinition
{
}

FistCombo01MeleeAttackLight01FromIdleAttackData : Combo01MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

FistCombo01MeleeAttackLight01FromDashAttackData : Combo01MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

FistCombo01MeleeAttackLight01AttackData : Combo01MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

FistCombo01MeleeAttackLight02AttackData : Combo01MeleeAttackLight02AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

FistCombo01MeleeAttackLight03AttackData : Combo01MeleeAttackLight03AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

FistCombo01MeleeAttackLight04AttackData : Combo01MeleeAttackLight04AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackRightToLeft";
}

Combo02MeleeAttackLight01FromIdleDefinition : MeleeActions.Combo02MeleeAttackLight01FromIdleDefinition
{
	loopSubActions = 
	[
		{
		} : FistCombo02MeleeAttackLight01FromIdleAttackData
	];
}

Combo02MeleeAttackLight01FromDashDefinition : MeleeActions.Combo02MeleeAttackLight01FromDashDefinition
{
	loopSubActions = 
	[
		{
		} : FistCombo02MeleeAttackLight01FromDashAttackData
	];
}

Combo02MeleeAttackLight01Definition : MeleeActions.Combo02MeleeAttackLight01Definition
{
	loopSubActions = 
	[
		{
		} : FistCombo02MeleeAttackLight01AttackData
	];
}

Combo02MeleeAttackLight02Definition : MeleeActions.Combo02MeleeAttackLight02Definition
{
	loopSubActions = 
	[
		{
		} : FistCombo02MeleeAttackLight02AttackData
	];
}

Combo02MeleeAttackLight03Definition : MeleeActions.Combo02MeleeAttackLight03Definition
{
	loopSubActions = 
	[
		{
		} : FistCombo02MeleeAttackLight03AttackData
	];
}

Combo02MeleeAttackLight01RecoverMissDefinition : MeleeActions.Combo02MeleeAttackLight01RecoverMissDefinition
{
}

Combo02MeleeAttackLight02RecoverMissDefinition : MeleeActions.Combo02MeleeAttackLight02RecoverMissDefinition
{
}

Combo02MeleeAttackLight02RecoverHitDefinition : MeleeActions.Combo02MeleeAttackLight02RecoverHitDefinition
{
}

Combo02MeleeAttackLight03RecoverMissDefinition : MeleeActions.Combo02MeleeAttackLight03RecoverMissDefinition
{
}

Combo02MeleeAttackLight03RecoverHitDefinition : MeleeActions.Combo02MeleeAttackLight03RecoverHitDefinition
{
}

FistCombo02MeleeAttackLight01FromIdleAttackData : Combo02MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackRightToLeft";
}

FistCombo02MeleeAttackLight01FromDashAttackData : Combo02MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackRightToLeft";
}

FistCombo02MeleeAttackLight01AttackData : Combo02MeleeAttackLight01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackRightToLeft";
}

FistCombo02MeleeAttackLight02AttackData : Combo02MeleeAttackLight02AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackDownToUp";
}

FistCombo02MeleeAttackLight03AttackData : Combo02MeleeAttackLight03AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackRightToLeft";
}

FistCombo02MeleeAttackLight04AttackData : Combo02MeleeAttackLight04AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

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

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

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

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

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

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

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

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

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

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

Combo03MeleeAttackLight01RecoverMissDefinition : MeleeActions.Combo03MeleeAttackLight01RecoverMissDefinition
{
}

Combo03MeleeAttackLight03RecoverMissDefinition : MeleeActions.Combo03MeleeAttackLight03RecoverMissDefinition
{
	animData = 
	{
		animFeature = "Combo03MeleeAttackLight03RecoverHit";
		animSlot = 
		{
		};
	};
}

Combo03MeleeAttackLight03RecoverHitDefinition : MeleeActions.Combo03MeleeAttackLight03RecoverHitDefinition
{
}

SingleMeleeAttackStrong01FromIdleDefinition : MeleeActions.SingleMeleeAttackStrong01FromIdleDefinition
{
	loopSubActions = 
	[
		{
		} : FistSingleMeleeAttackStrong01FromIdleAttackData
	];
}

SingleMeleeAttackStrong01FromDashDefinition : MeleeActions.SingleMeleeAttackStrong01FromDashDefinition
{
	loopSubActions = 
	[
		{
		} : FistSingleMeleeAttackStrong01FromDashAttackData
	];
}

SingleMeleeAttackStrong01Definition : MeleeActions.SingleMeleeAttackStrong01Definition
{
	loopSubActions = 
	[
		{
		} : FistSingleMeleeAttackStrong01AttackData
	];
}

SingleMeleeAttackStrong01RecoverMissDefinition : MeleeActions.SingleMeleeAttackStrong01RecoverMissDefinition
{
}

SingleMeleeAttackStrong01RecoverHitDefinition : MeleeActions.SingleMeleeAttackStrong01RecoverHitDefinition
{
}

FistSingleMeleeAttackStrong01FromIdleAttackData : MeleeStrongSingle01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackDownToUp";
}

FistSingleMeleeAttackStrong01FromDashAttackData : MeleeStrongSingle01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackDownToUp";
}

FistSingleMeleeAttackStrong01AttackData : MeleeStrongSingle01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackDownToUp";
}

SingleMeleeAttackStrong02FromIdleDefinition : MeleeActions.SingleMeleeAttackStrong02FromIdleDefinition
{
	loopSubActions = 
	[
		{
		} : FistSingleMeleeAttackStrong02FromIdleAttackData
	];
}

SingleMeleeAttackStrong02FromDashDefinition : MeleeActions.SingleMeleeAttackStrong02FromDashDefinition
{
	loopSubActions = 
	[
		{
		} : FistSingleMeleeAttackStrong02FromDashAttackData
	];
}

SingleMeleeAttackStrong02Definition : MeleeActions.SingleMeleeAttackStrong02Definition
{
	loopSubActions = 
	[
		{
		} : FistSingleMeleeAttackStrong02AttackData
	];
}

SingleMeleeAttackStrong02RecoverMissDefinition : MeleeActions.SingleMeleeAttackStrong02RecoverMissDefinition
{
}

SingleMeleeAttackStrong02RecoverHitDefinition : MeleeActions.SingleMeleeAttackStrong02RecoverHitDefinition
{
}

FistSingleMeleeAttackStrong02FromIdleAttackData : MeleeStrongSingle02AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

FistSingleMeleeAttackStrong02FromDashAttackData : MeleeStrongSingle02AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

FistSingleMeleeAttackStrong02AttackData : MeleeStrongSingle02AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackCenter";
}

SingleMeleeAttackCharge01TauntDefinition : MeleeActions.SingleMeleeAttackCharge01TauntDefinition
{
}

SingleMeleeAttackCharge01Definition : MeleeActions.SingleMeleeAttackCharge01Definition
{
	loopSubActions = 
	[
		{
		} : FistSingleMeleeAttackCharge01AttackData
	];
}

SingleMeleeAttackCharge01RecoverMissDefinition : MeleeActions.SingleMeleeAttackCharge01RecoverMissDefinition
{
}

SingleMeleeAttackCharge01RecoverHitDefinition : MeleeActions.SingleMeleeAttackCharge01RecoverHitDefinition
{
}

FistSingleMeleeAttackCharge01AttackData : MeleeChargeSingle01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackUpToDown";
}

SingleMeleeAttackCharge02TauntDefinition : MeleeActions.SingleMeleeAttackCharge02TauntDefinition
{
}

SingleMeleeAttackCharge02Definition : MeleeActions.SingleMeleeAttackCharge02Definition
{
	loopSubActions = 
	[
		{
		} : FistSingleMeleeAttackCharge02AttackData
	];
}

SingleMeleeAttackCharge02RecoverMissDefinition : MeleeActions.SingleMeleeAttackCharge02RecoverMissDefinition
{
}

SingleMeleeAttackCharge02RecoverHitDefinition : MeleeActions.SingleMeleeAttackCharge02RecoverHitDefinition
{
}

FistSingleMeleeAttackCharge02AttackData : MeleeChargeSingle02AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackRightToLeft";
}

SingleMeleeAttackChargeJump01TauntDefinition : MeleeActions.SingleMeleeAttackChargeJump01TauntDefinition
{
}

SingleMeleeAttackChargeJump01Definition : MeleeActions.SingleMeleeAttackChargeJump01Definition
{
	startupSubActions += 
	[
		{
			name = "enemy_melee_charge";
		} : AISubActionPlayVoiceOver
	];
	loopSubActions = 
	[
		{
		} : FistSingleMeleeAttackChargeJump01AttackData
	];
}

SingleMeleeAttackChargeJump01RecoverHitDefinition : MeleeActions.SingleMeleeAttackChargeJump01RecoverHitDefinition
{
}

FistSingleMeleeAttackChargeJump01AttackData : SingleMeleeAttackChargeJump01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 2.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackUpToDown";
}

SingleMeleeAttackChargeJump02TauntDefinition : MeleeActions.SingleMeleeAttackChargeJump02TauntDefinition
{
}

SingleMeleeAttackChargeJump02Definition : MeleeActions.SingleMeleeAttackChargeJump02Definition
{
	loopSubActions = 
	[
		{
		} : FistSingleMeleeAttackChargeJump02AttackData
	];
}

SingleMeleeAttackChargeJump02RecoverHitDefinition : MeleeActions.SingleMeleeAttackChargeJump02RecoverHitDefinition
{
}

FistSingleMeleeAttackChargeJump02AttackData : SingleMeleeAttackChargeJump01AttackData
{
	weaponSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	attackRange = 3.5f;
	colliderBoxSize = ( 1.5f, -1, 1.f );
	attack = "NPCAttacks.StrongAttackUpToDown";
}

WeaponTypeCondition : AIActionCondition
{
	condition = 
	{
		OR = 
		[
			{
				slot = "AttachmentSlots.WeaponRight";
				itemType = "ItemType.Wea_Fists";
			} : AISlotCond, 
			{
				slot = "AttachmentSlots.WeaponLeft";
				itemType = "ItemType.Wea_Fists";
			} : AISlotCond, 
			{
				slot = "AttachmentSlots.WeaponRight";
				itemType = "ItemType.Cyb_StrongArms";
			} : AISlotCond, 
			{
				slot = "AttachmentSlots.WeaponLeft";
				itemType = "ItemType.Cyb_StrongArms";
			} : AISlotCond
		];
	} : AIActionOR;
}

CivilianWeaponTypeCondition : AIActionCondition
{
	condition = 
	{
		AND = 
		[
			"Condition.IsCivilian", {
				OR = 
				[
					{
						slot = "AttachmentSlots.WeaponRight";
						itemType = "ItemType.Wea_Fists";
					} : AISlotCond, 
					{
						slot = "AttachmentSlots.WeaponLeft";
						itemType = "ItemType.Wea_Fists";
					} : AISlotCond, 
					{
						slot = "AttachmentSlots.WeaponRight";
						itemType = "ItemType.Cyb_StrongArms";
					} : AISlotCond, 
					{
						slot = "AttachmentSlots.WeaponLeft";
						itemType = "ItemType.Cyb_StrongArms";
					} : AISlotCond
				];
			} : AIActionOR
		];
	} : AIActionAND;
}

