diff --git a/modules/wave_survival/player_body.h b/modules/wave_survival/player_body.h index 12ced770..8cda8920 100644 --- a/modules/wave_survival/player_body.h +++ b/modules/wave_survival/player_body.h @@ -33,7 +33,7 @@ private: float walk_speed{ 6.f }; float run_speed{ 8.f }; float acceleration{ 40.f }; - float jump_strength{ 3.5f }; + float jump_strength{ 4.f }; Vector2 movement_input{ 0, 0 }; WeaponInventory *weapons; diff --git a/project/assets/materials/blueish_grid.tres b/project/assets/materials/blueish_grid.tres new file mode 100644 index 00000000..fa312356 --- /dev/null +++ b/project/assets/materials/blueish_grid.tres @@ -0,0 +1,10 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://cg5dt1a0crcec"] + +[ext_resource type="Texture2D" uid="uid://bu3iujugn73o1" path="res://assets/textures/blueish_grid.png" id="1_iyifd"] + +[resource] +shading_mode = 2 +diffuse_mode = 1 +albedo_texture = ExtResource("1_iyifd") +uv1_triplanar = true +uv2_triplanar = true diff --git a/project/assets/materials/brownish_grid.tres b/project/assets/materials/brownish_grid.tres new file mode 100644 index 00000000..15835679 --- /dev/null +++ b/project/assets/materials/brownish_grid.tres @@ -0,0 +1,10 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://dklxvqonn32h0"] + +[ext_resource type="Texture2D" uid="uid://b0mk0qw8gyhy2" path="res://assets/textures/brownish_grid.png" id="1_2j8iv"] + +[resource] +shading_mode = 2 +diffuse_mode = 1 +albedo_texture = ExtResource("1_2j8iv") +uv1_triplanar = true +uv2_triplanar = true diff --git a/project/assets/models/enemies/model_scenes/wretched.tscn b/project/assets/models/enemies/model_scenes/wretched.tscn index 0bfda2dc..7066fdcd 100644 --- a/project/assets/models/enemies/model_scenes/wretched.tscn +++ b/project/assets/models/enemies/model_scenes/wretched.tscn @@ -4,7 +4,7 @@ [ext_resource type="PackedScene" uid="uid://clbq43giddldc" path="res://objects/effects/blood_effect.tscn" id="2_a12c4"] [sub_resource type="BoxShape3D" id="BoxShape3D_w0sx6"] -size = Vector3(0.35351563, 0.8721161, 0.29003906) +size = Vector3(0.35351563, 0.8721161, 0.18847656) [sub_resource type="BoxShape3D" id="BoxShape3D_a12c4"] size = Vector3(0.33398438, 0.64245605, 0.21582031) @@ -25,7 +25,7 @@ monitoring = false impact_effect = ExtResource("2_a12c4") [node name="CollisionShape3D2" type="CollisionShape3D" parent="Character/Skeleton3D/Hitbox" index="0"] -transform = Transform3D(1, 5.875464e-21, 0, 6.2038546e-25, 1.0000037, 0, 0, 0, 1.0000037, -2.2362435e-16, 0.35283393, -0.013339132) +transform = Transform3D(1, 6.5504433e-21, 0, 6.2038546e-25, 1.0000037, 0, 0, 0, 1.0000037, -2.2362435e-16, 0.35283393, -0.013339132) shape = SubResource("BoxShape3D_w0sx6") [node name="SpineAttach" type="BoneAttachment3D" parent="Character/Skeleton3D" index="3"] diff --git a/project/assets/models/props/fieldgun.blend b/project/assets/models/props/fieldgun.blend new file mode 100644 index 00000000..0aaeeea4 Binary files /dev/null and b/project/assets/models/props/fieldgun.blend differ diff --git a/project/assets/models/props/fieldgun.blend.import b/project/assets/models/props/fieldgun.blend.import new file mode 100644 index 00000000..1fba3af9 --- /dev/null +++ b/project/assets/models/props/fieldgun.blend.import @@ -0,0 +1,59 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://do02gqs3n6che" +path="res://.godot/imported/fieldgun.blend-372d287832ddc3f11e0b0ad00b29ff59.scn" + +[deps] + +source_file="res://assets/models/props/fieldgun.blend" +dest_files=["res://.godot/imported/fieldgun.blend-372d287832ddc3f11e0b0ad00b29ff59.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/root_script=null +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_name_suffixes=true +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +materials/extract=0 +materials/extract_format=0 +materials/extract_path="" +_subresources={} +blender/nodes/visible=0 +blender/nodes/active_collection_only=false +blender/nodes/punctual_lights=true +blender/nodes/cameras=true +blender/nodes/custom_properties=true +blender/nodes/modifiers=1 +blender/meshes/colors=false +blender/meshes/uvs=true +blender/meshes/normals=true +blender/meshes/export_geometry_nodes_instances=false +blender/meshes/tangents=true +blender/meshes/skins=2 +blender/meshes/export_bones_deforming_mesh_only=false +blender/materials/unpack_enabled=true +blender/materials/export_materials=1 +blender/animation/limit_playback=true +blender/animation/always_sample=true +blender/animation/group_tracks=true +gltf/naming_version=2 diff --git a/project/assets/models/props/fieldgun.blend1 b/project/assets/models/props/fieldgun.blend1 new file mode 100644 index 00000000..c4fd8376 Binary files /dev/null and b/project/assets/models/props/fieldgun.blend1 differ diff --git a/project/assets/models/props/fieldgun_metal_plate_albedo.png b/project/assets/models/props/fieldgun_metal_plate_albedo.png new file mode 100644 index 00000000..6dee7695 Binary files /dev/null and b/project/assets/models/props/fieldgun_metal_plate_albedo.png differ diff --git a/project/assets/models/props/fieldgun_metal_plate_albedo.png.import b/project/assets/models/props/fieldgun_metal_plate_albedo.png.import new file mode 100644 index 00000000..a500d6e6 --- /dev/null +++ b/project/assets/models/props/fieldgun_metal_plate_albedo.png.import @@ -0,0 +1,44 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cej2joeico3jg" +path.s3tc="res://.godot/imported/fieldgun_metal_plate_albedo.png-73bb4da44a7b84f852c4561297f4c07e.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} +generator_parameters={ +"md5": "ec2d839233c91d156dfc0c5fd9865d03" +} + +[deps] + +source_file="res://assets/models/props/fieldgun_metal_plate_albedo.png" +dest_files=["res://.godot/imported/fieldgun_metal_plate_albedo.png-73bb4da44a7b84f852c4561297f4c07e.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/project/assets/models/props/fieldgun_metal_plate_normal.png b/project/assets/models/props/fieldgun_metal_plate_normal.png new file mode 100644 index 00000000..72151dc3 Binary files /dev/null and b/project/assets/models/props/fieldgun_metal_plate_normal.png differ diff --git a/project/assets/models/props/fieldgun_metal_plate_normal.png.import b/project/assets/models/props/fieldgun_metal_plate_normal.png.import new file mode 100644 index 00000000..d0ad7a80 --- /dev/null +++ b/project/assets/models/props/fieldgun_metal_plate_normal.png.import @@ -0,0 +1,44 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cht37oqpg1bb2" +path.s3tc="res://.godot/imported/fieldgun_metal_plate_normal.png-66854465fe9e3584ff2f103d9ab763b0.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} +generator_parameters={ +"md5": "59424d1d3e72ba415bf10aa91d89bd4e" +} + +[deps] + +source_file="res://assets/models/props/fieldgun_metal_plate_normal.png" +dest_files=["res://.godot/imported/fieldgun_metal_plate_normal.png-66854465fe9e3584ff2f103d9ab763b0.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/models/props/fieldgun_metal_plate_normal.png" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/project/assets/models/props/fieldgun_metal_sheets_albedo.png b/project/assets/models/props/fieldgun_metal_sheets_albedo.png new file mode 100644 index 00000000..7a686c5b Binary files /dev/null and b/project/assets/models/props/fieldgun_metal_sheets_albedo.png differ diff --git a/project/assets/models/props/fieldgun_metal_sheets_albedo.png.import b/project/assets/models/props/fieldgun_metal_sheets_albedo.png.import new file mode 100644 index 00000000..29c24a6f --- /dev/null +++ b/project/assets/models/props/fieldgun_metal_sheets_albedo.png.import @@ -0,0 +1,44 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b5jwkar5wcvof" +path.s3tc="res://.godot/imported/fieldgun_metal_sheets_albedo.png-f78fde5ed3ad767029efe09d92a33f48.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} +generator_parameters={ +"md5": "695e12ca7ab014c170aa70545cb934a5" +} + +[deps] + +source_file="res://assets/models/props/fieldgun_metal_sheets_albedo.png" +dest_files=["res://.godot/imported/fieldgun_metal_sheets_albedo.png-f78fde5ed3ad767029efe09d92a33f48.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/project/assets/models/props/fieldgun_metal_sheets_normal.png b/project/assets/models/props/fieldgun_metal_sheets_normal.png new file mode 100644 index 00000000..ec92d264 Binary files /dev/null and b/project/assets/models/props/fieldgun_metal_sheets_normal.png differ diff --git a/project/assets/models/props/fieldgun_metal_sheets_normal.png.import b/project/assets/models/props/fieldgun_metal_sheets_normal.png.import new file mode 100644 index 00000000..b0b5790d --- /dev/null +++ b/project/assets/models/props/fieldgun_metal_sheets_normal.png.import @@ -0,0 +1,44 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cxqltrblkxv7b" +path.s3tc="res://.godot/imported/fieldgun_metal_sheets_normal.png-78d8ab8ea9643f1619d0de5da179a690.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} +generator_parameters={ +"md5": "3d4ecdaacf77266fae782e20a52a38d5" +} + +[deps] + +source_file="res://assets/models/props/fieldgun_metal_sheets_normal.png" +dest_files=["res://.godot/imported/fieldgun_metal_sheets_normal.png-78d8ab8ea9643f1619d0de5da179a690.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/models/props/fieldgun_metal_sheets_normal.png" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/project/assets/textures/blueish_grid.png b/project/assets/textures/blueish_grid.png new file mode 100644 index 00000000..fee0912f Binary files /dev/null and b/project/assets/textures/blueish_grid.png differ diff --git a/project/assets/textures/blueish_grid.png.import b/project/assets/textures/blueish_grid.png.import new file mode 100644 index 00000000..3585b4a4 --- /dev/null +++ b/project/assets/textures/blueish_grid.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bu3iujugn73o1" +path.s3tc="res://.godot/imported/blueish_grid.png-4cb8a3035bd3743434bfd6e59a2b9de0.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/textures/blueish_grid.png" +dest_files=["res://.godot/imported/blueish_grid.png-4cb8a3035bd3743434bfd6e59a2b9de0.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/project/assets/textures/brownish_grid.png b/project/assets/textures/brownish_grid.png new file mode 100644 index 00000000..d72ab0ce Binary files /dev/null and b/project/assets/textures/brownish_grid.png differ diff --git a/project/assets/textures/brownish_grid.png.import b/project/assets/textures/brownish_grid.png.import new file mode 100644 index 00000000..093b276b --- /dev/null +++ b/project/assets/textures/brownish_grid.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0mk0qw8gyhy2" +path.s3tc="res://.godot/imported/brownish_grid.png-97ec0245afbbcbe033c7666745102a8f.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/textures/brownish_grid.png" +dest_files=["res://.godot/imported/brownish_grid.png-97ec0245afbbcbe033c7666745102a8f.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/project/maps/industrial_area.tscn b/project/maps/industrial_area.tscn new file mode 100644 index 00000000..53469e2f --- /dev/null +++ b/project/maps/industrial_area.tscn @@ -0,0 +1,47 @@ +[gd_scene load_steps=7 format=3 uid="uid://cc2adfb3sfrep"] + +[ext_resource type="PackedScene" uid="uid://snjgu4yp5swd" path="res://objects/player.tscn" id="1_mhgjp"] +[ext_resource type="PackedScene" uid="uid://dllho5nkq2smw" path="res://maps/industrial_area_map.tscn" id="2_41t38"] +[ext_resource type="PackedScene" uid="uid://bt054d3ic71rf" path="res://menus/pause_menu.tscn" id="2_ien74"] + +[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_ien74"] +sky_horizon_color = Color(0.66224277, 0.6717428, 0.6867428, 1) +ground_horizon_color = Color(0.66224277, 0.6717428, 0.6867428, 1) + +[sub_resource type="Sky" id="Sky_41t38"] +sky_material = SubResource("ProceduralSkyMaterial_ien74") + +[sub_resource type="Environment" id="Environment_uqqn3"] +background_mode = 2 +sky = SubResource("Sky_41t38") +tonemap_mode = 2 +glow_enabled = true + +[node name="Node" type="Node"] + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_uqqn3") + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(-0.8660254, -0.43301278, 0.25, 0, 0.49999997, 0.86602545, -0.50000006, 0.75, -0.43301266, 0, 0, 0) +shadow_enabled = true + +[node name="SubViewportContainer" type="SubViewportContainer" parent="."] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +stretch = true + +[node name="SubViewport" type="SubViewport" parent="SubViewportContainer"] +handle_input_locally = false +size = Vector2i(1152, 648) +render_target_update_mode = 4 + +[node name="PlayerBody" parent="SubViewportContainer/SubViewport" instance=ExtResource("1_mhgjp")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -24.381037, 0.39286697, -0.4163785) + +[node name="Map" parent="SubViewportContainer/SubViewport" instance=ExtResource("2_41t38")] + +[node name="PauseMenu" parent="." instance=ExtResource("2_ien74")] diff --git a/project/maps/industrial_area_map.tscn b/project/maps/industrial_area_map.tscn new file mode 100644 index 00000000..9ef902d4 --- /dev/null +++ b/project/maps/industrial_area_map.tscn @@ -0,0 +1,581 @@ +[gd_scene load_steps=13 format=3 uid="uid://dllho5nkq2smw"] + +[ext_resource type="PackedScene" uid="uid://eu0yil2ylm0q" path="res://objects/props/box_car_fully_enclosed.tscn" id="1_ti8jp"] +[ext_resource type="PackedScene" uid="uid://hf7yyyiep30l" path="res://objects/props/box_car_enclosed.tscn" id="2_cfpv2"] +[ext_resource type="Material" uid="uid://cg5dt1a0crcec" path="res://assets/materials/blueish_grid.tres" id="3_ov0l2"] +[ext_resource type="Material" uid="uid://dklxvqonn32h0" path="res://assets/materials/brownish_grid.tres" id="4_fwhga"] +[ext_resource type="Material" uid="uid://b075rlo1f0e4u" path="res://assets/materials/greenish_grid.tres" id="5_mlp7g"] +[ext_resource type="PackedScene" uid="uid://do02gqs3n6che" path="res://assets/models/props/fieldgun.blend" id="6_cfpv2"] + +[sub_resource type="PrismMesh" id="PrismMesh_cfpv2"] +size = Vector3(21.08, 2.575, 17.785) + +[sub_resource type="PrismMesh" id="PrismMesh_uqqn3"] +size = Vector3(11.485, 2.575, 18.465) + +[sub_resource type="PrismMesh" id="PrismMesh_fwhga"] +left_to_right = 0.0 +size = Vector3(16.01, 2, 22.89) + +[sub_resource type="PrismMesh" id="PrismMesh_ug5on"] +left_to_right = 0.0 +size = Vector3(5.59, 2, 9.15) + +[sub_resource type="PrismMesh" id="PrismMesh_mlp7g"] +left_to_right = 0.0 +size = Vector3(15.45, 2, 22.28) + +[sub_resource type="PrismMesh" id="PrismMesh_ov0l2"] +left_to_right = 0.0 +size = Vector3(5.985, 2.79, 7.725) + +[node name="Map" type="Node3D"] + +[node name="BoxCarFullyEnclosed" parent="." instance=ExtResource("1_ti8jp")] +transform = Transform3D(5.6360566e-08, 0.89082426, 0.454348, 1, -5.217093e-08, -2.1757398e-08, 4.3217416e-09, 0.454348, -0.89082426, 1.6267383, 1.5608726, 0.3244114) + +[node name="BoxCarFullyEnclosed5" parent="." instance=ExtResource("1_ti8jp")] +transform = Transform3D(2.8108113e-08, 0.7928962, -0.6093566, 1, -5.2170925e-08, -2.1757398e-08, -4.9042075e-08, -0.6093566, -0.7928962, 4.093636, 1.5608726, 9.557431) + +[node name="BoxCarFullyEnclosed3" parent="." instance=ExtResource("1_ti8jp")] +transform = Transform3D(0.31808245, 0, 0.948063, 0, 0.99999994, 0, -0.9480631, 0, 0.31808242, -6.168522, 2.219851, 19.451921) + +[node name="BoxCarFullyEnclosed4" parent="." instance=ExtResource("1_ti8jp")] +transform = Transform3D(0.5854955, 0, 0.8106757, 0, 0.99999994, 0, -0.81067574, 0, 0.58549535, 2.5617104, 2.219851, 23.817034) + +[node name="BoxCarFullyEnclosed2" parent="." instance=ExtResource("1_ti8jp")] +transform = Transform3D(5.6360555e-08, 0.9997563, -0.022076754, 1, -5.625141e-08, 5.564951e-09, 4.3217434e-09, -0.022076754, -0.9997563, 3.7765613, 1.5608716, -9.289558) + +[node name="BoxCarEnclosed" parent="." instance=ExtResource("2_cfpv2")] +transform = Transform3D(0.9897364, 0.0022670943, -0.14288732, 4.656613e-09, 0.9998742, 0.015864344, 0.14290531, -0.01570152, 0.98961186, -17.428667, 2.0877795, -10.328543) + +[node name="BoxCarEnclosed2" parent="." instance=ExtResource("2_cfpv2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.609278, 2.2445335, -1.8021989) + +[node name="MaintenanceBuilding" type="CSGCombiner3D" parent="."] +use_collision = true +collision_layer = 3 +collision_mask = 0 + +[node name="MaintenanceBuilding" type="CSGBox3D" parent="MaintenanceBuilding"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15.831535, 2.484046, -2.9440308) +size = Vector3(20.68628, 4.9991455, 17.705444) +material = ExtResource("3_ov0l2") + +[node name="SideBuilding" type="CSGBox3D" parent="MaintenanceBuilding"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.890347, 1.8221657, -15.016236) +size = Vector3(13.390137, 3.7128906, 7.4003906) +material = ExtResource("3_ov0l2") + +[node name="SideBuildingCutout" type="CSGBox3D" parent="MaintenanceBuilding/SideBuilding"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.11907959, -0.04257202) +operation = 2 +size = Vector3(12.322266, 3.4747314, 6.6499634) +material = ExtResource("3_ov0l2") + +[node name="SideBuildingCutout2" type="CSGBox3D" parent="MaintenanceBuilding/SideBuilding"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.14657593, -0.97000027) +operation = 2 +size = Vector3(12.322266, 4.0060425, 4.782654) +material = ExtResource("3_ov0l2") + +[node name="SideBuildingCutout4" type="CSGBox3D" parent="MaintenanceBuilding/SideBuilding"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.6501961, -3.3955374) +operation = 2 +size = Vector3(14.276367, 2.9988022, 2.1796875) +material = ExtResource("3_ov0l2") + +[node name="SideBuildingCutout3" type="CSGBox3D" parent="MaintenanceBuilding/SideBuilding"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.1909256, 0.14657593, 0.09706974) +operation = 2 +size = Vector3(10.468704, 4.0060425, 8.03093) +material = ExtResource("3_ov0l2") + +[node name="MaintenanceBuildingCutout2" type="CSGBox3D" parent="MaintenanceBuilding"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.024097, 2.3640966, -2.715271) +operation = 2 +size = Vector3(8.097625, 4.759247, 16.71106) +material = ExtResource("3_ov0l2") + +[node name="MaintenanceBuildingCutout4" type="CSGBox3D" parent="MaintenanceBuilding"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -23.422184, 2.5683413, -2.731903) +operation = 2 +size = Vector3(5.0511465, 4.3509483, 16.73407) +material = ExtResource("3_ov0l2") + +[node name="MaintenanceBuildingCutout" type="CSGBox3D" parent="MaintenanceBuilding"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18.006199, 2.3640966, -2.7250977) +operation = 2 +size = Vector3(6.936949, 4.759247, 16.742676) +material = ExtResource("3_ov0l2") + +[node name="MaintenanceBuildingCutout3" type="CSGBox3D" parent="MaintenanceBuilding"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.09318, 2.0518265, -5.2568336) +operation = 2 +size = Vector3(1.8300781, 4.1347046, 4.9665527) +material = ExtResource("3_ov0l2") + +[node name="MaintenanceBuildingCutout5" type="CSGBox3D" parent="MaintenanceBuilding"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -17.246563, 2.0518265, -11.445011) +operation = 2 +size = Vector3(3.2790222, 4.1347046, 1.4862671) +material = ExtResource("3_ov0l2") + +[node name="MaintenanceBuildingDoor" type="CSGBox3D" parent="MaintenanceBuilding"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.715051, 2.0543585, 5.7761235) +operation = 2 +size = Vector3(5.75, 4.1397705, 0.71936035) +material = ExtResource("3_ov0l2") + +[node name="MaintenanceBuildingDoor2" type="CSGBox3D" parent="MaintenanceBuilding"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18.05891, 2.0434787, 5.7761235) +operation = 2 +size = Vector3(5.158905, 4.118011, 0.71936035) +material = ExtResource("3_ov0l2") + +[node name="CSGMesh3D" type="CSGMesh3D" parent="MaintenanceBuilding"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15.866063, 6.263569, -2.9285734) +mesh = SubResource("PrismMesh_cfpv2") +material = ExtResource("4_fwhga") + +[node name="APC" type="CSGCombiner3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18.064238, 1.9073486e-06, -26.851301) +use_collision = true +collision_layer = 3 + +[node name="CSGBox3D" type="CSGBox3D" parent="APC"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.0851468, 0) +size = Vector3(3.147461, 2.116211, 7.0791016) +material = ExtResource("3_ov0l2") + +[node name="APC2" type="CSGCombiner3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.729608, 1.9073486e-06, -27.30391) +use_collision = true +collision_layer = 3 + +[node name="CSGBox3D" type="CSGBox3D" parent="APC2"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.0851468, 0) +size = Vector3(3.147461, 2.116211, 7.0791016) +material = ExtResource("3_ov0l2") + +[node name="Barricades" type="CSGCombiner3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -19.996483, 0, 8.36454) +material_override = ExtResource("4_fwhga") +use_collision = true +collision_layer = 3 + +[node name="CSGBox3D" type="CSGBox3D" parent="Barricades"] +transform = Transform3D(0.4232825, 0, -0.90599775, 0, 1, 0, 0.90599775, 0, 0.4232825, -1.7599201, 0.45608485, -0.2517557) +size = Vector3(4.382202, 1, 1.53479) + +[node name="CSGBox3D5" type="CSGBox3D" parent="Barricades"] +transform = Transform3D(-0.0011868291, 0, -0.9999992, 0, 1, 0, 0.9999992, 0, -0.0011868291, -3.9627018, 0.45608485, 7.650716) +size = Vector3(5.121582, 1, 1.53479) + +[node name="CSGBox3D2" type="CSGBox3D" parent="Barricades"] +transform = Transform3D(0.2164737, 0, -0.97628844, 0, 1, 0, 0.97628844, 0, 0.2164737, 1.49399, 0.45608485, 8.907248) +size = Vector3(5.884186, 1, 1.53479) + +[node name="CSGBox3D6" type="CSGBox3D" parent="Barricades"] +transform = Transform3D(0.6716947, 0, -0.74082804, 0, 1, 0, 0.74082804, 0, 0.6716947, 6.099572, 0.45608485, 18.442446) +size = Vector3(7.9549103, 1, 1.53479) + +[node name="CSGBox3D7" type="CSGBox3D" parent="Barricades"] +transform = Transform3D(0.94835126, 0, -0.31722188, 0, 1, 0, 0.31722188, 0, 0.94835126, 15.761227, 0.45608485, 24.711674) +size = Vector3(7.561722, 1, 1.53479) + +[node name="CSGBox3D8" type="CSGBox3D" parent="Barricades"] +transform = Transform3D(0.85644734, 0, -0.51623434, 0, 1, 0, 0.51623434, 0, 0.85644734, 36.985687, 0.45608485, 32.744583) +size = Vector3(7.431699, 1, 1.53479) + +[node name="CSGBox3D9" type="CSGBox3D" parent="Barricades"] +transform = Transform3D(0.99686366, 0, -0.07913756, 0, 1, 0, 0.07913756, 0, 0.99686366, 41.56221, 0.45608485, 34.668262) +size = Vector3(3.6057014, 1, 1.53479) + +[node name="CSGBox3D10" type="CSGBox3D" parent="Barricades"] +transform = Transform3D(0.8492482, 0, 0.5279938, 0, 1, 0, -0.5279938, 0, 0.8492482, 50.061623, 0.45608532, 30.479267) +size = Vector3(16.898676, 1, 1.53479) + +[node name="CSGBox3D3" type="CSGBox3D" parent="Barricades"] +transform = Transform3D(0.9575864, 0, -0.28814617, 0, 1, 0, 0.28814617, 0, 0.9575864, 5.3441343, 0.45608485, 9.046034) +size = Vector3(7.9473877, 1, 1.53479) + +[node name="CSGBox3D4" type="CSGBox3D" parent="Barricades"] +transform = Transform3D(0.648731, 0, -0.76101774, 0, 1, 0, 0.76101774, 0, 0.648731, 27.887356, 0.45608485, 20.460127) +size = Vector3(4.827667, 1, 1.53479) + +[node name="TrainOfficeBuilding" type="CSGCombiner3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22.868673, 0, -3.3865008) +use_collision = true +collision_layer = 3 + +[node name="CSGMesh3D" type="CSGMesh3D" parent="TrainOfficeBuilding"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.058979034, 4.258734, 0.15157032) +mesh = SubResource("PrismMesh_uqqn3") +material = ExtResource("4_fwhga") + +[node name="CSGBox3D" type="CSGBox3D" parent="TrainOfficeBuilding"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.601372, 2.3394165, -9.593782) +size = Vector3(22.569397, 4.7297363, 1) +material = ExtResource("3_ov0l2") + +[node name="CSGBox3D2" type="CSGBox3D" parent="TrainOfficeBuilding"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.058979034, 1.4745483, -0.35403585) +size = Vector3(11.1369095, 3, 19.479492) +material = ExtResource("3_ov0l2") + +[node name="CSGBox3D4" type="CSGBox3D" parent="TrainOfficeBuilding"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.6381226, 1.2560248, 6.023167) +operation = 2 +size = Vector3(1.4082031, 2.3910675, 1.2614746) +material = ExtResource("3_ov0l2") + +[node name="CSGBox3D3" type="CSGBox3D" parent="TrainOfficeBuilding"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00834465, 2.9263716, 0.16805792) +operation = 2 +size = Vector3(10.981812, 6.046875, 18.088364) +material = ExtResource("3_ov0l2") + +[node name="CSGMesh3D2" type="CSGMesh3D" parent="TrainOfficeBuilding/CSGBox3D3"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.050634384, 1.1201024, -0.016487598) +operation = 1 +mesh = SubResource("PrismMesh_uqqn3") +material = ExtResource("4_fwhga") + +[node name="CSGBox3D5" type="CSGBox3D" parent="TrainOfficeBuilding/CSGBox3D3"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.4755278, 0) +size = Vector3(10.981812, 2.7924805, 18.088364) +material = ExtResource("3_ov0l2") + +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="TrainOfficeBuilding"] +transform = Transform3D(0.89666426, 0.16031137, -0.41266638, -0.4427113, 0.3246935, -0.83581156, -2.9802322e-08, 0.93213433, 0.3621127, 2.5878162, 3.23487, 7.561322) +operation = 2 +radius = 2.0317383 +height = 5.5615234 +material = ExtResource("4_fwhga") + +[node name="Terrain" type="CSGCombiner3D" parent="."] +material_override = ExtResource("5_mlp7g") +use_collision = true +collision_layer = 3 + +[node name="Floor" type="CSGBox3D" parent="Terrain"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18.464165, -8.931977, 20.789398) +use_collision = true +collision_layer = 3 +size = Vector3(91.67865, 17.87793, 133.65656) +material = ExtResource("5_mlp7g") + +[node name="CSGBox3D3" type="CSGBox3D" parent="Terrain"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17.56762, -2.2319336, 71.10545) +operation = 2 +size = Vector3(98.4565, 5.463867, 39.458916) + +[node name="CSGBox3D4" type="CSGBox3D" parent="Terrain"] +transform = Transform3D(1, 0, 0, 0, 0.7289446, -0.6845726, 0, 0.6845726, 0.7289446, -0.55418396, 1.3600307, 55.553867) +operation = 2 +size = Vector3(56.750885, 17.013428, 15.708218) + +[node name="CSGBox3D5" type="CSGBox3D" parent="Terrain"] +transform = Transform3D(0.9019306, 0.29565397, 0.3148174, 0, 0.72894466, -0.68457264, -0.4318812, 0.61743695, 0.6574575, 49.144215, 1.3600307, 45.100685) +operation = 2 +size = Vector3(48.4361, 17.013428, 15.708218) + +[node name="CSGBox3D" type="CSGBox3D" parent="Terrain"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 39.089996, 2.2101192, 14.606306) +size = Vector3(21.119568, 5.032715, 20.766724) + +[node name="CSGBox3D2" type="CSGBox3D" parent="Terrain"] +transform = Transform3D(0.9639423, 0, 0.26611134, 0, 1, 0, -0.26611134, 0, 0.9639423, 41.72695, 3.3994465, 18.44667) +size = Vector3(19.771835, 7.152649, 29.544586) + +[node name="CSGBox3D6" type="CSGBox3D" parent="Terrain"] +transform = Transform3D(0.9999929, 0, -0.0037699044, 0, 1, 0, 0.0037699044, 0, 0.9999929, 39.75783, 5.102068, -7.709547) +size = Vector3(22.568535, 10.557892, 30.323647) + +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Terrain"] +transform = Transform3D(0.985929, 0, -0.16716453, 1.4613987e-08, -1, 8.619265e-08, -0.16716453, -8.742278e-08, -0.985929, 27.656649, -4.088139, 56.093983) +operation = 2 +radius = 11.173828 +height = 12.339844 +cone = true + +[node name="Walls" type="CSGCombiner3D" parent="."] +material_override = ExtResource("3_ov0l2") +use_collision = true +collision_layer = 3 + +[node name="CSGBox3D3" type="CSGBox3D" parent="Walls"] +transform = Transform3D(0.70710677, 0, 0.70710677, 0, 1, 0, -0.70710677, 0, 0.70710677, 27.380184, 1.0842304, -25.128332) +size = Vector3(0.9373627, 2.5222168, 6.4884033) + +[node name="Gate3" type="CSGBox3D" parent="Walls"] +transform = Transform3D(0.70710677, 0, 0.70710677, 0, 1, 0, -0.70710677, 0, 0.70710677, 27.380184, 1.0842304, -25.128332) +operation = 2 +size = Vector3(2.3339844, 2.5222168, 2.907959) + +[node name="CSGBox3D4" type="CSGBox3D" parent="Walls"] +transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, 25.261387, 1.0842304, -36.373543) +size = Vector3(0.9373627, 2.5222168, 18.57228) + +[node name="CSGBox3D7" type="CSGBox3D" parent="Walls"] +transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, -26.68396, 1.0842304, -1.164149) +size = Vector3(0.9373627, 2.5222168, 57.82794) + +[node name="CSGBox3D8" type="CSGBox3D" parent="Walls"] +transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, -24.338463, 1.583435, 25.750914) +size = Vector3(7.131278, 3.52063, 4) + +[node name="Gate" type="CSGBox3D" parent="Walls"] +transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, -26.72354, 1.583435, 15.778889) +operation = 2 +size = Vector3(3.0129046, 3.52063, 8.718506) + +[node name="Gate4" type="CSGBox3D" parent="Walls"] +transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, -26.72354, 1.583435, -13.250237) +operation = 2 +size = Vector3(1.2832031, 3.52063, 2) + +[node name="CSGBox3D5" type="CSGBox3D" parent="Walls"] +transform = Transform3D(-4.371138e-08, 0, 0.9999999, 0, 1, 0, -0.9999999, 0, -4.371138e-08, 8.878868, 1.0842304, -45.07281) +size = Vector3(0.9373627, 2.5222168, 33.18422) + +[node name="CSGBox3D6" type="CSGBox3D" parent="Walls"] +transform = Transform3D(-0.622337, 0, 0.78274924, 0, 1, 0, -0.78274924, 0, -0.622337, -17.116405, 1.0842304, -37.453484) +size = Vector3(0.9373627, 2.5222168, 24.801651) + +[node name="Gate2" type="CSGBox3D" parent="Walls"] +transform = Transform3D(-0.622337, 0, 0.78274924, 0, 1, 0, -0.78274924, 0, -0.622337, -13.421911, 1.0842304, -40.39085) +operation = 2 +size = Vector3(2.7854004, 2.5222168, 8.642822) + +[node name="CoalHopper" type="CSGCombiner3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12.557669, 9.536743e-07, -5.051857) +material_override = ExtResource("3_ov0l2") +use_collision = true +collision_layer = 3 + +[node name="CSGBox3D" type="CSGBox3D" parent="CoalHopper"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.4025881, 0) +size = Vector3(4.140625, 6.8448486, 4.1083984) + +[node name="CSGBox3D2" type="CSGBox3D" parent="CoalHopper"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.0302432, 0) +operation = 2 +size = Vector3(3.5839844, 4.1001587, 6.69751) + +[node name="CSGBox3D3" type="CSGBox3D" parent="CoalHopper"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.3476784, 0) +operation = 2 +size = Vector3(4.8654785, 2.6992188, 2.899414) + +[node name="WaterTower" type="CSGCombiner3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24.985985, -1.9073486e-06, 10.118264) +material_override = ExtResource("4_fwhga") +use_collision = true +collision_layer = 3 + +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="WaterTower"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.3095703, 0) +radius = 1.9946289 +height = 3.1116815 + +[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="WaterTower"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6.4501963, 0) +radius = 1.7211914 +height = 1.1981988 +cone = true + +[node name="CSGBox3D" type="CSGBox3D" parent="WaterTower"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.6902599, 1.652771, 0) +size = Vector3(0.4609375, 4.305542, 0.4658203) + +[node name="CSGBox3D2" type="CSGBox3D" parent="WaterTower"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.6614895, 1.652771, 0) +size = Vector3(0.4609375, 4.305542, 0.4658203) + +[node name="CSGBox3D3" type="CSGBox3D" parent="WaterTower"] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0.014385223, 1.652771, -1.6758747) +size = Vector3(0.4609375, 4.305542, 0.4658203) + +[node name="CSGBox3D4" type="CSGBox3D" parent="WaterTower"] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0.014385223, 1.652771, 1.6758747) +size = Vector3(0.4609375, 4.305542, 0.4658203) + +[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="WaterTower"] +transform = Transform3D(1, 0, 0, 0, 0.25881907, -0.9659258, 0, 0.9659258, 0.25881907, 0.19168282, 4.422416, 0) +operation = 2 +radius = 1.1635742 +height = 9.2109375 + +[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="WaterTower"] +transform = Transform3D(1, 0, 0, 0, 0.25881907, -0.9659258, 0, 0.9659258, 0.25881907, 1.1534309, 4.8430943, 0) +operation = 2 +radius = 1.5605469 +height = 9.2109375 + +[node name="Factory" type="CSGCombiner3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12.808311, 0, -29.276138) +use_collision = true +collision_layer = 3 + +[node name="CSGBox3D" type="CSGBox3D" parent="Factory"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.0578117, 2.8032026, 2.0178986) +size = Vector3(15.993492, 5.5839844, 22.88858) +material = ExtResource("3_ov0l2") + +[node name="CSGBox3D2" type="CSGBox3D" parent="Factory"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.24971008, 1.5390425, -12.02145) +size = Vector3(9.163574, 3.055664, 6.123976) +material = ExtResource("3_ov0l2") + +[node name="CSGBox3D8" type="CSGBox3D" parent="Factory"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1018524, 1.4662886, -12.176853) +operation = 2 +size = Vector3(4.1708984, 2.9101563, 5.475112) +material = ExtResource("3_ov0l2") + +[node name="CSGBox3D9" type="CSGBox3D" parent="Factory"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.4263372, 1.4662886, -12.176853) +operation = 2 +size = Vector3(4.3881836, 2.9101563, 5.475112) +material = ExtResource("3_ov0l2") + +[node name="CSGBox3D3" type="CSGBox3D" parent="Factory"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.70207, 2.2914839, -5.257988) +size = Vector3(5, 4.560547, 8.097168) +material = ExtResource("3_ov0l2") + +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Factory"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.8431168, 11.138893, -5.469898) +radius = 1.7319336 +height = 16.662964 +material = ExtResource("3_ov0l2") + +[node name="CSGMesh3D" type="CSGMesh3D" parent="Factory"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.0839977, 6.6087074, 2.0231361) +mesh = SubResource("PrismMesh_fwhga") +material = ExtResource("3_ov0l2") + +[node name="CSGMesh3D3" type="CSGMesh3D" parent="Factory"] +transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 0.2475977, 4.0634036, -12.273138) +mesh = SubResource("PrismMesh_ug5on") +material = ExtResource("3_ov0l2") + +[node name="CSGMesh3D2" type="CSGMesh3D" parent="Factory"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.0839977, 6.3398848, 2.0231361) +operation = 2 +mesh = SubResource("PrismMesh_mlp7g") +material = ExtResource("3_ov0l2") + +[node name="CSGBox3D4" type="CSGBox3D" parent="Factory"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.087099, 2.6782637, 2.0961266) +operation = 2 +size = Vector3(15.43455, 5.3341064, 22.080116) +material = ExtResource("3_ov0l2") + +[node name="CSGBox3D5" type="CSGBox3D" parent="Factory"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.5018167, 1.1212721, 11.458132) +operation = 2 +size = Vector3(1.4208984, 2.2201233, 1.1943359) +material = ExtResource("3_ov0l2") + +[node name="CSGBox3D6" type="CSGBox3D" parent="Factory"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.839269, 1.1212721, -7.145172) +operation = 2 +size = Vector3(1.4208984, 2.2201233, 1.1943359) +material = ExtResource("3_ov0l2") + +[node name="CSGBox3D7" type="CSGBox3D" parent="Factory"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.32128143, 1.1212721, -13.52589) +operation = 2 +size = Vector3(9.924805, 2.2201233, 1.1943359) +material = ExtResource("3_ov0l2") + +[node name="SandBagHalfCircle" type="CSGCombiner3D" parent="."] +transform = Transform3D(0.9070073, 0, 0.42111498, 0, 1, 0, -0.42111498, 0, 0.9070073, 19.028877, 0, 30.616728) +material_override = ExtResource("4_fwhga") +use_collision = true +collision_layer = 3 + +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="SandBagHalfCircle"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4421997, 0) +radius = 2.9135742 +height = 0.9998779 + +[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="SandBagHalfCircle"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4421997, 0) +operation = 2 +radius = 2.027832 +height = 0.9998779 + +[node name="CSGBox3D" type="CSGBox3D" parent="SandBagHalfCircle"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.28259277, -1.585083) +operation = 2 +size = Vector3(6.994385, 1.920166, 3.8483887) + +[node name="SandBagHalfCircle3" type="CSGCombiner3D" parent="."] +transform = Transform3D(0.99884844, 0, -0.047978118, 0, 1, 0, 0.047978118, 0, 0.99884844, 29.169577, 0, 32.537735) +material_override = ExtResource("4_fwhga") +use_collision = true +collision_layer = 3 + +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="SandBagHalfCircle3"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4421997, 0) +radius = 2.9135742 +height = 0.9998779 + +[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="SandBagHalfCircle3"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4421997, 0) +operation = 2 +radius = 2.027832 +height = 0.9998779 + +[node name="CSGBox3D" type="CSGBox3D" parent="SandBagHalfCircle3"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.28259277, -1.585083) +operation = 2 +size = Vector3(6.994385, 1.920166, 3.8483887) + +[node name="SandBagHalfCircle2" type="CSGCombiner3D" parent="."] +transform = Transform3D(0.9888579, 0, 0.14886229, 0, 1, 0, -0.14886229, 0, 0.9888579, 17.134563, 0, 17.27418) +material_override = ExtResource("4_fwhga") +use_collision = true +collision_layer = 3 + +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="SandBagHalfCircle2"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4421997, 0) +radius = 2.9135742 +height = 0.9998779 + +[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="SandBagHalfCircle2"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4421997, 0) +operation = 2 +radius = 2.027832 +height = 0.9998779 + +[node name="CSGBox3D" type="CSGBox3D" parent="SandBagHalfCircle2"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.28259277, -1.585083) +operation = 2 +size = Vector3(6.994385, 1.920166, 3.8483887) + +[node name="fieldgun" parent="." instance=ExtResource("6_cfpv2")] +transform = Transform3D(-0.98052907, 0, 0.19637391, 0, 1, 0, -0.19637391, 0, -0.98052907, 17.125233, 0.23345728, 16.820898) + +[node name="fieldgun2" parent="." instance=ExtResource("6_cfpv2")] +transform = Transform3D(-0.9975774, 0, 0.06956488, 0, 1, 0, -0.06956488, 0, -0.9975774, 19.124517, 0.23345728, 29.839201) + +[node name="fieldgun4" parent="." instance=ExtResource("6_cfpv2")] +transform = Transform3D(-0.96191806, 0, 0.27333802, 0, 1, 0, -0.27333802, 0, -0.96191806, -3.145773, 0.23345728, 30.771677) + +[node name="fieldgun5" parent="." instance=ExtResource("6_cfpv2")] +transform = Transform3D(-0.89983207, 0, 0.43623644, 0, 1, 0, -0.43623644, 0, -0.89983207, -11.8824415, 0.23345728, 24.30758) + +[node name="fieldgun3" parent="." instance=ExtResource("6_cfpv2")] +transform = Transform3D(-0.9975774, 0, 0.06956488, 0, 1, 0, -0.06956488, 0, -0.9975774, 29.35518, 0.23345728, 32.084015) + +[node name="CSGMesh3D" type="CSGMesh3D" parent="."] +transform = Transform3D(0.8149154, 0, -0.57957995, 0, 1, 0, 0.57957995, 0, 0.8149154, 5.2960343, 1.3666177, 2.4150891) +use_collision = true +collision_layer = 3 +mesh = SubResource("PrismMesh_ov0l2") +material = ExtResource("4_fwhga") diff --git a/project/menus/main_menu.tscn b/project/menus/main_menu.tscn index a755c59c..c609881a 100644 --- a/project/menus/main_menu.tscn +++ b/project/menus/main_menu.tscn @@ -3,7 +3,7 @@ [sub_resource type="GDScript" id="GDScript_kvqlu"] script/source = "extends Control -@onready var next_scene := preload(\"res://maps/testmap.tscn\") +@onready var next_scene := preload(\"res://maps/industrial_area.tscn\") func _ready(): Input.mouse_mode = Input.MOUSE_MODE_VISIBLE diff --git a/project/objects/props/box_car.tscn b/project/objects/props/box_car.tscn new file mode 100644 index 00000000..1a853d7e --- /dev/null +++ b/project/objects/props/box_car.tscn @@ -0,0 +1,35 @@ +[gd_scene load_steps=2 format=3 uid="uid://ddpwvdbf6ickf"] + +[ext_resource type="Material" uid="uid://b075rlo1f0e4u" path="res://assets/materials/greenish_grid.tres" id="1_72uwo"] + +[node name="BoxCar" type="CSGCombiner3D"] +use_collision = true + +[node name="BoxCar" type="CSGBox3D" parent="."] +use_collision = true +size = Vector3(3.0603027, 3.3165283, 9.339844) +material = ExtResource("1_72uwo") + +[node name="BoxCarInside" type="CSGBox3D" parent="."] +operation = 2 +use_collision = true +size = Vector3(2.7634277, 2.8806152, 9.468506) +material = ExtResource("1_72uwo") + +[node name="Doors" type="CSGBox3D" parent="."] +operation = 2 +use_collision = true +size = Vector3(4.3847656, 2.8806152, 4.5634766) +material = ExtResource("1_72uwo") + +[node name="BoxCar2" type="CSGBox3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.9445362, 3.287201) +use_collision = true +size = Vector3(2.5986328, 0.56643677, 2.3734741) +material = ExtResource("1_72uwo") + +[node name="BoxCar3" type="CSGBox3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.9420872, -3.20991) +use_collision = true +size = Vector3(2.584961, 0.5615387, 2.3734741) +material = ExtResource("1_72uwo") diff --git a/project/objects/props/box_car_enclosed.tscn b/project/objects/props/box_car_enclosed.tscn new file mode 100644 index 00000000..09e0de4e --- /dev/null +++ b/project/objects/props/box_car_enclosed.tscn @@ -0,0 +1,31 @@ +[gd_scene load_steps=2 format=3 uid="uid://hf7yyyiep30l"] + +[ext_resource type="Material" uid="uid://b075rlo1f0e4u" path="res://assets/materials/greenish_grid.tres" id="1_s8bfg"] + +[node name="BoxCarEnclosed" type="CSGCombiner3D"] +use_collision = true +collision_layer = 3 +collision_mask = 0 + +[node name="BoxCar" type="CSGBox3D" parent="."] +use_collision = true +size = Vector3(3.0603027, 3.3165283, 9.339844) +material = ExtResource("1_s8bfg") + +[node name="BoxCarInside" type="CSGBox3D" parent="."] +operation = 2 +use_collision = true +size = Vector3(2.7634277, 2.8806152, 9.468506) +material = ExtResource("1_s8bfg") + +[node name="BoxCar2" type="CSGBox3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.9445362, 3.287201) +use_collision = true +size = Vector3(2.5986328, 0.56643677, 2.3734741) +material = ExtResource("1_s8bfg") + +[node name="BoxCar3" type="CSGBox3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.9420872, -3.20991) +use_collision = true +size = Vector3(2.584961, 0.5615387, 2.3734741) +material = ExtResource("1_s8bfg") diff --git a/project/objects/props/box_car_fully_enclosed.tscn b/project/objects/props/box_car_fully_enclosed.tscn new file mode 100644 index 00000000..bd35ce5d --- /dev/null +++ b/project/objects/props/box_car_fully_enclosed.tscn @@ -0,0 +1,25 @@ +[gd_scene load_steps=2 format=3 uid="uid://eu0yil2ylm0q"] + +[ext_resource type="Material" uid="uid://b075rlo1f0e4u" path="res://assets/materials/greenish_grid.tres" id="1_a5kvp"] + +[node name="BoxCarFullyEnclosed" type="CSGCombiner3D"] +use_collision = true +collision_layer = 3 +collision_mask = 0 + +[node name="BoxCar" type="CSGBox3D" parent="."] +use_collision = true +size = Vector3(3.0603027, 3.3165283, 9.339844) +material = ExtResource("1_a5kvp") + +[node name="BoxCar2" type="CSGBox3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.9445362, 3.287201) +use_collision = true +size = Vector3(2.5986328, 0.56643677, 2.3734741) +material = ExtResource("1_a5kvp") + +[node name="BoxCar3" type="CSGBox3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.9420872, -3.20991) +use_collision = true +size = Vector3(2.584961, 0.5615387, 2.3734741) +material = ExtResource("1_a5kvp")