From e7fd5bd4b36dc53ff59f4e4e81db88b80da2aa2b Mon Sep 17 00:00:00 2001 From: derek Date: Tue, 22 Apr 2025 14:48:48 -0500 Subject: [PATCH] enemy reloads each bullet, added servo sound --- .../Enemy SFX/metal-click-SBA-300020615.mp3 | Bin 0 -> 10572 bytes .../metal-click-SBA-300020615.mp3.import | 19 ++++++ .../Enemy SFX/servo-motor-SBA-300109173.mp3 | Bin 0 -> 24155 bytes .../servo-motor-SBA-300109173.mp3.import | 19 ++++++ .../sliding-metal-noise-SBA-300054992.mp3 | Bin 0 -> 34619 bytes ...iding-metal-noise-SBA-300054992.mp3.import | 19 ++++++ assets/spider2.tscn | 49 ++++++++++++-- project.godot | 2 +- scripts/EnemyAttack.gd | 61 +++++++++++++++++- scripts/EnemyIdle.gd | 12 ++-- scripts/EnemyReload.gd | 57 ++++++++++++++++ scripts/EnemyReload.gd.uid | 1 + scripts/spider.gd | 43 +----------- 13 files changed, 230 insertions(+), 52 deletions(-) create mode 100644 assets/Audio/Enemy SFX/metal-click-SBA-300020615.mp3 create mode 100644 assets/Audio/Enemy SFX/metal-click-SBA-300020615.mp3.import create mode 100644 assets/Audio/Enemy SFX/servo-motor-SBA-300109173.mp3 create mode 100644 assets/Audio/Enemy SFX/servo-motor-SBA-300109173.mp3.import create mode 100644 assets/Audio/Enemy SFX/sliding-metal-noise-SBA-300054992.mp3 create mode 100644 assets/Audio/Enemy SFX/sliding-metal-noise-SBA-300054992.mp3.import create mode 100644 scripts/EnemyReload.gd create mode 100644 scripts/EnemyReload.gd.uid diff --git a/assets/Audio/Enemy SFX/metal-click-SBA-300020615.mp3 b/assets/Audio/Enemy SFX/metal-click-SBA-300020615.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..8f853c86e3191b726a695c87b09aa9ff006c32ff GIT binary patch literal 10572 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 literal 0 HcmV?d00001 diff --git a/assets/Audio/Enemy SFX/servo-motor-SBA-300109173.mp3.import b/assets/Audio/Enemy SFX/servo-motor-SBA-300109173.mp3.import new file mode 100644 index 0000000..a9bb2ec --- /dev/null +++ b/assets/Audio/Enemy SFX/servo-motor-SBA-300109173.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://d0n46ursprjjs" +path="res://.godot/imported/servo-motor-SBA-300109173.mp3-1ba0a3432b1f206fca66c5964a15347b.mp3str" + +[deps] + +source_file="res://assets/Audio/Enemy SFX/servo-motor-SBA-300109173.mp3" +dest_files=["res://.godot/imported/servo-motor-SBA-300109173.mp3-1ba0a3432b1f206fca66c5964a15347b.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/Audio/Enemy SFX/sliding-metal-noise-SBA-300054992.mp3 b/assets/Audio/Enemy SFX/sliding-metal-noise-SBA-300054992.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..7f74bcef3bfb261cafe0f53bb9fd42cad6c00875 GIT binary patch literal 34619 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 0: + if shot_timer > 0: + shot_timer -= delta + else: + if enemy.turret_look_next.is_colliding() and enemy.turret_look_next.get_collider().is_in_group("player"): + shot_timer = randf_range(between_shot_time.x,between_shot_time.y) + ammo -= 1 + enemy.turret_material.emission_enabled = true + await get_tree().create_timer(.1).timeout + attack() + else: + await get_tree().create_timer(.5).timeout + Transitioned.emit(self,"reload") func Physics_Update(delta): enemy.turret_look_next.look_at(player.global_position) - enemy.turret_look.look_at(player.global_position) + enemy.turret_look.rotation = lerp(enemy.turret_look.rotation,enemy.turret_look_next.rotation,delta * enemy.turret_look_speed) var destination = enemy.nav_agent.get_next_path_position() var local_destination = destination - enemy.global_position @@ -29,3 +53,36 @@ func Physics_Update(delta): enemy.spider_look_next.look_at(destination) var look_target = enemy.spider_look_next.global_rotation.y enemy.global_rotation.y = lerp(enemy.global_rotation.y,look_target,delta * 3) + +func attack(): + fire(enemy.barrel_1) + enemy.smoke.emitting = true + await get_tree().create_timer(.1).timeout # makes it too hard lol + fire(enemy.barrel_2) + enemy.smoke_2.emitting = true + enemy.turret_material.emission_enabled = false + +func reload(): + await get_tree().create_timer(reload_time).timeout + ammo = mag_size + +func fire(barrel): + var instance_bullet = enemy.bullet.instantiate() + instance_bullet.position = barrel.global_position + instance_bullet.transform.basis = barrel.global_transform.basis + instance_bullet.bullet_speed = enemy.bullet_speed + instance_bullet.bullet_drop = enemy.bullet_drop + instance_bullet.random_spread_amt = enemy.random_spread_amt + instance_bullet.bullet_damage = enemy.bullet_damage + instance_bullet.fired_by = enemy + instance_bullet.target_type = enemy.enemy_type + get_tree().get_root().add_child(instance_bullet) + enemy.audio_fire.play() + spawn_casing() + +func spawn_casing(): + var instance_casing = enemy.casing.instantiate() + instance_casing.position = enemy.casing_ejector.global_position + instance_casing.transform.basis = enemy.casing_ejector.global_transform.basis + instance_casing.player_velocity = enemy.velocity * enemy.transform.basis + get_tree().get_root().add_child(instance_casing) diff --git a/scripts/EnemyIdle.gd b/scripts/EnemyIdle.gd index 1bf7e89..0717ca4 100644 --- a/scripts/EnemyIdle.gd +++ b/scripts/EnemyIdle.gd @@ -1,6 +1,7 @@ extends EnemyState class_name EnemyIdle +@export var idle_speed : float = 1.5 var move_direction : Vector3 var scan_direction : float @@ -19,11 +20,12 @@ func randomize_wander(): wander_time = randf_range(1,3) func randomize_turret_scan(): - scan_direction = randf_range(-TURRET_TURN_AMT,TURRET_TURN_AMT) - scan_time = randf_range(5,10) + scan_direction = -scan_direction -func _Enter(): +func Enter(): + super() randomize_wander() + scan_direction = TURRET_TURN_AMT func Update(delta: float): if wander_time > 0: @@ -42,12 +44,12 @@ func Physics_Update(delta : float): var local_destination = destination - enemy.global_position var direction = local_destination.normalized() if enemy.global_position.distance_to(local_destination) > 1: - enemy.velocity = direction * move_speed + enemy.velocity = direction * idle_speed enemy.spider_look_next.look_at(destination) var look_target = enemy.spider_look_next.global_rotation.y enemy.global_rotation.y = lerp(enemy.global_rotation.y,look_target,delta * 3) - enemy.turret_look.rotation.y = lerp(enemy.turret_look.rotation.y,deg_to_rad(scan_direction),delta) + enemy.turret_look.rotation.y = lerp(enemy.turret_look.rotation.y,enemy.spider_look_next.rotation.y + deg_to_rad(scan_direction),delta * enemy.turret_look_speed) if enemy.turret_look.is_colliding() and enemy.turret_look.get_collider() is Player: Transitioned.emit(self,"attack") diff --git a/scripts/EnemyReload.gd b/scripts/EnemyReload.gd new file mode 100644 index 0000000..a1312c6 --- /dev/null +++ b/scripts/EnemyReload.gd @@ -0,0 +1,57 @@ +extends EnemyState +class_name EnemyReload + +@export var reload_time : float = 7.0 +@export var reload_sound : AudioStreamPlayer3D +@export var run_distance : float = 3 + +@onready var player = get_tree().current_scene.player + +var heartbeat : float = 3.0 +var remaining_bullets + +func Enter(): + super() + remaining_bullets = enemy.max_ammo + enemy.servo_audio.play() + +func Exit(): + super() + enemy.servo_audio.play() + +func update_waypoint(): + var direction = (player.global_position - enemy.global_position).normalized() + enemy.nav_agent.set_target_position(direction * run_distance) + +func Update(delta): + if heartbeat > 0: + heartbeat -= delta + else: + update_waypoint() + + if remaining_bullets > 0: + if !reload_sound.is_playing() and !enemy.servo_audio.is_playing(): + remaining_bullets -= 1 + reload_sound.play() + else: + finished_reload() + + +func Physics_Update(delta): + enemy.turret_look_next.look_at(player.global_position) + enemy.turret_look.rotation = lerp(enemy.turret_look.rotation,Vector3(deg_to_rad(90),0,0),delta * enemy.turret_look_speed) + + var destination = enemy.nav_agent.get_next_path_position() + var local_destination = destination - enemy.global_position + var direction = local_destination.normalized() + if enemy.global_position.distance_to(local_destination) > 1: + enemy.velocity = direction * move_speed + enemy.spider_look_next.look_at(player.global_position) + var look_target = enemy.spider_look_next.global_rotation.y + enemy.global_rotation.y = lerp(enemy.global_rotation.y,look_target,delta * 3) + +func finished_reload(): + if enemy.turret_look_next.is_colliding() and enemy.turret_look_next.get_collider() is Player: + Transitioned.emit(self,"attack") + else: + Transitioned.emit(self,"idle") diff --git a/scripts/EnemyReload.gd.uid b/scripts/EnemyReload.gd.uid new file mode 100644 index 0000000..3b0eaee --- /dev/null +++ b/scripts/EnemyReload.gd.uid @@ -0,0 +1 @@ +uid://dcnmjisrxf5iv diff --git a/scripts/spider.gd b/scripts/spider.gd index 3349079..93fc494 100644 --- a/scripts/spider.gd +++ b/scripts/spider.gd @@ -7,6 +7,8 @@ var player var last_enemy : bool = false @export var start_health = 3 @export var SPEED = 3.0 +@export var turret_look_speed = 6 +@export var max_ammo = 5 @export var loot_amount = 2 @export var nav_agent : NavigationAgent3D @@ -17,7 +19,6 @@ var last_enemy : bool = false @export var bullet_drop = .1 @export var random_spread_amt = .01 @export var bullet_damage = 1 -@export var turret_look_speed = 6 @export var die_particles : Resource @export var damage_number : Resource @export_group("Taunts") @@ -54,6 +55,7 @@ $body/leg4/foot4/foot4outline, $body/leg4/leg4outline, $body/bodyoutline] @onready var health_bar_sprite: Sprite3D = $HealthBarSprite +@onready var servo_audio: AudioStreamPlayer3D = $AUIDO/Servo var gravity = 9.8 @@ -86,45 +88,6 @@ func _ready(): func _process(delta): move_and_slide() -func _on_prefire_timer_timeout(): - fire(barrel_1) - smoke.emitting = true - await get_tree().create_timer(.01).timeout # makes it too hard lol - fire(barrel_2) - smoke_2.emitting = true - turret_material.emission_enabled = false - prefire_timer.stop() - postfire_timer.start() - - -func _on_postfire_timer_timeout(): - 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: - postfire_timer.start() - - -func fire(barrel): - var instance_bullet = bullet.instantiate() - instance_bullet.position = barrel.global_position - instance_bullet.transform.basis = barrel.global_transform.basis - instance_bullet.bullet_speed = bullet_speed - instance_bullet.bullet_drop = bullet_drop - instance_bullet.random_spread_amt = random_spread_amt - instance_bullet.bullet_damage = bullet_damage - instance_bullet.fired_by = self - instance_bullet.target_type = enemy_type - get_tree().get_root().add_child(instance_bullet) - audio_fire.play() - spawn_casing() - -func spawn_casing(): - var instance_casing = casing.instantiate() - instance_casing.position = casing_ejector.global_position - instance_casing.transform.basis = casing_ejector.global_transform.basis - instance_casing.player_velocity = velocity * transform.basis - get_tree().get_root().add_child(instance_casing) func stun(): state_machine.on_child_transition(state_machine.current_state,"stunned")