Cow_Life_Sim_RPG/Objects/Faire/Funnel/FunnelEntrance.gd

48 lines
1.3 KiB
GDScript

extends Node2D
@export var exitPos:Vector2
var riding = false
var waitTime = 4
var waitTimer = 4
var rideDelay = 0.5
var ticketItem = load("res://Items/Paper/FaireTicket.gd")
func _process(delta):
if riding:
waitTimer -= delta
if waitTimer <= 0:
leave()
if rideDelay >= 0:
rideDelay -= delta
func ride():
if riding or rideDelay > 0:
GameVariables.player.change_state("Idle")
return
if InventoryManager.spend_item(ticketItem.new()):
riding = true
GameVariables.player.visible = false
waitTimer = waitTime
else:
MessageManager.addMessage("YOU REQUIRE ONE (1) FAIRE TICKET TO ENJOY THE FUNNEL (FUN TUNNEL).", null, "System", Color.MIDNIGHT_BLUE,
true, false)
GameVariables.player.change_state("Idle")
func leave():
GameVariables.player.change_state("Idle")
GameVariables.player.visible = true
GameVariables.player.global_position = exitPos + get_parent().global_position
GameVariables.player.set_target_position(GameVariables.player.global_position)
LevelManager.get_skill("appreciating").experience_event("The Funnel", "rode", 300)
rideDelay = 0.5
riding = false
var timesRidden = SaveManager.get_value_from_section("rode", "The Funnel", 0)
if timesRidden >= 100:
AchievementManager.complete_achievement("Never Gets Old")