diff --git a/assets/PlayerCharacter.aseprite b/assets/PlayerCharacter.aseprite index ddafb94..e40f243 100644 Binary files a/assets/PlayerCharacter.aseprite and b/assets/PlayerCharacter.aseprite differ diff --git a/assets/viruling_spin.aseprite b/assets/Viruling.aseprite similarity index 100% rename from assets/viruling_spin.aseprite rename to assets/Viruling.aseprite diff --git a/assets/Viruling.aseprite.import b/assets/Viruling.aseprite.import new file mode 100644 index 0000000..f50f13b --- /dev/null +++ b/assets/Viruling.aseprite.import @@ -0,0 +1,14 @@ +[remap] + +importer="aseprite_wizard.plugin.noop" +type="PackedDataContainer" +uid="uid://2g8hbnap6s5a" +path="res://.godot/imported/Viruling.aseprite-f412110448d264873303b17f07c6def6.res" + +[deps] + +source_file="res://assets/Viruling.aseprite" +dest_files=["res://.godot/imported/Viruling.aseprite-f412110448d264873303b17f07c6def6.res"] + +[params] + diff --git a/assets/bars.jpg b/assets/bars.jpg new file mode 100644 index 0000000..8c70185 Binary files /dev/null and b/assets/bars.jpg differ diff --git a/assets/bars.jpg.import b/assets/bars.jpg.import new file mode 100644 index 0000000..9d73fa7 --- /dev/null +++ b/assets/bars.jpg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://8trlh7j2pkam" +path="res://.godot/imported/bars.jpg-cab2dec6a2095b0b47f5525c278f01e5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bars.jpg" +dest_files=["res://.godot/imported/bars.jpg-cab2dec6a2095b0b47f5525c278f01e5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/export/player-.png b/assets/export/player-.png new file mode 100644 index 0000000..9274f16 Binary files /dev/null and b/assets/export/player-.png differ diff --git a/assets/export/player-.png.import b/assets/export/player-.png.import new file mode 100644 index 0000000..ec16c90 --- /dev/null +++ b/assets/export/player-.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://wg4a6srri5sa" +path="res://.godot/imported/player-.png-6120af0e1813dedc7607e4f99506416b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/export/player-.png" +dest_files=["res://.godot/imported/player-.png-6120af0e1813dedc7607e4f99506416b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/export/player-Layer 4.png b/assets/export/player-Layer 4.png new file mode 100644 index 0000000..929bcbf Binary files /dev/null and b/assets/export/player-Layer 4.png differ diff --git a/assets/export/player-Layer 4.png.import b/assets/export/player-Layer 4.png.import new file mode 100644 index 0000000..d286a4a --- /dev/null +++ b/assets/export/player-Layer 4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c0kd8wu2yvssc" +path="res://.godot/imported/player-Layer 4.png-e87abd4355ca2452a56cf19bd4f3b0ec.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/export/player-Layer 4.png" +dest_files=["res://.godot/imported/player-Layer 4.png-e87abd4355ca2452a56cf19bd4f3b0ec.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/export/player-Layer 5.png b/assets/export/player-Layer 5.png new file mode 100644 index 0000000..9fea8c8 Binary files /dev/null and b/assets/export/player-Layer 5.png differ diff --git a/assets/export/player-Layer 5.png.import b/assets/export/player-Layer 5.png.import new file mode 100644 index 0000000..c15ea7c --- /dev/null +++ b/assets/export/player-Layer 5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d4mjdwhmho5vs" +path="res://.godot/imported/player-Layer 5.png-f6df3f22bdd8a4f3b2a581cc00ceda44.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/export/player-Layer 5.png" +dest_files=["res://.godot/imported/player-Layer 5.png-f6df3f22bdd8a4f3b2a581cc00ceda44.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/export/player-Layer 6.png b/assets/export/player-Layer 6.png new file mode 100644 index 0000000..2af7e9e Binary files /dev/null and b/assets/export/player-Layer 6.png differ diff --git a/assets/export/player-Layer 6.png.import b/assets/export/player-Layer 6.png.import new file mode 100644 index 0000000..9857432 --- /dev/null +++ b/assets/export/player-Layer 6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bfw5h4af15wth" +path="res://.godot/imported/player-Layer 6.png-f1cf81b1232504e250c598018d463c5c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/export/player-Layer 6.png" +dest_files=["res://.godot/imported/player-Layer 6.png-f1cf81b1232504e250c598018d463c5c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/export/playerLayer 3.png b/assets/export/playerLayer 3.png index 85f831f..7ee539f 100644 Binary files a/assets/export/playerLayer 3.png and b/assets/export/playerLayer 3.png differ diff --git a/assets/viruling_spin.aseprite.import b/assets/viruling_spin.aseprite.import deleted file mode 100644 index 59f36f6..0000000 --- a/assets/viruling_spin.aseprite.import +++ /dev/null @@ -1,14 +0,0 @@ -[remap] - -importer="aseprite_wizard.plugin.noop" -type="PackedDataContainer" -uid="uid://2g8hbnap6s5a" -path="res://.godot/imported/viruling_spin.aseprite-2addb3a6357cbfdfd34eecd5833985aa.res" - -[deps] - -source_file="res://assets/viruling_spin.aseprite" -dest_files=["res://.godot/imported/viruling_spin.aseprite-2addb3a6357cbfdfd34eecd5833985aa.res"] - -[params] - diff --git a/components/Bars.tscn b/components/Bars.tscn new file mode 100644 index 0000000..fe953da --- /dev/null +++ b/components/Bars.tscn @@ -0,0 +1,15 @@ +[gd_scene load_steps=2 format=3 uid="uid://clptnshbcs6cn"] + +[ext_resource type="Texture2D" uid="uid://8trlh7j2pkam" path="res://assets/bars.jpg" id="1_ryukb"] + +[node name="Bars" type="Control"] +layout_mode = 3 +anchors_preset = 0 +offset_right = 40.0 +offset_bottom = 40.0 + +[node name="TextureRect" type="TextureRect" parent="."] +layout_mode = 0 +offset_right = 640.0 +offset_bottom = 360.0 +texture = ExtResource("1_ryukb") diff --git a/components/Borders.tscn b/components/Borders.tscn index bb3b816..939f535 100644 --- a/components/Borders.tscn +++ b/components/Borders.tscn @@ -6,7 +6,7 @@ distance = -184.0 [sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_wodb0"] normal = Vector2(-1, 0) -distance = -208.0 +distance = -216.0 [node name="Borders" type="Node2D"] diff --git a/components/Player.tscn b/components/Player.tscn index 86780b2..0c2b694 100644 --- a/components/Player.tscn +++ b/components/Player.tscn @@ -1,260 +1,382 @@ -[gd_scene load_steps=45 format=3 uid="uid://cjiuycwqqxaxn"] +[gd_scene load_steps=69 format=3 uid="uid://cjiuycwqqxaxn"] [ext_resource type="Script" path="res://scripts/player.gd" id="1_oy25y"] -[ext_resource type="Texture2D" uid="uid://cownabyc1p26u" path="res://assets/export/playerLayer 3.png" id="2_5c6qp"] +[ext_resource type="Texture2D" uid="uid://d4mjdwhmho5vs" path="res://assets/export/player-Layer 5.png" id="2_3onpl"] -[sub_resource type="AtlasTexture" id="AtlasTexture_6hs0l"] -atlas = ExtResource("2_5c6qp") -region = Rect2(128, 256, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_7slh2"] -atlas = ExtResource("2_5c6qp") -region = Rect2(160, 256, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_io1xr"] -atlas = ExtResource("2_5c6qp") -region = Rect2(192, 256, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vh4hn"] -atlas = ExtResource("2_5c6qp") -region = Rect2(0, 320, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_wwamw"] -atlas = ExtResource("2_5c6qp") -region = Rect2(32, 320, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_nens7"] -atlas = ExtResource("2_5c6qp") -region = Rect2(64, 320, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_xnw82"] -atlas = ExtResource("2_5c6qp") -region = Rect2(96, 320, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_sv3rw"] -atlas = ExtResource("2_5c6qp") -region = Rect2(0, 0, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_kldb3"] -atlas = ExtResource("2_5c6qp") -region = Rect2(128, 192, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_daegq"] -atlas = ExtResource("2_5c6qp") -region = Rect2(160, 192, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_c3qy7"] -atlas = ExtResource("2_5c6qp") -region = Rect2(192, 192, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_5iowx"] -atlas = ExtResource("2_5c6qp") -region = Rect2(0, 256, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_2f5nd"] -atlas = ExtResource("2_5c6qp") -region = Rect2(32, 256, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_xuig4"] -atlas = ExtResource("2_5c6qp") -region = Rect2(64, 256, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_uk8ao"] -atlas = ExtResource("2_5c6qp") -region = Rect2(96, 256, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_6wkkf"] -atlas = ExtResource("2_5c6qp") -region = Rect2(32, 0, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_mecdt"] -atlas = ExtResource("2_5c6qp") -region = Rect2(64, 0, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_pvo15"] -atlas = ExtResource("2_5c6qp") -region = Rect2(96, 0, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_fcvkv"] -atlas = ExtResource("2_5c6qp") -region = Rect2(128, 0, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ejt0g"] -atlas = ExtResource("2_5c6qp") -region = Rect2(160, 0, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_l4s6u"] -atlas = ExtResource("2_5c6qp") -region = Rect2(192, 0, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_qw5vg"] -atlas = ExtResource("2_5c6qp") -region = Rect2(0, 64, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_agdq2"] -atlas = ExtResource("2_5c6qp") -region = Rect2(32, 64, 32, 64) - -[sub_resource type="AtlasTexture" id="AtlasTexture_1qa8b"] -atlas = ExtResource("2_5c6qp") +[sub_resource type="AtlasTexture" id="AtlasTexture_5rm71"] +atlas = ExtResource("2_3onpl") region = Rect2(64, 64, 32, 64) -[sub_resource type="AtlasTexture" id="AtlasTexture_a5wcc"] -atlas = ExtResource("2_5c6qp") -region = Rect2(96, 64, 32, 64) +[sub_resource type="AtlasTexture" id="AtlasTexture_jamhg"] +atlas = ExtResource("2_3onpl") +region = Rect2(64, 448, 32, 64) -[sub_resource type="AtlasTexture" id="AtlasTexture_5ra6k"] -atlas = ExtResource("2_5c6qp") -region = Rect2(128, 64, 32, 64) +[sub_resource type="AtlasTexture" id="AtlasTexture_ofsgw"] +atlas = ExtResource("2_3onpl") +region = Rect2(96, 448, 32, 64) -[sub_resource type="AtlasTexture" id="AtlasTexture_l1grw"] -atlas = ExtResource("2_5c6qp") -region = Rect2(160, 64, 32, 64) +[sub_resource type="AtlasTexture" id="AtlasTexture_yp03j"] +atlas = ExtResource("2_3onpl") +region = Rect2(128, 448, 32, 64) -[sub_resource type="AtlasTexture" id="AtlasTexture_gae7w"] -atlas = ExtResource("2_5c6qp") -region = Rect2(192, 64, 32, 64) +[sub_resource type="AtlasTexture" id="AtlasTexture_qa0a4"] +atlas = ExtResource("2_3onpl") +region = Rect2(160, 448, 32, 64) -[sub_resource type="AtlasTexture" id="AtlasTexture_p0xeb"] -atlas = ExtResource("2_5c6qp") -region = Rect2(0, 128, 32, 64) +[sub_resource type="AtlasTexture" id="AtlasTexture_p63im"] +atlas = ExtResource("2_3onpl") +region = Rect2(192, 448, 32, 64) -[sub_resource type="AtlasTexture" id="AtlasTexture_tuo0l"] -atlas = ExtResource("2_5c6qp") -region = Rect2(32, 128, 32, 64) +[sub_resource type="AtlasTexture" id="AtlasTexture_tf3dj"] +atlas = ExtResource("2_3onpl") +region = Rect2(0, 0, 32, 64) -[sub_resource type="AtlasTexture" id="AtlasTexture_iygu1"] -atlas = ExtResource("2_5c6qp") -region = Rect2(64, 128, 32, 64) +[sub_resource type="AtlasTexture" id="AtlasTexture_0cek1"] +atlas = ExtResource("2_3onpl") +region = Rect2(0, 384, 32, 64) -[sub_resource type="AtlasTexture" id="AtlasTexture_nlq48"] -atlas = ExtResource("2_5c6qp") -region = Rect2(96, 128, 32, 64) +[sub_resource type="AtlasTexture" id="AtlasTexture_xj08a"] +atlas = ExtResource("2_3onpl") +region = Rect2(32, 384, 32, 64) -[sub_resource type="AtlasTexture" id="AtlasTexture_581d4"] -atlas = ExtResource("2_5c6qp") -region = Rect2(128, 128, 32, 64) +[sub_resource type="AtlasTexture" id="AtlasTexture_vtaxe"] +atlas = ExtResource("2_3onpl") +region = Rect2(64, 384, 32, 64) -[sub_resource type="AtlasTexture" id="AtlasTexture_depii"] -atlas = ExtResource("2_5c6qp") -region = Rect2(160, 128, 32, 64) +[sub_resource type="AtlasTexture" id="AtlasTexture_3pkk7"] +atlas = ExtResource("2_3onpl") +region = Rect2(96, 384, 32, 64) -[sub_resource type="AtlasTexture" id="AtlasTexture_nsu0f"] -atlas = ExtResource("2_5c6qp") -region = Rect2(192, 128, 32, 64) +[sub_resource type="AtlasTexture" id="AtlasTexture_tuk3a"] +atlas = ExtResource("2_3onpl") +region = Rect2(128, 384, 32, 64) -[sub_resource type="AtlasTexture" id="AtlasTexture_kdf7b"] -atlas = ExtResource("2_5c6qp") -region = Rect2(0, 192, 32, 64) +[sub_resource type="AtlasTexture" id="AtlasTexture_jxa3i"] +atlas = ExtResource("2_3onpl") +region = Rect2(160, 384, 32, 64) -[sub_resource type="AtlasTexture" id="AtlasTexture_dvo1k"] -atlas = ExtResource("2_5c6qp") +[sub_resource type="AtlasTexture" id="AtlasTexture_52xjq"] +atlas = ExtResource("2_3onpl") +region = Rect2(192, 384, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8ljd1"] +atlas = ExtResource("2_3onpl") +region = Rect2(224, 384, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_pcd2c"] +atlas = ExtResource("2_3onpl") +region = Rect2(0, 448, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7y6pf"] +atlas = ExtResource("2_3onpl") +region = Rect2(32, 448, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_oqfjm"] +atlas = ExtResource("2_3onpl") +region = Rect2(96, 320, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rasii"] +atlas = ExtResource("2_3onpl") +region = Rect2(128, 320, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_smuq0"] +atlas = ExtResource("2_3onpl") +region = Rect2(160, 320, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vqtny"] +atlas = ExtResource("2_3onpl") +region = Rect2(192, 320, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_aanm4"] +atlas = ExtResource("2_3onpl") +region = Rect2(224, 320, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_iuibj"] +atlas = ExtResource("2_3onpl") +region = Rect2(32, 0, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s0gwv"] +atlas = ExtResource("2_3onpl") +region = Rect2(64, 0, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rc3yv"] +atlas = ExtResource("2_3onpl") +region = Rect2(96, 0, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_310mq"] +atlas = ExtResource("2_3onpl") +region = Rect2(128, 0, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4am2b"] +atlas = ExtResource("2_3onpl") +region = Rect2(160, 0, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_x8hc4"] +atlas = ExtResource("2_3onpl") +region = Rect2(192, 0, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uv38i"] +atlas = ExtResource("2_3onpl") +region = Rect2(224, 0, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_usdlg"] +atlas = ExtResource("2_3onpl") +region = Rect2(0, 64, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_oagyd"] +atlas = ExtResource("2_3onpl") +region = Rect2(32, 64, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8wqr8"] +atlas = ExtResource("2_3onpl") region = Rect2(32, 192, 32, 64) -[sub_resource type="AtlasTexture" id="AtlasTexture_nuos6"] -atlas = ExtResource("2_5c6qp") +[sub_resource type="AtlasTexture" id="AtlasTexture_pls5s"] +atlas = ExtResource("2_3onpl") region = Rect2(64, 192, 32, 64) -[sub_resource type="AtlasTexture" id="AtlasTexture_fgj7i"] -atlas = ExtResource("2_5c6qp") +[sub_resource type="AtlasTexture" id="AtlasTexture_k24hx"] +atlas = ExtResource("2_3onpl") region = Rect2(96, 192, 32, 64) -[sub_resource type="SpriteFrames" id="SpriteFrames_o2lgd"] +[sub_resource type="AtlasTexture" id="AtlasTexture_wc60g"] +atlas = ExtResource("2_3onpl") +region = Rect2(128, 192, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_j6fn1"] +atlas = ExtResource("2_3onpl") +region = Rect2(160, 192, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nmjeg"] +atlas = ExtResource("2_3onpl") +region = Rect2(192, 192, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_byhmk"] +atlas = ExtResource("2_3onpl") +region = Rect2(224, 192, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_770dj"] +atlas = ExtResource("2_3onpl") +region = Rect2(128, 256, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_grepc"] +atlas = ExtResource("2_3onpl") +region = Rect2(32, 320, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_g5de2"] +atlas = ExtResource("2_3onpl") +region = Rect2(64, 320, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_y0jgo"] +atlas = ExtResource("2_3onpl") +region = Rect2(160, 256, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3pm06"] +atlas = ExtResource("2_3onpl") +region = Rect2(192, 256, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_36v0p"] +atlas = ExtResource("2_3onpl") +region = Rect2(224, 256, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_lftgj"] +atlas = ExtResource("2_3onpl") +region = Rect2(0, 320, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1p51i"] +atlas = ExtResource("2_3onpl") +region = Rect2(0, 256, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_m71pv"] +atlas = ExtResource("2_3onpl") +region = Rect2(32, 256, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_krhxx"] +atlas = ExtResource("2_3onpl") +region = Rect2(64, 256, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7fe2a"] +atlas = ExtResource("2_3onpl") +region = Rect2(96, 256, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_842j5"] +atlas = ExtResource("2_3onpl") +region = Rect2(96, 64, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_q85y5"] +atlas = ExtResource("2_3onpl") +region = Rect2(128, 64, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ugtgg"] +atlas = ExtResource("2_3onpl") +region = Rect2(160, 64, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8bm1c"] +atlas = ExtResource("2_3onpl") +region = Rect2(192, 64, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2hu87"] +atlas = ExtResource("2_3onpl") +region = Rect2(224, 64, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wgg1r"] +atlas = ExtResource("2_3onpl") +region = Rect2(0, 128, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fsjxu"] +atlas = ExtResource("2_3onpl") +region = Rect2(32, 128, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8scku"] +atlas = ExtResource("2_3onpl") +region = Rect2(64, 128, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_f2w38"] +atlas = ExtResource("2_3onpl") +region = Rect2(96, 128, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vckuv"] +atlas = ExtResource("2_3onpl") +region = Rect2(128, 128, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_c5tjt"] +atlas = ExtResource("2_3onpl") +region = Rect2(160, 128, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7r7et"] +atlas = ExtResource("2_3onpl") +region = Rect2(192, 128, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0a6bp"] +atlas = ExtResource("2_3onpl") +region = Rect2(224, 128, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fojwj"] +atlas = ExtResource("2_3onpl") +region = Rect2(0, 192, 32, 64) + +[sub_resource type="SpriteFrames" id="SpriteFrames_nn403"] animations = [{ "frames": [{ "duration": 1.0, -"texture": SubResource("AtlasTexture_6hs0l") +"texture": SubResource("AtlasTexture_5rm71") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_7slh2") +"texture": SubResource("AtlasTexture_jamhg") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_io1xr") +"texture": SubResource("AtlasTexture_ofsgw") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_vh4hn") +"texture": SubResource("AtlasTexture_yp03j") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_wwamw") +"texture": SubResource("AtlasTexture_qa0a4") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_nens7") +"texture": SubResource("AtlasTexture_yp03j") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_xnw82") +"texture": SubResource("AtlasTexture_p63im") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5rm71") }], "loop": true, -"name": &" punch", +"name": &"air-kick", "speed": 10.0 }, { "frames": [{ "duration": 1.0, -"texture": SubResource("AtlasTexture_sv3rw") +"texture": SubResource("AtlasTexture_tf3dj") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_kldb3") +"texture": SubResource("AtlasTexture_0cek1") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_daegq") +"texture": SubResource("AtlasTexture_xj08a") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_c3qy7") +"texture": SubResource("AtlasTexture_vtaxe") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_5iowx") +"texture": SubResource("AtlasTexture_3pkk7") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_2f5nd") +"texture": SubResource("AtlasTexture_tuk3a") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_xuig4") +"texture": SubResource("AtlasTexture_jxa3i") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_uk8ao") +"texture": SubResource("AtlasTexture_52xjq") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_daegq") +"texture": SubResource("AtlasTexture_8ljd1") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_kldb3") +"texture": SubResource("AtlasTexture_pcd2c") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_sv3rw") +"texture": SubResource("AtlasTexture_7y6pf") }], "loop": true, -"name": &"Jump", +"name": &"death", "speed": 10.0 }, { "frames": [{ "duration": 1.0, -"texture": SubResource("AtlasTexture_sv3rw") +"texture": SubResource("AtlasTexture_oqfjm") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_6wkkf") +"texture": SubResource("AtlasTexture_rasii") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_mecdt") +"texture": SubResource("AtlasTexture_smuq0") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_pvo15") +"texture": SubResource("AtlasTexture_vqtny") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_fcvkv") +"texture": SubResource("AtlasTexture_aanm4") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_ejt0g") +"texture": SubResource("AtlasTexture_vqtny") +}], +"loop": true, +"name": &"hurt", +"speed": 10.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_tf3dj") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_l4s6u") +"texture": SubResource("AtlasTexture_iuibj") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_qw5vg") +"texture": SubResource("AtlasTexture_s0gwv") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_agdq2") +"texture": SubResource("AtlasTexture_rc3yv") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_1qa8b") +"texture": SubResource("AtlasTexture_310mq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4am2b") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_x8hc4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_uv38i") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_usdlg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_oagyd") }], "loop": true, "name": &"idle", @@ -262,49 +384,168 @@ animations = [{ }, { "frames": [{ "duration": 1.0, -"texture": SubResource("AtlasTexture_a5wcc") +"texture": SubResource("AtlasTexture_tf3dj") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_5ra6k") +"texture": SubResource("AtlasTexture_8wqr8") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_l1grw") +"texture": SubResource("AtlasTexture_pls5s") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_gae7w") +"texture": SubResource("AtlasTexture_k24hx") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_p0xeb") +"texture": SubResource("AtlasTexture_wc60g") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_tuo0l") +"texture": SubResource("AtlasTexture_j6fn1") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_iygu1") +"texture": SubResource("AtlasTexture_nmjeg") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_nlq48") +"texture": SubResource("AtlasTexture_byhmk") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_581d4") +"texture": SubResource("AtlasTexture_pls5s") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_depii") +"texture": SubResource("AtlasTexture_8wqr8") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_nsu0f") +"texture": SubResource("AtlasTexture_tf3dj") +}], +"loop": true, +"name": &"jump", +"speed": 10.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_770dj") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_kdf7b") +"texture": SubResource("AtlasTexture_grepc") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_dvo1k") +"texture": SubResource("AtlasTexture_g5de2") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_nuos6") +"texture": SubResource("AtlasTexture_grepc") +}], +"loop": true, +"name": &"left", +"speed": 10.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_770dj") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_fgj7i") +"texture": SubResource("AtlasTexture_y0jgo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3pm06") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_36v0p") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lftgj") +}], +"loop": true, +"name": &"right", +"speed": 10.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_tf3dj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8wqr8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_pls5s") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wc60g") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_j6fn1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1p51i") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_m71pv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_krhxx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_krhxx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7fe2a") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_pls5s") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8wqr8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tf3dj") +}], +"loop": true, +"name": &"slam", +"speed": 10.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_5rm71") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_842j5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_q85y5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ugtgg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8bm1c") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2hu87") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wgg1r") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fsjxu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8scku") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_f2w38") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vckuv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_c5tjt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7r7et") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0a6bp") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fojwj") }], "loop": true, "name": &"walk", @@ -323,29 +564,37 @@ script = ExtResource("1_oy25y") [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] texture_filter = 1 -sprite_frames = SubResource("SpriteFrames_o2lgd") -animation = &" punch" -frame_progress = 0.126525 +sprite_frames = SubResource("SpriteFrames_nn403") +animation = &"slam" +frame_progress = 0.564864 metadata/_aseprite_wizard_config_ = { -"layer": "Layer 3", +"layer": "Layer 5", "o_ex_p": "", "o_folder": "res://assets/export", -"o_name": "player", -"only_visible": false, +"o_name": "player-", +"only_visible": true, "slice": "", "source": "res://assets/PlayerCharacter.aseprite" } -metadata/_aseprite_wizard_source_file_hash_ = "dd5426320f333c1fca2ec67ca43f9db7" metadata/_aseprite_wizard_interface_config_ = { "layer_section": true, -"output_section": true +"output_section": true, +"slice_section": false } +metadata/_aseprite_wizard_source_file_hash_ = "1296d7aa2023121d72861630c3041e8c" [node name="CollisionShape2D" type="CollisionShape2D" parent="."] position = Vector2(2, 0) shape = SubResource("RectangleShape2D_0on8q") debug_color = Color(1, 0.254902, 0.415686, 0.105882) +[node name="PunchHitbox" type="Area2D" parent="."] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="PunchHitbox"] +position = Vector2(29, -3) +shape = SubResource("RectangleShape2D_mst3b") +debug_color = Color(2.11775e-06, 0.631094, 0.465774, 0.42) + [node name="AttackTimer" type="Timer" parent="."] editor_description = " @@ -353,9 +602,5 @@ editor_description = " wait_time = 0.5 one_shot = true -[node name="PunchHitbox" type="Area2D" parent="."] - -[node name="CollisionShape2D" type="CollisionShape2D" parent="PunchHitbox"] -position = Vector2(29, -3) -shape = SubResource("RectangleShape2D_mst3b") -debug_color = Color(2.11775e-06, 0.631094, 0.465774, 0.42) +[node name="DeathTimer" type="Timer" parent="."] +one_shot = true diff --git a/components/Viruling.tscn b/components/Viruling.tscn index e307acc..113583f 100644 --- a/components/Viruling.tscn +++ b/components/Viruling.tscn @@ -6,110 +6,110 @@ [sub_resource type="CircleShape2D" id="CircleShape2D_gi7h4"] radius = 17.0294 -[sub_resource type="AtlasTexture" id="AtlasTexture_kidce"] +[sub_resource type="AtlasTexture" id="AtlasTexture_ey3ug"] atlas = ExtResource("1_i45rj") region = Rect2(0, 0, 32, 32) -[sub_resource type="AtlasTexture" id="AtlasTexture_qe36s"] +[sub_resource type="AtlasTexture" id="AtlasTexture_yg44u"] atlas = ExtResource("1_i45rj") region = Rect2(32, 96, 32, 32) -[sub_resource type="AtlasTexture" id="AtlasTexture_ngfqf"] +[sub_resource type="AtlasTexture" id="AtlasTexture_10kxp"] atlas = ExtResource("1_i45rj") region = Rect2(64, 96, 32, 32) -[sub_resource type="AtlasTexture" id="AtlasTexture_nii03"] +[sub_resource type="AtlasTexture" id="AtlasTexture_asgry"] atlas = ExtResource("1_i45rj") region = Rect2(96, 96, 32, 32) -[sub_resource type="AtlasTexture" id="AtlasTexture_tkn6b"] +[sub_resource type="AtlasTexture" id="AtlasTexture_shkjk"] atlas = ExtResource("1_i45rj") region = Rect2(128, 96, 32, 32) -[sub_resource type="AtlasTexture" id="AtlasTexture_2r8jg"] +[sub_resource type="AtlasTexture" id="AtlasTexture_n7xsd"] atlas = ExtResource("1_i45rj") region = Rect2(0, 128, 32, 32) -[sub_resource type="AtlasTexture" id="AtlasTexture_0s3k4"] +[sub_resource type="AtlasTexture" id="AtlasTexture_b78uq"] atlas = ExtResource("1_i45rj") region = Rect2(32, 0, 32, 32) -[sub_resource type="AtlasTexture" id="AtlasTexture_2h71d"] +[sub_resource type="AtlasTexture" id="AtlasTexture_yk2as"] atlas = ExtResource("1_i45rj") region = Rect2(64, 0, 32, 32) -[sub_resource type="AtlasTexture" id="AtlasTexture_45yd5"] +[sub_resource type="AtlasTexture" id="AtlasTexture_bp4sa"] atlas = ExtResource("1_i45rj") region = Rect2(96, 0, 32, 32) -[sub_resource type="AtlasTexture" id="AtlasTexture_6isb8"] +[sub_resource type="AtlasTexture" id="AtlasTexture_qe65k"] atlas = ExtResource("1_i45rj") region = Rect2(128, 0, 32, 32) -[sub_resource type="AtlasTexture" id="AtlasTexture_m6d0y"] +[sub_resource type="AtlasTexture" id="AtlasTexture_ii7ue"] atlas = ExtResource("1_i45rj") region = Rect2(0, 32, 32, 32) -[sub_resource type="AtlasTexture" id="AtlasTexture_kp48x"] +[sub_resource type="AtlasTexture" id="AtlasTexture_2mb0r"] atlas = ExtResource("1_i45rj") region = Rect2(32, 32, 32, 32) -[sub_resource type="AtlasTexture" id="AtlasTexture_rhh7o"] +[sub_resource type="AtlasTexture" id="AtlasTexture_rwb2y"] atlas = ExtResource("1_i45rj") region = Rect2(64, 32, 32, 32) -[sub_resource type="AtlasTexture" id="AtlasTexture_0l2ip"] +[sub_resource type="AtlasTexture" id="AtlasTexture_muc0u"] atlas = ExtResource("1_i45rj") region = Rect2(96, 32, 32, 32) -[sub_resource type="AtlasTexture" id="AtlasTexture_u0o6v"] +[sub_resource type="AtlasTexture" id="AtlasTexture_lh2dq"] atlas = ExtResource("1_i45rj") region = Rect2(128, 32, 32, 32) -[sub_resource type="AtlasTexture" id="AtlasTexture_hh53s"] +[sub_resource type="AtlasTexture" id="AtlasTexture_ynt0w"] atlas = ExtResource("1_i45rj") region = Rect2(0, 64, 32, 32) -[sub_resource type="AtlasTexture" id="AtlasTexture_g0xj4"] +[sub_resource type="AtlasTexture" id="AtlasTexture_gys0u"] atlas = ExtResource("1_i45rj") region = Rect2(32, 64, 32, 32) -[sub_resource type="AtlasTexture" id="AtlasTexture_smgex"] +[sub_resource type="AtlasTexture" id="AtlasTexture_tspca"] atlas = ExtResource("1_i45rj") region = Rect2(64, 64, 32, 32) -[sub_resource type="AtlasTexture" id="AtlasTexture_efhl8"] +[sub_resource type="AtlasTexture" id="AtlasTexture_e81jk"] atlas = ExtResource("1_i45rj") region = Rect2(96, 64, 32, 32) -[sub_resource type="AtlasTexture" id="AtlasTexture_smw3b"] +[sub_resource type="AtlasTexture" id="AtlasTexture_4h8vk"] atlas = ExtResource("1_i45rj") region = Rect2(128, 64, 32, 32) -[sub_resource type="AtlasTexture" id="AtlasTexture_hc7x2"] +[sub_resource type="AtlasTexture" id="AtlasTexture_4j73j"] atlas = ExtResource("1_i45rj") region = Rect2(0, 96, 32, 32) -[sub_resource type="SpriteFrames" id="SpriteFrames_01e4m"] +[sub_resource type="SpriteFrames" id="SpriteFrames_paa88"] animations = [{ "frames": [{ "duration": 1.0, -"texture": SubResource("AtlasTexture_kidce") +"texture": SubResource("AtlasTexture_ey3ug") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_qe36s") +"texture": SubResource("AtlasTexture_yg44u") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_ngfqf") +"texture": SubResource("AtlasTexture_10kxp") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_nii03") +"texture": SubResource("AtlasTexture_asgry") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_tkn6b") +"texture": SubResource("AtlasTexture_shkjk") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_2r8jg") +"texture": SubResource("AtlasTexture_n7xsd") }], "loop": true, "name": &"death", @@ -117,55 +117,55 @@ animations = [{ }, { "frames": [{ "duration": 1.0, -"texture": SubResource("AtlasTexture_kidce") +"texture": SubResource("AtlasTexture_ey3ug") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_0s3k4") +"texture": SubResource("AtlasTexture_b78uq") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_2h71d") +"texture": SubResource("AtlasTexture_yk2as") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_45yd5") +"texture": SubResource("AtlasTexture_bp4sa") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_6isb8") +"texture": SubResource("AtlasTexture_qe65k") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_m6d0y") +"texture": SubResource("AtlasTexture_ii7ue") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_kp48x") +"texture": SubResource("AtlasTexture_2mb0r") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_rhh7o") +"texture": SubResource("AtlasTexture_rwb2y") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_kidce") +"texture": SubResource("AtlasTexture_ey3ug") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_0l2ip") +"texture": SubResource("AtlasTexture_muc0u") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_u0o6v") +"texture": SubResource("AtlasTexture_lh2dq") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_hh53s") +"texture": SubResource("AtlasTexture_ynt0w") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_g0xj4") +"texture": SubResource("AtlasTexture_gys0u") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_smgex") +"texture": SubResource("AtlasTexture_tspca") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_efhl8") +"texture": SubResource("AtlasTexture_e81jk") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_smw3b") +"texture": SubResource("AtlasTexture_4h8vk") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_hc7x2") +"texture": SubResource("AtlasTexture_4j73j") }], "loop": true, "name": &"spin", @@ -185,7 +185,7 @@ shape = SubResource("CircleShape2D_gi7h4") [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] texture_filter = 1 -sprite_frames = SubResource("SpriteFrames_01e4m") +sprite_frames = SubResource("SpriteFrames_paa88") animation = &"spin" metadata/_aseprite_wizard_config_ = { "layer": "", @@ -194,7 +194,7 @@ metadata/_aseprite_wizard_config_ = { "o_name": "viruling-", "only_visible": true, "slice": "", -"source": "res://assets/viruling_spin.aseprite" +"source": "res://assets/Viruling.aseprite" } metadata/_aseprite_wizard_source_file_hash_ = "e9452ba317bc3563d2373e8b9d673cef" metadata/_aseprite_wizard_interface_config_ = { @@ -207,7 +207,7 @@ metadata/_aseprite_wizard_interface_config_ = { shape = SubResource("CircleShape2D_kpyhc") debug_color = Color(0.972226, 0, 0.442516, 0.42) -[node name="Timer" type="Timer" parent="."] +[node name="AttackTimer" type="Timer" parent="."] one_shot = true [node name="DeathTimer" type="Timer" parent="."] diff --git a/levels/level1/stage1.tscn b/levels/level1/stage1.tscn index b4c1689..7932815 100644 --- a/levels/level1/stage1.tscn +++ b/levels/level1/stage1.tscn @@ -1,24 +1,32 @@ -[gd_scene load_steps=8 format=3 uid="uid://cei5gjgfoginb"] +[gd_scene load_steps=9 format=3 uid="uid://cei5gjgfoginb"] [ext_resource type="Script" path="res://scripts/stageController.gd" id="1_m1n7w"] [ext_resource type="Texture2D" uid="uid://bynsxkfd4t4cn" path="res://assets/export/stage1.png" id="2_48003"] [ext_resource type="PackedScene" uid="uid://cjiuycwqqxaxn" path="res://components/Player.tscn" id="2_sxo5w"] [ext_resource type="PackedScene" uid="uid://bab4ac3s2n0o1" path="res://components/Borders.tscn" id="3_04xvl"] [ext_resource type="PackedScene" uid="uid://bxbpvgteyfh02" path="res://components/Viruling.tscn" id="5_w7lww"] +[ext_resource type="PackedScene" uid="uid://clptnshbcs6cn" path="res://components/Bars.tscn" id="6_u2jd3"] [sub_resource type="QuadMesh" id="QuadMesh_seics"] size = Vector2(480, 64) [sub_resource type="RectangleShape2D" id="RectangleShape2D_h5wua"] -size = Vector2(480, 106) +size = Vector2(492, 101) [node name="World" type="Node2D"] -position = Vector2(272, 240) +position = Vector2(344, 240) script = ExtResource("1_m1n7w") next_stage = "res://levels/level1/stage2.tscn" +[node name="Bars" parent="." instance=ExtResource("6_u2jd3")] +offset_left = -344.0 +offset_top = -240.0 +offset_right = -304.0 +offset_bottom = -200.0 + [node name="Background" type="Sprite2D" parent="."] -position = Vector2(-32, -64) +position = Vector2(-28, -64) +scale = Vector2(1.01667, 1) texture = ExtResource("2_48003") [node name="Borders" parent="." instance=ExtResource("3_04xvl")] @@ -28,26 +36,41 @@ position = Vector2(-272, -240) position = Vector2(-240, -16) [node name="Viruling" parent="." instance=ExtResource("5_w7lww")] -position = Vector2(179, -13) +position = Vector2(440, -96) + +[node name="Viruling2" parent="." instance=ExtResource("5_w7lww")] +position = Vector2(240, -48) + +[node name="Viruling2" parent="Viruling2" instance=ExtResource("5_w7lww")] +position = Vector2(72, 40) + +[node name="Viruling3" parent="." instance=ExtResource("5_w7lww")] +position = Vector2(424, -32) + +[node name="Viruling4" parent="." instance=ExtResource("5_w7lww")] +position = Vector2(320, -104) + +[node name="Viruling2" parent="Viruling4" instance=ExtResource("5_w7lww")] +position = Vector2(240, -48) [node name="Floor" type="StaticBody2D" parent="."] [node name="MeshInstance2D" type="MeshInstance2D" parent="Floor"] -position = Vector2(-32, 68) -scale = Vector2(1, 1.625) +position = Vector2(-28, 68) +scale = Vector2(1.01667, 1.625) mesh = SubResource("QuadMesh_seics") [node name="CollisionShape2D" type="CollisionShape2D" parent="Floor"] -position = Vector2(-32, 69) +position = Vector2(-28, 69) shape = SubResource("RectangleShape2D_h5wua") [node name="Ceiling" type="StaticBody2D" parent="."] [node name="MeshInstance2D" type="MeshInstance2D" parent="Ceiling"] -position = Vector2(-32, -192) -scale = Vector2(1, 1.625) +position = Vector2(-28, -192) +scale = Vector2(1.01667, 1.625) mesh = SubResource("QuadMesh_seics") [node name="CollisionShape2D" type="CollisionShape2D" parent="Ceiling"] -position = Vector2(-32, -192) +position = Vector2(-30, -189.5) shape = SubResource("RectangleShape2D_h5wua") diff --git a/project.godot b/project.godot index b4cd030..5380190 100644 --- a/project.godot +++ b/project.godot @@ -23,11 +23,11 @@ animation/layers/only_include_visible_layers_by_default=true [autoload] -GlobalKeybinds="*res://scripts/globalKeybinds.gd" +GlobalKeybinds="*res://scripts/global.gd" [display] -window/size/viewport_width=480 +window/size/viewport_width=640 window/size/viewport_height=360 window/stretch/mode="canvas_items" window/vsync/vsync_mode=0 diff --git a/scripts/entity.gd b/scripts/entity.gd index 81a9710..fb624ab 100644 --- a/scripts/entity.gd +++ b/scripts/entity.gd @@ -1,9 +1,9 @@ class_name Entity extends CharacterBody2D -@export var health = null -@export var speed = null -@export var damage = null -@export var kb_speed = null +var health = null +var speed = null +var damage = null +var kb_speed = null func _init(initial_health: int, speed_multiplier: int, attack_damage: int) -> void: health = initial_health @@ -13,21 +13,17 @@ func _init(initial_health: int, speed_multiplier: int, attack_damage: int) -> vo func _physics_process(delta: float) -> void: var init_velocity = velocity - velocity.x = 0 velocity.y = 0 if init_velocity.x == 0: init_velocity.x = 1 - if kb_speed > 0: velocity.x = -sign(init_velocity.x) * kb_speed kb_speed = 0 - - move_and_slide() + move_and_slide() velocity = init_velocity func take_knockback(speed: int) -> void: kb_speed = speed - diff --git a/scripts/globalKeybinds.gd b/scripts/global.gd similarity index 97% rename from scripts/globalKeybinds.gd rename to scripts/global.gd index c811ddf..2a8e2fb 100644 --- a/scripts/globalKeybinds.gd +++ b/scripts/global.gd @@ -3,6 +3,7 @@ extends Node var previous_window_mode = -1 func _process(delta: float) -> void: + # keybinds if Input.is_action_just_pressed("toggle_fullscreen"): if get_window().mode == Window.MODE_FULLSCREEN: if previous_window_mode != -1: diff --git a/scripts/player.gd b/scripts/player.gd index 0cd049c..c935c3d 100644 --- a/scripts/player.gd +++ b/scripts/player.gd @@ -7,9 +7,13 @@ extends Entity @onready var attack_timer = $AttackTimer @onready var collider = $CollisionShape2D @onready var punch_hitbox = $PunchHitbox +@onready var death_timer = $DeathTimer var jumping = false var facing_right = true +var right_punch = false +var hurting = false +var is_dying = false const ATTACK_DAMAGE = 25 const INITIAL_HEALTH = 100 @@ -25,8 +29,6 @@ func _ready(): punch_hitbox.visible = false func _physics_process(delta): - super._physics_process(delta) - if is_on_floor(): # allow the player to jump if jumping: @@ -50,28 +52,62 @@ func _physics_process(delta): # ensure the player faces the correct direction if horizontal_direction > 0 && !facing_right: animated_sprite.flip_h = false + punch_hitbox.rotate(PI) elif horizontal_direction < 0 && facing_right: animated_sprite.flip_h = true + punch_hitbox.rotate(PI) if horizontal_direction != 0: facing_right = horizontal_direction > 0 # figure out which animation should be played # respecting the jump animation above all - if !jumping and attack_timer.is_stopped(): + if !jumping and !hurting and attack_timer.is_stopped(): if is_on_floor() && horizontal_direction != 0: animated_sprite.play("walk") else: animated_sprite.play("idle") + + super._physics_process(delta) + punch_hitbox.visible = true if !attack_timer.is_stopped() else false - + func punch_connect(node: Node): if node is Entity and node != self and !attack_timer.is_stopped(): node.health -= damage node.take_knockback(ATTACK_KNOCKBACK) + if node.has_method("hurt_anim"): + node.call("hurt_anim") + +func hurt_anim(): + hurting = true + animated_sprite.play("hurt") + animated_sprite.animation_finished.connect(disable_hurt) + +func disable_hurt(): + hurting = false + animated_sprite.animation_finished.disconnect(disable_hurt) func _process(delta: float) -> void: + if health <= 0: + is_dying = true + death_timer.start() + health = 99999 + + if is_dying: + animated_sprite.play("death") + punch_hitbox.visible = false + speed = 0 + + if death_timer.is_stopped(): + queue_free() + if attack_timer.is_stopped() and Input.is_action_just_pressed("attack"): attack_timer.start() - animated_sprite.play(" punch") # TODO: Implement hitbox/endlag + + if is_on_floor(): + animated_sprite.play("right" if right_punch else "left") + right_punch = !right_punch + else: + animated_sprite.play("slam") diff --git a/scripts/viruling.gd b/scripts/viruling.gd index c1b63d4..18e5bd7 100644 --- a/scripts/viruling.gd +++ b/scripts/viruling.gd @@ -4,9 +4,9 @@ extends Entity; @onready var collider = $CollisionShape2D @onready var contact_hitbox = $ContactHitbox @onready var collision_shape = collider.shape -@onready var attack_timer = $Timer -@onready var is_dying = false +@onready var attack_timer = $AttackTimer @onready var death_timer = $DeathTimer +var is_dying = false const SPEED_MULTIPLIER = 100 const INITIAL_HEALTH = 10 @@ -32,21 +32,23 @@ func _physics_process(delta: float) -> void: move_and_slide() func _process(delta: float) -> void: - if health <= 0: - is_dying = true - death_timer.start() - health = 99999 + if health <= 0: + is_dying = true + death_timer.start() + health = 99999 + + if is_dying: + animated_sprite.play("death") + contact_hitbox.visible = false + speed = 0 - if is_dying: - animated_sprite.play("death") - contact_hitbox.visible = false - speed = 0 - - if death_timer.is_stopped(): - queue_free() + if death_timer.is_stopped(): + queue_free() func body_connect(node: Node): if node is Entity and node != self and attack_timer.is_stopped(): - attack_timer.start(0.25) + attack_timer.start() node.health -= damage - take_knockback(ATTACK_KNOCKBACK) + node.take_knockback(ATTACK_KNOCKBACK) + if node.has_method("hurt_anim"): + node.call("hurt_anim")