diff --git a/lib/classes/movement_state_receiver.gd b/lib/classes/movement_state_receiver.gd index 2426fd2..3ac9adc 100644 --- a/lib/classes/movement_state_receiver.gd +++ b/lib/classes/movement_state_receiver.gd @@ -31,9 +31,7 @@ var acceleration = Vector2(0,0) var physics_delta:float var process_delta:float - -#Can't use floats here, switched to constants. -#enum directions {UP = -1, DOWN = 1, LEFT, RIGHT} +var modifier: StateModifierAnimatedActor #Removing Probably not used #var attack_function: FuncRef @@ -44,12 +42,17 @@ const LEFT = -1.0 const RIGHT = 1.0 func _ready(): + ## FuncRef to request state machine change state request_state_change = funcref(get_node(callable_state_machine), 'change_to_known_state') + ## Connect signal to get alerted of state change get_node(callable_state_machine).connect("state_changed", self,"_on_state_change") + ## A reference to the current state machine state current_state = get_node(callable_state_machine).current_state - + ## A reference to the state machine merged modifiers + modifier = get_node(callable_state_machine).merged_animation_state_modifiers + ############ -# These get called by the parent +## These get called by the parent ############ func process_physics(delta): physics_delta = delta @@ -79,7 +82,9 @@ func process_input(event: InputEvent): ############ -# A Series of helper functions +############ +## A Series of helper functions +############ func go_up(): desired_movement_vector.y = UP func go_down(): @@ -114,6 +119,7 @@ func wants_roll() -> bool: func wants_climb() -> bool: return false +############ func get_climb_shape_location() -> Vector2: return Vector2(-1,-1) @@ -192,8 +198,7 @@ func move_actor_as_desired( x_move_direction_override: float = 0): # if sign(move_direction) == 0: # move_direction = sign(mod_props.move_speed) * -1 # #print("doing this? ") - - + # Determine the maximum move speed var MAX_SPEED :float = 0 @@ -222,7 +227,7 @@ func move_actor_as_desired( x_move_direction_override: float = 0): # Perhaps it would be better to trigger this on a difference in modifier but they usually go together. if abs(acceleration.x) != abs(_move_modifier_move_acceleration + _move_acceleration): if move_direction: - print("Acceleration changed.", abs(acceleration.x), "-", (_move_modifier_move_acceleration + _move_acceleration)) + #print("Acceleration changed.", abs(acceleration.x), "-", (_move_modifier_move_acceleration + _move_acceleration)) acceleration.x = _move_modifier_move_acceleration + _move_acceleration # If we're no longer tryingg to move int the direction of our movement and momentum. @@ -260,7 +265,7 @@ func move_actor_as_desired( x_move_direction_override: float = 0): momentum.x = 0 elif sign(_move_speed_modifier) == +1: # increased speed modifier ##TODO: in most cases this should only be applied once. need to find a way to warn against this. - momentum.x = abs(current_state.move_speed_modifier) + momentum.x = abs(_move_speed_modifier) print("momentum applied!") # Reverse the accelerations if we carry over momentum but the modifier no longer applies. @@ -273,6 +278,7 @@ func move_actor_as_desired( x_move_direction_override: float = 0): # We're going to adjust our move speed only to the modifier momentum.x += acceleration.x * delta + ##TODO: Apparently I disabled jerk some time ago for some reason. current_state.jerk += _jerk_factor * delta diff --git a/src/actors/players/playerE/PlayerE-AnimatedSprite_StateReceiver.gd b/src/actors/players/playerE/PlayerE-AnimatedSprite_StateReceiver.gd index 509ce12..8d3129f 100644 --- a/src/actors/players/playerE/PlayerE-AnimatedSprite_StateReceiver.gd +++ b/src/actors/players/playerE/PlayerE-AnimatedSprite_StateReceiver.gd @@ -51,8 +51,7 @@ func _ready(): # animation = 'idle-attack-sword' func _on_state_change_fall(): - change_animation() - frame = 2 + change_animation(2) stop() func _on_state_exited_attack_sword(): diff --git a/src/actors/players/playerE/states/roll.tres b/src/actors/players/playerE/states/roll.tres index 439cc15..2b1bdcf 100644 --- a/src/actors/players/playerE/states/roll.tres +++ b/src/actors/players/playerE/states/roll.tres @@ -9,9 +9,9 @@ script = ExtResource( 1 ) debug_state = false timeout_seconds = 0.0 name = "roll" -horizontal_speed = 60.0 -horizontal_acceleration = 0.0 -horizontal_speed_offset = 0.0 -horizontal_speed_offset_acceleration = 0.0 +horizontal_speed = 10.0 +horizontal_acceleration = 1.36422e-12 +horizontal_speed_offset = 150.0 +horizontal_speed_offset_acceleration = -150.0 jerk_factor = 0.0 animation_sequence = [ "roll" ]