eNEMIES!!!!!!!!!

Enemys and enemy spawner

- Press N to spawn wave
- Press H to togglt hitboxs
This commit is contained in:
Twirpytherobot
2025-11-29 20:39:30 +00:00
parent b606563f4d
commit 689181ac30
10 changed files with 699 additions and 79 deletions
+63
View File
@@ -0,0 +1,63 @@
[gd_scene load_steps=8 format=3 uid="uid://byknup31d2b53"]
[ext_resource type="Script" uid="uid://cd87rsuiqhdav" path="res://level/scripts/basic_enemy.gd" id="1_basic_enemy"]
[ext_resource type="Script" uid="uid://bj3uepduxvgju" path="res://level/scripts/hurt_box.gd" id="2_hurtbox"]
[ext_resource type="ArrayMesh" uid="uid://dy0xld0fpulmk" path="res://assets/characters/Lobster/10029_Lobster_v1_iterations-2.obj" id="2_obxet"]
[ext_resource type="Script" uid="uid://jyas86y3f0jp" path="res://level/scripts/hit_box.gd" id="3_hitbox"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_body"]
height = 1.869873
[sub_resource type="SphereShape3D" id="SphereShape3D_hitbox"]
radius = 2.0
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_enemy"]
properties/0/path = NodePath(".:position")
properties/0/spawn = true
properties/0/replication_mode = 1
properties/1/path = NodePath(".:rotation")
properties/1/spawn = true
properties/1/replication_mode = 1
[node name="BasicEnemy" type="CharacterBody3D"]
collision_mask = 3
script = ExtResource("1_basic_enemy")
move_speed = 3.5
attack_damage = 5.0
detection_range = 500.0
max_health = 20.0
[node name="Mesh" type="MeshInstance3D" parent="."]
transform = Transform3D(-0.29981995, -0.01038597, -0.00033419454, 0.00636219, -0.19110087, 0.23117083, -0.008215994, 0.23102501, 0.19120643, 0, 0.41641736, 0)
mesh = ExtResource("2_obxet")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 1, 0)
shape = SubResource("CapsuleShape3D_body")
[node name="HurtBox" type="Area3D" parent="." node_paths=PackedStringArray("owner_entity")]
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, -0.47265148, 0)
collision_layer = 16
collision_mask = 0
script = ExtResource("2_hurtbox")
owner_entity = NodePath("..")
[node name="HurtBoxShape" type="CollisionShape3D" parent="HurtBox"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9349365, 0)
shape = SubResource("CapsuleShape3D_body")
[node name="HitBox" type="Area3D" parent="." node_paths=PackedStringArray("owner_entity")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, -1.2)
collision_layer = 0
collision_mask = 16
script = ExtResource("3_hitbox")
damage = 15.0
knockback = 10.0
owner_entity = NodePath("..")
[node name="HitBoxShape" type="CollisionShape3D" parent="HitBox"]
transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0.13992286, 0)
shape = SubResource("SphereShape3D_hitbox")
[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."]
replication_config = SubResource("SceneReplicationConfig_enemy")
+27
View File
@@ -0,0 +1,27 @@
[gd_scene load_steps=4 format=3 uid="uid://blm8lav3xh2yw"]
[ext_resource type="Script" path="res://level/scripts/enemy_spawner.gd" id="1_spawner"]
[ext_resource type="PackedScene" uid="uid://byknup31d2b53" path="res://level/scenes/enemies/basic_enemy.tscn" id="2_basic_enemy"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_indicator"]
albedo_color = Color(1, 0.5, 0, 0.3)
transparency = 1
cull_mode = 2
shading_mode = 0
[node name="EnemySpawner" type="Node3D"]
script = ExtResource("1_spawner")
spawn_radius = 20.0
spawn_height = 0.5
enemies_per_wave = 3
auto_start_next_wave = false
wave_delay = 5.0
enemy_scenes = Array[PackedScene]([ExtResource("2_basic_enemy")])
[node name="SpawnRadiusIndicator" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
visible = false
material_override = SubResource("StandardMaterial3D_indicator")
[node name="CenterMarker" type="MeshInstance3D" parent="."]
transform = Transform3D(0.5, 0, 0, 0, 2, 0, 0, 0, 0.5, 0, 1, 0)
+25 -77
View File
@@ -1,9 +1,10 @@
[gd_scene load_steps=21 format=3 uid="uid://dugaivbj1o66n"]
[gd_scene load_steps=14 format=3 uid="uid://dugaivbj1o66n"]
[ext_resource type="Script" uid="uid://d0dgljwwl463n" path="res://level/scripts/level.gd" id="1_e1sh7"]
[ext_resource type="PackedScene" uid="uid://db06e8q8f8bdq" path="res://level/scenes/Player_Lilguy.tscn" id="1_uvcbi"]
[ext_resource type="PackedScene" path="res://level/scenes/enemies/practice_dummy.tscn" id="3_i7s07"]
[ext_resource type="PackedScene" uid="uid://dif4t1y3c07ax" path="res://level/scenes/enemies/practice_dummy.tscn" id="3_i7s07"]
[ext_resource type="FontFile" uid="uid://wipqjhfqeuwd" path="res://assets/fonts/Kurland.ttf" id="3_icc4p"]
[ext_resource type="PackedScene" path="res://level/scenes/enemy_spawner.tscn" id="3_spawner"]
[ext_resource type="PackedScene" uid="uid://chkrcwlprbn88" path="res://assets/Objects/Colosseum_10.fbx" id="4_u750a"]
[ext_resource type="PackedScene" uid="uid://hd6pq287rgye" path="res://level/scenes/weapons/world_weapon_testsword.tscn" id="5_cwx4m"]
[ext_resource type="PackedScene" uid="uid://8c4l6s6x67vh" path="res://level/scenes/weapons/world_weapon_applecorer.tscn" id="6_xerh7"]
@@ -15,29 +16,7 @@ size = Vector2(90, 90)
albedo_color = Color(0, 0.321569, 0.172549, 1)
[sub_resource type="BoxShape3D" id="BoxShape3D_x3h1o"]
size = Vector3(90, 0.05, 90)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_lc35d"]
albedo_color = Color(0, 0, 0, 1)
[sub_resource type="BoxMesh" id="BoxMesh_8pl0k"]
[sub_resource type="BoxShape3D" id="BoxShape3D_f43m5"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_womqi"]
albedo_color = Color(0, 0, 0, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_taagp"]
albedo_color = Color(0, 0, 0, 1)
[sub_resource type="BoxMesh" id="BoxMesh_q5fs2"]
size = Vector3(25, 1, 1.5)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_fs7ud"]
albedo_color = Color(0, 0, 0, 1)
[sub_resource type="BoxShape3D" id="BoxShape3D_epsao"]
size = Vector3(25, 1, 1.5)
size = Vector3(288.0893, 0.05, 350.08374)
[sub_resource type="Environment" id="Environment_qb4jd"]
fog_enabled = true
@@ -56,67 +35,19 @@ practice_dummy_scene = ExtResource("3_i7s07")
collision_layer = 2
[node name="MeshInstance3D" type="MeshInstance3D" parent="Environment/Floor"]
transform = Transform3D(3.140456, 0, 0, 0, 1, 0, 0, 0, 3.8321724, 0, 0, 0)
mesh = SubResource("PlaneMesh_r5xs5")
surface_material_override/0 = SubResource("StandardMaterial3D_o02aj")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Environment/Floor"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.6853943, 0, 1.6468506)
shape = SubResource("BoxShape3D_x3h1o")
[node name="Box_1" type="StaticBody3D" parent="Environment"]
collision_layer = 2
[node name="MeshInstance3D" type="MeshInstance3D" parent="Environment/Box_1"]
transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 2.91206, 0.456, 6.91607)
material_override = SubResource("StandardMaterial3D_lc35d")
mesh = SubResource("BoxMesh_8pl0k")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Environment/Box_1"]
transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 2.91167, 0.456274, 6.91607)
shape = SubResource("BoxShape3D_f43m5")
[node name="Box_2" type="StaticBody3D" parent="Environment"]
collision_layer = 2
[node name="MeshInstance3D" type="MeshInstance3D" parent="Environment/Box_2"]
transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 2.91206, 2.456, 9.916)
mesh = SubResource("BoxMesh_8pl0k")
surface_material_override/0 = SubResource("StandardMaterial3D_womqi")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Environment/Box_2"]
transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 2.91167, 2.456, 9.916)
shape = SubResource("BoxShape3D_f43m5")
[node name="Box_3" type="StaticBody3D" parent="Environment"]
collision_layer = 2
[node name="MeshInstance3D" type="MeshInstance3D" parent="Environment/Box_3"]
transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 2.91206, 4.456, 12.916)
mesh = SubResource("BoxMesh_8pl0k")
surface_material_override/0 = SubResource("StandardMaterial3D_taagp")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Environment/Box_3"]
transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 2.91167, 4.456, 12.916)
shape = SubResource("BoxShape3D_f43m5")
[node name="Box_4" type="StaticBody3D" parent="Environment"]
transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 0, 0)
collision_layer = 2
[node name="MeshInstance3D" type="MeshInstance3D" parent="Environment/Box_4"]
transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, -3.52997, 5.947, 17.398)
layers = 2
mesh = SubResource("BoxMesh_q5fs2")
surface_material_override/0 = SubResource("StandardMaterial3D_fs7ud")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Environment/Box_4"]
transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, -3.52997, 5.947, 17.398)
shape = SubResource("BoxShape3D_epsao")
[node name="WorldEnvironment" type="WorldEnvironment" parent="Environment"]
environment = SubResource("Environment_qb4jd")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, -0.5, 0.866025, 0, -0.866025, -0.5, 0, 4, 0)
transform = Transform3D(1, 0, 0, 0, -0.50000024, 0.8660253, 0, -0.8660253, -0.50000024, 0, 18.907759, 0)
shadow_enabled = true
shadow_blur = 0.5
@@ -348,7 +279,7 @@ offset_right = 40.0
offset_bottom = 40.0
[node name="Colosseum_10" parent="." instance=ExtResource("4_u750a")]
transform = Transform3D(15, 0, 0, 0, 15, 0, 0, 0, 15, 1.301034, -1.2294581, 2.0630608)
transform = Transform3D(30, 0, 0, 0, 30, 0, 0, 0, 30, 1.301034, -2.3844016, 2.0630608)
[node name="WeaponsContainer" type="Node3D" parent="."]
@@ -360,6 +291,23 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.32151043, 5.2709904)
[node name="EnemiesContainer" type="Node3D" parent="."]
[node name="EnemySpawner" parent="." instance=ExtResource("3_spawner")]
spawn_radius = 100.0
[node name="PlayerSpawnPoints" type="Node3D" parent="."]
[node name="PlayerSpawn1" type="Node3D" parent="PlayerSpawnPoints"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21.496109, 0, 12.60405)
[node name="PlayerSpawn2" type="Node3D" parent="PlayerSpawnPoints"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21.496109, 0, -13.144485)
[node name="PlayerSpawn3" type="Node3D" parent="PlayerSpawnPoints"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.29047, 0, -13.144485)
[node name="PlayerSpawn4" type="Node3D" parent="PlayerSpawnPoints"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.29047, 0, 13.986315)
[connection signal="pressed" from="Menu/MainContainer/MainMenu/Buttons/Host" to="." method="_on_host_pressed"]
[connection signal="pressed" from="Menu/MainContainer/MainMenu/Buttons/Join" to="." method="_on_join_pressed"]
[connection signal="pressed" from="Menu/MainContainer/MainMenu/Option4/Quit" to="." method="_on_quit_pressed"]