package Corpo_Fists
using RTDB, ReactionsActions, CombatDecorator, MeleeActions, MeleeFistActions, DashAndDodgeActions

Map : AINodeMap
{
	map = 
	[
		{
			node = "GenericArchetype.MeleeAttackLight01Condition";
			isOverriddenBy = "MeleeFistActions.MeleeAttackLight01FistConditionDefinition";
		}, 
		{
			node = "GenericArchetype.MeleeAttackLight02Condition";
			isOverriddenBy = "MeleeFistActions.MeleeAttackLight02FistConditionDefinition";
		}, 
		{
			node = "GenericArchetype.MeleeAttackLight03Condition";
			isOverriddenBy = "MeleeFistActions.MeleeAttackLight03FistConditionDefinition";
		}, 
		{
			node = "GenericArchetype.MeleeCloseAttackLight02Condition";
			isOverriddenBy = "MeleeFistActions.MeleeCloseAttackLight02FistConditionDefinition";
		}, 
		{
			node = "GenericArchetype.MeleeChargeSingle02Condition";
			isOverriddenBy = "";
		}, 
		{
			node = "GenericArchetype.MeleeChargeSingle03Condition";
			isOverriddenBy = "";
		}, 
		{
			node = "GenericArchetype.MeleeChargeJump02Condition";
			isOverriddenBy = "";
		}, 
		{
			node = "AbilityActions.BerserkDownState";
			isOverriddenBy = "Corpo_Fists.BerserkDownState";
		}, 
		{
			node = "MeleeActions.SimpleMeleeCombatComboSelector";
			isOverriddenBy = "Corpo_Fists.CustomSimpleMeleeCombatComboSelector";
		}, 
		{
			node = "DashAndDodgeActions.KerenzikovDodgeCompositeSelectorDefinition";
			isOverriddenBy = "Corpo_Fists.KerenzikovDodgeCompositeSelectorDefinition";
		}, 
		{
			node = "DashAndDodgeActions.DodgeAfterHitReactionCompositeSelectorDefinition";
			isOverriddenBy = "Corpo_Fists.DodgeAfterHitReactionCompositeSelectorDefinition";
		}, 
		{
			node = "DashAndDodgeActions.DodgeMeleeCompositeSelectorDefinition";
			isOverriddenBy = "Corpo_Fists.DodgeMeleeCompositeSelectorDefinition";
		}, 
		{
			node = "DashAndDodgeActions.DodgeForParryMeleeCompositeSelectorDefinition";
			isOverriddenBy = "Corpo_Fists.DodgeForParryMeleeCompositeSelectorDefinition";
		}, 
		{
			node = "MeleeActions.MeleeParry01Selector";
			isOverriddenBy = "Corpo_Fists.MeleeParry01Selector";
		}, 
		{
			node = "MeleeActions.MeleeBlock01Selector";
			isOverriddenBy = "Corpo_Fists.MeleeBlock01Selector";
		}, 
		{
			node = "MeleeActions.MeleeKerenzikovDodge01Selector";
			isOverriddenBy = "Corpo_Fists.MeleeKerenzikovDodge01Selector";
		}, 
		{
			node = "MeleeActions.MeleeBlockDodge01Selector";
			isOverriddenBy = "Corpo_Fists.MeleeBlockDodge01Selector";
		}, 
		{
			node = "MeleeActions.MeleeBlockDodgeToParry01Selector";
			isOverriddenBy = "Corpo_Fists.MeleeBlockDodgeToParry01Selector";
		}, 
		{
			node = "MeleeActions.MeleePushAttack01Selector";
			isOverriddenBy = "Corpo_Fists.MeleePushAttack01Selector";
		}, 
		{
			node = "MeleeActions.MeleeLightCloseSingleLeft01Selector";
			isOverriddenBy = "Corpo_Fists.MeleeLightCloseSingleLeft01Selector";
		}, 
		{
			node = "MeleeActions.MeleeLightCloseSingleRight01Selector";
			isOverriddenBy = "Corpo_Fists.MeleeLightCloseSingleRight01Selector";
		}, 
		{
			node = "MeleeActions.MeleeLightCloseSingleBack01Selector";
			isOverriddenBy = "Corpo_Fists.MeleeLightCloseSingleBack01Selector";
		}, 
		{
			node = "MeleeActions.MeleeLightCloseCombo01Selector";
			isOverriddenBy = "Corpo_Fists.MeleeLightCloseCombo01Selector";
		}, 
		{
			node = "MeleeActions.MeleeLightCloseCombo02Selector";
			isOverriddenBy = "Corpo_Fists.MeleeLightCloseCombo02Selector";
		}, 
		{
			node = "MeleeActions.MeleeLightCombo01Selector";
			isOverriddenBy = "Corpo_Fists.MeleeLightCombo01Selector";
		}, 
		{
			node = "MeleeActions.MeleeLightCombo02Selector";
			isOverriddenBy = "Corpo_Fists.MeleeLightCombo02Selector";
		}, 
		{
			node = "MeleeActions.MeleeLightCombo03Selector";
			isOverriddenBy = "Corpo_Fists.MeleeLightCombo03Selector";
		}, 
		{
			node = "MeleeActions.MeleeStrongSingle01Selector";
			isOverriddenBy = "Corpo_Fists.MeleeStrongSingle01Selector";
		}, 
		{
			node = "MeleeActions.MeleeStrongSingle02Selector";
			isOverriddenBy = "Corpo_Fists.MeleeStrongSingle02Selector";
		}, 
		{
			node = "MeleeActions.MeleeChargeSingle01Selector";
			isOverriddenBy = "Corpo_Fists.MeleeChargeSingle01Selector";
		}, 
		{
			node = "MeleeActions.MeleeChargeSingle02Selector";
			isOverriddenBy = "Corpo_Fists.MeleeChargeSingle02Selector";
		}, 
		{
			node = "MeleeActions.MeleeChargeJump01Selector";
			isOverriddenBy = "Corpo_Fists.MeleeChargeJump01Selector";
		}, 
		{
			node = "MeleeActions.MeleeChargeJump02Selector";
			isOverriddenBy = "Corpo_Fists.MeleeChargeJump02Selector";
		}, 
		{
			node = "MeleeActions.MeleeWoundedCombo01LeftHandSelector";
			isOverriddenBy = "Corpo_Fists.MeleeWoundedCombo01LeftHandSelector";
		}, 
		{
			node = "MeleeActions.MeleeWoundedCombo02LeftHandSelector";
			isOverriddenBy = "Corpo_Fists.MeleeWoundedCombo02LeftHandSelector";
		}, 
		{
			node = "MeleeActions.MeleeWoundedCombo03LeftHandSelector";
			isOverriddenBy = "Corpo_Fists.MeleeWoundedCombo03LeftHandSelector";
		}, 
		{
			node = "MeleeActions.MeleeWoundedCombo01RightHandSelector";
			isOverriddenBy = "Corpo_Fists.MeleeWoundedCombo01RightHandSelector";
		}, 
		{
			node = "MeleeActions.MeleeWoundedCombo02RightHandSelector";
			isOverriddenBy = "Corpo_Fists.MeleeWoundedCombo02RightHandSelector";
		}, 
		{
			node = "MeleeActions.MeleeWoundedCombo03RightHandSelector";
			isOverriddenBy = "Corpo_Fists.MeleeWoundedCombo03RightHandSelector";
		}, 
		{
			node = "MeleeActions.DeflectReactionCompositeSelectorDefinition";
			isOverriddenBy = "Corpo_Fists.DeflectReactionCompositeSelectorDefinition";
		}, 
		{
			node = "MeleeActions.MeleeTauntSupportAreaSelector";
			isOverriddenBy = "Corpo_Fists.MeleeTauntSupportAreaSelector";
		}, 
		{
			node = "MeleeActions.MeleeTauntCombatAreaSelector";
			isOverriddenBy = "Corpo_Fists.MeleeTauntCombatAreaSelector";
		}, 
		{
			node = "MeleeActions.SimpleMeleeTauntCombatAreaSelector";
			isOverriddenBy = "Corpo_Fists.SimpleMeleeTauntCombatAreaSelector";
		}, 
		{
			node = "MeleeActions.MeleeTauntContactAreaSelector";
			isOverriddenBy = "Corpo_Fists.MeleeTauntContactAreaSelector";
		}, 
		{
			node = "MeleeActions.MeleeTauntHitReactionSelector";
			isOverriddenBy = "Corpo_Fists.MeleeTauntHitReactionSelector";
		}, 
		{
			node = "MeleeActions.MeleeTauntPreAttackSelector";
			isOverriddenBy = "Corpo_Fists.MeleeTauntPreAttackSelector";
		}
	];
}

