added enemy spawners

This commit is contained in:
Derek
2025-04-19 17:03:03 -05:00
parent 8d17c855cd
commit 423feb8fc3
50 changed files with 881 additions and 495 deletions

View File

@@ -1,6 +1,7 @@
[gd_resource type="SpatialMaterial" format=2]
[gd_resource type="StandardMaterial3D" format=3 uid="uid://d0glj4jp5clsb"]
[resource]
resource_name = "wood"
vertex_color_use_as_albedo = true
albedo_color = Color( 0.568627, 0.466667, 0.372549, 1 )
albedo_color = Color(0.568627, 0.466667, 0.372549, 1)
metallic = 1.0

View File

@@ -1,13 +1,13 @@
[gd_scene load_steps=55 format=4 uid="uid://wsk4w1xmb3p4"]
[ext_resource type="Texture2D" uid="uid://ciwlwynk4jt2k" path="res://assets/Models/boxcar1.albdeo.png" id="1_lf0a1"]
[ext_resource type="Texture2D" uid="uid://cixlw3pnskjm4" path="res://assets/Models/boxcar1.rough.png" id="2_jbjh7"]
[ext_resource type="Texture2D" uid="uid://du5psl01pl58u" path="res://assets/Models/boxcar1.normal.png" id="3_csqap"]
[ext_resource type="Texture2D" uid="uid://cvdh3jecb65ka" path="res://assets/Models/boxcar1.rough.png" id="2_jbjh7"]
[ext_resource type="Texture2D" uid="uid://dypcs5eicgvec" path="res://assets/Models/boxcar1.normal.png" id="3_csqap"]
[ext_resource type="Texture2D" uid="uid://bdb2yv36ffmk8" path="res://assets/Models/boxcar1.doors.png" id="4_j5tla"]
[ext_resource type="Texture2D" uid="uid://sjohow3p4tvl" path="res://assets/Models/boxcar1.doors.rough.png" id="5_3vfbf"]
[ext_resource type="Texture2D" uid="uid://bmxhwygo4dpkf" path="res://assets/Models/boxcar1.doors.normal.png" id="6_nwygi"]
[ext_resource type="Texture2D" uid="uid://dwh7ugcppm4k" path="res://assets/Models/boxcar1.wheel.albedo.png" id="7_np0n2"]
[ext_resource type="Texture2D" uid="uid://oeyauoofbcdf" path="res://assets/Models/boxcar1.wheel.rough.png" id="8_g8k0q"]
[ext_resource type="Texture2D" uid="uid://cprosq81sf424" path="res://assets/Models/boxcar1.wheel.rough.png" id="8_g8k0q"]
[ext_resource type="Texture2D" uid="uid://5i5urt5i8fjd" path="res://assets/Models/boxcar1.wheel.normal.png" id="9_nvcxu"]
[ext_resource type="Texture2D" uid="uid://4lve7kqobqx2" path="res://assets/Models/boxcar1.coupler.albedo.png" id="10_uuwar"]
[ext_resource type="Texture2D" uid="uid://bxek6q1nxy1ks" path="res://assets/Models/boxcar1.coupler.normal.png" id="11_ybr0q"]

View File

