48 lines
1.3 KiB
GDScript
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")
|
|
|