added enemy spawners
@@ -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
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -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
|
||||
|
||||
|
After Width: | Height: | Size: 26 KiB |
@@ -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
|
||||
|
After Width: | Height: | Size: 37 KiB |
@@ -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
|
||||
|
After Width: | Height: | Size: 66 KiB |
@@ -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
|
||||
|
After Width: | Height: | Size: 577 KiB |
@@ -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
|
||||
|
After Width: | Height: | Size: 949 KiB |
@@ -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
|
||||
|
After Width: | Height: | Size: 41 KiB |
@@ -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
|
||||
|
After Width: | Height: | Size: 642 KiB |
@@ -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
|
||||
|
After Width: | Height: | Size: 14 KiB |
@@ -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
|
||||
|
After Width: | Height: | Size: 325 KiB |
@@ -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
|
||||
|
After Width: | Height: | Size: 46 KiB |
@@ -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
|
||||
|
After Width: | Height: | Size: 581 KiB |
@@ -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
|
||||
|
After Width: | Height: | Size: 17 KiB |
@@ -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
|
||||
|
After Width: | Height: | Size: 734 KiB |
@@ -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
|
||||
|
After Width: | Height: | Size: 16 KiB |
@@ -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
|
||||
|
After Width: | Height: | Size: 460 KiB |
@@ -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
|
||||
|
After Width: | Height: | Size: 2.4 KiB |
@@ -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
|
||||
|
After Width: | Height: | Size: 56 KiB |
@@ -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
|
||||
7
assets/materials/dirt.tres
Normal 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
|
||||
17
assets/materials/fence1.tres
Normal 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
@@ -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
@@ -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)
|
||||
|
||||
|
||||
2
scripts/enemy_spawner.gd
Normal file
@@ -0,0 +1,2 @@
|
||||
extends CSGSpawner
|
||||
class_name EnemySpawner
|
||||
1
scripts/enemy_spawner.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://8ypli12lqi6i
|
||||
@@ -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)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
extends CharacterBody3D
|
||||
class_name Enemy
|
||||
|
||||
signal last_enemy_dead()
|
||||
|
||||
|
||||