package Corpo_Hammer
using RTDB, ReactionsActions, CombatDecorator, MeleeActions, AbilityActions, MeleeHammerActions, DashAndDodgeActions

Map : AINodeMap
{
	map = 
	[
		{
			node = "GenericArchetype.MeleeCloseAttackLight01Condition";
			isOverriddenBy = "";
		}, 
		{
			node = "GenericArchetype.MeleeCloseAttackLight02Condition";
			isOverriddenBy = "";
		}, 
		{
			node = "GenericArchetype.MeleeAttackLight03Condition";
			isOverriddenBy = "";
		}, 
		{
			node = "GenericArchetype.MeleeChargeSingle02Condition";
			isOverriddenBy = "";
		}, 
		{
			node = "GenericArchetype.MeleeChargeSingle03Condition";
			isOverriddenBy = "";
		}, 
		{
			node = "GenericArchetype.MeleeChargeJump02Condition";
			isOverriddenBy = "";
		}, 
		{
			node = "GenericArchetype.MeleeAttackLight01Condition";
			isOverriddenBy = "";
		}, 
		{
			node = "GenericArchetype.MeleeStrongSingle02Condition";
			isOverriddenBy = "";
		}, 
		{
			node = "GenericArchetype.MeleeChargeSingle01Condition";
			isOverriddenBy = "";
		}, 
		{
			node = "AbilityActions.BerserkActivation";
			isOverriddenBy = "Corpo_Hammer.BerserkActivation";
		}, 
		{
			node = "AbilityActions.BerserkDownState";
			isOverriddenBy = "Corpo_Hammer.BerserkDownState";
		}, 
		{
			node = "GenericArchetype.MeleeParryState";
			isOverriddenBy = "Corpo_Hammer.MeleeParryState";
		}, 
		{
			node = "MeleeActions.SimpleMeleeCombatComboSelector";
			isOverriddenBy = "Corpo_Hammer.CustomSimpleMeleeCombatComboSelector";
		}, 
		{
			node = "DashAndDodgeActions.KerenzikovDodgeCompositeSelectorDefinition";
			isOverriddenBy = "Corpo_Hammer.KerenzikovDodgeCompositeSelectorDefinition";
		}, 
		{
			node = "DashAndDodgeActions.DodgeAfterHitReactionCompositeSelectorDefinition";
			isOverriddenBy = "Corpo_Hammer.DodgeAfterHitReactionCompositeSelectorDefinition";
		}, 
		{
			node = "DashAndDodgeActions.DodgeMeleeCompositeSelectorDefinition";
			isOverriddenBy = "Corpo_Hammer.DodgeMeleeCompositeSelectorDefinition";
		}, 
		{
			node = "DashAndDodgeActions.DodgeForParryMeleeCompositeSelectorDefinition";
			isOverriddenBy = "Corpo_Hammer.DodgeForParryMeleeCompositeSelectorDefinition";
		}, 
		{
			node = "MeleeActions.MeleeParry01Selector";
			isOverriddenBy = "Corpo_Hammer.MeleeParry01Selector";
		}, 
		{
			node = "MeleeActions.MeleeBlock01Selector";
			isOverriddenBy = "Corpo_Hammer.MeleeBlock01Selector";
		}, 
		{
			node = "MeleeActions.MeleeKerenzikovDodge01Selector";
			isOverriddenBy = "Corpo_Hammer.MeleeKerenzikovDodge01Selector";
		}, 
		{
			node = "MeleeActions.MeleeBlockDodge01Selector";
			isOverriddenBy = "Corpo_Hammer.MeleeBlockDodge01Selector";
		}, 
		{
			node = "MeleeActions.MeleeBlockDodgeToParry01Selector";
			isOverriddenBy = "Corpo_Hammer.MeleeBlockDodgeToParry01Selector";
		}, 
		{
			node = "MeleeActions.MeleePushAttack01Selector";
			isOverriddenBy = "Corpo_Hammer.MeleePushAttack01Selector";
		}, 
		{
			node = "MeleeActions.MeleeLightCloseSingleLeft01Selector";
			isOverriddenBy = "Corpo_Hammer.MeleeLightCloseSingleLeft01Selector";
		}, 
		{
			node = "MeleeActions.MeleeLightCloseSingleRight01Selector";
			isOverriddenBy = "Corpo_Hammer.MeleeLightCloseSingleRight01Selector";
		}, 
		{
			node = "MeleeActions.MeleeLightCloseSingleBack01Selector";
			isOverriddenBy = "Corpo_Hammer.MeleeLightCloseSingleBack01Selector";
		}, 
		{
			node = "MeleeActions.MeleeLightCloseCombo01Selector";
			isOverriddenBy = "Corpo_Hammer.MeleeLightCloseCombo01Selector";
		}, 
		{
			node = "MeleeActions.MeleeLightCloseCombo02Selector";
			isOverriddenBy = "Corpo_Hammer.MeleeLightCloseCombo02Selector";
		}, 
		{
			node = "MeleeActions.MeleeLightCombo01Selector";
			isOverriddenBy = "Corpo_Hammer.MeleeLightCombo01Selector";
		}, 
		{
			node = "MeleeActions.MeleeLightCombo02Selector";
			isOverriddenBy = "Corpo_Hammer.MeleeLightCombo02Selector";
		}, 
		{
			node = "MeleeActions.MeleeStrongSingle01Selector";
			isOverriddenBy = "Corpo_Hammer.MeleeStrongSingle01Selector";
		}, 
		{
			node = "MeleeActions.MeleeStrongSingle02Selector";
			isOverriddenBy = "Corpo_Hammer.MeleeStrongSingle02Selector";
		}, 
		{
			node = "MeleeActions.MeleeChargeSingle01Selector";
			isOverriddenBy = "Corpo_Hammer.MeleeChargeSingle01Selector";
		}, 
		{
			node = "MeleeActions.MeleeChargeSingle02Selector";
			isOverriddenBy = "Corpo_Hammer.MeleeChargeSingle02Selector";
		}, 
		{
			node = "MeleeActions.MeleeChargeJump01Selector";
			isOverriddenBy = "Corpo_Hammer.MeleeChargeJump01Selector";
		}, 
		{
			node = "MeleeActions.MeleeChargeJump02Selector";
			isOverriddenBy = "Corpo_Hammer.MeleeChargeJump02Selector";
		}, 
		{
			node = "MeleeActions.DeflectReactionCompositeSelectorDefinition";
			isOverriddenBy = "Corpo_Hammer.DeflectReactionCompositeSelectorDefinition";
		}, 
		{
			node = "MeleeActions.MeleeTauntSupportAreaSelector";
			isOverriddenBy = "Corpo_Hammer.MeleeTauntSupportAreaSelector";
		}, 
		{
			node = "MeleeActions.MeleeTauntCombatAreaSelector";
			isOverriddenBy = "Corpo_Hammer.MeleeTauntCombatAreaSelector";
		}, 
		{
			node = "MeleeActions.MeleeTauntContactAreaSelector";
			isOverriddenBy = "Corpo_Hammer.MeleeTauntContactAreaSelector";
		}, 
		{
			node = "MeleeActions.MeleeTauntHitReactionSelector";
			isOverriddenBy = "Corpo_Hammer.MeleeTauntHitReactionSelector";
		}, 
		{
			node = "MeleeActions.MeleeTauntPreAttackSelector";
			isOverriddenBy = "Corpo_Hammer.MeleeTauntPreAttackSelector";
		}
	];
}

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

MeleeParryState : CombatDecorator.MeleeParryState
{
	animData = 
	{
		animFeature = "MeleeCombatTaunt";
		animSlot = 
		{
		};
	};
}

BerserkActivation : AbilityActions.BerserkActivation
{
	animData = 
	{
		animVariation = 1;
		weaponOverride = 1;
		animFeature = "SE_BerserkActivation";
		animSlot = 
		{
		};
	};
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

