package playerStateMachineDefinitions

StateMachineDefinition
{
	CName stateMachineBodyName = "gamestateMachineStateMachineBody";
}

InputContext : StateMachineDefinition
{
	string name = "InputContext";
	string packageName = "playerStateMachineInputContext";
	string[] states = 
	[
		"initialState", "deadContext", "braindanceContext", "gameplayContext", "vehicleGameplayContext", "aimingContext", "ladderEnterContext", "visionContext", "deviceControlContext", "uiContext", "uiQuickHackPanelContext", "uiQuickHackPanelContextDriving", "uiQuickHackPanelContextDriverCombat", "uiQuickHackPanelContextRemoteControl", "uiRadialContext", "uiVendorContext", "uiPhoneContext", "interactionContext", "vehicleQuestRestrictedContext", "vehicleBlockInputContext", "vehicleNoDriveCombatContext", "vehicleNoDriveContext", "vehicleTankDriverContext", "vehicleDriverContext", "vehicleDriverMountedWeaponsContext", "vehicleDriverCombatContext", "vehicleDriverCombatTPPContext", "vehicleDriverCombatAimContext", "vehicleDriverCombatMountedWeaponsContext", "vehicleDriverCombatMountedWeapons", "vehicleCombatContext", "vehiclePassengerContext", "vehiclePassengerRemoteControlDriverContext", "vehicleRemoteControlDriverContext", "baseContext"
	];
	string startingState = "initialState";
	string type = "InputContext";
}

AimAssistContext : StateMachineDefinition
{
	string name = "AimAssistContext";
	string packageName = "playerStateMachineAimAssistContext";
	string[] states = 
	[
		"defaultAssist", "deviceControlAssist", "meleeAssist", "meleeAssistIdle", "aimingAssist", "scanningAssist", "quickMeleeAssist", "sprintingAssist", "leftHandCyberwareAssist", "leftHandCyberwareChargeAssist", "vehicleCombatAssist"
	];
	string startingState = "defaultAssist";
	string type = "AimAssistContext";
}

Locomotion : StateMachineDefinition
{
	string name = "Locomotion";
	string packageName = "playerStateMachineLocomotion";
	string[] states = 
	[
		"initial", "stand", "forceIdle", "workspot", "forceFreeze", "forceWalk", "coolExitJump", "aimWalk", "dodge", "crouch", "crouchSprint", "sprint", "slide", "slideAfterFall", "slideFall", "kerenzikovSlide", "bodySlamJump", "jump", "doubleJump", "chargeJump", "hoverJump", "dodgeAir", "airThrusters", "airHover", "superheroFall", "superheroLand", "superheroLandRecovery", "unsecureFootingFall", "regularLand", "hardLand", "veryHardLand", "deathLand", "climb", "vault", "ladder", "ladderSprint", "ladderSlide", "ladderJump", "ladderCrouch", "fall", "knockdown", "stunned", "vehicleKnockdown", "forcedKnockdown", "felled"
	];
	string startingState = "initial";
	string type = "Locomotion";
	bool blockReset = true;
	CName stateMachineBodyName = "gamestateMachineStateMachineBodyLocomotionTier1";
}

UpperBody : StateMachineDefinition
{
	string name = "UpperBody";
	string packageName = "playerStateMachineUpperBody";
	string[] states = 
	[
		"forceSafe", "forceEmptyHands", "emptyHands", "singleWield", "selectItem", "aimingState", "temporaryUnequip", "waitForEquip", "useConsumable", "adHocAnimation"
	];
	string startingState = "emptyHands";
	string type = "UpperBody";
}

Equipment : StateMachineDefinition
{
	string name = "Equipment";
	string packageName = "playerStateMachineEquipment";
	string[] states = 
	[
		"unequipped", "unequippedWaitingForExternalFactors", "selfRemoval", "equipCycleInit", "equipCycle", "firstEquip", "equipped", "unequipCycle"
	];
	string startingState = "unequipped";
	string type = "Equipment";
	bool default = true;
}

TimeDilation : StateMachineDefinition
{
	string name = "TimeDilation";
	string packageName = "playerStateMachineTimeDilation";
	string[] states = 
	[
		"timeDilationReady", "sandevistan", "kerenzikov", "timeDilationFocusMode"
	];
	string startingState = "timeDilationReady";
	string type = "TimeDilation";
}

CoverAction : StateMachineDefinition
{
	string name = "CoverAction";
	string packageName = "playerStateMachineCoverAction";
	string[] states = 
	[
		"inactiveCover", "activateCover"
	];
	string startingState = "inactiveCover";
	string type = "CoverAction";
}

