Files
gamedev-the-steward/simulation/SimVillage.gd
T

38 lines
668 B
GDScript

class_name SimVillage
extends RefCounted
var food := 20.0
var wood := 10.0
var safety := 50.0
var knowledge := 0.0
func apply_npc_task(npc: SimNPC) -> void:
match npc.current_task:
"gather_food":
food += 2.0
"gather_wood":
wood += 2.0
"patrol":
safety += 1.0
"study":
knowledge += 1.0
"eat":
food -= 1.0
"rest":
pass
"wander":
safety -= 0.2
food = max(food, 0.0)
wood = max(wood, 0.0)
safety = clamp(safety, 0.0, 100.0)
knowledge = max(knowledge, 0.0)
func get_summary() -> String:
return "Village | food: %s | wood: %s | safety: %s | knowledge: %s" % [
round(food),
round(wood),
round(safety),
round(knowledge)
]