feat: score resource discovery by comfort and safety
This commit is contained in:
@@ -225,11 +225,17 @@ scale = Vector3(1.25, 1.25, 1.25)
|
||||
[node name="BerryBush_01" parent="WorldObjects/ResourceNodes" instance=ExtResource("2_resource")]
|
||||
position = Vector3(-6, 0, -8)
|
||||
node_id = &"berry_bush_01"
|
||||
safety_risk = 0.05
|
||||
comfort_distance = 18.0
|
||||
discovery_priority = 1.0
|
||||
|
||||
[node name="BerryBush_02" parent="WorldObjects/ResourceNodes" instance=ExtResource("2_resource")]
|
||||
position = Vector3(-10, 0, -4)
|
||||
node_id = &"berry_bush_02"
|
||||
initial_amount = 8.0
|
||||
safety_risk = 0.08
|
||||
comfort_distance = 20.0
|
||||
discovery_priority = 0.5
|
||||
|
||||
[node name="Tree_01" parent="WorldObjects/ResourceNodes" instance=ExtResource("2_resource")]
|
||||
position = Vector3(6, 0, -8)
|
||||
@@ -238,6 +244,8 @@ action_id = &"gather_wood"
|
||||
resource_id = &"wood"
|
||||
initial_amount = 15.0
|
||||
yield_per_action = 3.0
|
||||
safety_risk = 0.12
|
||||
comfort_distance = 24.0
|
||||
|
||||
[node name="Tree_02" parent="WorldObjects/ResourceNodes" instance=ExtResource("2_resource")]
|
||||
position = Vector3(10, 0, -4)
|
||||
@@ -246,6 +254,8 @@ action_id = &"gather_wood"
|
||||
resource_id = &"wood"
|
||||
initial_amount = 12.0
|
||||
yield_per_action = 3.0
|
||||
safety_risk = 0.16
|
||||
comfort_distance = 26.0
|
||||
|
||||
[node name="StorageSites" type="Node3D" parent="WorldObjects"]
|
||||
|
||||
|
||||
@@ -15,6 +15,9 @@ static var _all: Array[ResourceNode] = []
|
||||
@export var initial_enabled: bool = true
|
||||
@export var can_npcs_use: bool = true
|
||||
@export var can_player_use: bool = true
|
||||
@export_range(0.0, 1.0, 0.05) var safety_risk := 0.0
|
||||
@export var comfort_distance := 18.0
|
||||
@export var discovery_priority := 0.0
|
||||
@export var hide_visual_when_depleted: bool = false
|
||||
|
||||
@onready var interaction_point: Marker3D = $InteractionPoint
|
||||
@@ -119,6 +122,8 @@ func _update_presentation() -> void:
|
||||
return
|
||||
var label := $DebugLabel as Label3D
|
||||
var text := "%s\n%s %.1f" % [node_id, resource_id, get_amount_remaining()]
|
||||
if state != null:
|
||||
text += "\nrisk:%.2f comfort:%.0f" % [state.get_safety_risk(), state.get_comfort_distance()]
|
||||
if get_reserved_by() >= 0:
|
||||
text += "\nheld:%d" % get_reserved_by()
|
||||
if is_depleted():
|
||||
|
||||
Reference in New Issue
Block a user