extends NPC var timeUntilNextJuiceDrink = 0 var rng = RandomNumberGenerator.new() var sugarItem = preload("res://Items/Foods/Snack/Sugar.gd") var sugaringMenu func _ready(): characterName = "Yuri" pronouns = "she/her" dialogueResource = preload("res://NPCs/DefaultDialogue.dialogue") set_next_juice_drink_time() sugaringMenu = preload("res://UI/Sugaring/SugaringMenu.tscn").instantiate() add_child(sugaringMenu) sugaringMenu.hide() func _process(delta): if $Sprite.animation != "DrinkingJuice": timeUntilNextJuiceDrink -= delta if timeUntilNextJuiceDrink <= 0: drink_juice() func sugar_check(): if InventoryManager.check_if_in_inventory(sugarItem.new()): return true else: return false func open_sugaring_menu(): sugaringMenu.popup_centered() sugaringMenu.opened() func take_sugar(): InventoryManager.spend_item(sugarItem.new()) func complete_quest(): QuestManager.complete_quest("Sugar for Yuri") func set_next_juice_drink_time(): timeUntilNextJuiceDrink = rng.randf_range(4, 9) func get_dialogue(): return load("res://NPCs/JuiceMoose/JuiceMoose.dialogue") func drink_juice(): $JuiceSprite.visible = true $JuiceSprite.frame = 0 $JuiceSprite.play("default") $Sprite.play("DrinkingJuice") func juice_drank(): $JuiceSprite.visible = false $Sprite.play("default") set_next_juice_drink_time() func _on_juice_sprite_animation_finished(): juice_drank()