diff options
Diffstat (limited to 'Reusable Scenes')
22 files changed, 2776 insertions, 0 deletions
diff --git a/Reusable Scenes/0/enemy.tscn b/Reusable Scenes/0/enemy.tscn new file mode 100644 index 0000000..0765b5e --- /dev/null +++ b/Reusable Scenes/0/enemy.tscn @@ -0,0 +1,193 @@ +[gd_scene load_steps=18 format=3 uid="uid://dqw3tqg5374ui"] + +[ext_resource type="Script" uid="uid://c5warxls18mds" path="res://Scripts/Entity.gd" id="1_uu6qt"] +[ext_resource type="Texture2D" uid="uid://d3plfj75jmmyu" path="res://Assets/Visuals/isostri.png" id="2_lxnsa"] +[ext_resource type="Script" uid="uid://n2vodoxhopnr" path="res://Scripts/Enemy AI/ShoreAI.gd" id="2_twxkf"] +[ext_resource type="Texture2D" uid="uid://yfecq14wfrpc" path="res://Assets/Visuals/righttri.png" id="3_t7yj4"] +[ext_resource type="Texture2D" uid="uid://ddxbrkfa7i5n" path="res://Assets/Visuals/hexagon.png" id="3_uu6qt"] +[ext_resource type="PackedScene" uid="uid://bdws5hhfuef84" path="res://Reusable Scenes/Masks/speed_mask.tscn" id="4_lxnsa"] +[ext_resource type="PackedScene" uid="uid://c3nbowvq6g4ah" path="res://Reusable Scenes/Weapons/weapon_machette.tscn" id="6_h27ao"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_twxkf"] +radius = 722.224 + +[sub_resource type="CircleShape2D" id="CircleShape2D_lrpdk"] +radius = 73.0616 + +[sub_resource type="Gradient" id="Gradient_twxkf"] +offsets = PackedFloat32Array(1) +colors = PackedColorArray(0.3074, 0.53, 0.33708, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_lrpdk"] +gradient = SubResource("Gradient_twxkf") +width = 26 + +[sub_resource type="Gradient" id="Gradient_lxnsa"] +offsets = PackedFloat32Array(1) +colors = PackedColorArray(0.299315, 0.19351, 0.158235, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_uu6qt"] +gradient = SubResource("Gradient_lxnsa") +width = 26 + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_h27ao"] +radius = 13.0 +height = 80.0 + +[sub_resource type="Animation" id="Animation_h27ao"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("SpriteGroup/Foot:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(-9, 27)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("SpriteGroup/Foot2:position") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(9, 27)] +} + +[sub_resource type="Animation" id="Animation_uu6qt"] +resource_name = "walk" +length = 0.8 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("SpriteGroup/Foot:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.0666667, 0.166667, 0.233333, 0.333333, 0.4, 0.8), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1), +"update": 0, +"values": [Vector2(-9, 27), Vector2(-6, 25), Vector2(-3, 24), Vector2(2, 24), Vector2(6, 26), Vector2(9, 27), Vector2(-9, 27)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("SpriteGroup/Foot2:position") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.400847, 0.4759, 0.560019, 0.626686, 0.726686, 0.8), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1), +"update": 0, +"values": [Vector2(9, 27), Vector2(-9, 27), Vector2(-6, 25), Vector2(-3, 24), Vector2(2, 24), Vector2(6, 26), Vector2(9, 27)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_twxkf"] +_data = { +&"RESET": SubResource("Animation_h27ao"), +&"walk": SubResource("Animation_uu6qt") +} + +[node name="EnemyShore" type="RigidBody2D"] +collision_layer = 32768 +lock_rotation = true +script = ExtResource("1_uu6qt") +max_health = 20 + +[node name="EnemyShoreAI" type="Node" parent="." node_paths=PackedStringArray("weapon", "sprite", "animator")] +script = ExtResource("2_twxkf") +weapon = NodePath("../weapon_machette") +sprite = NodePath("../SpriteGroup") +animator = NodePath("../AnimationPlayer") + +[node name="AttackCooldown" type="Timer" parent="EnemyShoreAI"] +wait_time = 1.5 + +[node name="DetectArea" type="Area2D" parent="."] +collision_layer = 3 +collision_mask = 3 +collision_priority = 2.0 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="DetectArea"] +shape = SubResource("CircleShape2D_twxkf") + +[node name="AttackArea" type="Area2D" parent="."] +collision_layer = 3 +collision_mask = 3 +collision_priority = 2.0 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="AttackArea"] +shape = SubResource("CircleShape2D_lrpdk") +debug_color = Color(0.937978, 1.20327e-05, 0.625666, 0.42) + +[node name="SpriteGroup" type="Node2D" parent="."] + +[node name="Foot" type="Sprite2D" parent="SpriteGroup"] +modulate = Color(0.219311, 0.47227, 8.66354e-07, 1) +position = Vector2(-9, 27) +rotation = 3.14159 +scale = Vector2(0.015, -0.00680612) +texture = ExtResource("2_lxnsa") + +[node name="Foot2" type="Sprite2D" parent="SpriteGroup"] +modulate = Color(0.219311, 0.47227, 8.66354e-07, 1) +position = Vector2(9, 27) +rotation = 3.14159 +scale = Vector2(0.015, -0.00680612) +texture = ExtResource("2_lxnsa") + +[node name="Sprite2D" type="Sprite2D" parent="SpriteGroup"] +position = Vector2(0, 3) +scale = Vector2(1, 36.43) +texture = SubResource("GradientTexture1D_lrpdk") + +[node name="Sprite2D3" type="Sprite2D" parent="SpriteGroup"] +position = Vector2(0, 14.6075) +scale = Vector2(1, 13.215) +texture = SubResource("GradientTexture1D_uu6qt") + +[node name="Sprite2D2" type="Sprite2D" parent="SpriteGroup"] +modulate = Color(0.46, 0.3611, 0.322, 1) +position = Vector2(0, -35) +rotation = 3.14159 +scale = Vector2(0.0277332, 0.0277332) +texture = ExtResource("3_uu6qt") + +[node name="Righttri" type="Sprite2D" parent="SpriteGroup"] +modulate = Color(0.458824, 0.360784, 0.317647, 1) +position = Vector2(-7.87, -8.115) +scale = Vector2(0.01, 0.0138965) +texture = ExtResource("3_t7yj4") + +[node name="SpeedMask" parent="SpriteGroup" instance=ExtResource("4_lxnsa")] +process_mode = 4 +position = Vector2(6, -34) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +visible = false +position = Vector2(0, -9.44) +shape = SubResource("CapsuleShape2D_h27ao") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +&"": SubResource("AnimationLibrary_twxkf") +} + +[node name="weapon_machette" parent="." instance=ExtResource("6_h27ao")] +position = Vector2(23, -4) +scale = Vector2(1, 1) +mask = 2 +disable_aft_atk = true + +[connection signal="timeout" from="EnemyShoreAI/AttackCooldown" to="EnemyShoreAI" method="_on_attack_cooldown_timeout"] +[connection signal="body_entered" from="DetectArea" to="EnemyShoreAI" method="_on_area_2d_body_entered"] +[connection signal="body_entered" from="AttackArea" to="EnemyShoreAI" method="_on_attack_area_body_entered"] +[connection signal="body_exited" from="AttackArea" to="EnemyShoreAI" method="_on_attack_area_body_exited"] diff --git a/Reusable Scenes/0/tree.tscn b/Reusable Scenes/0/tree.tscn new file mode 100644 index 0000000..6f2f258 --- /dev/null +++ b/Reusable Scenes/0/tree.tscn @@ -0,0 +1,455 @@ +[gd_scene load_steps=8 format=3 uid="uid://ceukarr4k0tni"] + +[ext_resource type="Texture2D" uid="uid://ddxbrkfa7i5n" path="res://Assets/Visuals/hexagon.png" id="1_b54q5"] + +[sub_resource type="Gradient" id="Gradient_gnif3"] +offsets = PackedFloat32Array(1) +colors = PackedColorArray(0.6, 0.4245, 0.21, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_lwy2l"] +gradient = SubResource("Gradient_gnif3") +width = 32 + +[sub_resource type="Gradient" id="Gradient_34bfm"] +offsets = PackedFloat32Array(1) +colors = PackedColorArray(0.78, 0.56589, 0.3042, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_ovrsl"] +gradient = SubResource("Gradient_34bfm") +width = 32 + +[sub_resource type="Gradient" id="Gradient_hbaan"] +offsets = PackedFloat32Array(1) +colors = PackedColorArray(0.488555, 0.689084, 0.041547, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_he5fp"] +gradient = SubResource("Gradient_hbaan") +width = 32 + +[node name="Tree" type="Node2D"] +modulate = Color(0.676879, 0.676879, 0.676879, 1) + +[node name="Sprite2D" type="Sprite2D" parent="."] +modulate = Color(0.552956, 0.552956, 0.552956, 1) +scale = Vector2(1.4375, 103) +texture = SubResource("GradientTexture1D_lwy2l") +offset = Vector2(0, -0.5) + +[node name="Sprite2D2" type="Sprite2D" parent="."] +modulate = Color(0.552956, 0.552956, 0.552956, 1) +position = Vector2(0, -103) +rotation = -0.0977911 +scale = Vector2(1.2731, 99.8124) +texture = SubResource("GradientTexture1D_ovrsl") +offset = Vector2(0, -0.5) + +[node name="Sprite2D3" type="Sprite2D" parent="."] +modulate = Color(0.552956, 0.552956, 0.552956, 1) +position = Vector2(-9, -201) +rotation = -0.207685 +scale = Vector2(1.21439, 99.8695) +texture = SubResource("GradientTexture1D_lwy2l") +offset = Vector2(0, -0.5) + +[node name="Sprite2D4" type="Sprite2D" parent="."] +modulate = Color(0.552956, 0.552956, 0.552956, 1) +position = Vector2(-29, -297) +rotation = -0.324123 +scale = Vector2(1.06719, 85.8361) +texture = SubResource("GradientTexture1D_ovrsl") +offset = Vector2(0, -0.5) + +[node name="mainNode2D3" type="Node2D" parent="."] +modulate = Color(0.828197, 0.828197, 0.828197, 1) +position = Vector2(-51, -381) +rotation = 0.159562 +scale = Vector2(-0.645606, 0.645606) + +[node name="Sprite2D5" type="Sprite2D" parent="mainNode2D3"] +rotation = 0.111521 +scale = Vector2(4.10644, 36.4106) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D6" type="Sprite2D" parent="mainNode2D3"] +position = Vector2(-123, -16) +rotation = -0.25386 +scale = Vector2(2.81758, 32.1459) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D7" type="Sprite2D" parent="mainNode2D3"] +position = Vector2(-203, 6) +rotation = -0.826959 +scale = Vector2(2.51917, 25.9537) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="mainNode2D4" type="Node2D" parent="."] +modulate = Color(0.828197, 0.828197, 0.828197, 1) +position = Vector2(-51, -381) +rotation = -0.346071 +scale = Vector2(-0.740513, 0.740513) + +[node name="Sprite2D5" type="Sprite2D" parent="mainNode2D4"] +rotation = 0.111521 +scale = Vector2(4.10644, 36.4106) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D6" type="Sprite2D" parent="mainNode2D4"] +position = Vector2(-123, -16) +rotation = -0.25386 +scale = Vector2(2.81758, 32.1459) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D7" type="Sprite2D" parent="mainNode2D4"] +position = Vector2(-203, 6) +rotation = -0.826959 +scale = Vector2(2.51917, 25.9537) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Node2D7" type="Node2D" parent="."] +modulate = Color(0.629675, 0.629675, 0.629675, 1) +position = Vector2(-51, -381) +rotation = -0.105893 +scale = Vector2(-0.740513, 0.740513) + +[node name="Sprite2D5" type="Sprite2D" parent="Node2D7"] +rotation = 0.111521 +scale = Vector2(4.10644, 36.4106) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D6" type="Sprite2D" parent="Node2D7"] +position = Vector2(-123, -16) +rotation = -0.25386 +scale = Vector2(2.81758, 32.1459) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D7" type="Sprite2D" parent="Node2D7"] +position = Vector2(-203, 6) +rotation = -0.826959 +scale = Vector2(2.51917, 25.9537) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Node2D10" type="Node2D" parent="."] +modulate = Color(0.629675, 0.629675, 0.629675, 1) +position = Vector2(-51, -381) +rotation = -0.738354 +scale = Vector2(-0.740513, 0.740513) + +[node name="Sprite2D5" type="Sprite2D" parent="Node2D10"] +rotation = 0.111521 +scale = Vector2(4.10644, 36.4106) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D6" type="Sprite2D" parent="Node2D10"] +position = Vector2(-123, -16) +rotation = -0.25386 +scale = Vector2(2.81758, 32.1459) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D7" type="Sprite2D" parent="Node2D10"] +position = Vector2(-203, 6) +rotation = -0.826959 +scale = Vector2(2.51917, 25.9537) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="mainNode2D5" type="Node2D" parent="."] +modulate = Color(0.828197, 0.828197, 0.828197, 1) +position = Vector2(-51, -381) +rotation = -1.08139 +scale = Vector2(-0.638031, 0.638031) + +[node name="Sprite2D5" type="Sprite2D" parent="mainNode2D5"] +rotation = 0.111521 +scale = Vector2(4.10644, 36.4106) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D6" type="Sprite2D" parent="mainNode2D5"] +position = Vector2(-123, -16) +rotation = -0.25386 +scale = Vector2(2.81758, 32.1459) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D7" type="Sprite2D" parent="mainNode2D5"] +position = Vector2(-203, 6) +rotation = -0.826959 +scale = Vector2(2.51917, 25.9537) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="mainNode2D" type="Node2D" parent="."] +modulate = Color(0.828197, 0.828197, 0.828197, 1) +position = Vector2(-56, -379) +rotation = -0.545855 +scale = Vector2(0.630668, 0.630668) + +[node name="Sprite2D5" type="Sprite2D" parent="mainNode2D"] +rotation = 0.111521 +scale = Vector2(4.10644, 36.4106) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D6" type="Sprite2D" parent="mainNode2D"] +position = Vector2(-123, -16) +rotation = -0.25386 +scale = Vector2(2.81758, 32.1459) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D7" type="Sprite2D" parent="mainNode2D"] +position = Vector2(-203, 6) +rotation = -0.826959 +scale = Vector2(2.51917, 25.9537) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Node2D9" type="Node2D" parent="."] +modulate = Color(0.629675, 0.629675, 0.629675, 1) +position = Vector2(-56, -379) +rotation = 0.380499 +scale = Vector2(0.744016, 0.744016) + +[node name="Sprite2D5" type="Sprite2D" parent="Node2D9"] +rotation = 0.111521 +scale = Vector2(4.10644, 36.4106) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D6" type="Sprite2D" parent="Node2D9"] +position = Vector2(-123, -16) +rotation = -0.25386 +scale = Vector2(2.81758, 32.1459) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D7" type="Sprite2D" parent="Node2D9"] +position = Vector2(-203, 6) +rotation = -0.826959 +scale = Vector2(2.51917, 25.9537) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Node2D8" type="Node2D" parent="."] +modulate = Color(0.629675, 0.629675, 0.629675, 1) +position = Vector2(-56, -379) +rotation = -0.252739 +scale = Vector2(0.744016, 0.744016) + +[node name="Sprite2D5" type="Sprite2D" parent="Node2D8"] +rotation = 0.111521 +scale = Vector2(4.10644, 36.4106) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D6" type="Sprite2D" parent="Node2D8"] +position = Vector2(-123, -16) +rotation = -0.25386 +scale = Vector2(2.81758, 32.1459) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D7" type="Sprite2D" parent="Node2D8"] +position = Vector2(-203, 6) +rotation = -0.826959 +scale = Vector2(2.51917, 25.9537) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="mainNode2D2" type="Node2D" parent="."] +modulate = Color(0.828197, 0.828197, 0.828197, 1) +position = Vector2(-56, -379) +rotation = 0.0687167 +scale = Vector2(0.727442, 0.727442) + +[node name="Sprite2D5" type="Sprite2D" parent="mainNode2D2"] +rotation = 0.111521 +scale = Vector2(4.10644, 36.4106) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D6" type="Sprite2D" parent="mainNode2D2"] +position = Vector2(-123, -16) +rotation = -0.25386 +scale = Vector2(2.81758, 32.1459) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D7" type="Sprite2D" parent="mainNode2D2"] +position = Vector2(-203, 6) +rotation = -0.826959 +scale = Vector2(2.51917, 25.9537) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Node2D11" type="Node2D" parent="."] +modulate = Color(0.629675, 0.629675, 0.629675, 1) +position = Vector2(-68, -397) +rotation = 0.950834 +scale = Vector2(0.626913, 0.628772) + +[node name="Sprite2D5" type="Sprite2D" parent="Node2D11"] +rotation = 0.111521 +scale = Vector2(4.10644, 36.4106) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D6" type="Sprite2D" parent="Node2D11"] +position = Vector2(-123, -16) +rotation = -0.25386 +scale = Vector2(2.81758, 32.1459) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D7" type="Sprite2D" parent="Node2D11"] +position = Vector2(-203, 6) +rotation = -0.826959 +scale = Vector2(2.51917, 25.9537) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="mainNode2D6" type="Node2D" parent="."] +modulate = Color(0.828197, 0.828197, 0.828197, 1) +position = Vector2(-56, -379) +rotation = 0.73046 +scale = Vector2(0.664961, 0.703489) + +[node name="Sprite2D5" type="Sprite2D" parent="mainNode2D6"] +rotation = 0.111521 +scale = Vector2(4.10644, 36.4106) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D6" type="Sprite2D" parent="mainNode2D6"] +position = Vector2(-123, -16) +rotation = -0.25386 +scale = Vector2(2.81758, 32.1459) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D7" type="Sprite2D" parent="mainNode2D6"] +position = Vector2(-203, 6) +rotation = -0.826959 +scale = Vector2(2.51917, 25.9537) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Node2D12" type="Node2D" parent="."] +modulate = Color(0.629675, 0.629675, 0.629675, 1) +position = Vector2(-68, -397) +rotation = 1.97748 +scale = Vector2(0.630013, -0.631886) + +[node name="Sprite2D5" type="Sprite2D" parent="Node2D12"] +rotation = 0.111521 +scale = Vector2(4.10644, 36.4106) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D6" type="Sprite2D" parent="Node2D12"] +position = Vector2(-123, -16) +rotation = -0.25386 +scale = Vector2(2.81758, 32.1459) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D7" type="Sprite2D" parent="Node2D12"] +position = Vector2(-203, 6) +rotation = -0.826959 +scale = Vector2(2.51917, 25.9537) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="mainNode2D8" type="Node2D" parent="."] +modulate = Color(0.828197, 0.828197, 0.828197, 1) +position = Vector2(-68, -397) +rotation = 1.63903 +scale = Vector2(0.559908, -0.561572) + +[node name="Sprite2D5" type="Sprite2D" parent="mainNode2D8"] +rotation = 0.111521 +scale = Vector2(4.10644, 36.4106) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D6" type="Sprite2D" parent="mainNode2D8"] +position = Vector2(-123, -16) +rotation = -0.25386 +scale = Vector2(2.81758, 32.1459) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Sprite2D7" type="Sprite2D" parent="mainNode2D8"] +position = Vector2(-203, 6) +rotation = -0.826959 +scale = Vector2(2.51917, 25.9537) +texture = SubResource("GradientTexture1D_he5fp") +offset = Vector2(-16, -0.5) + +[node name="Hexagon" type="Sprite2D" parent="."] +modulate = Color(0.227159, 0.158365, 0.102112, 1) +position = Vector2(-77, -378) +rotation = 2.16671 +scale = Vector2(0.0515273, 0.0515273) +texture = ExtResource("1_b54q5") + +[node name="Hexagon2" type="Sprite2D" parent="Hexagon"] +modulate = Color(0.712129, 0.712129, 0.712129, 1) +position = Vector2(272.679, -136.34) +scale = Vector2(0.172528, 0.172528) +texture = ExtResource("1_b54q5") + +[node name="Hexagon3" type="Sprite2D" parent="Hexagon"] +modulate = Color(0.712129, 0.712129, 0.712129, 1) +position = Vector2(62.926, -314.63) +scale = Vector2(0.172528, 0.172528) +texture = ExtResource("1_b54q5") + +[node name="Hexagon2" type="Sprite2D" parent="."] +modulate = Color(0.306236, 0.218686, 0.147156, 1) +position = Vector2(-35, -401) +rotation = 0.266443 +scale = Vector2(0.0515273, 0.0515273) +texture = ExtResource("1_b54q5") + +[node name="Hexagon2" type="Sprite2D" parent="Hexagon2"] +modulate = Color(0.712129, 0.712129, 0.712129, 1) +position = Vector2(272.679, -136.34) +scale = Vector2(0.172528, 0.172528) +texture = ExtResource("1_b54q5") + +[node name="Hexagon3" type="Sprite2D" parent="Hexagon2"] +modulate = Color(0.712129, 0.712129, 0.712129, 1) +position = Vector2(62.926, -314.63) +scale = Vector2(0.172528, 0.172528) +texture = ExtResource("1_b54q5") + +[node name="Hexagon3" type="Sprite2D" parent="."] +modulate = Color(0.238132, 0.166711, 0.108316, 1) +position = Vector2(-71, -417) +rotation = -0.147981 +scale = Vector2(0.0391577, 0.0391577) +texture = ExtResource("1_b54q5") + +[node name="Hexagon2" type="Sprite2D" parent="Hexagon3"] +modulate = Color(0.712129, 0.712129, 0.712129, 1) +position = Vector2(272.679, -136.34) +scale = Vector2(0.172528, 0.172528) +texture = ExtResource("1_b54q5") + +[node name="Hexagon3" type="Sprite2D" parent="Hexagon3"] +modulate = Color(0.712129, 0.712129, 0.712129, 1) +position = Vector2(62.926, -314.63) +scale = Vector2(0.172528, 0.172528) +texture = ExtResource("1_b54q5") diff --git a/Reusable Scenes/1/bg_tree.tscn b/Reusable Scenes/1/bg_tree.tscn new file mode 100644 index 0000000..7670692 --- /dev/null +++ b/Reusable Scenes/1/bg_tree.tscn @@ -0,0 +1,60 @@ +[gd_scene load_steps=3 format=3 uid="uid://beucb04e2mvm7"] + +[sub_resource type="Gradient" id="Gradient_y0prk"] +offsets = PackedFloat32Array(0.0210843) +colors = PackedColorArray(0.0705882, 0.0901961, 0.0627451, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_0nkm3"] +gradient = SubResource("Gradient_y0prk") +width = 64 + +[node name="BGTree" type="Node2D"] +z_index = -90 +scale = Vector2(0.78, 0.78) + +[node name="Sprite" type="Sprite2D" parent="."] +position = Vector2(68, -426) +scale = Vector2(3.125, 916) +texture = SubResource("GradientTexture1D_0nkm3") + +[node name="Sprite2" type="Sprite2D" parent="."] +position = Vector2(-1.33514e-05, -202) +rotation = 0.270581 +scale = Vector2(1.33656, 427.101) +texture = SubResource("GradientTexture1D_0nkm3") + +[node name="Sprite3" type="Sprite2D" parent="."] +position = Vector2(153, -146) +rotation = -0.239004 +scale = Vector2(1.33656, 427.101) +texture = SubResource("GradientTexture1D_0nkm3") + +[node name="Sprite4" type="Sprite2D" parent="."] +position = Vector2(-148, 20) +rotation = 0.873128 +scale = Vector2(1.33656, 427.101) +texture = SubResource("GradientTexture1D_0nkm3") + +[node name="Sprite5" type="Sprite2D" parent="."] +position = Vector2(-84, -703) +rotation = 2.24277 +scale = Vector2(1.33656, 427.101) +texture = SubResource("GradientTexture1D_0nkm3") + +[node name="Sprite6" type="Sprite2D" parent="."] +position = Vector2(-71.9999, -954) +rotation = 3.12576 +scale = Vector2(9.45908, 322.896) +texture = SubResource("GradientTexture1D_0nkm3") + +[node name="Sprite7" type="Sprite2D" parent="."] +position = Vector2(285, -920) +rotation = 2.85721 +scale = Vector2(7.69613, 391.078) +texture = SubResource("GradientTexture1D_0nkm3") + +[node name="Sprite8" type="Sprite2D" parent="."] +position = Vector2(-349, -1070) +rotation = 3.25921 +scale = Vector2(6.84112, 358.914) +texture = SubResource("GradientTexture1D_0nkm3") diff --git a/Reusable Scenes/1/enemy_archer.tscn b/Reusable Scenes/1/enemy_archer.tscn new file mode 100644 index 0000000..9dbfa11 --- /dev/null +++ b/Reusable Scenes/1/enemy_archer.tscn @@ -0,0 +1,194 @@ +[gd_scene load_steps=17 format=3 uid="uid://s27nyuw0bl5a"] + +[ext_resource type="Script" uid="uid://c5warxls18mds" path="res://Scripts/Entity.gd" id="1_wgldt"] +[ext_resource type="Script" uid="uid://cahhmhibcdjcd" path="res://Scripts/Enemy AI/JungleAI.gd" id="2_8a6jk"] +[ext_resource type="Texture2D" uid="uid://d3plfj75jmmyu" path="res://Assets/Visuals/isostri.png" id="3_oyvi1"] +[ext_resource type="Texture2D" uid="uid://ddxbrkfa7i5n" path="res://Assets/Visuals/hexagon.png" id="4_b2uf7"] +[ext_resource type="PackedScene" uid="uid://ccij302qcrvo1" path="res://Reusable Scenes/Masks/grapple_mask.tscn" id="5_wyw0d"] +[ext_resource type="Script" uid="uid://bfmc8st4ss7om" path="res://Scripts/Weapons/Bow.gd" id="6_8a6jk"] +[ext_resource type="PackedScene" uid="uid://dxemwyiy4it0g" path="res://Reusable Scenes/Projectiles/projectile_blowpipe.tscn" id="7_eb30r"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_twxkf"] +radius = 722.224 + +[sub_resource type="Gradient" id="Gradient_wyw0d"] +offsets = PackedFloat32Array(1) +colors = PackedColorArray(0.299315, 0.19351, 0.158235, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_8a6jk"] +gradient = SubResource("Gradient_wyw0d") +width = 26 + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_h27ao"] +radius = 13.0 +height = 80.0 + +[sub_resource type="Animation" id="Animation_h27ao"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("SpriteGroup/Foot2:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(9, 27)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("SpriteGroup/Foot:position") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(-9, 27)] +} + +[sub_resource type="Animation" id="Animation_uu6qt"] +resource_name = "walk" +length = 0.8 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("SpriteGroup/Foot2:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.400847, 0.4759, 0.560019, 0.626686, 0.726686, 0.8), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1), +"update": 0, +"values": [Vector2(9, 27), Vector2(-9, 27), Vector2(-6, 25), Vector2(-3, 24), Vector2(2, 24), Vector2(6, 26), Vector2(9, 27)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("SpriteGroup/Foot:position") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.0666667, 0.166667, 0.233333, 0.333333, 0.4, 0.8), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1), +"update": 0, +"values": [Vector2(-9, 27), Vector2(-6, 25), Vector2(-3, 24), Vector2(2, 24), Vector2(6, 26), Vector2(9, 27), Vector2(-9, 27)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_twxkf"] +_data = { +&"RESET": SubResource("Animation_h27ao"), +&"walk": SubResource("Animation_uu6qt") +} + +[sub_resource type="Gradient" id="Gradient_8a6jk"] +offsets = PackedFloat32Array(1) +colors = PackedColorArray(0.479943, 0.67, 0.1742, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_eb30r"] +gradient = SubResource("Gradient_8a6jk") +width = 26 + +[node name="EnemyPewPew" type="RigidBody2D"] +collision_layer = 49152 +collision_mask = 49153 +lock_rotation = true +script = ExtResource("1_wgldt") +max_health = 20 + +[node name="EnemyJungleAI" type="Node" parent="." node_paths=PackedStringArray("weapon", "pivot", "sprite")] +script = ExtResource("2_8a6jk") +weapon = NodePath("../HandPivot/Node2D/Blowpipe") +pivot = NodePath("../HandPivot") +sprite = NodePath("../SpriteGroup") + +[node name="AttackCooldown" type="Timer" parent="EnemyJungleAI"] +wait_time = 3.0 + +[node name="DetectArea" type="Area2D" parent="."] +collision_layer = 3 +collision_mask = 3 +collision_priority = 2.0 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="DetectArea"] +shape = SubResource("CircleShape2D_twxkf") + +[node name="SpriteGroup" type="Node2D" parent="."] + +[node name="Foot" type="Sprite2D" parent="SpriteGroup"] +position = Vector2(-9, 27) +rotation = 3.14159 +scale = Vector2(0.58, 7.46) +texture = SubResource("GradientTexture1D_8a6jk") + +[node name="Foot2" type="Sprite2D" parent="SpriteGroup"] +position = Vector2(9, 27) +rotation = 3.14159 +scale = Vector2(0.58, 7.46) +texture = SubResource("GradientTexture1D_8a6jk") + +[node name="Sprite2D" type="Sprite2D" parent="SpriteGroup"] +modulate = Color(0.40565, 0.61, 0.2013, 1) +position = Vector2(0, -1) +scale = Vector2(0.0406463, -0.0390693) +texture = ExtResource("3_oyvi1") + +[node name="Sprite2D2" type="Sprite2D" parent="SpriteGroup"] +modulate = Color(0.46, 0.3611, 0.322, 1) +position = Vector2(0, -41.776) +rotation = 3.14159 +scale = Vector2(0.0277332, 0.0277332) +texture = ExtResource("4_b2uf7") + +[node name="GrappleMask" parent="SpriteGroup" instance=ExtResource("5_wyw0d")] +process_mode = 4 +position = Vector2(5, -41.776) +scale = Vector2(0.886033, 0.886033) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(0, -9.44) +shape = SubResource("CapsuleShape2D_h27ao") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +&"": SubResource("AnimationLibrary_twxkf") +} + +[node name="HandPivot" type="Node2D" parent="."] +position = Vector2(6, -37) +rotation = 3.15381 + +[node name="Node2D" type="Node2D" parent="HandPivot"] + +[node name="Blowpipe" type="Node2D" parent="HandPivot/Node2D"] +rotation = 1.23375 +script = ExtResource("6_8a6jk") +arrow = ExtResource("7_eb30r") +speed = 3000.0 + +[node name="Blowpipe" type="Sprite2D" parent="HandPivot/Node2D/Blowpipe"] +position = Vector2(23.7122, 8.17715) +rotation = 1.90784 +scale = Vector2(0.143513, -51.7945) +texture = SubResource("GradientTexture1D_eb30r") + +[node name="Blowpipe2" type="Sprite2D" parent="HandPivot/Node2D/Blowpipe"] +modulate = Color(0.80687, 0.80687, 0.80687, 1) +position = Vector2(23.2316, 9.20714) +rotation = 1.90784 +scale = Vector2(0.0541076, -52.0008) +texture = SubResource("GradientTexture1D_eb30r") + +[node name="Sprite2D2" type="Sprite2D" parent="HandPivot"] +modulate = Color(0.46, 0.3611, 0.322, 1) +position = Vector2(0, 30.32) +rotation = 3.14159 +scale = Vector2(0.011008, 0.0118146) +texture = ExtResource("4_b2uf7") + +[connection signal="timeout" from="EnemyJungleAI/AttackCooldown" to="EnemyJungleAI" method="_on_attack_cooldown_timeout"] +[connection signal="body_entered" from="DetectArea" to="EnemyJungleAI" method="_on_detect_area_body_entered"] diff --git a/Reusable Scenes/1/grappleables.tscn b/Reusable Scenes/1/grappleables.tscn new file mode 100644 index 0000000..5ce1f7a --- /dev/null +++ b/Reusable Scenes/1/grappleables.tscn @@ -0,0 +1,41 @@ +[gd_scene load_steps=7 format=3 uid="uid://b3ev1xafiwmib"] + +[ext_resource type="Script" uid="uid://c8n5trpan30g0" path="res://Scripts/Level Specific/Grappleable.gd" id="1_3f7s8"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_pytih"] +size = Vector2(50, 50) + +[sub_resource type="Gradient" id="Gradient_3f7s8"] +offsets = PackedFloat32Array(1) +colors = PackedColorArray(0.4564, 0.697331, 1, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_v4k01"] +gradient = SubResource("Gradient_3f7s8") +width = 50 + +[sub_resource type="Gradient" id="Gradient_adc2f"] +offsets = PackedFloat32Array(0) +colors = PackedColorArray(0.48, 0.33024, 0.1056, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_mpo1i"] +gradient = SubResource("Gradient_adc2f") +width = 50 + +[node name="Grappleables" type="StaticBody2D" node_paths=PackedStringArray("highlighter")] +z_index = 1024 +collision_layer = 8 +collision_mask = 8 +script = ExtResource("1_3f7s8") +highlighter = NodePath("Sprite2D2") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("RectangleShape2D_pytih") + +[node name="Sprite2D2" type="Sprite2D" parent="."] +visible = false +scale = Vector2(1.13976, 56.9881) +texture = SubResource("GradientTexture1D_v4k01") + +[node name="Sprite2D" type="Sprite2D" parent="."] +scale = Vector2(1, 50) +texture = SubResource("GradientTexture1D_mpo1i") diff --git a/Reusable Scenes/1/tree.tscn b/Reusable Scenes/1/tree.tscn new file mode 100644 index 0000000..8c5985b --- /dev/null +++ b/Reusable Scenes/1/tree.tscn @@ -0,0 +1,250 @@ +[gd_scene load_steps=16 format=3 uid="uid://cb6tymujjkw6k"] + +[sub_resource type="Gradient" id="Gradient_34bfm"] +offsets = PackedFloat32Array(0.470779) +colors = PackedColorArray(0.276666, 0.442989, 0.0883189, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_ovrsl"] +gradient = SubResource("Gradient_34bfm") +width = 64 + +[sub_resource type="Gradient" id="Gradient_ovrsl"] +offsets = PackedFloat32Array(0.470779) +colors = PackedColorArray(0.57, 0.5472, 0.114, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_he5fp"] +gradient = SubResource("Gradient_ovrsl") +width = 64 + +[sub_resource type="Gradient" id="Gradient_gnif3"] +offsets = PackedFloat32Array(0.470779) +colors = PackedColorArray(0.335918, 0.25971, 0.020719, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_lwy2l"] +gradient = SubResource("Gradient_gnif3") +width = 64 + +[sub_resource type="Gradient" id="Gradient_lwy2l"] +offsets = PackedFloat32Array(0.493976) +colors = PackedColorArray(0.298791, 0.229838, 0.0164207, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_nj2yk"] +gradient = SubResource("Gradient_lwy2l") +width = 64 + +[sub_resource type="Gradient" id="Gradient_hbaan"] +offsets = PackedFloat32Array(0.493976) +colors = PackedColorArray(0.37784, 0.293431, 0.0262073, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_mykqc"] +gradient = SubResource("Gradient_hbaan") +width = 64 + +[sub_resource type="Gradient" id="Gradient_7pswh"] +offsets = PackedFloat32Array(0.470779) +colors = PackedColorArray(0.353547, 0.56, 0.1176, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_34bfm"] +gradient = SubResource("Gradient_7pswh") +width = 64 + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_hbaan"] +gradient = SubResource("Gradient_34bfm") +width = 64 + +[sub_resource type="Gradient" id="Gradient_he5fp"] +offsets = PackedFloat32Array(0.470779) +colors = PackedColorArray(0.454855, 0.716912, 0.148735, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_u05pv"] +gradient = SubResource("Gradient_he5fp") +width = 64 + +[node name="Tree" type="Node2D"] + +[node name="Sprite2D16" type="Sprite2D" parent="."] +position = Vector2(-200.468, -228) +scale = Vector2(0.109864, 176.688) +texture = SubResource("GradientTexture1D_ovrsl") + +[node name="Sprite2D17" type="Sprite2D" parent="."] +position = Vector2(-200.468, -143) +rotation = 0.785398 +scale = Vector2(0.299702, 19.181) +texture = SubResource("GradientTexture1D_ovrsl") + +[node name="Sprite2D17" type="Sprite2D" parent="Sprite2D17"] +scale = Vector2(0.54, 0.54) +texture = SubResource("GradientTexture1D_he5fp") + +[node name="Sprite2D18" type="Sprite2D" parent="."] +position = Vector2(-124.389, -193.656) +scale = Vector2(0.109864, 176.688) +texture = SubResource("GradientTexture1D_ovrsl") + +[node name="Sprite2D19" type="Sprite2D" parent="."] +position = Vector2(-124.389, -108.656) +rotation = 0.785398 +scale = Vector2(0.299702, 19.181) +texture = SubResource("GradientTexture1D_ovrsl") + +[node name="Sprite2D17" type="Sprite2D" parent="Sprite2D19"] +scale = Vector2(0.54, 0.54) +texture = SubResource("GradientTexture1D_he5fp") + +[node name="Sprite2D20" type="Sprite2D" parent="."] +position = Vector2(78.6109, -211.656) +scale = Vector2(0.109864, 176.688) +texture = SubResource("GradientTexture1D_ovrsl") + +[node name="Sprite2D21" type="Sprite2D" parent="."] +position = Vector2(78.6109, -126.656) +rotation = 0.785398 +scale = Vector2(0.299702, 19.181) +texture = SubResource("GradientTexture1D_ovrsl") + +[node name="Sprite2D17" type="Sprite2D" parent="Sprite2D21"] +scale = Vector2(0.54, 0.54) +texture = SubResource("GradientTexture1D_he5fp") + +[node name="Sprite2D22" type="Sprite2D" parent="."] +position = Vector2(192.611, -283.656) +scale = Vector2(0.109864, 176.688) +texture = SubResource("GradientTexture1D_ovrsl") + +[node name="Sprite2D23" type="Sprite2D" parent="."] +position = Vector2(192.611, -198.656) +rotation = 0.785398 +scale = Vector2(0.299702, 19.181) +texture = SubResource("GradientTexture1D_ovrsl") + +[node name="Sprite2D17" type="Sprite2D" parent="Sprite2D23"] +scale = Vector2(0.54, 0.54) +texture = SubResource("GradientTexture1D_he5fp") + +[node name="Sprite2D24" type="Sprite2D" parent="."] +position = Vector2(141.611, -146.656) +scale = Vector2(0.109864, 176.688) +texture = SubResource("GradientTexture1D_ovrsl") + +[node name="Sprite2D25" type="Sprite2D" parent="."] +position = Vector2(141.611, -61.6563) +rotation = 0.785398 +scale = Vector2(0.299702, 19.181) +texture = SubResource("GradientTexture1D_ovrsl") + +[node name="Sprite2D17" type="Sprite2D" parent="Sprite2D25"] +scale = Vector2(0.54, 0.54) +texture = SubResource("GradientTexture1D_he5fp") + +[node name="Sprite2D7" type="Sprite2D" parent="."] +position = Vector2(-7.45212, -157.75) +scale = Vector2(1.20312, 437.5) +texture = SubResource("GradientTexture1D_lwy2l") + +[node name="Sprite2D2" type="Sprite2D" parent="."] +position = Vector2(-33.6079, -5.36407) +rotation = 0.785398 +scale = Vector2(1.53232, 118.21) +texture = SubResource("GradientTexture1D_lwy2l") + +[node name="Sprite2D4" type="Sprite2D" parent="."] +position = Vector2(-26.9521, -55) +rotation = 0.261799 +scale = Vector2(0.836327, 83.2208) +texture = SubResource("GradientTexture1D_lwy2l") + +[node name="Sprite2D3" type="Sprite2D" parent="."] +position = Vector2(79.1762, -2.12842) +rotation = -0.785398 +scale = Vector2(0.884306, 204.687) +texture = SubResource("GradientTexture1D_lwy2l") + +[node name="Sprite2D5" type="Sprite2D" parent="."] +position = Vector2(-34.9521, -38) +rotation = 0.261799 +scale = Vector2(0.296305, 115.218) +texture = SubResource("GradientTexture1D_nj2yk") + +[node name="Sprite2D6" type="Sprite2D" parent="."] +position = Vector2(-20.9521, -235.195) +scale = Vector2(0.296305, 301.609) +texture = SubResource("GradientTexture1D_nj2yk") + +[node name="Sprite2D27" type="Sprite2D" parent="."] +position = Vector2(5.04791, -178) +scale = Vector2(0.148153, 409.805) +texture = SubResource("GradientTexture1D_nj2yk") + +[node name="Sprite2D30" type="Sprite2D" parent="."] +position = Vector2(82.4558, 4.96503) +rotation = -0.785398 +scale = Vector2(0.138365, 169.916) +texture = SubResource("GradientTexture1D_nj2yk") + +[node name="Sprite2D26" type="Sprite2D" parent="."] +position = Vector2(-12.9521, -136) +scale = Vector2(0.214702, 367.805) +texture = SubResource("GradientTexture1D_mykqc") + +[node name="Sprite2D29" type="Sprite2D" parent="."] +position = Vector2(21.0479, -119) +scale = Vector2(0.214702, 367.805) +texture = SubResource("GradientTexture1D_mykqc") + +[node name="Sprite2D28" type="Sprite2D" parent="."] +position = Vector2(77.9427, -29.1052) +rotation = -0.785398 +scale = Vector2(0.214702, 158.799) +texture = SubResource("GradientTexture1D_mykqc") + +[node name="Sprite2D" type="Sprite2D" parent="."] +position = Vector2(-106.952, -362) +rotation = 0.261799 +scale = Vector2(3.72656, 230.75) +texture = SubResource("GradientTexture1D_34bfm") + +[node name="Sprite2D13" type="Sprite2D" parent="."] +position = Vector2(-105.617, -250.513) +rotation = 0.261799 +scale = Vector2(4.66797, 16) +texture = SubResource("GradientTexture1D_ovrsl") + +[node name="Sprite2D8" type="Sprite2D" parent="."] +position = Vector2(63.9229, -291.312) +rotation = -0.261799 +scale = Vector2(3.75391, 161.375) +texture = SubResource("GradientTexture1D_34bfm") + +[node name="Sprite2D14" type="Sprite2D" parent="."] +position = Vector2(82.8082, -220.936) +rotation = -0.261799 +scale = Vector2(3.75275, 15.576) +texture = SubResource("GradientTexture1D_hbaan") + +[node name="Sprite2D11" type="Sprite2D" parent="."] +position = Vector2(-48.6709, -398) +scale = Vector2(2.50879, 133.344) +texture = SubResource("GradientTexture1D_ovrsl") + +[node name="Sprite2D9" type="Sprite2D" parent="."] +position = Vector2(-13.7334, -434.656) +scale = Vector2(3.1582, 176.688) +texture = SubResource("GradientTexture1D_34bfm") + +[node name="Sprite2D15" type="Sprite2D" parent="."] +position = Vector2(11.3291, -499.5) +scale = Vector2(2.10937, 17) +texture = SubResource("GradientTexture1D_u05pv") + +[node name="Sprite2D12" type="Sprite2D" parent="."] +position = Vector2(98.0479, -357) +rotation = -0.261799 +scale = Vector2(1.86157, 66.5) +texture = SubResource("GradientTexture1D_ovrsl") + +[node name="Sprite2D10" type="Sprite2D" parent="."] +position = Vector2(112.048, -402) +rotation = -0.261799 +scale = Vector2(2.37598, 122.344) +texture = SubResource("GradientTexture1D_34bfm") diff --git a/Reusable Scenes/1/trunk.tscn b/Reusable Scenes/1/trunk.tscn new file mode 100644 index 0000000..a286a7c --- /dev/null +++ b/Reusable Scenes/1/trunk.tscn @@ -0,0 +1,35 @@ +[gd_scene load_steps=3 format=3 uid="uid://b186mjdwnwe2y"] + +[sub_resource type="Gradient" id="Gradient_y0prk"] +offsets = PackedFloat32Array(0.0210843) +colors = PackedColorArray(0.0705882, 0.0901961, 0.0627451, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_0nkm3"] +gradient = SubResource("Gradient_y0prk") +width = 64 + +[node name="Trunk" type="Node2D"] +z_index = -90 + +[node name="Sprite" type="Sprite2D" parent="."] +position = Vector2(68, -426) +scale = Vector2(3.125, 916) +texture = SubResource("GradientTexture1D_0nkm3") + +[node name="Sprite2" type="Sprite2D" parent="."] +position = Vector2(-1.33514e-05, -202) +rotation = 0.270581 +scale = Vector2(1.33656, 427.101) +texture = SubResource("GradientTexture1D_0nkm3") + +[node name="Sprite3" type="Sprite2D" parent="."] +position = Vector2(153, -146) +rotation = -0.239004 +scale = Vector2(1.33656, 427.101) +texture = SubResource("GradientTexture1D_0nkm3") + +[node name="Sprite4" type="Sprite2D" parent="."] +position = Vector2(-148, 20) +rotation = 0.873128 +scale = Vector2(1.33656, 427.101) +texture = SubResource("GradientTexture1D_0nkm3") diff --git a/Reusable Scenes/2/enemy_bow.tscn b/Reusable Scenes/2/enemy_bow.tscn new file mode 100644 index 0000000..b4b3a0a --- /dev/null +++ b/Reusable Scenes/2/enemy_bow.tscn @@ -0,0 +1,100 @@ +[gd_scene load_steps=10 format=3 uid="uid://kqrot8twq6bc"] + +[ext_resource type="Script" uid="uid://c5warxls18mds" path="res://Scripts/Entity.gd" id="1_q82xt"] +[ext_resource type="Script" uid="uid://cahhmhibcdjcd" path="res://Scripts/Enemy AI/JungleAI.gd" id="2_ty7ky"] +[ext_resource type="Texture2D" uid="uid://d3plfj75jmmyu" path="res://Assets/Visuals/isostri.png" id="3_2n5mq"] +[ext_resource type="Texture2D" uid="uid://ddxbrkfa7i5n" path="res://Assets/Visuals/hexagon.png" id="4_1vai4"] +[ext_resource type="PackedScene" uid="uid://cnyxp6p68vtv7" path="res://Reusable Scenes/Masks/spirit_mask.tscn" id="5_g0tc6"] +[ext_resource type="PackedScene" uid="uid://bxax2unw3ay8d" path="res://Reusable Scenes/Weapons/weapon_bow.tscn" id="6_g0tc6"] +[ext_resource type="PackedScene" uid="uid://bqma5drxh7smh" path="res://Reusable Scenes/Projectiles/projectile_arrow_enemy.tscn" id="7_g57nf"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_twxkf"] +radius = 722.224 + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_h27ao"] +radius = 13.0 +height = 80.0 + +[node name="EnemyBow" type="RigidBody2D"] +collision_layer = 49152 +collision_mask = 49153 +lock_rotation = true +script = ExtResource("1_q82xt") +max_health = 15 + +[node name="EnemyJungleAI" type="Node" parent="." node_paths=PackedStringArray("weapon", "pivot", "sprite")] +script = ExtResource("2_ty7ky") +weapon = NodePath("../HandPivot/Node2D/weapon_bow") +pivot = NodePath("../HandPivot") +sprite = NodePath("../SpriteGroup") + +[node name="AttackCooldown" type="Timer" parent="EnemyJungleAI"] +wait_time = 3.0 + +[node name="DetectArea" type="Area2D" parent="."] +collision_layer = 3 +collision_mask = 3 +collision_priority = 2.0 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="DetectArea"] +shape = SubResource("CircleShape2D_twxkf") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(0, -9.44) +shape = SubResource("CapsuleShape2D_h27ao") + +[node name="SpriteGroup" type="Node2D" parent="."] + +[node name="Foot" type="Sprite2D" parent="SpriteGroup"] +modulate = Color(0.45, 0.291, 0.2115, 1) +position = Vector2(-11, 25) +rotation = 3.14159 +scale = Vector2(0.0160481, -0.0110911) +texture = ExtResource("3_2n5mq") + +[node name="Foot2" type="Sprite2D" parent="SpriteGroup"] +modulate = Color(0.45, 0.291, 0.2115, 1) +position = Vector2(11, 25) +rotation = 3.14159 +scale = Vector2(0.0160481, -0.0110911) +texture = ExtResource("3_2n5mq") + +[node name="Sprite2D" type="Sprite2D" parent="SpriteGroup"] +modulate = Color(0.919515, 0.481937, 1.92523e-07, 1) +position = Vector2(0, -1) +scale = Vector2(0.0406463, -0.0390693) +texture = ExtResource("3_2n5mq") + +[node name="Sprite2D2" type="Sprite2D" parent="SpriteGroup"] +modulate = Color(0.278431, 0.54902, 0.976471, 1) +position = Vector2(0, -41.776) +rotation = 3.14159 +scale = Vector2(0.0277332, 0.0277332) +texture = ExtResource("4_1vai4") + +[node name="SpiritMask" parent="SpriteGroup" instance=ExtResource("5_g0tc6")] +process_mode = 4 +position = Vector2(4, -40) +scale = Vector2(0.861963, 0.861963) + +[node name="HandPivot" type="Node2D" parent="."] +position = Vector2(6, -20) +rotation = -1.27211 + +[node name="Node2D" type="Node2D" parent="HandPivot"] +position = Vector2(0, 21.618) + +[node name="weapon_bow" parent="HandPivot/Node2D" instance=ExtResource("6_g0tc6")] +position = Vector2(1.25521, 6.24639) +scale = Vector2(0.999572, 0.999572) +arrow = ExtResource("7_g57nf") + +[node name="Sprite2D2" type="Sprite2D" parent="HandPivot"] +modulate = Color(0.278431, 0.54902, 0.976471, 1) +position = Vector2(0.525334, 42.9968) +rotation = 3.14159 +scale = Vector2(0.011008, 0.0118146) +texture = ExtResource("4_1vai4") + +[connection signal="timeout" from="EnemyJungleAI/AttackCooldown" to="EnemyJungleAI" method="_on_attack_cooldown_timeout"] +[connection signal="body_entered" from="DetectArea" to="EnemyJungleAI" method="_on_detect_area_body_entered"] diff --git a/Reusable Scenes/2/enemy_club.tscn b/Reusable Scenes/2/enemy_club.tscn new file mode 100644 index 0000000..761b04e --- /dev/null +++ b/Reusable Scenes/2/enemy_club.tscn @@ -0,0 +1,301 @@ +[gd_scene load_steps=21 format=3 uid="uid://b8x6g2np2nf8j"] + +[ext_resource type="Script" uid="uid://c5warxls18mds" path="res://Scripts/Entity.gd" id="1_14gxe"] +[ext_resource type="Script" uid="uid://n2vodoxhopnr" path="res://Scripts/Enemy AI/ShoreAI.gd" id="2_161nh"] +[ext_resource type="Texture2D" uid="uid://d3plfj75jmmyu" path="res://Assets/Visuals/isostri.png" id="3_k4axu"] +[ext_resource type="Texture2D" uid="uid://ddxbrkfa7i5n" path="res://Assets/Visuals/hexagon.png" id="4_bn6nu"] +[ext_resource type="PackedScene" uid="uid://cnyxp6p68vtv7" path="res://Reusable Scenes/Masks/spirit_mask.tscn" id="6_srfke"] +[ext_resource type="Script" uid="uid://ckd00ra2lp1xo" path="res://Scripts/Weapons/Melee.gd" id="6_tuc36"] +[ext_resource type="Texture2D" uid="uid://dch6veuf65i6h" path="res://Assets/Visuals/club.svg" id="7_tuc36"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_twxkf"] +radius = 722.224 + +[sub_resource type="CircleShape2D" id="CircleShape2D_lrpdk"] +radius = 43.0116 + +[sub_resource type="Gradient" id="Gradient_srfke"] +offsets = PackedFloat32Array(1) +colors = PackedColorArray(1, 1, 1, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_tuc36"] +gradient = SubResource("Gradient_srfke") + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_h27ao"] +radius = 13.0 +height = 80.0 + +[sub_resource type="Animation" id="Animation_h27ao"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("SpriteGroup/Foot:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(-9, 27)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("SpriteGroup/Foot2:position") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(9, 27)] +} + +[sub_resource type="Animation" id="Animation_uu6qt"] +resource_name = "walk" +length = 0.8 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("SpriteGroup/Foot:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.0666667, 0.166667, 0.233333, 0.333333, 0.4, 0.8), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1), +"update": 0, +"values": [Vector2(-9, 27), Vector2(-6, 25), Vector2(-3, 24), Vector2(2, 24), Vector2(6, 26), Vector2(9, 27), Vector2(-9, 27)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("SpriteGroup/Foot2:position") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.400847, 0.4759, 0.560019, 0.626686, 0.726686, 0.8), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1), +"update": 0, +"values": [Vector2(9, 27), Vector2(-9, 27), Vector2(-6, 25), Vector2(-3, 24), Vector2(2, 24), Vector2(6, 26), Vector2(9, 27)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_twxkf"] +_data = { +&"RESET": SubResource("Animation_h27ao"), +&"walk": SubResource("Animation_uu6qt") +} + +[sub_resource type="Animation" id="Animation_6amt5"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Area2D:monitoring") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_x1mjv"] +resource_name = "swing" +length = 0.3 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.133333, 0.166667), +"transitions": PackedFloat32Array(0.189465, 0.189465, 5.27803), +"update": 0, +"values": [0.0, 1.95477, 0.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Area2D:monitoring") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.166667), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} + +[sub_resource type="Animation" id="Animation_4lcuo"] +resource_name = "swing_flip" +length = 0.3 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.133333, 0.166667), +"transitions": PackedFloat32Array(0.189465, 0.189465, 5.27803), +"update": 0, +"values": [0.0, -1.95477, 0.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Area2D:monitoring") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.173523), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_4lcuo"] +_data = { +&"RESET": SubResource("Animation_6amt5"), +&"swing": SubResource("Animation_x1mjv"), +&"swing_flip": SubResource("Animation_4lcuo") +} + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_x1mjv"] +size = Vector2(16.567, 67.304) + +[node name="EnemyClub" type="RigidBody2D"] +collision_layer = 32768 +lock_rotation = true +script = ExtResource("1_14gxe") +max_health = 15 + +[node name="EnemyShoreAI" type="Node" parent="." node_paths=PackedStringArray("weapon", "sprite", "animator")] +script = ExtResource("2_161nh") +weapon = NodePath("../weapon_club") +sprite = NodePath("../SpriteGroup") +animator = NodePath("../AnimationPlayer") + +[node name="AttackCooldown" type="Timer" parent="EnemyShoreAI"] +wait_time = 1.5 + +[node name="DetectArea" type="Area2D" parent="."] +collision_layer = 3 +collision_mask = 3 +collision_priority = 2.0 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="DetectArea"] +shape = SubResource("CircleShape2D_twxkf") + +[node name="AttackArea" type="Area2D" parent="."] +collision_layer = 3 +collision_mask = 3 +collision_priority = 2.0 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="AttackArea"] +shape = SubResource("CircleShape2D_lrpdk") +debug_color = Color(0.937978, 1.20327e-05, 0.625666, 0.42) + +[node name="SpriteGroup" type="Node2D" parent="."] + +[node name="Foot" type="Sprite2D" parent="SpriteGroup"] +modulate = Color(0.45, 0.291, 0.2115, 1) +position = Vector2(-9, 27) +rotation = 3.14159 +scale = Vector2(0.0160481, -0.009) +texture = ExtResource("3_k4axu") + +[node name="Foot2" type="Sprite2D" parent="SpriteGroup"] +modulate = Color(0.45, 0.291, 0.2115, 1) +position = Vector2(9, 27) +rotation = 3.14159 +scale = Vector2(0.0160481, -0.009) +texture = ExtResource("3_k4axu") + +[node name="Sprite2D3" type="Sprite2D" parent="SpriteGroup"] +modulate = Color(0.733805, 0.379615, 1.92523e-07, 1) +position = Vector2(-2, 1) +scale = Vector2(0.0700947, -36.2594) +skew = 0.148353 +texture = SubResource("GradientTexture1D_tuc36") + +[node name="Sprite2D" type="Sprite2D" parent="SpriteGroup"] +modulate = Color(0.919515, 0.481937, 1.92523e-07, 1) +position = Vector2(0, -1) +scale = Vector2(0.074875, -33.474) +texture = SubResource("GradientTexture1D_tuc36") + +[node name="Sprite2D2" type="Sprite2D" parent="SpriteGroup"] +modulate = Color(0.278431, 0.54902, 0.976471, 1) +position = Vector2(0, -41.776) +rotation = 3.14159 +scale = Vector2(0.0277332, 0.0277332) +texture = ExtResource("4_bn6nu") + +[node name="SpiritMask" parent="SpriteGroup" instance=ExtResource("6_srfke")] +process_mode = 4 +position = Vector2(4, -40) +scale = Vector2(0.861963, 0.861963) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(0, -9.44) +shape = SubResource("CapsuleShape2D_h27ao") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +&"": SubResource("AnimationLibrary_twxkf") +} + +[node name="weapon_club" type="Node2D" parent="." node_paths=PackedStringArray("animator", "area")] +position = Vector2(22, -12) +scale = Vector2(0.648004, 0.648004) +script = ExtResource("6_tuc36") +animator = NodePath("AnimationPlayer") +atk = 1 +area = NodePath("Area2D") +mask = 2 +disable_aft_atk = true + +[node name="AnimationPlayer" type="AnimationPlayer" parent="weapon_club"] +libraries = { +&"": SubResource("AnimationLibrary_4lcuo") +} + +[node name="Machette" type="Sprite2D" parent="weapon_club"] +position = Vector2(5, -14) +rotation = 0.322494 +scale = Vector2(0.0442815, 0.0599862) +texture = ExtResource("7_tuc36") +flip_h = true + +[node name="Area2D" type="Area2D" parent="weapon_club"] +collision_mask = 32769 +monitoring = false + +[node name="CollisionShape2D" type="CollisionShape2D" parent="weapon_club/Area2D"] +position = Vector2(8, -25) +rotation = 0.327302 +scale = Vector2(1.03252, 1.07461) +shape = SubResource("RectangleShape2D_x1mjv") + +[connection signal="timeout" from="EnemyShoreAI/AttackCooldown" to="EnemyShoreAI" method="_on_attack_cooldown_timeout"] +[connection signal="body_entered" from="DetectArea" to="EnemyShoreAI" method="_on_area_2d_body_entered"] +[connection signal="body_entered" from="AttackArea" to="EnemyShoreAI" method="_on_attack_area_body_entered"] +[connection signal="body_exited" from="AttackArea" to="EnemyShoreAI" method="_on_attack_area_body_exited"] +[connection signal="body_entered" from="weapon_club/Area2D" to="weapon_club" method="_on_area_2d_body_entered"] diff --git a/Reusable Scenes/Masks/grapple_mask.tscn b/Reusable Scenes/Masks/grapple_mask.tscn new file mode 100644 index 0000000..c987d1a --- /dev/null +++ b/Reusable Scenes/Masks/grapple_mask.tscn @@ -0,0 +1,38 @@ +[gd_scene load_steps=3 format=3 uid="uid://ccij302qcrvo1"] + +[ext_resource type="Script" uid="uid://cxy2ovjxwgtco" path="res://Scripts/Mask/GrappleMask.gd" id="1_1ftcc"] +[ext_resource type="Texture2D" uid="uid://csuuxeq47s64g" path="res://Assets/Visuals/mask1.svg" id="2_1ftcc"] + +[node name="GrappleMask" type="Node2D" node_paths=PackedStringArray("area", "area_detect", "line")] +script = ExtResource("1_1ftcc") +area = NodePath("Area2D") +area_detect = NodePath("DetectArea2D") +line = NodePath("Line2D") +grapple_speed = 700.0 + +[node name="Line2D" type="Line2D" parent="."] +points = PackedVector2Array(0, 0, 0, 0) +default_color = Color(0.5002, 0.82, 0.5535, 1) + +[node name="Mask1" type="Sprite2D" parent="."] +scale = Vector2(0.0315916, 0.0315916) +texture = ExtResource("2_1ftcc") + +[node name="Area2D" type="Area2D" parent="."] +collision_layer = 8 +collision_mask = 8 +monitoring = false + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Area2D"] +polygon = PackedVector2Array(0, 0, 600, -50, 600, 50) + +[node name="DetectArea2D" type="Area2D" parent="."] +collision_layer = 8 +collision_mask = 8 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="DetectArea2D"] +polygon = PackedVector2Array(0, 0, 600, -50, 600, 50) + +[connection signal="body_entered" from="Area2D" to="." method="_on_area_2d_body_entered"] +[connection signal="body_entered" from="DetectArea2D" to="." method="_on_detect_area_2d_body_entered"] +[connection signal="body_exited" from="DetectArea2D" to="." method="_on_detect_area_2d_body_exited"] diff --git a/Reusable Scenes/Masks/speed_mask.tscn b/Reusable Scenes/Masks/speed_mask.tscn new file mode 100644 index 0000000..77aa644 --- /dev/null +++ b/Reusable Scenes/Masks/speed_mask.tscn @@ -0,0 +1,15 @@ +[gd_scene load_steps=3 format=3 uid="uid://bdws5hhfuef84"] + +[ext_resource type="Script" uid="uid://dpjuboxc5u855" path="res://Scripts/Mask/SpeedMask.gd" id="1_b643j"] +[ext_resource type="Texture2D" uid="uid://c604bwm7ckesc" path="res://Assets/Visuals/mask0.svg" id="1_jn1gf"] + +[node name="SpeedMask" type="Node2D"] +script = ExtResource("1_b643j") + +[node name="Mask0" type="Sprite2D" parent="."] +scale = Vector2(0.0315916, 0.0315916) +texture = ExtResource("1_jn1gf") + +[node name="Cooldown" type="Timer" parent="."] + +[connection signal="timeout" from="Cooldown" to="." method="_on_cooldown_timeout"] diff --git a/Reusable Scenes/Masks/spirit_mask.tscn b/Reusable Scenes/Masks/spirit_mask.tscn new file mode 100644 index 0000000..17278d1 --- /dev/null +++ b/Reusable Scenes/Masks/spirit_mask.tscn @@ -0,0 +1,13 @@ +[gd_scene load_steps=2 format=3 uid="uid://cnyxp6p68vtv7"] + +[ext_resource type="Texture2D" uid="uid://dc1dirxeqtb14" path="res://Assets/Visuals/mask2.svg" id="1_0r3qt"] + +[node name="SpiritMask" type="Node2D"] + +[node name="Mask2" type="Sprite2D" parent="."] +scale = Vector2(0.0315916, 0.0315916) +texture = ExtResource("1_0r3qt") + +[node name="Cooldown" type="Timer" parent="."] + +[connection signal="timeout" from="Cooldown" to="." method="_on_cooldown_timeout"] diff --git a/Reusable Scenes/Projectiles/projectile_arrow.tscn b/Reusable Scenes/Projectiles/projectile_arrow.tscn new file mode 100644 index 0000000..6c11703 --- /dev/null +++ b/Reusable Scenes/Projectiles/projectile_arrow.tscn @@ -0,0 +1,66 @@ +[gd_scene load_steps=7 format=3 uid="uid://ga1t2xdk30mw"] + +[ext_resource type="Texture2D" uid="uid://d3plfj75jmmyu" path="res://Assets/Visuals/isostri.png" id="1_6fl6o"] +[ext_resource type="Script" uid="uid://i4wpiugtk5qi" path="res://Scripts/Weapons/Projectile.gd" id="1_n1enl"] + +[sub_resource type="Gradient" id="Gradient_n1enl"] +offsets = PackedFloat32Array(1) +colors = PackedColorArray(0.46, 0.33304, 0.1426, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_lyoxt"] +gradient = SubResource("Gradient_n1enl") +width = 16 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_n1enl"] +size = Vector2(8.375, 9.5) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_lyoxt"] +size = Vector2(64, 4) + +[node name="projectile_arrow" type="RigidBody2D" node_paths=PackedStringArray("sprite")] +collision_layer = 4 +collision_mask = 0 +lock_rotation = true +linear_damp = 0.5 +script = ExtResource("1_n1enl") +sprite = NodePath("SpriteGroup") +atk = 3 + +[node name="SpriteGroup" type="Node2D" parent="."] + +[node name="Sprite2D" type="Sprite2D" parent="SpriteGroup"] +scale = Vector2(3.86172, 3.86172) +texture = SubResource("GradientTexture1D_lyoxt") + +[node name="Sprite2D2" type="Sprite2D" parent="SpriteGroup"] +modulate = Color(0.864675, 0.864675, 0.864675, 1) +position = Vector2(38, 2.84217e-14) +rotation = 1.5708 +scale = Vector2(0.0142072, 0.0142072) +texture = ExtResource("1_6fl6o") + +[node name="Sprite2D3" type="Sprite2D" parent="SpriteGroup"] +position = Vector2(-29.4284, 1.46863e-08) +rotation = 1.5708 +scale = Vector2(0.0103315, 0.0167413) +texture = ExtResource("1_6fl6o") + +[node name="Sprite2D4" type="Sprite2D" parent="SpriteGroup"] +modulate = Color(0.429416, 0.429416, 0.429416, 1) +position = Vector2(-34, 0) +rotation = 1.5708 +scale = Vector2(0.00324931, 0.0103863) +texture = ExtResource("1_6fl6o") + +[node name="Area2D" type="Area2D" parent="SpriteGroup"] +collision_mask = 32769 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="SpriteGroup/Area2D"] +position = Vector2(35, 0) +shape = SubResource("RectangleShape2D_n1enl") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(3, 0) +shape = SubResource("RectangleShape2D_lyoxt") + +[connection signal="body_entered" from="SpriteGroup/Area2D" to="." method="_on_area_2d_body_entered"] diff --git a/Reusable Scenes/Projectiles/projectile_arrow_enemy.tscn b/Reusable Scenes/Projectiles/projectile_arrow_enemy.tscn new file mode 100644 index 0000000..8c6be28 --- /dev/null +++ b/Reusable Scenes/Projectiles/projectile_arrow_enemy.tscn @@ -0,0 +1,68 @@ +[gd_scene load_steps=7 format=3 uid="uid://bqma5drxh7smh"] + +[ext_resource type="Script" uid="uid://i4wpiugtk5qi" path="res://Scripts/Weapons/Projectile.gd" id="1_4rwv7"] +[ext_resource type="Texture2D" uid="uid://d3plfj75jmmyu" path="res://Assets/Visuals/isostri.png" id="2_k8ime"] + +[sub_resource type="Gradient" id="Gradient_n1enl"] +offsets = PackedFloat32Array(1) +colors = PackedColorArray(0.46, 0.33304, 0.1426, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_lyoxt"] +gradient = SubResource("Gradient_n1enl") +width = 16 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_n1enl"] +size = Vector2(8.375, 9.5) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_lyoxt"] +size = Vector2(64, 4) + +[node name="projectile_arrow" type="RigidBody2D" node_paths=PackedStringArray("sprite")] +collision_layer = 4 +collision_mask = 0 +gravity_scale = 0.0 +lock_rotation = true +linear_damp = 0.5 +script = ExtResource("1_4rwv7") +sprite = NodePath("SpriteGroup") +atk = 2 + +[node name="SpriteGroup" type="Node2D" parent="."] + +[node name="Sprite2D" type="Sprite2D" parent="SpriteGroup"] +scale = Vector2(3.86172, 3.86172) +texture = SubResource("GradientTexture1D_lyoxt") + +[node name="Sprite2D2" type="Sprite2D" parent="SpriteGroup"] +modulate = Color(0.864675, 0.864675, 0.864675, 1) +position = Vector2(38, 2.84217e-14) +rotation = 1.5708 +scale = Vector2(0.0142072, 0.0142072) +texture = ExtResource("2_k8ime") + +[node name="Sprite2D3" type="Sprite2D" parent="SpriteGroup"] +position = Vector2(-29.4284, 1.46863e-08) +rotation = 1.5708 +scale = Vector2(0.0103315, 0.0167413) +texture = ExtResource("2_k8ime") + +[node name="Sprite2D4" type="Sprite2D" parent="SpriteGroup"] +modulate = Color(0.429416, 0.429416, 0.429416, 1) +position = Vector2(-34, 0) +rotation = 1.5708 +scale = Vector2(0.00324931, 0.0103863) +texture = ExtResource("2_k8ime") + +[node name="Area2D" type="Area2D" parent="SpriteGroup"] +collision_layer = 3 +collision_mask = 3 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="SpriteGroup/Area2D"] +position = Vector2(35, 0) +shape = SubResource("RectangleShape2D_n1enl") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(3, 0) +shape = SubResource("RectangleShape2D_lyoxt") + +[connection signal="body_entered" from="SpriteGroup/Area2D" to="." method="_on_area_2d_body_entered"] diff --git a/Reusable Scenes/Projectiles/projectile_blowpipe.tscn b/Reusable Scenes/Projectiles/projectile_blowpipe.tscn new file mode 100644 index 0000000..36586e3 --- /dev/null +++ b/Reusable Scenes/Projectiles/projectile_blowpipe.tscn @@ -0,0 +1,56 @@ +[gd_scene load_steps=7 format=3 uid="uid://dxemwyiy4it0g"] + +[ext_resource type="Script" uid="uid://i4wpiugtk5qi" path="res://Scripts/Weapons/Projectile.gd" id="1_aj88w"] +[ext_resource type="Texture2D" uid="uid://d3plfj75jmmyu" path="res://Assets/Visuals/isostri.png" id="2_73e50"] + +[sub_resource type="Gradient" id="Gradient_aj88w"] +offsets = PackedFloat32Array(1) +colors = PackedColorArray(0.250467, 0.26, 0.208, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_73e50"] +gradient = SubResource("Gradient_aj88w") +width = 16 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_n1enl"] +size = Vector2(8.1875, 4) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_lyoxt"] +size = Vector2(47, 4) + +[node name="projectile_arrow" type="RigidBody2D" node_paths=PackedStringArray("sprite")] +collision_layer = 0 +collision_mask = 0 +lock_rotation = true +linear_damp = 0.5 +script = ExtResource("1_aj88w") +sprite = NodePath("SpriteGroup") +atk = 1 + +[node name="SpriteGroup" type="Node2D" parent="."] + +[node name="Sprite2D" type="Sprite2D" parent="SpriteGroup"] +position = Vector2(-6.44688, 0) +scale = Vector2(3.05586, 3.86172) +texture = SubResource("GradientTexture1D_73e50") + +[node name="Sprite2D2" type="Sprite2D" parent="SpriteGroup"] +modulate = Color(0.3375, 0.45, 0.3675, 1) +position = Vector2(20, 4.12115e-12) +rotation = 1.5708 +scale = Vector2(0.00713689, 0.00713689) +texture = ExtResource("2_73e50") + +[node name="Area2D" type="Area2D" parent="SpriteGroup"] +position = Vector2(-14, 0) +collision_layer = 2 +collision_mask = 2 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="SpriteGroup/Area2D"] +position = Vector2(34.9062, 0) +shape = SubResource("RectangleShape2D_n1enl") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(-5.5, 0) +shape = SubResource("RectangleShape2D_lyoxt") + +[connection signal="body_entered" from="SpriteGroup/Area2D" to="." method="_on_area_2d_body_entered"] diff --git a/Reusable Scenes/Weapons/weapon_bow.tscn b/Reusable Scenes/Weapons/weapon_bow.tscn new file mode 100644 index 0000000..88bdc75 --- /dev/null +++ b/Reusable Scenes/Weapons/weapon_bow.tscn @@ -0,0 +1,124 @@ +[gd_scene load_steps=9 format=3 uid="uid://bxax2unw3ay8d"] + +[ext_resource type="Script" uid="uid://bfmc8st4ss7om" path="res://Scripts/Weapons/Bow.gd" id="1_vshgr"] +[ext_resource type="PackedScene" uid="uid://ga1t2xdk30mw" path="res://Reusable Scenes/Projectiles/projectile_arrow.tscn" id="2_u2d6r"] + +[sub_resource type="Gradient" id="Gradient_77kik"] +offsets = PackedFloat32Array(1) +colors = PackedColorArray(1, 1, 1, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_wpec3"] +gradient = SubResource("Gradient_77kik") +width = 16 + +[sub_resource type="Gradient" id="Gradient_v63fu"] +offsets = PackedFloat32Array(1) +colors = PackedColorArray(1, 1, 1, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_ngbqm"] +gradient = SubResource("Gradient_v63fu") +width = 16 + +[sub_resource type="Gradient" id="Gradient_wpec3"] +offsets = PackedFloat32Array(1) +colors = PackedColorArray(0.49, 0.352637, 0.2058, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_v63fu"] +gradient = SubResource("Gradient_wpec3") +width = 16 + +[node name="weapon_bow" type="Node2D"] +scale = Vector2(1.327, 1.327) +script = ExtResource("1_vshgr") +arrow = ExtResource("2_u2d6r") +speed = 2000.0 + +[node name="String" type="Sprite2D" parent="."] +scale = Vector2(3.125, 2) +texture = SubResource("GradientTexture1D_wpec3") + +[node name="Wood5" type="Sprite2D" parent="."] +position = Vector2(-25.7941, -0.838106) +rotation = 0.785398 +scale = Vector2(1.08287, 3.96) +texture = SubResource("GradientTexture1D_ngbqm") +offset = Vector2(5.57, 0) + +[node name="Wood6" type="Sprite2D" parent="."] +position = Vector2(-14, 10) +rotation = 0.261799 +scale = Vector2(1.11435, 3.96) +texture = SubResource("GradientTexture1D_ngbqm") +offset = Vector2(5.57, 0) + +[node name="Wood7" type="Sprite2D" parent="."] +position = Vector2(14, 10) +rotation = 2.87979 +scale = Vector2(1.11435, 3.96) +texture = SubResource("GradientTexture1D_ngbqm") +offset = Vector2(5.57, 0) + +[node name="Wood8" type="Sprite2D" parent="."] +position = Vector2(25.6208, -0.620809) +rotation = 2.35619 +scale = Vector2(1.15562, 3.96) +texture = SubResource("GradientTexture1D_ngbqm") +offset = Vector2(5.57, 0) + +[node name="Wood9" type="Sprite2D" parent="."] +position = Vector2(-26.582, -1.32556) +rotation = 2.61799 +scale = Vector2(0.574072, 4.297) +texture = SubResource("GradientTexture1D_ngbqm") +offset = Vector2(5.57, 0) + +[node name="Wood10" type="Sprite2D" parent="."] +position = Vector2(26.5944, -1.33392) +rotation = 0.523599 +scale = Vector2(0.566984, 4.19) +texture = SubResource("GradientTexture1D_ngbqm") +offset = Vector2(5.57, 0) + +[node name="Wood0" type="Sprite2D" parent="."] +position = Vector2(-26.4977, -1.37424) +rotation = 2.61799 +scale = Vector2(0.533634, 3.07) +texture = SubResource("GradientTexture1D_v63fu") +offset = Vector2(5.57, 0) + +[node name="Wood" type="Sprite2D" parent="."] +position = Vector2(-25.4223, -0.466283) +rotation = 0.785398 +scale = Vector2(1.04412, 3.07) +texture = SubResource("GradientTexture1D_v63fu") +offset = Vector2(5.57, 0) + +[node name="Wood2" type="Sprite2D" parent="."] +position = Vector2(-14, 10) +rotation = 0.261799 +scale = Vector2(1.11435, 3.07) +texture = SubResource("GradientTexture1D_v63fu") +offset = Vector2(5.57, 0) + +[node name="Wood3" type="Sprite2D" parent="."] +position = Vector2(14, 10) +rotation = 2.87979 +scale = Vector2(1.11435, 3.07) +texture = SubResource("GradientTexture1D_v63fu") +offset = Vector2(5.57, 0) + +[node name="Wood4" type="Sprite2D" parent="."] +position = Vector2(25.3273, -0.327266) +rotation = -3.92699 +scale = Vector2(1.12503, 3.07) +texture = SubResource("GradientTexture1D_v63fu") +offset = Vector2(5.57, 0) + +[node name="Wood1" type="Sprite2D" parent="."] +position = Vector2(26.525, -1.374) +rotation = 0.523599 +scale = Vector2(0.533634, 3.07) +texture = SubResource("GradientTexture1D_v63fu") +offset = Vector2(5.57, 0) + +[node name="Timer" type="Timer" parent="."] diff --git a/Reusable Scenes/Weapons/weapon_machette.tscn b/Reusable Scenes/Weapons/weapon_machette.tscn new file mode 100644 index 0000000..cd91614 --- /dev/null +++ b/Reusable Scenes/Weapons/weapon_machette.tscn @@ -0,0 +1,127 @@ +[gd_scene load_steps=8 format=3 uid="uid://c3nbowvq6g4ah"] + +[ext_resource type="Script" uid="uid://ckd00ra2lp1xo" path="res://Scripts/Weapons/Melee.gd" id="1_6amt5"] +[ext_resource type="Texture2D" uid="uid://cnxhxrmheing2" path="res://Assets/Visuals/machette.svg" id="1_x1mjv"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_x1mjv"] +size = Vector2(12.0543, 48.3603) + +[sub_resource type="Animation" id="Animation_6amt5"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Area2D:monitoring") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_x1mjv"] +resource_name = "swing" +length = 0.3 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.133333, 0.166667), +"transitions": PackedFloat32Array(0.189465, 0.189465, 5.27803), +"update": 0, +"values": [0.0, 1.95477, 0.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Area2D:monitoring") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.3), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} + +[sub_resource type="Animation" id="Animation_4lcuo"] +resource_name = "swing_flip" +length = 0.3 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.133333, 0.166667), +"transitions": PackedFloat32Array(0.189465, 0.189465, 5.27803), +"update": 0, +"values": [0.0, -1.95477, 0.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Area2D:monitoring") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.173523), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_4lcuo"] +_data = { +&"RESET": SubResource("Animation_6amt5"), +&"swing": SubResource("Animation_x1mjv"), +&"swing_flip": SubResource("Animation_4lcuo") +} + +[node name="weapon_machette" type="Node2D" node_paths=PackedStringArray("animator", "area")] +scale = Vector2(-1, 1) +script = ExtResource("1_6amt5") +animator = NodePath("AnimationPlayer") +atk = 2 +area = NodePath("Area2D") +mask = 3 + +[node name="Machette" type="Sprite2D" parent="."] +position = Vector2(7.9399, -24.7176) +scale = Vector2(0.0588337, 0.0588337) +texture = ExtResource("1_x1mjv") +flip_h = true + +[node name="Area2D" type="Area2D" parent="."] +collision_mask = 32769 +monitoring = false + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] +position = Vector2(11, -31) +rotation = 0.327302 +shape = SubResource("RectangleShape2D_x1mjv") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +&"": SubResource("AnimationLibrary_4lcuo") +} + +[connection signal="body_entered" from="Area2D" to="." method="_on_area_2d_body_entered"] diff --git a/Reusable Scenes/chest.tscn b/Reusable Scenes/chest.tscn new file mode 100644 index 0000000..905f0b0 --- /dev/null +++ b/Reusable Scenes/chest.tscn @@ -0,0 +1,276 @@ +[gd_scene load_steps=14 format=3 uid="uid://b80iwxixd6rbp"] + +[ext_resource type="Texture2D" uid="uid://404lglxh4v01" path="res://Assets/Visuals/chest_top.svg" id="1_owt0a"] +[ext_resource type="Script" uid="uid://buli338mi1oqs" path="res://Scripts/MaskChest.gd" id="1_pe0kk"] +[ext_resource type="Texture2D" uid="uid://0bdflx18poa5" path="res://Assets/Visuals/chest_open.svg" id="2_bkju7"] +[ext_resource type="Texture2D" uid="uid://csnls3yqqe646" path="res://Assets/Visuals/shiny.svg" id="4_o6r41"] +[ext_resource type="PackedScene" uid="uid://bdws5hhfuef84" path="res://Reusable Scenes/Masks/speed_mask.tscn" id="4_ro4cy"] +[ext_resource type="PackedScene" uid="uid://ccij302qcrvo1" path="res://Reusable Scenes/Masks/grapple_mask.tscn" id="6_52pyd"] +[ext_resource type="PackedScene" uid="uid://cnyxp6p68vtv7" path="res://Reusable Scenes/Masks/spirit_mask.tscn" id="7_vmul4"] + +[sub_resource type="Gradient" id="Gradient_o4wei"] +offsets = PackedFloat32Array(0, 0.9, 0.9, 1) +colors = PackedColorArray(0.36, 0.2988, 0.2376, 1, 0.360784, 0.298039, 0.239216, 1, 0.95, 0.754933, 0.114, 1, 0.94902, 0.756863, 0.113725, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_owt0a"] +gradient = SubResource("Gradient_o4wei") +fill = 2 +fill_from = Vector2(0.5, 0.5) + +[sub_resource type="Animation" id="Animation_ro4cy"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("ChestOpen:visible") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("MaskNode/SpeedMask:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("MaskNode:position") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(13, -33)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("MaskNode:visible") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("ChestTop:visible") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("MaskNode/Shiny:modulate") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 0)] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("MaskNode/Shiny:rotation") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} + +[sub_resource type="Animation" id="Animation_o6r41"] +resource_name = "mask_reveal" +length = 3.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("ChestOpen:visible") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("MaskNode/SpeedMask:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 3), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("MaskNode:position") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 1), +"transitions": PackedFloat32Array(0.329877, 0.329877), +"update": 0, +"values": [Vector2(13, -33), Vector2(13, -177)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("MaskNode:visible") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 3), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("ChestTop:visible") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("MaskNode/Shiny:modulate") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0, 2, 3), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("MaskNode/Shiny:rotation") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0, 3), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 0.872665] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_52pyd"] +_data = { +&"RESET": SubResource("Animation_ro4cy"), +&"mask_reveal": SubResource("Animation_o6r41") +} + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_ro4cy"] +size = Vector2(251.884, 122.158) + +[node name="Chest" type="Node2D" node_paths=PackedStringArray("masks", "animator", "area")] +z_index = -3 +script = ExtResource("1_pe0kk") +masks = [NodePath("MaskNode/SpeedMask"), NodePath("MaskNode/GrappleMask"), NodePath("MaskNode/SpeedMask"), NodePath("MaskNode/SpiritMask")] +animator = NodePath("AnimationPlayer") +area = NodePath("Area2D") + +[node name="Sprite2D3" type="Sprite2D" parent="."] +modulate = Color(0.481789, 0.481789, 0.481789, 1) +z_index = -1 +position = Vector2(80.52, -32) +texture = SubResource("GradientTexture2D_owt0a") + +[node name="Sprite2D" type="Sprite2D" parent="."] +z_index = -1 +position = Vector2(-30, -32) +texture = SubResource("GradientTexture2D_owt0a") + +[node name="Sprite2D2" type="Sprite2D" parent="."] +z_index = -1 +position = Vector2(30, -32) +texture = SubResource("GradientTexture2D_owt0a") + +[node name="ChestTop" type="Sprite2D" parent="."] +position = Vector2(25.14, -69.67) +scale = Vector2(0.116, 0.116) +texture = ExtResource("1_owt0a") + +[node name="ChestOpen" type="Sprite2D" parent="."] +visible = false +z_index = -3 +position = Vector2(66, -96) +scale = Vector2(0.141854, 0.141854) +texture = ExtResource("2_bkju7") + +[node name="MaskNode" type="Node2D" parent="."] +z_index = -2 +position = Vector2(13, -33) + +[node name="Shiny" type="Sprite2D" parent="MaskNode"] +modulate = Color(1, 1, 1, 0) +scale = Vector2(0.19, 0.19) +texture = ExtResource("4_o6r41") + +[node name="SpeedMask" parent="MaskNode" instance=ExtResource("4_ro4cy")] +process_mode = 4 +scale = Vector2(1.50522, 1.50522) + +[node name="GrappleMask" parent="MaskNode" instance=ExtResource("6_52pyd")] +process_mode = 4 +visible = false +scale = Vector2(1.505, 1.505) + +[node name="SpiritMask" parent="MaskNode" instance=ExtResource("7_vmul4")] +process_mode = 4 +visible = false +scale = Vector2(1.505, 1.505) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +&"": SubResource("AnimationLibrary_52pyd") +} + +[node name="Area2D" type="Area2D" parent="."] +collision_layer = 3 +collision_mask = 2 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] +position = Vector2(-9, -90.5997) +scale = Vector2(1.48005, 1.48005) +shape = SubResource("RectangleShape2D_ro4cy") + +[connection signal="body_entered" from="Area2D" to="." method="_on_area_2d_body_entered"] diff --git a/Reusable Scenes/death_area.tscn b/Reusable Scenes/death_area.tscn new file mode 100644 index 0000000..12fe8b8 --- /dev/null +++ b/Reusable Scenes/death_area.tscn @@ -0,0 +1,18 @@ +[gd_scene load_steps=3 format=3 uid="uid://711q12yjfsni"] + +[ext_resource type="Script" uid="uid://c6a1wljfwd8jm" path="res://Scripts/Level Specific/DeathZone.gd" id="1_wf6mn"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_o5i5b"] +size = Vector2(1143, 674) + +[node name="DeathArea" type="Area2D"] +collision_layer = 2 +collision_mask = 2 +monitoring = false +script = ExtResource("1_wf6mn") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(-26.5, -17) +shape = SubResource("RectangleShape2D_o5i5b") + +[connection signal="body_entered" from="." to="." method="_on_body_entered"] diff --git a/Reusable Scenes/player.tscn b/Reusable Scenes/player.tscn new file mode 100644 index 0000000..1ae0e47 --- /dev/null +++ b/Reusable Scenes/player.tscn @@ -0,0 +1,247 @@ +[gd_scene load_steps=21 format=3 uid="uid://dekoq72ls5rnf"] + +[ext_resource type="Script" uid="uid://c5warxls18mds" path="res://Scripts/Entity.gd" id="1_ifhme"] +[ext_resource type="Script" uid="uid://d1e1dfcab58lk" path="res://Scripts/Player/PlayerMovement.gd" id="1_w8pxy"] +[ext_resource type="Script" uid="uid://f4kopug5xiuj" path="res://Scripts/Player/PlayerAction.gd" id="2_em046"] +[ext_resource type="PackedScene" uid="uid://bxax2unw3ay8d" path="res://Reusable Scenes/Weapons/weapon_bow.tscn" id="4_86q6v"] +[ext_resource type="Script" uid="uid://dovejm1jxwfrp" path="res://Scripts/Player/PlayerDeath.gd" id="4_wnqlv"] +[ext_resource type="Script" uid="uid://bmx4fy618slwb" path="res://Scripts/Player/PlayerInventory.gd" id="5_fgtho"] +[ext_resource type="Texture2D" uid="uid://cmxkvsvtsocfj" path="res://Assets/Visuals/player.svg" id="6_7tym2"] +[ext_resource type="Script" uid="uid://ckd00ra2lp1xo" path="res://Scripts/Weapons/Melee.gd" id="8_7tym2"] +[ext_resource type="PackedScene" uid="uid://bdws5hhfuef84" path="res://Reusable Scenes/Masks/speed_mask.tscn" id="9_5skjw"] +[ext_resource type="Texture2D" uid="uid://cnxhxrmheing2" path="res://Assets/Visuals/machette.svg" id="9_w5cjy"] +[ext_resource type="PackedScene" uid="uid://ccij302qcrvo1" path="res://Reusable Scenes/Masks/grapple_mask.tscn" id="10_qit7a"] +[ext_resource type="PackedScene" uid="uid://cnyxp6p68vtv7" path="res://Reusable Scenes/Masks/spirit_mask.tscn" id="11_3f77a"] + +[sub_resource type="Gradient" id="Gradient_w8pxy"] +offsets = PackedFloat32Array(1) +colors = PackedColorArray(0.227451, 0.152941, 0.117647, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_bf1ey"] +gradient = SubResource("Gradient_w8pxy") +width = 40 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_7tym2"] +size = Vector2(33, 79.54) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_x1mjv"] +size = Vector2(16.567, 67.304) + +[sub_resource type="Animation" id="Animation_6amt5"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Area2D:monitoring") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_x1mjv"] +resource_name = "swing" +length = 0.3 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.133333, 0.166667), +"transitions": PackedFloat32Array(0.189465, 0.189465, 5.27803), +"update": 0, +"values": [0.0, 1.95477, 0.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Area2D:monitoring") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.166667), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} + +[sub_resource type="Animation" id="Animation_4lcuo"] +resource_name = "swing_flip" +length = 0.3 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.133333, 0.166667), +"transitions": PackedFloat32Array(0.189465, 0.189465, 5.27803), +"update": 0, +"values": [0.0, -1.95477, 0.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Area2D:monitoring") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.173523), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_4lcuo"] +_data = { +&"RESET": SubResource("Animation_6amt5"), +&"swing": SubResource("Animation_x1mjv"), +&"swing_flip": SubResource("Animation_4lcuo") +} + +[node name="Player" type="CharacterBody2D"] +collision_layer = 2 +collision_mask = 32769 +script = ExtResource("1_ifhme") +is_player = true + +[node name="Action" type="Node" parent="." node_paths=PackedStringArray("plr_sprite", "hand_pivot", "curr_weapon", "machette_pivot", "machette")] +script = ExtResource("2_em046") +plr_sprite = NodePath("../Player") +hand_pivot = NodePath("../HandPivot") +curr_weapon = NodePath("../HandPivot/Hand/weapon_bow") +machette_pivot = NodePath("../HandPivot/Hand/machette_pivot") +machette = NodePath("../HandPivot/Hand/machette_pivot/weapon_machette") + +[node name="Cooldown" type="Timer" parent="Action"] +wait_time = 0.35 + +[node name="PlayerMovement" type="Node" parent="." node_paths=PackedStringArray("character", "plr_sprite", "mask_node", "hand_pivot", "cape")] +script = ExtResource("1_w8pxy") +character = NodePath("..") +speed = 400.0 +jump_vel = -700.0 +plr_sprite = NodePath("../Player") +mask_node = NodePath("../MaskNode") +hand_pivot = NodePath("../HandPivot") +cape = NodePath("../Sprite2D") +skew_min = 12.7 +skew_max = 33.1 +skew_maxmax = 77.1 +lerp_step_on = 0.5 +lerp_step_off = 0.1 + +[node name="PlayerDeath" type="Node" parent="." node_paths=PackedStringArray("player")] +script = ExtResource("4_wnqlv") +player = NodePath("..") + +[node name="PlayerInventory" type="Node" parent="." node_paths=PackedStringArray("action", "machette_pivot", "bow", "machette", "masks")] +script = ExtResource("5_fgtho") +action = NodePath("../Action") +machette_pivot = NodePath("../HandPivot/Hand/machette_pivot") +bow = NodePath("../HandPivot/Hand/weapon_bow") +machette = NodePath("../HandPivot/Hand/machette_pivot/weapon_machette") +machette_cooldown = 0.001 +masks = [NodePath("../MaskNode/SpeedMask"), NodePath("../MaskNode/GrappleMask"), NodePath("../MaskNode/SpiritMask")] + +[node name="Sprite2D" type="Sprite2D" parent="."] +z_index = -1 +position = Vector2(0.49, -52.7323) +scale = Vector2(0.791, 54.329) +skew = 1.24093 +texture = SubResource("GradientTexture1D_bf1ey") +offset = Vector2(0, 0.5) + +[node name="Player" type="Sprite2D" parent="."] +z_index = -1 +position = Vector2(0.27, -45.7323) +scale = Vector2(0.101044, 0.101044) +texture = ExtResource("6_7tym2") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(2, -40.3) +shape = SubResource("RectangleShape2D_7tym2") + +[node name="HandPivot" type="Node2D" parent="."] +z_index = 1 +position = Vector2(4, -42.7323) + +[node name="Hand" type="Node2D" parent="HandPivot"] +position = Vector2(0, 16.58) + +[node name="weapon_bow" parent="HandPivot/Hand" instance=ExtResource("4_86q6v")] +z_index = -1 + +[node name="machette_pivot" type="Node2D" parent="HandPivot/Hand"] +visible = false +rotation = 1.45211 + +[node name="weapon_machette" type="Node2D" parent="HandPivot/Hand/machette_pivot" node_paths=PackedStringArray("animator", "area")] +process_mode = 4 +z_index = -1 +scale = Vector2(1.31089, 1.31089) +script = ExtResource("8_7tym2") +animator = NodePath("AnimationPlayer") +atk = 5 +area = NodePath("Area2D") +mask = 32769 + +[node name="Machette" type="Sprite2D" parent="HandPivot/Hand/machette_pivot/weapon_machette"] +position = Vector2(9.99098, -29.5384) +scale = Vector2(0.0699978, 0.0677614) +texture = ExtResource("9_w5cjy") +flip_h = true + +[node name="Area2D" type="Area2D" parent="HandPivot/Hand/machette_pivot/weapon_machette"] +collision_mask = 32769 +monitoring = false + +[node name="CollisionShape2D" type="CollisionShape2D" parent="HandPivot/Hand/machette_pivot/weapon_machette/Area2D"] +position = Vector2(18.1714, -45.1211) +rotation = 0.327302 +shape = SubResource("RectangleShape2D_x1mjv") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="HandPivot/Hand/machette_pivot/weapon_machette"] +libraries = { +&"": SubResource("AnimationLibrary_4lcuo") +} +speed_scale = 1.569 + +[node name="MaskNode" type="Node2D" parent="."] +z_index = -1 +position = Vector2(8, -64.7323) +scale = Vector2(0.878783, 0.878783) + +[node name="SpeedMask" parent="MaskNode" instance=ExtResource("9_5skjw")] +process_mode = 4 +visible = false + +[node name="GrappleMask" parent="MaskNode" instance=ExtResource("10_qit7a")] +process_mode = 4 +visible = false + +[node name="SpiritMask" parent="MaskNode" instance=ExtResource("11_3f77a")] +process_mode = 4 +visible = false + +[connection signal="entity_death" from="." to="PlayerDeath" method="_on_player_entity_death"] +[connection signal="timeout" from="Action/Cooldown" to="Action" method="_on_cooldown_timeout"] +[connection signal="body_entered" from="HandPivot/Hand/machette_pivot/weapon_machette/Area2D" to="HandPivot/Hand/machette_pivot/weapon_machette" method="_on_area_2d_body_entered"] diff --git a/Reusable Scenes/torch.tscn b/Reusable Scenes/torch.tscn new file mode 100644 index 0000000..1d95f43 --- /dev/null +++ b/Reusable Scenes/torch.tscn @@ -0,0 +1,49 @@ +[gd_scene load_steps=7 format=3 uid="uid://cmimydllnd6ny"] + +[ext_resource type="Texture2D" uid="uid://ddxbrkfa7i5n" path="res://Assets/Visuals/hexagon.png" id="1_ai0p8"] +[ext_resource type="Texture2D" uid="uid://d3plfj75jmmyu" path="res://Assets/Visuals/isostri.png" id="2_i33rf"] + +[sub_resource type="Gradient" id="Gradient_34bfm"] +offsets = PackedFloat32Array(0) +colors = PackedColorArray(0.44, 0.34078, 0.2948, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_ovrsl"] +gradient = SubResource("Gradient_34bfm") + +[sub_resource type="Gradient" id="Gradient_gnif3"] +colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_ai0p8"] +gradient = SubResource("Gradient_gnif3") +fill = 1 +fill_from = Vector2(0.5, 0.5) +fill_to = Vector2(0.9, 0.2) +metadata/_snap_enabled = true + +[node name="Torch" type="Node2D"] + +[node name="Sprite2D" type="Sprite2D" parent="."] +position = Vector2(0.259716, -51.4739) +scale = Vector2(0.0664067, 101.938) +texture = SubResource("GradientTexture1D_ovrsl") + +[node name="Hexagon" type="Sprite2D" parent="."] +modulate = Color(1, 0.441, 0.22, 1) +light_mask = 2 +position = Vector2(-1.7404, -115.474) +scale = Vector2(0.0440846, 0.0470261) +texture = ExtResource("1_ai0p8") + +[node name="Hexagon2" type="Sprite2D" parent="."] +modulate = Color(1, 0.792, 0.22, 1) +light_mask = 2 +position = Vector2(-1.74028, -119.474) +scale = Vector2(0.0327629, 0.0317369) +texture = ExtResource("2_i33rf") + +[node name="PointLight2D" type="PointLight2D" parent="."] +position = Vector2(2.25972, -114.474) +scale = Vector2(7.85187, 8.79769) +color = Color(0.980853, 0.476805, 0, 1) +energy = 1.76 +texture = SubResource("GradientTexture2D_ai0p8") diff --git a/Reusable Scenes/torch_spirit.tscn b/Reusable Scenes/torch_spirit.tscn new file mode 100644 index 0000000..20d0f3c --- /dev/null +++ b/Reusable Scenes/torch_spirit.tscn @@ -0,0 +1,50 @@ +[gd_scene load_steps=7 format=3 uid="uid://b65q8eid6235v"] + +[ext_resource type="Texture2D" uid="uid://ddxbrkfa7i5n" path="res://Assets/Visuals/hexagon.png" id="1_l8os2"] +[ext_resource type="Texture2D" uid="uid://d3plfj75jmmyu" path="res://Assets/Visuals/isostri.png" id="2_aloei"] + +[sub_resource type="Gradient" id="Gradient_l8os2"] +offsets = PackedFloat32Array(1) +colors = PackedColorArray(0.48, 0.40456, 0.3696, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_aloei"] +gradient = SubResource("Gradient_l8os2") + +[sub_resource type="Gradient" id="Gradient_gnif3"] +colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_ai0p8"] +gradient = SubResource("Gradient_gnif3") +fill = 1 +fill_from = Vector2(0.5, 0.5) +fill_to = Vector2(0.9, 0.2) +metadata/_snap_enabled = true + +[node name="Torch" type="Node2D"] + +[node name="Sprite2D" type="Sprite2D" parent="."] +light_mask = 2 +position = Vector2(0.259716, -51.4739) +scale = Vector2(0.0664067, 101.938) +texture = SubResource("GradientTexture1D_aloei") + +[node name="Hexagon" type="Sprite2D" parent="."] +modulate = Color(0.504758, 0.605776, 1, 1) +light_mask = 2 +position = Vector2(-1.7404, -115.474) +scale = Vector2(0.0440846, 0.0470261) +texture = ExtResource("1_l8os2") + +[node name="Hexagon2" type="Sprite2D" parent="."] +modulate = Color(0.978268, 0.716035, 1, 1) +light_mask = 2 +position = Vector2(-1.74028, -119.474) +scale = Vector2(0.0327629, 0.0317369) +texture = ExtResource("2_aloei") + +[node name="PointLight2D" type="PointLight2D" parent="."] +position = Vector2(2.25972, -114.474) +scale = Vector2(7.85187, 8.79769) +color = Color(0.587118, 0.583572, 1, 1) +energy = 1.76 +texture = SubResource("GradientTexture2D_ai0p8") |