This commit is contained in:
Rendo 2025-06-17 00:26:05 +05:00
commit 6efdd7c02c
23 changed files with 134 additions and 30 deletions

3
.vscode/settings.json vendored Normal file
View file

@ -0,0 +1,3 @@
{
"godotTools.editorPath.godot4": "c:\\Users\\User\\Desktop\\Godot_v4.4.1-stable_mono_win64\\Godot_v4.4.1-stable_mono_win64.exe"
}

View file

@ -1,7 +1,7 @@
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://ce04l60l6mhfk"]
[ext_resource type="Texture2D" uid="uid://dvldjlg0nr355" path="res://assets/sprites/atlases/atlas1.png" id="1_h38vp"]
[ext_resource type="Texture2D" uid="uid://brj0buevfwv21" path="res://assets/sprites/atlases/zombies/basic.png" id="1_n66kp"]
[resource]
atlas = ExtResource("1_h38vp")
region = Rect2(356, 16, 40, 41)
atlas = ExtResource("1_n66kp")
region = Rect2(21, 23, 34, 38)

View file

@ -26,6 +26,7 @@ Cursor="*res://scripts/Cursor.cs"
window/size/viewport_width=600
window/size/viewport_height=400
window/stretch/mode="canvas_items"
window/per_pixel_transparency/allowed=true
[dotnet]

Binary file not shown.

View file

@ -1,6 +1,6 @@
[gd_resource type="Resource" load_steps=2 format=3 uid="uid://dsg1vjx76ifgu"]
[ext_resource type="Script" path="res://scripts/systems/effects/GarlicEffect.cs" id="1_rfumy"]
[ext_resource type="Script" uid="uid://bb6lv1djnqjaw" path="res://scripts/systems/effects/GarlicEffect.cs" id="1_rfumy"]
[resource]
script = ExtResource("1_rfumy")

View file

