Inheritance cleared

This commit is contained in:
Rendo 2025-07-30 02:21:11 +05:00
commit 76ab2727de
18 changed files with 3396 additions and 763 deletions

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,186 +0,0 @@
[gd_scene load_steps=19 format=3 uid="uid://p5jhgg2r7e07"]
[ext_resource type="PackedScene" uid="uid://co11v3w8hbwgf" path="res://scenes/entities/Zombies/zombie.tscn" id="1_k7yv2"]
[ext_resource type="Shader" uid="uid://d0eo5uuj222c4" path="res://assets/shaders/CG_color_blender.gdshader" id="2_g7fge"]
[ext_resource type="Script" uid="uid://dildme6epx8l4" path="res://scripts/entities/zombies/RuntimeZombieData.cs" id="2_uhol2"]
[ext_resource type="Script" uid="uid://c3cfnrmnnuqms" path="res://addons/floatmodifiers/FloatModifiers.cs" id="3_uvlkc"]
[ext_resource type="Texture2D" uid="uid://b18blso5pbc6a" path="res://assets/sprites/zombies/armor.png" id="4_ed67f"]
[ext_resource type="Script" uid="uid://dt5uj25u0g6y3" path="res://scripts/particles/FallParticle.cs" id="4_woxi6"]
[ext_resource type="Script" uid="uid://fd4im1fmwc5n" path="res://scripts/entities/Armor.cs" id="5_ed67f"]
[ext_resource type="Script" uid="uid://bbw848msxb4re" path="res://scripts/entities/DegradingSprite.cs" id="6_woxi6"]
[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="7_tj3uj"]
[ext_resource type="Script" uid="uid://d3l8e8ko5r5i3" path="res://scripts/entities/ArmorHPObserver.cs" id="7_uhol2"]
[ext_resource type="AudioStream" uid="uid://bu1egfsyplpx4" path="res://assets/audio/sfx/metalhit_generic.tres" id="8_uhol2"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ed67f"]
size = Vector2(20, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_woxi6"]
atlas = ExtResource("4_ed67f")
region = Rect2(0, 71, 48, 88)
[sub_resource type="AtlasTexture" id="AtlasTexture_yhtii"]
atlas = ExtResource("4_ed67f")
region = Rect2(48, 71, 48, 88)
[sub_resource type="AtlasTexture" id="AtlasTexture_tj3uj"]
atlas = ExtResource("4_ed67f")
region = Rect2(96, 71, 47, 88)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_p0ieu"]
resource_local_to_scene = true
shader = ExtResource("2_g7fge")
shader_parameter/blend_color = Color(0.73, 0.73, 0.73, 1)
shader_parameter/amount = 0.0
[sub_resource type="Resource" id="Resource_ed67f"]
resource_local_to_scene = true
script = ExtResource("3_uvlkc")
flat_value = 5.0
percentage_value = 0.0
mult_value = 1.0
[sub_resource type="Resource" id="Resource_woxi6"]
resource_local_to_scene = true
script = ExtResource("3_uvlkc")
flat_value = 0.2
percentage_value = 0.0
mult_value = 1.0
[node name="DoorZombie" instance=ExtResource("1_k7yv2")]
[node name="Shield" type="Node2D" parent="." index="0" node_paths=PackedStringArray("_armor")]
position = Vector2(-29, 0)
script = ExtResource("2_uhol2")
_armor = NodePath("MainHP")
metadata/_custom_type_script = "uid://3tw88wj1nrj1"
[node name="Hitbox" type="Area2D" parent="Shield" index="0"]
collision_layer = 8
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Shield/Hitbox" index="0"]
position = Vector2(0, -25)
shape = SubResource("RectangleShape2D_ed67f")
[node name="MainHP" type="Node" parent="Shield" index="1"]
script = ExtResource("5_ed67f")
MaxHP = 375.0
metadata/_custom_type_script = "uid://fd4im1fmwc5n"
[node name="Particle" type="RigidBody2D" parent="Shield" index="2" node_paths=PackedStringArray("data")]
use_parent_material = true
position = Vector2(0, -43)
collision_layer = 128
collision_mask = 64
freeze = true
script = ExtResource("4_woxi6")
data = NodePath("..")
minTorque = 100.0
maxTorque = -100.0
[node name="Sprite2D" type="Sprite2D" parent="Shield/Particle" index="0" node_paths=PackedStringArray("armor")]
z_index = 1
use_parent_material = true
texture = SubResource("AtlasTexture_woxi6")
script = ExtResource("6_woxi6")
armor = NodePath("../../MainHP")
degradationStages = Array[Texture2D]([SubResource("AtlasTexture_woxi6"), SubResource("AtlasTexture_yhtii"), SubResource("AtlasTexture_tj3uj")])
thresholdPercentage = Array[float]([1.0, 0.667, 0.333])
[node name="CollisionShape2D" type="CollisionShape2D" parent="Shield/Particle" index="1"]
position = Vector2(0, 18)
shape = SubResource("RectangleShape2D_ed67f")
[node name="Observer" type="Node" parent="Shield/Particle" index="2" node_paths=PackedStringArray("_observedArmor")]
script = ExtResource("7_uhol2")
_threshold = 0.0
_observedArmor = NodePath("../../MainHP")
[node name="ChannelPlayer" type="Node" parent="Shield" index="3"]
script = ExtResource("7_tj3uj")
audioStream = ExtResource("8_uhol2")
channel = "metalhit"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="CanvasGroup" parent="." index="1"]
material = SubResource("ShaderMaterial_p0ieu")
[node name="RightUpperLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="1"]
scale = Vector2(0.99983, 0.99983)
[node name="RightLowerLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg" index="1"]
scale = Vector2(0.999832, 0.999832)
[node name="RightFoot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg" index="0"]
scale = Vector2(0.999831, 0.999831)
[node name="LeftUpperLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="2"]
scale = Vector2(0.999834, 0.999834)
[node name="LeftLowerLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg" index="1"]
scale = Vector2(0.999833, 0.999833)
[node name="LeftFoot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg" index="1"]
scale = Vector2(0.999829, 0.999829)
[node name="Body" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="3"]
scale = Vector2(0.999831, 0.999831)
[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.999828, 0.999828)
[node name="RightHand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm" index="0"]
scale = Vector2(0.99983, 0.99983)
[node name="Tie" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="2"]
rotation = 0.163815
skew = -0.000518203
[node name="Head" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="3"]
scale = Vector2(0.999829, 0.999829)
[node name="Right_Eye" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="0"]
position = Vector2(-16, -8)
[node name="Left_Eye" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="1"]
position = Vector2(-4, -9)
[node name="Jaw" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="2"]
position = Vector2(-3.00201, 2.99659)
rotation = 0.0158977
scale = Vector2(0.99983, 0.99983)
[node name="Jaw" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head" index="1"]
scale = Vector2(0.99983, 0.99983)
[node name="LeftUpperArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="4"]
scale = Vector2(0.999831, 0.999831)
[node name="Left_Lower_Arm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile" index="0"]
rotation = 0.154022
scale = Vector2(0.999998, 0.999998)
[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)
rotation = -0.0679757
scale = Vector2(0.999658, 0.999658)
[node name="LeftLowerArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm" index="2"]
scale = Vector2(0.999828, 0.999828)
[node name="LeftHand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm" index="0"]
scale = Vector2(0.999828, 0.999828)
[node name="Eatbox" parent="." index="3"]
_damage = SubResource("Resource_ed67f")
[node name="Mover" parent="." index="5"]
_speed = SubResource("Resource_woxi6")
_speedControlMult = 1.31004
[connection signal="OnDamaged" from="Shield" to="Shield/ChannelPlayer" method="Play"]
[connection signal="ThresholdReached" from="Shield/Particle/Observer" to="Shield/Particle" method="FallOff"]

View file

@ -1,14 +1,17 @@
[gd_scene load_steps=65 format=3 uid="uid://bgqmwsb6ynm81"]
[gd_scene load_steps=94 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="Resource" uid="uid://dsg1vjx76ifgu" path="res://assets/effects/RandomRedirectEffect.tres" id="3_b583s"]
[ext_resource type="Script" uid="uid://dildme6epx8l4" path="res://scripts/entities/zombies/RuntimeZombieData.cs" id="1_5h5we"]
[ext_resource type="Script" uid="uid://bcc7skl7ts6sh" path="res://scripts/systems/effects/Effect.cs" id="2_ssrsu"]
[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="Material" uid="uid://jr0vpg030jqv" path="res://assets/ZombieMaterial.tres" id="4_ssrsu"]
[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="Texture2D" uid="uid://dacgbwohpmeed" path="res://assets/sprites/zombies/basic.png" id="6_ihedj"]
[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"]
@ -19,16 +22,112 @@
[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://dau0tfmlfiqmo" path="res://scripts/entities/EntityHPObserver.cs" id="14_2awep"]
[ext_resource type="Script" uid="uid://dw7v3s4kbu7ma" path="res://scripts/entities/AnimationStatistics.cs" id="17_arnax"]
[ext_resource type="Script" uid="uid://dqyony6jxt2p0" path="res://scripts/entities/zombies/EatBox.cs" id="18_p6vn8"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="19_8y6c0"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="20_l220p"]
[ext_resource type="Script" uid="uid://7hdj2k14lfe4" path="res://scripts/entities/zombies/ZombieMover.cs" id="21_vuumd"]
[ext_resource type="Script" uid="uid://cnn0ymuhypdff" path="res://scripts/audio/ChannelPlaylist.cs" id="22_uxp8e"]
[ext_resource type="Shader" uid="uid://btf4xhu31ln6n" path="res://assets/shaders/canvas_group_flash.gdshader" id="23_nc6p3"]
[ext_resource type="AudioStream" uid="uid://bg76miyscfvhu" path="res://assets/audio/sfx/groan.tres" id="26_i0ku7"]
[ext_resource type="Script" uid="uid://b8r6fxsfjdo3a" path="res://scripts/audio/EffectBasedPlayer.cs" id="30_pilme"]
[ext_resource type="Resource" uid="uid://7uj0oe656jfx" path="res://assets/effects/SnowSlow.tres" id="31_y40pw"]
[ext_resource type="AudioStream" uid="uid://dt13iugnnx4op" path="res://assets/audio/sfx/yuck_generic.tres" id="32_xr8w3"]
[ext_resource type="AudioStream" uid="uid://bjotp63arocci" path="res://assets/audio/sfx/frozen.mp3" id="33_6wb5p"]
[ext_resource type="Script" uid="uid://c1x4n4nqyq72f" path="res://scripts/audio/ChannelSettings.cs" id="34_1p6mb"]
[ext_resource type="Script" uid="uid://dk32ln8c2574d" path="res://scripts/entities/zombies/ZombieKillHandler.cs" id="35_jg5ia"]
[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="SkeletonModification2DCCDIK" id="SkeletonModification2DCCDIK_wn68q"]
tip_nodepath = NodePath("Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand")
ccdik_data_chain_length = 2
joint_data/0/bone_index = 17
joint_data/0/bone2d_node = NodePath("Butt/Body/LeftUpperArm/LeftLowerArm")
joint_data/0/rotate_from_joint = false
joint_data/0/enable_constraint = true
joint_data/0/constraint_angle_min = 0.0
joint_data/0/constraint_angle_max = 90.0
joint_data/0/constraint_angle_invert = false
joint_data/0/constraint_in_localspace = true
joint_data/0/editor_draw_gizmo = true
joint_data/1/bone_index = 16
joint_data/1/bone2d_node = NodePath("Butt/Body/LeftUpperArm")
joint_data/1/rotate_from_joint = false
joint_data/1/enable_constraint = false
joint_data/1/editor_draw_gizmo = true
editor/draw_gizmo = false
[sub_resource type="SkeletonModification2DCCDIK" id="SkeletonModification2DCCDIK_x5uj2"]
tip_nodepath = NodePath("Butt/Body/RightUpperArm/RightLowerArm/RightHand")
ccdik_data_chain_length = 2
joint_data/0/bone_index = 8
joint_data/0/bone2d_node = NodePath("Butt/Body/RightUpperArm")
joint_data/0/rotate_from_joint = false
joint_data/0/enable_constraint = false
joint_data/0/editor_draw_gizmo = true
joint_data/1/bone_index = 9
joint_data/1/bone2d_node = NodePath("Butt/Body/RightUpperArm/RightLowerArm")
joint_data/1/rotate_from_joint = false
joint_data/1/enable_constraint = true
joint_data/1/constraint_angle_min = 0.0
joint_data/1/constraint_angle_max = 90.0
joint_data/1/constraint_angle_invert = false
joint_data/1/constraint_in_localspace = true
joint_data/1/editor_draw_gizmo = true
editor/draw_gizmo = false
[sub_resource type="SkeletonModification2DCCDIK" id="SkeletonModification2DCCDIK_vcc72"]
tip_nodepath = NodePath("Butt/RightUpperLeg/RightLowerLeg/RightFoot")
ccdik_data_chain_length = 2
joint_data/0/bone_index = 1
joint_data/0/bone2d_node = NodePath("Butt/RightUpperLeg")
joint_data/0/rotate_from_joint = false
joint_data/0/enable_constraint = true
joint_data/0/constraint_angle_min = -90.0
joint_data/0/constraint_angle_max = 90.0
joint_data/0/constraint_angle_invert = true
joint_data/0/constraint_in_localspace = true
joint_data/0/editor_draw_gizmo = true
joint_data/1/bone_index = 2
joint_data/1/bone2d_node = NodePath("Butt/RightUpperLeg/RightLowerLeg")
joint_data/1/rotate_from_joint = false
joint_data/1/enable_constraint = true
joint_data/1/constraint_angle_min = 0.0
joint_data/1/constraint_angle_max = 160.0
joint_data/1/constraint_angle_invert = false
joint_data/1/constraint_in_localspace = true
joint_data/1/editor_draw_gizmo = true
editor/draw_gizmo = false
[sub_resource type="SkeletonModification2DCCDIK" id="SkeletonModification2DCCDIK_kto0i"]
tip_nodepath = NodePath("Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot")
ccdik_data_chain_length = 2
joint_data/0/bone_index = 4
joint_data/0/bone2d_node = NodePath("Butt/LeftUpperLeg")
joint_data/0/rotate_from_joint = false
joint_data/0/enable_constraint = true
joint_data/0/constraint_angle_min = -90.0
joint_data/0/constraint_angle_max = 90.0
joint_data/0/constraint_angle_invert = true
joint_data/0/constraint_in_localspace = true
joint_data/0/editor_draw_gizmo = true
joint_data/1/bone_index = 5
joint_data/1/bone2d_node = NodePath("Butt/LeftUpperLeg/LeftLowerLeg")
joint_data/1/rotate_from_joint = false
joint_data/1/enable_constraint = true
joint_data/1/constraint_angle_min = -90.0
joint_data/1/constraint_angle_max = 0.0
joint_data/1/constraint_angle_invert = true
joint_data/1/constraint_in_localspace = true
joint_data/1/editor_draw_gizmo = true
editor/draw_gizmo = false
[sub_resource type="SkeletonModificationStack2D" id="SkeletonModificationStack2D_wn68q"]
modification_count = 4
modifications/0 = SubResource("SkeletonModification2DCCDIK_wn68q")
modifications/1 = SubResource("SkeletonModification2DCCDIK_x5uj2")
modifications/2 = SubResource("SkeletonModification2DCCDIK_vcc72")
modifications/3 = SubResource("SkeletonModification2DCCDIK_kto0i")
[sub_resource type="AtlasTexture" id="AtlasTexture_txjqc"]
atlas = ExtResource("5_b583s")
@ -74,6 +173,10 @@ region = Rect2(91, 32, 9, 15)
atlas = ExtResource("5_b583s")
region = Rect2(137, 19, 29, 39)
[sub_resource type="AtlasTexture" id="AtlasTexture_e7wc3"]
atlas = ExtResource("6_ihedj")
region = Rect2(72, 2, 13, 26)
[sub_resource type="AtlasTexture" id="AtlasTexture_5selg"]
atlas = ExtResource("5_b583s")
region = Rect2(0, 29, 35, 11)
@ -86,6 +189,14 @@ height = 48.0
atlas = ExtResource("5_b583s")
region = Rect2(80, 0, 32, 30)
[sub_resource type="AtlasTexture" id="AtlasTexture_vcc72"]
atlas = ExtResource("6_ihedj")
region = Rect2(93, 3, 2, 3)
[sub_resource type="AtlasTexture" id="AtlasTexture_kto0i"]
atlas = ExtResource("6_ihedj")
region = Rect2(105, 2, 3, 4)
[sub_resource type="AtlasTexture" id="AtlasTexture_7cvmi"]
atlas = ExtResource("5_b583s")
region = Rect2(38, 22, 22, 13)
@ -96,6 +207,8 @@ region = Rect2(34, 38, 45, 27)
[sub_resource type="CircleShape2D" id="CircleShape2D_vn3j1"]
[sub_resource type="CircleShape2D" id="CircleShape2D_dn8ha"]
[sub_resource type="AtlasTexture" id="AtlasTexture_tebih"]
atlas = ExtResource("5_b583s")
region = Rect2(34, 0, 6, 19)
@ -108,6 +221,10 @@ region = Rect2(43, 0, 9, 15)
atlas = ExtResource("5_b583s")
region = Rect2(55, 0, 9, 10)
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_ccrjo"]
radius = 3.00026
height = 16.007
[sub_resource type="Animation" id="Animation_vn3j1"]
resource_name = "RESET"
tracks/0/type = "value"
@ -656,6 +773,9 @@ _data = {
&"RESET": SubResource("Animation_vn3j1")
}
[sub_resource type="RectangleShape2D" id="RectangleShape2D_hxyad"]
size = Vector2(26, 48)
[sub_resource type="Resource" id="Resource_n380g"]
resource_local_to_scene = true
script = ExtResource("4_c1y3b")
@ -663,6 +783,9 @@ flat_value = 5.0
percentage_value = 0.0
mult_value = 1.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_r4ug6"]
size = Vector2(16, 48)
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_2q05d"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vn3j1"]
@ -757,85 +880,207 @@ flat_value = 0.4
percentage_value = 0.0
mult_value = 1.0
[node name="Hobo" node_paths=PackedStringArray("_armor") instance=ExtResource("1_fnu7s")]
[sub_resource type="Resource" id="Resource_dn8ha"]
script = ExtResource("34_1p6mb")
restartTreshold = -1.0
metadata/_custom_type_script = "uid://c1x4n4nqyq72f"
[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
[node name="Hobo" type="Node2D" node_paths=PackedStringArray("_armor", "_player", "_tree")]
y_sort_enabled = true
script = ExtResource("1_5h5we")
_armor = NodePath("CanArmor")
MaxHP = 185.0
_effectImmunities = [ExtResource("3_b583s")]
_player = NodePath("CanvasGroup/basic_zombie_walk/AnimationPlayer")
_tree = NodePath("AnimationTree")
_effectImmunities = Array[ExtResource("2_ssrsu")]([ExtResource("3_b583s")])
metadata/_edit_vertical_guides_ = [-159.0]
[node name="CanvasGroup" parent="." index="0"]
material = SubResource("ShaderMaterial_vn3j1")
[node name="CanvasGroup" type="CanvasGroup" parent="."]
material = ExtResource("4_ssrsu")
[node name="Butt" parent="CanvasGroup/basic_zombie_walk/Zombie" index="0"]
[node name="basic_zombie_walk" type="Node2D" parent="CanvasGroup"]
[node name="Zombie" type="Skeleton2D" parent="CanvasGroup/basic_zombie_walk"]
use_parent_material = true
modification_stack = SubResource("SkeletonModificationStack2D_wn68q")
[node name="Butt" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie"]
use_parent_material = true
position = Vector2(5, -35)
scale = Vector2(0.999902, 0.999902)
rest = Transform2D(1, 0, 0, 1, 5, -35)
editor_settings/show_bone_gizmo = false
[node name="Butt" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="0"]
[node name="Butt" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"]
use_parent_material = true
texture = SubResource("AtlasTexture_txjqc")
centered = false
offset = Vector2(-10, -3)
metadata/_edit_lock_ = true
[node name="RightUpperLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="1"]
scale = Vector2(0.999831, 0.999831)
[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.999832, 0.999832)
[node name="RightFoot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg" index="0"]
scale = Vector2(0.999835, 0.999835)
[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.99983, 0.99983)
[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.999814, 0.999814)
[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.999824, 0.999824)
[node name="RightUpperArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="0"]
[node name="RightUpperLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"]
use_parent_material = true
position = Vector2(-6, 3)
scale = Vector2(0.999827, 0.999827)
rest = Transform2D(1, 0, 0, 1, -6, 3)
editor_settings/show_bone_gizmo = false
[node name="Right_Upper_Arm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm" index="0"]
[node name="Right_Upper_Leg" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg"]
texture = SubResource("AtlasTexture_b583s")
centered = false
offset = Vector2(-6, -2)
metadata/_edit_lock_ = true
[node name="RightLowerLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg"]
position = Vector2(-2, 12)
scale = Vector2(0.99983, 0.99983)
rest = Transform2D(1, 0, 0, 1, -2, 12)
editor_settings/show_bone_gizmo = false
[node name="RightFoot" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg"]
position = Vector2(-2, 14)
scale = Vector2(0.99983, 0.99983)
rest = Transform2D(1, 0, 0, 1, -2, 14)
auto_calculate_length_and_angle = false
length = 12.0
bone_angle = 0.0
editor_settings/show_bone_gizmo = false
[node name="Right_Foot" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg/RightFoot"]
texture = SubResource("AtlasTexture_uoit3")
centered = false
offset = Vector2(-4, -3)
metadata/_edit_lock_ = true
[node name="Right_Lower_Leg" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg"]
position = Vector2(-18, -2)
texture = SubResource("AtlasTexture_vn3j1")
centered = false
offset = Vector2(12, 1)
metadata/_edit_lock_ = true
[node name="LeftUpperLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"]
use_parent_material = true
position = Vector2(6, 4)
scale = Vector2(0.99983, 0.99983)
rest = Transform2D(1, 0, 0, 1, 6, 4)
editor_settings/show_bone_gizmo = false
[node name="Left_Upper_Leg" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg"]
texture = SubResource("AtlasTexture_yb81c")
centered = false
offset = Vector2(-4, -2)
metadata/_edit_lock_ = true
[node name="LeftLowerLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg"]
position = Vector2(-1, 13)
scale = Vector2(0.99983, 0.99983)
rest = Transform2D(1, 0, 0, 1, -1, 13)
editor_settings/show_bone_gizmo = false
[node name="Left_Lower_Leg" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg"]
texture = SubResource("AtlasTexture_nlwsb")
centered = false
offset = Vector2(-1, 0)
metadata/_edit_lock_ = true
[node name="LeftFoot" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg"]
position = Vector2(6, 10)
scale = Vector2(0.999818, 0.999818)
rest = Transform2D(1, 0, 0, 1, 6, 10)
auto_calculate_length_and_angle = false
length = 12.0
bone_angle = 160.0
editor_settings/show_bone_gizmo = false
[node name="Left_Foot" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot"]
texture = SubResource("AtlasTexture_8y6c0")
centered = false
offset = Vector2(-14, -3)
metadata/_edit_lock_ = true
[node name="Body" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"]
use_parent_material = true
position = Vector2(1, -2)
scale = Vector2(0.999827, 0.999827)
rest = Transform2D(1, 0, 0, 1, 1, -2)
editor_settings/show_bone_gizmo = false
[node name="RightUpperArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"]
z_index = -1
use_parent_material = true
position = Vector2(-14, -23)
scale = Vector2(0.999828, 0.999828)
rest = Transform2D(1, 0, 0, 1, -14, -23)
editor_settings/show_bone_gizmo = false
[node name="Right_Upper_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm"]
texture = SubResource("AtlasTexture_nc6p3")
centered = false
offset = Vector2(-4, -2)
metadata/_edit_lock_ = true
[node name="RightLowerArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm" index="1"]
scale = Vector2(0.999815, 0.999815)
[node name="RightLowerArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm"]
position = Vector2(-2, 15)
scale = Vector2(0.999816, 0.999816)
rest = Transform2D(1, 0, 0, 1, -2, 15)
editor_settings/show_bone_gizmo = false
[node name="Right_Hand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm/RightHand" index="0"]
[node name="RightHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm"]
position = Vector2(-1, 13)
scale = Vector2(0.999828, 0.999828)
rest = Transform2D(1, 0, 0, 1, -1, 13)
auto_calculate_length_and_angle = false
length = 8.0
bone_angle = 90.0
editor_settings/show_bone_gizmo = false
[node name="Right_Hand" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm/RightHand"]
texture = SubResource("AtlasTexture_y0p2l")
centered = false
offset = Vector2(-4, -2)
metadata/_edit_lock_ = true
[node name="Right_Lower_Arm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm" index="1"]
[node name="Right_Lower_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm"]
texture = SubResource("AtlasTexture_op0h6")
centered = false
offset = Vector2(-5, -1)
metadata/_edit_lock_ = true
[node name="Body" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="1"]
[node name="Body" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"]
rotation = 0.00163735
texture = SubResource("AtlasTexture_0s5wm")
centered = false
offset = Vector2(-15, -27)
metadata/_edit_lock_ = true
[node name="Tie" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="2"]
rotation = 0.0332545
[node name="Tie" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"]
position = Vector2(-9, -21)
rotation = 0.0486026
scale = Vector2(1e-05, 1e-05)
skew = -0.000476122
rest = Transform2D(1, 0, 0, 1, -9, -21)
auto_calculate_length_and_angle = false
length = 24.0
bone_angle = 100.0
editor_settings/show_bone_gizmo = false
[node name="Tie" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Tie" index="0"]
[node name="Tie" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Tie"]
visible = false
texture = SubResource("AtlasTexture_e7wc3")
centered = false
offset = Vector2(-10, -1)
metadata/_edit_lock_ = true
[node name="Can" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="3" node_paths=PackedStringArray("data")]
[node name="Can" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" node_paths=PackedStringArray("data")]
scale = Vector2(1.00027, 1.00027)
collision_layer = 128
collision_mask = 64
@ -847,7 +1092,7 @@ 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")]
[node name="Sprite2D" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Can" node_paths=PackedStringArray("armor")]
material = ExtResource("6_vn3j1")
position = Vector2(-5.9999, -4.5002)
texture = ExtResource("6_i6nje")
@ -856,33 +1101,65 @@ 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"]
[node name="Sprite2D2" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Can"]
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"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Can"]
position = Vector2(-4.9999, -5.0002)
shape = SubResource("CapsuleShape2D_4248q")
[node name="Head" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle" index="0"]
[node name="Head" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"]
position = Vector2(-10, -25)
scale = Vector2(0.999829, 0.999829)
rest = Transform2D(1, 0, 0, 1, -10, -25)
editor_settings/show_bone_gizmo = false
[node name="HeadParticle" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head" 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="Head" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle"]
texture = SubResource("AtlasTexture_pjhfy")
centered = false
offset = Vector2(-20, -24)
metadata/_edit_lock_ = true
[node name="Right_Eye" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="0"]
position = Vector2(-16, -8.00001)
[node name="Right_Eye" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"]
position = Vector2(-16, -8)
scale = Vector2(1, 1)
texture = SubResource("AtlasTexture_vcc72")
centered = false
offset = Vector2(-2, -2)
metadata/_edit_lock_ = true
[node name="Left_Eye" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="1"]
[node name="Left_Eye" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"]
position = Vector2(-4, -9)
scale = Vector2(1, 1)
texture = SubResource("AtlasTexture_kto0i")
centered = false
offset = Vector2(-2, -2)
metadata/_edit_lock_ = true
[node name="Jaw" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="2"]
[node name="Jaw" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"]
position = Vector2(-3, 3)
rotation = -0.0540862
scale = Vector2(0.999834, 0.999834)
rotation = -0.0790489
scale = Vector2(0.999826, 0.999826)
texture = SubResource("AtlasTexture_7cvmi")
centered = false
offset = Vector2(-14, -2)
metadata/_edit_lock_ = true
[node name="TrashcanLid" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="3" node_paths=PackedStringArray("data")]
[node name="TrashcanLid" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" node_paths=PackedStringArray("data")]
position = Vector2(-3, 3)
scale = Vector2(0.999826, 0.999826)
collision_layer = 128
@ -891,7 +1168,7 @@ 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"]
[node name="Trashcan_lid" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head/TrashcanLid"]
z_index = -1
material = ExtResource("6_vn3j1")
position = Vector2(2.99822, -20.0166)
@ -900,19 +1177,59 @@ 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"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head/TrashcanLid"]
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")]
[node name="Observer" type="Node" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head/TrashcanLid" 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.999834, 0.999834)
[node name="CollisionShape2D" type="CollisionShape2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle"]
position = Vector2(-4.58496, -8.21035)
shape = SubResource("CircleShape2D_dn8ha")
[node name="TrashcanLid" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head" index="4"]
[node name="Observer" type="Node" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle" node_paths=PackedStringArray("_observedEntity")]
script = ExtResource("14_2awep")
_threshold = 0.0
_observedEntity = NodePath("../../../../../../../..")
[node name="Jaw" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"]
position = Vector2(-3, 3)
scale = Vector2(0.999826, 0.999826)
rest = Transform2D(1, 0, 0, 1, -3, 3)
auto_calculate_length_and_angle = false
length = 11.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/Jaw"]
remote_path = NodePath("../../HeadParticle/Head/Jaw")
[node name="RightEye" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"]
position = Vector2(-16, -8)
rest = Transform2D(1, 0, 0, 1, -16, -8)
auto_calculate_length_and_angle = false
length = 2.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/RightEye"]
remote_path = NodePath("../../HeadParticle/Head/Right_Eye")
[node name="LeftEye" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"]
position = Vector2(-4, -9)
rest = Transform2D(1, 0, 0, 1, -4, -9)
auto_calculate_length_and_angle = false
length = 2.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/LeftEye"]
remote_path = NodePath("../../HeadParticle/Head/Left_Eye")
[node name="TrashcanLid" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"]
position = Vector2(-0.0022974, -17.0131)
scale = Vector2(0.999828, 0.999828)
rest = Transform2D(1, 0, 0, 1, -0.0022974, -17.0131)
@ -921,84 +1238,195 @@ 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"]
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/TrashcanLid"]
remote_path = NodePath("../../HeadParticle/Head/TrashcanLid/Trashcan_lid")
[node name="LeftUpperArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="5"]
scale = Vector2(0.999825, 0.999825)
[node name="LeftUpperArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"]
position = Vector2(-1, -20)
scale = Vector2(0.999827, 0.999827)
rest = Transform2D(1, 0, 0, 1, -1, -20)
editor_settings/show_bone_gizmo = false
[node name="Left_Upper_Arm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm" index="0"]
[node name="Left_Upper_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm"]
position = Vector2(-37, 10)
texture = SubResource("AtlasTexture_tebih")
centered = false
offset = Vector2(33, -12)
metadata/_edit_lock_ = true
[node name="Left_Lower_Arm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile" index="0"]
rotation = 0.0299982
scale = Vector2(0.999995, 0.999995)
[node name="HandProjectile" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm" node_paths=PackedStringArray("data")]
position = Vector2(-2, 14)
collision_layer = 128
collision_mask = 64
freeze = true
script = ExtResource("3_tu6af")
data = NodePath("../../../../../../..")
minTorque = -45.0
maxTorque = 45.0
[node name="Left_Lower_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile"]
rotation = 0.0438435
scale = Vector2(0.999994, 0.999994)
texture = SubResource("AtlasTexture_auxav")
centered = false
offset = Vector2(-5, 0)
metadata/_edit_lock_ = true
[node name="Left_Hand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm" index="0"]
[node name="Left_Hand" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm"]
show_behind_parent = true
position = Vector2(-0.99983, 12.9978)
rotation = 0.0
scale = Vector2(0.999652, 0.999652)
texture = SubResource("AtlasTexture_dntsa")
centered = false
offset = Vector2(-4, -1)
metadata/_edit_lock_ = true
[node name="LeftLowerArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm" index="2"]
scale = Vector2(0.999825, 0.999825)
[node name="CollisionShape2D" type="CollisionShape2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile"]
position = Vector2(-0.00104554, 13.0063)
shape = SubResource("CapsuleShape2D_ccrjo")
[node name="LeftHand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm" index="0"]
[node name="Observer" type="Node" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile" node_paths=PackedStringArray("_observedEntity")]
script = ExtResource("14_2awep")
_observedEntity = NodePath("../../../../../../../..")
[node name="LeftLowerArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm"]
position = Vector2(-2, 14)
scale = Vector2(0.999824, 0.999824)
rest = Transform2D(1, 0, 0, 1, -2, 14)
editor_settings/show_bone_gizmo = false
[node name="LeftHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm"]
position = Vector2(-1, 13)
scale = Vector2(0.999822, 0.999822)
rest = Transform2D(1, 0, 0, 1, -1, 13)
auto_calculate_length_and_angle = false
length = 6.0
bone_angle = 90.0
editor_settings/show_bone_gizmo = false
[node name="AnimationPlayer" parent="CanvasGroup/basic_zombie_walk" index="1"]
[node name="Left_Hand_Remote" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand"]
remote_path = NodePath("../../../HandProjectile/Left_Lower_Arm/Left_Hand")
[node name="Left_Lower_Arm_Remote" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm"]
scale = Vector2(1.00017, 1.00017)
remote_path = NodePath("../../HandProjectile/Left_Lower_Arm")
[node name="AnimationPlayer" type="AnimationPlayer" parent="CanvasGroup/basic_zombie_walk"]
libraries = {
&"": SubResource("AnimationLibrary_x5uj2"),
&"basic": ExtResource("7_vn3j1"),
&"hobo": ExtResource("8_yb81c")
}
[node name="EatingStatistics" parent="CanvasGroup/basic_zombie_walk/AnimationPlayer" index="0"]
[node name="EatingStatistics" type="Node" parent="CanvasGroup/basic_zombie_walk/AnimationPlayer"]
script = ExtResource("17_arnax")
animationName = "hobo/eating_without_arms"
trackToFind = "../../Eatbox"
[node name="Eatbox" parent="." index="2"]
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 8
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(4, -24)
shape = SubResource("RectangleShape2D_hxyad")
[node name="Eatbox" type="Area2D" parent="."]
collision_layer = 0
collision_mask = 2
script = ExtResource("18_p6vn8")
_damage = SubResource("Resource_n380g")
[node name="AnimationTree" parent="." index="3"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Eatbox"]
position = Vector2(-10, -24)
shape = SubResource("RectangleShape2D_r4ug6")
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
root_node = NodePath("../CanvasGroup/basic_zombie_walk")
tree_root = SubResource("AnimationNodeBlendTree_txjqc")
advance_expression_base_node = NodePath("../Behaviour")
anim_player = NodePath("../CanvasGroup/basic_zombie_walk/AnimationPlayer")
parameters/TimeScale/scale = 1.0
script = ExtResource("20_l220p")
entity = NodePath("..")
[node name="Mover" parent="." index="4"]
[node name="Mover" type="Node" parent="."]
script = ExtResource("21_vuumd")
_speed = SubResource("Resource_4248q")
_speedControlMult = 0.0
[node name="HitPlayer" parent="." index="5"]
[node name="HitPlayer" type="Node" parent="."]
script = ExtResource("22_uxp8e")
playlist = Array[AudioStream]([ExtResource("8_4248q"), ExtResource("9_tu6af")])
channels = Array[String](["metal_hit", "hit"])
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="CanArmor" type="Node" parent="." index="7"]
[node name="GroanPlayer" type="Node" parent="."]
script = ExtResource("11_7jlle")
audioStream = ExtResource("26_i0ku7")
channel = "groan"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="Timer" type="Timer" parent="GroanPlayer"]
wait_time = 20.0
[node name="StartTimer" type="Timer" parent="GroanPlayer/Timer"]
wait_time = 5.0
one_shot = true
autostart = true
[node name="CanArmor" type="Node" parent="."]
script = ExtResource("4_w8pya")
MaxHP = 550.0
metadata/_custom_type_script = "uid://fd4im1fmwc5n"
[node name="FlashController" type="Node" parent="CanArmor" index="0"]
[node name="FlashController" type="Node" parent="CanArmor"]
script = ExtResource("19_8y6c0")
shaderMaterial = ExtResource("6_vn3j1")
[node name="Behaviour" type="Node" parent="." index="8" node_paths=PackedStringArray("_eatBox", "_animationTree")]
[node name="Behaviour" type="Node" parent="." node_paths=PackedStringArray("_eatBox", "_animationTree")]
script = ExtResource("4_5selg")
_eatBox = NodePath("../Eatbox")
_animationTree = NodePath("../AnimationTree")
[node name="RipPlayer" type="Node" parent="." index="11"]
[node name="EffectPlayer" type="Node" parent="."]
script = ExtResource("30_pilme")
effectsToMap = Array[Resource]([ExtResource("3_b583s"), ExtResource("31_y40pw")])
streamsToMapTo = Array[AudioStream]([ExtResource("32_xr8w3"), ExtResource("33_6wb5p")])
streamSettings = Array[Object]([null, SubResource("Resource_dn8ha")])
[node name="DeathHandler" type="Node" parent="." node_paths=PackedStringArray("_tree", "_collider")]
script = ExtResource("35_jg5ia")
_tree = NodePath("../AnimationTree")
_collider = NodePath("../Hitbox/CollisionShape2D")
[node name="RipPlayer" type="Node" parent="."]
script = ExtResource("11_7jlle")
audioStream = ExtResource("12_w1b1s")
channel = "anger"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="FlashController" parent="." index="12"]
[node name="FlashController" type="Node" parent="."]
script = ExtResource("19_8y6c0")
shaderMaterial = SubResource("ShaderMaterial_vn3j1")
[connection signal="HasBeenKilled" from="." to="DeathHandler" method="OnKilled"]
[connection signal="OnDamaged" from="." to="HitPlayer" method="Play"]
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]
[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="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle" method="FallOff"]
[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/Jaw/RemoteTransform2D" method="queue_free"]
[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/RightEye/RemoteTransform2D" method="queue_free"]
[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/LeftEye/RemoteTransform2D" method="queue_free"]
[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile" method="FallOff"]
[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand/Left_Hand_Remote" method="queue_free"]
[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/Left_Lower_Arm_Remote" method="queue_free"]
[connection signal="area_entered" from="Eatbox" to="Eatbox" method="OnAreaEntered"]
[connection signal="area_exited" from="Eatbox" to="Eatbox" method="OnAreaExited"]
[connection signal="timeout" from="GroanPlayer/Timer" to="GroanPlayer" method="Play"]
[connection signal="timeout" from="GroanPlayer/Timer/StartTimer" to="GroanPlayer/Timer" method="start"]
[connection signal="ArmorLost" from="CanArmor" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Can" method="FallOff"]
[connection signal="ArmorLost" from="CanArmor" to="HitPlayer" method="Next"]
[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"]

View file

@ -20,7 +20,7 @@
[ext_resource type="Script" uid="uid://cnn0ymuhypdff" path="res://scripts/audio/ChannelPlaylist.cs" id="12_he8da"]
[ext_resource type="AudioStream" uid="uid://w0qfwds4o3ti" path="res://assets/audio/sfx/hit_generic.tres" id="12_vjrlo"]
[ext_resource type="Script" uid="uid://b8r6fxsfjdo3a" path="res://scripts/audio/EffectBasedPlayer.cs" id="17_ltj46"]
[ext_resource type="Resource" uid="uid://dsg1vjx76ifgu" path="res://assets/effects/RandomRedirectEffect.tres" id="18_2q05d"]
[ext_resource type="Resource" uid="uid://dsg1vjx76ifgu" path="res://assets/effects/GarlicEffect.tres" id="18_2q05d"]
[ext_resource type="Resource" uid="uid://7uj0oe656jfx" path="res://assets/effects/SnowSlow.tres" id="19_ccrjo"]
[ext_resource type="Script" uid="uid://c1x4n4nqyq72f" path="res://scripts/audio/ChannelSettings.cs" id="21_xnora"]
[ext_resource type="Script" uid="uid://dk32ln8c2574d" path="res://scripts/entities/zombies/ZombieKillHandler.cs" id="23_mc1kl"]
@ -815,7 +815,7 @@ metadata/_edit_lock_ = true
[node name="RightUpperLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"]
use_parent_material = true
position = Vector2(-6, 3)
scale = Vector2(0.999834, 0.999834)
scale = Vector2(0.999835, 0.999835)
rest = Transform2D(1, 0, 0, 1, -6, 3)
editor_settings/show_bone_gizmo = false
@ -833,7 +833,7 @@ editor_settings/show_bone_gizmo = false
[node name="RightFoot" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg"]
position = Vector2(-2, 14)
scale = Vector2(0.999833, 0.999833)
scale = Vector2(0.999834, 0.999834)
rest = Transform2D(1, 0, 0, 1, -2, 14)
auto_calculate_length_and_angle = false
length = 12.0
@ -868,7 +868,7 @@ metadata/_edit_lock_ = true
[node name="LeftLowerLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg"]
position = Vector2(-1, 13)
scale = Vector2(0.999834, 0.999834)
scale = Vector2(0.999836, 0.999836)
rest = Transform2D(1, 0, 0, 1, -1, 13)
editor_settings/show_bone_gizmo = false
@ -880,7 +880,7 @@ metadata/_edit_lock_ = true
[node name="LeftFoot" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg"]
position = Vector2(6, 10)
scale = Vector2(0.999831, 0.999831)
scale = Vector2(0.999829, 0.999829)
rest = Transform2D(1, 0, 0, 1, 6, 10)
auto_calculate_length_and_angle = false
length = 12.0
@ -904,7 +904,7 @@ editor_settings/show_bone_gizmo = false
z_index = -1
use_parent_material = true
position = Vector2(-14, -23)
scale = Vector2(0.999828, 0.999828)
scale = Vector2(0.999827, 0.999827)
rest = Transform2D(1, 0, 0, 1, -14, -23)
editor_settings/show_bone_gizmo = false
@ -916,13 +916,13 @@ metadata/_edit_lock_ = true
[node name="RightLowerArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm"]
position = Vector2(-2, 15)
scale = Vector2(0.999829, 0.999829)
scale = Vector2(0.99983, 0.99983)
rest = Transform2D(1, 0, 0, 1, -2, 15)
editor_settings/show_bone_gizmo = false
[node name="RightHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm"]
position = Vector2(-1, 13)
scale = Vector2(0.999828, 0.999828)
scale = Vector2(0.999829, 0.999829)
rest = Transform2D(1, 0, 0, 1, -1, 13)
auto_calculate_length_and_angle = false
length = 8.0
@ -950,8 +950,8 @@ metadata/_edit_lock_ = true
[node name="Tie" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"]
position = Vector2(-9, -21)
rotation = 0.0871529
skew = -0.000476122
rotation = 0.143865
skew = -0.000476241
rest = Transform2D(1, 0, 0, 1, -9, -21)
auto_calculate_length_and_angle = false
length = 24.0
@ -1004,9 +1004,9 @@ offset = Vector2(-2, -2)
metadata/_edit_lock_ = true
[node name="Jaw" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"]
position = Vector2(-3.00107, 2.99818)
rotation = 0.00845789
scale = Vector2(0.999829, 0.999829)
position = Vector2(-2.95686, 2.88837)
rotation = 0.0182787
scale = Vector2(0.999831, 0.999831)
texture = SubResource("AtlasTexture_x5uj2")
centered = false
offset = Vector2(-12, -2)
@ -1023,7 +1023,7 @@ _observedEntity = NodePath("../../../../../../../..")
[node name="Jaw" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"]
position = Vector2(-3, 3)
scale = Vector2(0.99983, 0.99983)
scale = Vector2(0.999831, 0.999831)
rest = Transform2D(1, 0, 0, 1, -3, 3)
auto_calculate_length_and_angle = false
length = 11.0
@ -1079,7 +1079,7 @@ minTorque = -45.0
maxTorque = 45.0
[node name="Left_Lower_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile"]
rotation = 0.0819429
rotation = 0.154659
scale = Vector2(0.999998, 0.999998)
texture = SubResource("AtlasTexture_auqeq")
centered = false
@ -1088,9 +1088,9 @@ metadata/_edit_lock_ = true
[node name="Left_Hand" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm"]
show_behind_parent = true
position = Vector2(-0.99983, 12.9978)
rotation = -0.0361645
scale = Vector2(0.999656, 0.999656)
position = Vector2(-0.999829, 12.9978)
rotation = -0.0781564
scale = Vector2(0.999658, 0.999658)
texture = SubResource("AtlasTexture_vlvtp")
centered = false
offset = Vector2(-4, -1)
@ -1112,7 +1112,7 @@ editor_settings/show_bone_gizmo = false
[node name="LeftHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm"]
position = Vector2(-1, 13)
scale = Vector2(0.999826, 0.999826)
scale = Vector2(0.999827, 0.999827)
rest = Transform2D(1, 0, 0, 1, -1, 13)
auto_calculate_length_and_angle = false
length = 6.0
@ -1167,7 +1167,7 @@ entity = NodePath("..")
[node name="Mover" type="Node" parent="."]
script = ExtResource("4_u5syx")
_speed = SubResource("Resource_ckb7n")
_speedControlMult = 0.271112
_speedControlMult = 1.64254
[node name="HitPlayer" type="Node" parent="."]
script = ExtResource("12_he8da")

View file

@ -1,19 +1,13 @@
[gd_scene load_steps=23 format=3 uid="uid://bw1w8jp0yeypy"]
[gd_scene load_steps=24 format=3 uid="uid://bw1w8jp0yeypy"]
[ext_resource type="PackedScene" uid="uid://b1hjjbdwf1rtc" path="res://scenes/templates/plant_template.tscn" id="1_n25yi"]
[ext_resource type="Shader" uid="uid://cgc7spjkhsx7c" path="res://assets/shaders/generic_flash.gdshader" id="2_dm0tl"]
[ext_resource type="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_8fr1j"]
[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_aimqk"]
[ext_resource type="Texture2D" uid="uid://b6tyoa5htapir" path="res://assets/sprites/atlases/plants/aloe.png" id="2_iup5p"]
[ext_resource type="AnimationLibrary" uid="uid://bgutjc3ruq27s" path="res://assets/animations/plants/aloe.res" id="3_3sp3b"]
[ext_resource type="Script" uid="uid://cljytsmqac0w7" path="res://scripts/entities/plants/behaviours/AloeBehaviour.cs" id="4_55asm"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="4_aimqk"]
[ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="5_gfy6j"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_8fr1j"]
resource_local_to_scene = true
shader = ExtResource("2_dm0tl")
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/selected = false
shader_parameter/blend = 0.0
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="7_vpcbp"]
[sub_resource type="Animation" id="Animation_vknky"]
length = 0.001
@ -103,43 +97,54 @@ node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_oe0dc"]
size = Vector2(22, 32)
[node name="Aloe" instance=ExtResource("1_n25yi")]
GetInternalID() = "aloe"
[node name="Aloe" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_8fr1j")
MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" parent="." index="0"]
material = SubResource("ShaderMaterial_8fr1j")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_aimqk")
position = Vector2(9, -14)
texture = ExtResource("2_iup5p")
hframes = 8
vframes = 4
[node name="AnimationPlayer" parent="." index="1"]
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_wlien"),
&"aloe": ExtResource("3_3sp3b")
}
[node name="AnimationTree" parent="." index="2"]
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_gfy6j")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0
parameters/Tree/conditions/charged = false
parameters/Tree/conditions/heal = false
script = ExtResource("4_aimqk")
entity = NodePath("..")
[node name="Behaviour" type="Node" parent="." index="3"]
[node name="Behaviour" type="Node" parent="."]
script = ExtResource("4_55asm")
_hpTreshold = 0.5
[node name="Timer" type="Timer" parent="Behaviour" index="0" node_paths=PackedStringArray("entity")]
[node name="Timer" type="Timer" parent="Behaviour" node_paths=PackedStringArray("entity")]
wait_time = 15.0
one_shot = true
script = ExtResource("5_gfy6j")
entity = NodePath("../..")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox" index="0"]
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
shape = SubResource("RectangleShape2D_oe0dc")
[node name="FlashController" parent="." index="5"]
shaderMaterial = SubResource("ShaderMaterial_8fr1j")
[node name="FlashController" type="Node" parent="."]
script = ExtResource("7_vpcbp")
shaderMaterial = ExtResource("2_aimqk")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]
[connection signal="timeout" from="Behaviour/Timer" to="Behaviour" method="OnTimeout"]

View file

@ -1,21 +1,15 @@
[gd_scene load_steps=25 format=3 uid="uid://cjoyh54cpjla7"]
[gd_scene load_steps=26 format=3 uid="uid://cjoyh54cpjla7"]
[ext_resource type="PackedScene" uid="uid://b1hjjbdwf1rtc" path="res://scenes/templates/plant_template.tscn" id="1_65f4u"]
[ext_resource type="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_xwpd6"]
[ext_resource type="Texture2D" uid="uid://bt76iudw2qgnv" path="res://assets/sprites/atlases/plants/cumbucer.png" id="2_ig0op"]
[ext_resource type="Shader" uid="uid://cgc7spjkhsx7c" path="res://assets/shaders/generic_flash.gdshader" id="2_jbggv"]
[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_q31qc"]
[ext_resource type="Script" uid="uid://dn53jvpjyg63l" path="res://scripts/entities/plants/Eyesight.cs" id="3_d45iq"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="3_q31qc"]
[ext_resource type="Script" uid="uid://ceprqkraw3v6m" path="res://scripts/entities/plants/Shooter.cs" id="4_sckvu"]
[ext_resource type="PackedScene" uid="uid://c1ig40gtdcb60" path="res://scenes/projectiles/cucumber_projectile.tscn" id="5_sckvu"]
[ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="6_xwpd6"]
[ext_resource type="Script" uid="uid://bdk5iqtw4xbkl" path="res://scripts/entities/plants/behaviours/PeashooterBehaviour.cs" id="7_q31qc"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_jbggv"]
resource_local_to_scene = true
shader = ExtResource("2_jbggv")
shader_parameter/FLASH_COLOR = Color(0.78, 0.78, 0.78, 0.501961)
shader_parameter/HIGHLIGHT_COLOR = Color(0.69, 0, 0, 0.282353)
shader_parameter/selected = false
shader_parameter/blend = 0.0
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="9_a66ro"]
[sub_resource type="Animation" id="Animation_n1xkd"]
length = 0.001
@ -118,7 +112,6 @@ transitions = ["Start", "cucumber_idle", SubResource("AnimationNodeStateMachineT
graph_offset = Vector2(137, -3)
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_xwpd6"]
graph_offset = Vector2(-370, 72)
nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_ig0op")
nodes/TimeScale/position = Vector2(60, 140)
nodes/Tree/node = SubResource("AnimationNodeStateMachine_jbggv")
@ -132,54 +125,67 @@ height = 48.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_n1xkd"]
size = Vector2(26, 600)
[node name="Cucumber" instance=ExtResource("1_65f4u")]
GetInternalID() = "cucumber"
[node name="Cucumber" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
material = ExtResource("2_q31qc")
script = ExtResource("1_xwpd6")
MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" parent="." index="0"]
material = SubResource("ShaderMaterial_jbggv")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_q31qc")
texture = ExtResource("2_ig0op")
hframes = 10
vframes = 2
frame = 10
[node name="AnimationPlayer" parent="." index="1"]
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_gogcg"),
&"cucumber": SubResource("AnimationLibrary_n1xkd")
}
[node name="AnimationTree" parent="." index="2"]
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_xwpd6")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0
parameters/Tree/conditions/ready = false
script = ExtResource("3_q31qc")
entity = NodePath("..")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox" index="0"]
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
shape = SubResource("CapsuleShape2D_ig0op")
[node name="Eysight" type="Area2D" parent="." index="4"]
[node name="Eysight" type="Area2D" parent="."]
collision_layer = 4
collision_mask = 8
script = ExtResource("3_d45iq")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Eysight" index="0"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Eysight"]
shape = SubResource("RectangleShape2D_n1xkd")
[node name="Shooter" type="Marker2D" parent="." index="5" node_paths=PackedStringArray("_timer")]
[node name="Shooter" type="Marker2D" parent="." node_paths=PackedStringArray("_timer")]
script = ExtResource("4_sckvu")
_projectile = ExtResource("5_sckvu")
_timer = NodePath("FireTimer")
[node name="FireTimer" type="Timer" parent="Shooter" index="0" node_paths=PackedStringArray("entity")]
[node name="FireTimer" type="Timer" parent="Shooter" node_paths=PackedStringArray("entity")]
wait_time = 2.5
one_shot = true
script = ExtResource("6_xwpd6")
entity = NodePath("../..")
[node name="Behaviour" type="Node" parent="." index="6" node_paths=PackedStringArray("_shootTimer", "_sight")]
[node name="Behaviour" type="Node" parent="." node_paths=PackedStringArray("_shootTimer", "_sight")]
script = ExtResource("7_q31qc")
_shootTimer = NodePath("../Shooter/FireTimer")
_sight = NodePath("../Eysight")
[node name="FlashController" parent="." index="7"]
shaderMaterial = SubResource("ShaderMaterial_jbggv")
[node name="FlashController" type="Node" parent="."]
script = ExtResource("9_a66ro")
shaderMaterial = ExtResource("2_q31qc")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]

View file

@ -1,11 +1,14 @@
[gd_scene load_steps=16 format=3 uid="uid://qq0cw8xtcoj3"]
[gd_scene load_steps=19 format=3 uid="uid://qq0cw8xtcoj3"]
[ext_resource type="PackedScene" uid="uid://b1hjjbdwf1rtc" path="res://scenes/templates/plant_template.tscn" id="1_5i0e6"]
[ext_resource type="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_gu3kj"]
[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_1angc"]
[ext_resource type="Texture2D" uid="uid://dff73m8ahamaa" path="res://assets/sprites/atlases/plants/garlic.png" id="2_w2jbi"]
[ext_resource type="AnimationLibrary" uid="uid://cjl81f61gdlvi" path="res://assets/animations/plants/garlic.res" id="3_jkb3q"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="4_1angc"]
[ext_resource type="Script" uid="uid://btkmd86pn828y" path="res://scripts/entities/plants/behaviours/HpBasedBehaviour.cs" id="4_bv44h"]
[ext_resource type="Script" uid="uid://bmtukcq10m8wo" path="res://scripts/entities/plants/ReturnEffect.cs" id="5_oob20"]
[ext_resource type="Resource" uid="uid://dsg1vjx76ifgu" path="res://assets/effects/RandomRedirectEffect.tres" id="6_gho1l"]
[ext_resource type="Resource" uid="uid://dsg1vjx76ifgu" path="res://assets/effects/GarlicEffect.tres" id="6_gho1l"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="8_6iwlp"]
[sub_resource type="Animation" id="Animation_k0cex"]
length = 0.001
@ -59,37 +62,52 @@ node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_thlvs"]
size = Vector2(32, 29)
[node name="Garlic" instance=ExtResource("1_5i0e6")]
GetInternalID() = "garlic"
[node name="Garlic" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_gu3kj")
MaxHP = 200.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" parent="." index="0"]
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_1angc")
texture = ExtResource("2_w2jbi")
hframes = 8
vframes = 3
[node name="AnimationPlayer" parent="." index="1"]
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_v4l78"),
&"garlic": ExtResource("3_jkb3q")
}
[node name="AnimationTree" parent="." index="2"]
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_2o7sr")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0
parameters/Tree/blend_position = 1.0
script = ExtResource("4_1angc")
entity = NodePath("..")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox" index="0"]
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(1, 11.5)
shape = SubResource("RectangleShape2D_thlvs")
[node name="Behaviour" type="Node" parent="." index="4"]
[node name="Behaviour" type="Node" parent="."]
script = ExtResource("4_bv44h")
parameters = Array[String](["parameters/Tree/blend_position"])
[node name="ReturnEffect" type="Node" parent="." index="5"]
[node name="ReturnEffect" type="Node" parent="."]
script = ExtResource("5_oob20")
_effectToReturn = ExtResource("6_gho1l")
[node name="FlashController" type="Node" parent="."]
script = ExtResource("8_6iwlp")
shaderMaterial = ExtResource("2_1angc")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]
[connection signal="OnHPChanged" from="." to="Behaviour" method="OnHPChanged"]
[connection signal="OnHPChanged" from="." to="ReturnEffect" method="OnDamageRecieved"]

View file

@ -1,10 +1,13 @@
[gd_scene load_steps=31 format=3 uid="uid://k5aj2slxar7w"]
[gd_scene load_steps=34 format=3 uid="uid://k5aj2slxar7w"]
[ext_resource type="PackedScene" uid="uid://b1hjjbdwf1rtc" path="res://scenes/templates/plant_template.tscn" id="1_8ui1h"]
[ext_resource type="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_o12iv"]
[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_6e60l"]
[ext_resource type="Texture2D" uid="uid://b06e8xhdy77d1" path="res://assets/sprites/atlases/plants/nerdus.png" id="2_614v4"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="3_6e60l"]
[ext_resource type="Script" uid="uid://dcokqes5wwo3k" path="res://scripts/entities/plants/NerdusReturnAttack.cs" id="3_614v4"]
[ext_resource type="Resource" uid="uid://dme4nvp28otq6" path="res://assets/effects/NerdusEffect.tres" id="4_ga4vy"]
[ext_resource type="Script" uid="uid://btkmd86pn828y" path="res://scripts/entities/plants/behaviours/HpBasedBehaviour.cs" id="5_o1ggp"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="7_v7ffp"]
[sub_resource type="Animation" id="Animation_ga4vy"]
length = 0.001
@ -251,46 +254,61 @@ radius = 24.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ga4vy"]
size = Vector2(73, 48)
[node name="Nerdus" instance=ExtResource("1_8ui1h")]
GetInternalID() = "nerdus"
[node name="Nerdus" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_o12iv")
MaxHP = 200.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" parent="." index="0"]
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_6e60l")
texture = ExtResource("2_614v4")
hframes = 7
vframes = 6
[node name="AnimationPlayer" parent="." index="1"]
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_o1ggp"),
&"nerdus": SubResource("AnimationLibrary_pddnl")
}
[node name="AnimationTree" parent="." index="2"]
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_6a4q1")
advance_expression_base_node = NodePath("../Hurtbox")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0
parameters/Tree/Attack/blend_position = 1.0
parameters/Tree/Idle/blend_position = 1.0
script = ExtResource("3_6e60l")
entity = NodePath("..")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox" index="0"]
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(0, 3)
shape = SubResource("CircleShape2D_8ui1h")
[node name="Hurtbox" type="Area2D" parent="." index="4"]
[node name="Hurtbox" type="Area2D" parent="."]
collision_layer = 0
collision_mask = 8
script = ExtResource("3_614v4")
returnEffect = ExtResource("4_ga4vy")
bitesToPeas = 1.6
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hurtbox" index="0"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hurtbox"]
position = Vector2(3.5, 3)
shape = SubResource("RectangleShape2D_ga4vy")
[node name="Behaviour" type="Node" parent="." index="5"]
[node name="Behaviour" type="Node" parent="."]
script = ExtResource("5_o1ggp")
parameters = Array[String](["parameters/Tree/Attack/blend_position", "parameters/Tree/Idle/blend_position"])
[node name="FlashController" type="Node" parent="."]
script = ExtResource("7_v7ffp")
shaderMaterial = ExtResource("2_6e60l")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]
[connection signal="OnHPChanged" from="." to="Hurtbox" method="OnHPChanged"]
[connection signal="OnHPChanged" from="." to="Behaviour" method="OnHPChanged"]

View file

@ -1,25 +1,19 @@
[gd_scene load_steps=26 format=3 uid="uid://dy41q1kxray5t"]
[gd_scene load_steps=27 format=3 uid="uid://dy41q1kxray5t"]
[ext_resource type="PackedScene" uid="uid://b1hjjbdwf1rtc" path="res://scenes/templates/plant_template.tscn" id="1_pyk3o"]
[ext_resource type="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_p4cd5"]
[ext_resource type="Texture2D" uid="uid://cksryh4w5dbbx" path="res://assets/sprites/atlases/plants/peashooter.png" id="2_14qlx"]
[ext_resource type="Shader" uid="uid://cgc7spjkhsx7c" path="res://assets/shaders/generic_flash.gdshader" id="2_fp65y"]
[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_p4cd5"]
[ext_resource type="AnimationLibrary" uid="uid://bv1dl1g4dmbho" path="res://assets/animations/plants/peashooter.res" id="3_8lrhp"]
[ext_resource type="Script" uid="uid://ceprqkraw3v6m" path="res://scripts/entities/plants/Shooter.cs" id="3_a4ew1"]
[ext_resource type="PackedScene" uid="uid://b2hrv0aqbui7u" path="res://scenes/projectiles/pea.tscn" id="4_saxds"]
[ext_resource type="Script" uid="uid://bdk5iqtw4xbkl" path="res://scripts/entities/plants/behaviours/PeashooterBehaviour.cs" id="5_7qiua"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="5_ceium"]
[ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="6_q58jr"]
[ext_resource type="Script" uid="uid://dn53jvpjyg63l" path="res://scripts/entities/plants/Eyesight.cs" id="7_2bki8"]
[ext_resource type="Script" uid="uid://hccb0aee0x0o" path="res://scripts/entities/plants/PlantEyesightLimiter.cs" id="8_nl4jc"]
[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="9_mbbd7"]
[ext_resource type="AudioStream" uid="uid://dsv81mvrdg3w3" path="res://assets/audio/sfx/throw_generic.tres" id="10_q58jr"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_fp65y"]
resource_local_to_scene = true
shader = ExtResource("2_fp65y")
shader_parameter/FLASH_COLOR = Color(0.78, 0.78, 0.78, 0.501961)
shader_parameter/HIGHLIGHT_COLOR = Color(0.69, 0, 0, 0.282353)
shader_parameter/selected = false
shader_parameter/blend = 0.0
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="14_dmys5"]
[sub_resource type="Animation" id="Animation_a2y0j"]
length = 0.001
@ -81,63 +75,75 @@ resource_local_to_scene = true
[sub_resource type="RectangleShape2D" id="RectangleShape2D_r7xnh"]
size = Vector2(20, 44)
[node name="Peashooter" instance=ExtResource("1_pyk3o")]
GetInternalID() = "peashooter"
[node name="Peashooter" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_p4cd5")
MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" parent="." index="0"]
material = SubResource("ShaderMaterial_fp65y")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_p4cd5")
texture = ExtResource("2_14qlx")
hframes = 10
vframes = 2
[node name="AnimationPlayer" parent="." index="1"]
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_ipp6b"),
&"peashooter": ExtResource("3_8lrhp")
}
autoplay = "peashooter/idle"
[node name="AnimationTree" parent="." index="2"]
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_q58jr")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0
parameters/Tree/conditions/ready = false
script = ExtResource("5_ceium")
entity = NodePath("..")
[node name="Shooter" type="Marker2D" parent="." index="3" node_paths=PackedStringArray("_timer")]
[node name="Shooter" type="Marker2D" parent="." node_paths=PackedStringArray("_timer")]
position = Vector2(12, -4)
script = ExtResource("3_a4ew1")
_projectile = ExtResource("4_saxds")
_timer = NodePath("FireTimer")
[node name="FireTimer" type="Timer" parent="Shooter" index="0" node_paths=PackedStringArray("entity")]
[node name="FireTimer" type="Timer" parent="Shooter" node_paths=PackedStringArray("entity")]
wait_time = 1.5
one_shot = true
script = ExtResource("6_q58jr")
entity = NodePath("../..")
[node name="Behaviour" type="Node" parent="." index="4" node_paths=PackedStringArray("_shootTimer", "_sight")]
[node name="Behaviour" type="Node" parent="." node_paths=PackedStringArray("_shootTimer", "_sight")]
script = ExtResource("5_7qiua")
_shootTimer = NodePath("../Shooter/FireTimer")
_sight = NodePath("../Eysight")
[node name="Eysight" type="Area2D" parent="." index="5"]
[node name="Eysight" type="Area2D" parent="."]
collision_layer = 4
collision_mask = 8
script = ExtResource("7_2bki8")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Eysight" index="0"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Eysight"]
shape = SubResource("SegmentShape2D_8iovl")
script = ExtResource("8_nl4jc")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox" index="0"]
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(0, 5)
shape = SubResource("RectangleShape2D_r7xnh")
[node name="ChannelPlayer" type="Node" parent="." index="7"]
[node name="ChannelPlayer" type="Node" parent="."]
script = ExtResource("9_mbbd7")
audioStream = ExtResource("10_q58jr")
channel = "pea_shoot"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="FlashController" parent="." index="8"]
shaderMaterial = SubResource("ShaderMaterial_fp65y")
[node name="FlashController" type="Node" parent="."]
script = ExtResource("14_dmys5")
shaderMaterial = ExtResource("2_p4cd5")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]

View file

@ -1,24 +1,18 @@
[gd_scene load_steps=29 format=3 uid="uid://b5x35v3w2u8dx"]
[gd_scene load_steps=30 format=3 uid="uid://b5x35v3w2u8dx"]
[ext_resource type="PackedScene" uid="uid://b1hjjbdwf1rtc" path="res://scenes/templates/plant_template.tscn" id="1_dj7ul"]
[ext_resource type="Shader" uid="uid://cgc7spjkhsx7c" path="res://assets/shaders/generic_flash.gdshader" id="2_lx7n5"]
[ext_resource type="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_a0d1l"]
[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_a0d1l"]
[ext_resource type="Texture2D" uid="uid://c77o6ba0mw7a3" path="res://assets/sprites/atlases/plants/potato_mine.png" id="2_sneas"]
[ext_resource type="Script" uid="uid://bhl6o2m3fn4xg" path="res://scripts/entities/plants/ExplosionComponent.cs" id="3_2hd5y"]
[ext_resource type="AnimationLibrary" uid="uid://bjlbdvr6f0r7e" path="res://assets/animations/plants/potato_mine.res" id="3_7tqmj"]
[ext_resource type="Script" uid="uid://c7qfh4py0uulo" path="res://scripts/entities/plants/behaviours/PotatomineBehaviour.cs" id="4_twx65"]
[ext_resource type="PackedScene" uid="uid://ckanq33rao1ur" path="res://scenes/particles/potato_explosion.tscn" id="5_px4r0"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="5_v27q1"]
[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="7_b1j2f"]
[ext_resource type="AudioStream" uid="uid://dltjtpyfr1so0" path="res://assets/audio/sfx/potato_mine.mp3" id="8_3vqdc"]
[ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="8_824aq"]
[ext_resource type="AudioStream" uid="uid://b27om1bw1x04e" path="res://assets/audio/sfx/dirt_rise.mp3" id="9_3vqdc"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_crloj"]
resource_local_to_scene = true
shader = ExtResource("2_lx7n5")
shader_parameter/FLASH_COLOR = Color(0.78, 0.78, 0.78, 0.501961)
shader_parameter/HIGHLIGHT_COLOR = Color(0.69, 0, 0, 0.282353)
shader_parameter/selected = false
shader_parameter/blend = 0.0
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="13_cfvur"]
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_3vqdc"]
@ -86,85 +80,96 @@ size = Vector2(15, 27)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ti2g4"]
size = Vector2(22, 19)
[node name="Potato mine" instance=ExtResource("1_dj7ul")]
GetInternalID() = "potatomine"
[node name="Potato mine" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_a0d1l")
MaxHP = 20.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" parent="." index="0"]
material = SubResource("ShaderMaterial_crloj")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_a0d1l")
texture = ExtResource("2_sneas")
hframes = 7
vframes = 4
frame = 7
[node name="AnimationPlayer" parent="." index="1"]
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"potato_mine": ExtResource("3_7tqmj")
}
autoplay = "idle_unprimed"
[node name="AnimationTree" parent="." index="2"]
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_824aq")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0
parameters/Tree/conditions/explode = false
parameters/Tree/conditions/primed = false
script = ExtResource("5_v27q1")
entity = NodePath("..")
[node name="Detectionbox" type="Area2D" parent="." index="3"]
[node name="Detectionbox" type="Area2D" parent="."]
collision_layer = 0
collision_mask = 8
[node name="CollisionShape2D" type="CollisionShape2D" parent="Detectionbox" index="0"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Detectionbox"]
position = Vector2(0, 9)
shape = SubResource("CircleShape2D_824aq")
[node name="ExplosionBox" type="Area2D" parent="." index="4"]
[node name="ExplosionBox" type="Area2D" parent="."]
collision_layer = 0
collision_mask = 8
script = ExtResource("3_2hd5y")
damage = 6000
particles = ExtResource("5_px4r0")
[node name="CollisionShape2D" type="CollisionShape2D" parent="ExplosionBox" index="0"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="ExplosionBox"]
position = Vector2(0, 9)
shape = SubResource("CircleShape2D_wvns6")
[node name="ExplosionPlayer" type="Node" parent="ExplosionBox" index="1"]
[node name="ExplosionPlayer" type="Node" parent="ExplosionBox"]
script = ExtResource("7_b1j2f")
audioStream = ExtResource("8_3vqdc")
channel = "explosion"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="PrimeTimer" type="Timer" parent="." index="5" node_paths=PackedStringArray("entity")]
[node name="PrimeTimer" type="Timer" parent="." node_paths=PackedStringArray("entity")]
wait_time = 15.0
one_shot = true
autostart = true
script = ExtResource("8_824aq")
entity = NodePath("..")
[node name="Behaviour" type="Node" parent="." index="6" node_paths=PackedStringArray("_hitbox", "detectionBox", "_unprimedShape", "_primedShape")]
[node name="Behaviour" type="Node" parent="." node_paths=PackedStringArray("_hitbox", "detectionBox", "_unprimedShape", "_primedShape")]
script = ExtResource("4_twx65")
_hitbox = NodePath("../Hitbox")
detectionBox = NodePath("../Detectionbox")
_unprimedShape = NodePath("../Hitbox/Unprimed")
_primedShape = NodePath("../Hitbox/Primed")
[node name="Unprimed" type="CollisionShape2D" parent="Hitbox" index="0"]
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="Unprimed" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(-0.5, 14.5)
shape = SubResource("RectangleShape2D_qfqko")
[node name="Primed" type="CollisionShape2D" parent="Hitbox" index="1"]
[node name="Primed" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(0, 16.5)
shape = SubResource("RectangleShape2D_ti2g4")
disabled = true
[node name="ChannelPlayer" type="Node" parent="." index="8"]
[node name="ChannelPlayer" type="Node" parent="."]
script = ExtResource("7_b1j2f")
audioStream = ExtResource("9_3vqdc")
channel = "plant_rise"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="FlashController" parent="." index="9"]
shaderMaterial = SubResource("ShaderMaterial_crloj")
[node name="FlashController" type="Node" parent="."]
script = ExtResource("13_cfvur")
shaderMaterial = ExtResource("2_a0d1l")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]
[connection signal="area_entered" from="Detectionbox" to="Behaviour" method="OnAreaEntered"]
[connection signal="timeout" from="PrimeTimer" to="Behaviour" method="Prime"]

View file

@ -1,21 +1,15 @@
[gd_scene load_steps=13 format=3 uid="uid://bmk41n57j7hgx"]
[gd_scene load_steps=14 format=3 uid="uid://bmk41n57j7hgx"]
[ext_resource type="PackedScene" uid="uid://b1hjjbdwf1rtc" path="res://scenes/templates/plant_template.tscn" id="1_ltcu2"]
[ext_resource type="Shader" uid="uid://cgc7spjkhsx7c" path="res://assets/shaders/generic_flash.gdshader" id="2_ktw4a"]
[ext_resource type="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_moq7q"]
[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_moq7q"]
[ext_resource type="Texture2D" uid="uid://dvldjlg0nr355" path="res://assets/sprites/atlases/atlas1.png" id="3_ktw4a"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="4_4ermv"]
[ext_resource type="Script" uid="uid://cu63aiowp5bqd" path="res://scripts/entities/plants/DragAction.cs" id="4_5jowj"]
[ext_resource type="Script" uid="uid://co7ttejdo2qot" path="res://scripts/entities/plants/AreaAttack.cs" id="5_twsk4"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="6_4uf0y"]
[ext_resource type="Script" uid="uid://csgksiyma0h4t" path="res://scripts/entities/plants/behaviours/SnipachBehaviour.cs" id="6_twsk4"]
[ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="7_3hyni"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_f4wwx"]
resource_local_to_scene = true
shader = ExtResource("2_ktw4a")
shader_parameter/FLASH_COLOR = Color(0.78, 0.78, 0.78, 0.501961)
shader_parameter/HIGHLIGHT_COLOR = Color(0.69, 0, 0, 0.282353)
shader_parameter/selected = false
shader_parameter/blend = 0.0
[sub_resource type="AtlasTexture" id="AtlasTexture_f4wwx"]
atlas = ExtResource("3_ktw4a")
region = Rect2(525, 241, 79, 72)
@ -30,26 +24,40 @@ region = Rect2(592, 64, 50, 60)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_5jowj"]
size = Vector2(40, 36)
[node name="Snipach" instance=ExtResource("1_ltcu2")]
GetInternalID() = "snipach"
[node name="Snipach" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_moq7q")
MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" parent="." index="0"]
material = SubResource("ShaderMaterial_f4wwx")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_moq7q")
position = Vector2(8, -16)
texture = SubResource("AtlasTexture_f4wwx")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox" index="0"]
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
anim_player = NodePath("../AnimationPlayer")
script = ExtResource("4_4ermv")
entity = NodePath("..")
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(-0.75, -2.5)
shape = SubResource("RectangleShape2D_ktw4a")
[node name="DragAction" type="Node" parent="Hitbox" index="1"]
[node name="DragAction" type="Node" parent="Hitbox"]
script = ExtResource("4_5jowj")
[node name="FlashController" parent="." index="4"]
shaderMaterial = SubResource("ShaderMaterial_f4wwx")
[node name="FlashController" type="Node" parent="."]
script = ExtResource("6_4uf0y")
shaderMaterial = ExtResource("2_moq7q")
[node name="ShootBox" type="Area2D" parent="." index="5"]
[node name="ShootBox" type="Area2D" parent="."]
visible = false
collision_layer = 32
collision_mask = 24
@ -57,29 +65,30 @@ input_pickable = false
script = ExtResource("5_twsk4")
_damage = 400
[node name="Sprite2D" type="Sprite2D" parent="ShootBox" index="0"]
[node name="Sprite2D" type="Sprite2D" parent="ShootBox"]
texture = SubResource("AtlasTexture_3hyni")
[node name="CollisionShape2D" type="CollisionShape2D" parent="ShootBox" index="1"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="ShootBox"]
shape = SubResource("RectangleShape2D_5jowj")
[node name="Behaviour" type="Node" parent="." index="6" node_paths=PackedStringArray("attackBox", "timer", "guardTimer")]
[node name="Behaviour" type="Node" parent="." node_paths=PackedStringArray("attackBox", "timer", "guardTimer")]
script = ExtResource("6_twsk4")
attackBox = NodePath("../ShootBox")
timer = NodePath("Timer")
guardTimer = NodePath("GuardTimer")
[node name="Timer" type="Timer" parent="Behaviour" index="0" node_paths=PackedStringArray("entity")]
[node name="Timer" type="Timer" parent="Behaviour" node_paths=PackedStringArray("entity")]
wait_time = 15.0
one_shot = true
script = ExtResource("7_3hyni")
entity = NodePath("../..")
[node name="GuardTimer" type="Timer" parent="Behaviour" index="1"]
[node name="GuardTimer" type="Timer" parent="Behaviour"]
wait_time = 0.2
one_shot = true
autostart = true
ignore_time_scale = true
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]
[connection signal="DragBegin" from="Hitbox/DragAction" to="Behaviour" method="OnDragBegin"]
[connection signal="DragEnd" from="Hitbox/DragAction" to="Behaviour" method="OnDragEnd"]

View file

@ -1,18 +1,19 @@
[gd_scene load_steps=18 format=3 uid="uid://b7innrovtmf5u"]
[gd_scene load_steps=27 format=3 uid="uid://b7innrovtmf5u"]
[ext_resource type="PackedScene" uid="uid://dy41q1kxray5t" path="res://scenes/entities/plants/peashooter.tscn" id="1_lp85e"]
[ext_resource type="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_klsgb"]
[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_klsgb"]
[ext_resource type="Texture2D" uid="uid://cu0651pvvkmvm" path="res://assets/sprites/atlases/plants/snow_pea.png" id="2_ytrm0"]
[ext_resource type="Shader" uid="uid://cgc7spjkhsx7c" path="res://assets/shaders/generic_flash.gdshader" id="2_yyg2a"]
[ext_resource type="AnimationLibrary" uid="uid://cke5wmmrvevbs" path="res://assets/animations/plants/snowpea.res" id="4_jvx5y"]
[ext_resource type="PackedScene" uid="uid://domeukw4ucmyr" path="res://scenes/projectiles/snowpea_projectile.tscn" id="5_bv86m"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_g872w"]
resource_local_to_scene = true
shader = ExtResource("2_yyg2a")
shader_parameter/FLASH_COLOR = Color(0.78, 0.78, 0.78, 0.501961)
shader_parameter/HIGHLIGHT_COLOR = Color(0.69, 0, 0, 0.282353)
shader_parameter/selected = false
shader_parameter/blend = 0.0
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="5_fbp2l"]
[ext_resource type="Script" uid="uid://ceprqkraw3v6m" path="res://scripts/entities/plants/Shooter.cs" id="6_br16s"]
[ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="8_bjd0y"]
[ext_resource type="Script" uid="uid://bdk5iqtw4xbkl" path="res://scripts/entities/plants/behaviours/PeashooterBehaviour.cs" id="9_hg126"]
[ext_resource type="Script" uid="uid://dn53jvpjyg63l" path="res://scripts/entities/plants/Eyesight.cs" id="10_noqdw"]
[ext_resource type="Script" uid="uid://hccb0aee0x0o" path="res://scripts/entities/plants/PlantEyesightLimiter.cs" id="11_terbf"]
[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="12_dvoqf"]
[ext_resource type="AudioStream" uid="uid://dsv81mvrdg3w3" path="res://assets/audio/sfx/throw_generic.tres" id="13_o05jr"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="14_oijop"]
[sub_resource type="Animation" id="Animation_pephc"]
length = 0.001
@ -71,28 +72,78 @@ node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[sub_resource type="SegmentShape2D" id="SegmentShape2D_3oyhk"]
resource_local_to_scene = true
[node name="Snowpea" instance=ExtResource("1_lp85e")]
GetInternalID() = "snowpea"
[sub_resource type="RectangleShape2D" id="RectangleShape2D_r7xnh"]
size = Vector2(20, 44)
[node name="Sprite2D" parent="." index="0"]
material = SubResource("ShaderMaterial_g872w")
[node name="Snowpea" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_klsgb")
MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_klsgb")
texture = ExtResource("2_ytrm0")
hframes = 10
vframes = 2
[node name="AnimationPlayer" parent="." index="1"]
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_djmlc"),
&"snowpea": ExtResource("4_jvx5y")
}
autoplay = "snowpea/idle"
[node name="AnimationTree" parent="." index="2"]
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_3oyhk")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0
parameters/Tree/conditions/ready = false
script = ExtResource("5_fbp2l")
entity = NodePath("..")
[node name="Shooter" parent="." index="3"]
[node name="Shooter" type="Marker2D" parent="." node_paths=PackedStringArray("_timer")]
position = Vector2(12, -4)
script = ExtResource("6_br16s")
_projectile = ExtResource("5_bv86m")
_timer = NodePath("FireTimer")
[node name="CollisionShape2D" parent="Eysight" index="0"]
[node name="FireTimer" type="Timer" parent="Shooter" node_paths=PackedStringArray("entity")]
wait_time = 1.5
one_shot = true
script = ExtResource("8_bjd0y")
entity = NodePath("../..")
[node name="Behaviour" type="Node" parent="." node_paths=PackedStringArray("_shootTimer", "_sight")]
script = ExtResource("9_hg126")
_shootTimer = NodePath("../Shooter/FireTimer")
_sight = NodePath("../Eysight")
[node name="Eysight" type="Area2D" parent="."]
collision_layer = 4
collision_mask = 8
script = ExtResource("10_noqdw")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Eysight"]
shape = SubResource("SegmentShape2D_3oyhk")
script = ExtResource("11_terbf")
[node name="FlashController" parent="." index="8"]
shaderMaterial = SubResource("ShaderMaterial_g872w")
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(0, 5)
shape = SubResource("RectangleShape2D_r7xnh")
[node name="ChannelPlayer" type="Node" parent="."]
script = ExtResource("12_dvoqf")
audioStream = ExtResource("13_o05jr")
channel = "pea_shoot"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="FlashController" type="Node" parent="."]
script = ExtResource("14_oijop")
shaderMaterial = ExtResource("2_klsgb")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]

View file

@ -1,20 +1,14 @@
[gd_scene load_steps=15 format=3 uid="uid://bdhod5c6o53ha"]
[gd_scene load_steps=16 format=3 uid="uid://bdhod5c6o53ha"]
[ext_resource type="PackedScene" uid="uid://b1hjjbdwf1rtc" path="res://scenes/templates/plant_template.tscn" id="1_vmbvr"]
[ext_resource type="Shader" uid="uid://cgc7spjkhsx7c" path="res://assets/shaders/generic_flash.gdshader" id="2_63okc"]
[ext_resource type="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_kd62n"]
[ext_resource type="Texture2D" uid="uid://coafh3mjharxo" path="res://assets/sprites/atlases/plants/spikeweed.png" id="2_ffrjr"]
[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_kd62n"]
[ext_resource type="Script" uid="uid://co7ttejdo2qot" path="res://scripts/entities/plants/AreaAttack.cs" id="3_hqtbm"]
[ext_resource type="AnimationLibrary" uid="uid://cen6ku4y01dyg" path="res://assets/animations/plants/spikeweed.res" id="3_nwshn"]
[ext_resource type="Script" uid="uid://dqquodxaijmem" path="res://scripts/entities/plants/behaviours/SpikeweedBehaviour.cs" id="3_uhpn7"]
[ext_resource type="Script" uid="uid://dw7v3s4kbu7ma" path="res://scripts/entities/AnimationStatistics.cs" id="5_yfuxj"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_yfuxj"]
resource_local_to_scene = true
shader = ExtResource("2_63okc")
shader_parameter/FLASH_COLOR = Color(0.78, 0.78, 0.78, 0.501961)
shader_parameter/HIGHLIGHT_COLOR = Color(0.69, 0, 0, 0.282353)
shader_parameter/selected = false
shader_parameter/blend = 0.0
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="6_sqcsr"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="9_lq7xg"]
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_jleqa"]
@ -45,47 +39,54 @@ node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_1di76"]
size = Vector2(49, 38)
[node name="Spikeweed" instance=ExtResource("1_vmbvr")]
GetInternalID() = "spikeweed"
[node name="Spikeweed" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_kd62n")
MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" parent="." index="0"]
material = SubResource("ShaderMaterial_yfuxj")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_kd62n")
texture = ExtResource("2_ffrjr")
hframes = 10
vframes = 2
frame = 6
frame = 1
[node name="AnimationPlayer" parent="." index="1"]
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"spikeweed": ExtResource("3_nwshn")
}
[node name="DPSStatistics" type="Node" parent="AnimationPlayer" index="0"]
[node name="DPSStatistics" type="Node" parent="AnimationPlayer"]
script = ExtResource("5_yfuxj")
animationName = "spikeweed/attack"
trackToFind = "Hitbox"
[node name="AnimationTree" parent="." index="2"]
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_63okc")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0
parameters/Tree/blend_position = 0
script = ExtResource("6_sqcsr")
entity = NodePath("..")
[node name="Behaviour" type="Node" parent="." index="3"]
[node name="Behaviour" type="Node" parent="."]
script = ExtResource("3_uhpn7")
[node name="Hitbox" parent="." index="4"]
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 4
collision_mask = 8
script = ExtResource("3_hqtbm")
_damage = 6
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox" index="0"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(0.5, 9)
shape = SubResource("RectangleShape2D_1di76")
[node name="FlashController" parent="." index="5"]
shaderMaterial = SubResource("ShaderMaterial_yfuxj")
[node name="FlashController" type="Node" parent="."]
script = ExtResource("9_lq7xg")
shaderMaterial = ExtResource("2_kd62n")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]
[connection signal="area_entered" from="Hitbox" to="Behaviour" method="OnHitboxEntered"]
[connection signal="area_exited" from="Hitbox" to="Behaviour" method="OnHitboxExited"]

View file

@ -1,21 +1,15 @@
[gd_scene load_steps=21 format=3 uid="uid://bg7lomiorxo2c"]
[gd_scene load_steps=22 format=3 uid="uid://bg7lomiorxo2c"]
[ext_resource type="PackedScene" uid="uid://b1hjjbdwf1rtc" path="res://scenes/templates/plant_template.tscn" id="1_bikjn"]
[ext_resource type="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_yyn2e"]
[ext_resource type="Texture2D" uid="uid://b3tuidu8dag8u" path="res://assets/sprites/atlases/plants/sunflower.png" id="2_fwcda"]
[ext_resource type="Shader" uid="uid://cgc7spjkhsx7c" path="res://assets/shaders/generic_flash.gdshader" id="2_qpvbo"]
[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_yyn2e"]
[ext_resource type="AnimationLibrary" uid="uid://yjytiuj4u7oh" path="res://assets/animations/plants/sunflower.res" id="3_btsik"]
[ext_resource type="Script" uid="uid://b71gebny84s81" path="res://scripts/entities/plants/PlantSunSpawner.cs" id="3_te0pl"]
[ext_resource type="PackedScene" uid="uid://bpekho7leatr5" path="res://scenes/sun.tscn" id="4_b8hls"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="5_7omaw"]
[ext_resource type="Script" uid="uid://bth7gah4tn7uj" path="res://scripts/entities/plants/behaviours/SunflowerBehaviour.cs" id="5_26je0"]
[ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="7_rlkb7"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mdjfv"]
resource_local_to_scene = true
shader = ExtResource("2_qpvbo")
shader_parameter/FLASH_COLOR = Color(0.78, 0.78, 0.78, 0.501961)
shader_parameter/HIGHLIGHT_COLOR = Color(0.69, 0, 0, 0.282353)
shader_parameter/selected = false
shader_parameter/blend = 0.0
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="10_w3e3c"]
[sub_resource type="Animation" id="Animation_bfx6v"]
length = 0.001
@ -73,56 +67,67 @@ node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4xs4g"]
size = Vector2(26, 48)
[node name="Sunflower" instance=ExtResource("1_bikjn")]
GetInternalID() = "sunflower"
[node name="Sunflower" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_yyn2e")
MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" parent="." index="0"]
material = SubResource("ShaderMaterial_mdjfv")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_yyn2e")
texture = ExtResource("2_fwcda")
hframes = 9
vframes = 2
frame = 2
frame = 4
[node name="AnimationPlayer" parent="." index="1"]
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_ek2al"),
&"sunflower": ExtResource("3_btsik")
}
[node name="AnimationTree" parent="." index="2"]
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_rlkb7")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0
parameters/Tree/conditions/produce = false
script = ExtResource("5_7omaw")
entity = NodePath("..")
[node name="PlantSunSpawner" type="Node2D" parent="." index="3"]
[node name="PlantSunSpawner" type="Node2D" parent="."]
position = Vector2(-2, 0)
script = ExtResource("3_te0pl")
_sunScene = ExtResource("4_b8hls")
_amountPerSun = 25
[node name="Behaviour" type="Node" parent="." index="4"]
[node name="Behaviour" type="Node" parent="."]
script = ExtResource("5_26je0")
[node name="Timer" type="Timer" parent="Behaviour" index="0" node_paths=PackedStringArray("entity")]
[node name="Timer" type="Timer" parent="Behaviour" node_paths=PackedStringArray("entity")]
wait_time = 24.25
script = ExtResource("7_rlkb7")
entity = NodePath("../..")
[node name="StartTimer" type="Timer" parent="Behaviour" index="1" node_paths=PackedStringArray("entity")]
[node name="StartTimer" type="Timer" parent="Behaviour" node_paths=PackedStringArray("entity")]
wait_time = 12.0
one_shot = true
autostart = true
script = ExtResource("7_rlkb7")
entity = NodePath("../..")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox" index="0"]
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(0, 4)
shape = SubResource("RectangleShape2D_4xs4g")
[node name="FlashController" parent="." index="6"]
shaderMaterial = SubResource("ShaderMaterial_mdjfv")
[node name="FlashController" type="Node" parent="."]
script = ExtResource("10_w3e3c")
shaderMaterial = ExtResource("2_yyn2e")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]
[connection signal="timeout" from="Behaviour/Timer" to="Behaviour" method="Timeout"]
[connection signal="timeout" from="Behaviour/StartTimer" to="Behaviour" method="Timeout"]
[connection signal="timeout" from="Behaviour/StartTimer" to="Behaviour/Timer" method="start"]

View file

@ -1,9 +1,18 @@
[gd_scene load_steps=20 format=3 uid="uid://eegv1qihfv2q"]
[gd_scene load_steps=30 format=3 uid="uid://eegv1qihfv2q"]
[ext_resource type="PackedScene" uid="uid://dy41q1kxray5t" path="res://scenes/entities/plants/peashooter.tscn" id="1_muntu"]
[ext_resource type="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_833fu"]
[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_833fu"]
[ext_resource type="Script" uid="uid://djpc0kvagpadv" path="res://scripts/entities/plants/ThreepeaterShooter.cs" id="2_ieami"]
[ext_resource type="Texture2D" uid="uid://dyfa4462hu3w1" path="res://assets/sprites/atlases/plants/threepeater.png" id="2_j7h7q"]
[ext_resource type="Script" uid="uid://hccb0aee0x0o" path="res://scripts/entities/plants/PlantEyesightLimiter.cs" id="3_dqn6w"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="4_ht2a0"]
[ext_resource type="PackedScene" uid="uid://b2hrv0aqbui7u" path="res://scenes/projectiles/pea.tscn" id="6_kscbk"]
[ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="7_anbbx"]
[ext_resource type="Script" uid="uid://bdk5iqtw4xbkl" path="res://scripts/entities/plants/behaviours/PeashooterBehaviour.cs" id="8_pp80j"]
[ext_resource type="Script" uid="uid://dn53jvpjyg63l" path="res://scripts/entities/plants/Eyesight.cs" id="9_salpp"]
[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="11_13f0q"]
[ext_resource type="AudioStream" uid="uid://dsv81mvrdg3w3" path="res://assets/audio/sfx/throw_generic.tres" id="12_4a4xw"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="13_otw6n"]
[sub_resource type="Animation" id="Animation_a2y0j"]
length = 0.001
@ -134,39 +143,89 @@ resource_local_to_scene = true
[sub_resource type="SegmentShape2D" id="SegmentShape2D_yb26d"]
resource_local_to_scene = true
[node name="Threepeater" instance=ExtResource("1_muntu")]
GetInternalID() = "threepeater"
[sub_resource type="RectangleShape2D" id="RectangleShape2D_r7xnh"]
size = Vector2(20, 44)
[node name="Sprite2D" parent="." index="0"]
[node name="Threepeater" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_833fu")
MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_833fu")
position = Vector2(6, -13)
texture = ExtResource("2_j7h7q")
hframes = 13
vframes = 2
[node name="AnimationPlayer" parent="." index="1"]
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_ipp6b"),
&"threepeater": SubResource("AnimationLibrary_o2obw")
}
autoplay = "peashooter/idle"
[node name="AnimationTree" parent="." index="2"]
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_j7h7q")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0
parameters/Tree/conditions/ready = false
script = ExtResource("4_ht2a0")
entity = NodePath("..")
[node name="Shooter" parent="." index="3"]
[node name="Shooter" type="Marker2D" parent="." node_paths=PackedStringArray("_timer")]
position = Vector2(20, -9)
script = ExtResource("2_ieami")
_projectile = ExtResource("6_kscbk")
_timer = NodePath("FireTimer")
[node name="Timer" parent="Shooter" index="0"]
wait_time = 1.6
[node name="FireTimer" type="Timer" parent="Shooter" node_paths=PackedStringArray("entity")]
wait_time = 1.5
one_shot = true
script = ExtResource("7_anbbx")
entity = NodePath("../..")
[node name="CollisionShape2D" parent="Eysight" index="0"]
[node name="Behaviour" type="Node" parent="." node_paths=PackedStringArray("_shootTimer", "_sight")]
script = ExtResource("8_pp80j")
_shootTimer = NodePath("../Shooter/FireTimer")
_sight = NodePath("../Eysight")
[node name="Eysight" type="Area2D" parent="."]
collision_layer = 4
collision_mask = 8
script = ExtResource("9_salpp")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Eysight"]
shape = SubResource("SegmentShape2D_j7h7q")
script = ExtResource("3_dqn6w")
[node name="CollisionShape2D2" type="CollisionShape2D" parent="Eysight" index="1"]
[node name="CollisionShape2D2" type="CollisionShape2D" parent="Eysight"]
position = Vector2(0, 60)
shape = SubResource("SegmentShape2D_yb26d")
script = ExtResource("3_dqn6w")
[node name="CollisionShape2D3" type="CollisionShape2D" parent="Eysight" index="2"]
[node name="CollisionShape2D3" type="CollisionShape2D" parent="Eysight"]
position = Vector2(0, -60)
shape = SubResource("SegmentShape2D_yb26d")
script = ExtResource("3_dqn6w")
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(0, 5)
shape = SubResource("RectangleShape2D_r7xnh")
[node name="ChannelPlayer" type="Node" parent="."]
script = ExtResource("11_13f0q")
audioStream = ExtResource("12_4a4xw")
channel = "pea_shoot"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="FlashController" type="Node" parent="."]
script = ExtResource("13_otw6n")
shaderMaterial = ExtResource("2_833fu")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]

View file

@ -1,18 +1,12 @@
[gd_scene load_steps=14 format=3 uid="uid://bq7imkpr2yqyr"]
[gd_scene load_steps=15 format=3 uid="uid://bq7imkpr2yqyr"]
[ext_resource type="PackedScene" uid="uid://b1hjjbdwf1rtc" path="res://scenes/templates/plant_template.tscn" id="1_fluxn"]
[ext_resource type="Shader" uid="uid://cgc7spjkhsx7c" path="res://assets/shaders/generic_flash.gdshader" id="2_bi7an"]
[ext_resource type="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_mnh2m"]
[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_mnh2m"]
[ext_resource type="Texture2D" uid="uid://dstqh1wc5dvmo" path="res://assets/sprites/atlases/plants/wallnut.png" id="2_o5tda"]
[ext_resource type="AnimationLibrary" uid="uid://0bdesb8j2mbo" path="res://assets/animations/plants/wallnut.res" id="3_xl65q"]
[ext_resource type="Script" uid="uid://btkmd86pn828y" path="res://scripts/entities/plants/behaviours/HpBasedBehaviour.cs" id="4_cjtyy"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ladjs"]
resource_local_to_scene = true
shader = ExtResource("2_bi7an")
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/selected = false
shader_parameter/blend = 0.0
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="5_2hmhw"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="7_frxj2"]
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_y3tlf"]
@ -46,35 +40,47 @@ node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_khltr"]
size = Vector2(33, 46)
[node name="Wallnut" instance=ExtResource("1_fluxn")]
GetInternalID() = "wallnut"
[node name="Wallnut" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_mnh2m")
MaxHP = 600.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" parent="." index="0"]
material = SubResource("ShaderMaterial_ladjs")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_mnh2m")
texture = ExtResource("2_o5tda")
hframes = 12
vframes = 3
frame = 10
[node name="AnimationPlayer" parent="." index="1"]
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"wallnut": ExtResource("3_xl65q")
}
[node name="AnimationTree" parent="." index="2"]
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_bi7an")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0
parameters/Tree/blend_position = 1.0
script = ExtResource("5_2hmhw")
entity = NodePath("..")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox" index="0"]
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(3.5, 5)
shape = SubResource("RectangleShape2D_khltr")
[node name="Behaviour" type="Node" parent="." index="4"]
[node name="Behaviour" type="Node" parent="."]
script = ExtResource("4_cjtyy")
parameters = Array[String](["parameters/Tree/blend_position"])
[node name="FlashController" parent="." index="5"]
shaderMaterial = SubResource("ShaderMaterial_ladjs")
[node name="FlashController" type="Node" parent="."]
script = ExtResource("7_frxj2")
shaderMaterial = ExtResource("2_mnh2m")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]
[connection signal="OnHPChanged" from="." to="Behaviour" method="OnHPChanged"]

View file

@ -1,7 +1,6 @@
[gd_scene load_steps=5 format=3 uid="uid://b1hjjbdwf1rtc"]
[gd_scene load_steps=4 format=3 uid="uid://b1hjjbdwf1rtc"]
[ext_resource type="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_324sd"]
[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_3uws4"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="2_e75pf"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="4_3uws4"]
@ -11,7 +10,6 @@ _player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_3uws4")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
@ -26,6 +24,5 @@ collision_mask = 0
[node name="FlashController" type="Node" parent="."]
script = ExtResource("4_3uws4")
shaderMaterial = ExtResource("2_3uws4")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]