HighLevel : StateMachineDefinition
{
	string name = "HighLevel";
	string packageName = "playerStateMachineHighLevel";
	string[] states = 
	[
		"exploration", "aiControlled", "death", "groundDeath", "airDeath", "swimmingDeath", "resurrect", "inspection", "sceneTierInitial", "sceneTierII", "sceneTierIII", "sceneTierIV", "sceneTierV", "debugTweakWeaponPose", "swimming", "minigame"
	];
	string startingState = "exploration";
	string type = "HighLevel";
}

Crosshair : StateMachineDefinition
{
	string name = "Crosshair";
	string packageName = "playerStateMachineCrosshair";
	string[] states = 
	[
		"safe", "scanning", "grenadeCharging", "aim", "reload", "reloadDriverCombatMountedWeapons", "sprint", "hipfire", "leftHandCyberware", "quickHack"
	];
	string startingState = "hipfire";
	string type = "Crosshair";
}

Zoom : StateMachineDefinition
{
	string name = "Zoom";
	string packageName = "playerStateMachineZoom";
	string[] states = 
	[
		"zoomLevelBase", "zoomBlocked", "zoomLevelAim", "zoomLevelScan", "zoomLevel3", "zoomLevel4", "zoomLevel5", "zoomLevel6"
	];
	string startingState = "zoomLevelBase";
	string type = "Zoom";
}

Stamina : StateMachineDefinition
{
	string name = "Stamina";
	string packageName = "playerStateMachineStamina";
	string[] states = 
	[
		"rested", "fatigued", "exhausted"
	];
	string startingState = "rested";
	string type = "Stamina";
}

ScenesFastForward : StateMachineDefinition
{
	string name = "ScenesFastForward";
	string packageName = "playerStateMachineScenesFoastForward";
	string[] states = 
	[
		"fastForwardUnavailable", "fastForwardAvailable", "fastForwardActive", "fastForwardSelfRemoval"
	];
	string startingState = "fastForwardUnavailable";
	string type = "ScenesFastForward";
}

LocomotionLowGravity : StateMachineDefinition
{
	string name = "LocomotionLowGravity";
	string packageName = "playerStateMachineLocomotionLowGravity";
	string[] states = 
	[
		"standLowGravity", "crouchLowGravity", "preCrouchLowGravity", "dodgeLowGravity", "dodgeAirLowGravity", "dodgeCrouchLowGravity", "sprintLowGravity", "sprintWindupLowGravity", "sprintJumpLowGravity", "jumpLowGravity", "regularLandLowGravity", "fallLowGravity", "slideLowGravity", "climbLowGravity"
	];
	string startingState = "standLowGravity";
	string type = "Locomotion";
}

LocomotionTier3 : StateMachineDefinition
{
	string name = "LocomotionTier3";
	string packageName = "playerStateMachineLocomotionTier3";
	string[] states = 
	[
		"idleTier3", "workspot"
	];
	string startingState = "idleTier3";
	string type = "Locomotion";
}

LocomotionTier4 : StateMachineDefinition
{
	string name = "LocomotionTier4";
	string packageName = "playerStateMachineLocomotionTier4";
	string[] states = 
	[
		"idleTier4", "workspot"
	];
	string startingState = "idleTier4";
	string type = "Locomotion";
}

LocomotionTier5 : StateMachineDefinition
{
	string name = "LocomotionTier5";
	string packageName = "playerStateMachineLocomotionTier5";
	string[] states = 
	[
		"idleTier5", "workspot"
	];
	string startingState = "idleTier5";
	string type = "Locomotion";
}

LocomotionSwimming : StateMachineDefinition
{
	string name = "LocomotionSwimming";
	string packageName = "playerStateMachineLocomotionSwimming";
	string[] states = 
	[
		"swimmingForceFreeze", "surface", "surfaceFastSwimming", "transition", "diving", "fastDiving", "swimmingLadder", "swimmingClimb", "initial"
	];
	string startingState = "initial";
	string type = "Locomotion";
	CName stateMachineBodyName = "gamestateMachineStateMachineBodyLocomotionTier1";
}

LocomotionTakedown : StateMachineDefinition
{
	string name = "LocomotionTakedown";
	string packageName = "playerStateMachineLocomotionTakedown";
	string[] states = 
	[
		"takedownBegin", "takedownLeapToPrey", "takedownSlideToPrey", "takedownGrapplePrey", "grappleMount", "grappleStand", "grappleFall", "grappleStruggle", "grappleBreakFree", "grapplePreyDead", "takedownGrappleFailed", "takedownExecuteTakedown", "takedownExecuteTakedownAndDispose", "grappleForceShovePrey", "takedownReleasePrey", "takedownUnmountPrey", "pickUpBodyAfterTakedown", "takedownEnd"
	];
	string startingState = "takedownBegin";
	string type = "Locomotion";
	CName initDataClass = "LocomotionTakedownInitData";
}

