summaryrefslogtreecommitdiff
path: root/Reusable Scenes/2
diff options
context:
space:
mode:
Diffstat (limited to 'Reusable Scenes/2')
-rw-r--r--Reusable Scenes/2/enemy_bow.tscn100
-rw-r--r--Reusable Scenes/2/enemy_club.tscn301
2 files changed, 401 insertions, 0 deletions
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"]