Working on enemy hivemind, it's doing *something* now

This commit is contained in:
Derek
2024-08-04 18:33:55 -05:00
parent 2296eb8605
commit 15e61b0f43
11 changed files with 167 additions and 26 deletions

View File

@@ -25,7 +25,7 @@ const MAX_AV = 10
@onready var casing_ejector = $TurretLook/Turret/CasingEjector
@onready var prefire_timer = $Timers/prefire_timer
@onready var postfire_timer = $Timers/postfire_timer
@onready var retarget_timer = $Timers/retarget_timer
@onready var knocked_timer = $Timers/knocked_timer
@onready var turret_look_next = $TurretLookNext
@onready var spider_look_next = $SpiderLookNext
@onready var body = $body
@@ -41,6 +41,7 @@ const MAX_AV = 10
@export var die_particles : Resource
@onready var turret_look = $TurretLook
var gravity = 9.8
var particlespawn
var rng = RandomNumberGenerator.new()
var rand_select
@@ -49,6 +50,7 @@ var body_look_to
var distance_to_player
var hive_velocity
var hive_nav_point
var knocked
func _ready():
player = get_node(player_path)
@@ -60,12 +62,10 @@ func _ready():
postfire_timer.start()
func _process(delta):
velocity = Vector3.ZERO
# Navigation
#nav_agent.set_target_position(player.global_transform.origin)
#var next_nav_point = nav_agent.get_next_path_position()
velocity = hive_velocity
if !knocked:
velocity = hive_velocity
#FIX BODY ROTATION
spider_look_next.look_at(Vector3(player.global_position.x, 0, player.global_position.z), Vector3.UP)
@@ -76,9 +76,12 @@ func _process(delta):
distance_to_player = abs(self.global_position - player.global_position)
#apply gravity
if !is_on_floor():
velocity.y -= gravity * delta
if distance_to_player.x > 4 or distance_to_player.z > 4:
move_and_slide()
#if distance_to_player.x > 4 or distance_to_player.z > 4:
move_and_slide()
func _on_area_3d_body_part_hit(dam,bullet_damage):
@@ -160,5 +163,14 @@ func _on_prefire_timer_timeout():
func _on_postfire_timer_timeout():
prefire_timer.start()
if turret_look_next.is_colliding() and turret_look_next.get_collider().is_in_group("player"):
prefire_timer.start()
else:
postfire_timer.start()
turret_material.emission_enabled = true
func _on_knocked_timer_timeout():
print("KNOCK TIMEOUT")
velocity = Vector3(0,0,0)
knocked = false