extends Node2D onready var PheromoneMap := .get_parent().get_parent().get_node("Pheromones") onready var intenfityBar = .get_node("HSplitContainer/intensity") onready var close2homeBar = .get_node("HSplitContainer/close2home") var created = 0 var lifetime = 10 var intensity = 1.0 var decay = 0.8 var closeToHome = 0 var type = "search" var dir := Vector2() var tilePos := Vector2() # meta creator var _timer func _ready(): created = OS.get_unix_time() position = PheromoneMap.map_to_world(tilePos) get_node("dir").add_point(Vector2()) get_node("dir").add_point(dir*10) _timer = Timer.new() add_child(_timer) if .get_meta("type") == "food": lifetime = 60 decay = 0.99 _timer.connect("timeout", self, "_on_Timer_timeout") _timer.set_wait_time(1.0) _timer.set_one_shot(false) # Make sure it loops _timer.start() func _on_Timer_timeout(): intensity = intensity * decay # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): intenfityBar.value=intensity * 100 if intensity <= 0.1: .get_parent().removePheromone(self) queue_free() close2homeBar.value = closeToHome*100