LocomotionBraindance : StateMachineDefinition
{
	string name = "LocomotionBraindance";
	string packageName = "playerStateMachineLocomotionBraindance";
	string[] states = 
	[
		"fly", "fastFly"
	];
	string startingState = "fly";
	string type = "Locomotion";
}

Weapon : StateMachineDefinition
{
	string name = "Weapon";
	string packageName = "playerStateMachineWeapon";
	string[] states = 
	[
		"ready", "notReady", "safe", "publicSafe", "noAmmo", "quickMelee", "reload", "shoot", "cycleRound", "cycleTriggerMode", "semiAuto", "fullAuto", "burst", "charge", "chargeReady", "chargeMax", "discharge", "publicSafeToReady"
	];
	string startingState = "notReady";
	CName animGraphName = "ranged";
	CName animGraphSlot = "ranged";
}

HeavyWeapon : StateMachineDefinition
{
	string name = "HeavyWeapon";
	string packageName = "playerStateMachineWeapon";
	string[] states = 
	[
		"ready", "notReady", "safe", "publicSafe", "semiAuto", "fullAuto", "burst", "shoot", "overheat", "cycleRound", "charge", "chargeReady", "chargeMax", "discharge", "quickMelee", "noAmmo", "publicSafeToReady"
	];
	string startingState = "notReady";
	CName animGraphName = "ranged";
	CName animGraphSlot = "ranged";
}

LeftHandCyberware : StateMachineDefinition
{
	string name = "LeftHandCyberware";
	string packageName = "playerStateMachineLeftHandCyberware";
	string[] states = 
	[
		"leftHandCyberwareEquip", "leftHandCyberwareSafe", "leftHandCyberwareCharge", "leftHandCyberwareLoop", "leftHandCyberwareQuickAction", "leftHandCyberwareChargeAction", "leftHandCyberwareChargeRepeatAction", "leftHandCyberwareCatch", "leftHandCyberwareCatchAction", "leftHandCyberwareWaitForUnequip", "leftHandCyberwareUnequip"
	];
	string startingState = "leftHandCyberwareEquip";
}

Vehicle : StateMachineDefinition
{
	string name = "Vehicle";
	string packageName = "playerStateMachineVehicle";
	string[] states = 
	[
		"idle", "entering", "drive", "gunner", "passenger", "switchSeats", "driverCombat", "driverCombatFirearms", "driverCombatMountedWeapons", "enteringCombat", "exitingCombat", "combat", "collisionExiting", "deathExiting", "combatExiting", "speedExiting", "slideExiting", "coolExiting", "exiting", "exit", "scene", "sceneExiting", "sceneExitingCombat", "waitingForScene"
	];
	string startingState = "idle";
	string type = "Vehicle";
	bool blockReset = true;
	CName animGraphName = "vehicle";
	CName animGraphSlot = "vehicle";
}

Melee : StateMachineDefinition
{
	string name = "Melee";
	string packageName = "playerStateMachineMelee";
	string[] states = 
	[
		"meleeEquipping", "meleeIdle", "meleeParried", "meleePublicSafe", "meleeSafe", "meleeDeflect", "meleeBlockAttack", "meleeBlock", "meleeTargeting", "meleeBodySlamAttack", "meleeMountedComboAttack", "meleeMountedStrongAttack", "meleeMountedFinalAttack", "meleeEquipAttack", "meleeComboAttack", "meleeStrongAttack", "meleeSafeAttack", "meleeNotReady", "meleeChargedHold", "meleeHold", "meleeFinalAttack", "meleeBendBullets", "meleeCrouch", "meleeCrouchAttack", "meleeSlide", "meleeFall", "meleeSprintAttack", "meleeThrowAttack", "meleeThrowReload", "meleeRecovery", "meleeDash", "meleeLeap", "meleeJump", "meleeJumpAttack", "meleeDeflectAttack", "meleeGroundSlamAttack"
	];
	string startingState = "meleeEquipping";
	CName animGraphName = "melee";
	CName animGraphSlot = "melee";
}

CombatGadget : StateMachineDefinition
{
	string name = "CombatGadget";
	string packageName = "playerStateMachineCombatGadget";
	string[] states = 
	[
		"combatGadgetStart", "combatGadgetInactive", "combatGadgetEquip", "combatGadgetQuickThrow", "combatGadgetChargedThrow", "combatGadgetCharge", "combatGadgetWaitForUnequip", "combatGadgetUnequip"
	];
	string startingState = "combatGadgetStart";
	string type = "CombatGadget";
}

Consumable : StateMachineDefinition
{
	string name = "Consumable";
	string packageName = "playerStateMachineConsumable";
	string[] states = 
	[
		"consumableStartup", "consumableUse", "consumableCleanup"
	];
	string startingState = "consumableStartup";
	string type = "Consumable";
}

