class_name NPCCharacter extends CharacterBody2D func _physics_process(delta: float) -> void: handle_movement(delta) move_and_slide() handle_collisions() func handle_movement(_delta)->void: # Add the gravity. if not is_on_floor(): velocity += get_gravity() * _delta func knockBack(direction, duration:float=0.2): velocity = direction await get_tree().create_timer(duration).timeout velocity = Vector2.ZERO func handle_collisions()->void: for i in get_slide_collision_count(): var collision = get_slide_collision(i) var collider = collision.get_collider() # Check the collider's group or type if collider is Player: print("NPC hit by player")