CustomSimpleMeleeCombatComboSelector : AIActionSmartComposite
{
	nodes = 
	[
		"MeleeFistActions.SimpleMeleeCombatComboDefinition"
	];
}

BerserkDownState : AIAction
{
	loop = 
	{
		duration = 4.f;
	};
	loopSubActions = 
	[
		{
			statusEffects = 
			[
				"BaseStatusEffect.BerserkNPCBuff"
			];
			delay = 0.1f;
		} : AISubActionStatusEffect
	];
	animData = 
	{
		animVariation = 0;
		animFeature = "SE_BerserkDownState";
		animSlot = 
		{
		};
	};
}

KerenzikovDodgeCompositeSelectorDefinition : DashAndDodgeActions.KerenzikovDodgeCompositeSelectorDefinition
{
	nodes = 
	[
		"MeleeFistActions.KerenzikovDodgeSelectorDefinition"
	];
}

DodgeAfterHitReactionCompositeSelectorDefinition : DashAndDodgeActions.DodgeAfterHitReactionCompositeSelectorDefinition
{
	nodes = 
	[
		"MeleeFistActions.DodgeHitReactionSelectorDefinition"
	];
}

DodgeMeleeCompositeSelectorDefinition : DashAndDodgeActions.DodgeMeleeCompositeSelectorDefinition
{
	nodes = 
	[
		"MeleeFistActions.DodgeMeleeSelectorDefinition"
	];
}

