diff --git a/Scenes/enemy_ywing.tscn b/Scenes/enemy_ywing.tscn index 5bd1e3f..3700d23 100644 --- a/Scenes/enemy_ywing.tscn +++ b/Scenes/enemy_ywing.tscn @@ -54,14 +54,18 @@ position = Vector2(0, 21) position = Vector2(0, -1) target_position = Vector2(-1, 873) collision_mask = 11 +collide_with_areas = true [node name="refire_timer1" type="Timer" parent="."] +wait_time = 5.0 [node name="refire_timer2" type="Timer" parent="."] +wait_time = 5.0 [node name="death_timer" type="Timer" parent="."] wait_time = 0.5 [connection signal="area_entered" from="." to="." method="_on_area_entered"] [connection signal="timeout" from="refire_timer1" to="." method="_on_refire_timer_1_timeout"] +[connection signal="timeout" from="refire_timer2" to="." method="_on_refire_timer_2_timeout"] [connection signal="timeout" from="death_timer" to="." method="_on_death_timer_timeout"] diff --git a/Scenes/world.gd b/Scenes/world.gd index 6a00fe8..fcb35c1 100644 --- a/Scenes/world.gd +++ b/Scenes/world.gd @@ -6,6 +6,9 @@ var Laser = preload("res://Scenes/PlayerLaser.tscn") var missile = preload("res://Scenes/missile.tscn") var missile_refil = preload("res://Scenes/missile_pickup.tscn") var enemy_laser = preload("res://Scenes/enemy_laser.tscn") + +var enemy_y_wing_turret_laser = null +var enemy_y_wing_main_laser = null @onready var player = $player #mixed variables for hud @@ -57,7 +60,11 @@ func fire_enemy_laser(location): e.global_position = location add_child(e) - +func firey_wingturret(location,rotation,target): + print(str(rotation)) + print(str(target)) + var l = enemy_y_wing_turret_laser.initialize(rotation,target) + l.global_position = location diff --git a/Scripts/enemy_ywing.gd b/Scripts/enemy_ywing.gd index a1876c2..411e913 100644 --- a/Scripts/enemy_ywing.gd +++ b/Scripts/enemy_ywing.gd @@ -26,6 +26,7 @@ var main_cannon = true #can turret fire? (rate of fire control) var turret_cannon = true var firing_solution = null +var target_area = null #reset raycast, setup settings @@ -49,10 +50,11 @@ func _physics_process(delta): mainCannonFire.start() aim_turret(delta) - if target_ray.is_colliding() and target_ray.get_colldier() is player: + if target_ray.is_colliding and target_ray.get_collider() is player: if turret_cannon == true: - fire_turret(firing_solution) + fire_turret(turret_muzzle,firing_solution,target_area) turret_timer.start() + turret_cannon = false #func aim_turret(delta): #var target : Vector2 = player.global_position @@ -86,9 +88,10 @@ func aim_turret(delta): #turret.set_rotation(atan2(turret_pos.x - target.x, turret_pos.y - target_pos.y)) turret.set_rotation(atan2(target.y - turret_pos.y, target.x - turret_pos.x)-90*(PI/180)) firing_solution = atan2(target.y - turret_pos.y, target.x - turret_pos.x)-90*(PI/180) + target_area = target_pos -func fire_turret(rotation): - pass +func fire_turret(location,rotation,target_area): + get_tree().current_scene.firey_wingturret(location,rotation,target_area) @@ -127,3 +130,7 @@ func _on_death_timer_timeout(): func _on_area_entered(area): if area is player: area.take_damage(1) + + +func _on_refire_timer_2_timeout(): + turret_cannon = true