ld38-blacksheep/game.gd

52 lines
1.5 KiB
GDScript

extends Node2D
# Signals
signal player_action(action)
# Consts
const TIME_LIMIT = 60.0
const TimeLeftTooltipFormat = "Shearing in %fm%ds"
# Member variables
#var screen_size
var time_to_shearing = TIME_LIMIT # Time left in seconds
var suspicion = 0
var max_suspicion = 100
var highest_suspicion = 0
var suspicion_loss = 1 # per second
func _ready():
get_node("TimeLeftBar").set_max(TIME_LIMIT)
get_node("TimeLeftBar").set_value(TIME_LIMIT)
get_node("SuspicionBar").set_max(max_suspicion)
get_node("SuspicionBar").set_value(suspicion)
get_node("ToolBar/RamButton").connect("pressed", self, "_on_ram_pressed")
set_process(true)
func _process(delta):
time_to_shearing -= delta
var time_left = get_node("TimeLeftBar")
time_left.set_value(time_to_shearing)
var time_left_minute = floor(time_to_shearing / 60)
var time_left_second = time_to_shearing - (time_left_minute * 60)
var tooltip = TimeLeftTooltipFormat % [time_left_minute, time_left_second]
time_left.set_tooltip(tooltip)
update_suspicion(-delta * suspicion_loss)
var suspicion_bar = get_node('SuspicionBar')
suspicion_bar.set_value(suspicion)
func _on_ram_pressed():
emit_signal("player_action", "ram")
func update_suspicion(amount):
suspicion += amount
if (suspicion > highest_suspicion):
highest_suspicion = suspicion
if suspicion < 0:
suspicion = 0
if (suspicion > max_suspicion):
print("argh")
get_node("PostGameMessage/Label").set_text("Oh no!\n You were too suspicious and the farmer came for you :o")
get_node("PostGameMessage").show()
set_process(false)