DodgeForParryMeleeCompositeSelectorDefinition : DashAndDodgeActions.DodgeForParryMeleeCompositeSelectorDefinition
{
	nodes = 
	[
		"MeleeFistActions.DodgeForParryMeleeSelectorDefinition"
	];
}

MeleeParry01Selector : MeleeActions.MeleeParry01Selector
{
	nodes = 
	[
		"MeleeFistActions.MeleeParry01Definition"
	];
}

MeleeBlock01Selector : MeleeActions.MeleeBlock01Selector
{
	nodes = 
	[
		"MeleeFistActions.MeleeBlock01Definition"
	];
}

MeleeKerenzikovDodge01Selector : MeleeActions.MeleeKerenzikovDodge01Selector
{
	nodes = 
	[
		"MeleeFistActions.MeleeKerenzikovDodge01Definition"
	];
}

MeleeBlockDodge01Selector : MeleeActions.MeleeBlockDodge01Selector
{
	nodes = 
	[
		"MeleeFistActions.MeleeBlockDodge01Definition"
	];
}

MeleeBlockDodgeToParry01Selector : MeleeActions.MeleeBlockDodgeToParry01Selector
{
	nodes = 
	[
		"MeleeFistActions.MeleeBlockDodgeToParry01Definition"
	];
}

MeleePushAttack01Selector : MeleeActions.MeleePushAttack01Selector
{
	nodes = 
	[
		"MeleeFistActions.MeleePushAttack01Definition"
	];
}

MeleeLightCloseSingleLeft01Selector : MeleeActions.MeleeLightCloseSingleLeft01Selector
{
	nodes = 
	[
		"MeleeFistActions.MeleeLightCloseSingleLeft01Definition"
	];
}

MeleeLightCloseSingleRight01Selector : MeleeActions.MeleeLightCloseSingleRight01Selector
{
	nodes = 
	[
		"MeleeFistActions.MeleeLightCloseSingleRight01Definition"
	];
}

MeleeLightCloseSingleBack01Selector : MeleeActions.MeleeLightCloseSingleBack01Selector
{
	nodes = 
	[
		"MeleeFistActions.MeleeLightCloseSingleBack01Definition"
	];
}

MeleeLightCloseCombo01Selector : MeleeActions.MeleeLightCloseCombo01Selector
{
	nodes = 
	[
		"MeleeFistActions.MeleeLightCloseCombo01Definition"
	];
}

MeleeLightCloseCombo02Selector : MeleeActions.MeleeLightCloseCombo02Selector
{
	nodes = 
	[
		"MeleeFistActions.MeleeLightCloseCombo02Definition"
	];
}

MeleeLightCombo01Selector : MeleeActions.MeleeLightCombo01Selector
{
	nodes = 
	[
		"MeleeFistActions.MeleeLightCombo01Definition"
	];
}

MeleeLightCombo02Selector : MeleeActions.MeleeLightCombo02Selector
{
	nodes = 
	[
		"MeleeFistActions.MeleeLightCombo02Definition"
	];
}

MeleeLightCombo03Selector : MeleeActions.MeleeLightCombo03Selector
{
	nodes = 
	[
		"MeleeFistActions.MeleeLightCombo03Definition"
	];
}

