diff --git a/3D/Guns/Laser_Rifle.blend b/3D/Guns/Laser_Rifle.blend new file mode 100644 index 00000000..c12ae23c Binary files /dev/null and b/3D/Guns/Laser_Rifle.blend differ diff --git a/3D/Guns/Laser_Rifle.blend.import b/3D/Guns/Laser_Rifle.blend.import new file mode 100644 index 00000000..a3d40b18 --- /dev/null +++ b/3D/Guns/Laser_Rifle.blend.import @@ -0,0 +1,53 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://twx4lixk0elc" +path="res://.godot/imported/Laser_Rifle.blend-905c863fffd5513e98a41e34d498aa94.scn" + +[deps] + +source_file="res://3D/Guns/Laser_Rifle.blend" +dest_files=["res://.godot/imported/Laser_Rifle.blend-905c863fffd5513e98a41e34d498aa94.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +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="" +_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 diff --git a/3D/Guns/Laser_Rifle.blend1 b/3D/Guns/Laser_Rifle.blend1 new file mode 100644 index 00000000..5fd06a80 Binary files /dev/null and b/3D/Guns/Laser_Rifle.blend1 differ diff --git a/Cirno.csproj b/Cirno.csproj index afde3cb6..ff0cdeff 100644 --- a/Cirno.csproj +++ b/Cirno.csproj @@ -1,4 +1,4 @@ - + net8.0 true diff --git a/Scenes/Maps/RogueliteMaps/Beginner1.tscn b/Scenes/Maps/RogueliteMaps/Beginner1.tscn index fbf51741..6a6611e5 100644 --- a/Scenes/Maps/RogueliteMaps/Beginner1.tscn +++ b/Scenes/Maps/RogueliteMaps/Beginner1.tscn @@ -46,7 +46,7 @@ RoomClearActivation = [] metadata/test_scene = "res://Scenes/Maps/Roguelike.tscn" [node name="Floor" type="TileMapLayer" parent="." node_paths=PackedStringArray("_solidLayers") groups=["Solid"]] -tile_map_data = PackedByteArray("AAAAAAIAAAAEAAAAAAAAAAMAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAAUAAAALAAcAAAAAAAYAAAAEAAAAAAAAAAcAAAAEAAAAAAAAAAgAAAAEAAAAAAAAAAkAAAAEAAAAAAABAAIAAAAEAAAAAAABAAMAAAALAAcAAAABAAQAAAALAAcAAAABAAUAAAALAAcAAAABAAYAAAALAAcAAAABAAcAAAALAAcAAAABAAgAAAALAAcAAAABAAkAAAAEAAAAAAACAAIAAAAEAAAAAAACAAMABgABAAAAAAACAAQABgABAAEAAAACAAUABgABAAEAAAACAAYABgABAAEAAAACAAcAAAALAAcAAAACAAgABgABAAEAAAACAAkAAAAEAAAAAAADAAIAAAAEAAAAAAADAAMAAAAQAAcAAAADAAQABgABAAEAAAADAAUAAAAQAAcAAAADAAYABgABAAEAAAADAAcAAAALAAcAAAADAAgABgABAAEAAAADAAkAAAAEAAAAAAAEAAIAAAAEAAAAAAAEAAMAAAAQAAcAAAAEAAQABgABAAEAAAAEAAUAAAAQAAcAAAAEAAYABgABAAEAAAAEAAcABgABAAEAAAAEAAgABgABAAEAAAAEAAkAAAAEAAAAAAAFAAIAAAAEAAAAAAAFAAMAAAAQAAcAAAAFAAQAAAAQAAcAAAAFAAUAAAAQAAcAAAAFAAYAAAAQAAcAAAAFAAcAAAAQAAcAAAAFAAgAAAAQAAcAAAAFAAkAAAAEAAAAAAAGAAIAAAAEAAAAAAAGAAMAAAAQAAcAAAAGAAQABgABAAEAAAAGAAUAAAAQAAcAAAAGAAYAAAAQAAcAAAAGAAcAAAAQAAcAAAAGAAgAAAAQAAcAAAAGAAkAAAAEAAAAAAAHAAIAAAAEAAAAAAAHAAMAAAAQAAcAAAAHAAQABgABAAEAAAAHAAUABgABAAEAAAAHAAYABgABAAEAAAAHAAcABgABAAEAAAAHAAgABgABAAEAAAAHAAkAAAAEAAAAAAAIAAIAAAAEAAAAAAAIAAMAAAAQAAcAAAAIAAQABgABAAEAAAAIAAUABgAGAAAAAAAIAAYABgAGAAAAAAAIAAcABgAGAAAAAAAIAAgABgAGAAAAAAAIAAkAAAAEAAAAAAAJAAIABgAGAAAAAAAJAAMABgAGAAAAAAAJAAQABgAGAAAAAAAJAAUABgAGAAAAAAAJAAYABgAGAAAAAAAJAAcABgAGAAAAAAAJAAgABgAGAAAAAAAJAAkABgAHAAAAAAAKAAIABgAGAAAAAAAKAAMABgAGAAAAAAAKAAQABgABAAEAAAAKAAUABgABAAEAAAAKAAYABgABAAEAAAAKAAcABgABAAEAAAAKAAgABgABAAEAAAAKAAkABgAHAAAAAAALAAIAAAAEAAAAAAALAAUAAAAEAAAAAAALAAYABgABAAEAAAALAAcABgAHAAAAAAALAAgABgAHAAAAAAALAAkAAAAEAAAAAAAMAAIAAAAEAAAAAAAMAAUABgABAAEAAAAMAAYABgABAAEAAAAMAAcABgABAAEAAAAMAAgABgABAAEAAAAMAAkAAAAEAAAAAAANAAIAAAAEAAAAAAANAAMABgAHAAAAAAANAAQABgAHAAAAAAANAAUABgAHAAAAAAANAAYABgAHAAAAAAANAAcABgAHAAAAAAANAAgABgAHAAAAAAANAAkAAAAEAAAAAAAOAAIAAAAEAAAAAAAOAAMABgAHAAAAAAAOAAQABgABAAEAAAAOAAUABgABAAEAAAAOAAYABgABAAEAAAAOAAcABgABAAEAAAAOAAgABgABAAEAAAAOAAkAAAAEAAAAAAAPAAIAAAAEAAAAAAAPAAMABgAHAAAAAAAPAAQABgABAAEAAAAPAAUABgAHAAAAAAAPAAYABgABAAEAAAAPAAcABgAHAAAAAAAPAAgABgAHAAAAAAAPAAkAAAAEAAAAAAAQAAIAAAAEAAAAAAAQAAMABgAHAAAAAAAQAAQABgAHAAAAAAAQAAUABgABAAEAAAAQAAYABgAHAAAAAAAQAAcABgABAAEAAAAQAAgABgABAAEAAAAQAAkAAAAEAAAAAAARAAIAAAAEAAAAAAARAAMABgAHAAAAAAARAAQABgAHAAAAAAARAAkAAAAEAAAAAAASAAIAAAAEAAAAAAASAAMABgAHAAAAAAASAAQABgABAAEAAAASAAkAAAAEAAAAAAATAAIAAAAEAAAAAAATAAMAAAAEAAAAAAATAAQAAAAEAAAAAAATAAUABgAHAAAAAAATAAYAAAAEAAAAAAATAAcAAAAEAAAAAAATAAgAAAAEAAAAAAATAAkAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAEAAAAEAAAAAAABAAAAAAAEAAAAAAABAAEAAAAEAAAAAAACAAAAAAAEAAAAAAACAAEAAAAEAAAAAAADAAAAAAAEAAAAAAADAAEAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAEAAAAEAAAAAAAFAAAAAAAEAAAAAAAFAAEAAAAEAAAAAAAGAAAAAAAEAAAAAAAGAAEAAAAEAAAAAAAHAAAAAAAEAAAAAAAHAAEAAAAEAAAAAAAIAAAAAAAEAAAAAAAIAAEAAAAEAAAAAAAJAAAABgAGAAAAAAAJAAEABgAGAAAAAAAKAAAABgAGAAAAAAAKAAEABgAGAAAAAAALAAAAAAAEAAAAAAALAAEAAAAEAAAAAAALAAMABgAHAAAAAAALAAQABgABAAEAAAAMAAAAAAAEAAAAAAAMAAEAAAAEAAAAAAAMAAMABgAHAAAAAAAMAAQABgABAAEAAAANAAAAAAAEAAAAAAANAAEAAAAEAAAAAAAOAAAAAAAEAAAAAAAOAAEAAAAEAAAAAAAPAAAAAAAEAAAAAAAPAAEAAAAEAAAAAAAQAAAAAAAEAAAAAAAQAAEAAAAEAAAAAAARAAAAAAAEAAAAAAARAAEAAAAEAAAAAAASAAAAAAAEAAAAAAASAAEAAAAEAAAAAAATAAAAAAAEAAAAAAATAAEAAAAEAAAAAAARAAUABgAGAAIAAAARAAYABgAGAAIAAAARAAcABgAGAAIAAAARAAgABgAGAAIAAAASAAUABgAGAAIAAAASAAYABgAGAAIAAAASAAcABgAGAAIAAAASAAgABgAGAAIAAAA=") +tile_map_data = PackedByteArray("AAAAAAIAAAAEAAAAAAAAAAMAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAAUABgAGAAAAAAAAAAYAAAAEAAAAAAAAAAcAAAAEAAAAAAAAAAgAAAAEAAAAAAAAAAkAAAAEAAAAAAABAAIAAAAEAAAAAAABAAMABgAGAAAAAAABAAQABgAGAAAAAAABAAUABgAGAAAAAAABAAYABgAGAAAAAAABAAcABgAGAAAAAAABAAgABgAGAAAAAAABAAkAAAAEAAAAAAACAAIAAAAEAAAAAAACAAMABgAGAAAAAAACAAQABgAGAAAAAAACAAUABgAGAAAAAAACAAYABgAGAAAAAAACAAcABgAGAAAAAAACAAgABgAGAAAAAAACAAkAAAAEAAAAAAADAAIAAAAEAAAAAAADAAMABgAGAAAAAAADAAQABgAGAAAAAAADAAUABgAGAAAAAAADAAYABgAGAAAAAAADAAcABgAGAAAAAAADAAgABgAGAAAAAAADAAkAAAAEAAAAAAAEAAIAAAAEAAAAAAAEAAMABgAGAAAAAAAEAAQABgAGAAAAAAAEAAUABgAGAAAAAAAEAAYABgAGAAAAAAAEAAcABgAGAAAAAAAEAAgABgAGAAAAAAAEAAkAAAAEAAAAAAAFAAIAAAAEAAAAAAAFAAMABgAGAAAAAAAFAAQABgAGAAAAAAAFAAUABgAGAAAAAAAFAAYABgAGAAAAAAAFAAcABgAGAAAAAAAFAAgABgAGAAAAAAAFAAkAAAAEAAAAAAAGAAIAAAAEAAAAAAAGAAMABgAGAAAAAAAGAAQABgAGAAAAAAAGAAUABgAGAAAAAAAGAAYABgAGAAAAAAAGAAcABgAGAAAAAAAGAAgABgAGAAAAAAAGAAkAAAAEAAAAAAAHAAIAAAAEAAAAAAAHAAMABgAGAAAAAAAHAAQABgAGAAAAAAAHAAUAAAABAAMAAAAHAAYAAAABAAMAAAAHAAcABgAGAAAAAAAHAAgABgAGAAAAAAAHAAkAAAAEAAAAAAAIAAIAAAAEAAAAAAAIAAMABgAGAAAAAAAIAAQAAAABAAMAAAAIAAUABgAGAAIAAAAIAAYABgAGAAIAAAAIAAcAAAABAAMAAAAIAAgABgAGAAAAAAAIAAkAAAAEAAAAAAAJAAIABgAGAAAAAAAJAAMABgAGAAAAAAAJAAQAAAABAAMAAAAJAAUABgAGAAIAAAAJAAYABgAGAAIAAAAJAAcAAAABAAMAAAAJAAgABgAGAAAAAAAJAAkABgAHAAAAAAAKAAIABgAGAAAAAAAKAAMABgAGAAAAAAAKAAQAAAABAAMAAAAKAAUABgAGAAIAAAAKAAYABgAGAAIAAAAKAAcAAAABAAMAAAAKAAgABgAGAAAAAAAKAAkABgAHAAAAAAALAAIAAAAEAAAAAAALAAUABgAGAAIAAAALAAYABgAGAAIAAAALAAcAAAABAAMAAAALAAgABgAGAAAAAAALAAkAAAAEAAAAAAAMAAIAAAAEAAAAAAAMAAUAAAABAAMAAAAMAAYAAAABAAMAAAAMAAcABgAGAAAAAAAMAAgABgAGAAAAAAAMAAkAAAAEAAAAAAANAAIAAAAEAAAAAAANAAMABgAGAAAAAAANAAQABgAGAAAAAAANAAUABgAGAAAAAAANAAYABgAGAAAAAAANAAcABgAGAAAAAAANAAgABgAGAAAAAAANAAkAAAAEAAAAAAAOAAIAAAAEAAAAAAAOAAMABgAGAAAAAAAOAAQABgAGAAAAAAAOAAUABgAGAAAAAAAOAAYABgAGAAAAAAAOAAcABgAGAAAAAAAOAAgABgAGAAAAAAAOAAkAAAAEAAAAAAAPAAIAAAAEAAAAAAAPAAMABgAGAAAAAAAPAAQABgAGAAAAAAAPAAUABgAGAAAAAAAPAAYABgAGAAAAAAAPAAcABgAGAAAAAAAPAAgABgAGAAAAAAAPAAkAAAAEAAAAAAAQAAIAAAAEAAAAAAAQAAMABgAGAAAAAAAQAAQABgAGAAAAAAAQAAUABgAGAAAAAAAQAAYABgAGAAAAAAAQAAcABgAGAAAAAAAQAAgABgAGAAAAAAAQAAkAAAAEAAAAAAARAAIAAAAEAAAAAAARAAMABgAGAAAAAAARAAQABgAGAAAAAAARAAkAAAAEAAAAAAASAAIAAAAEAAAAAAASAAMABgAGAAAAAAASAAQABgAGAAAAAAASAAkAAAAEAAAAAAATAAIAAAAEAAAAAAATAAMAAAAEAAAAAAATAAQAAAAEAAAAAAATAAUABgAGAAAAAAATAAYAAAAEAAAAAAATAAcAAAAEAAAAAAATAAgAAAAEAAAAAAATAAkAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAEAAAAEAAAAAAABAAAAAAAEAAAAAAABAAEAAAAEAAAAAAACAAAAAAAEAAAAAAACAAEAAAAEAAAAAAADAAAAAAAEAAAAAAADAAEAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAEAAAAEAAAAAAAFAAAAAAAEAAAAAAAFAAEAAAAEAAAAAAAGAAAAAAAEAAAAAAAGAAEAAAAEAAAAAAAHAAAAAAAEAAAAAAAHAAEAAAAEAAAAAAAIAAAAAAAEAAAAAAAIAAEAAAAEAAAAAAAJAAAABgAGAAAAAAAJAAEABgAGAAAAAAAKAAAABgAGAAAAAAAKAAEABgAGAAAAAAALAAAAAAAEAAAAAAALAAEAAAAEAAAAAAALAAMABgAGAAAAAAALAAQAAAABAAMAAAAMAAAAAAAEAAAAAAAMAAEAAAAEAAAAAAAMAAMABgAGAAAAAAAMAAQABgAGAAAAAAANAAAAAAAEAAAAAAANAAEAAAAEAAAAAAAOAAAAAAAEAAAAAAAOAAEAAAAEAAAAAAAPAAAAAAAEAAAAAAAPAAEAAAAEAAAAAAAQAAAAAAAEAAAAAAAQAAEAAAAEAAAAAAARAAAAAAAEAAAAAAARAAEAAAAEAAAAAAASAAAAAAAEAAAAAAASAAEAAAAEAAAAAAATAAAAAAAEAAAAAAATAAEAAAAEAAAAAAARAAUABgAGAAAAAAARAAYABgAGAAAAAAARAAcABgAGAAAAAAARAAgABgAGAAAAAAASAAUABgAGAAAAAAASAAYABgAGAAAAAAASAAcABgAGAAAAAAASAAgABgAGAAAAAAA=") tile_set = ExtResource("3_u3c1h") navigation_enabled = false script = ExtResource("4_pys6w") @@ -54,13 +54,13 @@ _solidLayers = [NodePath("../Solid"), NodePath("../Props")] metadata/_edit_lock_ = true [node name="Solid" type="TileMapLayer" parent="." groups=["Solid"]] -tile_map_data = PackedByteArray("AAATAAAAAAABAAsAAAASAAAAAAABAAQAAAARAAAAAAABAAQAAAAQAAAAAAABAAQAAAAPAAAAAAABAAQAAAAOAAAAAAABAAQAAAANAAAAAAABAAQAAAAMAAAAAAABAAQAAAALAAAAAAACAAQAAAAIAAAAAAADAAQAAAAHAAAAAAABAAQAAAAGAAAAAAABAAQAAAAFAAAAAAABAAQAAAAEAAAAAAABAAQAAAADAAAAAAABAAQAAAACAAAAAAABAAQAAAABAAAAAAABAAQAAAAAAAAAAAAAAAsAAAATAAIAAAAEAAQAAAATAAEAAAAAAAQAAAAAAAIAAAAEAAQAAAAAAAEAAAAAAAQAAAAAAAkAAAAAAAwAAAAAAAgAAAAAAAQAAAAAAAcAAAAAAAQAAAAAAAYAAAAFAAQAAAATAAkAAAABAAwAAAASAAkAAAABAAQAAAARAAkAAAABAAQAAAAQAAkAAAABAAQAAAAPAAkAAAABAAQAAAAOAAkAAAABAAQAAAANAAkAAAABAAQAAAAMAAkAAAABAAQAAAALAAkAAAACAAQAAAAIAAkAAAADAAQAAAAHAAkAAAABAAQAAAAGAAkAAAABAAQAAAAFAAkAAAABAAQAAAAEAAkAAAABAAQAAAADAAkAAAABAAQAAAACAAkAAAABAAQAAAABAAkAAAABAAQAAAATAAgAAAAAAAQAAAATAAcAAAAAAAQAAAATAAYAAAAFAAQAAAATAAMAAAAPAAgAAAATAAQAAAAPAAkAAAALAAEAAAAPAAgAAAALAAIAAAAPAAkAAAAMAAEAAAAPAAgAAAAMAAIAAAAPAAkAAAANAAEAAAAPAAgAAAANAAIAAAAPAAkAAAAOAAEAAAAJAAIAAAAOAAIAAAAJAAMAAAAPAAEAAAAKAAIAAAAPAAIAAAAKAAMAAAAQAAEAAAAPAAgAAAAQAAIAAAAPAAkAAAARAAEAAAAPAAgAAAARAAIAAAAPAAkAAAASAAEAAAAPAAgAAAASAAIAAAAPAAkAAAABAAEAAAAPAAgAAAABAAIAAAAPAAkAAAACAAEAAAAPAAgAAAACAAIAAAAPAAkAAAADAAEAAAAPAAgAAAADAAIAAAAPAAkAAAAEAAEAAAAJAAIAAAAEAAIAAAAJAAMAAAAFAAEAAAAKAAIAAAAFAAIAAAAKAAMAAAAGAAEAAAAPAAgAAAAGAAIAAAAPAAkAAAAHAAEAAAAPAAgAAAAHAAIAAAAPAAkAAAAIAAEAAAAPAAgAAAAIAAIAAAAPAAkAAAAAAAMAAAAKAAgAAAAAAAQAAAAPAAgAAAAJAAkABgAGAAAAAAAKAAkABgAGAAAAAAA=") +tile_map_data = PackedByteArray("AAATAAAAAAACAAUAAAASAAAAAAABAAUAAAARAAAAAAABAAUAAAAQAAAAAAABAAUAAAAPAAAAAAABAAUAAAAOAAAAAAAFAAsAAAANAAAAAAABAAQAAAAMAAAAAAABAAQAAAALAAAAAAACAAQAAAAIAAAAAAADAAQAAAAHAAAAAAABAAQAAAAGAAAAAAABAAQAAAAFAAAAAAAEAAsAAAAEAAAAAAABAAUAAAADAAAAAAABAAUAAAACAAAAAAABAAUAAAABAAAAAAABAAUAAAAAAAAAAAAAAAUAAAATAAIAAAACAAcAAAATAAEAAAACAAYAAAAAAAIAAAAEAAQAAAAAAAEAAAACAAsAAAAAAAkAAAAAAAcAAAAAAAgAAAACAAwAAAAAAAcAAAAAAAQAAAAAAAYAAAAFAAQAAAATAAkAAAACAAcAAAASAAkAAAABAAcAAAARAAkAAAAFAAwAAAAQAAkAAAABAAQAAAAPAAkAAAABAAQAAAAOAAkAAAABAAQAAAANAAkAAAABAAQAAAAMAAkAAAABAAQAAAALAAkAAAACAAQAAAAIAAkAAAADAAQAAAAHAAkAAAABAAQAAAAGAAkAAAABAAQAAAAFAAkAAAABAAQAAAAEAAkAAAABAAQAAAADAAkAAAABAAQAAAACAAkAAAAEAAwAAAABAAkAAAABAAcAAAATAAgAAAADAAwAAAATAAcAAAAAAAQAAAATAAYAAAAFAAQAAAATAAMAAAAPAAgAAAATAAQAAAAPAAkAAAALAAEAAAAPAAgAAAALAAIAAAAPAAkAAAAMAAEAAAAPAAgAAAAMAAIAAAAPAAkAAAANAAEAAAAPAAgAAAANAAIAAAAPAAkAAAAOAAEAAAAAAAcAAAAPAAEAAAABAAcAAAAQAAEAAAABAAcAAAARAAEAAAABAAcAAAASAAEAAAABAAgAAAASAAIAAAAAAAcAAAABAAEAAAABAAcAAAABAAIAAAAPAAgAAAACAAEAAAABAAcAAAACAAIAAAAJAAIAAAADAAEAAAABAAcAAAADAAIAAAAKAAIAAAAEAAEAAAABAAcAAAAEAAIAAAAPAAgAAAAFAAEAAAACAAcAAAAFAAIAAAAPAAgAAAAGAAEAAAAPAAgAAAAGAAIAAAAPAAkAAAAHAAEAAAAPAAgAAAAHAAIAAAAPAAkAAAAIAAEAAAAPAAgAAAAIAAIAAAAPAAkAAAAAAAMAAAAPAAgAAAAAAAQAAAAPAAkAAAAJAAkABgAGAAAAAAAKAAkABgAGAAAAAAASAAgAAAABAAUAAAARAAgAAAAAAAUAAAABAAgAAAABAAUAAAACAAgAAAACAAUAAAAOAAIAAAAPAAgAAAAOAAMAAAAPAAkAAAAPAAIAAAAJAAIAAAAPAAMAAAAJAAMAAAAQAAIAAAAKAAIAAAAQAAMAAAAKAAMAAAARAAIAAAAPAAgAAAARAAMAAAAPAAkAAAASAAMAAAAPAAgAAAASAAQAAAAPAAkAAAABAAMAAAAPAAkAAAACAAMAAAAJAAMAAAADAAMAAAAKAAMAAAAEAAMAAAAPAAkAAAAFAAMAAAAPAAkAAAA=") tile_set = ExtResource("3_u3c1h") navigation_enabled = false metadata/_edit_lock_ = true [node name="Props" type="TileMapLayer" parent="." groups=["Solid"]] -tile_map_data = PackedByteArray("AAALAAEAAAAJAAwAAAALAAIAAAAJAA0AAAAIAAEAAAAKAAwAAAAIAAIAAAAKAA0AAAA=") +tile_map_data = PackedByteArray("AAALAAEAAAAJAAwAAAALAAIAAAAJAA0AAAAIAAEAAAAKAAwAAAAIAAIAAAAKAA0AAAASAAMAAAAJAAwAAAASAAQAAAAJAA0AAAAOAAIAAAAJAAwAAAAOAAMAAAAJAA0AAAAAAAMAAAAKAAwAAAAAAAQAAAAKAA0AAAAFAAIAAAAKAAwAAAAFAAMAAAAKAA0AAAA=") tile_set = ExtResource("3_u3c1h") navigation_enabled = false metadata/_edit_lock_ = true @@ -118,7 +118,7 @@ metadata/_edit_lock_ = true metadata/_edit_group_ = true [node name="StartTeleporter" type="Marker2D" parent="Features"] -position = Vector2(183, 88) +position = Vector2(160, 96) script = ExtResource("12_f3e1d") Type = 2 MarkerTexture = SubResource("AtlasTexture_5rt6n") @@ -139,7 +139,7 @@ text = "Exit test" label_settings = ExtResource("14_c0yr1") [node name="AmmoMarker4" type="Marker2D" parent="Features"] -position = Vector2(92, 103) +position = Vector2(96, 129) script = ExtResource("25_5uxd1") Item = ExtResource("26_iyfx3") AutoSpawn = true diff --git a/Scripts/Components/Actors/InputProvider.cs b/Scripts/Components/Actors/InputProvider.cs index 17fbfa8a..479f395a 100644 --- a/Scripts/Components/Actors/InputProvider.cs +++ b/Scripts/Components/Actors/InputProvider.cs @@ -21,4 +21,7 @@ public abstract partial class InputProvider : Node2D public abstract bool GetFreezeJustPressed(); public abstract bool GetFreezePressed(); + + public abstract bool GetReloadJustPressed(); + public abstract bool GetReloadPressed(); } \ No newline at end of file diff --git a/Scripts/Components/Actors/KeyboardInputProvider.cs b/Scripts/Components/Actors/KeyboardInputProvider.cs index c741acdf..0f6be1a7 100644 --- a/Scripts/Components/Actors/KeyboardInputProvider.cs +++ b/Scripts/Components/Actors/KeyboardInputProvider.cs @@ -36,6 +36,7 @@ public partial class KeyboardInputProvider : InputProvider [Export] private StringName _inventoryActionName = "inventory"; [Export] private StringName _pauseActionName = "pause"; [Export] private StringName _freezeActionName = "Freeze"; + [Export] private StringName _reloadActionName = "Reload"; private enum AimInputMethod { RightStick, Mouse } private AimInputMethod _lastUsedInput = AimInputMethod.RightStick; @@ -174,5 +175,15 @@ public partial class KeyboardInputProvider : InputProvider { return GetActionPressed(_freezeActionName); } + + public override bool GetReloadJustPressed() + { + return GetActionJustPressed(_reloadActionName); + } + + public override bool GetReloadPressed() + { + return GetActionPressed(_reloadActionName); + } } \ No newline at end of file diff --git a/Scripts/Components/Actors/PlayerWeaponProvider.cs b/Scripts/Components/Actors/PlayerWeaponProvider.cs index 2f0cea82..76227e0d 100644 --- a/Scripts/Components/Actors/PlayerWeaponProvider.cs +++ b/Scripts/Components/Actors/PlayerWeaponProvider.cs @@ -177,6 +177,14 @@ public partial class PlayerWeaponProvider : Node2D EquippedWeapon.Shoot(); } + public void Reload() + { + if (EquippedWeapon == null) return; + if (_switching) return; + + EquippedWeapon.Reload(); + } + // Remastered method private LootItem GetItemFromInventory(string itemKey) { diff --git a/Scripts/Components/FSM/Player/Active.cs b/Scripts/Components/FSM/Player/Active.cs index 4d87a9af..ad81439c 100644 --- a/Scripts/Components/FSM/Player/Active.cs +++ b/Scripts/Components/FSM/Player/Active.cs @@ -197,6 +197,12 @@ public partial class Active : PlayerStateBase private void HandleShoot() { + if (_inputProvider.GetReloadJustPressed()) + { + _weaponProvider.Reload(); + return; + } + if (!_inputProvider.GetShootPressed()) return; _weaponProvider.Shoot(this.FacingDirection); } diff --git a/project.godot b/project.godot index a341945d..eb0866f8 100644 --- a/project.godot +++ b/project.godot @@ -331,6 +331,11 @@ Freeze={ , Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":4,"position":Vector2(203, 23),"global_position":Vector2(219, 107),"factor":1.0,"button_index":3,"canceled":false,"pressed":true,"double_click":false,"script":null) ] } +Reload={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":82,"key_label":0,"unicode":114,"location":0,"echo":false,"script":null) +] +} [internationalization]