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="Script" uid="uid://dildme6epx8l4" path="res://scripts/entities/zombies/RuntimeZombieData.cs" id="1_5h5we"]
[ext_resource type="Resource" uid="uid://dsg1vjx76ifgu" path="res://assets/effects/RandomRedirectEffect.tres" id="3_b583s"] [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://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://c5v2og85t7s6j" path="res://scripts/entities/zombies/behaviours/HoboBehaviour.cs" id="4_5selg"]
[ext_resource type="Script" uid="uid://c3cfnrmnnuqms" path="res://addons/floatmodifiers/FloatModifiers.cs" id="4_c1y3b"] [ext_resource type="Script" uid="uid://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="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="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="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://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="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="Texture2D" uid="uid://cogfbn4re3kob" path="res://assets/sprites/garbage_can2.tres" id="7_txjqc"]
[ext_resource type="AnimationLibrary" uid="uid://ceb3khu7rwgy8" path="res://assets/animations/zombies/basic.res" id="7_vn3j1"] [ext_resource type="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://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="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="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://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="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"] [sub_resource type="SkeletonModification2DCCDIK" id="SkeletonModification2DCCDIK_wn68q"]
resource_local_to_scene = true tip_nodepath = NodePath("Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand")
shader = ExtResource("23_nc6p3") ccdik_data_chain_length = 2
shader_parameter/FLASH_COLOR = Color(1, 0.709804, 0.439216, 0.5) joint_data/0/bone_index = 17
shader_parameter/HIGHLIGHT_COLOR = Color(1, 0.709804, 0.439216, 0.5) joint_data/0/bone2d_node = NodePath("Butt/Body/LeftUpperArm/LeftLowerArm")
shader_parameter/blend = 0.0 joint_data/0/rotate_from_joint = false
shader_parameter/selected = 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"] [sub_resource type="AtlasTexture" id="AtlasTexture_txjqc"]
atlas = ExtResource("5_b583s") atlas = ExtResource("5_b583s")
@ -74,6 +173,10 @@ region = Rect2(91, 32, 9, 15)
atlas = ExtResource("5_b583s") atlas = ExtResource("5_b583s")
region = Rect2(137, 19, 29, 39) 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"] [sub_resource type="AtlasTexture" id="AtlasTexture_5selg"]
atlas = ExtResource("5_b583s") atlas = ExtResource("5_b583s")
region = Rect2(0, 29, 35, 11) region = Rect2(0, 29, 35, 11)
@ -86,6 +189,14 @@ height = 48.0
atlas = ExtResource("5_b583s") atlas = ExtResource("5_b583s")
region = Rect2(80, 0, 32, 30) 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"] [sub_resource type="AtlasTexture" id="AtlasTexture_7cvmi"]
atlas = ExtResource("5_b583s") atlas = ExtResource("5_b583s")
region = Rect2(38, 22, 22, 13) 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_vn3j1"]
[sub_resource type="CircleShape2D" id="CircleShape2D_dn8ha"]
[sub_resource type="AtlasTexture" id="AtlasTexture_tebih"] [sub_resource type="AtlasTexture" id="AtlasTexture_tebih"]
atlas = ExtResource("5_b583s") atlas = ExtResource("5_b583s")
region = Rect2(34, 0, 6, 19) region = Rect2(34, 0, 6, 19)
@ -108,6 +221,10 @@ region = Rect2(43, 0, 9, 15)
atlas = ExtResource("5_b583s") atlas = ExtResource("5_b583s")
region = Rect2(55, 0, 9, 10) 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"] [sub_resource type="Animation" id="Animation_vn3j1"]
resource_name = "RESET" resource_name = "RESET"
tracks/0/type = "value" tracks/0/type = "value"
@ -656,6 +773,9 @@ _data = {
&"RESET": SubResource("Animation_vn3j1") &"RESET": SubResource("Animation_vn3j1")
} }
[sub_resource type="RectangleShape2D" id="RectangleShape2D_hxyad"]
size = Vector2(26, 48)
[sub_resource type="Resource" id="Resource_n380g"] [sub_resource type="Resource" id="Resource_n380g"]
resource_local_to_scene = true resource_local_to_scene = true
script = ExtResource("4_c1y3b") script = ExtResource("4_c1y3b")
@ -663,6 +783,9 @@ flat_value = 5.0
percentage_value = 0.0 percentage_value = 0.0
mult_value = 1.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="AnimationNodeTimeScale" id="AnimationNodeTimeScale_2q05d"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vn3j1"] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vn3j1"]
@ -757,85 +880,207 @@ flat_value = 0.4
percentage_value = 0.0 percentage_value = 0.0
mult_value = 1.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") _armor = NodePath("CanArmor")
MaxHP = 185.0 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"] [node name="CanvasGroup" type="CanvasGroup" parent="."]
material = SubResource("ShaderMaterial_vn3j1") 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) 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") 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"] [node name="RightUpperLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"]
scale = Vector2(0.999831, 0.999831) use_parent_material = true
position = Vector2(-6, 3)
[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"]
scale = Vector2(0.999827, 0.999827) 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") 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"] [node name="RightLowerArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm"]
scale = Vector2(0.999815, 0.999815) 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") 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") 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") 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"] [node name="Tie" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"]
rotation = 0.0332545 position = Vector2(-9, -21)
rotation = 0.0486026
scale = Vector2(1e-05, 1e-05) 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 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) scale = Vector2(1.00027, 1.00027)
collision_layer = 128 collision_layer = 128
collision_mask = 64 collision_mask = 64
@ -847,7 +1092,7 @@ minTorque = -45.0
maxTorque = 45.0 maxTorque = 45.0
Impulse = 100.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") material = ExtResource("6_vn3j1")
position = Vector2(-5.9999, -4.5002) position = Vector2(-5.9999, -4.5002)
texture = ExtResource("6_i6nje") texture = ExtResource("6_i6nje")
@ -856,33 +1101,65 @@ armor = NodePath("../../../../../../../CanArmor")
degradationStages = Array[Texture2D]([ExtResource("6_i6nje"), ExtResource("7_txjqc"), ExtResource("8_b583s")]) degradationStages = Array[Texture2D]([ExtResource("6_i6nje"), ExtResource("7_txjqc"), ExtResource("8_b583s")])
thresholdPercentage = Array[float]([1.0, 0.667, 0.333]) 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 z_index = -1
material = ExtResource("6_vn3j1") material = ExtResource("6_vn3j1")
position = Vector2(-7.4999, -27.5002) position = Vector2(-7.4999, -27.5002)
texture = SubResource("AtlasTexture_5selg") 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) position = Vector2(-4.9999, -5.0002)
shape = SubResource("CapsuleShape2D_4248q") 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") 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"] [node name="Right_Eye" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"]
position = Vector2(-16, -8.00001) 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) 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) position = Vector2(-3, 3)
rotation = -0.0540862 rotation = -0.0790489
scale = Vector2(0.999834, 0.999834) scale = Vector2(0.999826, 0.999826)
texture = SubResource("AtlasTexture_7cvmi") texture = SubResource("AtlasTexture_7cvmi")
centered = false
offset = Vector2(-14, -2) 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) position = Vector2(-3, 3)
scale = Vector2(0.999826, 0.999826) scale = Vector2(0.999826, 0.999826)
collision_layer = 128 collision_layer = 128
@ -891,7 +1168,7 @@ freeze = true
script = ExtResource("3_tu6af") script = ExtResource("3_tu6af")
data = NodePath("../../../../../../../../..") 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 z_index = -1
material = ExtResource("6_vn3j1") material = ExtResource("6_vn3j1")
position = Vector2(2.99822, -20.0166) position = Vector2(2.99822, -20.0166)
@ -900,19 +1177,59 @@ texture = SubResource("AtlasTexture_n380g")
offset = Vector2(-0.5, -0.5) offset = Vector2(-0.5, -0.5)
metadata/_edit_lock_ = true 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) position = Vector2(2.99791, -20.018)
shape = SubResource("CircleShape2D_vn3j1") 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") script = ExtResource("12_vn3j1")
_threshold = 0.333 _threshold = 0.333
_observedArmor = NodePath("../../../../../../../../../../CanArmor") _observedArmor = NodePath("../../../../../../../../../../CanArmor")
[node name="Jaw" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head" index="1"] [node name="CollisionShape2D" type="CollisionShape2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle"]
scale = Vector2(0.999834, 0.999834) 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) position = Vector2(-0.0022974, -17.0131)
scale = Vector2(0.999828, 0.999828) scale = Vector2(0.999828, 0.999828)
rest = Transform2D(1, 0, 0, 1, -0.0022974, -17.0131) rest = Transform2D(1, 0, 0, 1, -0.0022974, -17.0131)
@ -921,84 +1238,195 @@ length = 12.0
bone_angle = 180.0 bone_angle = 180.0
editor_settings/show_bone_gizmo = false 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") remote_path = NodePath("../../HeadParticle/Head/TrashcanLid/Trashcan_lid")
[node name="LeftUpperArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="5"] [node name="LeftUpperArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"]
scale = Vector2(0.999825, 0.999825) 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") 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"] [node name="HandProjectile" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm" node_paths=PackedStringArray("data")]
rotation = 0.0299982 position = Vector2(-2, 14)
scale = Vector2(0.999995, 0.999995) 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") 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) position = Vector2(-0.99983, 12.9978)
rotation = 0.0
scale = Vector2(0.999652, 0.999652) scale = Vector2(0.999652, 0.999652)
texture = SubResource("AtlasTexture_dntsa") 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"] [node name="CollisionShape2D" type="CollisionShape2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile"]
scale = Vector2(0.999825, 0.999825) 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) 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 = { libraries = {
&"": SubResource("AnimationLibrary_x5uj2"), &"": SubResource("AnimationLibrary_x5uj2"),
&"basic": ExtResource("7_vn3j1"), &"basic": ExtResource("7_vn3j1"),
&"hobo": ExtResource("8_yb81c") &"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" 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") _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") tree_root = SubResource("AnimationNodeBlendTree_txjqc")
advance_expression_base_node = NodePath("../Behaviour") 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") _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")]) playlist = Array[AudioStream]([ExtResource("8_4248q"), ExtResource("9_tu6af")])
channels = Array[String](["metal_hit", "hit"]) 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") script = ExtResource("4_w8pya")
MaxHP = 550.0 MaxHP = 550.0
metadata/_custom_type_script = "uid://fd4im1fmwc5n" 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") script = ExtResource("19_8y6c0")
shaderMaterial = ExtResource("6_vn3j1") 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") script = ExtResource("4_5selg")
_eatBox = NodePath("../Eatbox") _eatBox = NodePath("../Eatbox")
_animationTree = NodePath("../AnimationTree") _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") script = ExtResource("11_7jlle")
audioStream = ExtResource("12_w1b1s") audioStream = ExtResource("12_w1b1s")
channel = "anger" channel = "anger"
metadata/_custom_type_script = "uid://c36bj8u7jghc7" 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") 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/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="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="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="ArmorLost" from="CanArmor" to="Behaviour" method="Trashed"]
[connection signal="Damaged" from="CanArmor" to="HitPlayer" method="Play"] [connection signal="Damaged" from="CanArmor" to="HitPlayer" method="Play"]
[connection signal="Damaged" from="CanArmor" to="CanArmor/FlashController" method="DamageFlash"] [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="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="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="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="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://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"] [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"] [node name="RightUpperLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"]
use_parent_material = true use_parent_material = true
position = Vector2(-6, 3) position = Vector2(-6, 3)
scale = Vector2(0.999834, 0.999834) scale = Vector2(0.999835, 0.999835)
rest = Transform2D(1, 0, 0, 1, -6, 3) rest = Transform2D(1, 0, 0, 1, -6, 3)
editor_settings/show_bone_gizmo = false 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"] [node name="RightFoot" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg"]
position = Vector2(-2, 14) position = Vector2(-2, 14)
scale = Vector2(0.999833, 0.999833) scale = Vector2(0.999834, 0.999834)
rest = Transform2D(1, 0, 0, 1, -2, 14) rest = Transform2D(1, 0, 0, 1, -2, 14)
auto_calculate_length_and_angle = false auto_calculate_length_and_angle = false
length = 12.0 length = 12.0
@ -868,7 +868,7 @@ metadata/_edit_lock_ = true
[node name="LeftLowerLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg"] [node name="LeftLowerLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg"]
position = Vector2(-1, 13) position = Vector2(-1, 13)
scale = Vector2(0.999834, 0.999834) scale = Vector2(0.999836, 0.999836)
rest = Transform2D(1, 0, 0, 1, -1, 13) rest = Transform2D(1, 0, 0, 1, -1, 13)
editor_settings/show_bone_gizmo = false 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"] [node name="LeftFoot" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg"]
position = Vector2(6, 10) position = Vector2(6, 10)
scale = Vector2(0.999831, 0.999831) scale = Vector2(0.999829, 0.999829)
rest = Transform2D(1, 0, 0, 1, 6, 10) rest = Transform2D(1, 0, 0, 1, 6, 10)
auto_calculate_length_and_angle = false auto_calculate_length_and_angle = false
length = 12.0 length = 12.0
@ -904,7 +904,7 @@ editor_settings/show_bone_gizmo = false
z_index = -1 z_index = -1
use_parent_material = true use_parent_material = true
position = Vector2(-14, -23) position = Vector2(-14, -23)
scale = Vector2(0.999828, 0.999828) scale = Vector2(0.999827, 0.999827)
rest = Transform2D(1, 0, 0, 1, -14, -23) rest = Transform2D(1, 0, 0, 1, -14, -23)
editor_settings/show_bone_gizmo = false 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"] [node name="RightLowerArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm"]
position = Vector2(-2, 15) position = Vector2(-2, 15)
scale = Vector2(0.999829, 0.999829) scale = Vector2(0.99983, 0.99983)
rest = Transform2D(1, 0, 0, 1, -2, 15) rest = Transform2D(1, 0, 0, 1, -2, 15)
editor_settings/show_bone_gizmo = false editor_settings/show_bone_gizmo = false
[node name="RightHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm"] [node name="RightHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm"]
position = Vector2(-1, 13) position = Vector2(-1, 13)
scale = Vector2(0.999828, 0.999828) scale = Vector2(0.999829, 0.999829)
rest = Transform2D(1, 0, 0, 1, -1, 13) rest = Transform2D(1, 0, 0, 1, -1, 13)
auto_calculate_length_and_angle = false auto_calculate_length_and_angle = false
length = 8.0 length = 8.0
@ -950,8 +950,8 @@ metadata/_edit_lock_ = true
[node name="Tie" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"] [node name="Tie" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"]
position = Vector2(-9, -21) position = Vector2(-9, -21)
rotation = 0.0871529 rotation = 0.143865
skew = -0.000476122 skew = -0.000476241
rest = Transform2D(1, 0, 0, 1, -9, -21) rest = Transform2D(1, 0, 0, 1, -9, -21)
auto_calculate_length_and_angle = false auto_calculate_length_and_angle = false
length = 24.0 length = 24.0
@ -1004,9 +1004,9 @@ offset = Vector2(-2, -2)
metadata/_edit_lock_ = true metadata/_edit_lock_ = true
[node name="Jaw" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"] [node name="Jaw" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"]
position = Vector2(-3.00107, 2.99818) position = Vector2(-2.95686, 2.88837)
rotation = 0.00845789 rotation = 0.0182787
scale = Vector2(0.999829, 0.999829) scale = Vector2(0.999831, 0.999831)
texture = SubResource("AtlasTexture_x5uj2") texture = SubResource("AtlasTexture_x5uj2")
centered = false centered = false
offset = Vector2(-12, -2) offset = Vector2(-12, -2)
@ -1023,7 +1023,7 @@ _observedEntity = NodePath("../../../../../../../..")
[node name="Jaw" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"] [node name="Jaw" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"]
position = Vector2(-3, 3) position = Vector2(-3, 3)
scale = Vector2(0.99983, 0.99983) scale = Vector2(0.999831, 0.999831)
rest = Transform2D(1, 0, 0, 1, -3, 3) rest = Transform2D(1, 0, 0, 1, -3, 3)
auto_calculate_length_and_angle = false auto_calculate_length_and_angle = false
length = 11.0 length = 11.0
@ -1079,7 +1079,7 @@ minTorque = -45.0
maxTorque = 45.0 maxTorque = 45.0
[node name="Left_Lower_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile"] [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) scale = Vector2(0.999998, 0.999998)
texture = SubResource("AtlasTexture_auqeq") texture = SubResource("AtlasTexture_auqeq")
centered = false 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"] [node name="Left_Hand" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm"]
show_behind_parent = true show_behind_parent = true
position = Vector2(-0.99983, 12.9978) position = Vector2(-0.999829, 12.9978)
rotation = -0.0361645 rotation = -0.0781564
scale = Vector2(0.999656, 0.999656) scale = Vector2(0.999658, 0.999658)
texture = SubResource("AtlasTexture_vlvtp") texture = SubResource("AtlasTexture_vlvtp")
centered = false centered = false
offset = Vector2(-4, -1) 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"] [node name="LeftHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm"]
position = Vector2(-1, 13) position = Vector2(-1, 13)
scale = Vector2(0.999826, 0.999826) scale = Vector2(0.999827, 0.999827)
rest = Transform2D(1, 0, 0, 1, -1, 13) rest = Transform2D(1, 0, 0, 1, -1, 13)
auto_calculate_length_and_angle = false auto_calculate_length_and_angle = false
length = 6.0 length = 6.0
@ -1167,7 +1167,7 @@ entity = NodePath("..")
[node name="Mover" type="Node" parent="."] [node name="Mover" type="Node" parent="."]
script = ExtResource("4_u5syx") script = ExtResource("4_u5syx")
_speed = SubResource("Resource_ckb7n") _speed = SubResource("Resource_ckb7n")
_speedControlMult = 0.271112 _speedControlMult = 1.64254
[node name="HitPlayer" type="Node" parent="."] [node name="HitPlayer" type="Node" parent="."]
script = ExtResource("12_he8da") 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="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_8fr1j"]
[ext_resource type="Shader" uid="uid://cgc7spjkhsx7c" path="res://assets/shaders/generic_flash.gdshader" id="2_dm0tl"] [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="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="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://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"] [ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="5_gfy6j"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="7_vpcbp"]
[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
[sub_resource type="Animation" id="Animation_vknky"] [sub_resource type="Animation" id="Animation_vknky"]
length = 0.001 length = 0.001
@ -103,43 +97,54 @@ node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_oe0dc"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_oe0dc"]
size = Vector2(22, 32) size = Vector2(22, 32)
[node name="Aloe" instance=ExtResource("1_n25yi")] [node name="Aloe" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
GetInternalID() = "aloe" script = ExtResource("1_8fr1j")
MaxHP = 30.0 MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" parent="." index="0"] [node name="Sprite2D" type="Sprite2D" parent="."]
material = SubResource("ShaderMaterial_8fr1j") material = ExtResource("2_aimqk")
position = Vector2(9, -14) position = Vector2(9, -14)
texture = ExtResource("2_iup5p") texture = ExtResource("2_iup5p")
hframes = 8 hframes = 8
vframes = 4 vframes = 4
[node name="AnimationPlayer" parent="." index="1"] [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = { libraries = {
&"": SubResource("AnimationLibrary_wlien"), &"": SubResource("AnimationLibrary_wlien"),
&"aloe": ExtResource("3_3sp3b") &"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") tree_root = SubResource("AnimationNodeBlendTree_gfy6j")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0 parameters/TimeScale/scale = 1.0
parameters/Tree/conditions/charged = false parameters/Tree/conditions/charged = false
parameters/Tree/conditions/heal = 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") script = ExtResource("4_55asm")
_hpTreshold = 0.5 _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 wait_time = 15.0
one_shot = true one_shot = true
script = ExtResource("5_gfy6j") script = ExtResource("5_gfy6j")
entity = NodePath("../..") 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") shape = SubResource("RectangleShape2D_oe0dc")
[node name="FlashController" parent="." index="5"] [node name="FlashController" type="Node" parent="."]
shaderMaterial = SubResource("ShaderMaterial_8fr1j") 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"] [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="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://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="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="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://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"] [ext_resource type="Script" uid="uid://bdk5iqtw4xbkl" path="res://scripts/entities/plants/behaviours/PeashooterBehaviour.cs" id="7_q31qc"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="9_a66ro"]
[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
[sub_resource type="Animation" id="Animation_n1xkd"] [sub_resource type="Animation" id="Animation_n1xkd"]
length = 0.001 length = 0.001
@ -118,7 +112,6 @@ transitions = ["Start", "cucumber_idle", SubResource("AnimationNodeStateMachineT
graph_offset = Vector2(137, -3) graph_offset = Vector2(137, -3)
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_xwpd6"] [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_xwpd6"]
graph_offset = Vector2(-370, 72)
nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_ig0op") nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_ig0op")
nodes/TimeScale/position = Vector2(60, 140) nodes/TimeScale/position = Vector2(60, 140)
nodes/Tree/node = SubResource("AnimationNodeStateMachine_jbggv") nodes/Tree/node = SubResource("AnimationNodeStateMachine_jbggv")
@ -132,54 +125,67 @@ height = 48.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_n1xkd"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_n1xkd"]
size = Vector2(26, 600) size = Vector2(26, 600)
[node name="Cucumber" instance=ExtResource("1_65f4u")] [node name="Cucumber" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
GetInternalID() = "cucumber" material = ExtResource("2_q31qc")
script = ExtResource("1_xwpd6")
MaxHP = 30.0 MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" parent="." index="0"] [node name="Sprite2D" type="Sprite2D" parent="."]
material = SubResource("ShaderMaterial_jbggv") material = ExtResource("2_q31qc")
texture = ExtResource("2_ig0op") texture = ExtResource("2_ig0op")
hframes = 10 hframes = 10
vframes = 2 vframes = 2
frame = 10 frame = 10
[node name="AnimationPlayer" parent="." index="1"] [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = { libraries = {
&"": SubResource("AnimationLibrary_gogcg"), &"": SubResource("AnimationLibrary_gogcg"),
&"cucumber": SubResource("AnimationLibrary_n1xkd") &"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") tree_root = SubResource("AnimationNodeBlendTree_xwpd6")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0 parameters/TimeScale/scale = 1.0
parameters/Tree/conditions/ready = false 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") shape = SubResource("CapsuleShape2D_ig0op")
[node name="Eysight" type="Area2D" parent="." index="4"] [node name="Eysight" type="Area2D" parent="."]
collision_layer = 4 collision_layer = 4
collision_mask = 8 collision_mask = 8
script = ExtResource("3_d45iq") script = ExtResource("3_d45iq")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Eysight" index="0"] [node name="CollisionShape2D" type="CollisionShape2D" parent="Eysight"]
shape = SubResource("RectangleShape2D_n1xkd") 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") script = ExtResource("4_sckvu")
_projectile = ExtResource("5_sckvu") _projectile = ExtResource("5_sckvu")
_timer = NodePath("FireTimer") _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 wait_time = 2.5
one_shot = true one_shot = true
script = ExtResource("6_xwpd6") script = ExtResource("6_xwpd6")
entity = NodePath("../..") 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") script = ExtResource("7_q31qc")
_shootTimer = NodePath("../Shooter/FireTimer") _shootTimer = NodePath("../Shooter/FireTimer")
_sight = NodePath("../Eysight") _sight = NodePath("../Eysight")
[node name="FlashController" parent="." index="7"] [node name="FlashController" type="Node" parent="."]
shaderMaterial = SubResource("ShaderMaterial_jbggv") 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="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="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://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="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"] [sub_resource type="Animation" id="Animation_k0cex"]
length = 0.001 length = 0.001
@ -59,37 +62,52 @@ node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_thlvs"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_thlvs"]
size = Vector2(32, 29) size = Vector2(32, 29)
[node name="Garlic" instance=ExtResource("1_5i0e6")] [node name="Garlic" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
GetInternalID() = "garlic" script = ExtResource("1_gu3kj")
MaxHP = 200.0 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") texture = ExtResource("2_w2jbi")
hframes = 8 hframes = 8
vframes = 3 vframes = 3
[node name="AnimationPlayer" parent="." index="1"] [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = { libraries = {
&"": SubResource("AnimationLibrary_v4l78"), &"": SubResource("AnimationLibrary_v4l78"),
&"garlic": ExtResource("3_jkb3q") &"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") tree_root = SubResource("AnimationNodeBlendTree_2o7sr")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0 parameters/TimeScale/scale = 1.0
parameters/Tree/blend_position = 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) position = Vector2(1, 11.5)
shape = SubResource("RectangleShape2D_thlvs") shape = SubResource("RectangleShape2D_thlvs")
[node name="Behaviour" type="Node" parent="." index="4"] [node name="Behaviour" type="Node" parent="."]
script = ExtResource("4_bv44h") script = ExtResource("4_bv44h")
parameters = Array[String](["parameters/Tree/blend_position"]) 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") script = ExtResource("5_oob20")
_effectToReturn = ExtResource("6_gho1l") _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="Behaviour" method="OnHPChanged"]
[connection signal="OnHPChanged" from="." to="ReturnEffect" method="OnDamageRecieved"] [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="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="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="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://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"] [sub_resource type="Animation" id="Animation_ga4vy"]
length = 0.001 length = 0.001
@ -251,46 +254,61 @@ radius = 24.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ga4vy"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_ga4vy"]
size = Vector2(73, 48) size = Vector2(73, 48)
[node name="Nerdus" instance=ExtResource("1_8ui1h")] [node name="Nerdus" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
GetInternalID() = "nerdus" script = ExtResource("1_o12iv")
MaxHP = 200.0 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") texture = ExtResource("2_614v4")
hframes = 7 hframes = 7
vframes = 6 vframes = 6
[node name="AnimationPlayer" parent="." index="1"] [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = { libraries = {
&"": SubResource("AnimationLibrary_o1ggp"), &"": SubResource("AnimationLibrary_o1ggp"),
&"nerdus": SubResource("AnimationLibrary_pddnl") &"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") tree_root = SubResource("AnimationNodeBlendTree_6a4q1")
advance_expression_base_node = NodePath("../Hurtbox") advance_expression_base_node = NodePath("../Hurtbox")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0 parameters/TimeScale/scale = 1.0
parameters/Tree/Attack/blend_position = 1.0 parameters/Tree/Attack/blend_position = 1.0
parameters/Tree/Idle/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) position = Vector2(0, 3)
shape = SubResource("CircleShape2D_8ui1h") shape = SubResource("CircleShape2D_8ui1h")
[node name="Hurtbox" type="Area2D" parent="." index="4"] [node name="Hurtbox" type="Area2D" parent="."]
collision_layer = 0 collision_layer = 0
collision_mask = 8 collision_mask = 8
script = ExtResource("3_614v4") script = ExtResource("3_614v4")
returnEffect = ExtResource("4_ga4vy") returnEffect = ExtResource("4_ga4vy")
bitesToPeas = 1.6 bitesToPeas = 1.6
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hurtbox" index="0"] [node name="CollisionShape2D" type="CollisionShape2D" parent="Hurtbox"]
position = Vector2(3.5, 3) position = Vector2(3.5, 3)
shape = SubResource("RectangleShape2D_ga4vy") shape = SubResource("RectangleShape2D_ga4vy")
[node name="Behaviour" type="Node" parent="." index="5"] [node name="Behaviour" type="Node" parent="."]
script = ExtResource("5_o1ggp") script = ExtResource("5_o1ggp")
parameters = Array[String](["parameters/Tree/Attack/blend_position", "parameters/Tree/Idle/blend_position"]) 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="Hurtbox" method="OnHPChanged"]
[connection signal="OnHPChanged" from="." to="Behaviour" 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="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="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="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="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://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://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://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://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="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"] [ext_resource type="AudioStream" uid="uid://dsv81mvrdg3w3" path="res://assets/audio/sfx/throw_generic.tres" id="10_q58jr"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="14_dmys5"]
[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
[sub_resource type="Animation" id="Animation_a2y0j"] [sub_resource type="Animation" id="Animation_a2y0j"]
length = 0.001 length = 0.001
@ -81,63 +75,75 @@ resource_local_to_scene = true
[sub_resource type="RectangleShape2D" id="RectangleShape2D_r7xnh"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_r7xnh"]
size = Vector2(20, 44) size = Vector2(20, 44)
[node name="Peashooter" instance=ExtResource("1_pyk3o")] [node name="Peashooter" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
GetInternalID() = "peashooter" script = ExtResource("1_p4cd5")
MaxHP = 30.0 MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" parent="." index="0"] [node name="Sprite2D" type="Sprite2D" parent="."]
material = SubResource("ShaderMaterial_fp65y") material = ExtResource("2_p4cd5")
texture = ExtResource("2_14qlx") texture = ExtResource("2_14qlx")
hframes = 10 hframes = 10
vframes = 2 vframes = 2
[node name="AnimationPlayer" parent="." index="1"] [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = { libraries = {
&"": SubResource("AnimationLibrary_ipp6b"), &"": SubResource("AnimationLibrary_ipp6b"),
&"peashooter": ExtResource("3_8lrhp") &"peashooter": ExtResource("3_8lrhp")
} }
autoplay = "peashooter/idle" autoplay = "peashooter/idle"
[node name="AnimationTree" parent="." index="2"] [node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_q58jr") tree_root = SubResource("AnimationNodeBlendTree_q58jr")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0 parameters/TimeScale/scale = 1.0
parameters/Tree/conditions/ready = false 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) position = Vector2(12, -4)
script = ExtResource("3_a4ew1") script = ExtResource("3_a4ew1")
_projectile = ExtResource("4_saxds") _projectile = ExtResource("4_saxds")
_timer = NodePath("FireTimer") _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 wait_time = 1.5
one_shot = true one_shot = true
script = ExtResource("6_q58jr") script = ExtResource("6_q58jr")
entity = NodePath("../..") 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") script = ExtResource("5_7qiua")
_shootTimer = NodePath("../Shooter/FireTimer") _shootTimer = NodePath("../Shooter/FireTimer")
_sight = NodePath("../Eysight") _sight = NodePath("../Eysight")
[node name="Eysight" type="Area2D" parent="." index="5"] [node name="Eysight" type="Area2D" parent="."]
collision_layer = 4 collision_layer = 4
collision_mask = 8 collision_mask = 8
script = ExtResource("7_2bki8") script = ExtResource("7_2bki8")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Eysight" index="0"] [node name="CollisionShape2D" type="CollisionShape2D" parent="Eysight"]
shape = SubResource("SegmentShape2D_8iovl") shape = SubResource("SegmentShape2D_8iovl")
script = ExtResource("8_nl4jc") 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) position = Vector2(0, 5)
shape = SubResource("RectangleShape2D_r7xnh") shape = SubResource("RectangleShape2D_r7xnh")
[node name="ChannelPlayer" type="Node" parent="." index="7"] [node name="ChannelPlayer" type="Node" parent="."]
script = ExtResource("9_mbbd7") script = ExtResource("9_mbbd7")
audioStream = ExtResource("10_q58jr") audioStream = ExtResource("10_q58jr")
channel = "pea_shoot" channel = "pea_shoot"
metadata/_custom_type_script = "uid://c36bj8u7jghc7" metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="FlashController" parent="." index="8"] [node name="FlashController" type="Node" parent="."]
shaderMaterial = SubResource("ShaderMaterial_fp65y") 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="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_a0d1l"]
[ext_resource type="Shader" uid="uid://cgc7spjkhsx7c" path="res://assets/shaders/generic_flash.gdshader" id="2_lx7n5"] [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="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="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="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="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="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="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="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="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"] [ext_resource type="AudioStream" uid="uid://b27om1bw1x04e" path="res://assets/audio/sfx/dirt_rise.mp3" id="9_3vqdc"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="13_cfvur"]
[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
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_3vqdc"] [sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_3vqdc"]
@ -86,85 +80,96 @@ size = Vector2(15, 27)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ti2g4"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_ti2g4"]
size = Vector2(22, 19) size = Vector2(22, 19)
[node name="Potato mine" instance=ExtResource("1_dj7ul")] [node name="Potato mine" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
GetInternalID() = "potatomine" script = ExtResource("1_a0d1l")
MaxHP = 20.0 MaxHP = 20.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" parent="." index="0"] [node name="Sprite2D" type="Sprite2D" parent="."]
material = SubResource("ShaderMaterial_crloj") material = ExtResource("2_a0d1l")
texture = ExtResource("2_sneas") texture = ExtResource("2_sneas")
hframes = 7 hframes = 7
vframes = 4 vframes = 4
frame = 7 frame = 7
[node name="AnimationPlayer" parent="." index="1"] [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = { libraries = {
&"potato_mine": ExtResource("3_7tqmj") &"potato_mine": ExtResource("3_7tqmj")
} }
autoplay = "idle_unprimed" autoplay = "idle_unprimed"
[node name="AnimationTree" parent="." index="2"] [node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_824aq") tree_root = SubResource("AnimationNodeBlendTree_824aq")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0 parameters/TimeScale/scale = 1.0
parameters/Tree/conditions/explode = false parameters/Tree/conditions/explode = false
parameters/Tree/conditions/primed = 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_layer = 0
collision_mask = 8 collision_mask = 8
[node name="CollisionShape2D" type="CollisionShape2D" parent="Detectionbox" index="0"] [node name="CollisionShape2D" type="CollisionShape2D" parent="Detectionbox"]
position = Vector2(0, 9) position = Vector2(0, 9)
shape = SubResource("CircleShape2D_824aq") shape = SubResource("CircleShape2D_824aq")
[node name="ExplosionBox" type="Area2D" parent="." index="4"] [node name="ExplosionBox" type="Area2D" parent="."]
collision_layer = 0 collision_layer = 0
collision_mask = 8 collision_mask = 8
script = ExtResource("3_2hd5y") script = ExtResource("3_2hd5y")
damage = 6000 damage = 6000
particles = ExtResource("5_px4r0") particles = ExtResource("5_px4r0")
[node name="CollisionShape2D" type="CollisionShape2D" parent="ExplosionBox" index="0"] [node name="CollisionShape2D" type="CollisionShape2D" parent="ExplosionBox"]
position = Vector2(0, 9) position = Vector2(0, 9)
shape = SubResource("CircleShape2D_wvns6") shape = SubResource("CircleShape2D_wvns6")
[node name="ExplosionPlayer" type="Node" parent="ExplosionBox" index="1"] [node name="ExplosionPlayer" type="Node" parent="ExplosionBox"]
script = ExtResource("7_b1j2f") script = ExtResource("7_b1j2f")
audioStream = ExtResource("8_3vqdc") audioStream = ExtResource("8_3vqdc")
channel = "explosion" channel = "explosion"
metadata/_custom_type_script = "uid://c36bj8u7jghc7" 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 wait_time = 15.0
one_shot = true one_shot = true
autostart = true autostart = true
script = ExtResource("8_824aq") script = ExtResource("8_824aq")
entity = NodePath("..") 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") script = ExtResource("4_twx65")
_hitbox = NodePath("../Hitbox") _hitbox = NodePath("../Hitbox")
detectionBox = NodePath("../Detectionbox") detectionBox = NodePath("../Detectionbox")
_unprimedShape = NodePath("../Hitbox/Unprimed") _unprimedShape = NodePath("../Hitbox/Unprimed")
_primedShape = NodePath("../Hitbox/Primed") _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) position = Vector2(-0.5, 14.5)
shape = SubResource("RectangleShape2D_qfqko") 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) position = Vector2(0, 16.5)
shape = SubResource("RectangleShape2D_ti2g4") shape = SubResource("RectangleShape2D_ti2g4")
disabled = true disabled = true
[node name="ChannelPlayer" type="Node" parent="." index="8"] [node name="ChannelPlayer" type="Node" parent="."]
script = ExtResource("7_b1j2f") script = ExtResource("7_b1j2f")
audioStream = ExtResource("9_3vqdc") audioStream = ExtResource("9_3vqdc")
channel = "plant_rise" channel = "plant_rise"
metadata/_custom_type_script = "uid://c36bj8u7jghc7" metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="FlashController" parent="." index="9"] [node name="FlashController" type="Node" parent="."]
shaderMaterial = SubResource("ShaderMaterial_crloj") 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="area_entered" from="Detectionbox" to="Behaviour" method="OnAreaEntered"]
[connection signal="timeout" from="PrimeTimer" to="Behaviour" method="Prime"] [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="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_moq7q"]
[ext_resource type="Shader" uid="uid://cgc7spjkhsx7c" path="res://assets/shaders/generic_flash.gdshader" id="2_ktw4a"] [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="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://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://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://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"] [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"] [sub_resource type="AtlasTexture" id="AtlasTexture_f4wwx"]
atlas = ExtResource("3_ktw4a") atlas = ExtResource("3_ktw4a")
region = Rect2(525, 241, 79, 72) region = Rect2(525, 241, 79, 72)
@ -30,26 +24,40 @@ region = Rect2(592, 64, 50, 60)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_5jowj"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_5jowj"]
size = Vector2(40, 36) size = Vector2(40, 36)
[node name="Snipach" instance=ExtResource("1_ltcu2")] [node name="Snipach" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
GetInternalID() = "snipach" script = ExtResource("1_moq7q")
MaxHP = 30.0 MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" parent="." index="0"] [node name="Sprite2D" type="Sprite2D" parent="."]
material = SubResource("ShaderMaterial_f4wwx") material = ExtResource("2_moq7q")
position = Vector2(8, -16) position = Vector2(8, -16)
texture = SubResource("AtlasTexture_f4wwx") 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) position = Vector2(-0.75, -2.5)
shape = SubResource("RectangleShape2D_ktw4a") shape = SubResource("RectangleShape2D_ktw4a")
[node name="DragAction" type="Node" parent="Hitbox" index="1"] [node name="DragAction" type="Node" parent="Hitbox"]
script = ExtResource("4_5jowj") script = ExtResource("4_5jowj")
[node name="FlashController" parent="." index="4"] [node name="FlashController" type="Node" parent="."]
shaderMaterial = SubResource("ShaderMaterial_f4wwx") script = ExtResource("6_4uf0y")
shaderMaterial = ExtResource("2_moq7q")
[node name="ShootBox" type="Area2D" parent="." index="5"] [node name="ShootBox" type="Area2D" parent="."]
visible = false visible = false
collision_layer = 32 collision_layer = 32
collision_mask = 24 collision_mask = 24
@ -57,29 +65,30 @@ input_pickable = false
script = ExtResource("5_twsk4") script = ExtResource("5_twsk4")
_damage = 400 _damage = 400
[node name="Sprite2D" type="Sprite2D" parent="ShootBox" index="0"] [node name="Sprite2D" type="Sprite2D" parent="ShootBox"]
texture = SubResource("AtlasTexture_3hyni") texture = SubResource("AtlasTexture_3hyni")
[node name="CollisionShape2D" type="CollisionShape2D" parent="ShootBox" index="1"] [node name="CollisionShape2D" type="CollisionShape2D" parent="ShootBox"]
shape = SubResource("RectangleShape2D_5jowj") 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") script = ExtResource("6_twsk4")
attackBox = NodePath("../ShootBox") attackBox = NodePath("../ShootBox")
timer = NodePath("Timer") timer = NodePath("Timer")
guardTimer = NodePath("GuardTimer") 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 wait_time = 15.0
one_shot = true one_shot = true
script = ExtResource("7_3hyni") script = ExtResource("7_3hyni")
entity = NodePath("../..") entity = NodePath("../..")
[node name="GuardTimer" type="Timer" parent="Behaviour" index="1"] [node name="GuardTimer" type="Timer" parent="Behaviour"]
wait_time = 0.2 wait_time = 0.2
one_shot = true one_shot = true
autostart = true autostart = true
ignore_time_scale = 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="DragBegin" from="Hitbox/DragAction" to="Behaviour" method="OnDragBegin"]
[connection signal="DragEnd" from="Hitbox/DragAction" to="Behaviour" method="OnDragEnd"] [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="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="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"] [ext_resource type="PackedScene" uid="uid://domeukw4ucmyr" path="res://scenes/projectiles/snowpea_projectile.tscn" id="5_bv86m"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="5_fbp2l"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_g872w"] [ext_resource type="Script" uid="uid://ceprqkraw3v6m" path="res://scripts/entities/plants/Shooter.cs" id="6_br16s"]
resource_local_to_scene = true [ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="8_bjd0y"]
shader = ExtResource("2_yyg2a") [ext_resource type="Script" uid="uid://bdk5iqtw4xbkl" path="res://scripts/entities/plants/behaviours/PeashooterBehaviour.cs" id="9_hg126"]
shader_parameter/FLASH_COLOR = Color(0.78, 0.78, 0.78, 0.501961) [ext_resource type="Script" uid="uid://dn53jvpjyg63l" path="res://scripts/entities/plants/Eyesight.cs" id="10_noqdw"]
shader_parameter/HIGHLIGHT_COLOR = Color(0.69, 0, 0, 0.282353) [ext_resource type="Script" uid="uid://hccb0aee0x0o" path="res://scripts/entities/plants/PlantEyesightLimiter.cs" id="11_terbf"]
shader_parameter/selected = false [ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="12_dvoqf"]
shader_parameter/blend = 0.0 [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"] [sub_resource type="Animation" id="Animation_pephc"]
length = 0.001 length = 0.001
@ -71,28 +72,78 @@ node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[sub_resource type="SegmentShape2D" id="SegmentShape2D_3oyhk"] [sub_resource type="SegmentShape2D" id="SegmentShape2D_3oyhk"]
resource_local_to_scene = true resource_local_to_scene = true
[node name="Snowpea" instance=ExtResource("1_lp85e")] [sub_resource type="RectangleShape2D" id="RectangleShape2D_r7xnh"]
GetInternalID() = "snowpea" size = Vector2(20, 44)
[node name="Sprite2D" parent="." index="0"] [node name="Snowpea" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
material = SubResource("ShaderMaterial_g872w") 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") texture = ExtResource("2_ytrm0")
hframes = 10
vframes = 2
[node name="AnimationPlayer" parent="." index="1"] [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = { libraries = {
&"": SubResource("AnimationLibrary_djmlc"), &"": SubResource("AnimationLibrary_djmlc"),
&"snowpea": ExtResource("4_jvx5y") &"snowpea": ExtResource("4_jvx5y")
} }
autoplay = "snowpea/idle" autoplay = "snowpea/idle"
[node name="AnimationTree" parent="." index="2"] [node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_3oyhk") 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") _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") shape = SubResource("SegmentShape2D_3oyhk")
script = ExtResource("11_terbf")
[node name="FlashController" parent="." index="8"] [node name="Hitbox" type="Area2D" parent="."]
shaderMaterial = SubResource("ShaderMaterial_g872w") 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="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_kd62n"]
[ext_resource type="Shader" uid="uid://cgc7spjkhsx7c" path="res://assets/shaders/generic_flash.gdshader" id="2_63okc"]
[ext_resource type="Texture2D" uid="uid://coafh3mjharxo" path="res://assets/sprites/atlases/plants/spikeweed.png" id="2_ffrjr"] [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="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="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://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"] [ext_resource type="Script" uid="uid://dw7v3s4kbu7ma" path="res://scripts/entities/AnimationStatistics.cs" id="5_yfuxj"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="6_sqcsr"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_yfuxj"] [ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="9_lq7xg"]
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
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_jleqa"] [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"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_1di76"]
size = Vector2(49, 38) size = Vector2(49, 38)
[node name="Spikeweed" instance=ExtResource("1_vmbvr")] [node name="Spikeweed" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
GetInternalID() = "spikeweed" script = ExtResource("1_kd62n")
MaxHP = 30.0 MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" parent="." index="0"] [node name="Sprite2D" type="Sprite2D" parent="."]
material = SubResource("ShaderMaterial_yfuxj") material = ExtResource("2_kd62n")
texture = ExtResource("2_ffrjr") texture = ExtResource("2_ffrjr")
hframes = 10 hframes = 10
vframes = 2 vframes = 2
frame = 6 frame = 1
[node name="AnimationPlayer" parent="." index="1"] [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = { libraries = {
&"spikeweed": ExtResource("3_nwshn") &"spikeweed": ExtResource("3_nwshn")
} }
[node name="DPSStatistics" type="Node" parent="AnimationPlayer" index="0"] [node name="DPSStatistics" type="Node" parent="AnimationPlayer"]
script = ExtResource("5_yfuxj") script = ExtResource("5_yfuxj")
animationName = "spikeweed/attack" animationName = "spikeweed/attack"
trackToFind = "Hitbox" trackToFind = "Hitbox"
[node name="AnimationTree" parent="." index="2"] [node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_63okc") tree_root = SubResource("AnimationNodeBlendTree_63okc")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0 parameters/TimeScale/scale = 1.0
parameters/Tree/blend_position = 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") script = ExtResource("3_uhpn7")
[node name="Hitbox" parent="." index="4"] [node name="Hitbox" type="Area2D" parent="."]
collision_layer = 4 collision_layer = 4
collision_mask = 8 collision_mask = 8
script = ExtResource("3_hqtbm") script = ExtResource("3_hqtbm")
_damage = 6 _damage = 6
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox" index="0"] [node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(0.5, 9) position = Vector2(0.5, 9)
shape = SubResource("RectangleShape2D_1di76") shape = SubResource("RectangleShape2D_1di76")
[node name="FlashController" parent="." index="5"] [node name="FlashController" type="Node" parent="."]
shaderMaterial = SubResource("ShaderMaterial_yfuxj") 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_entered" from="Hitbox" to="Behaviour" method="OnHitboxEntered"]
[connection signal="area_exited" from="Hitbox" to="Behaviour" method="OnHitboxExited"] [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="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="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="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="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://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"] [ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="7_rlkb7"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="10_w3e3c"]
[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
[sub_resource type="Animation" id="Animation_bfx6v"] [sub_resource type="Animation" id="Animation_bfx6v"]
length = 0.001 length = 0.001
@ -73,56 +67,67 @@ node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4xs4g"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_4xs4g"]
size = Vector2(26, 48) size = Vector2(26, 48)
[node name="Sunflower" instance=ExtResource("1_bikjn")] [node name="Sunflower" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
GetInternalID() = "sunflower" script = ExtResource("1_yyn2e")
MaxHP = 30.0 MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" parent="." index="0"] [node name="Sprite2D" type="Sprite2D" parent="."]
material = SubResource("ShaderMaterial_mdjfv") material = ExtResource("2_yyn2e")
texture = ExtResource("2_fwcda") texture = ExtResource("2_fwcda")
hframes = 9 hframes = 9
vframes = 2 vframes = 2
frame = 2 frame = 4
[node name="AnimationPlayer" parent="." index="1"] [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = { libraries = {
&"": SubResource("AnimationLibrary_ek2al"), &"": SubResource("AnimationLibrary_ek2al"),
&"sunflower": ExtResource("3_btsik") &"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") tree_root = SubResource("AnimationNodeBlendTree_rlkb7")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0 parameters/TimeScale/scale = 1.0
parameters/Tree/conditions/produce = false 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) position = Vector2(-2, 0)
script = ExtResource("3_te0pl") script = ExtResource("3_te0pl")
_sunScene = ExtResource("4_b8hls") _sunScene = ExtResource("4_b8hls")
_amountPerSun = 25 _amountPerSun = 25
[node name="Behaviour" type="Node" parent="." index="4"] [node name="Behaviour" type="Node" parent="."]
script = ExtResource("5_26je0") 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 wait_time = 24.25
script = ExtResource("7_rlkb7") script = ExtResource("7_rlkb7")
entity = NodePath("../..") 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 wait_time = 12.0
one_shot = true one_shot = true
autostart = true autostart = true
script = ExtResource("7_rlkb7") script = ExtResource("7_rlkb7")
entity = NodePath("../..") 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) position = Vector2(0, 4)
shape = SubResource("RectangleShape2D_4xs4g") shape = SubResource("RectangleShape2D_4xs4g")
[node name="FlashController" parent="." index="6"] [node name="FlashController" type="Node" parent="."]
shaderMaterial = SubResource("ShaderMaterial_mdjfv") 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/Timer" to="Behaviour" method="Timeout"]
[connection signal="timeout" from="Behaviour/StartTimer" 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"] [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="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="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://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"] [sub_resource type="Animation" id="Animation_a2y0j"]
length = 0.001 length = 0.001
@ -134,39 +143,89 @@ resource_local_to_scene = true
[sub_resource type="SegmentShape2D" id="SegmentShape2D_yb26d"] [sub_resource type="SegmentShape2D" id="SegmentShape2D_yb26d"]
resource_local_to_scene = true resource_local_to_scene = true
[node name="Threepeater" instance=ExtResource("1_muntu")] [sub_resource type="RectangleShape2D" id="RectangleShape2D_r7xnh"]
GetInternalID() = "threepeater" 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) position = Vector2(6, -13)
texture = ExtResource("2_j7h7q") texture = ExtResource("2_j7h7q")
hframes = 13 hframes = 13
vframes = 2
[node name="AnimationPlayer" parent="." index="1"] [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = { libraries = {
&"": SubResource("AnimationLibrary_ipp6b"), &"": SubResource("AnimationLibrary_ipp6b"),
&"threepeater": SubResource("AnimationLibrary_o2obw") &"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") 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) position = Vector2(20, -9)
script = ExtResource("2_ieami") script = ExtResource("2_ieami")
_projectile = ExtResource("6_kscbk")
_timer = NodePath("FireTimer")
[node name="Timer" parent="Shooter" index="0"] [node name="FireTimer" type="Timer" parent="Shooter" node_paths=PackedStringArray("entity")]
wait_time = 1.6 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") 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) position = Vector2(0, 60)
shape = SubResource("SegmentShape2D_yb26d") shape = SubResource("SegmentShape2D_yb26d")
script = ExtResource("3_dqn6w") script = ExtResource("3_dqn6w")
[node name="CollisionShape2D3" type="CollisionShape2D" parent="Eysight" index="2"] [node name="CollisionShape2D3" type="CollisionShape2D" parent="Eysight"]
position = Vector2(0, -60) position = Vector2(0, -60)
shape = SubResource("SegmentShape2D_yb26d") shape = SubResource("SegmentShape2D_yb26d")
script = ExtResource("3_dqn6w") 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="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_mnh2m"]
[ext_resource type="Shader" uid="uid://cgc7spjkhsx7c" path="res://assets/shaders/generic_flash.gdshader" id="2_bi7an"] [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="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="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"] [ext_resource type="Script" uid="uid://btkmd86pn828y" path="res://scripts/entities/plants/behaviours/HpBasedBehaviour.cs" id="4_cjtyy"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="5_2hmhw"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ladjs"] [ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="7_frxj2"]
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
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_y3tlf"] [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"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_khltr"]
size = Vector2(33, 46) size = Vector2(33, 46)
[node name="Wallnut" instance=ExtResource("1_fluxn")] [node name="Wallnut" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
GetInternalID() = "wallnut" script = ExtResource("1_mnh2m")
MaxHP = 600.0 MaxHP = 600.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" parent="." index="0"] [node name="Sprite2D" type="Sprite2D" parent="."]
material = SubResource("ShaderMaterial_ladjs") material = ExtResource("2_mnh2m")
texture = ExtResource("2_o5tda") texture = ExtResource("2_o5tda")
hframes = 12 hframes = 12
vframes = 3 vframes = 3
frame = 10
[node name="AnimationPlayer" parent="." index="1"] [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = { libraries = {
&"wallnut": ExtResource("3_xl65q") &"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") tree_root = SubResource("AnimationNodeBlendTree_bi7an")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0 parameters/TimeScale/scale = 1.0
parameters/Tree/blend_position = 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) position = Vector2(3.5, 5)
shape = SubResource("RectangleShape2D_khltr") shape = SubResource("RectangleShape2D_khltr")
[node name="Behaviour" type="Node" parent="." index="4"] [node name="Behaviour" type="Node" parent="."]
script = ExtResource("4_cjtyy") script = ExtResource("4_cjtyy")
parameters = Array[String](["parameters/Tree/blend_position"]) parameters = Array[String](["parameters/Tree/blend_position"])
[node name="FlashController" parent="." index="5"] [node name="FlashController" type="Node" parent="."]
shaderMaterial = SubResource("ShaderMaterial_ladjs") script = ExtResource("7_frxj2")
shaderMaterial = ExtResource("2_mnh2m")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]
[connection signal="OnHPChanged" from="." to="Behaviour" method="OnHPChanged"] [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="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://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"] [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") _tree = NodePath("AnimationTree")
[node name="Sprite2D" type="Sprite2D" parent="."] [node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_3uws4")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."] [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
@ -26,6 +24,5 @@ collision_mask = 0
[node name="FlashController" type="Node" parent="."] [node name="FlashController" type="Node" parent="."]
script = ExtResource("4_3uws4") script = ExtResource("4_3uws4")
shaderMaterial = ExtResource("2_3uws4")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"] [connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]