extends CharacterBody2D const SPEED = 380.0 const GRAVITY_MULT = 0.8 const JUMP_VELOCITY = -410.0 var fall_timer = 0.0 var teleport_cooldown = 0 var jumps = 0 var death_threshold = 1000 func _ready() -> void: pass func refresh_jump(new_jumps): if jumps: jumps = new_jumps else: jumps = 1 teleport_cooldown = 0 func on_teleport(): refresh_jump(1) teleport_cooldown = 1 $Camera2D.position_smoothing_enabled = true func _process(delta: float) -> void: if Input.is_action_just_pressed("jump"): if is_on_floor(): velocity.y = JUMP_VELOCITY elif !is_on_floor() and jumps >= 1: jumps -= 1 velocity.y = JUMP_VELOCITY if Input.is_action_pressed("jump") and is_on_wall_only(): print("WALL HANGING") #velocity.y = 0 #velocity.x = 0 var direction = Input.get_axis("move_left","move_right") if direction < 0: $Sprite2D.flip_h = true elif direction > 0: $Sprite2D.flip_h = false if direction: velocity.x = direction * SPEED else: velocity.x = move_toward(velocity.x, 0, SPEED) print("PLAYER X POSITION: " + str(position.y)) if position.y >= death_threshold: print("SLASH KILL") get_tree().reload_current_scene() fall_timer += 1*delta if is_on_floor(): fall_timer = 0 refresh_jump(1) #%Player2D.get_node("Camera2D").position_smoothing_speed = %Player2D.CAMERA_SMOOTHING_SPEED if is_on_wall(): refresh_jump(1) #%Player2D.get_node("Camera2D").position_smoothing_speed = %Player2D.CAMERA_SMOOTHING_SPEED if is_on_ceiling(): refresh_jump(1) if fall_timer > 3: pass #get_tree().reload_current_scene() func _physics_process(delta: float) -> void: if not is_on_floor(): velocity += (get_gravity() * GRAVITY_MULT) * delta move_and_slide()