pickups distributed through level manager. need to fix drop amount
This commit is contained in:
@@ -27,6 +27,7 @@ const MAX_AV = 10
|
||||
@onready var prefire_timer = $Timers/prefire_timer
|
||||
@onready var postfire_timer = $Timers/postfire_timer
|
||||
@onready var knocked_timer = $Timers/knocked_timer
|
||||
@onready var stunned_timer = $Timers/stunned_timer
|
||||
@onready var turret_look_next = $TurretLookNext
|
||||
@onready var spider_look_next = $SpiderLookNext
|
||||
@onready var body = $body
|
||||
@@ -52,7 +53,8 @@ var body_look_to
|
||||
var distance_to_player
|
||||
var hive_velocity
|
||||
var hive_nav_point
|
||||
var knocked
|
||||
var knocked = false
|
||||
var stunned = false
|
||||
|
||||
func _ready():
|
||||
player = get_node(player_path)
|
||||
@@ -69,20 +71,19 @@ func _process(delta):
|
||||
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)
|
||||
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)
|
||||
if !stunned:
|
||||
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)
|
||||
else:
|
||||
body.rotation.y = lerp(body.rotation.y, body.rotation.y + 10, delta * .5)
|
||||
turret_look.rotation.y = lerp(turret_look.rotation.y,turret_look.rotation.y - 5,delta * 1)
|
||||
|
||||
#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()
|
||||
|
||||
|
||||
@@ -100,8 +101,7 @@ func _on_area_3d_body_part_hit(dam,bullet_damage):
|
||||
|
||||
#pickup drop
|
||||
while number_of_drops > 0:
|
||||
level_control.pickup_spawn()
|
||||
var rand_selector = rng.randi_range(1,4)
|
||||
var rand_item = level_control.pickup_spawn()
|
||||
var lv_x = rng.randf_range(-MAX_LV,MAX_LV)
|
||||
var lv_y = rng.randf_range(0,MAX_LV)
|
||||
var lv_z = rng.randf_range(-MAX_LV,MAX_LV)
|
||||
@@ -109,17 +109,8 @@ func _on_area_3d_body_part_hit(dam,bullet_damage):
|
||||
var av_y = rng.randf_range(-MAX_AV,MAX_AV)
|
||||
var av_z = rng.randf_range(-MAX_AV,MAX_AV)
|
||||
|
||||
match rand_selector:
|
||||
1:
|
||||
rand_select = stamina
|
||||
2:
|
||||
rand_select = ammo
|
||||
3:
|
||||
rand_select = money
|
||||
4:
|
||||
rand_select = health_pickup
|
||||
# Random Item Drop
|
||||
rand_item = rand_select.instantiate()
|
||||
#rand_item = rand_select.instantiate()
|
||||
rand_item.position = self.global_position
|
||||
rand_item.transform.basis = self.global_transform.basis
|
||||
rand_item.linear_velocity += self.global_transform.basis * Vector3(lv_x,lv_y,lv_z)
|
||||
@@ -168,7 +159,7 @@ func _on_prefire_timer_timeout():
|
||||
|
||||
|
||||
func _on_postfire_timer_timeout():
|
||||
if turret_look_next.is_colliding() and turret_look_next.get_collider().is_in_group("player"):
|
||||
if turret_look_next.is_colliding() and turret_look_next.get_collider().is_in_group("player") and !stunned:
|
||||
prefire_timer.start()
|
||||
turret_material.emission_enabled = true
|
||||
else:
|
||||
@@ -179,3 +170,8 @@ func _on_knocked_timer_timeout():
|
||||
print("KNOCK TIMEOUT")
|
||||
velocity = Vector3(0,0,0)
|
||||
knocked = false
|
||||
|
||||
|
||||
func _on_stunned_timer_timeout():
|
||||
print("STUN TIMEOUT")
|
||||
stunned = false
|
||||
|
||||
Reference in New Issue
Block a user