DryBones.gd 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. extends Enemy
  2. const MOVE_SPEED := 32
  3. var can_move := true
  4. const DRY_BONES_DESTRUCTION_PARTICLES = preload("uid://bhs5ly6bbaahk")
  5. func _physics_process(_delta: float) -> void:
  6. $Sprite.scale.x = direction
  7. func stomped_on(player: Player) -> void:
  8. player.enemy_bounce_off(false)
  9. $Sprite.play("Crumble")
  10. AudioManager.play_sfx("dry_bones_crumble", global_position)
  11. $BasicEnemyMovement.can_move = false
  12. set_collision_layer_value(5, false)
  13. set_collision_mask_value(5, false)
  14. set_collision_mask_value(6, false)
  15. $Hitbox/Shape.set_deferred("disabled", true)
  16. await get_tree().create_timer(3, false).timeout
  17. $ShakeAnimation.play("Shake")
  18. await get_tree().create_timer(1, false).timeout
  19. $Sprite.play("GetUp")
  20. $ShakeAnimation.play("RESET")
  21. await $Sprite.animation_finished
  22. $BasicEnemyMovement.can_move = true
  23. $Hitbox/Shape.set_deferred("disabled", false)
  24. set_collision_layer_value(5, true)
  25. set_collision_mask_value(5, true)
  26. set_collision_mask_value(6, true)
  27. $Sprite.play("Walk")
  28. func summon_particle() -> void:
  29. var particle = DRY_BONES_DESTRUCTION_PARTICLES.instantiate()
  30. particle.global_position = global_position + Vector2(0, -10)
  31. add_sibling(particle)
  32. AudioManager.play_sfx("dry_bones_crumble", global_position)