57 lines
1.9 KiB
GDScript
57 lines
1.9 KiB
GDScript
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)
|