diff --git a/Main Menu.gd b/Main Menu.gd index 92230d1..27132c6 100644 --- a/Main Menu.gd +++ b/Main Menu.gd @@ -4,30 +4,10 @@ signal complete(option) func _on_new_game_button_pressed() -> void: - emit_signal('complete', 'new game') - return + emit_signal('complete', 'new game') + return func _on_quit_button_pressed() -> void: - emit_signal('complete', 'quit') - return - - -func _on_Quit_Button_mouse_entered() -> void: - get_node("Menu-Select").play(0.0) - return - - -func _on_Credits_Button_mouse_entered() -> void: - get_node("Menu-Select").play(0.0) - return - - -func _on_Settings_Button_mouse_entered() -> void: - get_node("Menu-Select").play(0.0) - return - - -func _on_New_Game_Button_mouse_entered() -> void: - get_node("Menu-Select").play(0.0) - return + emit_signal('complete', 'quit') + return diff --git a/Main Menu.tscn b/Main Menu.tscn index 794913b..01f1acd 100644 --- a/Main Menu.tscn +++ b/Main Menu.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=18 format=2] +[gd_scene load_steps=16 format=2] [ext_resource path="res://Sprites/Settings_Button_Normal.png" type="Texture" id=1] [ext_resource path="res://Sprites/Continue_Button_Hover.png" type="Texture" id=2] @@ -14,8 +14,6 @@ [ext_resource path="res://Sprites/Main_Menu_Background.png" type="Texture" id=12] [ext_resource path="res://Resources/Ash.tres" type="DynamicFontData" id=13] [ext_resource path="res://Main Menu.gd" type="Script" id=14] -[ext_resource path="res://Music/Interface/main-menu.mp3" type="AudioStream" id=15] -[ext_resource path="res://Sounds/Interface/menu-select.wav" type="AudioStream" id=16] [sub_resource type="DynamicFont" id=1] size = 20 @@ -122,19 +120,5 @@ margin_bottom = 15.0 texture_normal = ExtResource( 8 ) texture_hover = ExtResource( 11 ) -[node name="BGM" type="AudioStreamPlayer" parent="."] -pause_mode = 2 -stream = ExtResource( 15 ) -volume_db = -14.136 -autoplay = true - -[node name="Menu-Select" type="AudioStreamPlayer" parent="."] -stream = ExtResource( 16 ) -volume_db = -15.146 - -[connection signal="mouse_entered" from="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer2/New Game Button" to="." method="_on_New_Game_Button_mouse_entered"] [connection signal="pressed" from="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer2/New Game Button" to="." method="_on_new_game_button_pressed"] -[connection signal="mouse_entered" from="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer3/Settings Button" to="." method="_on_Settings_Button_mouse_entered"] -[connection signal="mouse_entered" from="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer4/Credits Button" to="." method="_on_Credits_Button_mouse_entered"] -[connection signal="mouse_entered" from="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer5/Quit Button" to="." method="_on_Quit_Button_mouse_entered"] [connection signal="pressed" from="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer5/Quit Button" to="." method="_on_quit_button_pressed"] diff --git a/Music/Interface/main-menu.mp3 b/Music/Interface/main-menu.mp3 deleted file mode 100644 index fcab1e7..0000000 Binary files a/Music/Interface/main-menu.mp3 and /dev/null differ diff --git a/Music/Interface/main-menu.mp3.import b/Music/Interface/main-menu.mp3.import deleted file mode 100644 index 1ebd30c..0000000 --- a/Music/Interface/main-menu.mp3.import +++ /dev/null @@ -1,15 +0,0 @@ -[remap] - -importer="mp3" -type="AudioStreamMP3" -path="res://.import/main-menu.mp3-aab7bca33746995bd827b1be5c058ba3.mp3str" - -[deps] - -source_file="res://Music/Interface/main-menu.mp3" -dest_files=[ "res://.import/main-menu.mp3-aab7bca33746995bd827b1be5c058ba3.mp3str" ] - -[params] - -loop=true -loop_offset=0 diff --git a/Music/Interface/splash.wav b/Music/Interface/splash.wav deleted file mode 100644 index 52b83cc..0000000 Binary files a/Music/Interface/splash.wav and /dev/null differ diff --git a/Music/Interface/splash.wav.import b/Music/Interface/splash.wav.import deleted file mode 100644 index fad9591..0000000 --- a/Music/Interface/splash.wav.import +++ /dev/null @@ -1,21 +0,0 @@ -[remap] - -importer="wav" -type="AudioStreamSample" -path="res://.import/splash.wav-56b87e9c12b1da11cd6e9b9b251c6bbe.sample" - -[deps] - -source_file="res://Music/Interface/splash.wav" -dest_files=[ "res://.import/splash.wav-56b87e9c12b1da11cd6e9b9b251c6bbe.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=false -compress/mode=0 diff --git a/Player.gd b/Player.gd index 3f7da1f..b2c98c9 100644 --- a/Player.gd +++ b/Player.gd @@ -2,7 +2,7 @@ extends KinematicBody2D const ACCELERATION = 1000 const MAX_SPEED = 120 -const FRICTION = 1000 +const FRICTION = 200 var velocity: Vector2 = Vector2.ZERO diff --git a/Sounds/Interface/menu-select.wav b/Sounds/Interface/menu-select.wav deleted file mode 100644 index c3de148..0000000 Binary files a/Sounds/Interface/menu-select.wav and /dev/null differ diff --git a/Sounds/Interface/menu-select.wav.import b/Sounds/Interface/menu-select.wav.import deleted file mode 100644 index f1df4ed..0000000 --- a/Sounds/Interface/menu-select.wav.import +++ /dev/null @@ -1,21 +0,0 @@ -[remap] - -importer="wav" -type="AudioStreamSample" -path="res://.import/menu-select.wav-0365203aec745be2bb480afa89696728.sample" - -[deps] - -source_file="res://Sounds/Interface/menu-select.wav" -dest_files=[ "res://.import/menu-select.wav-0365203aec745be2bb480afa89696728.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=false -compress/mode=0 diff --git a/Splash Screen.tscn b/Splash Screen.tscn index 1c464d2..53f739c 100644 --- a/Splash Screen.tscn +++ b/Splash Screen.tscn @@ -1,8 +1,7 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=3 format=2] [ext_resource path="res://Sprites/Splash_Screen.png" type="Texture" id=1] [ext_resource path="res://Splash Screen.gd" type="Script" id=2] -[ext_resource path="res://Music/Interface/splash.wav" type="AudioStream" id=3] [node name="Splash Screen" type="Sprite"] self_modulate = Color( 1, 1, 1, 0 ) @@ -11,8 +10,3 @@ centered = false script = ExtResource( 2 ) [node name="Tween" type="Tween" parent="."] - -[node name="BGM" type="AudioStreamPlayer" parent="."] -stream = ExtResource( 3 ) -volume_db = -15.146 -autoplay = true diff --git a/Sprites/blue_snowball.png b/Sprites/blue_snowball.png new file mode 100644 index 0000000..0c28e10 Binary files /dev/null and b/Sprites/blue_snowball.png differ diff --git a/Sprites/blue_snowball.png.import b/Sprites/blue_snowball.png.import new file mode 100644 index 0000000..893b9c5 --- /dev/null +++ b/Sprites/blue_snowball.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/blue_snowball.png-103a3b5abac645dffdc46157c5c73fee.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/blue_snowball.png" +dest_files=[ "res://.import/blue_snowball.png-103a3b5abac645dffdc46157c5c73fee.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Sprites/blue_snowman.png b/Sprites/blue_snowman.png new file mode 100644 index 0000000..847793c Binary files /dev/null and b/Sprites/blue_snowman.png differ diff --git a/Sprites/blue_snowman.png.import b/Sprites/blue_snowman.png.import new file mode 100644 index 0000000..ee127ce --- /dev/null +++ b/Sprites/blue_snowman.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/blue_snowman.png-cae4b0ac84549aa87a41d17573d421ec.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/blue_snowman.png" +dest_files=[ "res://.import/blue_snowman.png-cae4b0ac84549aa87a41d17573d421ec.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Sprites/forestTreeBig.png b/Sprites/forestTreeBig.png new file mode 100644 index 0000000..7cf487f Binary files /dev/null and b/Sprites/forestTreeBig.png differ diff --git a/Sprites/forestTreeBig.png.import b/Sprites/forestTreeBig.png.import new file mode 100644 index 0000000..2e7cfdb --- /dev/null +++ b/Sprites/forestTreeBig.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/forestTreeBig.png-6eefaa0e10fc1b4d1e6d12fc1035c4c5.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/forestTreeBig.png" +dest_files=[ "res://.import/forestTreeBig.png-6eefaa0e10fc1b4d1e6d12fc1035c4c5.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Sprites/pink_snowball.png b/Sprites/pink_snowball.png new file mode 100644 index 0000000..682cf40 Binary files /dev/null and b/Sprites/pink_snowball.png differ diff --git a/Sprites/pink_snowball.png.import b/Sprites/pink_snowball.png.import new file mode 100644 index 0000000..adc739b --- /dev/null +++ b/Sprites/pink_snowball.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/pink_snowball.png-c03e0d9c8d8c15f6fe01dba5c5db77c8.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/pink_snowball.png" +dest_files=[ "res://.import/pink_snowball.png-c03e0d9c8d8c15f6fe01dba5c5db77c8.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Sprites/pink_snowman.png b/Sprites/pink_snowman.png new file mode 100644 index 0000000..cec11d2 Binary files /dev/null and b/Sprites/pink_snowman.png differ diff --git a/Sprites/pink_snowman.png.import b/Sprites/pink_snowman.png.import new file mode 100644 index 0000000..ce832ed --- /dev/null +++ b/Sprites/pink_snowman.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/pink_snowman.png-c702a4835e7e625d52b5ed1271388995.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/pink_snowman.png" +dest_files=[ "res://.import/pink_snowman.png-c702a4835e7e625d52b5ed1271388995.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/World.gd b/World.gd index f349435..faaf7c8 100644 --- a/World.gd +++ b/World.gd @@ -1,5 +1,5 @@ extends Node2D func _ready() -> void: - $YSort/Player.position = get_viewport_rect().size / 2 - return + $YSort/Player.position = get_viewport_rect().size / 2 + return diff --git a/World.tscn b/World.tscn index ced7c73..ff3c17b 100644 --- a/World.tscn +++ b/World.tscn @@ -1,12 +1,165 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=12 format=2] [ext_resource path="res://Player.tscn" type="PackedScene" id=1] [ext_resource path="res://World.gd" type="Script" id=2] +[ext_resource path="res://tileSet.tres" type="TileSet" id=3] +[ext_resource path="res://snowmen_enemy.tscn" type="PackedScene" id=4] +[ext_resource path="res://Sprites/forestTreeBig.png" type="Texture" id=5] +[ext_resource path="res://snowmen_enemy_blue.tscn" type="PackedScene" id=6] +[ext_resource path="res://snowmen_enemy_blue.gd" type="Script" id=7] + +[sub_resource type="CapsuleShape2D" id=1] +radius = 9.0515 +height = 0.0 + +[sub_resource type="SegmentShape2D" id=2] +a = Vector2( 3.84175, -99.0063 ) +b = Vector2( 3.44492, 75.211 ) + +[sub_resource type="SegmentShape2D" id=3] +a = Vector2( -12.0323, 29.5732 ) +b = Vector2( 309.792, 29.724 ) + +[sub_resource type="SegmentShape2D" id=4] +a = Vector2( 369.611, 141.974 ) +b = Vector2( 49.76, 142.724 ) [node name="World" type="Node2D"] script = ExtResource( 2 ) +[node name="TileMap" type="TileMap" parent="."] +tile_set = ExtResource( 3 ) +cell_size = Vector2( 16, 16 ) +cell_custom_transform = Transform2D( 16, 0, 0, 16, 0, 0 ) +occluder_light_mask = 0 +format = 1 +tile_data = PoolIntArray( 0, 0, 65537, 1, 0, 65538, 2, 0, 65538, 3, 0, 65538, 4, 0, 65538, 5, 0, 65538, 6, 0, 65538, 7, 0, 65538, 8, 0, 65538, 9, 0, 65538, 10, 0, 65538, 11, 0, 65538, 12, 0, 65538, 13, 0, 65538, 14, 0, 65538, 15, 0, 65538, 16, 0, 65538, 17, 0, 65538, 18, 0, 65538, 19, 0, 65539, 65536, 0, 131073, 65537, 0, 131074, 65538, 0, 131074, 65539, 0, 131074, 65540, 0, 131074, 65541, 0, 131074, 65542, 0, 131074, 65543, 0, 131074, 65544, 0, 131074, 65545, 0, 131074, 65546, 0, 131074, 65547, 0, 131074, 65548, 0, 131074, 65549, 0, 131074, 65550, 0, 131074, 65551, 0, 131074, 65552, 0, 131074, 65553, 0, 131074, 65554, 0, 131074, 65555, 0, 131075, 131072, 0, 131073, 131073, 0, 131074, 131074, 0, 131074, 131075, 0, 131074, 131076, 0, 131074, 131077, 0, 131074, 131078, 0, 131074, 131079, 0, 131074, 131080, 0, 131074, 131081, 0, 131074, 131082, 0, 131074, 131083, 0, 131074, 131084, 0, 131074, 131085, 0, 131074, 131086, 0, 131074, 131087, 0, 131074, 131088, 0, 131074, 131089, 0, 131074, 131090, 0, 131074, 131091, 0, 131075, 196608, 0, 131073, 196609, 0, 131074, 196610, 0, 131074, 196611, 0, 131074, 196612, 0, 131074, 196613, 0, 131074, 196614, 0, 131074, 196615, 0, 131074, 196616, 0, 131074, 196617, 0, 131074, 196618, 0, 131074, 196619, 0, 131074, 196620, 0, 131074, 196621, 0, 131074, 196622, 0, 131074, 196623, 0, 131074, 196624, 0, 131074, 196625, 0, 131074, 196626, 0, 131074, 196627, 0, 131075, 262144, 0, 131073, 262145, 0, 131074, 262146, 0, 131074, 262147, 0, 131074, 262148, 0, 131074, 262149, 0, 131074, 262150, 0, 131074, 262151, 0, 131074, 262152, 0, 131074, 262153, 0, 131074, 262154, 0, 131074, 262155, 0, 131074, 262156, 0, 131074, 262157, 0, 131074, 262158, 0, 131074, 262159, 0, 131074, 262160, 0, 131074, 262161, 0, 131074, 262162, 0, 131074, 262163, 0, 131075, 327680, 0, 131073, 327681, 0, 131074, 327682, 0, 131074, 327683, 0, 131074, 327684, 0, 131074, 327685, 0, 131074, 327686, 0, 131074, 327687, 0, 131074, 327688, 0, 131074, 327689, 0, 131074, 327690, 0, 131074, 327691, 0, 131074, 327692, 0, 131074, 327693, 0, 131074, 327694, 0, 131074, 327695, 0, 131074, 327696, 0, 131074, 327697, 0, 131074, 327698, 0, 131074, 327699, 0, 131075, 393216, 0, 131073, 393217, 0, 131074, 393218, 0, 131074, 393219, 0, 131074, 393220, 0, 131074, 393221, 0, 131074, 393222, 0, 131074, 393223, 0, 131074, 393224, 0, 131074, 393225, 0, 131074, 393226, 0, 131074, 393227, 0, 131074, 393228, 0, 131074, 393229, 0, 131074, 393230, 0, 131074, 393231, 0, 131074, 393232, 0, 131074, 393233, 0, 131074, 393234, 0, 131074, 393235, 0, 131075, 458752, 0, 131073, 458753, 0, 131074, 458754, 0, 131074, 458755, 0, 131074, 458756, 0, 131074, 458757, 0, 131074, 458758, 0, 131074, 458759, 0, 131074, 458760, 0, 131074, 458761, 0, 131074, 458762, 0, 131074, 458763, 0, 131074, 458764, 0, 131074, 458765, 0, 131074, 458766, 0, 131074, 458767, 0, 131074, 458768, 0, 131074, 458769, 0, 131074, 458770, 0, 131074, 458771, 0, 131075, 524288, 0, 131073, 524289, 0, 131074, 524290, 0, 131074, 524291, 0, 131074, 524292, 0, 131074, 524293, 0, 131074, 524294, 0, 131074, 524295, 0, 131074, 524296, 0, 131074, 524297, 0, 131074, 524298, 0, 131074, 524299, 0, 131074, 524300, 0, 131074, 524301, 0, 131074, 524302, 0, 131074, 524303, 0, 131074, 524304, 0, 131074, 524305, 0, 131074, 524306, 0, 131074, 524307, 0, 131075, 589824, 0, 131073, 589825, 0, 131074, 589826, 0, 131074, 589827, 0, 131074, 589828, 0, 131074, 589829, 0, 131074, 589830, 0, 131074, 589831, 0, 131074, 589832, 0, 131074, 589833, 0, 131074, 589834, 0, 131074, 589835, 0, 131074, 589836, 0, 131074, 589837, 0, 131074, 589838, 0, 131074, 589839, 0, 131074, 589840, 0, 131074, 589841, 0, 131074, 589842, 0, 131074, 589843, 0, 131075, 655360, 0, 196609, 655361, 0, 196610, 655362, 0, 196610, 655363, 0, 196610, 655364, 0, 196610, 655365, 0, 196610, 655366, 0, 196610, 655367, 0, 196610, 655368, 0, 196610, 655369, 0, 196610, 655370, 0, 196610, 655371, 0, 196610, 655372, 0, 196610, 655373, 0, 196610, 655374, 0, 196610, 655375, 0, 196610, 655376, 0, 196610, 655377, 0, 196610, 655378, 0, 196610, 655379, 0, 196611 ) + [node name="YSort" type="YSort" parent="."] +[node name="tree6" type="StaticBody2D" parent="YSort"] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="YSort/tree6"] +position = Vector2( 72.1774, 92.5564 ) +shape = SubResource( 1 ) + +[node name="forestTreeBig2" type="Sprite" parent="YSort/tree6"] +position = Vector2( 72.0738, 92.0067 ) +texture = ExtResource( 5 ) + +[node name="snowmen_enemy5" parent="YSort" instance=ExtResource( 6 )] +position = Vector2( 153.088, 50.9116 ) +script = ExtResource( 7 ) + +[node name="snowmen_enemy4" parent="YSort" instance=ExtResource( 6 )] +position = Vector2( 261.1, 142.19 ) +script = ExtResource( 7 ) + +[node name="snowmen_enemy2" parent="YSort" instance=ExtResource( 4 )] +position = Vector2( 206.587, 89.0259 ) + +[node name="snowmen_enemy" parent="YSort" instance=ExtResource( 4 )] +position = Vector2( 67.4812, 153.194 ) + [node name="Player" parent="YSort" instance=ExtResource( 1 )] +position = Vector2( 27.8223, 26.4711 ) collision_mask = 2 + +[node name="tree5" type="StaticBody2D" parent="YSort"] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="YSort/tree5"] +position = Vector2( 265.396, 85.2148 ) +shape = SubResource( 1 ) + +[node name="forestTreeBig" type="Sprite" parent="YSort/tree5"] +position = Vector2( 265.238, 84.0492 ) +texture = ExtResource( 5 ) + +[node name="tree8" type="StaticBody2D" parent="YSort"] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="YSort/tree8"] +position = Vector2( 85.1921, 39.1628 ) +shape = SubResource( 1 ) + +[node name="forestTreeBig5" type="Sprite" parent="YSort/tree8"] +position = Vector2( 84.7548, 38.2794 ) +texture = ExtResource( 5 ) + +[node name="tree7" type="StaticBody2D" parent="YSort"] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="YSort/tree7"] +position = Vector2( 38.4727, 145.283 ) +shape = SubResource( 1 ) + +[node name="forestTreeBig6" type="Sprite" parent="YSort/tree7"] +position = Vector2( 38.7028, 144.733 ) +texture = ExtResource( 5 ) + +[node name="tree4" type="StaticBody2D" parent="YSort"] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="YSort/tree4"] +position = Vector2( 211.334, 36.8269 ) +shape = SubResource( 1 ) + +[node name="forestTreeBig7" type="Sprite" parent="YSort/tree4"] +position = Vector2( 210.897, 36.2771 ) +texture = ExtResource( 5 ) + +[node name="tree" type="StaticBody2D" parent="YSort"] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="YSort/tree"] +position = Vector2( 235.362, 138.275 ) +shape = SubResource( 1 ) + +[node name="forestTreeBig" type="Sprite" parent="YSort/tree/CollisionShape2D"] +position = Vector2( -0.103607, -0.883423 ) +texture = ExtResource( 5 ) + +[node name="tree3" type="StaticBody2D" parent="YSort"] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="YSort/tree3"] +position = Vector2( 153.603, 158.631 ) +shape = SubResource( 1 ) + +[node name="forestTreeBig3" type="Sprite" parent="YSort/tree3"] +position = Vector2( 153.165, 157.748 ) +texture = ExtResource( 5 ) + +[node name="tree2" type="StaticBody2D" parent="YSort"] +position = Vector2( 2.47487, 0.707108 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="YSort/tree2"] +position = Vector2( 157.273, 93.2238 ) +shape = SubResource( 1 ) + +[node name="forestTreeBig4" type="Sprite" parent="YSort/tree2"] +position = Vector2( 156.836, 92.3404 ) +texture = ExtResource( 5 ) + +[node name="StaticBody2D2" type="StaticBody2D" parent="YSort"] +position = Vector2( -17.4614, 141.279 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="YSort/StaticBody2D2"] +position = Vector2( 329.803, -41.5425 ) +shape = SubResource( 2 ) + +[node name="StaticBody2D3" type="StaticBody2D" parent="YSort"] +position = Vector2( 15.874, -26.1921 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="YSort/StaticBody2D3"] +position = Vector2( -3.71627, -0.261772 ) +shape = SubResource( 3 ) + +[node name="StaticBody2D" type="StaticBody2D" parent="YSort"] +position = Vector2( -7.93701, 71.8299 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="YSort/StaticBody2D"] +position = Vector2( 8.36367, 26.9858 ) +shape = SubResource( 2 ) + +[node name="StaticBody2D4" type="StaticBody2D" parent="YSort"] +position = Vector2( -49.6063, 34.526 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="YSort/StaticBody2D4"] +position = Vector2( 0, -4.25 ) +shape = SubResource( 4 ) diff --git a/pink_snowball.png.import b/pink_snowball.png.import new file mode 100644 index 0000000..9f9ec4b --- /dev/null +++ b/pink_snowball.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/pink_snowball.png-c03e0d9c8d8c15f6fe01dba5c5db77c8.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/pink_snowball.png" +dest_files=[ "res://.import/pink_snowball.png-c03e0d9c8d8c15f6fe01dba5c5db77c8.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/snow.png.import b/snow.png.import new file mode 100644 index 0000000..f7cbaf3 --- /dev/null +++ b/snow.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/snow.png-8fc270e39b7d8de8c01e5d1a513fe7a7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://snow.png" +dest_files=[ "res://.import/snow.png-8fc270e39b7d8de8c01e5d1a513fe7a7.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/snowball.gd b/snowball.gd new file mode 100644 index 0000000..6cf8970 --- /dev/null +++ b/snowball.gd @@ -0,0 +1,16 @@ +extends Area2D + +var move = Vector2.ZERO +var look_vec = Vector2.ZERO +var player = null +var speed = 3 + +func _ready(): + + look_vec = player.position - global_position + +func _physics_process(delta): + move = Vector2.ZERO + move = move.move_toward(look_vec, delta) + move = move.normalized() * speed + position += move diff --git a/snowball.tscn b/snowball.tscn new file mode 100644 index 0000000..775fd3a --- /dev/null +++ b/snowball.tscn @@ -0,0 +1,17 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://Sprites/pink_snowball.png" type="Texture" id=1] +[ext_resource path="res://snowball.gd" type="Script" id=2] + +[sub_resource type="CircleShape2D" id=1] +radius = 4.47823 + +[node name="snowball" type="Area2D"] +script = ExtResource( 2 ) + +[node name="Sprite" type="Sprite" parent="."] +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( -0.00869751, -0.0361767 ) +shape = SubResource( 1 ) diff --git a/snowball_blue.gd b/snowball_blue.gd new file mode 100644 index 0000000..6cf8970 --- /dev/null +++ b/snowball_blue.gd @@ -0,0 +1,16 @@ +extends Area2D + +var move = Vector2.ZERO +var look_vec = Vector2.ZERO +var player = null +var speed = 3 + +func _ready(): + + look_vec = player.position - global_position + +func _physics_process(delta): + move = Vector2.ZERO + move = move.move_toward(look_vec, delta) + move = move.normalized() * speed + position += move diff --git a/snowball_blue.tscn b/snowball_blue.tscn new file mode 100644 index 0000000..6045bad --- /dev/null +++ b/snowball_blue.tscn @@ -0,0 +1,17 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://Sprites/blue_snowball.png" type="Texture" id=1] +[ext_resource path="res://snowball.gd" type="Script" id=2] + +[sub_resource type="CircleShape2D" id=1] +radius = 4.47823 + +[node name="snowball_blue" type="Area2D"] +script = ExtResource( 2 ) + +[node name="Sprite" type="Sprite" parent="."] +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( -0.00869751, -0.0361767 ) +shape = SubResource( 1 ) diff --git a/snowmen_enemy.gd b/snowmen_enemy.gd new file mode 100644 index 0000000..f6f2b9c --- /dev/null +++ b/snowmen_enemy.gd @@ -0,0 +1,42 @@ +extends KinematicBody2D + +onready var SNOWBALL_SCENE = preload("res://snowball.tscn") + +var player = null +var move = Vector2.ZERO +var speed = .5 + +func _physics_process(delta: float) -> void: + move = Vector2.ZERO + + if player != null: + move = position.direction_to(player.position) * speed + else: + move = Vector2.ZERO + + move = move.normalized() + move = move_and_collide(move) + + + +func _on_Area2D_body_entered(body: Node) -> void: + if body != self && !(body.name.begins_with("tree")) && !(body.name.begins_with("snowmen_enemy")): + player = body + + +func _on_Area2D_body_exited(body: Node) -> void: + if !(body.name.begins_with("tree")) && !(body.name.begins_with("snowmen_enemy")): + player = null + + +func fire(): + var snowball = SNOWBALL_SCENE.instance() + snowball.position = get_global_position() + snowball.player = player + get_parent().add_child(snowball) + $Timer.set_wait_time(1) + + +func _on_Timer_timeout() -> void: + if player != null: + fire() diff --git a/snowmen_enemy.tscn b/snowmen_enemy.tscn new file mode 100644 index 0000000..015621a --- /dev/null +++ b/snowmen_enemy.tscn @@ -0,0 +1,32 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://Sprites/pink_snowman.png" type="Texture" id=1] +[ext_resource path="res://snowmen_enemy.gd" type="Script" id=2] + +[sub_resource type="CapsuleShape2D" id=1] +radius = 6.0 +height = 5.0 + +[sub_resource type="CircleShape2D" id=2] +radius = 56.0659 + +[node name="snowmen_enemy" type="KinematicBody2D"] +script = ExtResource( 2 ) + +[node name="Sprite" type="Sprite" parent="."] +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource( 1 ) + +[node name="Area2D" type="Area2D" parent="."] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] +shape = SubResource( 2 ) + +[node name="Timer" type="Timer" parent="."] +autostart = true + +[connection signal="body_entered" from="Area2D" to="." method="_on_Area2D_body_entered"] +[connection signal="body_exited" from="Area2D" to="." method="_on_Area2D_body_exited"] +[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"] diff --git a/snowmen_enemy_blue.gd b/snowmen_enemy_blue.gd new file mode 100644 index 0000000..ae64d6f --- /dev/null +++ b/snowmen_enemy_blue.gd @@ -0,0 +1,42 @@ +extends KinematicBody2D + +onready var SNOWBALL_BLUE_SCENE = preload("res://snowball_blue.tscn") + +var player = null +var move = Vector2.ZERO +var speed = 1 + +func _physics_process(delta: float) -> void: + move = Vector2.ZERO + + if player != null: + move = position.direction_to(player.position) * speed + else: + move = Vector2.ZERO + + move = move.normalized() + move = move_and_collide(move) + + + +func _on_Area2D_body_entered(body: Node) -> void: + if body != self && !(body.name.begins_with("tree")) && !(body.name.begins_with("snowmen_enemy")): + player = body + + +func _on_Area2D_body_exited(body: Node) -> void: + if !(body.name.begins_with("tree")) && !(body.name.begins_with("snowmen_enemy")): + player = null + + +func fire(): + var snowball = SNOWBALL_BLUE_SCENE.instance() + snowball.position = get_global_position() + snowball.player = player + get_parent().add_child(snowball) + $Timer.set_wait_time(1) + + +func _on_Timer_timeout() -> void: + if player != null: + fire() diff --git a/snowmen_enemy_blue.tscn b/snowmen_enemy_blue.tscn new file mode 100644 index 0000000..8533d03 --- /dev/null +++ b/snowmen_enemy_blue.tscn @@ -0,0 +1,32 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://Sprites/blue_snowman.png" type="Texture" id=1] +[ext_resource path="res://snowmen_enemy.gd" type="Script" id=2] + +[sub_resource type="CapsuleShape2D" id=1] +radius = 6.0 +height = 5.0 + +[sub_resource type="CircleShape2D" id=2] +radius = 58.0175 + +[node name="snowmen_enemy" type="KinematicBody2D"] +script = ExtResource( 2 ) + +[node name="Sprite" type="Sprite" parent="."] +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource( 1 ) + +[node name="Area2D" type="Area2D" parent="."] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] +shape = SubResource( 2 ) + +[node name="Timer" type="Timer" parent="."] +autostart = true + +[connection signal="body_entered" from="Area2D" to="." method="_on_Area2D_body_entered"] +[connection signal="body_exited" from="Area2D" to="." method="_on_Area2D_body_exited"] +[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"] diff --git a/tileSet.png b/tileSet.png new file mode 100644 index 0000000..a73f570 Binary files /dev/null and b/tileSet.png differ diff --git a/tileSet.png.import b/tileSet.png.import new file mode 100644 index 0000000..414d308 --- /dev/null +++ b/tileSet.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/tileSet.png-d75da628fe085e727948c32129eea799.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://tileSet.png" +dest_files=[ "res://.import/tileSet.png-d75da628fe085e727948c32129eea799.stex" ] + +[params] + +compress/mode=3 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=2 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=0 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/tileSet.tres b/tileSet.tres new file mode 100644 index 0000000..c4dfa7c --- /dev/null +++ b/tileSet.tres @@ -0,0 +1,28 @@ +[gd_resource type="TileSet" load_steps=2 format=2] + +[ext_resource path="res://tileSet.png" type="Texture" id=1] + +[resource] +0/name = "tileSet.png 0" +0/texture = ExtResource( 1 ) +0/tex_offset = Vector2( 0, 0 ) +0/modulate = Color( 1, 1, 1, 1 ) +0/region = Rect2( 0, 0, 208, 96 ) +0/tile_mode = 1 +0/autotile/bitmask_mode = 1 +0/autotile/bitmask_flags = [ Vector2( 1, 1 ), 432, Vector2( 1, 2 ), 438, Vector2( 1, 3 ), 54, Vector2( 1, 4 ), 48, Vector2( 2, 1 ), 504, Vector2( 2, 2 ), 511, Vector2( 2, 3 ), 63, Vector2( 2, 4 ), 56, Vector2( 3, 1 ), 216, Vector2( 3, 2 ), 219, Vector2( 3, 3 ), 27, Vector2( 3, 4 ), 24, Vector2( 4, 1 ), 144, Vector2( 4, 2 ), 146, Vector2( 4, 3 ), 18, Vector2( 4, 4 ), 16, Vector2( 5, 1 ), 176, Vector2( 5, 2 ), 182, Vector2( 5, 3 ), 434, Vector2( 5, 4 ), 50, Vector2( 5, 5 ), 178, Vector2( 6, 1 ), 248, Vector2( 6, 2 ), 255, Vector2( 6, 3 ), 507, Vector2( 6, 4 ), 59, Vector2( 6, 5 ), 251, Vector2( 7, 1 ), 440, Vector2( 7, 2 ), 447, Vector2( 7, 3 ), 510, Vector2( 7, 4 ), 62, Vector2( 7, 5 ), 446, Vector2( 8, 1 ), 152, Vector2( 8, 2 ), 155, Vector2( 8, 3 ), 218, Vector2( 8, 4 ), 26, Vector2( 8, 5 ), 154, Vector2( 9, 1 ), 184, Vector2( 9, 2 ), 191, Vector2( 9, 3 ), 506, Vector2( 9, 4 ), 58, Vector2( 9, 5 ), 186, Vector2( 10, 1 ), 443, Vector2( 10, 2 ), 254, Vector2( 10, 3 ), 442, Vector2( 10, 4 ), 190, Vector2( 11, 3 ), 250, Vector2( 11, 4 ), 187 ] +0/autotile/icon_coordinate = Vector2( 2, 2 ) +0/autotile/tile_size = Vector2( 16, 16 ) +0/autotile/spacing = 0 +0/autotile/occluder_map = [ ] +0/autotile/navpoly_map = [ ] +0/autotile/priority_map = [ ] +0/autotile/z_index_map = [ ] +0/occluder_offset = Vector2( 0, 0 ) +0/navigation_offset = Vector2( 0, 0 ) +0/shape_offset = Vector2( 0, 0 ) +0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +0/shape_one_way = false +0/shape_one_way_margin = 0.0 +0/shapes = [ ] +0/z_index = 0 diff --git a/tree.tscn b/tree.tscn new file mode 100644 index 0000000..b0e641a --- /dev/null +++ b/tree.tscn @@ -0,0 +1,17 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Sprites/forestTreeBig.png" type="Texture" id=1] + +[sub_resource type="CapsuleShape2D" id=1] +radius = 5.0 +height = 9.0 + +[node name="Tree" type="StaticBody2D"] + +[node name="Sprite" type="Sprite" parent="."] +texture = ExtResource( 1 ) +offset = Vector2( 0, -5 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +rotation = 1.5708 +shape = SubResource( 1 )