diff --git a/scenes/bullet.gd b/scenes/bullet.gd index e30c933..a690ef8 100644 --- a/scenes/bullet.gd +++ b/scenes/bullet.gd @@ -19,33 +19,32 @@ func _on_visible_on_screen_notifier_2d_screen_exited() -> void: func _on_area_entered(area: Area2D) -> void: - var enemies = get_tree().get_nodes_in_group("enemies") + if area.is_in_group("enemies"): - #for enemy in enemies: - match enemies.enemy_type: - "crt": - if area.is_in_group("enemies"): - print("CRT hit!") - area.hit_detection() - queue_free() - - - "shards": - if area.is_in_group("shards"): - print("Shards hit!") - area.hit_detection() - - "mirror": - if area.is_in_group("enemies"): - print("Mirror hit!") - area.hit_detection() - queue_free() - - "chicken": - if area.is_in_group("enemies"): - print("Chicken hit!") + match area.enemy_type: + "crt": + if area.is_in_group("enemies"): + print("CRT hit!") area.hit_detection() queue_free() + + + "shards": + if area.is_in_group("shards"): + print("Shards hit!") + area.hit_detection() + + "mirror": + if area.is_in_group("enemies"): + print("Mirror hit!") + area.hit_detection() + queue_free() + + "chicken": + if area.is_in_group("enemies"): + print("Chicken hit!") + area.hit_detection() + queue_free() #func bullet_fx(): #shader_active = true diff --git a/scenes/enemy_crt.gd b/scenes/enemy_crt.gd index 959e24a..219991d 100644 --- a/scenes/enemy_crt.gd +++ b/scenes/enemy_crt.gd @@ -5,9 +5,9 @@ var enemy_type: String = "crt" var bullet_scene = preload("res://scenes/enemy_bullet.tscn") var start_pos = Vector2.ZERO var move_break -var speed = 0 +var speed: int = 0 var direction = Vector2(0,1) -var tween_speed: float = 1.4 +var tween_speed: float = 1 var exploding = false var can_shoot = true @@ -23,25 +23,25 @@ var enemy_shoot_aggression = randf_range(4, 20) const TILE = 32 @onready var screensize = get_viewport_rect().size -@onready var timer = $MoveTimer +@onready var move_timer = $MoveTimer @onready var crt = $CRT func _ready(): - timer.start() + move_timer.start() func start(pos): - speed = 2 - $CRT.frame = 0 + speed = 4 + crt.frame = 0 #var pos_mod = randf_range(-TILE,TILE) #modify the start position randomly #position = Vector2(pos.x + pos_mod, -pos.y) #add the modifier position = Vector2(pos.x, -pos.y) start_pos = pos - await get_tree().create_timer(randf_range(0.25, 0.55)).timeout + await get_tree().create_timer(randf_range(0.25, 0.35)).timeout var tween = create_tween().set_trans(Tween.TRANS_BACK) tween.tween_property(self, "position:y", start_pos.y, tween_speed) await tween.finished - $MoveTimer.wait_time = enemy_move_aggression - $MoveTimer.start() + move_timer.wait_time = enemy_move_aggression + move_timer.start() $ShootTimer.wait_time = enemy_shoot_aggression $ShootTimer.start() @@ -53,19 +53,19 @@ func _on_direction_timer_timeout(): var move_direction = int(randf_range(0,3)) match move_direction: 0: - $CRT.frame = 0 + crt.frame = 0 direction = Vector2(0,1) can_shoot = true vulnerable = true #$DirectionTimer.start() 1: - $CRT.frame = 1 + crt.frame = 1 direction = Vector2(1,0) can_shoot = false vulnerable = false #$DirectionTimer.start() 2: - $CRT.frame = 2 + crt.frame = 2 direction = Vector2(-1,0) can_shoot = false vulnerable = false @@ -120,12 +120,16 @@ func block(): #if blocking: return #blocking = true stunned = true + print("CRT Stunned!") + $DirectionTimer.stop() shader_active = true crt.material.set_shader_parameter("toggle", 1.0) - await get_tree().create_timer(5).timeout + await get_tree().create_timer(2).timeout crt.material.set_shader_parameter("toggle", 0.0) shader_active = false stunned = false + $DirectionTimer.stop() + print("CRT Not Stunned!") diff --git a/scenes/enemy_crt.tscn b/scenes/enemy_crt.tscn index 197c032..26626ea 100644 --- a/scenes/enemy_crt.tscn +++ b/scenes/enemy_crt.tscn @@ -27,6 +27,7 @@ void fragment() { " [sub_resource type="ShaderMaterial" id="ShaderMaterial_gas3w"] +resource_local_to_scene = true shader = SubResource("Shader_emiuq") shader_parameter/toggle = 0.0 @@ -237,6 +238,7 @@ scale = Vector2(0.99999857, 0.99999857) shape = SubResource("RectangleShape2D_4gyqm") [node name="MoveTimer" type="Timer" parent="." unique_id=1928257014] +wait_time = 0.75 one_shot = true [node name="ShootTimer" type="Timer" parent="." unique_id=1985644907] diff --git a/scenes/goose.tscn b/scenes/goose.tscn index fbfba26..17ef3f2 100644 --- a/scenes/goose.tscn +++ b/scenes/goose.tscn @@ -11,11 +11,9 @@ size = Vector2(73, 100) script = ExtResource("1_wf0t2") [node name="DapperGoose" type="Sprite2D" parent="." unique_id=1690665905] -z_index = -4 texture = ExtResource("1_wo8sg") [node name="Bubble" type="Sprite2D" parent="DapperGoose" unique_id=2012258473] -z_index = -5 position = Vector2(-108, -21) texture = ExtResource("3_g7ad0") hframes = 4 diff --git a/scenes/wave.gd b/scenes/wave.gd index 6fe0b79..33b23e7 100644 --- a/scenes/wave.gd +++ b/scenes/wave.gd @@ -24,7 +24,7 @@ func _ready(): func spawn_enemies(): - if wave_count == 0: #This is for CHICKENS + if wave_count == 1: #This is for CHICKENS print("Enemy Wave: ", wave_count) enemy = CHICKEN for x in range(COLS): @@ -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