307 lines
12 KiB
Text
307 lines
12 KiB
Text
[gd_scene load_steps=46 format=3 uid="uid://bgqmwsb6ynm81"]
|
|
|
|
[ext_resource type="PackedScene" uid="uid://co11v3w8hbwgf" path="res://scenes/entities/Zombies/zombie.tscn" id="1_fnu7s"]
|
|
[ext_resource type="Shader" uid="uid://d0eo5uuj222c4" path="res://assets/shaders/CG_color_blender.gdshader" id="2_6qr4h"]
|
|
[ext_resource type="Script" uid="uid://bcc7skl7ts6sh" path="res://scripts/systems/effects/Effect.cs" id="2_txjqc"]
|
|
[ext_resource type="Texture2D" uid="uid://cse1504ao4g8e" path="res://assets/sprites/atlases/zombies/hobo.png" id="3_6qr4h"]
|
|
[ext_resource type="Resource" uid="uid://dsg1vjx76ifgu" path="res://resources/effects/GarlicEffect.tres" id="3_b583s"]
|
|
[ext_resource type="Script" uid="uid://dt5uj25u0g6y3" path="res://scripts/components/particles/FallParticle.cs" id="3_tu6af"]
|
|
[ext_resource type="AnimationLibrary" uid="uid://cuh2kyb21hmkm" path="res://resources/animations/zombies/basic_zombie.res" id="4_02fim"]
|
|
[ext_resource type="Script" uid="uid://c5v2og85t7s6j" path="res://scripts/components/zombies/behaviours/HoboBehaviour.cs" id="4_5selg"]
|
|
[ext_resource type="Script" uid="uid://c3cfnrmnnuqms" path="res://addons/floatmodifiers/FloatModifiers.cs" id="4_c1y3b"]
|
|
[ext_resource type="Script" uid="uid://fd4im1fmwc5n" path="res://scripts/components/Armor.cs" id="4_w8pya"]
|
|
[ext_resource type="Script" uid="uid://bbw848msxb4re" path="res://scripts/components/DegradingSprite.cs" id="5_ndwp0"]
|
|
[ext_resource type="Texture2D" uid="uid://8h5vg1pk32b2" path="res://assets/sprites/garbage_can1.tres" id="6_i6nje"]
|
|
[ext_resource type="Texture2D" uid="uid://cogfbn4re3kob" path="res://assets/sprites/garbage_can2.tres" id="7_txjqc"]
|
|
[ext_resource type="AudioStream" uid="uid://bu1egfsyplpx4" path="res://assets/audio/sfx/metalhit_generic.tres" id="8_4248q"]
|
|
[ext_resource type="Texture2D" uid="uid://n2j2k2aijr7j" path="res://assets/sprites/garbage_can3.tres" id="8_b583s"]
|
|
[ext_resource type="AudioStream" uid="uid://w0qfwds4o3ti" path="res://assets/audio/sfx/hit_generic.tres" id="9_tu6af"]
|
|
[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="11_7jlle"]
|
|
[ext_resource type="AudioStream" uid="uid://ch55p7qbaawtp" path="res://assets/audio/sfx/argh.tres" id="12_w1b1s"]
|
|
|
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_w8pya"]
|
|
resource_local_to_scene = true
|
|
shader = ExtResource("2_6qr4h")
|
|
shader_parameter/blend_color = Color(1, 1, 1, 1)
|
|
shader_parameter/amount = 0.0
|
|
|
|
[sub_resource type="AtlasTexture" id="AtlasTexture_w8pya"]
|
|
atlas = ExtResource("3_6qr4h")
|
|
region = Rect2(0, 15, 40, 49)
|
|
|
|
[sub_resource type="AtlasTexture" id="AtlasTexture_5selg"]
|
|
atlas = ExtResource("3_6qr4h")
|
|
region = Rect2(3, 0, 35, 11)
|
|
|
|
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_4248q"]
|
|
radius = 17.0
|
|
height = 48.0
|
|
|
|
[sub_resource type="Resource" id="Resource_qg8rq"]
|
|
resource_local_to_scene = true
|
|
script = ExtResource("4_c1y3b")
|
|
flat_value = 10.0
|
|
percentage_value = 0.0
|
|
mult_value = 1.0
|
|
|
|
[sub_resource type="Animation" id="Animation_qv5y7"]
|
|
length = 0.001
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("CanvasGroup/Sprite:self_modulate")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [Color(1, 1, 1, 1)]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("Mover:_speedControlMult")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [0.0]
|
|
}
|
|
|
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_sq25x"]
|
|
_data = {
|
|
&"RESET": SubResource("Animation_qv5y7")
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_w8pya"]
|
|
length = 2.0
|
|
tracks/0/type = "method"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("Mover")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(1.93333),
|
|
"transitions": PackedFloat32Array(1),
|
|
"values": [{
|
|
"args": [3.0],
|
|
"method": &"SetSpeedMult"
|
|
}]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("CanvasGroup/Sprite:self_modulate")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"times": PackedFloat32Array(0, 2),
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
"update": 0,
|
|
"values": [Color(1, 1, 1, 1), Color(1, 0, 0, 1)]
|
|
}
|
|
tracks/2/type = "value"
|
|
tracks/2/imported = false
|
|
tracks/2/enabled = true
|
|
tracks/2/path = NodePath("Mover:_speedControlMult")
|
|
tracks/2/interp = 1
|
|
tracks/2/loop_wrap = true
|
|
tracks/2/keys = {
|
|
"times": PackedFloat32Array(0, 2),
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
"update": 1,
|
|
"values": [0.0, 1.0]
|
|
}
|
|
tracks/3/type = "method"
|
|
tracks/3/imported = false
|
|
tracks/3/enabled = true
|
|
tracks/3/path = NodePath("RipPlayer")
|
|
tracks/3/interp = 1
|
|
tracks/3/loop_wrap = true
|
|
tracks/3/keys = {
|
|
"times": PackedFloat32Array(1.96667),
|
|
"transitions": PackedFloat32Array(1),
|
|
"values": [{
|
|
"args": [],
|
|
"method": &"Play"
|
|
}]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_5selg"]
|
|
resource_name = "walk"
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("Mover:_speedControlMult")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [1.0]
|
|
}
|
|
|
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_5selg"]
|
|
_data = {
|
|
&"can_destroy": SubResource("Animation_w8pya"),
|
|
&"run": SubResource("Animation_5selg")
|
|
}
|
|
|
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_h0rfo"]
|
|
animation = &"basic_zombie/eat"
|
|
|
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_nog33"]
|
|
animation = &"basic_zombie/idle"
|
|
|
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_g2uel"]
|
|
animation = &"basic_zombie/walk"
|
|
|
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_02fim"]
|
|
animation = &"hobo_zombie/can_destroy"
|
|
|
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_c1y3b"]
|
|
animation = &"hobo_zombie/run"
|
|
|
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vxhht"]
|
|
advance_mode = 2
|
|
|
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_y2ivb"]
|
|
advance_mode = 2
|
|
advance_expression = "get(\"isEating\") == true"
|
|
|
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7d3k4"]
|
|
advance_mode = 2
|
|
advance_expression = "get(\"isEating\") == true"
|
|
|
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qg8rq"]
|
|
advance_mode = 2
|
|
advance_expression = "get(\"canDestroyed\") == false"
|
|
|
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4248q"]
|
|
advance_mode = 2
|
|
advance_expression = "get(\"canDestroyed\") == true"
|
|
|
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tu6af"]
|
|
advance_mode = 2
|
|
advance_expression = "get(\"isEating\") == true"
|
|
|
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yalvk"]
|
|
advance_mode = 2
|
|
advance_expression = "get(\"canDestroyed\") == true and get(\"isEating\") == false"
|
|
|
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7jlle"]
|
|
switch_mode = 2
|
|
advance_mode = 2
|
|
|
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_w1b1s"]
|
|
advance_mode = 2
|
|
advance_expression = "get(\"canDestroyed\") == false and get(\"isEating\") == false"
|
|
|
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_02fim"]
|
|
advance_mode = 2
|
|
advance_expression = "get(\"canDestroyed\") == true"
|
|
|
|
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_xg3p6"]
|
|
states/End/position = Vector2(1183, 100)
|
|
states/basic_zombie_eat/node = SubResource("AnimationNodeAnimation_h0rfo")
|
|
states/basic_zombie_eat/position = Vector2(711, 206)
|
|
states/basic_zombie_idle/node = SubResource("AnimationNodeAnimation_nog33")
|
|
states/basic_zombie_idle/position = Vector2(368, 100)
|
|
states/basic_zombie_walk/node = SubResource("AnimationNodeAnimation_g2uel")
|
|
states/basic_zombie_walk/position = Vector2(711, -21)
|
|
states/hobo_zombie_can_destroy/node = SubResource("AnimationNodeAnimation_02fim")
|
|
states/hobo_zombie_can_destroy/position = Vector2(368, 206)
|
|
states/hobo_zombie_run/node = SubResource("AnimationNodeAnimation_c1y3b")
|
|
states/hobo_zombie_run/position = Vector2(866, 89)
|
|
transitions = ["Start", "basic_zombie_idle", SubResource("AnimationNodeStateMachineTransition_vxhht"), "basic_zombie_idle", "basic_zombie_eat", SubResource("AnimationNodeStateMachineTransition_y2ivb"), "basic_zombie_walk", "basic_zombie_eat", SubResource("AnimationNodeStateMachineTransition_7d3k4"), "basic_zombie_idle", "basic_zombie_walk", SubResource("AnimationNodeStateMachineTransition_qg8rq"), "basic_zombie_idle", "hobo_zombie_run", SubResource("AnimationNodeStateMachineTransition_4248q"), "hobo_zombie_run", "basic_zombie_eat", SubResource("AnimationNodeStateMachineTransition_tu6af"), "basic_zombie_eat", "hobo_zombie_run", SubResource("AnimationNodeStateMachineTransition_yalvk"), "hobo_zombie_can_destroy", "basic_zombie_idle", SubResource("AnimationNodeStateMachineTransition_7jlle"), "basic_zombie_eat", "basic_zombie_walk", SubResource("AnimationNodeStateMachineTransition_w1b1s"), "basic_zombie_walk", "hobo_zombie_run", SubResource("AnimationNodeStateMachineTransition_02fim")]
|
|
graph_offset = Vector2(55, -28)
|
|
|
|
[sub_resource type="Resource" id="Resource_4248q"]
|
|
resource_local_to_scene = true
|
|
script = ExtResource("4_c1y3b")
|
|
flat_value = 0.2
|
|
percentage_value = 0.0
|
|
mult_value = 1.0
|
|
|
|
[node name="Hobo" node_paths=PackedStringArray("_armor") instance=ExtResource("1_fnu7s")]
|
|
_armor = NodePath("CanArmor")
|
|
MaxHP = 130.0
|
|
_effectImmunities = Array[ExtResource("2_txjqc")]([ExtResource("3_b583s")])
|
|
|
|
[node name="CanvasGroup" parent="." index="0"]
|
|
material = SubResource("ShaderMaterial_w8pya")
|
|
|
|
[node name="Can" type="RigidBody2D" parent="CanvasGroup" index="1" node_paths=PackedStringArray("data")]
|
|
collision_layer = 128
|
|
collision_mask = 64
|
|
freeze = true
|
|
script = ExtResource("3_tu6af")
|
|
data = NodePath("../..")
|
|
maxAngle = 45.0
|
|
minTorque = -45.0
|
|
maxTorque = 45.0
|
|
Impulse = 100.0
|
|
|
|
[node name="Sprite2D" type="Sprite2D" parent="CanvasGroup/Can" index="0" node_paths=PackedStringArray("armor")]
|
|
position = Vector2(-4, -40)
|
|
texture = SubResource("AtlasTexture_w8pya")
|
|
script = ExtResource("5_ndwp0")
|
|
armor = NodePath("../../../CanArmor")
|
|
degradationStages = Array[Texture2D]([ExtResource("6_i6nje"), ExtResource("7_txjqc"), ExtResource("8_b583s")])
|
|
thresholdPercentage = Array[float]([1.0, 0.667, 0.333])
|
|
|
|
[node name="Sprite2D2" type="Sprite2D" parent="CanvasGroup/Can" index="1"]
|
|
z_index = -1
|
|
position = Vector2(-6, -63)
|
|
texture = SubResource("AtlasTexture_5selg")
|
|
|
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="CanvasGroup/Can" index="2"]
|
|
position = Vector2(-3, -40)
|
|
shape = SubResource("CapsuleShape2D_4248q")
|
|
|
|
[node name="Eatbox" parent="." index="2"]
|
|
_damage = SubResource("Resource_qg8rq")
|
|
|
|
[node name="AnimationPlayer" parent="." index="3"]
|
|
libraries = {
|
|
&"": SubResource("AnimationLibrary_sq25x"),
|
|
&"basic_zombie": ExtResource("4_02fim"),
|
|
&"hobo_zombie": SubResource("AnimationLibrary_5selg")
|
|
}
|
|
autoplay = "baisc_zombie/walk"
|
|
speed_scale = 3.0
|
|
|
|
[node name="AnimationTree" parent="." index="4"]
|
|
tree_root = SubResource("AnimationNodeStateMachine_xg3p6")
|
|
advance_expression_base_node = NodePath("../Behaviour")
|
|
|
|
[node name="Mover" parent="." index="5"]
|
|
_speed = SubResource("Resource_4248q")
|
|
|
|
[node name="CanArmor" type="Node" parent="." index="7"]
|
|
script = ExtResource("4_w8pya")
|
|
metadata/_custom_type_script = "uid://fd4im1fmwc5n"
|
|
|
|
[node name="Behaviour" type="Node" parent="." index="8" node_paths=PackedStringArray("_eatBox", "_animationTree")]
|
|
script = ExtResource("4_5selg")
|
|
_eatBox = NodePath("../Eatbox")
|
|
_animationTree = NodePath("../AnimationTree")
|
|
|
|
[node name="HitPlayer" parent="." index="9"]
|
|
playlist = Array[AudioStream]([ExtResource("8_4248q"), ExtResource("9_tu6af")])
|
|
channels = Array[String](["metal_hit", "hit"])
|
|
|
|
[node name="RipPlayer" type="Node" parent="." index="11"]
|
|
script = ExtResource("11_7jlle")
|
|
audioStream = ExtResource("12_w1b1s")
|
|
channel = "anger"
|
|
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
|
|
|
|
[connection signal="ArmorLost" from="CanArmor" to="HitPlayer" method="Next"]
|
|
[connection signal="ArmorLost" from="CanArmor" to="CanvasGroup/Can" method="FallOff"]
|
|
[connection signal="ArmorLost" from="CanArmor" to="Behaviour" method="Trashed"]
|