MeleeStrongSingle01Selector : MeleeActions.MeleeStrongSingle01Selector
{
	nodes = 
	[
		"MeleeFistActions.MeleeStrongSingle01Definition"
	];
}

MeleeStrongSingle02Selector : MeleeActions.MeleeStrongSingle02Selector
{
	nodes = 
	[
		"MeleeFistActions.MeleeStrongSingle02Definition"
	];
}

MeleeChargeSingle01Selector : MeleeActions.MeleeChargeSingle01Selector
{
	nodes = 
	[
		"MeleeFistActions.MeleeChargeSingle01Definition"
	];
}

MeleeChargeSingle02Selector : MeleeActions.MeleeChargeSingle02Selector
{
	nodes = 
	[
		"MeleeFistActions.MeleeChargeSingle02Definition"
	];
}

MeleeChargeJump01Selector : MeleeActions.MeleeChargeJump01Selector
{
	nodes = 
	[
		"MeleeFistActions.MeleeChargeJump01Definition"
	];
}

MeleeChargeJump02Selector : MeleeActions.MeleeChargeJump02Selector
{
	nodes = 
	[
		"MeleeFistActions.MeleeChargeJump02Definition"
	];
}

MeleeWoundedCombo01LeftHandSelector : MeleeActions.MeleeWoundedCombo01LeftHandSelector
{
	nodes = 
	[
		"MeleeFistActions.MeleeWoundedCombo01LeftHandDefinition"
	];
}

MeleeWoundedCombo02LeftHandSelector : MeleeActions.MeleeWoundedCombo02LeftHandSelector
{
	nodes = 
	[
		"MeleeFistActions.MeleeWoundedCombo02LeftHandDefinition"
	];
}

MeleeWoundedCombo03LeftHandSelector : MeleeActions.MeleeWoundedCombo03LeftHandSelector
{
	nodes = 
	[
		"MeleeFistActions.MeleeWoundedCombo03LeftHandDefinition"
	];
}

MeleeWoundedCombo01RightHandSelector : MeleeActions.MeleeWoundedCombo01RightHandSelector
{
	nodes = 
	[
		"MeleeFistActions.MeleeWoundedCombo01RightHandDefinition"
	];
}

MeleeWoundedCombo02RightHandSelector : MeleeActions.MeleeWoundedCombo02RightHandSelector
{
	nodes = 
	[
		"MeleeFistActions.MeleeWoundedCombo02RightHandDefinition"
	];
}

MeleeWoundedCombo03RightHandSelector : MeleeActions.MeleeWoundedCombo03RightHandSelector
{
	nodes = 
	[
		"MeleeFistActions.MeleeWoundedCombo03RightHandDefinition"
	];
}

DeflectReactionCompositeSelectorDefinition : MeleeActions.DeflectReactionCompositeSelectorDefinition
{
	nodes = 
	[
		"MeleeFistActions.DeflectReactionSelectorDefinition", "MeleeActions.DeflectReactionSelectorDefinition"
	];
}

MeleeTauntSupportAreaSelector : MeleeActions.MeleeTauntSupportAreaSelector
{
	actions = 
	[
		"MeleeFistActions.MeleeTauntSupportAreaDefinition"
	];
	defaultAction = "GenericArchetype.Success";
}

MeleeTauntCombatAreaSelector : MeleeActions.MeleeTauntCombatAreaSelector
{
	actions = 
	[
		"MeleeFistActions.MeleeTauntCombatAreaDefinition"
	];
	defaultAction = "GenericArchetype.Success";
}

SimpleMeleeTauntCombatAreaSelector : AIActionSelector
{
	actions = 
	[
		"MeleeFistActions.SimpleMeleeTauntCombatAreaDefinition"
	];
	defaultAction = "GenericArchetype.Success";
}

MeleeTauntContactAreaSelector : MeleeActions.MeleeTauntContactAreaSelector
{
	actions = 
	[
		"MeleeFistActions.MeleeTauntContactAreaDefinition"
	];
	defaultAction = "GenericArchetype.Success";
}

MeleeTauntHitReactionSelector : MeleeActions.MeleeTauntHitReactionSelector
{
	actions = 
	[
		"MeleeFistActions.MeleeTauntHitReactionDefinition"
	];
	defaultAction = "GenericArchetype.Success";
}

MeleeTauntPreAttackSelector : MeleeActions.MeleeTauntPreAttackSelector
{
	actions = 
	[
		"MeleeFistActions.MeleeTauntPreAttackDefinition"
	];
	defaultAction = "GenericArchetype.Success";
}

