From 2156c6a166ff43ef744a345d9847bdc4115827ce Mon Sep 17 00:00:00 2001 From: Rendo Date: Sun, 13 Jul 2025 03:59:09 +0500 Subject: [PATCH] Nerdus --- assets/sprites/atlases/plants/nerdus.png | Bin 0 -> 34278 bytes .../sprites/atlases/plants/nerdus.png.import | 34 ++ .../sprites/atlases/plants/nerdus_attack.png | Bin 0 -> 17148 bytes .../atlases/plants/nerdus_attack.png.import | 34 ++ assets/sprites/atlases/plants/nerdus_idle.png | Bin 0 -> 16212 bytes .../atlases/plants/nerdus_idle.png.import | 34 ++ resources/effects/GarlicEffect.tres | 2 +- resources/effects/NerdusEffect.tres | 8 + resources/plants/Nerdus.tres | 21 ++ scenes/entities/plants/garlic.tscn | 1 + scenes/entities/plants/nerdus.tscn | 293 ++++++++++++++++++ scenes/entities/plants/wallnut.tscn | 2 + scripts/plants/NerdusReturnAttack.cs | 48 +++ scripts/plants/NerdusReturnAttack.cs.uid | 1 + scripts/plants/behaviours/HpBasedBehaviour.cs | 11 +- scripts/systems/effects/GarlicEffect.cs | 6 +- 16 files changed, 490 insertions(+), 5 deletions(-) create mode 100644 assets/sprites/atlases/plants/nerdus.png create mode 100644 assets/sprites/atlases/plants/nerdus.png.import create mode 100644 assets/sprites/atlases/plants/nerdus_attack.png create mode 100644 assets/sprites/atlases/plants/nerdus_attack.png.import create mode 100644 assets/sprites/atlases/plants/nerdus_idle.png create mode 100644 assets/sprites/atlases/plants/nerdus_idle.png.import create mode 100644 resources/effects/NerdusEffect.tres create mode 100644 resources/plants/Nerdus.tres create mode 100644 scenes/entities/plants/nerdus.tscn create mode 100644 scripts/plants/NerdusReturnAttack.cs create mode 100644 scripts/plants/NerdusReturnAttack.cs.uid diff --git a/assets/sprites/atlases/plants/nerdus.png b/assets/sprites/atlases/plants/nerdus.png new file mode 100644 index 0000000000000000000000000000000000000000..c8c7a3cafb862e343d668c937114d98368a2673d GIT binary patch literal 34278 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 literal 0 HcmV?d00001 diff --git a/assets/sprites/atlases/plants/nerdus.png.import b/assets/sprites/atlases/plants/nerdus.png.import new file mode 100644 index 0000000..7c1a08a --- /dev/null +++ b/assets/sprites/atlases/plants/nerdus.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b06e8xhdy77d1" +path="res://.godot/imported/nerdus.png-ec431205ffd49ae84928c7fa5c535086.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/atlases/plants/nerdus.png" +dest_files=["res://.godot/imported/nerdus.png-ec431205ffd49ae84928c7fa5c535086.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/atlases/plants/nerdus_attack.png b/assets/sprites/atlases/plants/nerdus_attack.png new file mode 100644 index 0000000000000000000000000000000000000000..a81d19c70b9d676dc47092d97d269c61b652901b GIT binary patch literal 17148 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 literal 0 HcmV?d00001 diff --git a/assets/sprites/atlases/plants/nerdus_attack.png.import b/assets/sprites/atlases/plants/nerdus_attack.png.import new file mode 100644 index 0000000..1c7f55e --- /dev/null +++ b/assets/sprites/atlases/plants/nerdus_attack.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://pkss10u2g0p" +path="res://.godot/imported/nerdus_attack.png-b5525c75a5c1206ed7ff9828533d4f8d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/atlases/plants/nerdus_attack.png" +dest_files=["res://.godot/imported/nerdus_attack.png-b5525c75a5c1206ed7ff9828533d4f8d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/atlases/plants/nerdus_idle.png b/assets/sprites/atlases/plants/nerdus_idle.png new file mode 100644 index 0000000000000000000000000000000000000000..b1e7a762ba106f0f447c6e4a12b62c0f4e685e3d GIT binary patch literal 16212 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 K;-~u-!T$^3_gy~# literal 0 HcmV?d00001 diff --git a/assets/sprites/atlases/plants/nerdus_idle.png.import b/assets/sprites/atlases/plants/nerdus_idle.png.import new file mode 100644 index 0000000..6fce0e1 --- /dev/null +++ b/assets/sprites/atlases/plants/nerdus_idle.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cx3xjcaqqawr5" +path="res://.godot/imported/nerdus_idle.png-460516daa87af0de882346b10c06ae5d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/atlases/plants/nerdus_idle.png" +dest_files=["res://.godot/imported/nerdus_idle.png-460516daa87af0de882346b10c06ae5d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/resources/effects/GarlicEffect.tres b/resources/effects/GarlicEffect.tres index 5c9f170..5696f04 100644 --- a/resources/effects/GarlicEffect.tres +++ b/resources/effects/GarlicEffect.tres @@ -4,5 +4,5 @@ [resource] script = ExtResource("1_rfumy") -Duration = 0.25 +Duration = 1.0 Slot = "garlic" diff --git a/resources/effects/NerdusEffect.tres b/resources/effects/NerdusEffect.tres new file mode 100644 index 0000000..b2bb49f --- /dev/null +++ b/resources/effects/NerdusEffect.tres @@ -0,0 +1,8 @@ +[gd_resource type="Resource" load_steps=2 format=3 uid="uid://dme4nvp28otq6"] + +[ext_resource type="Script" uid="uid://bb6lv1djnqjaw" path="res://scripts/systems/effects/GarlicEffect.cs" id="1_bd12u"] + +[resource] +script = ExtResource("1_bd12u") +Duration = 0.25 +Slot = "garlic" diff --git a/resources/plants/Nerdus.tres b/resources/plants/Nerdus.tres new file mode 100644 index 0000000..90edeb0 --- /dev/null +++ b/resources/plants/Nerdus.tres @@ -0,0 +1,21 @@ +[gd_resource type="Resource" script_class="PlantResource" load_steps=5 format=3 uid="uid://do7m0lfki5ere"] + +[ext_resource type="Texture2D" uid="uid://b06e8xhdy77d1" path="res://assets/sprites/atlases/plants/nerdus.png" id="1_of51r"] +[ext_resource type="PackedScene" uid="uid://k5aj2slxar7w" path="res://scenes/entities/plants/nerdus.tscn" id="2_0i6qf"] +[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/PlantResource.cs" id="3_30qd0"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_ivp5w"] +atlas = ExtResource("1_of51r") +region = Rect2(477, 9, 60, 59) + +[resource] +script = ExtResource("3_30qd0") +name_key = "nerdus" +description_key = "nerdus_desc" +Cost = 100.0 +Scene = ExtResource("2_0i6qf") +ReloadTime = 10.0 +ReloadProgress = 0.0 +Preview = SubResource("AtlasTexture_ivp5w") +Layer = 1 +metadata/_custom_type_script = "uid://cyenlko1knygw" diff --git a/scenes/entities/plants/garlic.tscn b/scenes/entities/plants/garlic.tscn index 7665461..db05bc1 100644 --- a/scenes/entities/plants/garlic.tscn +++ b/scenes/entities/plants/garlic.tscn @@ -84,6 +84,7 @@ shape = SubResource("RectangleShape2D_thlvs") [node name="Behaviour" type="Node" parent="." index="4"] script = ExtResource("4_bv44h") +parameters = Array[String](["parameters/Tree/blend_position"]) [node name="ReturnEffect" type="Node" parent="." index="5"] script = ExtResource("5_oob20") diff --git a/scenes/entities/plants/nerdus.tscn b/scenes/entities/plants/nerdus.tscn new file mode 100644 index 0000000..c6a29aa --- /dev/null +++ b/scenes/entities/plants/nerdus.tscn @@ -0,0 +1,293 @@ +[gd_scene load_steps=31 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="Texture2D" uid="uid://b06e8xhdy77d1" path="res://assets/sprites/atlases/plants/nerdus.png" id="2_614v4"] +[ext_resource type="Script" uid="uid://dcokqes5wwo3k" path="res://scripts/plants/NerdusReturnAttack.cs" id="3_614v4"] +[ext_resource type="Resource" uid="uid://dme4nvp28otq6" path="res://resources/effects/NerdusEffect.tres" id="4_ga4vy"] +[ext_resource type="Script" uid="uid://btkmd86pn828y" path="res://scripts/plants/behaviours/HpBasedBehaviour.cs" id="5_o1ggp"] + +[sub_resource type="Animation" id="Animation_ga4vy"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [0] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_o1ggp"] +_data = { +&"RESET": SubResource("Animation_ga4vy") +} + +[sub_resource type="Animation" id="Animation_yxvnw"] +length = 1.16668 +loop_mode = 2 +step = 0.0833333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.166667, 0.333333, 0.5, 0.666667, 0.833333), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), +"update": 1, +"values": [0, 1, 2, 3, 4, 5] +} + +[sub_resource type="Animation" id="Animation_o12iv"] +length = 1.16668 +loop_mode = 2 +step = 0.0833333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.166667, 0.333333, 0.5, 0.666667, 0.833333, 1), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1), +"update": 1, +"values": [7, 8, 9, 10, 11, 12, 13] +} + +[sub_resource type="Animation" id="Animation_6e60l"] +length = 1.16668 +loop_mode = 2 +step = 0.0833333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.166667, 0.333333, 0.5, 0.666667, 0.833333, 1), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1), +"update": 1, +"values": [14, 15, 16, 17, 18, 19, 20] +} + +[sub_resource type="Animation" id="Animation_v7ffp"] +length = 0.500008 +step = 0.0833333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.0833333, 0.166667, 0.25, 0.333333, 0.416667), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), +"update": 1, +"values": [21, 22, 23, 24, 25, 26] +} +tracks/1/type = "method" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Hurtbox") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0.416667), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"ReturnAllDamage" +}] +} + +[sub_resource type="Animation" id="Animation_rb7ob"] +length = 0.500008 +step = 0.0833333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.0833333, 0.166667, 0.25, 0.333333, 0.416667), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), +"update": 1, +"values": [28, 29, 30, 31, 32, 33] +} +tracks/1/type = "method" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Hurtbox") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0.416667), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"ReturnAllDamage" +}] +} + +[sub_resource type="Animation" id="Animation_6a4q1"] +length = 0.500008 +step = 0.0833333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.0833333, 0.166667, 0.25, 0.333333, 0.416667), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), +"update": 1, +"values": [35, 36, 37, 38, 39, 40] +} +tracks/1/type = "method" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Hurtbox") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0.416667), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"ReturnAllDamage" +}] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_pddnl"] +_data = { +&"attack_full": SubResource("Animation_v7ffp"), +&"attack_hdamage": SubResource("Animation_6a4q1"), +&"attack_ldamage": SubResource("Animation_rb7ob"), +&"idle_full": SubResource("Animation_yxvnw"), +&"idle_hdamage": SubResource("Animation_6e60l"), +&"idle_ldamage": SubResource("Animation_o12iv") +} + +[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_8ui1h"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_o12iv"] +animation = &"nerdus/attack_full" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_6e60l"] +animation = &"nerdus/attack_ldamage" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_v7ffp"] +animation = &"nerdus/attack_hdamage" + +[sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_614v4"] +blend_point_0/node = SubResource("AnimationNodeAnimation_o12iv") +blend_point_0/pos = 1.0 +blend_point_1/node = SubResource("AnimationNodeAnimation_6e60l") +blend_point_1/pos = 0.5 +blend_point_2/node = SubResource("AnimationNodeAnimation_v7ffp") +blend_point_2/pos = 0.0 +min_space = 0.0 + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ga4vy"] +animation = &"nerdus/idle_full" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_o1ggp"] +animation = &"nerdus/idle_hdamage" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_yxvnw"] +animation = &"nerdus/idle_ldamage" + +[sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_o12iv"] +blend_point_0/node = SubResource("AnimationNodeAnimation_ga4vy") +blend_point_0/pos = 1.0 +blend_point_1/node = SubResource("AnimationNodeAnimation_o1ggp") +blend_point_1/pos = 0.0 +blend_point_2/node = SubResource("AnimationNodeAnimation_yxvnw") +blend_point_2/pos = 0.5 +min_space = 0.0 +blend_mode = 1 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6e60l"] +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_v7ffp"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rb7ob"] +advance_mode = 2 +advance_expression = "get(\"triggered\") +" + +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_rb7ob"] +states/Attack/node = SubResource("AnimationNodeBlendSpace1D_614v4") +states/Attack/position = Vector2(558, 100) +states/Idle/node = SubResource("AnimationNodeBlendSpace1D_o12iv") +states/Idle/position = Vector2(337, 100) +transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_6e60l"), "Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_v7ffp"), "Idle", "Attack", SubResource("AnimationNodeStateMachineTransition_rb7ob")] +graph_offset = Vector2(98, -52) + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_6a4q1"] +graph_offset = Vector2(-406, 116) +nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_8ui1h") +nodes/TimeScale/position = Vector2(100, 140) +nodes/Tree/node = SubResource("AnimationNodeStateMachine_rb7ob") +nodes/Tree/position = Vector2(-220, 160) +node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_8ui1h"] +radius = 24.0 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_ga4vy"] +size = Vector2(80, 48) + +[node name="Nerdus" instance=ExtResource("1_8ui1h")] +MaxHP = 200.0 + +[node name="Sprite2D" parent="." index="0"] +texture = ExtResource("2_614v4") +hframes = 7 +vframes = 6 + +[node name="AnimationPlayer" parent="." index="1"] +libraries = { +&"": SubResource("AnimationLibrary_o1ggp"), +&"nerdus": SubResource("AnimationLibrary_pddnl") +} + +[node name="AnimationTree" parent="." index="2"] +tree_root = SubResource("AnimationNodeBlendTree_6a4q1") +advance_expression_base_node = NodePath("../Hurtbox") +parameters/TimeScale/scale = 1.0 +parameters/Tree/Attack/blend_position = 1.0 +parameters/Tree/Idle/blend_position = 1.0 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox" index="0"] +position = Vector2(0, 3) +shape = SubResource("CircleShape2D_8ui1h") + +[node name="Hurtbox" type="Area2D" parent="." index="4"] +collision_layer = 0 +collision_mask = 8 +script = ExtResource("3_614v4") +returnEffect = ExtResource("4_ga4vy") +bitesToPeas = 1.6 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Hurtbox" index="0"] +position = Vector2(7, 3) +shape = SubResource("RectangleShape2D_ga4vy") + +[node name="Behaviour" type="Node" parent="." index="5"] +script = ExtResource("5_o1ggp") +parameters = Array[String](["parameters/Tree/Attack/blend_position", "parameters/Tree/Idle/blend_position"]) + +[connection signal="OnHPChanged" from="." to="Hurtbox" method="OnHPChanged"] diff --git a/scenes/entities/plants/wallnut.tscn b/scenes/entities/plants/wallnut.tscn index ff7daaa..fa7859c 100644 --- a/scenes/entities/plants/wallnut.tscn +++ b/scenes/entities/plants/wallnut.tscn @@ -44,6 +44,7 @@ MaxHP = 600.0 texture = ExtResource("2_o5tda") hframes = 12 vframes = 3 +frame = 4 [node name="AnimationPlayer" parent="." index="1"] libraries = { @@ -61,5 +62,6 @@ shape = SubResource("RectangleShape2D_khltr") [node name="Behaviour" type="Node" parent="." index="4"] script = ExtResource("4_cjtyy") +parameters = Array[String](["parameters/Tree/blend_position"]) [connection signal="OnHPChanged" from="." to="Behaviour" method="OnHPChanged"] diff --git a/scripts/plants/NerdusReturnAttack.cs b/scripts/plants/NerdusReturnAttack.cs new file mode 100644 index 0000000..10eb55d --- /dev/null +++ b/scripts/plants/NerdusReturnAttack.cs @@ -0,0 +1,48 @@ +using Godot; +using Newlon.Systems.Effects; +using System.Collections.Generic; +namespace Newlon.Components.Plants; + +public partial class NerdusReturnAttack : Area2D +{ + private float returnAmount; + [Export] private Effect returnEffect; + [Export] private float bitesToPeas = 1; + public bool triggered = false; + private List entities = new(); + public override void _Ready() + { + AreaEntered += OnAreaEntered; + AreaExited += OnAreaExited; + } + private void OnAreaEntered(Area2D area) + { + if (area.GetParent() is Entity entity) + { + entities.Add(entity); + } + } + private void OnAreaExited(Area2D area) + { + if (area.GetParent() is Entity entity && entities.Contains(entity)) + { + entities.Remove(entity); + } + } + private void OnHPChanged(float delta, Node source) + { + if (delta >= 0) return; + returnAmount -= delta; + triggered = true; + } + public void ReturnAllDamage() + { + foreach (var entity in entities) + { + entity.TakeDamage(returnAmount * bitesToPeas, GetParent()); + entity.GiveEffect(returnEffect); + } + returnAmount = 0; + triggered = false; + } +} diff --git a/scripts/plants/NerdusReturnAttack.cs.uid b/scripts/plants/NerdusReturnAttack.cs.uid new file mode 100644 index 0000000..32190f5 --- /dev/null +++ b/scripts/plants/NerdusReturnAttack.cs.uid @@ -0,0 +1 @@ +uid://dcokqes5wwo3k diff --git a/scripts/plants/behaviours/HpBasedBehaviour.cs b/scripts/plants/behaviours/HpBasedBehaviour.cs index 4c7fe1e..95cb94f 100644 --- a/scripts/plants/behaviours/HpBasedBehaviour.cs +++ b/scripts/plants/behaviours/HpBasedBehaviour.cs @@ -1,18 +1,25 @@ using Godot; +using Godot.Collections; namespace Newlon.Components.Plants.Behaviours; public partial class HpBasedBehaviour : BaseBehaviour { private RuntimePlantData _data; + [Export] private Array parameters; + public override void _Ready() { base._Ready(); _data = GetParent(); } - public void OnHPChanged(int amount,Node origin) + public void OnHPChanged(int amount, Node origin) { - _tree.Set("parameters/Tree/blend_position",(float)_data.HP/_data.MaxHP); + var calc = (float)_data.HP / _data.MaxHP; + foreach (var par in parameters) + { + _tree.Set(par, calc); + } } } diff --git a/scripts/systems/effects/GarlicEffect.cs b/scripts/systems/effects/GarlicEffect.cs index 01adecc..0900ff6 100644 --- a/scripts/systems/effects/GarlicEffect.cs +++ b/scripts/systems/effects/GarlicEffect.cs @@ -5,6 +5,7 @@ namespace Newlon.Systems.Effects; public partial class GarlicEffect : Effect { + [Export] private float tilesWalked = 0.2f; RandomNumberGenerator RandomNumberGenerator; public override void Enter(Node target) @@ -43,9 +44,10 @@ public partial class GarlicEffect : Effect mult = -1; } } + zombieData.AbleToEat = false; var tween = zombieData.CreateTween(); - tween.TweenProperty(zombieData,"position:y",zombieData.GlobalPosition.Y + Utility.TileHeight * mult, 1.0); - tween.Parallel().TweenProperty(zombieData, "position:x", zombieData.GlobalPosition.X - Utility.TileWidth / 10.0, 1.0); + tween.TweenProperty(zombieData,"position:y",zombieData.GlobalPosition.Y + Utility.TileHeight * mult, Duration); + tween.Parallel().TweenProperty(zombieData, "position:x", zombieData.GlobalPosition.X - Utility.TileHeight * tilesWalked, Duration); tween.TweenCallback(Callable.From(() => {zombieData.AbleToEat = true;})); } }