[gd_scene load_steps=66 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="Script" uid="uid://bcc7skl7ts6sh" path="res://scripts/systems/effects/Effect.cs" id="2_yb81c"] [ext_resource type="Resource" uid="uid://dsg1vjx76ifgu" path="res://assets/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/entities/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/entities/Armor.cs" id="4_w8pya"] [ext_resource type="Texture2D" uid="uid://dri70dxyks7xh" path="res://assets/sprites/zombies/hobo.png" id="5_b583s"] [ext_resource type="Script" uid="uid://bbw848msxb4re" path="res://scripts/entities/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="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="6_vn3j1"] [ext_resource type="Texture2D" uid="uid://cogfbn4re3kob" path="res://assets/sprites/garbage_can2.tres" id="7_txjqc"] [ext_resource type="AnimationLibrary" uid="uid://ceb3khu7rwgy8" path="res://assets/animations/zombies/basic.res" id="7_vn3j1"] [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="AnimationLibrary" uid="uid://c0tlm0ta4dgbk" path="res://assets/animations/zombies/hobo.res" id="8_yb81c"] [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="Script" uid="uid://d3l8e8ko5r5i3" path="res://scripts/entities/ArmorHPObserver.cs" id="12_vn3j1"] [ext_resource type="AudioStream" uid="uid://ch55p7qbaawtp" path="res://assets/audio/sfx/argh.tres" id="12_w1b1s"] [ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="19_8y6c0"] [ext_resource type="Shader" uid="uid://btf4xhu31ln6n" path="res://assets/shaders/canvas_group_flash.gdshader" id="23_nc6p3"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_vn3j1"] resource_local_to_scene = true shader = ExtResource("23_nc6p3") shader_parameter/FLASH_COLOR = Color(1, 0.709804, 0.439216, 0.5) shader_parameter/HIGHLIGHT_COLOR = Color(1, 0.709804, 0.439216, 0.5) shader_parameter/blend = 0.0 shader_parameter/selected = false [sub_resource type="AtlasTexture" id="AtlasTexture_txjqc"] atlas = ExtResource("5_b583s") region = Rect2(115, 52, 17, 9) [sub_resource type="AtlasTexture" id="AtlasTexture_b583s"] atlas = ExtResource("5_b583s") region = Rect2(86, 50, 10, 16) [sub_resource type="AtlasTexture" id="AtlasTexture_uoit3"] atlas = ExtResource("5_b583s") region = Rect2(115, 52, 17, 9) [sub_resource type="AtlasTexture" id="AtlasTexture_vn3j1"] atlas = ExtResource("5_b583s") region = Rect2(101, 50, 10, 16) [sub_resource type="AtlasTexture" id="AtlasTexture_yb81c"] atlas = ExtResource("5_b583s") region = Rect2(117, 1, 8, 16) [sub_resource type="AtlasTexture" id="AtlasTexture_nlwsb"] atlas = ExtResource("5_b583s") region = Rect2(129, 4, 7, 10) [sub_resource type="AtlasTexture" id="AtlasTexture_8y6c0"] atlas = ExtResource("5_b583s") region = Rect2(113, 22, 19, 13) [sub_resource type="AtlasTexture" id="AtlasTexture_nc6p3"] atlas = ExtResource("5_b583s") region = Rect2(80, 30, 7, 18) [sub_resource type="AtlasTexture" id="AtlasTexture_y0p2l"] atlas = ExtResource("5_b583s") region = Rect2(101, 37, 9, 11) [sub_resource type="AtlasTexture" id="AtlasTexture_op0h6"] atlas = ExtResource("5_b583s") region = Rect2(91, 32, 9, 15) [sub_resource type="AtlasTexture" id="AtlasTexture_0s5wm"] atlas = ExtResource("5_b583s") region = Rect2(137, 19, 29, 39) [sub_resource type="AtlasTexture" id="AtlasTexture_5selg"] atlas = ExtResource("5_b583s") region = Rect2(0, 29, 35, 11) [sub_resource type="CapsuleShape2D" id="CapsuleShape2D_4248q"] radius = 17.0 height = 48.0 [sub_resource type="AtlasTexture" id="AtlasTexture_pjhfy"] atlas = ExtResource("5_b583s") region = Rect2(80, 0, 32, 30) [sub_resource type="AtlasTexture" id="AtlasTexture_7cvmi"] atlas = ExtResource("5_b583s") region = Rect2(38, 22, 22, 13) [sub_resource type="AtlasTexture" id="AtlasTexture_n380g"] atlas = ExtResource("5_b583s") region = Rect2(34, 38, 45, 27) [sub_resource type="CircleShape2D" id="CircleShape2D_vn3j1"] [sub_resource type="AtlasTexture" id="AtlasTexture_tebih"] atlas = ExtResource("5_b583s") region = Rect2(34, 0, 6, 19) [sub_resource type="AtlasTexture" id="AtlasTexture_auxav"] atlas = ExtResource("5_b583s") region = Rect2(43, 0, 9, 15) [sub_resource type="AtlasTexture" id="AtlasTexture_dntsa"] atlas = ExtResource("5_b583s") region = Rect2(55, 0, 9, 10) [sub_resource type="Animation" id="Animation_vn3j1"] resource_name = "RESET" tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Zombie/Butt/Body/LeftUpperArm/LeftLowerArm:position") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-2, 14)] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("Zombie/Butt/Body/LeftUpperArm/LeftLowerArm:rotation") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand:position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-1, 13)] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand:rotation") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("Zombie/Butt/Body/LeftUpperArm:position") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-1, -20)] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("Zombie/Butt/Body/LeftUpperArm:rotation") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true tracks/6/path = NodePath("Zombie/Butt/Body/Head/LeftEye:position") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-4, -9)] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true tracks/7/path = NodePath("Zombie/Butt/Body/Head/LeftEye:rotation") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true tracks/8/path = NodePath("Zombie/Butt/Body/Head/RightEye:position") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-16, -8)] } tracks/9/type = "value" tracks/9/imported = false tracks/9/enabled = true tracks/9/path = NodePath("Zombie/Butt/Body/Head/RightEye:rotation") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/10/type = "value" tracks/10/imported = false tracks/10/enabled = true tracks/10/path = NodePath("Zombie/Butt/Body/Head/Jaw:position") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-3, 3)] } tracks/11/type = "value" tracks/11/imported = false tracks/11/enabled = true tracks/11/path = NodePath("Zombie/Butt/Body/Head/Jaw:rotation") tracks/11/interp = 1 tracks/11/loop_wrap = true tracks/11/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/12/type = "value" tracks/12/imported = false tracks/12/enabled = true tracks/12/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm/RightHand:position") tracks/12/interp = 1 tracks/12/loop_wrap = true tracks/12/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-1, 13)] } tracks/13/type = "value" tracks/13/imported = false tracks/13/enabled = true tracks/13/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm/RightHand:rotation") tracks/13/interp = 1 tracks/13/loop_wrap = true tracks/13/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/14/type = "value" tracks/14/imported = false tracks/14/enabled = true tracks/14/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm:position") tracks/14/interp = 1 tracks/14/loop_wrap = true tracks/14/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-2, 15)] } tracks/15/type = "value" tracks/15/imported = false tracks/15/enabled = true tracks/15/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm:rotation") tracks/15/interp = 1 tracks/15/loop_wrap = true tracks/15/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/16/type = "value" tracks/16/imported = false tracks/16/enabled = true tracks/16/path = NodePath("Zombie/Butt/Body/RightUpperArm:position") tracks/16/interp = 1 tracks/16/loop_wrap = true tracks/16/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-14, -23)] } tracks/17/type = "value" tracks/17/imported = false tracks/17/enabled = true tracks/17/path = NodePath("Zombie/Butt/Body/RightUpperArm:rotation") tracks/17/interp = 1 tracks/17/loop_wrap = true tracks/17/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/18/type = "value" tracks/18/imported = false tracks/18/enabled = true tracks/18/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot:position") tracks/18/interp = 1 tracks/18/loop_wrap = true tracks/18/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(6, 10)] } tracks/19/type = "value" tracks/19/imported = false tracks/19/enabled = true tracks/19/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot:rotation") tracks/19/interp = 1 tracks/19/loop_wrap = true tracks/19/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/20/type = "value" tracks/20/imported = false tracks/20/enabled = true tracks/20/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg:position") tracks/20/interp = 1 tracks/20/loop_wrap = true tracks/20/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-1, 13)] } tracks/21/type = "value" tracks/21/imported = false tracks/21/enabled = true tracks/21/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg:rotation") tracks/21/interp = 1 tracks/21/loop_wrap = true tracks/21/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/22/type = "value" tracks/22/imported = false tracks/22/enabled = true tracks/22/path = NodePath("Zombie/Butt/LeftUpperLeg:position") tracks/22/interp = 1 tracks/22/loop_wrap = true tracks/22/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(6, 4)] } tracks/23/type = "value" tracks/23/imported = false tracks/23/enabled = true tracks/23/path = NodePath("Zombie/Butt/LeftUpperLeg:rotation") tracks/23/interp = 1 tracks/23/loop_wrap = true tracks/23/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/24/type = "value" tracks/24/imported = false tracks/24/enabled = true tracks/24/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg/RightFoot:position") tracks/24/interp = 1 tracks/24/loop_wrap = true tracks/24/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-2, 14)] } tracks/25/type = "value" tracks/25/imported = false tracks/25/enabled = true tracks/25/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg/RightFoot:rotation") tracks/25/interp = 1 tracks/25/loop_wrap = true tracks/25/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/26/type = "value" tracks/26/imported = false tracks/26/enabled = true tracks/26/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg:position") tracks/26/interp = 1 tracks/26/loop_wrap = true tracks/26/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-2, 12)] } tracks/27/type = "value" tracks/27/imported = false tracks/27/enabled = true tracks/27/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg:rotation") tracks/27/interp = 1 tracks/27/loop_wrap = true tracks/27/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/28/type = "value" tracks/28/imported = false tracks/28/enabled = true tracks/28/path = NodePath("Zombie/Butt/RightUpperLeg:position") tracks/28/interp = 1 tracks/28/loop_wrap = true tracks/28/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-6, 3)] } tracks/29/type = "value" tracks/29/imported = false tracks/29/enabled = true tracks/29/path = NodePath("Zombie/Butt/RightUpperLeg:rotation") tracks/29/interp = 1 tracks/29/loop_wrap = true tracks/29/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/30/type = "value" tracks/30/imported = false tracks/30/enabled = true tracks/30/path = NodePath("Zombie/Butt:position") tracks/30/interp = 1 tracks/30/loop_wrap = true tracks/30/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(5, -35)] } tracks/31/type = "value" tracks/31/imported = false tracks/31/enabled = true tracks/31/path = NodePath("Zombie/Butt:rotation") tracks/31/interp = 1 tracks/31/loop_wrap = true tracks/31/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/32/type = "value" tracks/32/imported = false tracks/32/enabled = true tracks/32/path = NodePath("Zombie/Butt/Body:position") tracks/32/interp = 1 tracks/32/loop_wrap = true tracks/32/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(1, -2)] } tracks/33/type = "value" tracks/33/imported = false tracks/33/enabled = true tracks/33/path = NodePath("Zombie/Butt/Body:rotation") tracks/33/interp = 1 tracks/33/loop_wrap = true tracks/33/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/34/type = "value" tracks/34/imported = false tracks/34/enabled = true tracks/34/path = NodePath("Zombie:position") tracks/34/interp = 1 tracks/34/loop_wrap = true tracks/34/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, 0)] } tracks/35/type = "value" tracks/35/imported = false tracks/35/enabled = true tracks/35/path = NodePath("Zombie:rotation") tracks/35/interp = 1 tracks/35/loop_wrap = true tracks/35/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/36/type = "value" tracks/36/imported = false tracks/36/enabled = true tracks/36/path = NodePath("Zombie/Butt/Body/Head:position") tracks/36/interp = 1 tracks/36/loop_wrap = true tracks/36/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-10, -25)] } tracks/37/type = "value" tracks/37/imported = false tracks/37/enabled = true tracks/37/path = NodePath("Zombie/Butt/Body/Head:rotation") tracks/37/interp = 1 tracks/37/loop_wrap = true tracks/37/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/38/type = "value" tracks/38/imported = false tracks/38/enabled = true tracks/38/path = NodePath("Zombie/Butt/Body/Head:visible") tracks/38/interp = 1 tracks/38/loop_wrap = true tracks/38/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [true] } tracks/39/type = "value" tracks/39/imported = false tracks/39/enabled = true tracks/39/path = NodePath("Zombie/Butt/Body/Head/TrashcanLid:position") tracks/39/interp = 1 tracks/39/loop_wrap = true tracks/39/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-0.0022974, -17.0131)] } tracks/40/type = "value" tracks/40/imported = false tracks/40/enabled = true tracks/40/path = NodePath("Zombie/Butt/Body/Head/TrashcanLid:rotation") tracks/40/interp = 1 tracks/40/loop_wrap = true tracks/40/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/41/type = "value" tracks/41/imported = false tracks/41/enabled = true tracks/41/path = NodePath("Zombie/Butt/Body/Head/TrashcanLid:visible") tracks/41/interp = 1 tracks/41/loop_wrap = true tracks/41/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [true] } tracks/42/type = "value" tracks/42/imported = false tracks/42/enabled = true tracks/42/path = NodePath("Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm/Left_Hand:texture") tracks/42/interp = 1 tracks/42/loop_wrap = true tracks/42/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [SubResource("AtlasTexture_dntsa")] } tracks/43/type = "value" tracks/43/imported = false tracks/43/enabled = true tracks/43/path = NodePath("../../Mover:_speedControlMult") tracks/43/interp = 1 tracks/43/loop_wrap = true tracks/43/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/44/type = "value" tracks/44/imported = false tracks/44/enabled = true tracks/44/path = NodePath("Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm/Left_Hand:offset") tracks/44/interp = 1 tracks/44/loop_wrap = true tracks/44/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-4, -1)] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_x5uj2"] _data = { &"RESET": SubResource("Animation_vn3j1") } [sub_resource type="Resource" id="Resource_n380g"] resource_local_to_scene = true script = ExtResource("4_c1y3b") flat_value = 5.0 percentage_value = 0.0 mult_value = 1.0 [sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_2q05d"] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vn3j1"] animation = &"basic/death" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_02fim"] animation = &"basic/stand" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_yb81c"] animation = &"basic/eating" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_h0rfo"] animation = &"hobo/eating_without_arms" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_nog33"] animation = &"basic/stand" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_c1y3b"] animation = &"basic/walk" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_g2uel"] animation = &"hobo/Jump_walking" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vxhht"] advance_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_n380g"] xfade_time = 0.5 advance_mode = 2 advance_expression = "get(\"isEating\")" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nlwsb"] xfade_time = 0.5 advance_mode = 2 advance_expression = "get(\"isEating\") == false" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8y6c0"] xfade_time = 0.5 advance_mode = 2 advance_expression = "get(\"isEating\")" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nc6p3"] xfade_time = 0.5 advance_mode = 2 advance_expression = "get(\"isEating\") == false" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_y0p2l"] break_loop_at_end = true switch_mode = 2 advance_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_uoit3"] xfade_time = 0.5 advance_mode = 2 advance_expression = "get(\"isEating\") == false and can_process()" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vn3j1"] xfade_time = 0.5 advance_mode = 2 advance_expression = "get(\"isEating\") and can_process()" [sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_xg3p6"] states/Death/node = SubResource("AnimationNodeAnimation_vn3j1") states/Death/position = Vector2(745, 220) states/Destroy/node = SubResource("AnimationNodeAnimation_02fim") states/Destroy/position = Vector2(773, 67) states/Eat/node = SubResource("AnimationNodeAnimation_yb81c") states/Eat/position = Vector2(942, 145) states/Eat_with_can/node = SubResource("AnimationNodeAnimation_h0rfo") states/Eat_with_can/position = Vector2(583, 145) states/End/position = Vector2(1185, 100) states/Idle/node = SubResource("AnimationNodeAnimation_nog33") states/Idle/position = Vector2(368, 100) states/Run/node = SubResource("AnimationNodeAnimation_c1y3b") states/Run/position = Vector2(942, -3) states/Walk/node = SubResource("AnimationNodeAnimation_g2uel") states/Walk/position = Vector2(583, -3) transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_vxhht"), "Walk", "Eat_with_can", SubResource("AnimationNodeStateMachineTransition_n380g"), "Eat_with_can", "Walk", SubResource("AnimationNodeStateMachineTransition_nlwsb"), "Run", "Eat", SubResource("AnimationNodeStateMachineTransition_8y6c0"), "Eat", "Run", SubResource("AnimationNodeStateMachineTransition_nc6p3"), "Destroy", "Run", SubResource("AnimationNodeStateMachineTransition_y0p2l"), "Idle", "Walk", SubResource("AnimationNodeStateMachineTransition_uoit3"), "Idle", "Eat_with_can", SubResource("AnimationNodeStateMachineTransition_vn3j1")] graph_offset = Vector2(274, -18) [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_txjqc"] 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.4 percentage_value = 0.0 mult_value = 1.0 [node name="Hobo" node_paths=PackedStringArray("_armor") instance=ExtResource("1_fnu7s")] _armor = NodePath("CanArmor") MaxHP = 185.0 _effectImmunities = Array[ExtResource("2_yb81c")]([ExtResource("3_b583s")]) [node name="CanvasGroup" parent="." index="0"] material = SubResource("ShaderMaterial_vn3j1") [node name="Butt" parent="CanvasGroup/basic_zombie_walk/Zombie" index="0"] scale = Vector2(0.999902, 0.999902) [node name="Butt" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="0"] texture = SubResource("AtlasTexture_txjqc") [node name="RightUpperLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="1"] scale = Vector2(0.999834, 0.999834) [node name="Right_Upper_Leg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg" index="0"] texture = SubResource("AtlasTexture_b583s") [node name="RightLowerLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg" index="1"] scale = Vector2(0.999833, 0.999833) [node name="RightFoot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg" index="0"] scale = Vector2(0.999832, 0.999832) [node name="Right_Foot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg/RightFoot" index="0"] texture = SubResource("AtlasTexture_uoit3") [node name="Right_Lower_Leg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg" index="1"] texture = SubResource("AtlasTexture_vn3j1") [node name="LeftUpperLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="2"] scale = Vector2(0.999829, 0.999829) [node name="Left_Upper_Leg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg" index="0"] texture = SubResource("AtlasTexture_yb81c") [node name="LeftLowerLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg" index="1"] scale = Vector2(0.999832, 0.999832) [node name="Left_Lower_Leg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg" index="0"] texture = SubResource("AtlasTexture_nlwsb") [node name="LeftFoot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg" index="1"] scale = Vector2(0.999816, 0.999816) [node name="Left_Foot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot" index="0"] texture = SubResource("AtlasTexture_8y6c0") [node name="Body" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="3"] scale = Vector2(0.999826, 0.999826) [node name="RightUpperArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="0"] scale = Vector2(0.999828, 0.999828) [node name="Right_Upper_Arm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm" index="0"] texture = SubResource("AtlasTexture_nc6p3") [node name="RightLowerArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm" index="1"] scale = Vector2(0.999817, 0.999817) [node name="Right_Hand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm/RightHand" index="0"] texture = SubResource("AtlasTexture_y0p2l") [node name="Right_Lower_Arm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm" index="1"] texture = SubResource("AtlasTexture_op0h6") [node name="Body" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="1"] texture = SubResource("AtlasTexture_0s5wm") [node name="Tie" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="2"] rotation = 0.0254695 scale = Vector2(1e-05, 1e-05) [node name="Tie" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Tie" index="0"] visible = false [node name="Can" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="3" node_paths=PackedStringArray("data")] scale = Vector2(1.00027, 1.00027) 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/basic_zombie_walk/Zombie/Butt/Body/Can" index="0" node_paths=PackedStringArray("armor")] material = ExtResource("6_vn3j1") position = Vector2(-5.9999, -4.5002) texture = ExtResource("6_i6nje") 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/basic_zombie_walk/Zombie/Butt/Body/Can" index="1"] z_index = -1 material = ExtResource("6_vn3j1") position = Vector2(-7.4999, -27.5002) texture = SubResource("AtlasTexture_5selg") [node name="CollisionShape2D" type="CollisionShape2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Can" index="2"] position = Vector2(-4.9999, -5.0002) shape = SubResource("CapsuleShape2D_4248q") [node name="Head" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="4"] scale = Vector2(0.999827, 0.999827) [node name="Head" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle" index="0"] texture = SubResource("AtlasTexture_pjhfy") [node name="Right_Eye" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="0"] position = Vector2(-16, -8) scale = Vector2(1, 1) [node name="Left_Eye" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="1"] position = Vector2(-4, -9) scale = Vector2(1, 1) [node name="Jaw" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="2"] position = Vector2(-3, 3) rotation = -0.0414244 scale = Vector2(0.999831, 0.999831) texture = SubResource("AtlasTexture_7cvmi") offset = Vector2(-14, -2) [node name="TrashcanLid" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="3" node_paths=PackedStringArray("data")] position = Vector2(-3, 3) scale = Vector2(0.999826, 0.999826) collision_layer = 128 collision_mask = 64 freeze = true script = ExtResource("3_tu6af") data = NodePath("../../../../../../../../..") [node name="Trashcan_lid" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head/TrashcanLid" index="0"] z_index = -1 material = ExtResource("6_vn3j1") position = Vector2(2.99822, -20.0166) scale = Vector2(1, 1) texture = SubResource("AtlasTexture_n380g") offset = Vector2(-0.5, -0.5) metadata/_edit_lock_ = true [node name="CollisionShape2D" type="CollisionShape2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head/TrashcanLid" index="1"] position = Vector2(2.99791, -20.018) shape = SubResource("CircleShape2D_vn3j1") [node name="Observer" type="Node" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head/TrashcanLid" index="2" node_paths=PackedStringArray("_observedArmor")] script = ExtResource("12_vn3j1") _threshold = 0.333 _observedArmor = NodePath("../../../../../../../../../../CanArmor") [node name="Jaw" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head" index="1"] scale = Vector2(0.999831, 0.999831) [node name="TrashcanLid" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head" index="4"] position = Vector2(-0.0022974, -17.0131) scale = Vector2(0.999828, 0.999828) rest = Transform2D(1, 0, 0, 1, -0.0022974, -17.0131) auto_calculate_length_and_angle = false length = 12.0 bone_angle = 180.0 editor_settings/show_bone_gizmo = false [node name="RemoteTransform2D" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/TrashcanLid" index="0"] remote_path = NodePath("../../HeadParticle/Head/TrashcanLid/Trashcan_lid") [node name="LeftUpperArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="5"] scale = Vector2(0.999823, 0.999823) [node name="Left_Upper_Arm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm" index="0"] texture = SubResource("AtlasTexture_tebih") [node name="Left_Lower_Arm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile" index="0"] rotation = 0.0229755 scale = Vector2(0.999996, 0.999996) texture = SubResource("AtlasTexture_auxav") [node name="Left_Hand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm" index="0"] position = Vector2(-0.99983, 12.9978) scale = Vector2(0.999652, 0.999652) texture = SubResource("AtlasTexture_dntsa") [node name="LeftLowerArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm" index="2"] scale = Vector2(0.999826, 0.999826) [node name="LeftHand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm" index="0"] scale = Vector2(0.999822, 0.999822) [node name="AnimationPlayer" parent="CanvasGroup/basic_zombie_walk" index="1"] libraries = { &"": SubResource("AnimationLibrary_x5uj2"), &"basic": ExtResource("7_vn3j1"), &"hobo": ExtResource("8_yb81c") } [node name="EatingStatistics" parent="CanvasGroup/basic_zombie_walk/AnimationPlayer" index="0"] animationName = "hobo/eating_without_arms" [node name="Eatbox" parent="." index="2"] _damage = SubResource("Resource_n380g") [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="5"] 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 = 550.0 metadata/_custom_type_script = "uid://fd4im1fmwc5n" [node name="FlashController" type="Node" parent="CanArmor" index="0"] script = ExtResource("19_8y6c0") shaderMaterial = ExtResource("6_vn3j1") [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" [node name="FlashController" parent="." index="12"] shaderMaterial = SubResource("ShaderMaterial_vn3j1") [connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head/TrashcanLid/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head/TrashcanLid" method="FallOff"] [connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head/TrashcanLid/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/TrashcanLid/RemoteTransform2D" method="queue_free"] [connection signal="ArmorLost" from="CanArmor" to="HitPlayer" method="Next"] [connection signal="ArmorLost" from="CanArmor" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Can" method="FallOff"] [connection signal="ArmorLost" from="CanArmor" to="Behaviour" method="Trashed"] [connection signal="Damaged" from="CanArmor" to="HitPlayer" method="Play"] [connection signal="Damaged" from="CanArmor" to="CanArmor/FlashController" method="DamageFlash"]