extends NPC var wetWustardItem func _ready(): dialogueResource = load("res://NPCs/Beach/Whale/Whale.dialogue") wetWustardItem = preload("res://Items/Foods/Condiments/Wustard.gd").new() wetWustardItem.set_modification(Item.modifications.Wet) MessageManager.messageSent.connect(message_spoken) func message_spoken(message:String): message = message.to_lower().strip_edges() if message.contains("i got the stuff") or message.contains("i've got the stuff") or message.contains("i have got the stuff") or message.contains("i have the stuff"): if distance_check(): if wet_wustard_count() == 0: MessageManager.addMessage("You do not", self, "Herbert", Color.YELLOW) elif wet_wustard_count() < 5: MessageManager.addMessage("Not enough", self, "Herbert", Color.YELLOW) else: MessageManager.addMessage("I'll be taking that >:)", self, "Herbert", Color.YELLOW) take_wet_wustard() give_silica_gel() func give_silica_gel(): var silicaGelPacketItem = preload("res://Items/Artificial/Products/SilicaGelPacket.gd").new() InventoryManager.add_item_to_inventory(silicaGelPacketItem) MessageManager.item_popup(silicaGelPacketItem.duplicate()) func distance_check(): var maxTradeDistance = 600 var distance = global_position.distance_to(GameVariables.player.global_position) if distance < maxTradeDistance: return true else: return false func wet_wustard_count(): var amountHad = InventoryManager.get_item_count(wetWustardItem) return amountHad func wet_wustard_check(): if InventoryManager.check_if_in_inventory(wetWustardItem): return true else: return false func take_wet_wustard(): var wetWustardCount = wet_wustard_count() InventoryManager.remove_item_from_inventory(wetWustardItem, wetWustardCount) LevelManager.get_skill("appreciating").experience_event("Herbert", "gave wustard to", 140) if wetWustardCount >= 50: AchievementManager.complete_achievement("Wustard Whale") func give_knowledge(): LevelManager.add_XP("swimming", 187)