@ -1,6 +1,6 @@
[gd_resource type="Resource" script_class="PlantResource" load_steps=4 format=3 uid="uid://c8rr1dc7mjr3d"]
[ext_resource type="Script" path="res://scripts/resources/PlantResource.cs" id="1_amvh8"]
[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/PlantResource.cs" id="1_amvh8"]
[ext_resource type="Texture2D" uid="uid://ot1n4nval86w" path="res://assets/sprites/plants/peashooter.tres" id="1_rnq6r"]
[ext_resource type="PackedScene" uid="uid://dy41q1kxray5t" path="res://scenes/entities/plants/peashooter.tscn" id="1_rqf2x"]
@ -9,6 +9,6 @@ script = ExtResource("1_amvh8")
Cost = 75
Scene = ExtResource("1_rqf2x")
ReloadTime = 5.0
StartReloadTime = 0.0
ReloadProgress = 0.0
Preview = ExtResource("1_rnq6r")
Layer = 1

View file

@ -1,6 +1,6 @@
[gd_resource type="Resource" script_class="PlantResource" load_steps=4 format=3 uid="uid://bu25xgjd68gv8"]
[ext_resource type="Script" path="res://scripts/resources/PlantResource.cs" id="1_33j6b"]
[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/PlantResource.cs" id="1_33j6b"]
[ext_resource type="Texture2D" uid="uid://bhmnt3x5aj1l8" path="res://assets/sprites/plants/potatomine.tres" id="1_xk2pg"]
[ext_resource type="PackedScene" uid="uid://b5x35v3w2u8dx" path="res://scenes/entities/plants/potato_mine.tscn" id="2_ig2ti"]

View file

@ -2,7 +2,7 @@
[ext_resource type="Texture2D" uid="uid://iw75j816gbc" path="res://assets/sprites/plants/sunflower.tres" id="1_8rd5i"]
[ext_resource type="PackedScene" uid="uid://bg7lomiorxo2c" path="res://scenes/entities/plants/sunflower.tscn" id="2_gcyr5"]
[ext_resource type="Script" path="res://scripts/resources/PlantResource.cs" id="3_vt4jc"]
[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/PlantResource.cs" id="3_vt4jc"]
[resource]
script = ExtResource("3_vt4jc")

View file

@ -2,13 +2,13 @@
[ext_resource type="Texture2D" uid="uid://ot1n4nval86w" path="res://assets/sprites/plants/peashooter.tres" id="1_78bhe"]
[ext_resource type="PackedScene" uid="uid://eegv1qihfv2q" path="res://scenes/entities/plants/threepeater.tscn" id="2_uqpu0"]
[ext_resource type="Script" path="res://scripts/resources/PlantResource.cs" id="3_3lugi"]
[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/PlantResource.cs" id="3_3lugi"]
[resource]
script = ExtResource("3_3lugi")
Cost = 300
Scene = ExtResource("2_uqpu0")
ReloadTime = 5.0
StartReloadTime = 0.0
ReloadProgress = 0.0
Preview = ExtResource("1_78bhe")
Layer = 1

View file

@ -1,13 +1,13 @@
[gd_scene load_steps=10 format=3 uid="uid://crxsvv7drckpw"]
[ext_resource type="Script" path="res://scripts/components/level/RuntimeLevelData.cs" id="1_i3bf5"]
[ext_resource type="Script" uid="uid://bndu1h5kgcde8" path="res://scripts/components/level/RuntimeLevelData.cs" id="1_i3bf5"]
[ext_resource type="Texture2D" uid="uid://b0tb2hjum40aw" path="res://assets/sprites/background_summer.png" id="2_vmxhy"]
[ext_resource type="PackedScene" uid="uid://cg8713v6c5w15" path="res://scenes/level components/pools.tscn" id="3_jv7x4"]
[ext_resource type="PackedScene" uid="uid://dpxxjfd5lv5sv" path="res://scenes/gui/choose_your_seeds.tscn" id="5_5e78h"]
[ext_resource type="PackedScene" uid="uid://devn21c7luf45" path="res://scenes/level components/field_controller.tscn" id="5_lwpg6"]
[ext_resource type="PackedScene" uid="uid://cfnmspei3k4p7" path="res://scenes/gui/runtime_gui.tscn" id="6_0baou"]
[ext_resource type="PackedScene" uid="uid://bpekho7leatr5" path="res://scenes/sun.tscn" id="6_ay12k"]
[ext_resource type="Script" path="res://scripts/components/level/SunSpawner.cs" id="6_lkguy"]
[ext_resource type="Script" uid="uid://cslqjdd5wq4rc" path="res://scripts/components/level/SunSpawner.cs" id="6_lkguy"]
[ext_resource type="PackedScene" uid="uid://xu4i6tmkv00a" path="res://scenes/entities/Zombies/bucket_zombie.tscn" id="9_u7o5c"]
[node name="debug_lvl" type="Node2D"]

View file

@ -1,14 +1,14 @@
[gd_scene load_steps=5 format=3 uid="uid://xu4i6tmkv00a"]
[ext_resource type="PackedScene" uid="uid://hhjbqkjqpt7x" path="res://scenes/entities/Zombies/cone_zombie.tscn" id="1_mwqpo"]
[ext_resource type="Shader" path="res://assets/shaders/CG_color_blender.gdshader" id="2_3mrqj"]
[ext_resource type="Shader" uid="uid://d0eo5uuj222c4" path="res://assets/shaders/CG_color_blender.gdshader" id="2_3mrqj"]
[ext_resource type="Texture2D" uid="uid://ce04l60l6mhfk" path="res://assets/sprites/bucket.tres" id="3_0nlp0"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_wdi07"]
resource_local_to_scene = true
shader = ExtResource("2_3mrqj")
shader_parameter/blend_color = Color(1, 1, 1, 1)
shader_parameter/amount = null
shader_parameter/amount = 0.0
[node name="BucketZombie" instance=ExtResource("1_mwqpo")]
@ -16,6 +16,7 @@ shader_parameter/amount = null
material = SubResource("ShaderMaterial_wdi07")
[node name="Hat" parent="CanvasGroup" index="1"]
position = Vector2(-7, -83)
texture = ExtResource("3_0nlp0")
[node name="Armor" parent="." index="8"]

View file

@ -1,15 +1,15 @@
[gd_scene load_steps=6 format=3 uid="uid://hhjbqkjqpt7x"]
[ext_resource type="PackedScene" uid="uid://co11v3w8hbwgf" path="res://scenes/entities/Zombies/zombie.tscn" id="1_3dq4c"]
[ext_resource type="Shader" path="res://assets/shaders/CG_color_blender.gdshader" id="2_2dq8e"]
[ext_resource type="Script" path="res://scripts/components/Armor.cs" id="3_5s7in"]
[ext_resource type="Shader" uid="uid://d0eo5uuj222c4" path="res://assets/shaders/CG_color_blender.gdshader" id="2_2dq8e"]
[ext_resource type="Script" uid="uid://fd4im1fmwc5n" path="res://scripts/components/Armor.cs" id="3_5s7in"]
[ext_resource type="Texture2D" uid="uid://ceqvdmude7cgg" path="res://assets/sprites/cone.tres" id="4_qdhik"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_sat5k"]
resource_local_to_scene = true
shader = ExtResource("2_2dq8e")
shader_parameter/blend_color = Color(1, 1, 1, 1)
shader_parameter/amount = null
shader_parameter/amount = 0.0
[node name="ConeZombie" node_paths=PackedStringArray("_armor") instance=ExtResource("1_3dq4c")]
_armor = NodePath("Armor")

View file

@ -3,8 +3,8 @@
[ext_resource type="PackedScene" uid="uid://b1hjjbdwf1rtc" path="res://scenes/templates/plant_template.tscn" id="1_5i0e6"]
[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://resources/animations/plants/garlic.res" id="3_jkb3q"]
[ext_resource type="Script" path="res://scripts/components/plants/behaviours/HpBasedBehaviour.cs" id="4_bv44h"]
[ext_resource type="Script" path="res://scripts/components/plants/ReturnEffect.cs" id="5_oob20"]
[ext_resource type="Script" uid="uid://btkmd86pn828y" path="res://scripts/components/plants/behaviours/HpBasedBehaviour.cs" id="4_bv44h"]
[ext_resource type="Script" uid="uid://bmtukcq10m8wo" path="res://scripts/components/plants/ReturnEffect.cs" id="5_oob20"]
[ext_resource type="Resource" uid="uid://dsg1vjx76ifgu" path="res://resources/effects/GarlicEffect.tres" id="6_gho1l"]
[sub_resource type="Animation" id="Animation_k0cex"]
@ -24,7 +24,7 @@ tracks/0/keys = {
[sub_resource type="AnimationLibrary" id="AnimationLibrary_v4l78"]
_data = {
"RESET": SubResource("Animation_k0cex")
&"RESET": SubResource("Animation_k0cex")
}
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_mdv0r"]
@ -59,8 +59,8 @@ vframes = 3
[node name="AnimationPlayer" parent="." index="1"]
libraries = {
"": SubResource("AnimationLibrary_v4l78"),
"garlic": ExtResource("3_jkb3q")
&"": SubResource("AnimationLibrary_v4l78"),
&"garlic": ExtResource("3_jkb3q")
}
[node name="AnimationTree" parent="." index="2"]

View file

@ -1,13 +1,111 @@
[gd_scene load_steps=5 format=3 uid="uid://eegv1qihfv2q"]
[gd_scene load_steps=11 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" path="res://scripts/components/plants/ThreepeaterShooter.cs" id="2_ieami"]
[ext_resource type="Script" path="res://scripts/components/plants/PlantEyesightLimiter.cs" id="3_dqn6w"]
[ext_resource type="Script" uid="uid://djpc0kvagpadv" path="res://scripts/components/plants/ThreepeaterShooter.cs" id="2_ieami"]
[ext_resource type="AudioStream" uid="uid://dp6k7xiptn68n" path="res://assets/audio/sfx/pop.mp3" id="2_j7h7q"]
[ext_resource type="Script" uid="uid://hccb0aee0x0o" path="res://scripts/components/plants/PlantEyesightLimiter.cs" id="3_dqn6w"]
[sub_resource type="Animation" id="Animation_a2y0j"]
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_ipp6b"]
_data = {
&"RESET": SubResource("Animation_a2y0j")
}
[sub_resource type="Animation" id="Animation_oxaxi"]
resource_name = "idle"
length = 0.833342
loop_mode = 1
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, 0.5, 0.583333, 0.666667, 0.75),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
}
[sub_resource type="Animation" id="Animation_7sohe"]
resource_name = "shoot"
length = 0.666675
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, 0.5, 0.583333),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [10, 11, 12, 13, 14, 15, 16, 17]
}
tracks/1/type = "method"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Shooter")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0.25),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"Shoot"
}]
}
tracks/2/type = "audio"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("AudioStreamPlayer2D")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"clips": [{
"end_offset": 0.0,
"start_offset": 0.0,
"stream": ExtResource("2_j7h7q")
}],
"times": PackedFloat32Array(0.25)
}
tracks/2/use_blend = true
[sub_resource type="AnimationLibrary" id="AnimationLibrary_pqbws"]
resource_local_to_scene = true
_data = {
&"idle": SubResource("Animation_oxaxi"),
&"shoot": SubResource("Animation_7sohe")
}
[sub_resource type="SegmentShape2D" id="SegmentShape2D_yb26d"]
[node name="Threepeater" instance=ExtResource("1_muntu")]
[node name="AnimationPlayer" parent="." index="1"]
libraries = {
&"": SubResource("AnimationLibrary_ipp6b"),
&"peashooter": SubResource("AnimationLibrary_pqbws")
}
[node name="Shooter" parent="." index="3"]
script = ExtResource("2_ieami")

View file

@ -3,10 +3,10 @@
[ext_resource type="Texture2D" uid="uid://dxyf557m4mq1p" path="res://assets/sprites/gui/EmptyPlantCard.png" id="1_77bw1"]
[ext_resource type="Texture2D" uid="uid://cxlr34yh0bqch" path="res://assets/sprites/gui/DisabledEmptyCard.png" id="2_2gojx"]
[ext_resource type="Texture2D" uid="uid://cabpf23ndlvx0" path="res://assets/sprites/gui/Selection.tres" id="3_q0tvq"]
[ext_resource type="Script" path="res://scripts/components/gui/seedpackets/Seedpacket.cs" id="4_c6epd"]
[ext_resource type="Shader" path="res://assets/shaders/gui_masking.gdshader" id="5_s5861"]
[ext_resource type="Script" uid="uid://cn6ddajdtf4ep" path="res://scripts/components/gui/seedpackets/Seedpacket.cs" id="4_c6epd"]
[ext_resource type="Shader" uid="uid://dcp5tqcec2oi3" path="res://assets/shaders/gui_masking.gdshader" id="5_s5861"]
[ext_resource type="Texture2D" uid="uid://c1afy0ga6h1ic" path="res://assets/sprites/white_box.png" id="6_lp42h"]
[ext_resource type="Script" path="res://scripts/components/gui/VeilResizer.cs" id="7_tv07f"]
[ext_resource type="Script" uid="uid://ddi84kmmq1qla" path="res://scripts/components/gui/VeilResizer.cs" id="7_tv07f"]
[sub_resource type="LabelSettings" id="LabelSettings_js4li"]
font_size = 13

View file

@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://dylfqmo3d26ce"]
[ext_resource type="Script" path="res://scripts/LevelButton.cs" id="1_qey5e"]
[ext_resource type="Script" uid="uid://cn3q18jh2rej7" path="res://scripts/LevelButton.cs" id="1_qey5e"]
[node name="LevelButton" type="TextureRect"]
offset_right = 40.0

View file

@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://b1hjjbdwf1rtc"]
[ext_resource type="Script" path="res://scripts/components/plants/RuntimePlantData.cs" id="1_324sd"]
[ext_resource type="Script" uid="uid://dli2i6albvugt" path="res://scripts/components/plants/RuntimePlantData.cs" id="1_324sd"]
[node name="PlantTemplate" type="Node2D"]
script = ExtResource("1_324sd")

View file

@ -45,6 +45,7 @@ public partial class GarlicEffect : Effect
}
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.TweenCallback(Callable.From(() => {zombieData.AbleToEat = true;}));
}
}