diff --git a/player/player.gd b/player/player.gd index 9d621d9..4a356a3 100644 --- a/player/player.gd +++ b/player/player.gd @@ -19,7 +19,8 @@ var gravity = 100; # Movement var facing = -1; var hspeed = 150; -var jump_strength = 1200; +var ground_jump_strength = 1400; +var air_jump_strength = 1100; var air_jumps_max = 1; var air_jumps_current = 1; @@ -154,7 +155,10 @@ func manage_velocity(delta: float) -> void: dropped = true self.position += earth_aligner.global_from_local(Vector2(0,12)) if(not dropped): - local_velocity.y = -jump_strength + if is_on_floor(): + local_velocity.y = -ground_jump_strength + else: + local_velocity.y = -air_jump_strength if(local_velocity.y > max_fall_speed): local_velocity.y = max_fall_speed diff --git a/player/sword.gd b/player/sword.gd index cb277c5..f633398 100644 --- a/player/sword.gd +++ b/player/sword.gd @@ -27,6 +27,8 @@ func swing(dir_str) -> void: anim_sprite.visible = true await get_tree().physics_frame await get_tree().physics_frame + if dir_str == "up": + apply_swing_knockback = false slash_timer = slash_duration func _process(delta: float) -> void: @@ -37,7 +39,7 @@ func _process(delta: float) -> void: for area in get_overlapping_areas(): var hurt_dir = -get_parent().earth_aligner.global_from_local(Vector2(-facing, 0)).rotated(facing*rotation) if area.hurt(damage, hurt_dir, dmg_id) and apply_swing_knockback: - get_parent().reset_to_velocity = Vector2(swing_knockback * facing, 0) + get_parent().reset_to_velocity += Vector2(swing_knockback * facing, 0) apply_swing_knockback = false else: apply_swing_knockback = true