From 4d736f2f709b82c162dc4e1ca5f62107b5b063e6 Mon Sep 17 00:00:00 2001 From: derek Date: Fri, 19 Jul 2024 17:03:17 -0500 Subject: [PATCH] starting work on the HIVEMIND --- scenes/test_level_2v2.tscn | 25 +------------------------ scripts/EnemyHivemind1.gd | 11 ++++++++++- scripts/spider.gd | 8 +++++--- 3 files changed, 16 insertions(+), 28 deletions(-) diff --git a/scenes/test_level_2v2.tscn b/scenes/test_level_2v2.tscn index f41915f..bcc5eb6 100644 --- a/scenes/test_level_2v2.tscn +++ b/scenes/test_level_2v2.tscn @@ -424,6 +424,7 @@ gun_1 = ExtResource("2_6rjit") [node name="Player" parent="." instance=ExtResource("2_f87c2")] transform = Transform3D(-0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, -0.866025, -16.0295, 1.4435, 12.1166) +AUDIO = false weapon_sway_amount = 0.07 weapon_rotation_amount = 0.07 @@ -618,60 +619,36 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.83258, -0.228641, 21.6357) script = ExtResource("12_cl6n5") [node name="spider" parent="EnemyHivemind1" instance=ExtResource("12_12jy2")] -health = 3 -number_of_drops = 3 -SPEED = 3.0 player_path = NodePath("../../Player") -random_spread_amt = 0.01 -bullet_damage = 1 -turret_look_speed = 6 [node name="spider2" parent="EnemyHivemind1" instance=ExtResource("12_12jy2")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.86321, 0, 0.844511) -health = 3 -number_of_drops = 3 -SPEED = 3.0 player_path = NodePath("../../Player") -random_spread_amt = 0.01 -bullet_damage = 1 -turret_look_speed = 6 [node name="spider3" parent="EnemyHivemind1" instance=ExtResource("12_12jy2")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.57471, 0, 5.44732) -health = 3 -number_of_drops = 3 -SPEED = 3.0 player_path = NodePath("../../Player") -random_spread_amt = 0.01 -bullet_damage = 1 -turret_look_speed = 6 [node name="spider4" parent="EnemyHivemind1" instance=ExtResource("12_12jy2")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.67493, 0, -1.22724) player_path = NodePath("../../Player") -bullet_damage = 1 [node name="spider5" parent="EnemyHivemind1" instance=ExtResource("12_12jy2")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.53813, 0, -0.382725) player_path = NodePath("../../Player") -bullet_damage = 1 [node name="spider6" parent="EnemyHivemind1" instance=ExtResource("12_12jy2")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.24964, 0, 4.22008) player_path = NodePath("../../Player") -bullet_damage = 1 [node name="spider7" parent="EnemyHivemind1" instance=ExtResource("12_12jy2")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.13089, 0, 1.6692) player_path = NodePath("../../Player") -bullet_damage = 1 [node name="spider8" parent="EnemyHivemind1" instance=ExtResource("12_12jy2")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.8058, 0, 0.441959) player_path = NodePath("../../Player") -bullet_damage = 1 [node name="spider9" parent="EnemyHivemind1" instance=ExtResource("12_12jy2")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.51731, 0, 5.04477) player_path = NodePath("../../Player") -bullet_damage = 1 diff --git a/scripts/EnemyHivemind1.gd b/scripts/EnemyHivemind1.gd index f7d3bd8..531eac6 100644 --- a/scripts/EnemyHivemind1.gd +++ b/scripts/EnemyHivemind1.gd @@ -1,6 +1,9 @@ extends Node3D var minions = [] +var minion_nav_point = [] +var number_minions : int +var rot_amount : float # Called when the node enters the scene tree for the first time. func _ready(): @@ -10,4 +13,10 @@ func _ready(): # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): - pass + for i in minions: + number_minions = minions.size() + rot_amount = 360 / number_minions + i.nav_agent.set_target_position(i.player.global_transform.origin) + var next_nav_point = i.nav_agent.get_next_path_position() + + i.hive_velocity = (next_nav_point - i.global_transform.origin).normalized() * i.SPEED diff --git a/scripts/spider.gd b/scripts/spider.gd index cc15eff..9267e26 100644 --- a/scripts/spider.gd +++ b/scripts/spider.gd @@ -47,6 +47,8 @@ var rand_select var rand_item var body_look_to var distance_to_player +var hive_velocity +var hive_nav_point func _ready(): player = get_node(player_path) @@ -61,9 +63,9 @@ func _process(delta): velocity = Vector3.ZERO # Navigation - nav_agent.set_target_position(player.global_transform.origin) - var next_nav_point = nav_agent.get_next_path_position() - velocity = (next_nav_point - global_transform.origin).normalized() * SPEED + #nav_agent.set_target_position(player.global_transform.origin) + #var next_nav_point = nav_agent.get_next_path_position() + velocity = hive_velocity #FIX BODY ROTATION spider_look_next.look_at(Vector3(player.global_position.x, 0, player.global_position.z), Vector3.UP)