newlon/scenes/entities/Zombies/hobo.tscn
2025-07-11 22:35:36 +05:00

244 lines
12 KiB
Text

[gd_scene load_steps=41 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="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/particles/FallParticle.cs" id="3_tu6af"]
[ext_resource type="Script" uid="uid://c5v2og85t7s6j" path="res://scripts/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/Armor.cs" id="4_w8pya"]
[ext_resource type="Script" uid="uid://bbw848msxb4re" path="res://scripts/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="AnimationNodeTimeScale" id="AnimationNodeTimeScale_2q05d"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_h0rfo"]
animation = &"basic_zombie_eating"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_nog33"]
animation = &"basic_zombie_stand"
[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 = &"basic_zombie_walk"
[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(-30, 35)
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_txjqc"]
graph_offset = Vector2(-447, 53)
nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_2q05d")
nodes/TimeScale/position = Vector2(60, 120)
nodes/Tree/node = SubResource("AnimationNodeStateMachine_xg3p6")
nodes/Tree/position = Vector2(-220, 120)
node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[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 = [ExtResource("3_b583s")]
[node name="CanvasGroup" parent="." index="0"]
material = SubResource("ShaderMaterial_w8pya")
[node name="RightUpperLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="1"]
scale = Vector2(0.999825, 0.999825)
[node name="RightLowerLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg" index="1"]
scale = Vector2(0.999829, 0.999829)
[node name="RightFoot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg" index="0"]
scale = Vector2(0.999826, 0.999826)
[node name="LeftUpperLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="2"]
scale = Vector2(0.999829, 0.999829)
[node name="LeftLowerLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg" index="1"]
scale = Vector2(0.999829, 0.999829)
[node name="LeftFoot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg" index="1"]
scale = Vector2(0.999824, 0.999824)
[node name="Body" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="3"]
scale = Vector2(0.999829, 0.999829)
[node name="RightUpperArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="0"]
scale = Vector2(0.99983, 0.99983)
[node name="RightLowerArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm" index="1"]
scale = Vector2(0.99982, 0.99982)
[node name="RightHand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm" index="0"]
scale = Vector2(0.99983, 0.99983)
[node name="Head" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="3"]
scale = Vector2(0.999829, 0.999829)
[node name="Jaw" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head" index="1"]
scale = Vector2(0.999831, 0.999831)
[node name="LeftUpperArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="4"]
scale = Vector2(0.99983, 0.99983)
[node name="LeftLowerArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm" index="1"]
scale = Vector2(0.999829, 0.999829)
[node name="LeftHand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm" index="0"]
scale = Vector2(0.999829, 0.999829)
[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="AnimationTree" parent="." index="3"]
tree_root = SubResource("AnimationNodeBlendTree_txjqc")
advance_expression_base_node = NodePath("../Behaviour")
[node name="Mover" parent="." index="4"]
_speed = SubResource("Resource_4248q")
[node name="HitPlayer" parent="." index="6"]
playlist = Array[AudioStream]([ExtResource("8_4248q"), ExtResource("9_tu6af")])
channels = Array[String](["metal_hit", "hit"])
[node name="CanArmor" type="Node" parent="." index="7"]
script = ExtResource("4_w8pya")
MaxHP = 385.0
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="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"]