@@ -32,7 +32,30 @@ animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
_subresources={
"materials": {
"Billboard1": {
"use_external/enabled": true,
"use_external/path": "uid://b765yni4pd83c"
},
"Building1": {
"use_external/enabled": true,
"use_external/path": "uid://dy2pswr330jnk"
},
"fence": {
"use_external/enabled": true,
"use_external/path": "uid://b1cfrw7h2iufj"
},
"metal": {
"use_external/enabled": true,
"use_external/path": "uid://cwesakswjq41j"
},
"terrain": {
"use_external/enabled": true,
"use_external/path": "uid://c85sc1kwuq75w"
}
}
}
blender/nodes/visible=0
blender/nodes/active_collection_only=false
blender/nodes/punctual_lights=true

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cloh0nu375127"
path.s3tc="res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr (Custom) (1).png-b2eb411f2e250b83e36846437c7de987.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/materials/71_Fence/71_chrome mesh steel perforate metal texture-seamless_hr (Custom) (1).png"
dest_files=["res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr (Custom) (1).png-b2eb411f2e250b83e36846437c7de987.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://nya4quq5iatx"
path="res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr (Custom).jpg-7390a42b69d9ac47c234813a82b6e5ae.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/materials/71_Fence/71_chrome mesh steel perforate metal texture-seamless_hr (Custom).jpg"
dest_files=["res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr (Custom).jpg-7390a42b69d9ac47c234813a82b6e5ae.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cns6yavl5hjjc"
path.s3tc="res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr (Custom).png-44f36ed82f8932291c481fb537ee1bbe.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/materials/71_Fence/71_chrome mesh steel perforate metal texture-seamless_hr (Custom).png"
dest_files=["res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr (Custom).png-44f36ed82f8932291c481fb537ee1bbe.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 577 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ctponl03rnk4y"
path="res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr.jpg-b3e33127618d983131b2278512579cc1.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/materials/71_Fence/71_chrome mesh steel perforate metal texture-seamless_hr.jpg"
dest_files=["res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr.jpg-b3e33127618d983131b2278512579cc1.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 949 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b11lys24l7c8e"
path.s3tc="res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr.png-75c6d9529a0417e22d0228316696b484.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/materials/71_Fence/71_chrome mesh steel perforate metal texture-seamless_hr.png"
dest_files=["res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr.png-75c6d9529a0417e22d0228316696b484.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://2kingvpmf8w6"
path="res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_bump (Custom).jpg-562c65f8d524b9f8983f40e266e2105b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/materials/71_Fence/71_chrome mesh steel perforate metal texture-seamless_hr_bump (Custom).jpg"
dest_files=["res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_bump (Custom).jpg-562c65f8d524b9f8983f40e266e2105b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://br70paoqovkn8"
path="res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_bump.jpg-9e9887607d882788627c4d0c34879b30.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/materials/71_Fence/71_chrome mesh steel perforate metal texture-seamless_hr_bump.jpg"
dest_files=["res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_bump.jpg-9e9887607d882788627c4d0c34879b30.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cccs3hpjws8s0"
path="res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_displacement (Custom).jpg-f23dfc422a37fd7c6e81cc67e321b95c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/materials/71_Fence/71_chrome mesh steel perforate metal texture-seamless_hr_displacement (Custom).jpg"
dest_files=["res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_displacement (Custom).jpg-f23dfc422a37fd7c6e81cc67e321b95c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://qihpx88som1w"
path="res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_displacement.jpg-467d318dc27401e7830a0f83216420d5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/materials/71_Fence/71_chrome mesh steel perforate metal texture-seamless_hr_displacement.jpg"
dest_files=["res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_displacement.jpg-467d318dc27401e7830a0f83216420d5.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cjv6wh86bvd1s"
path="res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_mask (Custom).jpg-48f9dbad3606a0c3a3ec667e14c38036.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/materials/71_Fence/71_chrome mesh steel perforate metal texture-seamless_hr_mask (Custom).jpg"
dest_files=["res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_mask (Custom).jpg-48f9dbad3606a0c3a3ec667e14c38036.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 581 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cuqxo3u8fsdy0"
path="res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_mask.jpg-5ba7e0128ce9db4ab0b74edaf66c7dd2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/materials/71_Fence/71_chrome mesh steel perforate metal texture-seamless_hr_mask.jpg"
dest_files=["res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_mask.jpg-5ba7e0128ce9db4ab0b74edaf66c7dd2.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bkfctwhhhoaw8"
path="res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_normal (Custom).jpg-eb8eca84d8545ec8df8f423bf772c8e5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/materials/71_Fence/71_chrome mesh steel perforate metal texture-seamless_hr_normal (Custom).jpg"
dest_files=["res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_normal (Custom).jpg-eb8eca84d8545ec8df8f423bf772c8e5.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 734 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://43t26cbw7hyi"
path.s3tc="res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_normal.jpg-c50eacc660cea567ab6c93c174e4a602.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/materials/71_Fence/71_chrome mesh steel perforate metal texture-seamless_hr_normal.jpg"
dest_files=["res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_normal.jpg-c50eacc660cea567ab6c93c174e4a602.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://assets/materials/71_Fence/71_chrome mesh steel perforate metal texture-seamless_hr_normal.jpg"
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bt33bsusei7nh"
path="res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_specular (Custom).jpg-a3ca24432527edf8dad22cbe64639330.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/materials/71_Fence/71_chrome mesh steel perforate metal texture-seamless_hr_specular (Custom).jpg"
dest_files=["res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_specular (Custom).jpg-a3ca24432527edf8dad22cbe64639330.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://beea8ruym4p75"
path.s3tc="res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_specular.jpg-0a5a248b2f7f26a89473c0e454385c64.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/materials/71_Fence/71_chrome mesh steel perforate metal texture-seamless_hr_specular.jpg"
dest_files=["res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_specular.jpg-0a5a248b2f7f26a89473c0e454385c64.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dto57ye6hbmaq"
path="res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_specular_b (Custom).jpg-f69bc0c051772ed8b175e18c54db45f3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/materials/71_Fence/71_chrome mesh steel perforate metal texture-seamless_hr_specular_b (Custom).jpg"
dest_files=["res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_specular_b (Custom).jpg-f69bc0c051772ed8b175e18c54db45f3.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c1t7cowoe2eqd"
path="res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_specular_b.jpg-03228b9f211a4fae2877287264bb81b0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/materials/71_Fence/71_chrome mesh steel perforate metal texture-seamless_hr_specular_b.jpg"
dest_files=["res://.godot/imported/71_chrome mesh steel perforate metal texture-seamless_hr_specular_b.jpg-03228b9f211a4fae2877287264bb81b0.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View File

@@ -0,0 +1,7 @@
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://c85sc1kwuq75w"]
[ext_resource type="Texture2D" uid="uid://dmsqpy4u3h023" path="res://assets/materials/prototype/textures/dirt_ground_texture__tileable___2048x2048__by_fabooguy_d7aopi7-414w-2x.jpg" id="1_jy2vk"]
[resource]
albedo_texture = ExtResource("1_jy2vk")
uv1_triplanar = true

View File

@@ -0,0 +1,17 @@
[gd_resource type="StandardMaterial3D" load_steps=4 format=3 uid="uid://b1cfrw7h2iufj"]
[ext_resource type="Texture2D" uid="uid://cloh0nu375127" path="res://assets/materials/71_Fence/71_chrome mesh steel perforate metal texture-seamless_hr (Custom) (1).png" id="1_gj3pm"]
[ext_resource type="Texture2D" uid="uid://43t26cbw7hyi" path="res://assets/materials/71_Fence/71_chrome mesh steel perforate metal texture-seamless_hr_normal.jpg" id="2_2va5w"]
[ext_resource type="Texture2D" uid="uid://beea8ruym4p75" path="res://assets/materials/71_Fence/71_chrome mesh steel perforate metal texture-seamless_hr_specular.jpg" id="3_5bf1w"]
[resource]
transparency = 1
cull_mode = 2
albedo_texture = ExtResource("1_gj3pm")
metallic = 1.0
roughness_texture = ExtResource("3_5bf1w")
normal_enabled = true
normal_texture = ExtResource("2_2va5w")
uv1_scale = Vector3(0.5, 0.5, 0.5)
uv1_triplanar = true
texture_filter = 0

12
enemy_spawner.tscn Normal file
View File

@@ -0,0 +1,12 @@
[gd_scene load_steps=3 format=3 uid="uid://c7dhavrt11u55"]
[ext_resource type="Script" uid="uid://8ypli12lqi6i" path="res://scripts/enemy_spawner.gd" id="1_ewhtn"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ewhtn"]
transparency = 1
shading_mode = 0
albedo_color = Color(1, 1, 1, 0)
[node name="EnemySpawner" type="CSGBox3D"]
material = SubResource("StandardMaterial3D_ewhtn")
script = ExtResource("1_ewhtn")

158
levels/railyard1.tscn Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,15 +1,13 @@
[gd_scene load_steps=18 format=3 uid="uid://dsnddbrlqkav2"]
[gd_scene load_steps=16 format=3 uid="uid://dsnddbrlqkav2"]
[ext_resource type="Script" uid="uid://pm8n67yhip1p" path="res://scripts/sublevel.gd" id="1_8cuhv"]
[ext_resource type="PackedScene" uid="uid://c7dhavrt11u55" path="res://enemy_spawner.tscn" id="3_q77vb"]
[ext_resource type="Script" uid="uid://12l74jckdnpl" path="res://scripts/room_manager.gd" id="5_ngmqi"]
[ext_resource type="PackedScene" uid="uid://djr7vnr1hcx82" path="res://assets/spider2.tscn" id="6_qmuhr"]
[ext_resource type="Material" uid="uid://bjryln3so1lgw" path="res://assets/materials/prototype/prototype_green.tres" id="7_1bmnm"]
[ext_resource type="Material" uid="uid://br2pyyyl2n3cx" path="res://assets/materials/prototype/prototype1.tres" id="7_l3crk"]
[ext_resource type="PackedScene" uid="uid://c6bpysq1tjhy4" path="res://vendingmahcine.tscn" id="7_pr7m0"]
[ext_resource type="PackedScene" uid="uid://by3n26uvps8tb" path="res://assets/water_tower.tscn" id="14_yn32s"]
[ext_resource type="PackedScene" uid="uid://cgo4qyul7ix5p" path="res://assets/ladder.tscn" id="15_bsva3"]
[ext_resource type="PackedScene" uid="uid://c5t4uqihf8q0i" path="res://scripts/chest_spawner.tscn" id="15_n0y5v"]
[ext_resource type="PackedScene" uid="uid://cdpxctwwi12j" path="res://assets/ladder_collision_check.tscn" id="15_vb271"]
[ext_resource type="PackedScene" uid="uid://bj1y0fbjtul4a" path="res://post_processing.tscn" id="16_p7sg0"]
[ext_resource type="PackedScene" uid="uid://dc0fxhbw6x1h3" path="res://tube_top.tscn" id="17_2h4hu"]
[ext_resource type="PackedScene" uid="uid://20csd6dmwj4y" path="res://assets/jump_platform.tscn" id="17_8q5j4"]
@@ -30,85 +28,64 @@ script = ExtResource("1_8cuhv")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -31.749, 0, 44.3496)
script = ExtResource("5_ngmqi")
room_lockdown = true
number_of_enemies = 25
number_of_drops = 30
[node name="spider" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.87933, 0, 1.40028)
[node name="EnemySpawner" parent="Level" instance=ExtResource("3_q77vb")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.0256, 21.3166, -12.2573)
size = Vector3(10.7617, 1, 9.86035)
[node name="spider2" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.69998, 9.53674e-07, 3.9282)
[node name="EnemySpawner2" parent="Level" instance=ExtResource("3_q77vb")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 32.416, 21.3589, -11.7032)
size = Vector3(9.07227, 1, 9.16992)
[node name="spider3" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.14727, -1.90735e-06, -3.3705)
[node name="EnemySpawner3" parent="Level" instance=ExtResource("3_q77vb")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 33.2077, 20.8179, 4.22345)
size = Vector3(9.12549, 1, 9.16992)
[node name="spider4" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.485, 0, 1.40028)
[node name="EnemySpawner4" parent="Level" instance=ExtResource("3_q77vb")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.83975, 20.8179, 30.2766)
size = Vector3(9.40466, 1, 1.37305)
[node name="spider5" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.66438, 9.53674e-07, 3.9282)
[node name="EnemySpawner5" parent="Level" instance=ExtResource("3_q77vb")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.906, 51.4924, 30.2766)
size = Vector3(9.40466, 1, 1.37305)
[node name="spider19" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.555158, 20.1288, -13.5454)
[node name="EnemySpawner10" parent="Level" instance=ExtResource("3_q77vb")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -31.3113, 21.2903, -9.03331)
size = Vector3(3.48666, 1, 8.0271)
[node name="spider24" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26685, 20.1288, -11.0161)
[node name="EnemySpawner11" parent="Level" instance=ExtResource("3_q77vb")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17.4079, 0.884353, 17.041)
size = Vector3(15.0226, 1, 8.0271)
[node name="spider25" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.8267, 20.1288, -12.2057)
[node name="EnemySpawner12" parent="Level" instance=ExtResource("3_q77vb")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.54227, 0.884353, 5.12714)
size = Vector3(15.0226, 1, 8.0271)
[node name="spider26" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.0956, 9.76406, -28.6448)
[node name="EnemySpawner13" parent="Level" instance=ExtResource("3_q77vb")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.91772, 0.884353, 19.1236)
size = Vector3(15.0226, 1, 8.0271)
[node name="spider20" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31.9941, 20.1288, -12.0341)
[node name="EnemySpawner14" parent="Level" instance=ExtResource("3_q77vb")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18.4234, 0.884353, -16.7419)
size = Vector3(15.0226, 1, 8.0271)
[node name="spider21" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 32.9991, 20.1288, 3.22339)
[node name="EnemySpawner6" parent="Level" instance=ExtResource("3_q77vb")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -28.5439, 48.9129, 13.1231)
size = Vector3(12.5021, 1, 39.9274)
[node name="spider22" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -31.757, 20.1288, -7.44882)
[node name="EnemySpawner7" parent="Level" instance=ExtResource("3_q77vb")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -38.1853, 51.5852, -13.3319)
size = Vector3(8.36169, 1, 6.77002)
[node name="spider23" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.11419, 20.1288, 30.3185)
[node name="EnemySpawner8" parent="Level" instance=ExtResource("3_q77vb")]
transform = Transform3D(0.633907, 0, 0.773409, 0, 1, 0, -0.773409, 0, 0.633907, -12.4119, 10.5342, -28.3223)
size = Vector3(8.36169, 1, 6.77002)
[node name="spider6" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.21709, -1.90735e-06, -3.3705)
[node name="spider7" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.91809, 0, 23.7467)
[node name="spider8" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.58085, 2.86102e-06, 21.6052)
[node name="spider9" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.02814, -1.36424e-12, 14.3065)
[node name="spider10" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.6041, 1.90735e-06, 19.0773)
[node name="spider11" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.78351, 2.86102e-06, 21.6052)
[node name="spider12" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.33622, -1.36424e-12, 14.3065)
[node name="spider13" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30.0234, 48.4515, 1.40028)
[node name="spider14" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27.2028, 48.4515, 3.9282)
[node name="spider15" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26.7555, 48.4515, -3.3705)
[node name="spider16" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -31.1425, 48.4515, 19.0773)
[node name="spider17" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -28.322, 48.4515, 21.6052)
[node name="spider18" parent="Level" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27.8747, 48.4515, 14.3065)
[node name="EnemySpawner9" parent="Level" instance=ExtResource("3_q77vb")]
transform = Transform3D(0.633907, 0, 0.773409, 0, 1, 0, -0.773409, 0, 0.633907, -12.4123, 5.29482, -28.317)
size = Vector3(8.36169, 1, 6.77002)
[node name="NavigationRegion3D" type="NavigationRegion3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -31.749, 0, 44.3496)
@@ -345,12 +322,6 @@ transform = Transform3D(0.813009, 0, -0.582251, 0, 1, 0, 0.582251, 0, 0.813009,
[node name="Water Tower" parent="." instance=ExtResource("14_yn32s")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.06201, -0.170555, 70.3219)
[node name="LadderCollisionCheck" parent="." instance=ExtResource("15_vb271")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -44.4677, -0.500688, 6.99471)
[node name="Ladder" parent="." instance=ExtResource("15_bsva3")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -44.4735, -0.170555, 8.32051)
[node name="PostProcessing" parent="." instance=ExtResource("16_p7sg0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -31.749, 0, 44.3496)

File diff suppressed because one or more lines are too long

2
scripts/enemy_spawner.gd Normal file
View File

@@ -0,0 +1,2 @@
extends CSGSpawner
class_name EnemySpawner

View File

@@ -0,0 +1 @@
uid://8ypli12lqi6i

View File

@@ -2,6 +2,8 @@ extends Node
@export_group("Main")
@export var room_lockdown : bool = false
@export var number_of_enemies : int = 20
@export var spawnable_enemies = preload("res://assets/spider2.tscn")
@export_group("Key")
@export var key_drop : bool = false
@export_enum("Silver", "Gold", "Special") var key_type: int
@@ -12,6 +14,7 @@ extends Node
var enemies = []
var doors = []
var room_checks = []
var enemy_spawners = []
var number_enemies : int
var rot_amount : float
@@ -59,7 +62,7 @@ func _process(delta):
func assign_elements():
for i in self.get_children():
if i.is_in_group("enemy"):
if i is Enemy:
enemies.append(i)
if i.is_in_group("door"):
doors.append(i)
@@ -67,7 +70,11 @@ func assign_elements():
room_checks.append(i)
i.room_entered.connect(room_entered)
i.room_exited.connect(room_exited)
print("ENEMIES IN ROOM - ",enemies)
if i is EnemySpawner:
enemy_spawners.append(i)
if enemy_spawners.size() > 0:
spawn_enemies()
func enemy_in_room_killed():
var enemy_count = 0
@@ -94,3 +101,19 @@ func room_exited():
for i in doors:
if !i.door_open:
i.open()
func spawn_enemies():
while number_of_enemies >= 0:
number_of_enemies -= 1
var random_spawner = enemy_spawners.pick_random()
var spawn_offset = random_spawner.random_box_pos()
var set_pos = random_spawner.global_position + spawn_offset
var enemy = spawnable_enemies.instantiate() #turn into an array of available enemies later
add_child(enemy)
enemy.global_position = set_pos
await number_enemies == 0
for i in self.get_children():
if i is Enemy:
enemies.append(i)

View File

@@ -1,4 +1,5 @@
extends CharacterBody3D
class_name Enemy
signal last_enemy_dead()