fixed spider body rotation
This commit is contained in:
13
scripts/EnemyHivemind1.gd
Normal file
13
scripts/EnemyHivemind1.gd
Normal file
@@ -0,0 +1,13 @@
|
||||
extends Node3D
|
||||
|
||||
var minions = []
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
minions = self.get_children()
|
||||
print(minions)
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
pass
|
||||
@@ -34,6 +34,7 @@ func _ready():
|
||||
rotation += Vector3(av_x,av_y,av_z)
|
||||
timer.start()
|
||||
visible = false
|
||||
ray.target_position.z *= (bullet_speed/150)
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
|
||||
@@ -15,7 +15,7 @@ const MAX_AV = 10
|
||||
@export var bullet_drop = .1
|
||||
@export var random_spread_amt = .01
|
||||
@export var bullet_damage = 1
|
||||
@export var turret_look_speed = 5
|
||||
@export var turret_look_speed = 6
|
||||
|
||||
@onready var nav_agent = $NavigationAgent3D
|
||||
@onready var target = $body/target
|
||||
@@ -46,6 +46,7 @@ var rng = RandomNumberGenerator.new()
|
||||
var rand_select
|
||||
var rand_item
|
||||
var body_look_to
|
||||
var distance_to_player
|
||||
|
||||
func _ready():
|
||||
player = get_node(player_path)
|
||||
@@ -65,14 +66,17 @@ func _process(delta):
|
||||
velocity = (next_nav_point - global_transform.origin).normalized() * SPEED
|
||||
|
||||
#FIX BODY ROTATION
|
||||
#spider_look_next.look_at(Vector3(player.global_position.x, global_position.y, player.global_position.z), Vector3.UP)
|
||||
#body.rotation = lerp(body.rotation, spider_look_next.rotation.y, delta * 1)
|
||||
spider_look_next.look_at(Vector3(player.global_position.x, 0, player.global_position.z), Vector3.UP)
|
||||
body.rotation.y = lerp(body.rotation.y, spider_look_next.rotation.y, delta * 1)
|
||||
|
||||
turret_look_next.look_at(player.global_position,Vector3.UP)
|
||||
turret_look.rotation = lerp(turret_look.rotation,turret_look_next.rotation,delta * turret_look_speed)
|
||||
|
||||
distance_to_player = abs(self.global_position - player.global_position)
|
||||
|
||||
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):
|
||||
@@ -83,7 +87,7 @@ func _on_area_3d_body_part_hit(dam,bullet_damage):
|
||||
particlespawn = die_particles.instantiate()
|
||||
particlespawn.position = self.global_position
|
||||
particlespawn.transform.basis = self.global_transform.basis
|
||||
get_parent().add_child(particlespawn)
|
||||
get_tree().get_root().add_child(particlespawn)
|
||||
|
||||
#pickup drop
|
||||
while number_of_drops > 0:
|
||||
@@ -108,7 +112,7 @@ func _on_area_3d_body_part_hit(dam,bullet_damage):
|
||||
rand_item.transform.basis = self.global_transform.basis
|
||||
rand_item.linear_velocity += self.global_transform.basis * Vector3(lv_x,lv_y,lv_z)
|
||||
rand_item.angular_velocity += self.global_transform.basis * Vector3(av_x,av_y,av_z)
|
||||
get_parent().add_child(rand_item)
|
||||
get_tree().get_root().add_child(rand_item)
|
||||
number_of_drops -= 1
|
||||
|
||||
queue_free()
|
||||
|
||||
Reference in New Issue
Block a user