BraindanceControls : StateMachineDefinition
{
	string name = "BraindanceControls";
	string packageName = "playerStateMachineBraindanceControls";
	string[] states = 
	[
		"controlsInactive", "controlsActive"
	];
	string startingState = "controlsInactive";
	string type = "BraindanceControls";
}

CarriedObject : StateMachineDefinition
{
	string name = "CarriedObject";
	string packageName = "playerStateMachineCarriedObject";
	string[] states = 
	[
		"pickUp", "carry", "drop", "dispose", "forceDropBody", "aim", "throw", "release"
	];
	string startingState = "pickUp";
	CName animGraphName = "carrying";
	CName animGraphSlot = "carrying";
}

QuickSlots : StateMachineDefinition
{
	string name = "QuickSlots";
	string packageName = "playerStateMachineQuickSlots";
	string[] states = 
	[
		"quickSlotsReady", "onlyVehicle", "quickSlotsBusy", "quickSlotsDisabled", "CycleObjective", "WeaponWheel", "VehicleWheel", "VehicleInsideWheel", "PocketRadioWheel", "VehicleVisualCustomization"
	];
	string startingState = "quickSlotsReady";
	string type = "QuickSlots";
	bool default = true;
	string remoteClientSimulationMode = "ignore";
}

Turret : StateMachineDefinition
{
	string name = "Turret";
	string packageName = "playerStateMachineTurret";
	string[] states = 
	[
		"turretBegin", "turretRipOff", "turretEnd"
	];
	string startingState = "turretBegin";
	string type = "InteractiveObject";
}

SniperNest : StateMachineDefinition
{
	string name = "SniperNest";
	string packageName = "playerStateMachineSniperNest";
	string[] states = 
	[
		"SniperNestBegin", "SniperNestRipOff", "SniperNestEnd"
	];
	string startingState = "SniperNestBegin";
	string type = "InteractiveObject";
}

Finisher : StateMachineDefinition
{
	string name = "Finisher";
	string packageName = "playerStateMachineFinisher";
	string[] states = 
	[
		"finisherLeapToTarget", "finisherAttack", "finisherEnd"
	];
	string startingState = "finisherLeapToTarget";
	string type = "InteractiveObject";
}

CPOTppLookAtPreset : StateMachineDefinition
{
	string name = "CPOTppLookAtPreset";
	string packageName = "playerStateMachineLookAtPreset";
	string[] states = 
	[
		"unarmedLookAt", "assualtRifleLookAt", "fistsLookAt", "hammerLookAt", "handgunLookAt", "hmgLookAt", "katanaLookAt", "knifeLookAt", "lmgLookAt", "longBladeLookAt", "meleeLookAt", "oneHandedClubLookAt", "precisionRifleLookAt", "revolverLookAt", "rifleLookAt", "shortBladeLookAt", "shotgunLookAt", "shotgunDualLookAt", "sniperRifleLookAt", "smgLookAt", "twoHandedClubLookAt", "grenadeLookAt"
	];
	string startingState = "unarmedLookAt";
}

TestOne : StateMachineDefinition
{
	string name = "TestOne";
	string packageName = "playerStateMachineTestOne";
	string[] states = 
	[
		"beginOne", "middleOne", "endOne", "endOneBis", "endOneTer", "playerStateMachineTestTwo.endTwo"
	];
	string startingState = "beginOne";
	string type = "TestOne";
}

TestTwo : StateMachineDefinition
{
	string name = "TestTwo";
	string packageName = "playerStateMachineTestTwo";
	string[] states = 
	[
		"beginTwo", "playerStateMachineTestOne.middleOne", "endTwo"
	];
	string startingState = "beginTwo";
	string type = "TestTwo";
}

TestThree : StateMachineDefinition
{
	string name = "TestThree";
	string packageName = "playerStateMachineTestThree";
	string[] states = 
	[
		"beginThree", "middleThree", "endThree"
	];
	string startingState = "beginThree";
	string type = "TestThree";
	CName outputDataClass = "PlayerStateMachineTestThreeOutput";
}

TestFour : StateMachineDefinition
{
	string name = "TestFour";
	string packageName = "playerStateMachineTestFour";
	string[] states = 
	[
		"beginFour", "middleFour", "endFour"
	];
	string startingState = "beginFour";
	string type = "TestFour";
	CName inputDataClass = "PlayerStateMachineTestFourInput";
	CName outputDataClass = "PlayerStateMachineTestFourOutput";
}

TestFive : StateMachineDefinition
{
	string name = "TestFive";
	string packageName = "playerStateMachineTestFive";
	string[] states = 
	[
		"beginFive", "middleFive", "endFive"
	];
	string startingState = "beginFive";
	string type = "TestFive";
	CName inputDataClass = "PlayerStateMachineTestFiveInput";
}

