diff --git a/scenes/bullet.gd b/scenes/bullet.gd index 48769e2..c6664b9 100644 --- a/scenes/bullet.gd +++ b/scenes/bullet.gd @@ -25,21 +25,16 @@ func _on_area_entered(area: Area2D) -> void: match enemy.enemy_type: "crt": if area.is_in_group("enemies"): - if enemy.vulnerable == true: - area.hit_detection() - queue_free() + print("CRT hit!") + area.hit_detection() + queue_free() - if enemy.vulnerable == false: - print("blocked!") - enemy.block() - #await bullet_fx() - queue_free() "shards": if area.is_in_group("shards"): print("Shards hit!") area.hit_detection() - + "mirror": diff --git a/scenes/enemy_crt.gd b/scenes/enemy_crt.gd index d42e27c..959e24a 100644 --- a/scenes/enemy_crt.gd +++ b/scenes/enemy_crt.gd @@ -24,7 +24,7 @@ const TILE = 32 @onready var screensize = get_viewport_rect().size @onready var timer = $MoveTimer -@onready var crt = get_node("CRT") +@onready var crt = $CRT func _ready(): timer.start() @@ -57,25 +57,28 @@ func _on_direction_timer_timeout(): direction = Vector2(0,1) can_shoot = true vulnerable = true + #$DirectionTimer.start() 1: $CRT.frame = 1 direction = Vector2(1,0) can_shoot = false vulnerable = false + #$DirectionTimer.start() 2: $CRT.frame = 2 direction = Vector2(-1,0) can_shoot = false vulnerable = false + #$DirectionTimer.start() - $DirectionTimer.start() + func _on_shoot_timer_timeout(): if can_shoot == true: var b = bullet_scene.instantiate() get_tree().root.add_child(b) b.start(position) - $ShootTimer.wait_time = randf_range(4, 20) + #$ShootTimer.wait_time = randf_range(4, 20) $ShootTimer.start() else: @@ -85,38 +88,43 @@ func _process(delta): if stunned == true: return - - position += direction * speed * delta - + + if stunned == false: + position += direction * speed * delta + if position.x > screensize.x + 32: start(start_pos) - + if position.y > screensize.y + 32: start(start_pos) func hit_detection(): if exploding: return - exploding = true - EventBus.enemy_hit.emit(5) - speed = 0 - $ImpactCRT.play() - $AnimationPlayer.play("explode") - #set_deferred("monitoring", false) - await $AnimationPlayer.animation_finished - queue_free() - EventBus.enemy_died.emit() + + if vulnerable == true: + exploding = true + EventBus.enemy_hit.emit(5) + speed = 0 + $ImpactCRT.play() + $AnimationPlayer.play("explode") + #set_deferred("monitoring", false) + await $AnimationPlayer.animation_finished + queue_free() + EventBus.enemy_died.emit() + + if vulnerable == false: + block() func block(): - if blocking: return - blocking = true + #if blocking: return + #blocking = true stunned = true - await get_tree().create_timer(5).timeout shader_active = true crt.material.set_shader_parameter("toggle", 1.0) - await get_tree().create_timer(1).timeout - shader_active = false + await get_tree().create_timer(5).timeout crt.material.set_shader_parameter("toggle", 0.0) + shader_active = false stunned = false diff --git a/scenes/enemy_crt.tscn b/scenes/enemy_crt.tscn index 2e77193..13d004b 100644 --- a/scenes/enemy_crt.tscn +++ b/scenes/enemy_crt.tscn @@ -221,11 +221,11 @@ shape = SubResource("RectangleShape2D_4gyqm") one_shot = true [node name="ShootTimer" type="Timer" parent="." unique_id=1985644907] -wait_time = 0.35 +wait_time = 0.25 one_shot = true [node name="DirectionTimer" type="Timer" parent="." unique_id=2080229505] -wait_time = 0.25 +wait_time = 0.75 [node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=702523492] libraries/ = SubResource("AnimationLibrary_7ellt") diff --git a/scenes/player.gd b/scenes/player.gd index 10f3972..9cf9867 100644 --- a/scenes/player.gd +++ b/scenes/player.gd @@ -120,9 +120,6 @@ func _on_area_entered(area): area.hit_detection() if area.is_in_group("enemy_bullets") and self.monitoring == true: damage_taken.emit() - - #if area.is_in_group("shards"): - # shield -= int(max_shield / 2) func _on_damage_taken(): diff --git a/scenes/wave.gd b/scenes/wave.gd index 32a73d7..bf6a750 100644 --- a/scenes/wave.gd +++ b/scenes/wave.gd @@ -37,7 +37,7 @@ func spawn_enemies(): await get_tree().process_frame print_debug("Remaining enemies: ", enemy_count, ", ", get_tree().get_nodes_in_group("enemies").size()) - if wave_count == 1: #This is for CRTs + if wave_count == 0: #This is for CRTs print("Enemy Wave: ", wave_count) enemy = CRT var cols_mod = COLS - 1 @@ -52,7 +52,7 @@ func spawn_enemies(): enemy_count = rows_mod * cols_mod await get_tree().process_frame - if wave_count == 0: #This if for Mirror + if wave_count == 1: #This if for Mirror print("Enemy Wave: ", wave_count) # Spawn Table