diff --git a/Assets/Player/Graphs/PlayerBaseFSM.asset b/Assets/Player/Graphs/PlayerBaseFSM.asset
index 1a02bb5..ed28d1a 100644
--- a/Assets/Player/Graphs/PlayerBaseFSM.asset
+++ b/Assets/Player/Graphs/PlayerBaseFSM.asset
@@ -51,12 +51,12 @@ MonoBehaviour:
Air Movement Reset"},"eventValue":{"_value":2.5},"delay":{},"$type":"NodeCanvas.Tasks.Actions.SendEvent`1[[System.Single,
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}]},"_color":{"r":0.3647059,"g":0.3215686,"b":1.0,"a":1.0},"_name":"Post
Grapple Movement","_position":{"x":-100.2183,"y":-239.2994},"$type":"NodeCanvas.StateMachines.ActionState","$id":"10"},{"_position":{"x":-270.4407,"y":64.96476},"$type":"NodeCanvas.StateMachines.EmptyState","$id":"11"},{"_onEnterList":{"actions":[{"raycastHit":{"_name":"_wallStickHit"},"transform":{},"collider":{},"gameObject":{},"distance":{},"normal":{"_name":"_wallStickHitNormal"},"point":{"_name":"_wallStickHitPoint"},"$type":"NodeCanvas.Tasks.Actions.DecomposeRaycastHit"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"foldExit":true,"_color":{"r":0.4980392,"g":1.0,"b":0.9803922,"a":1.0},"_name":"Right
- Wall Stick","_position":{"x":1440.892,"y":491.8188},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"12"},{"_actionList":{"executionMode":1,"actions":[]},"_color":{"r":0.4117647,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Right
- Wall Launch","_position":{"x":1540.333,"y":-269.5497},"$type":"NodeCanvas.StateMachines.ActionState","$id":"13"},{"_name":"back
- to airborne","_position":{"x":1318.265,"y":-168.164},"$type":"NodeCanvas.StateMachines.EmptyState","$id":"14"},{"_onEnterList":{"executionMode":1,"actions":[]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"_color":{"r":0.4980392,"g":1.0,"b":0.9803922,"a":1.0},"_name":"Wall
- Slide","_position":{"x":1163.601,"y":367.7003},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"15"},{"_onEnterList":{"actions":[{"raycastHit":{"_name":"_wallStickHit"},"transform":{},"collider":{},"gameObject":{},"distance":{},"normal":{"_name":"_wallStickHitNormal"},"point":{"_name":"_wallStickHitPoint"},"$type":"NodeCanvas.Tasks.Actions.DecomposeRaycastHit"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"foldExit":true,"_color":{"r":0.4980392,"g":1.0,"b":0.9803922,"a":1.0},"_name":"Left
- Wall Stick","_position":{"x":1292.097,"y":191.7727},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"16"},{"_actionList":{"executionMode":1,"actions":[]},"_color":{"r":0.4117647,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Left
- Wall Launch","_position":{"x":1460.118,"y":-138.9557},"$type":"NodeCanvas.StateMachines.ActionState","$id":"17"},{"_onEnterList":{"executionMode":1,"actions":[{"facingDirection":{"label":"Facing
+ Wall Stick","_position":{"x":1719.058,"y":197.8127},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"12"},{"_actionList":{"executionMode":1,"actions":[]},"_color":{"r":0.4117647,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Right
+ Wall Launch","_position":{"x":1554.001,"y":-221.7112},"$type":"NodeCanvas.StateMachines.ActionState","$id":"13"},{"_name":"back
+ to airborne","_position":{"x":1227.144,"y":-168.164},"$type":"NodeCanvas.StateMachines.EmptyState","$id":"14"},{"_onEnterList":{"executionMode":1,"actions":[]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"_color":{"r":0.4980392,"g":1.0,"b":0.9803922,"a":1.0},"_name":"Wall
+ Slide","_position":{"x":1489.875,"y":359.6696},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"15"},{"_onEnterList":{"actions":[{"raycastHit":{"_name":"_wallStickHit"},"transform":{},"collider":{},"gameObject":{},"distance":{},"normal":{"_name":"_wallStickHitNormal"},"point":{"_name":"_wallStickHitPoint"},"$type":"NodeCanvas.Tasks.Actions.DecomposeRaycastHit"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"foldExit":true,"_color":{"r":0.4980392,"g":1.0,"b":0.9803922,"a":1.0},"_name":"Left
+ Wall Stick","_position":{"x":1279.881,"y":192.7907},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"16"},{"_actionList":{"executionMode":1,"actions":[]},"_color":{"r":0.4117647,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Left
+ Wall Launch","_position":{"x":1428.226,"y":-146.9287},"$type":"NodeCanvas.StateMachines.ActionState","$id":"17"},{"_onEnterList":{"executionMode":1,"actions":[{"facingDirection":{"label":"Facing
Direction","value":{"_value":{"$content":0,"$type":"Reset.Units.PlayerFacingDirection"}},"changeValue":{}},"rotationSpeed":{"label":"Rotation
Speed","changeValue":{"_value":1},"value":{"_value":0.2},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeRotationSettings"},{"newRotation":{"_value":{"y":-45.0}},"absolute":{},"relativity":{"_value":1.0},"relativeTo":{"_name":"_wallJumpHitNormal"},"relativeToIsDirection":{"_value":true},"$type":"Reset.Units.SetNewRotation"},{"airDirectionDecay":{"label":"Air
Direction Decay","changeValue":{"_value":1},"value":{"_value":1.0},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"gravityMax":{"label":"Gravity
@@ -99,7 +99,19 @@ MonoBehaviour:
Speed","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"acceleration":{"label":"Acceleration","changeValue":{"_value":1},"value":{"_value":1.0},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"deacceleration":{"label":"Deacceleration","changeValue":{"_value":1},"value":{"_value":1.0},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeMoveSpeedSettings"}]},"_onUpdateList":{"executionMode":1,"actions":[{"newGravity":{"_value":2.0},"absolute":{},"relativity":{"_value":0.86},"deltaTime":{"_value":true},"decayRate":{"_value":0.3},"$type":"Reset.Units.SetNewGravity"}]},"_onExitList":{"executionMode":1,"actions":[{"valueA":{"_name":"airJumpsRemaining","_targetVariableID":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d"},"Operation":2,"valueB":{"_value":1},"$type":"NodeCanvas.Tasks.Actions.SetInt"}]},"foldEnter":true,"foldUpdate":true,"foldExit":true,"_color":{"r":0.4117647,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Standard
Jump","_position":{"x":697.7955,"y":220.1157},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"21"},{"_actionList":{"actions":[{"valueA":{"_name":"newAirMoveSmoothing"},"valueB":{"_value":1.0},"_isDisabled":true,"$type":"NodeCanvas.Tasks.Actions.SetFloat"},{"eventName":{"_value":"Air
Reset Received"},"delay":{},"$type":"NodeCanvas.Tasks.Actions.SendEvent"}]},"_color":{"r":0.3647059,"g":0.3215686,"b":1.0,"a":1.0},"_name":"Airborne
- Standard Movement","_position":{"x":227.1761,"y":27.24033},"$type":"NodeCanvas.StateMachines.ActionState","$id":"22"},{"_actionList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
+ Standard Movement","_position":{"x":227.1761,"y":27.24033},"$type":"NodeCanvas.StateMachines.ActionState","$id":"22"},{"_name":"INTERACT
+ OPTIONS","_position":{"x":967.8022,"y":970.8088},"$type":"NodeCanvas.StateMachines.EmptyState","$id":"23"},{"_actionList":{"executionMode":1,"actions":[{"raycastHit":{"_name":"_hit"},"transform":{},"collider":{},"gameObject":{"_name":"testobject","_targetVariableID":"1ed67ab7-76d3-45fa-b36b-7e676e69dcea"},"distance":{},"normal":{},"point":{},"$type":"NodeCanvas.Tasks.Actions.DecomposeRaycastHit"}]},"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_position":{"x":2055.0,"y":790.0},"$type":"NodeCanvas.StateMachines.ActionState","$id":"24"},{"_name":"Check
+ if interactable","_position":{"x":2335.022,"y":1165.423},"$type":"NodeCanvas.StateMachines.EmptyState","$id":"25"},{"_actionList":{"executionMode":1,"actions":[{"log":{"_name":"testobject","_targetVariableID":"1ed67ab7-76d3-45fa-b36b-7e676e69dcea"},"$type":"NodeCanvas.Tasks.Actions.DebugLogText"},{"moveSpeed":{"label":"Move
+ Speed","changeValue":{"_value":1},"value":{},"_changeSmoothing":{"_value":1},"_smoothing":{"_value":10.0},"_changeEasing":{"_value":1},"_easing":{"_value":5.0}},"acceleration":{"label":"Acceleration","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"deacceleration":{"label":"Deacceleration","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeMoveSpeedSettings"},{"facingDirection":{"label":"Facing
+ Direction","value":{"_value":{"$content":1,"$type":"Reset.Units.PlayerFacingDirection"}},"changeValue":{"_value":1}},"rotationSpeed":{"label":"Rotation
+ Speed","changeValue":{"_value":1},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeRotationSettings"},{"target":{"_name":"testobject","_targetVariableID":"1ed67ab7-76d3-45fa-b36b-7e676e69dcea"},"eventToSend":"Pick
+ Up Start","$type":"Reset.Units.SendEventToUnit"}]},"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_name":"Start
+ Ally Pickup","_position":{"x":2647.121,"y":1343.222},"$type":"NodeCanvas.StateMachines.ActionState","$id":"26"},{"_actionList":{"executionMode":1,"actions":[{"target":{"_name":"testobject","_targetVariableID":"1ed67ab7-76d3-45fa-b36b-7e676e69dcea"},"eventToSend":"Pick
+ Up Failed","$type":"Reset.Units.SendEventToUnit"}]},"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_name":"Pickup
+ Failed","_position":{"x":2320.785,"y":1479.228},"$type":"NodeCanvas.StateMachines.ActionState","$id":"27"},{"_position":{"x":2055.903,"y":1096.625},"$type":"NodeCanvas.StateMachines.EmptyState","$id":"28"},{"_actionList":{"executionMode":1,"actions":[{"valueA":{"_name":"testobject","_targetVariableID":"1ed67ab7-76d3-45fa-b36b-7e676e69dcea"},"valueB":{},"$type":"NodeCanvas.Tasks.Actions.SetVariable`1[[UnityEngine.GameObject,
+ UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}]},"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_position":{"x":1682.273,"y":1020.806},"$type":"NodeCanvas.StateMachines.ActionState","$id":"29"},{"_actionList":{"executionMode":1,"actions":[{"target":{"_name":"testobject","_targetVariableID":"1ed67ab7-76d3-45fa-b36b-7e676e69dcea"},"eventToSend":"Pick
+ Up Success","$type":"Reset.Units.SendEventToUnit"}]},"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_name":"Pickup
+ Success","_position":{"x":2312.675,"y":1237.935},"$type":"NodeCanvas.StateMachines.ActionState","$id":"30"},{"_actionList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
Speed","changeValue":{"_value":1},"value":{"_value":30.0},"_changeSmoothing":{"_value":1},"_smoothing":{"_value":0.1},"_changeEasing":{"_value":1},"_easing":{"_value":0.1}},"acceleration":{"label":"Acceleration","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"deacceleration":{"label":"Deacceleration","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeMoveSpeedSettings"},{"fieldOfView":{"label":"FOV","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"orbitTargetOffset":{"label":"Target
Offset","value":{},"changeX":{},"changeY":{},"changeZ":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"orbitPositionDamping":{"label":"Position
Damping","value":{},"changeX":{},"changeY":{},"changeZ":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"orbitFollowTop":{"label":"Top
@@ -111,8 +123,8 @@ MonoBehaviour:
Orbit X Gain","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"axisLookYGain":{"label":"Look
Orbit Y Gain","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"screenPosition":{"label":"Screen
Position","value":{},"changeX":{},"changeY":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"cameraOffset":{"label":"Offset","value":{},"changeX":{},"changeY":{},"changeZ":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"NodeCanvas.Tasks.Actions.ChangeCameraSettings"}]},"_color":{"r":1.0,"g":1.0,"b":1.0,"a":1.0},"_name":"Sprint
- Burst","_position":{"x":617.7376,"y":561.286},"$type":"NodeCanvas.StateMachines.ActionState","$id":"23"},{"_onEnterList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
- Speed","changeValue":{"_value":1},"value":{"_value":60.0},"_changeSmoothing":{"_value":1},"_smoothing":{"_value":2.0},"_changeEasing":{"_value":1},"_easing":{"_value":2.0}},"acceleration":{"label":"Acceleration","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"deacceleration":{"label":"Deacceleration","changeValue":{"_value":1},"value":{"_value":10.0},"_changeSmoothing":{"_value":1},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeMoveSpeedSettings"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"_color":{"r":1.0,"g":1.0,"b":1.0,"a":1.0},"_position":{"x":828.8306,"y":724.4287},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"24"},{"_onEnterList":{"executionMode":1,"actions":[{"fieldOfView":{"label":"FOV","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"orbitTargetOffset":{"label":"Target
+ Burst","_position":{"x":1195.977,"y":588.8872},"$type":"NodeCanvas.StateMachines.ActionState","$id":"31"},{"_onEnterList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
+ Speed","changeValue":{"_value":1},"value":{"_value":60.0},"_changeSmoothing":{"_value":1},"_smoothing":{"_value":2.0},"_changeEasing":{"_value":1},"_easing":{"_value":2.0}},"acceleration":{"label":"Acceleration","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"deacceleration":{"label":"Deacceleration","changeValue":{"_value":1},"value":{"_value":10.0},"_changeSmoothing":{"_value":1},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeMoveSpeedSettings"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"_color":{"r":1.0,"g":1.0,"b":1.0,"a":1.0},"_position":{"x":1404.68,"y":706.4014},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"32"},{"_onEnterList":{"executionMode":1,"actions":[{"fieldOfView":{"label":"FOV","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"orbitTargetOffset":{"label":"Target
Offset","value":{},"changeX":{},"changeY":{},"changeZ":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"orbitPositionDamping":{"label":"Position
Damping","value":{},"changeX":{},"changeY":{},"changeZ":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"orbitFollowTop":{"label":"Top","changeHeight":{},"height":{},"changeRadius":{"_value":1},"radius":{"_value":7.0},"_changeSmoothing":{"_value":1},"_smoothing":{"_value":100.0},"_changeEasing":{"_value":1},"_easing":{"_value":100.0}},"orbitFollowCenter":{"label":"Center","changeHeight":{},"height":{},"changeRadius":{"_value":1},"radius":{"_value":8.0},"_changeSmoothing":{"_value":1},"_smoothing":{"_value":100.0},"_changeEasing":{"_value":1},"_easing":{"_value":100.0}},"orbitFollowBottom":{"label":"Bottom","changeHeight":{},"height":{},"changeRadius":{"_value":1},"radius":{"_value":5.0},"_changeSmoothing":{"_value":1},"_smoothing":{"_value":100.0},"_changeEasing":{"_value":1},"_easing":{"_value":100.0}},"enableXAxis":{"label":"Input
Axis X Enabled","value":{"_value":true},"changeValue":{}},"enableYAxis":{"label":"Input
@@ -130,14 +142,22 @@ MonoBehaviour:
Direction","value":{"_value":{"$content":1,"$type":"Reset.Units.PlayerFacingDirection"}},"changeValue":{"_value":1}},"rotationSpeed":{"label":"Rotation
Speed","changeValue":{"_value":1},"value":{"_value":6.0},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeRotationSettings"},{"moveSpeed":{"label":"Move
Speed","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"acceleration":{"label":"Acceleration","changeValue":{"_value":1},"value":{"_value":1.0},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"deacceleration":{"label":"Deacceleration","changeValue":{"_value":1},"value":{"_value":1.0},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeMoveSpeedSettings"},{"newDirection":{"_value":{"y":1.0}},"absolute":{},"relativity":{},"setRawAsWell":{},"relativeTo":{},"$type":"Reset.Units.SetNewDirection"},{"newSpeed":{"_value":22.0},"absolute":{},"relativity":{},"$type":"Reset.Units.SetNewSpeed"}]},"_onUpdateList":{"executionMode":1,"actions":[{"newGravity":{"_value":2.0},"absolute":{},"relativity":{"_value":0.86},"deltaTime":{"_value":true},"decayRate":{"_value":0.3},"$type":"Reset.Units.SetNewGravity"}]},"_onExitList":{"executionMode":1,"actions":[{"valueA":{"_name":"airJumpsRemaining","_targetVariableID":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d"},"Operation":2,"valueB":{"_value":1},"$type":"NodeCanvas.Tasks.Actions.SetInt"}]},"foldEnter":true,"foldUpdate":true,"foldExit":true,"_color":{"r":0.4117647,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Run
- Jump","_position":{"x":1043.577,"y":32.57642},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"25"},{"_nestedBT":{"_value":1},"executionMode":0,"_variablesMap":[{"_targetSubGraphVariableID":"9de2ef67-d7a9-49dc-936e-63ede27a131b","_canWrite":true,"_type":"UnityEngine.Animator","_name":"modelAnimator","_targetVariableID":"64fd28ff-2ca7-4b11-89b9-2c0cf8961bf8"}],"_position":{"x":29.0,"y":886.998},"$type":"NodeCanvas.StateMachines.NestedBTState","$id":"26"},{"_nestedBT":{"_value":2},"executionMode":0,"_position":{"x":193.9912,"y":723.5885},"$type":"NodeCanvas.StateMachines.NestedBTState","$id":"27"},{"_nestedBT":{"_value":3},"executionMode":0,"_position":{"x":288.3429,"y":1027.412},"$type":"NodeCanvas.StateMachines.NestedBTState","$id":"28"},{"_onEnterList":{"executionMode":1,"actions":[]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[{"valueA":{"_name":"airJumpsRemaining","_targetVariableID":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d"},"Operation":2,"valueB":{"_value":1},"$type":"NodeCanvas.Tasks.Actions.SetInt"}]},"foldEnter":true,"foldExit":true,"_color":{"r":0.4117647,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Run
- Jump","_position":{"x":1030.708,"y":167.7085},"$type":"NodeCanvas.StateMachines.SuperActionState"},{"_subTree":{"_value":4},"_variablesMap":[{"_targetSubGraphVariableID":"e1cfd0be-7f55-420d-bdd8-e72531fc61ba","_canWrite":true,"_type":"UnityEngine.Transform","_name":"mainCamera"},{"_targetSubGraphVariableID":"c4e68b75-5129-428c-8177-abb7b38986f5","_canWrite":true,"_type":"Reset.Units.PlayerFacingDirection","_value":{"$content":0,"$type":"Reset.Units.PlayerFacingDirection"}}],"_position":{"x":-513.2321,"y":190.793},"$type":"NodeCanvas.StateMachines.ConcurrentSubTree"},{"_subTree":{"_value":5},"_tag":"","_position":{"x":88.88626,"y":312.6888},"_comment":"","$type":"NodeCanvas.StateMachines.ConcurrentSubTree"},{"_conditionList":{"conditions":[]},"_actionList":{"executionMode":1,"actions":[{"resolvedVector2":{"_name":"resolvedMoveVector2","_targetVariableID":"2aee664e-07ba-4e85-9d6a-a1393398789d"},"resolvedVector3":{"_name":"resolvedMoveVector3","_targetVariableID":"5d907161-2896-4b95-bfd2-0ea9426145d7"},"resolvedGravity":{"_name":"resolvedGravity","_targetVariableID":"7c9d4632-c537-44c4-ae35-d92fa64d5303"},"resolvedSpeed":{"_name":"resolvedSpeed","_targetVariableID":"a81cae83-1fb4-4a2c-bc68-ebf1781c2037"},"resolvedRotation":{"_name":"resolvedRotation","_targetVariableID":"f2ba350a-0fea-438e-9ad3-ed77db853d34"},"$type":"Reset.Units.GetResolvedMovementData"}]},"_position":{"x":43.41211,"y":188.3668},"$type":"NodeCanvas.StateMachines.OnFSMUpdate"},{"_onEnterList":{"executionMode":1,"actions":[]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"_color":{"r":0.4980392,"g":1.0,"b":0.9803922,"a":1.0},"_name":"Airborne
- Standby","_position":{"x":1509.989,"y":-548.8954},"$type":"NodeCanvas.StateMachines.SuperActionState"},{"_subTree":{"_value":6},"_position":{"x":1126.753,"y":-309.6837},"$type":"NodeCanvas.StateMachines.ConcurrentSubTree"},{"_subFSM":{"_value":7},"_position":{"x":-97.23633,"y":603.6638},"$type":"NodeCanvas.StateMachines.ConcurrentSubFSM"},{"_position":{"x":665.0,"y":989.0},"$type":"NodeCanvas.StateMachines.AnyState","$id":"36"},{"_actionList":{"executionMode":1,"actions":[{"control":1,"$type":"NodeCanvas.Tasks.Actions.GraphOwnerControl"}]},"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_position":{"x":825.0,"y":1072.0},"$type":"NodeCanvas.StateMachines.ActionState","$id":"37"}],"connections":[{"_condition":{"valueA":{"_name":"isGroundedOld","_targetVariableID":"619300a4-be8b-4ad4-ba2a-978468094ba2"},"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"actionName":{"_value":"Jump"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},{"actionName":{"_value":"Jump"},"actionPhase":{"_value":4},"_invert":true,"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},{"observerLabel":{"_value":"itemdrop"},"outputHitTo":{},"deactivateOnFinish":false,"_invert":true,"$type":"NodeCanvas.Tasks.Conditions.CheckEnvironmentObserver"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"21"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Grapple
+ Jump","_position":{"x":1043.577,"y":32.57642},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"33"},{"_nestedBT":{"_value":1},"executionMode":0,"_variablesMap":[{"_targetSubGraphVariableID":"9de2ef67-d7a9-49dc-936e-63ede27a131b","_canWrite":true,"_type":"UnityEngine.Animator","_name":"modelAnimator","_targetVariableID":"64fd28ff-2ca7-4b11-89b9-2c0cf8961bf8"}],"_position":{"x":6.297241,"y":862.5489},"$type":"NodeCanvas.StateMachines.NestedBTState","$id":"34"},{"_nestedBT":{"_value":2},"executionMode":0,"_position":{"x":171.2884,"y":699.1394},"$type":"NodeCanvas.StateMachines.NestedBTState","$id":"35"},{"_nestedBT":{"_value":3},"executionMode":0,"_position":{"x":265.6401,"y":1002.963},"$type":"NodeCanvas.StateMachines.NestedBTState","$id":"36"},{"_subTree":{"_value":4},"_variablesMap":[{"_targetSubGraphVariableID":"e1cfd0be-7f55-420d-bdd8-e72531fc61ba","_canWrite":true,"_type":"UnityEngine.Transform","_name":"mainCamera"},{"_targetSubGraphVariableID":"c4e68b75-5129-428c-8177-abb7b38986f5","_canWrite":true,"_type":"Reset.Units.PlayerFacingDirection","_value":{"$content":0,"$type":"Reset.Units.PlayerFacingDirection"}}],"_position":{"x":-513.2321,"y":190.793},"$type":"NodeCanvas.StateMachines.ConcurrentSubTree"},{"_subTree":{"_value":5},"_tag":"","_position":{"x":88.88626,"y":312.6888},"_comment":"","$type":"NodeCanvas.StateMachines.ConcurrentSubTree"},{"_conditionList":{"conditions":[]},"_actionList":{"executionMode":1,"actions":[{"resolvedVector2":{"_name":"resolvedMoveVector2","_targetVariableID":"2aee664e-07ba-4e85-9d6a-a1393398789d"},"resolvedVector3":{"_name":"resolvedMoveVector3","_targetVariableID":"5d907161-2896-4b95-bfd2-0ea9426145d7"},"resolvedGravity":{"_name":"resolvedGravity","_targetVariableID":"7c9d4632-c537-44c4-ae35-d92fa64d5303"},"resolvedSpeed":{"_name":"resolvedSpeed","_targetVariableID":"a81cae83-1fb4-4a2c-bc68-ebf1781c2037"},"resolvedRotation":{"_name":"resolvedRotation","_targetVariableID":"f2ba350a-0fea-438e-9ad3-ed77db853d34"},"$type":"Reset.Units.GetResolvedMovementData"}]},"_position":{"x":43.41211,"y":188.3668},"$type":"NodeCanvas.StateMachines.OnFSMUpdate"},{"_onEnterList":{"executionMode":1,"actions":[]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"_color":{"r":0.4980392,"g":1.0,"b":0.9803922,"a":1.0},"_name":"Airborne
+ Standby","_position":{"x":1509.989,"y":-548.8954},"$type":"NodeCanvas.StateMachines.SuperActionState"},{"_subTree":{"_value":6},"_position":{"x":1126.753,"y":-309.6837},"$type":"NodeCanvas.StateMachines.ConcurrentSubTree"},{"_subFSM":{"_value":7},"_position":{"x":-97.23633,"y":603.6638},"$type":"NodeCanvas.StateMachines.ConcurrentSubFSM"},{"_position":{"x":1228.18,"y":1604.454},"$type":"NodeCanvas.StateMachines.AnyState","$id":"43"},{"_actionList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
+ Speed","changeValue":{"_value":1},"value":{},"_changeSmoothing":{"_value":1},"_smoothing":{"_value":10.0},"_changeEasing":{"_value":1},"_easing":{"_value":5.0}},"acceleration":{"label":"Acceleration","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"deacceleration":{"label":"Deacceleration","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeMoveSpeedSettings"},{"facingDirection":{"label":"Facing
+ Direction","value":{"_value":{"$content":1,"$type":"Reset.Units.PlayerFacingDirection"}},"changeValue":{"_value":1}},"rotationSpeed":{"label":"Rotation
+ Speed","changeValue":{"_value":1},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeRotationSettings"},{"parameter":{"_value":"Downed"},"parameterHashID":{},"overrideAgent":{"_type":"UnityEngine.Animator","_name":"modelAnimator","_targetVariableID":"64fd28ff-2ca7-4b11-89b9-2c0cf8961bf8"},"$type":"NodeCanvas.Tasks.Actions.MecanimSetTrigger"},{"trigger":{"_value":"Downed"},"$type":"Reset.Core.SendAnimationTrigger"}]},"_color":{"r":1.0,"g":1.0,"b":1.0,"a":1.0},"_name":"Downed","_position":{"x":1127.07,"y":1850.24},"$type":"NodeCanvas.StateMachines.ActionState","$id":"44"},{"_actionList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
+ Speed","changeValue":{"_value":1},"value":{},"_changeSmoothing":{"_value":1},"_smoothing":{"_value":10.0},"_changeEasing":{"_value":1},"_easing":{"_value":5.0}},"acceleration":{"label":"Acceleration","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"deacceleration":{"label":"Deacceleration","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeMoveSpeedSettings"},{"facingDirection":{"label":"Facing
+ Direction","value":{"_value":{"$content":1,"$type":"Reset.Units.PlayerFacingDirection"}},"changeValue":{"_value":1}},"rotationSpeed":{"label":"Rotation
+ Speed","changeValue":{"_value":1},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeRotationSettings"},{"parameter":{"_value":"Downed"},"parameterHashID":{},"overrideAgent":{"_type":"UnityEngine.Animator","_name":"modelAnimator","_targetVariableID":"64fd28ff-2ca7-4b11-89b9-2c0cf8961bf8"},"$type":"NodeCanvas.Tasks.Actions.MecanimSetTrigger"}]},"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_name":"Die","_position":{"x":1341.81,"y":1339.448},"$type":"NodeCanvas.StateMachines.ActionState","$id":"45"},{"_actionList":{"executionMode":1,"actions":[]},"_color":{"r":1.0,"g":1.0,"b":1.0,"a":1.0},"_name":"Respawn","_position":{"x":1058.604,"y":1453.323},"$type":"NodeCanvas.StateMachines.ActionState","$id":"46"},{"_actionList":{"executionMode":1,"actions":[]},"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_name":"Getting
+ Picked Up","_position":{"x":945.5722,"y":1718.105},"$type":"NodeCanvas.StateMachines.ActionState","$id":"47"},{"_actionList":{"executionMode":1,"actions":[{"trigger":{"_value":"PickUp"},"$type":"Reset.Core.SendAnimationTrigger"},{"parameter":{"_value":"PickUp"},"parameterHashID":{},"overrideAgent":{"_type":"UnityEngine.Animator","_name":"modelAnimator","_targetVariableID":"64fd28ff-2ca7-4b11-89b9-2c0cf8961bf8"},"$type":"NodeCanvas.Tasks.Actions.MecanimSetTrigger"},{"method":{"_baseInfo":"Reset.Units.Player|SetNewHealthRpc|System.Void","_paramsInfo":"System.Single"},"parameters":[{"_type":"System.Single","_value":{"$content":100.0,"$type":"System.Single"}}],"returnValue":{},"$type":"NodeCanvas.Tasks.Actions.ExecuteFunction_Multiplatform"}]},"_color":{"r":1.0,"g":1.0,"b":1.0,"a":1.0},"_name":"Picked
+ Up","_position":{"x":770.7885,"y":1574.854},"$type":"NodeCanvas.StateMachines.ActionState","$id":"48"},{"_position":{"x":639.1807,"y":1779.759},"$type":"NodeCanvas.StateMachines.AnyState","$id":"49"},{"_actionList":{"executionMode":1,"actions":[{"control":1,"$type":"NodeCanvas.Tasks.Actions.GraphOwnerControl"}]},"_color":{"r":0.2358491,"g":0.2358491,"b":0.2358491,"a":1.0},"_name":"Not
+ Owned","_position":{"x":603.1617,"y":1881.634},"$type":"NodeCanvas.StateMachines.ActionState","$id":"50"}],"connections":[{"_condition":{"valueA":{"_name":"isGroundedOld","_targetVariableID":"619300a4-be8b-4ad4-ba2a-978468094ba2"},"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Interact"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"23"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"actionName":{"_value":"Jump"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},{"actionName":{"_value":"Jump"},"actionPhase":{"_value":4},"_invert":true,"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},{"observerLabel":{"_value":"itemdrop"},"outputHitTo":{},"deactivateOnFinish":false,"_invert":true,"$type":"NodeCanvas.Tasks.Conditions.CheckEnvironmentObserver"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"21"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Grapple
Launch"},"saveEventValue":{"_name":"_grappleLaunchDir"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent`1[[UnityEngine.Vector3,
UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"7"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Grapple
Pull"},"saveEventValue":{"_name":"_grappleLaunchDir"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent`1[[UnityEngine.Vector3,
- UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"11"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Sprint"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"23"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"actionName":{"_value":"Melee"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},{"valueA":{"_name":"inGoHard","_targetVariableID":"dc9f60c8-856e-4970-bf11-25745eff1201"},"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"26"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"actionName":{"_value":"Go
- Hard"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},{"valueA":{"_name":"inGoHard","_targetVariableID":"dc9f60c8-856e-4970-bf11-25745eff1201"},"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"27"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"actionName":{"_value":"Melee"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},{"valueA":{"_name":"inGoHard","_targetVariableID":"dc9f60c8-856e-4970-bf11-25745eff1201"},"valueB":{"_value":true},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"28"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"timeout":{"_value":0.2},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"1"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Jump"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"1"},"_targetNode":{"$ref":"21"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"2"},"_targetNode":{"$ref":"3"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"observerLabel":{"_value":"left-walljump"},"outputHitTo":{"_name":"_wallJumpHit"},"$type":"NodeCanvas.Tasks.Conditions.CheckEnvironmentObserver"},{"actionName":{"_value":"Jump"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"3"},"_targetNode":{"$ref":"4"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"valueA":{"_name":"airJumpsRemaining","_targetVariableID":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d"},"checkType":4,"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckInt"},"_sourceNode":{"$ref":"3"},"_targetNode":{"$ref":"6"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"valueA":{"_name":"isGroundedOld","_targetVariableID":"619300a4-be8b-4ad4-ba2a-978468094ba2"},"valueB":{"_value":true},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"},"_sourceNode":{"$ref":"3"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"observerLabel":{"_value":"left-wallstick"},"outputHitTo":{"_name":"_wallStickHit"},"$type":"NodeCanvas.Tasks.Conditions.CheckEnvironmentObserver"},{"actionName":{"_value":"Stick"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"3"},"_targetNode":{"$ref":"12"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"observerLabel":{"_value":"right-wallstick"},"outputHitTo":{"_name":"_wallStickHit"},"$type":"NodeCanvas.Tasks.Conditions.CheckEnvironmentObserver"},{"actionName":{"_value":"Stick"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"3"},"_targetNode":{"$ref":"16"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Grapple
+ UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"11"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Sprint"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"31"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"actionName":{"_value":"Melee"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},{"valueA":{"_name":"inGoHard","_targetVariableID":"dc9f60c8-856e-4970-bf11-25745eff1201"},"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"34"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"actionName":{"_value":"Go
+ Hard"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},{"valueA":{"_name":"inGoHard","_targetVariableID":"dc9f60c8-856e-4970-bf11-25745eff1201"},"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"35"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"actionName":{"_value":"Melee"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},{"valueA":{"_name":"inGoHard","_targetVariableID":"dc9f60c8-856e-4970-bf11-25745eff1201"},"valueB":{"_value":true},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"36"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"timeout":{"_value":0.2},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"1"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Jump"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"1"},"_targetNode":{"$ref":"21"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"2"},"_targetNode":{"$ref":"3"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"observerLabel":{"_value":"left-walljump"},"outputHitTo":{"_name":"_wallJumpHit"},"$type":"NodeCanvas.Tasks.Conditions.CheckEnvironmentObserver"},{"actionName":{"_value":"Jump"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"3"},"_targetNode":{"$ref":"4"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"valueA":{"_name":"airJumpsRemaining","_targetVariableID":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d"},"checkType":4,"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckInt"},"_sourceNode":{"$ref":"3"},"_targetNode":{"$ref":"6"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"valueA":{"_name":"isGroundedOld","_targetVariableID":"619300a4-be8b-4ad4-ba2a-978468094ba2"},"valueB":{"_value":true},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"},"_sourceNode":{"$ref":"3"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"observerLabel":{"_value":"left-wallstick"},"outputHitTo":{"_name":"_wallStickHit"},"$type":"NodeCanvas.Tasks.Conditions.CheckEnvironmentObserver"},{"actionName":{"_value":"Stick"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"3"},"_targetNode":{"$ref":"12"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"observerLabel":{"_value":"right-wallstick"},"outputHitTo":{"_name":"_wallStickHit"},"$type":"NodeCanvas.Tasks.Conditions.CheckEnvironmentObserver"},{"actionName":{"_value":"Stick"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"3"},"_targetNode":{"$ref":"16"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Grapple
Launch"},"saveEventValue":{"_name":"_grappleLaunchDir"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent`1[[UnityEngine.Vector3,
UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"_sourceNode":{"$ref":"3"},"_targetNode":{"$ref":"7"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Grapple
Pull"},"saveEventValue":{"_name":"_grappleLaunchDir"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent`1[[UnityEngine.Vector3,
@@ -147,7 +167,12 @@ MonoBehaviour:
Launch"},"saveEventValue":{"_name":"_grappleLaunchDir"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent`1[[UnityEngine.Vector3,
UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"_sourceNode":{"$ref":"6"},"_targetNode":{"$ref":"7"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Grapple
Pull"},"saveEventValue":{"_name":"_grappleLaunchDir"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent`1[[UnityEngine.Vector3,
- UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"_sourceNode":{"$ref":"6"},"_targetNode":{"$ref":"11"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"7"},"_targetNode":{"$ref":"8"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"timeout":{"_value":0.2},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},{"actionName":{"_value":"Jump"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"8"},"_targetNode":{"$ref":"9"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"8"},"_targetNode":{"$ref":"10"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"9"},"_targetNode":{"$ref":"10"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"10"},"_targetNode":{"$ref":"3"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"11"},"_targetNode":{"$ref":"8"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Jump"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"12"},"_targetNode":{"$ref":"13"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"timeout":{"_value":1.0},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"12"},"_targetNode":{"$ref":"15"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"13"},"_targetNode":{"$ref":"14"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"14"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"checkMode":1,"conditions":[{"timeout":{"_value":2.0},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},{"valueA":{"_name":"isGroundedOld","_targetVariableID":"619300a4-be8b-4ad4-ba2a-978468094ba2"},"valueB":{"_value":true},"_invert":true,"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"15"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"timeout":{"_value":1.0},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"16"},"_targetNode":{"$ref":"15"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Jump"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"16"},"_targetNode":{"$ref":"17"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"17"},"_targetNode":{"$ref":"14"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"18"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"checkAgainst":2,"checkAgainstValue":{"_name":"_wallJumpHitNormal"},"desiredValue":{"_value":1.0},"tolerance":{"_value":0.5},"considerCameraRotation":{"_value":true},"negate":{},"$type":"NodeCanvas.Tasks.Conditions.GetMovementInputDotProduct"},"_sourceNode":{"$ref":"19"},"_targetNode":{"$ref":"20"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"19"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"20"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"checkMode":1,"conditions":[{"actionName":{"_value":"Jump"},"actionPhase":{"_value":4},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},{"valueA":{"_name":"resolvedGravity","_targetVariableID":"7c9d4632-c537-44c4-ae35-d92fa64d5303"},"checkType":2,"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckFloat"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"21"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"22"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"timeout":{"_value":0.1},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"23"},"_targetNode":{"$ref":"24"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Jump"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"24"},"_targetNode":{"$ref":"25"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Sprint"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"24"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"valueA":{"_name":"isGroundedOld","_targetVariableID":"619300a4-be8b-4ad4-ba2a-978468094ba2"},"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"},"_sourceNode":{"$ref":"24"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"25"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"26"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"27"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"28"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"method":{"_baseInfo":"Reset.Units.Player|UnitIsLocal|System.Boolean","_paramsInfo":""},"parameters":[],"checkValue":{"_type":"System.Boolean","_value":{"$content":false,"$type":"System.Boolean"}},"$type":"NodeCanvas.Tasks.Conditions.CheckFunction_Multiplatform"},"_sourceNode":{"$ref":"36"},"_targetNode":{"$ref":"37"},"$type":"NodeCanvas.StateMachines.FSMConnection"}],"canvasGroups":[],"localBlackboard":{"_variables":{"isGroundedOld":{"_propertyPath":"UnityEngine.CharacterController.isGrounded","_name":"isGroundedOld","_id":"619300a4-be8b-4ad4-ba2a-978468094ba2","_debugBoundValue":true,"$type":"NodeCanvas.Framework.Variable`1[[System.Boolean,
+ UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"_sourceNode":{"$ref":"6"},"_targetNode":{"$ref":"11"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"7"},"_targetNode":{"$ref":"8"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"timeout":{"_value":0.2},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},{"actionName":{"_value":"Jump"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"8"},"_targetNode":{"$ref":"9"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"8"},"_targetNode":{"$ref":"10"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"9"},"_targetNode":{"$ref":"10"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"10"},"_targetNode":{"$ref":"3"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"11"},"_targetNode":{"$ref":"8"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Jump"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"12"},"_targetNode":{"$ref":"13"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"timeout":{"_value":1.0},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"12"},"_targetNode":{"$ref":"15"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"13"},"_targetNode":{"$ref":"14"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"14"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"checkMode":1,"conditions":[{"timeout":{"_value":2.0},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},{"valueA":{"_name":"isGroundedOld","_targetVariableID":"619300a4-be8b-4ad4-ba2a-978468094ba2"},"valueB":{"_value":true},"_invert":true,"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"15"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"timeout":{"_value":1.0},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"16"},"_targetNode":{"$ref":"15"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Jump"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"16"},"_targetNode":{"$ref":"17"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"17"},"_targetNode":{"$ref":"14"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"18"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"checkAgainst":2,"checkAgainstValue":{"_name":"_wallJumpHitNormal"},"desiredValue":{"_value":1.0},"tolerance":{"_value":0.5},"considerCameraRotation":{"_value":true},"negate":{},"$type":"NodeCanvas.Tasks.Conditions.GetMovementInputDotProduct"},"_sourceNode":{"$ref":"19"},"_targetNode":{"$ref":"20"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"19"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"20"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"checkMode":1,"conditions":[{"actionName":{"_value":"Jump"},"actionPhase":{"_value":4},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},{"valueA":{"_name":"resolvedGravity","_targetVariableID":"7c9d4632-c537-44c4-ae35-d92fa64d5303"},"checkType":2,"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckFloat"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"21"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"22"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"observerLabel":{"_value":"player"},"outputHitTo":{"_name":"_hit"},"deactivateOnFinish":false,"$type":"NodeCanvas.Tasks.Conditions.CheckEnvironmentObserver"},{"valueA":{"_name":"testobject","_targetVariableID":"1ed67ab7-76d3-45fa-b36b-7e676e69dcea"},"valueB":{},"_invert":true,"_isDisabled":true,"$type":"NodeCanvas.Tasks.Conditions.CheckVariable`1[[UnityEngine.GameObject,
+ UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},{"valueA":{"_name":"testobject","_targetVariableID":"1ed67ab7-76d3-45fa-b36b-7e676e69dcea"},"valueB":{},"_invert":true,"_isDisabled":true,"$type":"NodeCanvas.Tasks.Conditions.CheckVariable`1[[Reset.Units.Player,
+ Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"23"},"_targetNode":{"$ref":"24"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"23"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"24"},"_targetNode":{"$ref":"25"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"target":{"_name":"testobject","_targetVariableID":"1ed67ab7-76d3-45fa-b36b-7e676e69dcea"},"$type":"Reset.Core.IsInteractable"},"_sourceNode":{"$ref":"25"},"_targetNode":{"$ref":"26"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"25"},"_targetNode":{"$ref":"28"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Interact"},"actionPhase":{"_value":4},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"26"},"_targetNode":{"$ref":"27"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"timeout":{"_value":5.0},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"26"},"_targetNode":{"$ref":"30"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"27"},"_targetNode":{"$ref":"28"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"28"},"_targetNode":{"$ref":"29"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"29"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"30"},"_targetNode":{"$ref":"28"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"timeout":{"_value":0.1},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"31"},"_targetNode":{"$ref":"32"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Jump"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"32"},"_targetNode":{"$ref":"33"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Sprint"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"32"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"valueA":{"_name":"isGroundedOld","_targetVariableID":"619300a4-be8b-4ad4-ba2a-978468094ba2"},"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"},"_sourceNode":{"$ref":"32"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"33"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"34"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"35"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"36"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Downed"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent"},"_sourceNode":{"$ref":"43"},"_targetNode":{"$ref":"44"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Killed"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent"},"_sourceNode":{"$ref":"43"},"_targetNode":{"$ref":"45"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"timeout":{"_value":25.0},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"44"},"_targetNode":{"$ref":"45"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Pick
+ Up Start"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent"},"_sourceNode":{"$ref":"44"},"_targetNode":{"$ref":"47"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"timeout":{"_value":4.0},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"45"},"_targetNode":{"$ref":"46"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"46"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Pick
+ Up Success"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent"},"_sourceNode":{"$ref":"47"},"_targetNode":{"$ref":"48"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Pick
+ Up Failed"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent"},"_sourceNode":{"$ref":"47"},"_targetNode":{"$ref":"44"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"48"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"method":{"_baseInfo":"Reset.Units.Player|UnitIsLocal|System.Boolean","_paramsInfo":""},"parameters":[],"checkValue":{"_type":"System.Boolean","_value":{"$content":false,"$type":"System.Boolean"}},"$type":"NodeCanvas.Tasks.Conditions.CheckFunction_Multiplatform"},"_sourceNode":{"$ref":"49"},"_targetNode":{"$ref":"50"},"$type":"NodeCanvas.StateMachines.FSMConnection"}],"canvasGroups":[],"localBlackboard":{"_variables":{"isGroundedOld":{"_propertyPath":"UnityEngine.CharacterController.isGrounded","_name":"isGroundedOld","_id":"619300a4-be8b-4ad4-ba2a-978468094ba2","_debugBoundValue":true,"$type":"NodeCanvas.Framework.Variable`1[[System.Boolean,
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},"airJumpsRemaining":{"_name":"airJumpsRemaining","_id":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d","$type":"NodeCanvas.Framework.Variable`1[[System.Int32,
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}}}}'
_objectReferences:
@@ -163,7 +188,7 @@ MonoBehaviour:
_version: 3.31
_category:
_comments:
- _translation: {x: 31, y: -116}
- _zoomFactor: 1
+ _translation: {x: -161, y: -767}
+ _zoomFactor: 0.9671354
_haltSerialization: 0
_externalSerializationFile: {fileID: 0}
diff --git a/Assets/Player/Models/MaruTestModel/MaruTestController.controller b/Assets/Player/Models/MaruTestModel/MaruTestController.controller
index a08f480..f956ca0 100644
--- a/Assets/Player/Models/MaruTestModel/MaruTestController.controller
+++ b/Assets/Player/Models/MaruTestModel/MaruTestController.controller
@@ -497,6 +497,31 @@ BlendTree:
m_UseAutomaticThresholds: 0
m_NormalizedBlendValues: 0
m_BlendType: 0
+--- !u!1101 &-1649584047298262204
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 1
+ m_ConditionEvent: PickUp
+ m_EventTreshold: 0
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: -3079066222818897921}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0.25
+ m_TransitionOffset: 0
+ m_ExitTime: 0.87603307
+ m_HasExitTime: 1
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
--- !u!1101 &-1540905845034213700
AnimatorStateTransition:
m_ObjectHideFlags: 1
@@ -641,6 +666,18 @@ AnimatorController:
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
+ - m_Name: Downed
+ m_Type: 9
+ m_DefaultFloat: 0
+ m_DefaultInt: 0
+ m_DefaultBool: 0
+ m_Controller: {fileID: 9100000}
+ - m_Name: PickUp
+ m_Type: 9
+ m_DefaultFloat: 0
+ m_DefaultInt: 0
+ m_DefaultBool: 0
+ m_Controller: {fileID: 9100000}
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
@@ -754,14 +791,14 @@ AnimatorStateMachine:
m_Position: {x: 910, y: 230, z: 0}
- serializedVersion: 1
m_State: {fileID: 6032011949097874162}
- m_Position: {x: 520, y: 570, z: 0}
+ m_Position: {x: 30, y: 250, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions:
- {fileID: 3576987541970407646}
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
- m_AnyStatePosition: {x: 230, y: 570, z: 0}
+ m_AnyStatePosition: {x: -190, y: 260, z: 0}
m_EntryPosition: {x: 10, y: 150, z: 0}
m_ExitPosition: {x: 1310, y: 280, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
@@ -825,7 +862,10 @@ AnimatorStateTransition:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
- m_Conditions: []
+ m_Conditions:
+ - m_ConditionMode: 1
+ m_ConditionEvent: Downed
+ m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 6032011949097874162}
m_Solo: 0
@@ -974,10 +1014,11 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: New State
+ m_Name: Downed
m_Speed: 1
m_CycleOffset: 0
- m_Transitions: []
+ m_Transitions:
+ - {fileID: -1649584047298262204}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
diff --git a/Assets/Player/Objects/Player.prefab b/Assets/Player/Objects/Player.prefab
index 4302c36..2c75795 100644
--- a/Assets/Player/Objects/Player.prefab
+++ b/Assets/Player/Objects/Player.prefab
@@ -175,7 +175,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.Netcode.Runtime::Unity.Netcode.NetworkObject
- GlobalObjectIdHash: 3816484910
+ GlobalObjectIdHash: 1109077195
InScenePlacedSourceGlobalObjectIdHash: 0
DeferredDespawnTick: 0
Ownership: 1
@@ -201,6 +201,76 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
ShowTopMostFoldoutHeaderGroup: 1
+ state:
+ testSTate:
+ m_InternalValue:
+ utf8LengthInBytes: 0
+ bytes:
+ offset0000:
+ byte0000: 0
+ byte0001: 0
+ byte0002: 0
+ byte0003: 0
+ byte0004: 0
+ byte0005: 0
+ byte0006: 0
+ byte0007: 0
+ byte0008: 0
+ byte0009: 0
+ byte0010: 0
+ byte0011: 0
+ byte0012: 0
+ byte0013: 0
+ byte0014: 0
+ byte0015: 0
+ offset0016:
+ byte0000: 0
+ byte0001: 0
+ byte0002: 0
+ byte0003: 0
+ byte0004: 0
+ byte0005: 0
+ byte0006: 0
+ byte0007: 0
+ byte0008: 0
+ byte0009: 0
+ byte0010: 0
+ byte0011: 0
+ byte0012: 0
+ byte0013: 0
+ byte0014: 0
+ byte0015: 0
+ offset0032:
+ byte0000: 0
+ byte0001: 0
+ byte0002: 0
+ byte0003: 0
+ byte0004: 0
+ byte0005: 0
+ byte0006: 0
+ byte0007: 0
+ byte0008: 0
+ byte0009: 0
+ byte0010: 0
+ byte0011: 0
+ byte0012: 0
+ byte0013: 0
+ byte0014: 0
+ byte0015: 0
+ byte0048: 0
+ byte0049: 0
+ byte0050: 0
+ byte0051: 0
+ byte0052: 0
+ byte0053: 0
+ byte0054: 0
+ byte0055: 0
+ byte0056: 0
+ byte0057: 0
+ byte0058: 0
+ byte0059: 0
+ byte0060: 0
+ byte0061: 0
controls: {fileID: 0}
_isDowned:
m_InternalValue: 1
@@ -794,8 +864,8 @@ MonoBehaviour:
UnityEngine.AnimationModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"Combat
Information":{"_value":{},"_name":"Combat Information","_id":"a15396c3-5ba0-4789-b5c5-39a6cfea1943","$type":"NodeCanvas.Framework.Variable`1[[NodeCanvas.Framework.VariableSeperator,
ParadoxNotion, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"inGoHard":{"_propertyPath":"PlayerMeter.inGoHard","_name":"inGoHard","_id":"dc9f60c8-856e-4970-bf11-25745eff1201","$type":"NodeCanvas.Framework.Variable`1[[System.Boolean,
- mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},"pickupTarget":{"_propertyPath":"Reset.Units.Player.pickupTarget","_name":"pickupTarget","_id":"bf809a37-76c1-4dd7-8528-cc09527cb016","$type":"NodeCanvas.Framework.Variable`1[[Reset.Units.Player,
- Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}}}'
+ mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},"testobject":{"_name":"testobject","_id":"45e90651-1912-40ef-b4fc-6c27d00d0ef0","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.GameObject,
+ UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}}}'
_objectReferences:
- {fileID: 0}
- {fileID: 8505492416078151957}
@@ -835,8 +905,8 @@ MonoBehaviour:
- _json: '{"_propertyPath":"PlayerMeter.inGoHard","_name":"inGoHard","_id":"dc9f60c8-856e-4970-bf11-25745eff1201","$type":"NodeCanvas.Framework.Variable`1[[System.Boolean,
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}'
_references: []
- - _json: '{"_propertyPath":"Reset.Units.Player.pickupTarget","_name":"pickupTarget","_id":"bf809a37-76c1-4dd7-8528-cc09527cb016","$type":"NodeCanvas.Framework.Variable`1[[Reset.Units.Player,
- Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}'
+ - _json: '{"_name":"testobject","_id":"45e90651-1912-40ef-b4fc-6c27d00d0ef0","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.GameObject,
+ UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}'
_references: []
--- !u!95 &8583102325603564116
Animator:
@@ -978,7 +1048,14 @@ MonoBehaviour:
TransitionDuration: 0.08350754
TriggerNameHash: -309998415
TransitionIndex: 0
- m_Animator: {fileID: 6535719103590072454}
+ - IsCrossFadeExit: 0
+ Layer: 0
+ OriginatingState: -660779543
+ DestinationState: -50309357
+ TransitionDuration: 0.25
+ TriggerNameHash: -743040919
+ TransitionIndex: 0
+ m_Animator: {fileID: 8505492416078151957}
--- !u!114 &2832127593411522816
MonoBehaviour:
m_ObjectHideFlags: 0
diff --git a/Assets/Scenes/CombatTest.unity b/Assets/Scenes/CombatTest.unity
index ae60967..29936e5 100644
--- a/Assets/Scenes/CombatTest.unity
+++ b/Assets/Scenes/CombatTest.unity
@@ -1826,7 +1826,8 @@ PrefabInstance:
UnityEngine.AnimationModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"Combat
Information":{"_value":{},"_name":"Combat Information","_id":"a15396c3-5ba0-4789-b5c5-39a6cfea1943","$type":"NodeCanvas.Framework.Variable`1[[NodeCanvas.Framework.VariableSeperator,
ParadoxNotion, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"inGoHard":{"_propertyPath":"PlayerMeter.inGoHard","_name":"inGoHard","_id":"dc9f60c8-856e-4970-bf11-25745eff1201","$type":"NodeCanvas.Framework.Variable`1[[System.Boolean,
- mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}}}'
+ mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},"pickupTarget":{"_propertyPath":"Reset.Units.Player.pickupTarget","_name":"pickupTarget","_id":"bf809a37-76c1-4dd7-8528-cc09527cb016","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.GameObject,
+ UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}}}'
objectReference: {fileID: 0}
- target: {fileID: 6546916578030478377, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
propertyPath: _objectReferences.Array.size
@@ -1842,10 +1843,19 @@ PrefabInstance:
value: '{"_name":"modelAnimator","_id":"64fd28ff-2ca7-4b11-89b9-2c0cf8961bf8","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.Animator,
UnityEngine.AnimationModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}'
objectReference: {fileID: 0}
+ - target: {fileID: 6546916578030478377, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
+ propertyPath: _serializedVariables.Array.data[11]._json
+ value: '{"_propertyPath":"Reset.Units.Player.pickupTarget","_name":"pickupTarget","_id":"bf809a37-76c1-4dd7-8528-cc09527cb016","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.GameObject,
+ UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}'
+ objectReference: {fileID: 0}
- target: {fileID: 6546916578030478377, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
propertyPath: _serializedVariables.Array.data[8]._references.Array.size
value: 0
objectReference: {fileID: 0}
+ - target: {fileID: 6694215117007243537, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
+ propertyPath: m_IsActive
+ value: 1
+ objectReference: {fileID: 0}
- target: {fileID: 6755910944311034920, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 25.23057
@@ -1882,6 +1892,10 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 66.36815
objectReference: {fileID: 0}
+ - target: {fileID: 7010788291086685387, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
+ propertyPath: m_IsActive
+ value: 0
+ objectReference: {fileID: 0}
- target: {fileID: 7087274578062743959, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 83.97552
@@ -2078,6 +2092,10 @@ PrefabInstance:
propertyPath: data.rotationSpeed.defaultValue
value: 10
objectReference: {fileID: 0}
+ - target: {fileID: 8191935187182503649, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
+ propertyPath: m_IsActive
+ value: 0
+ objectReference: {fileID: 0}
- target: {fileID: 8195681124149962496, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: -63.06196
@@ -2182,6 +2200,22 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: -61.47872
objectReference: {fileID: 0}
+ - target: {fileID: 8855283078872505435, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 8855283078872505435, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8855283078872505435, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8855283078872505435, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
- target: {fileID: 8921845175749348414, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 45.77425
@@ -3558,12 +3592,17 @@ PrefabInstance:
UnityEngine.AnimationModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"Combat
Information":{"_value":{},"_name":"Combat Information","_id":"a15396c3-5ba0-4789-b5c5-39a6cfea1943","$type":"NodeCanvas.Framework.Variable`1[[NodeCanvas.Framework.VariableSeperator,
ParadoxNotion, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"inGoHard":{"_propertyPath":"PlayerMeter.inGoHard","_name":"inGoHard","_id":"dc9f60c8-856e-4970-bf11-25745eff1201","$type":"NodeCanvas.Framework.Variable`1[[System.Boolean,
- mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}}}'
+ mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},"testobject":{"_name":"testobject","_id":"1ed67ab7-76d3-45fa-b36b-7e676e69dcea","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.GameObject,
+ UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}}}'
objectReference: {fileID: 0}
- target: {fileID: 6546916578030478377, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
propertyPath: _objectReferences.Array.size
value: 0
objectReference: {fileID: 0}
+ - target: {fileID: 6546916578030478377, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
+ propertyPath: _serializedVariables.Array.size
+ value: 12
+ objectReference: {fileID: 0}
- target: {fileID: 6546916578030478377, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
propertyPath: _serializedVariables.Array.data[6]._json
value: '{"_propertyPath":"UnityEngine.CharacterController.isGrounded","_name":"isGrounded","_id":"5dbc6a46-39ce-4d74-87a2-ac8211a5a77f","_debugBoundValue":true,"$type":"NodeCanvas.Framework.Variable`1[[System.Boolean,
@@ -3574,6 +3613,11 @@ PrefabInstance:
value: '{"_name":"modelAnimator","_id":"64fd28ff-2ca7-4b11-89b9-2c0cf8961bf8","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.Animator,
UnityEngine.AnimationModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}'
objectReference: {fileID: 0}
+ - target: {fileID: 6546916578030478377, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
+ propertyPath: _serializedVariables.Array.data[11]._json
+ value: '{"_name":"testobject","_id":"1ed67ab7-76d3-45fa-b36b-7e676e69dcea","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.GameObject,
+ UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}'
+ objectReference: {fileID: 0}
- target: {fileID: 6546916578030478377, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
propertyPath: _serializedVariables.Array.data[8]._references.Array.size
value: 0
@@ -5288,6 +5332,50 @@ Mesh:
- serializedVersion: 1
m_IndexStart: 0
m_IndexCount: 0
+--- !u!1 &1291419215
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1291419217}
+ - component: {fileID: 1291419216}
+ m_Layer: 0
+ m_Name: WidgetEventDispatcher
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1291419216
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1291419215}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 318dc804b7b04630a9ed534a2243e51f, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Unity.Multiplayer.Widgets.Core::Unity.Multiplayer.Widgets.WidgetEventDispatcher
+--- !u!4 &1291419217
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1291419215}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1379726749
GameObject:
m_ObjectHideFlags: 0
@@ -6368,12 +6456,17 @@ PrefabInstance:
UnityEngine.AnimationModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"Combat
Information":{"_value":{},"_name":"Combat Information","_id":"a15396c3-5ba0-4789-b5c5-39a6cfea1943","$type":"NodeCanvas.Framework.Variable`1[[NodeCanvas.Framework.VariableSeperator,
ParadoxNotion, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"inGoHard":{"_propertyPath":"PlayerMeter.inGoHard","_name":"inGoHard","_id":"dc9f60c8-856e-4970-bf11-25745eff1201","$type":"NodeCanvas.Framework.Variable`1[[System.Boolean,
- mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}}}'
+ mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},"testobject":{"_name":"testobject","_id":"de2c7183-a5c3-4036-b92c-4b952c7a7af0","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.GameObject,
+ UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}}}'
objectReference: {fileID: 0}
- target: {fileID: 6546916578030478377, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
propertyPath: _objectReferences.Array.size
value: 0
objectReference: {fileID: 0}
+ - target: {fileID: 6546916578030478377, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
+ propertyPath: _serializedVariables.Array.size
+ value: 12
+ objectReference: {fileID: 0}
- target: {fileID: 6546916578030478377, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
propertyPath: _serializedVariables.Array.data[6]._json
value: '{"_propertyPath":"UnityEngine.CharacterController.isGrounded","_name":"isGrounded","_id":"5dbc6a46-39ce-4d74-87a2-ac8211a5a77f","_debugBoundValue":true,"$type":"NodeCanvas.Framework.Variable`1[[System.Boolean,
@@ -6384,6 +6477,11 @@ PrefabInstance:
value: '{"_name":"modelAnimator","_id":"64fd28ff-2ca7-4b11-89b9-2c0cf8961bf8","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.Animator,
UnityEngine.AnimationModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}'
objectReference: {fileID: 0}
+ - target: {fileID: 6546916578030478377, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
+ propertyPath: _serializedVariables.Array.data[11]._json
+ value: '{"_name":"testobject","_id":"de2c7183-a5c3-4036-b92c-4b952c7a7af0","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.GameObject,
+ UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}'
+ objectReference: {fileID: 0}
- target: {fileID: 6546916578030478377, guid: 091cfac8be4c5a144a0b8997a9f1ff28, type: 3}
propertyPath: _serializedVariables.Array.data[8]._references.Array.size
value: 0
@@ -8530,3 +8628,4 @@ SceneRoots:
- {fileID: 1834179742}
- {fileID: 1113569334}
- {fileID: 4518178797721885223}
+ - {fileID: 1291419217}
diff --git a/Assets/Scripts/Core/Graph Tasks/SendAnimationTrigger.cs b/Assets/Scripts/Core/Graph Tasks/SendAnimationTrigger.cs
index f596be6..0da3c4f 100644
--- a/Assets/Scripts/Core/Graph Tasks/SendAnimationTrigger.cs
+++ b/Assets/Scripts/Core/Graph Tasks/SendAnimationTrigger.cs
@@ -24,7 +24,7 @@ namespace Reset.Core {
//EndAction can be called from anywhere.
protected override void OnExecute(){
try {
- agent.SetTrigger("trigger");
+ agent.SetTrigger(trigger.value);
} catch (Exception e) {
Debug.LogError($"Did not set Network Animator trigger {trigger.name} on {(agent == null ? null : agent.name)}: {e.Message}");
}
diff --git a/Assets/Scripts/Core/Graph Tasks/SendEventToUnit.cs b/Assets/Scripts/Core/Graph Tasks/SendEventToUnit.cs
index b78b770..ce5d430 100644
--- a/Assets/Scripts/Core/Graph Tasks/SendEventToUnit.cs
+++ b/Assets/Scripts/Core/Graph Tasks/SendEventToUnit.cs
@@ -27,32 +27,29 @@ namespace Reset.Units {
//This is called once each time the task is enabled.
//Call EndAction() to mark the action as finished, either in success or failure.
//EndAction can be called from anywhere.
- protected override void OnExecute() {
+ protected override void OnExecute(){
+ Unit targetUnit = target.value.GetComponent();
+
+ try {
+ if (targetUnit != null) {
+ if (target.value.GetComponent().UnitIsNetworked()) {
+ targetUnit.DoGraphEventRpc(eventToSend);
+ } else {
+ targetUnit.GetComponent().SendEvent("eventToSend");
+ }
+ }
+ } catch (Exception e) {
+ Debug.LogError($"Failed to send event {eventToSend} to {target}: {e.Message}");
+ }
+
EndAction(true);
}
//Called once per frame while the action is active.
protected override void OnUpdate(){
- try {
- if (target.value.GetComponent().UnitIsNetworked()) {
- ulong targetID = (target.value.GetComponent()).NetworkObjectId;
-
- SendEventRpc(agent.RpcTarget.Single(targetID, RpcTargetUse.Temp));
- } else {
- target.value.GetComponent().SendEvent("eventToSend");
- }
- } catch (Exception e) {
- Debug.LogError($"Failed to send event {eventToSend} to {target}: {e.Message}");
- }
}
- [Rpc(SendTo.SpecifiedInParams)]
- void SendEventRpc(RpcParams rpcParams = default){
- target.value.GetComponent().SendEvent("eventToSend");
- Debug.Log("");
- }
-
//Called when the task is disabled.
protected override void OnStop() {
diff --git a/Assets/Scripts/Core/Interfaces/IInteractable.cs b/Assets/Scripts/Core/Interfaces/IInteractable.cs
index d0e77e1..46f5c30 100644
--- a/Assets/Scripts/Core/Interfaces/IInteractable.cs
+++ b/Assets/Scripts/Core/Interfaces/IInteractable.cs
@@ -6,3 +6,4 @@ public interface IInteractable{
public void CancelInteract();
public void OnObserverDetected(EnvironmentObserver observer);
}
+
diff --git a/Assets/Scripts/Units/Player.cs b/Assets/Scripts/Units/Player.cs
index 1b61ad8..4b44c4a 100644
--- a/Assets/Scripts/Units/Player.cs
+++ b/Assets/Scripts/Units/Player.cs
@@ -1,24 +1,28 @@
-using System;
using System.Collections;
using Drawing;
-using Reset;
using Reset.Core;
-using Reset.Core.Tools;
-using Reset.Units;
-using UnityEngine;
using Sirenix.OdinInspector;
-using Sirenix.Serialization;
+using UnityEngine;
using Unity.Netcode;
namespace Reset.Units{
- public class Player : Unit, IKillable{
+ public class Player : Unit, IKillable, IInteractable{
[HideInInspector] public PlayerControls controls;
+
+ public float maxHealth{ get; set; }
+ public float currentHealth{ get; set; }
- float IKillable.maxHealth{ get; set; }
- float IKillable.currentHealth{ get; set; }
+ public NetworkVariable _isDowned;
+
+ public bool IsDowned => _isDowned.Value;
+
+ private float timeDowned;
+
+ public GameObject pickupTarget;
void Awake(){
controls = GetComponent();
+ maxHealth = 20f;
}
public void Attach(){
@@ -47,6 +51,14 @@ namespace Reset.Units{
public override void UnitUpdate(){
GetComponent().DrawHealthDebug();
+
+ if (IsDowned) {
+ timeDowned += 1f * Time.deltaTime;
+ }
+
+ if (timeDowned > 5f) {
+ Kill();
+ }
}
public void TakeDamage(DamageSource[] sources){
@@ -58,14 +70,107 @@ namespace Reset.Units{
public void TakeDamage(DamageSource source){
((IKillable)this).currentHealth -= source.damageDealt;
+ if (UnitIsNetworked()) {
+ SetNewHealthRpc(currentHealth);
+ }
+
+
+ }
+
+ // TODO: Move somewhere not stupid so there's not an identical method in Enemy.cs
+ [Rpc(SendTo.Everyone)]
+ public void SetNewHealthRpc(float health){
+ currentHealth = health;
+
+ // NOTE: only here for testing. Move out of here into some "post damage" check method
if (((IKillable)this).currentHealth <= 0) {
- Kill();
+ // if (UnitIsNetworked()) {
+ Down();
+ // } else {
+ // Kill();
+ // }
}
}
- public void Kill(){
- throw new NotImplementedException();
+ public override void SetNewPosition(Vector3 position){
+ var contr = GetComponent();
+ contr.enabled = false;
+
+ transform.position = position;
+
+ contr.enabled = true;
}
+ public void Down(){
+ Graph.SendEvent("Downed");
+ }
+
+ public void Kill(){
+ Graph.SendEvent("Killed");
+ }
+
+ public void Interact(){
+ // Check if the other player can be interacted with at all
+ if (pickupTarget&& pickupTarget.GetComponent().CanInteract()) {
+ // Tell the local player to start picking up the ally and switch states
+ Graph.SendEvent("Picking Up Ally");
+
+ // Tell the target player to start getting picked up.
+ pickupTarget.GetComponent().StartPickupRpc();
+
+ // Wait for the pickup timer to finish
+ StartCoroutine(PickupTimer());
+ }
+ }
+
+ [Rpc(SendTo.Owner)]
+ public void StartPickupRpc(){
+ // When picked up by another player, move into the pick up state
+ // TODO: Turn all these send events into a goddamn task maybe? State stuff should happen in the state machine. Concurrent stuff should happen in code
+ Graph.SendEvent("Pick Up Start");
+ }
+
+ IEnumerator PickupTimer(){
+ // Start a timer and wait for it to complete
+ float elapsed = 0f;
+
+ while (elapsed < 7f) {
+ elapsed += 1f * Time.deltaTime;
+
+
+
+ yield return null;
+ }
+
+ Graph.SendEvent("Pick Up Success");
+ }
+
+ public bool CanInteract(){
+ return IsDowned;
+ }
+
+ public void CancelInteract(){
+ Graph.SendEvent("Pick Up Failed");
+ }
+
+ public void OnObserverDetected(EnvironmentObserver observer){
+ // Try and get a Player component from the current hit object
+ // The rest of the logic will continue as expected so long as an
+ pickupTarget = observer.hit.collider.gameObject;
+ DrawInteractStatus();
+ }
+
+ void DrawInteractStatus(){
+ using (Draw.WithColor(Color.blue)) {
+ Draw.ingame.Label2D(transform.position + Vector3.up * 2.5f, "Interactable",
+ Color.orchid);
+ }
+ }
+
+ void LateUpdate(){
+ // Clear the pickupTarget every frame
+ // NOTE: Will this work online?
+ pickupTarget = null;
+ }
}
}
\ No newline at end of file
diff --git a/Assets/Scripts/Units/PlayerEnvironmentManager.cs b/Assets/Scripts/Units/PlayerEnvironmentManager.cs
index 14794bc..867ef79 100644
--- a/Assets/Scripts/Units/PlayerEnvironmentManager.cs
+++ b/Assets/Scripts/Units/PlayerEnvironmentManager.cs
@@ -157,7 +157,8 @@ public class EnvironmentObserver{
}
if (hit.transform != null) {
- if (hit.transform.GetComponent() != null) {
+ IInteractable interactable = hit.transform.GetComponent();
+ if (interactable != null && interactable.CanInteract()) {
hit.transform.GetComponent().OnObserverDetected(this);
}
return true;
diff --git a/Assets/Scripts/Units/Unit.cs b/Assets/Scripts/Units/Unit.cs
index 2d169ea..ea590af 100644
--- a/Assets/Scripts/Units/Unit.cs
+++ b/Assets/Scripts/Units/Unit.cs
@@ -2,16 +2,54 @@
using System.Collections;
using System.Threading.Tasks;
using Drawing;
+using NodeCanvas.BehaviourTrees;
+using NodeCanvas.Framework;
+using NodeCanvas.StateMachines;
using Reset;
using Reset.Units;
+using Unity.Collections;
using Unity.Netcode;
using UnityEngine;
namespace Reset.Units{
- public class Unit : NetworkBehaviour{
+ public class Unit : NetworkBehaviour, INetworkSerializeByMemcpy{
+
+ public string state;
+
+ public NetworkVariable testSTate;
+
+ private FSMOwner fsm;
+
+ private UnitMovementHandler _movement;
+ internal UnitMovementHandler Movement{
+ get{
+ if (!_movement) {
+ _movement = GetComponent();
+ }
+
+ return _movement;
+ }
+ }
+
+ private GraphOwner _graph;
+ internal GraphOwner Graph{
+ get{
+ if (!_graph) {
+ _graph = GetComponent();
+ }
+
+ return _graph;
+ }
+ }
+
+ private void Awake(){
+ fsm = GetComponent();
+ }
+
public virtual void Start(){
UnitStart();
}
+
public virtual void UnitStart(){ }
@@ -36,10 +74,17 @@ namespace Reset.Units{
UnitUpdate();
}
+
+ public virtual void SetNewPosition(Vector3 position){ }
public virtual void UnitUpdate(){ }
void UpdateGizmos(){
+ DrawOnlineStatusGizmo();
+ DrawStateGizmo();
+ }
+
+ private void DrawOnlineStatusGizmo(){
string onlineStatus = "Not Online";
Color onlineColor = Color.gray;
@@ -55,10 +100,44 @@ namespace Reset.Units{
Draw.ingame.Label2D(transform.position + Vector3.up * 2.5f, onlineStatus, onlineColor);
}
+
+ private void DrawStateGizmo(){
+ if (fsm && UnitIsLocal()) {
+ testSTate.Value = fsm.currentRootStateName;
+ // if (UnitIsNetworked()) {
+ // // state = fsm.currentRootStateName;
+ // SendStateInformationRpc(fsm.currentRootStateName);
+ // } else {
+ // state = fsm.currentRootStateName;
+ // }
+ } else {
+ fsm = GetComponent();
+ }
+
+ // state = state.ToString().ToUpper();
+
+ try {
+ Draw.ingame.Label2D(transform.position + Vector3.up * 2.7f, testSTate.Value.ToString(), Color.red);
+ } catch (Exception e) {
+ Debug.LogError(e.Message);
+ }
+ }
+
+ [Rpc(SendTo.Everyone)]
+ public void SendStateInformationRpc(string newState){
+ Debug.Log($"newstate! {newState}");
+ state = newState;
+ }
+
[Rpc(SendTo.Owner)]
public void TakeOwnershipRpc(ulong clientID){
GetComponent().ChangeOwnership(clientID);
}
+
+ [Rpc(SendTo.Owner)]
+ public void DoGraphEventRpc(string eventToSend){
+ Debug.Log(eventToSend);
+ GetComponent().SendEvent(eventToSend); }
}
}
\ No newline at end of file