YoshiEgg.gd 1.0 KB

123456789101112131415161718192021222324252627282930
  1. extends CharacterBody2D
  2. var gave_points := false
  3. func _ready() -> void:
  4. AudioManager.play_sfx("item_appear", global_position)
  5. velocity.y = -150
  6. $Egg.play(["Green", "Yellow", "Red", "Blue"][Global.level_num - 1])
  7. $Yoshi.play(["Green", "Yellow", "Red", "Blue"][Global.level_num - 1])
  8. await get_tree().create_timer(1.5, false).timeout
  9. ChallengeModeHandler.set_value(ChallengeModeHandler.CoinValues.YOSHI_EGG, true)
  10. func _physics_process(delta: float) -> void:
  11. velocity.y += (Global.entity_gravity / delta) * delta
  12. velocity.y = clamp(velocity.y, -INF, Global.entity_max_fall_speed)
  13. move_and_slide()
  14. func show_smoke() -> void:
  15. gave_points = true
  16. var smoke = preload("res://Scenes/Prefabs/Particles/SmokeParticle.tscn").instantiate()
  17. smoke.scale = Vector2(2, 2)
  18. smoke.global_position =global_position
  19. add_sibling(smoke)
  20. $ScoreNoteSpawner.spawn_note(5000)
  21. queue_free()
  22. func _exit_tree() -> void:
  23. if gave_points == false:
  24. ChallengeModeHandler.set_value(ChallengeModeHandler.CoinValues.YOSHI_EGG, true)
  25. Global.score += 5000