diff --git a/Assets/Model/Weapons/Canon.glb b/Assets/Model/Weapons/Canon.glb new file mode 100644 index 0000000..2a76f43 Binary files /dev/null and b/Assets/Model/Weapons/Canon.glb differ diff --git a/Assets/Model/Weapons/Canon.glb.import b/Assets/Model/Weapons/Canon.glb.import new file mode 100644 index 0000000..deed7a2 --- /dev/null +++ b/Assets/Model/Weapons/Canon.glb.import @@ -0,0 +1,45 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://df1p6wn43228a" +path="res://.godot/imported/Canon.glb-2e2816fe12000dfedda548448b663bc3.scn" + +[deps] + +source_file="res://Assets/Model/Weapons/Canon.glb" +dest_files=["res://.godot/imported/Canon.glb-2e2816fe12000dfedda548448b663bc3.scn"] + +[params] + +nodes/root_type="Node3D" +nodes/root_name="Scene Root" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +import_script/path="" +_subresources={ +"materials": { +"Copper": { +"use_external/enabled": true, +"use_external/path": "res://Assets/Textures/CopperOxidated/M_Copper.tres" +}, +"CopperNew": { +"use_external/enabled": true, +"use_external/path": "res://Assets/Textures/CopperNew/CleanCopper.tres" +}, +"Plank": { +"use_external/enabled": true, +"use_external/path": "res://Assets/Textures/Wood/M_Wood.tres" +} +} +} diff --git a/Assets/Sounds/_MUSIC_/GameJamGameLoop.wav b/Assets/Sounds/_MUSIC_/GameJamGameLoop.wav new file mode 100644 index 0000000..833d856 Binary files /dev/null and b/Assets/Sounds/_MUSIC_/GameJamGameLoop.wav differ diff --git a/Assets/Sounds/_MUSIC_/GameJamGameLoop.wav.import b/Assets/Sounds/_MUSIC_/GameJamGameLoop.wav.import new file mode 100644 index 0000000..895703f --- /dev/null +++ b/Assets/Sounds/_MUSIC_/GameJamGameLoop.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://c5jhukuk8r3mf" +path="res://.godot/imported/GameJamGameLoop.wav-c8bcea87ea942fc39cb10efef3595ba4.sample" + +[deps] + +source_file="res://Assets/Sounds/_MUSIC_/GameJamGameLoop.wav" +dest_files=["res://.godot/imported/GameJamGameLoop.wav-c8bcea87ea942fc39cb10efef3595ba4.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/Assets/Sounds/_MUSIC_/MenuGameJamLoop.wav b/Assets/Sounds/_MUSIC_/MenuGameJamLoop.wav new file mode 100644 index 0000000..3fed969 Binary files /dev/null and b/Assets/Sounds/_MUSIC_/MenuGameJamLoop.wav differ diff --git a/Assets/Sounds/_MUSIC_/MenuGameJamLoop.wav.import b/Assets/Sounds/_MUSIC_/MenuGameJamLoop.wav.import new file mode 100644 index 0000000..6b6011c --- /dev/null +++ b/Assets/Sounds/_MUSIC_/MenuGameJamLoop.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://bmawra1dgi812" +path="res://.godot/imported/MenuGameJamLoop.wav-b78626804c2a97fb8c90da2879521b3d.sample" + +[deps] + +source_file="res://Assets/Sounds/_MUSIC_/MenuGameJamLoop.wav" +dest_files=["res://.godot/imported/MenuGameJamLoop.wav-b78626804c2a97fb8c90da2879521b3d.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/Assets/Sounds/_SOUNDFX_/Explosion.wav b/Assets/Sounds/_SOUNDFX_/Explosion.wav new file mode 100644 index 0000000..06dd271 Binary files /dev/null and b/Assets/Sounds/_SOUNDFX_/Explosion.wav differ diff --git a/Assets/Sounds/_SOUNDFX_/Explosion.wav.import b/Assets/Sounds/_SOUNDFX_/Explosion.wav.import new file mode 100644 index 0000000..efa800d --- /dev/null +++ b/Assets/Sounds/_SOUNDFX_/Explosion.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://fj0v7v4wuymk" +path="res://.godot/imported/Explosion.wav-0ed45ecf181b161b48e733a79eab9436.sample" + +[deps] + +source_file="res://Assets/Sounds/_SOUNDFX_/Explosion.wav" +dest_files=["res://.godot/imported/Explosion.wav-0ed45ecf181b161b48e733a79eab9436.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/Assets/Sounds/_SOUNDFX_/GleiseLoop.wav b/Assets/Sounds/_SOUNDFX_/GleiseLoop.wav new file mode 100644 index 0000000..88126ac Binary files /dev/null and b/Assets/Sounds/_SOUNDFX_/GleiseLoop.wav differ diff --git a/Assets/Sounds/_SOUNDFX_/GleiseLoop.wav.import b/Assets/Sounds/_SOUNDFX_/GleiseLoop.wav.import new file mode 100644 index 0000000..12f62d1 --- /dev/null +++ b/Assets/Sounds/_SOUNDFX_/GleiseLoop.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://n4ynf7hg2pcl" +path="res://.godot/imported/GleiseLoop.wav-dc9bdee7692ae6f84a098acf2c0d9c00.sample" + +[deps] + +source_file="res://Assets/Sounds/_SOUNDFX_/GleiseLoop.wav" +dest_files=["res://.godot/imported/GleiseLoop.wav-dc9bdee7692ae6f84a098acf2c0d9c00.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/Assets/Sounds/_SOUNDFX_/Gunpowder.wav b/Assets/Sounds/_SOUNDFX_/Gunpowder.wav new file mode 100644 index 0000000..6eb3f14 Binary files /dev/null and b/Assets/Sounds/_SOUNDFX_/Gunpowder.wav differ diff --git a/Assets/Sounds/_SOUNDFX_/Gunpowder.wav.import b/Assets/Sounds/_SOUNDFX_/Gunpowder.wav.import new file mode 100644 index 0000000..6691840 --- /dev/null +++ b/Assets/Sounds/_SOUNDFX_/Gunpowder.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://b52sd64x20ulv" +path="res://.godot/imported/Gunpowder.wav-ecd59218797c519cfbd400864e841744.sample" + +[deps] + +source_file="res://Assets/Sounds/_SOUNDFX_/Gunpowder.wav" +dest_files=["res://.godot/imported/Gunpowder.wav-ecd59218797c519cfbd400864e841744.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/Assets/Sounds/_SOUNDFX_/Kohle.wav b/Assets/Sounds/_SOUNDFX_/Kohle.wav new file mode 100644 index 0000000..c2a1934 Binary files /dev/null and b/Assets/Sounds/_SOUNDFX_/Kohle.wav differ diff --git a/Assets/Sounds/_SOUNDFX_/Kohle.wav.import b/Assets/Sounds/_SOUNDFX_/Kohle.wav.import new file mode 100644 index 0000000..aa0dc79 --- /dev/null +++ b/Assets/Sounds/_SOUNDFX_/Kohle.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://di3yqwqsn5v5s" +path="res://.godot/imported/Kohle.wav-3be444ffc5b94b44e1165ee607f5b311.sample" + +[deps] + +source_file="res://Assets/Sounds/_SOUNDFX_/Kohle.wav" +dest_files=["res://.godot/imported/Kohle.wav-3be444ffc5b94b44e1165ee607f5b311.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/Assets/Sounds/_SOUNDFX_/MotorAn+Laeuft.wav b/Assets/Sounds/_SOUNDFX_/MotorAn+Laeuft.wav new file mode 100644 index 0000000..2e21880 Binary files /dev/null and b/Assets/Sounds/_SOUNDFX_/MotorAn+Laeuft.wav differ diff --git a/Assets/Sounds/_SOUNDFX_/MotorAn+Laeuft.wav.import b/Assets/Sounds/_SOUNDFX_/MotorAn+Laeuft.wav.import new file mode 100644 index 0000000..c7e03ad --- /dev/null +++ b/Assets/Sounds/_SOUNDFX_/MotorAn+Laeuft.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://ctumm3pwwj2lb" +path="res://.godot/imported/MotorAn+Laeuft.wav-6e56719196a851ad47fc3aa6f3d1e6d1.sample" + +[deps] + +source_file="res://Assets/Sounds/_SOUNDFX_/MotorAn+Laeuft.wav" +dest_files=["res://.godot/imported/MotorAn+Laeuft.wav-6e56719196a851ad47fc3aa6f3d1e6d1.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/Assets/Sounds/_SOUNDFX_/MotorLaeuftLoop.wav b/Assets/Sounds/_SOUNDFX_/MotorLaeuftLoop.wav new file mode 100644 index 0000000..0577072 Binary files /dev/null and b/Assets/Sounds/_SOUNDFX_/MotorLaeuftLoop.wav differ diff --git a/Assets/Sounds/_SOUNDFX_/MotorLaeuftLoop.wav.import b/Assets/Sounds/_SOUNDFX_/MotorLaeuftLoop.wav.import new file mode 100644 index 0000000..9e1e0b5 --- /dev/null +++ b/Assets/Sounds/_SOUNDFX_/MotorLaeuftLoop.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://i346p30578gj" +path="res://.godot/imported/MotorLaeuftLoop.wav-271eab3018d7f781ef4d64cccb14ebfe.sample" + +[deps] + +source_file="res://Assets/Sounds/_SOUNDFX_/MotorLaeuftLoop.wav" +dest_files=["res://.godot/imported/MotorLaeuftLoop.wav-271eab3018d7f781ef4d64cccb14ebfe.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/Assets/Sounds/_SOUNDFX_/Muell.wav b/Assets/Sounds/_SOUNDFX_/Muell.wav new file mode 100644 index 0000000..9c8e785 Binary files /dev/null and b/Assets/Sounds/_SOUNDFX_/Muell.wav differ diff --git a/Assets/Sounds/_SOUNDFX_/Muell.wav.import b/Assets/Sounds/_SOUNDFX_/Muell.wav.import new file mode 100644 index 0000000..a336f70 --- /dev/null +++ b/Assets/Sounds/_SOUNDFX_/Muell.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://csenkrbfeeds7" +path="res://.godot/imported/Muell.wav-0399d159285780c0b1ede2eca8ea93bd.sample" + +[deps] + +source_file="res://Assets/Sounds/_SOUNDFX_/Muell.wav" +dest_files=["res://.godot/imported/Muell.wav-0399d159285780c0b1ede2eca8ea93bd.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/Assets/Sounds/_SOUNDFX_/Reload.wav b/Assets/Sounds/_SOUNDFX_/Reload.wav new file mode 100644 index 0000000..02c7f67 Binary files /dev/null and b/Assets/Sounds/_SOUNDFX_/Reload.wav differ diff --git a/Assets/Sounds/_SOUNDFX_/Reload.wav.import b/Assets/Sounds/_SOUNDFX_/Reload.wav.import new file mode 100644 index 0000000..0a40689 --- /dev/null +++ b/Assets/Sounds/_SOUNDFX_/Reload.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://dtbjuy3hs2wq7" +path="res://.godot/imported/Reload.wav-16a3c1cc3c4147d16c001560fcd3725b.sample" + +[deps] + +source_file="res://Assets/Sounds/_SOUNDFX_/Reload.wav" +dest_files=["res://.godot/imported/Reload.wav-16a3c1cc3c4147d16c001560fcd3725b.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/Assets/Sounds/_SOUNDFX_/RepairMetal.wav b/Assets/Sounds/_SOUNDFX_/RepairMetal.wav new file mode 100644 index 0000000..bda5080 Binary files /dev/null and b/Assets/Sounds/_SOUNDFX_/RepairMetal.wav differ diff --git a/Assets/Sounds/_SOUNDFX_/RepairMetal.wav.import b/Assets/Sounds/_SOUNDFX_/RepairMetal.wav.import new file mode 100644 index 0000000..95567ea --- /dev/null +++ b/Assets/Sounds/_SOUNDFX_/RepairMetal.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://ba3o8fhxepgib" +path="res://.godot/imported/RepairMetal.wav-b5168acc8936d40b0398d7769c9e09a7.sample" + +[deps] + +source_file="res://Assets/Sounds/_SOUNDFX_/RepairMetal.wav" +dest_files=["res://.godot/imported/RepairMetal.wav-b5168acc8936d40b0398d7769c9e09a7.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/Assets/Sounds/_SOUNDFX_/SOSloop.wav b/Assets/Sounds/_SOUNDFX_/SOSloop.wav new file mode 100644 index 0000000..dd7f2dc Binary files /dev/null and b/Assets/Sounds/_SOUNDFX_/SOSloop.wav differ diff --git a/Assets/Sounds/_SOUNDFX_/SOSloop.wav.import b/Assets/Sounds/_SOUNDFX_/SOSloop.wav.import new file mode 100644 index 0000000..7b39018 --- /dev/null +++ b/Assets/Sounds/_SOUNDFX_/SOSloop.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://ck8g8frarx4o4" +path="res://.godot/imported/SOSloop.wav-c6952e406703876d320ccd0595341bd2.sample" + +[deps] + +source_file="res://Assets/Sounds/_SOUNDFX_/SOSloop.wav" +dest_files=["res://.godot/imported/SOSloop.wav-c6952e406703876d320ccd0595341bd2.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/Assets/Sounds/_SOUNDFX_/SnowFoot.wav b/Assets/Sounds/_SOUNDFX_/SnowFoot.wav new file mode 100644 index 0000000..9c8e785 Binary files /dev/null and b/Assets/Sounds/_SOUNDFX_/SnowFoot.wav differ diff --git a/Assets/Sounds/_SOUNDFX_/SnowFoot.wav.import b/Assets/Sounds/_SOUNDFX_/SnowFoot.wav.import new file mode 100644 index 0000000..6d80553 --- /dev/null +++ b/Assets/Sounds/_SOUNDFX_/SnowFoot.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://dx6udmaih74hd" +path="res://.godot/imported/SnowFoot.wav-09346a1dfa75de970df9dbcda5c5cb5b.sample" + +[deps] + +source_file="res://Assets/Sounds/_SOUNDFX_/SnowFoot.wav" +dest_files=["res://.godot/imported/SnowFoot.wav-09346a1dfa75de970df9dbcda5c5cb5b.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/Assets/Sounds/_SOUNDFX_/WindLoop.wav b/Assets/Sounds/_SOUNDFX_/WindLoop.wav new file mode 100644 index 0000000..8dd21aa Binary files /dev/null and b/Assets/Sounds/_SOUNDFX_/WindLoop.wav differ diff --git a/Assets/Sounds/_SOUNDFX_/WindLoop.wav.import b/Assets/Sounds/_SOUNDFX_/WindLoop.wav.import new file mode 100644 index 0000000..c1ace23 --- /dev/null +++ b/Assets/Sounds/_SOUNDFX_/WindLoop.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://dovvnflvxtqpi" +path="res://.godot/imported/WindLoop.wav-ecfe7d1bea31999d420cc5961c31f79a.sample" + +[deps] + +source_file="res://Assets/Sounds/_SOUNDFX_/WindLoop.wav" +dest_files=["res://.godot/imported/WindLoop.wav-ecfe7d1bea31999d420cc5961c31f79a.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/Assets/Sounds/_SOUNDFX_/crafted.wav b/Assets/Sounds/_SOUNDFX_/crafted.wav new file mode 100644 index 0000000..c4e9c77 Binary files /dev/null and b/Assets/Sounds/_SOUNDFX_/crafted.wav differ diff --git a/Assets/Sounds/_SOUNDFX_/crafted.wav.import b/Assets/Sounds/_SOUNDFX_/crafted.wav.import new file mode 100644 index 0000000..2fedb1b --- /dev/null +++ b/Assets/Sounds/_SOUNDFX_/crafted.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://drkqs0xu3k1n6" +path="res://.godot/imported/crafted.wav-e69bedd2f6ab3fa9767e31813cc6ddc0.sample" + +[deps] + +source_file="res://Assets/Sounds/_SOUNDFX_/crafted.wav" +dest_files=["res://.godot/imported/crafted.wav-e69bedd2f6ab3fa9767e31813cc6ddc0.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/Assets/Sounds/_SOUNDFX_/somethingIDK.wav b/Assets/Sounds/_SOUNDFX_/somethingIDK.wav new file mode 100644 index 0000000..ecc2d0f Binary files /dev/null and b/Assets/Sounds/_SOUNDFX_/somethingIDK.wav differ diff --git a/Assets/Sounds/_SOUNDFX_/somethingIDK.wav.import b/Assets/Sounds/_SOUNDFX_/somethingIDK.wav.import new file mode 100644 index 0000000..db514c6 --- /dev/null +++ b/Assets/Sounds/_SOUNDFX_/somethingIDK.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://b51delj0a3lgs" +path="res://.godot/imported/somethingIDK.wav-dd5ef85771ba1eb75ca511393863afa4.sample" + +[deps] + +source_file="res://Assets/Sounds/_SOUNDFX_/somethingIDK.wav" +dest_files=["res://.godot/imported/somethingIDK.wav-dd5ef85771ba1eb75ca511393863afa4.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/Assets/Textures/CopperNew/CleanCopper.tres b/Assets/Textures/CopperNew/CleanCopper.tres new file mode 100644 index 0000000..cbd4aa8 --- /dev/null +++ b/Assets/Textures/CopperNew/CleanCopper.tres @@ -0,0 +1,13 @@ +[gd_resource type="StandardMaterial3D" load_steps=4 format=3 uid="uid://6iimuun6ruv4"] + +[ext_resource type="Texture2D" uid="uid://dbjxy01lkuvle" path="res://Assets/Textures/CopperNew/copper_Metallic.png" id="1_xkanr"] +[ext_resource type="Texture2D" uid="uid://bh776vcqbunoi" path="res://Assets/Textures/CopperNew/copper_Normal.png" id="2_vx0hn"] +[ext_resource type="Texture2D" uid="uid://dwlxmetf7l5gf" path="res://Assets/Textures/CopperNew/copper_Rougness.png" id="3_wnjt4"] + +[resource] +albedo_color = Color(0.52549, 0.509804, 0.54902, 1) +metallic = 1.0 +metallic_texture = ExtResource("1_xkanr") +roughness_texture = ExtResource("3_wnjt4") +normal_enabled = true +normal_texture = ExtResource("2_vx0hn") diff --git a/Assets/Textures/CopperNew/copper_Metallic.png b/Assets/Textures/CopperNew/copper_Metallic.png new file mode 100644 index 0000000..0c4125a Binary files /dev/null and b/Assets/Textures/CopperNew/copper_Metallic.png differ diff --git a/Assets/Textures/CopperNew/copper_Metallic.png.import b/Assets/Textures/CopperNew/copper_Metallic.png.import new file mode 100644 index 0000000..b18c150 --- /dev/null +++ b/Assets/Textures/CopperNew/copper_Metallic.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dbjxy01lkuvle" +path.s3tc="res://.godot/imported/copper_Metallic.png-ae3c85d788ee1e58cb36ec2a4a0a050b.s3tc.ctex" +path.etc2="res://.godot/imported/copper_Metallic.png-ae3c85d788ee1e58cb36ec2a4a0a050b.etc2.ctex" +metadata={ +"imported_formats": ["s3tc", "etc2"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Textures/CopperNew/copper_Metallic.png" +dest_files=["res://.godot/imported/copper_Metallic.png-ae3c85d788ee1e58cb36ec2a4a0a050b.s3tc.ctex", "res://.godot/imported/copper_Metallic.png-ae3c85d788ee1e58cb36ec2a4a0a050b.etc2.ctex"] + +[params] + +compress/mode=2 +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/bptc_ldr=0 +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 diff --git a/Assets/Textures/CopperNew/copper_Normal.png b/Assets/Textures/CopperNew/copper_Normal.png new file mode 100644 index 0000000..558106e Binary files /dev/null and b/Assets/Textures/CopperNew/copper_Normal.png differ diff --git a/Assets/Textures/CopperNew/copper_Normal.png.import b/Assets/Textures/CopperNew/copper_Normal.png.import new file mode 100644 index 0000000..144bb50 --- /dev/null +++ b/Assets/Textures/CopperNew/copper_Normal.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bh776vcqbunoi" +path.s3tc="res://.godot/imported/copper_Normal.png-f6cf1169750e9a792adead9e1cb66c00.s3tc.ctex" +path.etc2="res://.godot/imported/copper_Normal.png-f6cf1169750e9a792adead9e1cb66c00.etc2.ctex" +metadata={ +"imported_formats": ["s3tc", "etc2"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Textures/CopperNew/copper_Normal.png" +dest_files=["res://.godot/imported/copper_Normal.png-f6cf1169750e9a792adead9e1cb66c00.s3tc.ctex", "res://.godot/imported/copper_Normal.png-f6cf1169750e9a792adead9e1cb66c00.etc2.ctex"] + +[params] + +compress/mode=2 +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/bptc_ldr=0 +compress/normal_map=1 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=1 +roughness/src_normal="res://Assets/Textures/CopperNew/copper_Normal.png" +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/Assets/Textures/CopperNew/copper_Rougness.png b/Assets/Textures/CopperNew/copper_Rougness.png new file mode 100644 index 0000000..74579a4 Binary files /dev/null and b/Assets/Textures/CopperNew/copper_Rougness.png differ diff --git a/Assets/Textures/CopperNew/copper_Rougness.png.import b/Assets/Textures/CopperNew/copper_Rougness.png.import new file mode 100644 index 0000000..3e2d03c --- /dev/null +++ b/Assets/Textures/CopperNew/copper_Rougness.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwlxmetf7l5gf" +path.s3tc="res://.godot/imported/copper_Rougness.png-3cfd3f1bf077a4b823808a312e357c2c.s3tc.ctex" +path.etc2="res://.godot/imported/copper_Rougness.png-3cfd3f1bf077a4b823808a312e357c2c.etc2.ctex" +metadata={ +"imported_formats": ["s3tc", "etc2"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Textures/CopperNew/copper_Rougness.png" +dest_files=["res://.godot/imported/copper_Rougness.png-3cfd3f1bf077a4b823808a312e357c2c.s3tc.ctex", "res://.godot/imported/copper_Rougness.png-3cfd3f1bf077a4b823808a312e357c2c.etc2.ctex"] + +[params] + +compress/mode=2 +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/bptc_ldr=0 +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 diff --git a/Nodes/Bin.tscn b/Nodes/Bin.tscn index fb841cc..e5782ae 100644 --- a/Nodes/Bin.tscn +++ b/Nodes/Bin.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=4 format=3 uid="uid://iuoepenpnktv"] +[gd_scene load_steps=4 format=3 uid="uid://bkpnrgcfr1jgl"] [ext_resource type="Texture2D" uid="uid://pwyskequsdls" path="res://bin.png" id="1_krl02"] [ext_resource type="Script" path="res://scripts/Modules/Bin.gd" id="1_saxpo"] diff --git a/Nodes/Keys.png b/Nodes/Keys.png new file mode 100644 index 0000000..5d531bb Binary files /dev/null and b/Nodes/Keys.png differ diff --git a/Nodes/Keys.png.import b/Nodes/Keys.png.import new file mode 100644 index 0000000..d01b756 --- /dev/null +++ b/Nodes/Keys.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://7qppu15lvd1j" +path.s3tc="res://.godot/imported/Keys.png-cbe66c8e5c30f379fc899081aa9795b6.s3tc.ctex" +path.etc2="res://.godot/imported/Keys.png-cbe66c8e5c30f379fc899081aa9795b6.etc2.ctex" +metadata={ +"imported_formats": ["s3tc", "etc2"], +"vram_texture": true +} + +[deps] + +source_file="res://Nodes/Keys.png" +dest_files=["res://.godot/imported/Keys.png-cbe66c8e5c30f379fc899081aa9795b6.s3tc.ctex", "res://.godot/imported/Keys.png-cbe66c8e5c30f379fc899081aa9795b6.etc2.ctex"] + +[params] + +compress/mode=2 +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/bptc_ldr=0 +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 diff --git a/Nodes/Player.tscn b/Nodes/Player.tscn index 6a99028..4927bd4 100644 --- a/Nodes/Player.tscn +++ b/Nodes/Player.tscn @@ -1,6 +1,7 @@ -[gd_scene load_steps=4 format=3 uid="uid://vwjd5od63jgh"] +[gd_scene load_steps=5 format=3 uid="uid://vwjd5od63jgh"] [ext_resource type="Script" path="res://scripts/Player.gd" id="1_dta8q"] +[ext_resource type="Texture2D" uid="uid://7qppu15lvd1j" path="res://Nodes/Keys.png" id="2_h1504"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_h8ivv"] radius = 0.494048 @@ -21,3 +22,24 @@ shape = SubResource("CylinderShape3D_h8ivv") [node name="CollisionShape3D" type="CollisionShape3D" parent="HitBox"] transform = Transform3D(2.74062, 0, 0, 0, 2.24144, 0, 0, 0, 2.70992, 0, 0, 0) shape = SubResource("CylinderShape3D_8lrgm") + +[node name="MiniGameButton0" type="Sprite3D" parent="."] +transform = Transform3D(8, 0, 0, 0, -3.93403e-07, 1, 0, -9, -4.37114e-08, 0, 6, 0) +texture = ExtResource("2_h1504") +hframes = 5 +vframes = 8 +frame = 26 + +[node name="MiniGameButton1" type="Sprite3D" parent="."] +transform = Transform3D(8, 0, 0, 0, -3.93403e-07, 1, 0, -9, -4.37114e-08, 1.5, 6, 0) +texture = ExtResource("2_h1504") +hframes = 5 +vframes = 8 +frame = 26 + +[node name="MiniGameButton2" type="Sprite3D" parent="."] +transform = Transform3D(8, 0, 0, 0, -3.93403e-07, 1, 0, -9, -4.37114e-08, 3, 6, 0) +texture = ExtResource("2_h1504") +hframes = 5 +vframes = 8 +frame = 26 diff --git a/Nodes/Train_P1.tscn b/Nodes/Train_P1.tscn index d2c83f5..d8d140f 100644 --- a/Nodes/Train_P1.tscn +++ b/Nodes/Train_P1.tscn @@ -1,6 +1,7 @@ -[gd_scene load_steps=20 format=3 uid="uid://md2ofbviios3"] +[gd_scene load_steps=22 format=3 uid="uid://md2ofbviios3"] [ext_resource type="Script" path="res://scripts/Train.gd" id="1_0x664"] +[ext_resource type="PackedScene" uid="uid://bhivunrkj87cy" path="res://Nodes/engine.tscn" id="3_1ix85"] [ext_resource type="PackedScene" uid="uid://vwjd5od63jgh" path="res://Nodes/Player.tscn" id="3_in6up"] [ext_resource type="PackedScene" uid="uid://c1mymb38wqdg6" path="res://Nodes/train.tscn" id="3_jmv6b"] [ext_resource type="PackedScene" uid="uid://cet80w4yr8rse" path="res://Storage.tscn" id="4_5jw5g"] @@ -14,6 +15,7 @@ [ext_resource type="Texture2D" uid="uid://ctbxpx6p36bdi" path="res://walking_ball2.png" id="8_0u1e2"] [ext_resource type="Texture2D" uid="uid://ckdlv6b7okseq" path="res://walking_powder2.png" id="10_a137a"] [ext_resource type="Texture2D" uid="uid://b5ioch3ad8y6r" path="res://walking_coal2.png" id="11_1jgcf"] +[ext_resource type="PackedScene" uid="uid://bkpnrgcfr1jgl" path="res://Nodes/Bin.tscn" id="16_q3kvk"] [sub_resource type="BoxShape3D" id="BoxShape3D_okaqh"] size = Vector3(1, 3.77669, 24) @@ -122,4 +124,17 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.31598, 0.0193453, 0.876562 currentType = 2 [node name="Cannon" parent="." instance=ExtResource("5_vgxqe")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.4817, 1.2303, 0.0486939) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.32927, 1.2303, 0.0486939) + +[node name="Cannon2" parent="." instance=ExtResource("5_vgxqe")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.38381, 1.2303, 5.95106) + +[node name="Engine" parent="." instance=ExtResource("3_1ix85")] +transform = Transform3D(-6.55671e-08, 0, 1.5, 0, 1.5, 0, -1.5, 0, -6.55671e-08, -3.45639, 1.1688, 9) + +[node name="Bin" parent="." instance=ExtResource("16_q3kvk")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.70291, -0.287106, 10.1948) + +[node name="Storage3" parent="." instance=ExtResource("4_5jw5g")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.63306, -0.501894, -11.5457) +currentType = 1 diff --git a/Nodes/UI.tscn b/Nodes/UI.tscn index 83a320b..aeb5e24 100644 --- a/Nodes/UI.tscn +++ b/Nodes/UI.tscn @@ -1,10 +1,12 @@ -[gd_scene load_steps=5 format=3 uid="uid://cys06pnxfjl2m"] +[gd_scene load_steps=6 format=3 uid="uid://cys06pnxfjl2m"] [ext_resource type="Texture2D" uid="uid://b8rsm7uapp583" path="res://undefined - Imgur (1).png" id="1_cb7ct"] [ext_resource type="Texture2D" uid="uid://44lfs83sax35" path="res://undefined - Imgur.png" id="2_udann"] [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_fir3c"] +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_3mtn2"] + [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_oa1ad"] [node name="Control" type="Control"] @@ -19,6 +21,7 @@ size_flags_horizontal = 4 [node name="Panel" type="Panel" parent="."] custom_minimum_size = Vector2(15, 0) +layout_mode = 1 anchors_preset = 13 anchor_left = 0.5 anchor_right = 0.5 @@ -27,6 +30,7 @@ grow_horizontal = 2 grow_vertical = 2 [node name="VSlider" type="VSlider" parent="."] +layout_mode = 1 anchors_preset = 13 anchor_left = 0.5 anchor_right = 0.5 @@ -38,11 +42,13 @@ grow_vertical = 2 pivot_offset = Vector2(32, 0) theme_override_icons/grabber_disabled = ExtResource("1_cb7ct") theme_override_styles/grabber_area = SubResource("StyleBoxTexture_fir3c") +theme_override_styles/grabber_area_highlight = SubResource("StyleBoxTexture_3mtn2") max_value = 150.0 editable = false scrollable = false [node name="VSlider2" type="VSlider" parent="."] +layout_mode = 1 anchors_preset = 13 anchor_left = 0.5 anchor_right = 0.5 @@ -53,6 +59,7 @@ grow_horizontal = 2 grow_vertical = 2 theme_override_icons/grabber_disabled = ExtResource("2_udann") theme_override_styles/grabber_area = SubResource("StyleBoxTexture_oa1ad") +theme_override_styles/grabber_area_highlight = SubResource("StyleBoxTexture_3mtn2") max_value = 150.0 value = 50.0 editable = false diff --git a/Nodes/cannon.tscn b/Nodes/cannon.tscn index 79804ba..88ba1e5 100644 --- a/Nodes/cannon.tscn +++ b/Nodes/cannon.tscn @@ -1,16 +1,12 @@ -[gd_scene load_steps=4 format=3 uid="uid://byo1m0n20yl45"] +[gd_scene load_steps=3 format=3 uid="uid://byo1m0n20yl45"] [ext_resource type="Script" path="res://scripts/Modules/Cannon.gd" id="1_vdn0s"] -[sub_resource type="CylinderShape3D" id="CylinderShape3D_2geka"] - -[sub_resource type="CylinderMesh" id="CylinderMesh_g6oe4"] +[sub_resource type="BoxShape3D" id="BoxShape3D_sm3et"] +size = Vector3(3.10406, 3, 2) [node name="Cannon" type="StaticBody3D"] script = ExtResource("1_vdn0s") [node name="CollisionShape3D" type="CollisionShape3D" parent="."] -shape = SubResource("CylinderShape3D_2geka") - -[node name="MeshInstance3D" type="MeshInstance3D" parent="."] -mesh = SubResource("CylinderMesh_g6oe4") +shape = SubResource("BoxShape3D_sm3et") diff --git a/Nodes/engine.tscn b/Nodes/engine.tscn new file mode 100644 index 0000000..8445e1a --- /dev/null +++ b/Nodes/engine.tscn @@ -0,0 +1,17 @@ +[gd_scene load_steps=4 format=3 uid="uid://bhivunrkj87cy"] + +[ext_resource type="Script" path="res://scripts/Modules/Engine.gd" id="1_8ew0t"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_qba77"] + +[sub_resource type="BoxMesh" id="BoxMesh_wu8t1"] + +[node name="Engine" type="StaticBody3D"] +script = ExtResource("1_8ew0t") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 0, 0) +shape = SubResource("BoxShape3D_qba77") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="."] +mesh = SubResource("BoxMesh_wu8t1") diff --git a/Nodes/game.tscn b/Nodes/game.tscn index 2aa1b2d..52e330d 100644 --- a/Nodes/game.tscn +++ b/Nodes/game.tscn @@ -42,7 +42,7 @@ near = 0.041 transform = Transform3D(1, 0, 3.55271e-15, 0, 1, 0, -3.55271e-15, 0, 1, -10, 0, 0) [node name="Train2" parent="." instance=ExtResource("4_lmu0s")] -transform = Transform3D(1, 0, 3.55271e-15, 0, 1, 0, -3.55271e-15, 0, 1, 10, 0, 0) +transform = Transform3D(1, 0, 3.55271e-15, 0, 1, 0, -3.55271e-15, 0, 1, 9.90113, -0.0549407, -0.085681) [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] transform = Transform3D(0.875944, -0.294781, 0.381872, -0.0210188, 0.767515, 0.640687, -0.481955, -0.569232, 0.666104, 0, 8.25958, 0) diff --git a/Nodes/light_setup.tscn b/Nodes/light_setup.tscn new file mode 100644 index 0000000..5fe0b90 --- /dev/null +++ b/Nodes/light_setup.tscn @@ -0,0 +1,30 @@ +[gd_scene load_steps=4 format=3 uid="uid://crj1k7txwig77"] + +[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_ghq3e"] +sky_top_color = Color(0.662745, 0.356863, 0.129412, 1) +sky_horizon_color = Color(0.815686, 0.145098, 0.254902, 1) + +[sub_resource type="Sky" id="Sky_y00o5"] +sky_material = SubResource("ProceduralSkyMaterial_ghq3e") +process_mode = 1 + +[sub_resource type="Environment" id="Environment_t4j8q"] +background_mode = 2 +background_energy_multiplier = 0.78 +sky = SubResource("Sky_y00o5") +ambient_light_source = 3 +tonemap_mode = 2 +ssao_enabled = true +ssao_power = 9.0943 +ssao_detail = 1.31 +ssao_horizon = 0.21 +ssil_enabled = true + +[node name="LightSetup" type="Node"] + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(0.722372, -0.152892, 0.674391, -0.260844, 0.842959, 0.470511, -0.640421, -0.515795, 0.569048, 0, 8.25958, 0) +shadow_enabled = true + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_t4j8q") diff --git a/Nodes/train.tscn b/Nodes/train.tscn index 030c11f..d23f5df 100644 --- a/Nodes/train.tscn +++ b/Nodes/train.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=10 format=3 uid="uid://c1mymb38wqdg6"] +[gd_scene load_steps=11 format=3 uid="uid://c1mymb38wqdg6"] [ext_resource type="PackedScene" uid="uid://by5dkvik2ti0a" path="res://Assets/Model/Train/TrainFloorTile4x4.glb" id="1_ruoy4"] [ext_resource type="PackedScene" uid="uid://bbt38m8mno0d2" path="res://Assets/Model/Train/TrainWall.glb" id="2_ph0y0"] @@ -9,6 +9,7 @@ [ext_resource type="PackedScene" uid="uid://gihk416gd7tx" path="res://Assets/Model/Train/TrainPillarArcExtention.glb" id="7_87n8g"] [ext_resource type="PackedScene" uid="uid://dfljj7kor8v2j" path="res://Assets/Model/Train/TrainPillarWood.glb" id="7_hd70v"] [ext_resource type="PackedScene" uid="uid://08f17h0im640" path="res://Assets/Model/Train/TrainWallInterior.glb" id="9_yvbc7"] +[ext_resource type="PackedScene" uid="uid://df1p6wn43228a" path="res://Assets/Model/Weapons/Canon.glb" id="10_54n3n"] [node name="train" type="Node3D"] @@ -127,3 +128,9 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -2) [node name="TrainWallInterior3" parent="." instance=ExtResource("9_yvbc7")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, -2) + +[node name="Canon" parent="." instance=ExtResource("10_54n3n")] +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 6.14337, 0, 1.47043) + +[node name="Canon2" parent="." instance=ExtResource("10_54n3n")] +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 2.07371, 0, 1.47043) diff --git a/menu/main_menu.tscn b/menu/main_menu.tscn index d285d37..0c6fa65 100644 --- a/menu/main_menu.tscn +++ b/menu/main_menu.tscn @@ -34,27 +34,27 @@ grow_horizontal = 2 grow_vertical = 2 [node name="Start" type="Button" parent="VBoxContainer"] -offset_right = 72.0 +offset_right = 87.0 offset_bottom = 31.0 text = "Start " [node name="Tutorial" type="Button" parent="VBoxContainer"] offset_top = 35.0 -offset_right = 72.0 +offset_right = 87.0 offset_bottom = 66.0 text = "Tutorial " [node name="Settings" type="Button" parent="VBoxContainer"] offset_top = 70.0 -offset_right = 72.0 +offset_right = 87.0 offset_bottom = 101.0 text = "Volume:" [node name="VolSlider" type="HSlider" parent="VBoxContainer"] offset_top = 105.0 -offset_right = 72.0 +offset_right = 87.0 offset_bottom = 121.0 min_value = -30.0 max_value = 0.0 @@ -62,11 +62,14 @@ script = ExtResource("2_h85ei") [node name="Quit" type="Button" parent="VBoxContainer"] offset_top = 125.0 -offset_right = 72.0 +offset_right = 87.0 offset_bottom = 156.0 text = "Quit" [node name="FullScreen" type="Button" parent="VBoxContainer"] +offset_top = 160.0 +offset_right = 87.0 +offset_bottom = 191.0 text = "Fullscreen" [connection signal="pressed" from="VBoxContainer/Start" to="." method="_on_start_pressed"] diff --git a/project.godot b/project.godot index 127a278..180b597 100644 --- a/project.godot +++ b/project.godot @@ -29,7 +29,7 @@ _global_script_classes=[{ "language": &"GDScript", "path": "res://scripts/Logic/MapNode.gd" }, { -"base": "Node", +"base": "StaticBody3D", "class": &"Module", "language": &"GDScript", "path": "res://scripts/Modules/Module.gd" @@ -137,3 +137,8 @@ p2_interact={ "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":46,"unicode":0,"echo":false,"script":null) ] } +p1_extra={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":88,"unicode":0,"echo":false,"script":null) +] +} diff --git a/scripts/Modules/Bin.gd b/scripts/Modules/Bin.gd index 973f149..d4c5dcc 100644 --- a/scripts/Modules/Bin.gd +++ b/scripts/Modules/Bin.gd @@ -6,4 +6,4 @@ class_name Bin #------------Methods-------------# func interact(player): - player.inventory = 0 + player.clearInventory() diff --git a/scripts/Modules/Cannon.gd b/scripts/Modules/Cannon.gd index e1f498c..bf1c99d 100644 --- a/scripts/Modules/Cannon.gd +++ b/scripts/Modules/Cannon.gd @@ -22,19 +22,17 @@ func interact(player): if player.getResource() == 0: if currentStashValue < maxStashValue: currentStashValue += 1 + player.clearInventory() return - return + if player.getResource() == 1: if currentPowderStashValue < maxPowderStashValue: currentPowderStashValue += 1 + player.clearInventory() return return func shoot(): - if not CAN_ENGAGE: - return false - CAN_ENGAGE = false - create_tween().tween_callback(func(): CAN_ENGAGE = true).set_delay(2) if currentStashValue >= 1 and currentPowderStashValue >= 1 and currentState == STATE.INACTIVE: currentState = STATE.SHOOTING currentStashValue -= 1 diff --git a/scripts/Modules/Engine.gd b/scripts/Modules/Engine.gd index 6e87fe8..e75716f 100644 --- a/scripts/Modules/Engine.gd +++ b/scripts/Modules/Engine.gd @@ -16,18 +16,24 @@ func _ready(): currentState = STATE.RUNNING #TODO: FINISH func interact(player): + if player.getResource() != 2: + return if currentState == STATE.RUNNING: if (train.current_speed + refuelRate) <= maxSpeed: train.current_speed += refuelRate + player.clearInventory() if train.current_speed >= maxSpeed: train.current_speed = maxSpeed + return - #TODO: Repair Train - currentState = STATE.RUNNING -# + + + func _process(delta): if not train.is_dead(): train.current_speed -= 0.1 * delta + print(train.current_speed) + diff --git a/scripts/Modules/Module.gd b/scripts/Modules/Module.gd index 6feadaa..2576f2a 100644 --- a/scripts/Modules/Module.gd +++ b/scripts/Modules/Module.gd @@ -34,9 +34,9 @@ func _set_currentStashValue(newValue): func _get_currentStashValue(): return currentStashValue func _set_maxStashValue(newValue): - currentStashValue = newValue + maxStashValue = newValue func _get_maxStashValue(): - return currentStashValue + return maxStashValue func _set_level(newValue): level = newValue func _get_level(): diff --git a/scripts/Player.gd b/scripts/Player.gd index 73aa19b..66ef5fa 100644 --- a/scripts/Player.gd +++ b/scripts/Player.gd @@ -14,10 +14,68 @@ var idle enum TYPE {AMMO, GUNPOWDER, FUEL} +var P1inMiniGame = 0 +var P2inMiniGame = 0 +var MiniGame = [-1, -1, -1] +var MiniGamePos = 0 +var rng = RandomNumberGenerator.new() #---------------Methods--------------# func _ready(): walking = "walking" idle = "idle" + $MiniGameButton0.hide() + $MiniGameButton1.hide() + $MiniGameButton2.hide() + +func miniGameColor(input: int, red: int): + if(input == 0): + $MiniGameButton0.modulate = Color(1,1,red) + if(input == 1): + $MiniGameButton1.modulate = Color(1,1,red) + if(input == 2): + $MiniGameButton2.modulate = Color(1,1,red) + +func miniGameReset(): + MiniGamePos = 0 + miniGameColor(0,1) + miniGameColor(1,1) + miniGameColor(2,1) + MiniGame[0] = rng.randi_range(0, 3) + miniGameSetArrow(0) + MiniGame[1] = rng.randi_range(0, 3) + miniGameSetArrow(1) + MiniGame[2] = rng.randi_range(0, 3) + miniGameSetArrow(2) + +func miniGameSetArrow(buttonNr: int): + if(buttonNr == 0): + $MiniGameButton0.frame = 26 + MiniGame[0] + if(buttonNr == 1): + $MiniGameButton1.frame = 26 + MiniGame[1] + if(buttonNr == 2): + $MiniGameButton2.frame = 26 + MiniGame[2] + +func miniGameCheck(input : int): + if(input == MiniGame[MiniGamePos]): + miniGameColor(MiniGamePos, 0) + MiniGamePos = MiniGamePos +1 + else: + miniGameReset() + + if(MiniGamePos >= 3): + $MiniGameButton0.hide() + $MiniGameButton1.hide() + $MiniGameButton2.hide() + P1inMiniGame = 0 + miniGameReset() + +func _process(delta): + if Input.is_action_just_pressed("p1_extra"): + if(P1inMiniGame == 0): + P1inMiniGame = 1 + $MiniGameButton0.show() + $MiniGameButton1.show() + $MiniGameButton2.show() func _physics_process(delta): if(velocity.length() > 0): @@ -40,23 +98,43 @@ func _physics_process(delta): func check_input(): if is_player1: - if Input.is_action_pressed("p1_left"): - movement.x -= 1 - if Input.is_action_pressed("p1_right"): - movement.x += 1 - if Input.is_action_pressed("p1_up"): - movement.z -= 1 - if Input.is_action_pressed("p1_down"): - movement.z += 1 + if(!P1inMiniGame): + if Input.is_action_pressed("p1_left"): + movement.x -= 1 + if Input.is_action_pressed("p1_right"): + movement.x += 1 + if Input.is_action_pressed("p1_up"): + movement.z -= 1 + if Input.is_action_pressed("p1_down"): + movement.z += 1 + else: + if Input.is_action_just_pressed("p1_up"): + miniGameCheck(0) + if Input.is_action_just_pressed("p1_right"): + miniGameCheck(1) + if Input.is_action_just_pressed("p1_down"): + miniGameCheck(2) + if Input.is_action_just_pressed("p1_left"): + miniGameCheck(3) else: - if Input.is_action_pressed("p2_left"): - movement.x -= 1 - if Input.is_action_pressed("p2_right"): - movement.x += 1 - if Input.is_action_pressed("p2_up"): - movement.z -= 1 - if Input.is_action_pressed("p2_down"): - movement.z += 1 + if(!P2inMiniGame): + if Input.is_action_pressed("p2_left"): + movement.x -= 1 + if Input.is_action_pressed("p2_right"): + movement.x += 1 + if Input.is_action_pressed("p2_up"): + movement.z -= 1 + if Input.is_action_pressed("p2_down"): + movement.z += 1 + else: + if Input.is_action_just_pressed("p2_up"): + miniGameCheck(0) + if Input.is_action_just_pressed("p2_right"): + miniGameCheck(1) + if Input.is_action_just_pressed("p2_down"): + miniGameCheck(2) + if Input.is_action_just_pressed("p2_left"): + miniGameCheck(3) func check_interaction(): var action @@ -95,5 +173,7 @@ func getResource(): func clearInventory(): inventory = 0 + print("cleared") walking = "walking" idle = "idle" + diff --git a/scripts/Train.gd b/scripts/Train.gd index c0228a5..d52c2d9 100644 --- a/scripts/Train.gd +++ b/scripts/Train.gd @@ -33,3 +33,15 @@ func is_dead(): game_over.emit() return true return false + +func on_pickup(type, amount): + for s in STORAGES: + if s.currentType == type: + if s.currentStashValue + amount <= s.maxStashValue: + s.currentStashValue += amount + else: + s.currentStashValue = s.maxStashValue + + return + +