they talk to each other now
This commit is contained in:
@@ -9,6 +9,7 @@ var last_enemy : bool = false
|
||||
@export var start_health = 3
|
||||
@export var max_ammo = 10
|
||||
@export var loot_amount = 2
|
||||
@export var join_ally_max_distance = 10
|
||||
@export var nav_agent : NavigationAgent3D
|
||||
@export var hit_targets : Array[Area3D]
|
||||
@export var visibility_areas : Array[Area3D]
|
||||
@@ -78,10 +79,11 @@ var ammo
|
||||
|
||||
var line_of_sight_target
|
||||
var player_last_seen
|
||||
var point_of_interest
|
||||
var points_of_interest = []
|
||||
|
||||
func _ready():
|
||||
SignalBus.suspicious_sound.connect(add_point_of_interest)
|
||||
SignalBus.engaging_target.connect(investigate_nearby_combat)
|
||||
health = start_health
|
||||
ammo = max_ammo
|
||||
player = level_control.player
|
||||
@@ -151,12 +153,29 @@ func cache_player_pos():
|
||||
player_last_seen = line_of_sight_ray.get_collision_point()
|
||||
|
||||
func add_point_of_interest(point,loudness,max_distance):
|
||||
var distance_to_point = global_position.distance_to(point)
|
||||
if distance_to_point <= max_distance:
|
||||
var perceived_loudness = 1/distance_to_point * loudness
|
||||
var add_point = {"point" : point, "loudness" : perceived_loudness}
|
||||
point_of_interest = add_point
|
||||
|
||||
var current_state_name = state_machine.current_state.name.to_lower()
|
||||
if current_state_name == "idle" or current_state_name == "search":
|
||||
var distance_to_point = global_position.distance_to(point)
|
||||
if distance_to_point <= max_distance:
|
||||
var perceived_loudness = 1/distance_to_point * loudness
|
||||
var add_point = {"point" : point, "loudness" : perceived_loudness}
|
||||
points_of_interest.append(add_point)
|
||||
|
||||
if current_state_name == "idle":
|
||||
change_state_to("search")
|
||||
|
||||
if current_state_name == "search":
|
||||
pass
|
||||
#get new waypoint
|
||||
#state_machine.current_state.investigate_points_of_interest()
|
||||
|
||||
func investigate_nearby_combat(ally,target):
|
||||
if ally != self:
|
||||
var distance_to_ally = global_position.distance_to(ally.global_position)
|
||||
if distance_to_ally < join_ally_max_distance:
|
||||
player_last_seen = target
|
||||
if state_machine.current_state.name.to_lower() == "idle":
|
||||
change_state_to("search")
|
||||
|
||||
func save():
|
||||
var save_dict = {
|
||||
|
||||
Reference in New Issue
Block a user