+ Player_Base: Platform has wall to right
----+ Keyboard: → is down
----+ Player_Base: [X] Platform is on floor
-----> Player_Base: Set Platform max fall speed to 0
-----> Player_Base: Set Sliding to True
-----> Player_Base: Set animation frame to 1
----+ Keyboard: On → released
-----> Player_Base: Set Platform max fall speed to 1000
-----> Player_Base: Set Sliding to False
-----> Player_Base: Set animation frame to 0
+ Player_Base: Platform has wall to left
----+ Keyboard: ← is down
----+ Player_Base: [X] Platform is on floor
-----> Player_Base: Set Platform max fall speed to 0
-----> Player_Base: Set Sliding to True
-----> Player_Base: Set animation frame to 1
----+ Keyboard: On ← released
-----> Player_Base: Set Platform max fall speed to 1000
-----> Player_Base: Set Sliding to False
-----> Player_Base: Set animation frame to 0
+ Player_Base: [X] Platform has wall to right
+ Player_Base: [X] Platform has wall to left
-> Player_Base: Set Platform max fall speed to 1000
-> Player_Base: Set Sliding to False
-> Player_Base: Set animation frame to 0
+ Keyboard: On ↑ pressed
+ Player_Base: Is Sliding
-> Player_Base: Set Platform vector Y to -Self.Platform.JumpStrength × 1.25
-> Player_Base: Set Bounce to True
----+ Player_Base: Direction = "Right"
-----> Player_Base: Set Sliding to False
-----> Player_Base: Set Platform vector X to -Self.Platform.MaxSpeed × 5
----+ Player_Base: Direction = "Left"
-----> Player_Base: Set Sliding to False
-----> Player_Base: Set Platform vector X to Self.Platform.MaxSpeed × 5