SlimeoosOdyssey/godot/Villager.gd

27 lines
491 B
GDScript

extends SharedSlime
class_name Villager
var color_changes = true
func get_color_idx() -> int:
return $slime.color_idx
func get_color():
return $slime.get_color()
func _on_area_3d_body_entered(body):
if "color_changes" not in body:
return
var other = body.get_color_idx()
var mine = get_color_idx()
if other == mine:
return
var delta = abs(other - mine)
if delta % 2 == 0:
if mine < other:
$slime.change_color(other)
elif mine > other:
$slime.change_color(other)