extends NPC var animDelayTimer = 0 var rng = RandomNumberGenerator.new() var juiceLakeDrinkingCutscene = preload("res://Cutscenes/DrinkingJuiceLake/JuiceLakeCutscene.tscn") var strawItemClass = preload("res://Items/Dishes/Straw.gd") var strawItem var yelledPhrases = ["Adventurer :)", "Come here :)", "Get over here :)"] var yelledPhrasesIndex = 0 var yellDelay = 0.1 func _ready(): dialogueResource = load("res://NPCs/WitchCow/WitchCow.dialogue") $Sprite.play("Idle") strawItem = strawItemClass.new() func straw_check(): return InventoryManager.check_if_in_inventory(strawItem, 1, "keyItems") func drink_lake(): GameVariables.player.global_position = Vector2(1400, -500) GameVariables.player.movementTarget = GameVariables.player.global_position var aroPigeon = get_parent().get_node("Pigeons").get_node("AroPigeon") aroPigeon.position.x = 1300 aroPigeon.position.y = -300 var cutscene = juiceLakeDrinkingCutscene.instantiate() add_child(cutscene) func _process(delta): if animDelayTimer > 0: animDelayTimer -= delta else: choose_new_anim() if DialogueBoxManager.currentSpeaker != self: yellDelay -= delta if yellDelay < 0: yellDelay = 2 if SaveManager.get_save_value("juiceLakeRefilled", false) and !SaveManager.get_save_value("refillQuestComplete", false): MessageManager.addMessage(yelledPhrases[yelledPhrasesIndex], self, "Witch Cow", Color.YELLOW, true, true, 2.5, -10) yelledPhrasesIndex += 1 if yelledPhrasesIndex >= yelledPhrases.size(): yelledPhrasesIndex = 0 func choose_new_anim(): var result if $Sprite.animation != "Idle": result = rng.randi_range(1, 100) else: result = rng.randi_range(1, 70) if result <= 40: shine() elif result <= 70: bubble() else: idle() func idle(): animDelayTimer = rng.randf_range(2, 6) $Sprite.play("Idle") func bubble(): animDelayTimer = 4 $Sprite.play("Bubble") func shine(): animDelayTimer = 1.4 $Sprite.play("Shine")