brand new start

This commit is contained in:
Rendo 2025-08-01 02:47:32 +05:00
commit f15f38bfc4
464 changed files with 5 additions and 20007 deletions

View file

@ -1,15 +0,0 @@
[gd_scene load_steps=4 format=3 uid="uid://cn0bk76pi8ehc"]
[ext_resource type="Script" uid="uid://cauc1ieq84fwg" path="res://scripts/audio/AudioSequencer.cs" id="1_41q0p"]
[ext_resource type="Script" uid="uid://c1x4n4nqyq72f" path="res://scripts/audio/ChannelSettings.cs" id="2_npxdp"]
[sub_resource type="Resource" id="Resource_iuccj"]
resource_local_to_scene = true
script = ExtResource("2_npxdp")
restartTreshold = 0.0
metadata/_custom_type_script = "uid://c1x4n4nqyq72f"
[node name="AudioSequencer" type="Node"]
process_mode = 3
script = ExtResource("1_41q0p")
standardSettings = SubResource("Resource_iuccj")

View file

@ -1,3 +0,0 @@
[gd_scene format=3 uid="uid://bu5ryqtgqwjp6"]
[node name="DebugLocation" type="Node2D"]

View file

@ -1,128 +0,0 @@
[gd_scene load_steps=12 format=3 uid="uid://crxsvv7drckpw"]
[ext_resource type="Script" uid="uid://bndu1h5kgcde8" path="res://scripts/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="Script" uid="uid://bso32xkw738sy" path="res://scripts/level/PoolContainer.cs" id="3_1y18w"]
[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" uid="uid://cslqjdd5wq4rc" path="res://scripts/level/SunSpawner.cs" id="6_lkguy"]
[ext_resource type="Script" uid="uid://blpu7t8tf6277" path="res://scripts/particles/FallFloor.cs" id="10_q4fsb"]
[ext_resource type="PackedScene" uid="uid://bgqmwsb6ynm81" path="res://scenes/entities/Zombies/hobo.tscn" id="10_tbxxq"]
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_tbxxq"]
[node name="debug_lvl" type="Node2D"]
y_sort_enabled = true
[node name="SummertimeSaga" type="Sprite2D" parent="."]
z_index = -4096
z_as_relative = false
position = Vector2(500, 200)
texture = ExtResource("2_vmxhy")
metadata/_edit_lock_ = true
[node name="Camera2D" type="Camera2D" parent="."]
position = Vector2(481, 200)
metadata/_edit_lock_ = true
[node name="RuntimeLevelData" type="Node" parent="."]
script = ExtResource("1_i3bf5")
SunCount = 999999
[node name="Pools" type="Node2D" parent="." node_paths=PackedStringArray("Zombies", "Plants", "Projectiles", "Structures", "Particles")]
script = ExtResource("3_1y18w")
Zombies = NodePath("Zombies")
Plants = NodePath("Plants")
Projectiles = NodePath("Projectiles")
Structures = NodePath("Structures")
Particles = NodePath("Projectiles")
[node name="Zombies" type="Node2D" parent="Pools"]
z_index = 3
y_sort_enabled = true
[node name="Plants" type="Node2D" parent="Pools"]
z_index = 1
y_sort_enabled = true
[node name="Projectiles" type="Node2D" parent="Pools"]
z_index = 4
y_sort_enabled = true
[node name="Structures" type="Node2D" parent="Pools"]
z_index = 2
y_sort_enabled = true
[node name="GuiLayer" type="CanvasLayer" parent="."]
layer = 10
[node name="RuntimeGUI" parent="GuiLayer" instance=ExtResource("6_0baou")]
metadata/_edit_lock_ = true
[node name="ChooseYourSeeds" parent="GuiLayer" instance=ExtResource("5_5e78h")]
[node name="Overlay" type="CanvasLayer" parent="."]
layer = 6
follow_viewport_enabled = true
[node name="FieldController" parent="Overlay" instance=ExtResource("5_lwpg6")]
[node name="SunSpawner" type="Node" parent="."]
script = ExtResource("6_lkguy")
SunScene = ExtResource("6_ay12k")
[node name="Timer" type="Timer" parent="SunSpawner"]
wait_time = 5.0
autostart = true
[node name="Lines" type="Node2D" parent="."]
script = ExtResource("10_q4fsb")
[node name="Floor" type="StaticBody2D" parent="Lines"]
position = Vector2(528, 247)
collision_layer = 64
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Lines/Floor"]
shape = SubResource("WorldBoundaryShape2D_tbxxq")
[node name="Floor2" type="StaticBody2D" parent="Lines"]
position = Vector2(528, 306)
collision_layer = 64
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Lines/Floor2"]
shape = SubResource("WorldBoundaryShape2D_tbxxq")
[node name="Floor3" type="StaticBody2D" parent="Lines"]
position = Vector2(528, 367)
collision_layer = 64
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Lines/Floor3"]
shape = SubResource("WorldBoundaryShape2D_tbxxq")
[node name="Floor4" type="StaticBody2D" parent="Lines"]
position = Vector2(528, 183)
collision_layer = 64
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Lines/Floor4"]
shape = SubResource("WorldBoundaryShape2D_tbxxq")
[node name="Floor5" type="StaticBody2D" parent="Lines"]
position = Vector2(528, 132)
collision_layer = 64
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Lines/Floor5"]
shape = SubResource("WorldBoundaryShape2D_tbxxq")
[node name="Hobo" parent="." instance=ExtResource("10_tbxxq")]
position = Vector2(755, 256)
garlicSound = null
freezeSound = null
[connection signal="timeout" from="SunSpawner/Timer" to="SunSpawner" method="Spawn"]

View file

@ -1,80 +0,0 @@
[gd_scene load_steps=5 format=3 uid="uid://bmn3ef86xi7e5"]
[ext_resource type="Script" uid="uid://gymo10tjruj2" path="res://scripts/droppable-items/DroppableSeedpacket.cs" id="1_a3ea7"]
[ext_resource type="Texture2D" uid="uid://dxyf557m4mq1p" path="res://assets/sprites/gui/EmptyPlantCard.png" id="2_7ixh2"]
[sub_resource type="LabelSettings" id="LabelSettings_scv3y"]
resource_local_to_scene = true
font_size = 13
font_color = Color(0, 0, 0, 1)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_2c7xr"]
size = Vector2(41, 56)
[node name="PlantReward" type="Area2D" node_paths=PackedStringArray("_cost", "_icon", "_packet")]
script = ExtResource("1_a3ea7")
_cost = NodePath("Seedpacket/Cost")
_icon = NodePath("Seedpacket/PlantPreviewContainer/Preview")
_packet = NodePath("Seedpacket")
[node name="Seedpacket" type="TextureRect" parent="."]
anchors_preset = -1
anchor_right = 0.137
anchor_bottom = 0.28
offset_left = -20.5
offset_top = -28.0
offset_right = 20.5
offset_bottom = 28.0
mouse_default_cursor_shape = 2
texture = ExtResource("2_7ixh2")
metadata/_edit_use_anchors_ = true
[node name="Cost" type="Label" parent="Seedpacket"]
layout_mode = 1
anchors_preset = -1
anchor_left = 0.146
anchor_top = 0.732
anchor_right = 0.854
anchor_bottom = 0.893
offset_left = 0.0279989
offset_top = 0.0159912
offset_right = -0.0279999
offset_bottom = -0.0160065
grow_horizontal = 2
grow_vertical = 2
label_settings = SubResource("LabelSettings_scv3y")
horizontal_alignment = 1
vertical_alignment = 1
text_overrun_behavior = 3
[node name="PlantPreviewContainer" type="Control" parent="Seedpacket"]
clip_contents = true
layout_mode = 1
anchor_left = -0.061
anchor_top = -0.036
anchor_right = 1.061
anchor_bottom = 0.661
offset_left = 0.00199986
offset_top = 0.0320001
offset_right = -0.0019989
offset_bottom = -0.0319977
mouse_filter = 2
[node name="Preview" type="TextureRect" parent="Seedpacket/PlantPreviewContainer"]
layout_mode = 1
anchors_preset = -1
anchor_left = 0.185
anchor_top = 0.205
anchor_right = 0.815
anchor_bottom = 1.333
offset_left = -0.0200005
offset_top = 0.00999928
offset_right = 0.0199966
offset_bottom = 0.0259933
mouse_filter = 2
mouse_default_cursor_shape = 2
expand_mode = 1
stretch_mode = 5
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_2c7xr")

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,150 +0,0 @@
[gd_scene load_steps=24 format=3 uid="uid://bw1w8jp0yeypy"]
[ext_resource type="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_8fr1j"]
[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_aimqk"]
[ext_resource type="Texture2D" uid="uid://b6tyoa5htapir" path="res://assets/sprites/atlases/plants/aloe.png" id="2_iup5p"]
[ext_resource type="AnimationLibrary" uid="uid://bgutjc3ruq27s" path="res://assets/animations/plants/aloe.res" id="3_3sp3b"]
[ext_resource type="Script" uid="uid://cljytsmqac0w7" path="res://scripts/entities/plants/behaviours/AloeBehaviour.cs" id="4_55asm"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="4_aimqk"]
[ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="5_gfy6j"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="7_vpcbp"]
[sub_resource type="Animation" id="Animation_vknky"]
length = 0.001
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]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("AnimationTree:parameters/Tree/conditions/heal")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_wlien"]
_data = {
&"RESET": SubResource("Animation_vknky")
}
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_qtb3p"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_c25ew"]
animation = &"aloe/heal"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_6dmta"]
animation = &"aloe/idle"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_7tkf5"]
animation = &"aloe/idle_used"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8bc4q"]
animation = &"aloe/recharge"
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gi6e0"]
advance_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l1t7h"]
switch_mode = 2
advance_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_cut4s"]
switch_mode = 2
advance_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_um4ov"]
advance_mode = 2
advance_condition = &"heal"
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4kdc0"]
advance_mode = 2
advance_condition = &"charged"
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_bldox"]
states/aloe_heal/node = SubResource("AnimationNodeAnimation_c25ew")
states/aloe_heal/position = Vector2(530, 41)
states/aloe_idle/node = SubResource("AnimationNodeAnimation_6dmta")
states/aloe_idle/position = Vector2(359, 100)
states/aloe_idle_used/node = SubResource("AnimationNodeAnimation_7tkf5")
states/aloe_idle_used/position = Vector2(710, 105)
states/aloe_recharge/node = SubResource("AnimationNodeAnimation_8bc4q")
states/aloe_recharge/position = Vector2(530, 171)
transitions = ["Start", "aloe_idle", SubResource("AnimationNodeStateMachineTransition_gi6e0"), "aloe_heal", "aloe_idle_used", SubResource("AnimationNodeStateMachineTransition_l1t7h"), "aloe_recharge", "aloe_idle", SubResource("AnimationNodeStateMachineTransition_cut4s"), "aloe_idle", "aloe_heal", SubResource("AnimationNodeStateMachineTransition_um4ov"), "aloe_idle_used", "aloe_recharge", SubResource("AnimationNodeStateMachineTransition_4kdc0")]
graph_offset = Vector2(-78.082, -71.7578)
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_gfy6j"]
graph_offset = Vector2(-383, 84)
nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_qtb3p")
nodes/TimeScale/position = Vector2(120, 120)
nodes/Tree/node = SubResource("AnimationNodeStateMachine_bldox")
nodes/Tree/position = Vector2(-140, 160)
node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_oe0dc"]
size = Vector2(22, 32)
[node name="Aloe" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_8fr1j")
MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_aimqk")
position = Vector2(9, -14)
texture = ExtResource("2_iup5p")
hframes = 8
vframes = 4
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_wlien"),
&"aloe": ExtResource("3_3sp3b")
}
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_gfy6j")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0
parameters/Tree/conditions/charged = false
parameters/Tree/conditions/heal = false
script = ExtResource("4_aimqk")
entity = NodePath("..")
[node name="Behaviour" type="Node" parent="."]
script = ExtResource("4_55asm")
_hpTreshold = 0.5
[node name="Timer" type="Timer" parent="Behaviour" node_paths=PackedStringArray("entity")]
wait_time = 15.0
one_shot = true
script = ExtResource("5_gfy6j")
entity = NodePath("../..")
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
shape = SubResource("RectangleShape2D_oe0dc")
[node name="FlashController" type="Node" parent="."]
script = ExtResource("7_vpcbp")
shaderMaterial = ExtResource("2_aimqk")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]
[connection signal="timeout" from="Behaviour/Timer" to="Behaviour" method="OnTimeout"]

View file

@ -1,191 +0,0 @@
[gd_scene load_steps=26 format=3 uid="uid://cjoyh54cpjla7"]
[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="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_q31qc"]
[ext_resource type="Script" uid="uid://dn53jvpjyg63l" path="res://scripts/entities/plants/Eyesight.cs" id="3_d45iq"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="3_q31qc"]
[ext_resource type="Script" uid="uid://ceprqkraw3v6m" path="res://scripts/entities/plants/Shooter.cs" id="4_sckvu"]
[ext_resource type="PackedScene" uid="uid://c1ig40gtdcb60" path="res://scenes/projectiles/cucumber_projectile_compound.tscn" id="5_sckvu"]
[ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="6_xwpd6"]
[ext_resource type="Script" uid="uid://bdk5iqtw4xbkl" path="res://scripts/entities/plants/behaviours/PeashooterBehaviour.cs" id="7_q31qc"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="9_a66ro"]
[sub_resource type="Animation" id="Animation_n1xkd"]
length = 0.001
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": [10]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_gogcg"]
_data = {
&"RESET": SubResource("Animation_n1xkd")
}
[sub_resource type="Animation" id="Animation_d45iq"]
length = 0.833342
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]
}
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.5),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"Shoot"
}]
}
[sub_resource type="Animation" id="Animation_ig0op"]
length = 0.666675
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),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 1,
"values": [10, 11, 12, 13, 14]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_n1xkd"]
_data = {
&"attack": SubResource("Animation_d45iq"),
&"idle": SubResource("Animation_ig0op")
}
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_ig0op"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_d45iq"]
animation = &"cucumber/attack"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_n1xkd"]
animation = &"cucumber/idle"
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gogcg"]
advance_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ie74j"]
advance_mode = 2
advance_condition = &"ready"
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_sckvu"]
switch_mode = 2
advance_mode = 2
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_jbggv"]
states/cucumber_attack/node = SubResource("AnimationNodeAnimation_d45iq")
states/cucumber_attack/position = Vector2(628, 100)
states/cucumber_idle/node = SubResource("AnimationNodeAnimation_n1xkd")
states/cucumber_idle/position = Vector2(374, 100)
transitions = ["Start", "cucumber_idle", SubResource("AnimationNodeStateMachineTransition_gogcg"), "cucumber_idle", "cucumber_attack", SubResource("AnimationNodeStateMachineTransition_ie74j"), "cucumber_attack", "cucumber_idle", SubResource("AnimationNodeStateMachineTransition_sckvu")]
graph_offset = Vector2(137, -3)
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_xwpd6"]
nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_ig0op")
nodes/TimeScale/position = Vector2(60, 140)
nodes/Tree/node = SubResource("AnimationNodeStateMachine_jbggv")
nodes/Tree/position = Vector2(-260, 140)
node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_ig0op"]
radius = 13.0
height = 48.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_n1xkd"]
size = Vector2(26, 600)
[node name="Cucumber" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
material = ExtResource("2_q31qc")
script = ExtResource("1_xwpd6")
MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_q31qc")
texture = ExtResource("2_ig0op")
hframes = 10
vframes = 2
frame = 10
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_gogcg"),
&"cucumber": SubResource("AnimationLibrary_n1xkd")
}
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_xwpd6")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0
parameters/Tree/conditions/ready = false
script = ExtResource("3_q31qc")
entity = NodePath("..")
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
shape = SubResource("CapsuleShape2D_ig0op")
[node name="Eysight" type="Area2D" parent="."]
collision_layer = 4
collision_mask = 8
script = ExtResource("3_d45iq")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Eysight"]
shape = SubResource("RectangleShape2D_n1xkd")
[node name="Shooter" type="Marker2D" parent="." node_paths=PackedStringArray("_timer")]
script = ExtResource("4_sckvu")
_projectile = ExtResource("5_sckvu")
_timer = NodePath("FireTimer")
[node name="FireTimer" type="Timer" parent="Shooter" node_paths=PackedStringArray("entity")]
wait_time = 2.5
one_shot = true
script = ExtResource("6_xwpd6")
entity = NodePath("../..")
[node name="Behaviour" type="Node" parent="." node_paths=PackedStringArray("_shootTimer", "_sight")]
script = ExtResource("7_q31qc")
_shootTimer = NodePath("../Shooter/FireTimer")
_sight = NodePath("../Eysight")
[node name="FlashController" type="Node" parent="."]
script = ExtResource("9_a66ro")
shaderMaterial = ExtResource("2_q31qc")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]

View file

@ -1,171 +0,0 @@
[gd_scene load_steps=23 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="Texture2D" uid="uid://bt76iudw2qgnv" path="res://assets/sprites/atlases/plants/cumbucer.png" id="2_ig0op"]
[ext_resource type="Script" uid="uid://dn53jvpjyg63l" path="res://scripts/plants/Eyesight.cs" id="3_d45iq"]
[ext_resource type="Script" uid="uid://ceprqkraw3v6m" path="res://scripts/plants/Shooter.cs" id="4_sckvu"]
[ext_resource type="PackedScene" uid="uid://c1ig40gtdcb60" path="res://scenes/projectiles/cucumber_projectile.tscn" id="5_sckvu"]
[ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="6_xwpd6"]
[ext_resource type="Script" uid="uid://bdk5iqtw4xbkl" path="res://scripts/plants/behaviours/PeashooterBehaviour.cs" id="7_q31qc"]
[sub_resource type="Animation" id="Animation_n1xkd"]
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": [10]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_gogcg"]
_data = {
&"RESET": SubResource("Animation_n1xkd")
}
[sub_resource type="Animation" id="Animation_ig0op"]
length = 0.666675
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),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 1,
"values": [10, 11, 12, 13, 14]
}
[sub_resource type="Animation" id="Animation_d45iq"]
length = 0.833342
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]
}
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.5),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"Shoot"
}]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_n1xkd"]
_data = {
&"attack": SubResource("Animation_d45iq"),
&"idle": SubResource("Animation_ig0op")
}
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_ig0op"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_d45iq"]
animation = &"cucumber/attack"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_n1xkd"]
animation = &"cucumber/idle"
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gogcg"]
advance_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ie74j"]
advance_mode = 2
advance_condition = &"ready"
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_sckvu"]
switch_mode = 2
advance_mode = 2
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_jbggv"]
states/cucumber_attack/node = SubResource("AnimationNodeAnimation_d45iq")
states/cucumber_attack/position = Vector2(628, 100)
states/cucumber_idle/node = SubResource("AnimationNodeAnimation_n1xkd")
states/cucumber_idle/position = Vector2(374, 100)
transitions = ["Start", "cucumber_idle", SubResource("AnimationNodeStateMachineTransition_gogcg"), "cucumber_idle", "cucumber_attack", SubResource("AnimationNodeStateMachineTransition_ie74j"), "cucumber_attack", "cucumber_idle", SubResource("AnimationNodeStateMachineTransition_sckvu")]
graph_offset = Vector2(137, -3)
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_xwpd6"]
graph_offset = Vector2(-370, 72)
nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_ig0op")
nodes/TimeScale/position = Vector2(60, 140)
nodes/Tree/node = SubResource("AnimationNodeStateMachine_jbggv")
nodes/Tree/position = Vector2(-260, 140)
node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_ig0op"]
radius = 13.0
height = 48.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_n1xkd"]
size = Vector2(26, 600)
[node name="Cucumber" instance=ExtResource("1_65f4u")]
MaxHP = 30.0
[node name="Sprite2D" parent="." index="0"]
texture = ExtResource("2_ig0op")
hframes = 10
vframes = 2
frame = 10
[node name="AnimationPlayer" parent="." index="1"]
libraries = {
&"": SubResource("AnimationLibrary_gogcg"),
&"cucumber": SubResource("AnimationLibrary_n1xkd")
}
[node name="AnimationTree" parent="." index="2"]
tree_root = SubResource("AnimationNodeBlendTree_xwpd6")
parameters/TimeScale/scale = 1.0
parameters/Tree/conditions/ready = false
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox" index="0"]
shape = SubResource("CapsuleShape2D_ig0op")
[node name="Eysight" type="Area2D" parent="." index="4"]
collision_layer = 4
collision_mask = 8
script = ExtResource("3_d45iq")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Eysight" index="0"]
shape = SubResource("RectangleShape2D_n1xkd")
[node name="Shooter" type="Marker2D" parent="." index="5" node_paths=PackedStringArray("_timer")]
script = ExtResource("4_sckvu")
_projectile = ExtResource("5_sckvu")
_timer = NodePath("Timer")
[node name="Timer" type="Timer" parent="Shooter" index="0" node_paths=PackedStringArray("entity")]
wait_time = 1.5
one_shot = true
script = ExtResource("6_xwpd6")
entity = NodePath("../..")
[node name="Behaviour" type="Node" parent="." index="6" node_paths=PackedStringArray("_shootTimer", "_sight")]
script = ExtResource("7_q31qc")
_shootTimer = NodePath("../Shooter/Timer")
_sight = NodePath("../Eysight")

View file

@ -1,113 +0,0 @@
[gd_scene load_steps=19 format=3 uid="uid://qq0cw8xtcoj3"]
[ext_resource type="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_gu3kj"]
[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_1angc"]
[ext_resource type="Texture2D" uid="uid://dff73m8ahamaa" path="res://assets/sprites/atlases/plants/garlic.png" id="2_w2jbi"]
[ext_resource type="AnimationLibrary" uid="uid://cjl81f61gdlvi" path="res://assets/animations/plants/garlic.res" id="3_jkb3q"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="4_1angc"]
[ext_resource type="Script" uid="uid://btkmd86pn828y" path="res://scripts/entities/plants/behaviours/HpBasedBehaviour.cs" id="4_bv44h"]
[ext_resource type="Script" uid="uid://bmtukcq10m8wo" path="res://scripts/entities/plants/ReturnEffect.cs" id="5_oob20"]
[ext_resource type="Resource" uid="uid://dsg1vjx76ifgu" path="res://assets/effects/GarlicEffect.tres" id="6_gho1l"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="8_6iwlp"]
[sub_resource type="Animation" id="Animation_k0cex"]
length = 0.001
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_v4l78"]
_data = {
&"RESET": SubResource("Animation_k0cex")
}
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_2d3xk"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_mdv0r"]
animation = &"garlic/full_hp"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_j5xqj"]
animation = &"garlic/half_hp"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_tlgpl"]
animation = &"garlic/low_hp"
[sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_8mvpm"]
blend_point_0/node = SubResource("AnimationNodeAnimation_mdv0r")
blend_point_0/pos = 1.0
blend_point_1/node = SubResource("AnimationNodeAnimation_j5xqj")
blend_point_1/pos = 0.5
blend_point_2/node = SubResource("AnimationNodeAnimation_tlgpl")
blend_point_2/pos = 0.0
min_space = 0.0
blend_mode = 1
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_2o7sr"]
graph_offset = Vector2(-389, 166)
nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_2d3xk")
nodes/TimeScale/position = Vector2(100, 160)
nodes/Tree/node = SubResource("AnimationNodeBlendSpace1D_8mvpm")
nodes/Tree/position = Vector2(-160, 200)
node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_thlvs"]
size = Vector2(32, 29)
[node name="Garlic" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_gu3kj")
MaxHP = 200.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_1angc")
texture = ExtResource("2_w2jbi")
hframes = 8
vframes = 3
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_v4l78"),
&"garlic": ExtResource("3_jkb3q")
}
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_2o7sr")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0
parameters/Tree/blend_position = 1.0
script = ExtResource("4_1angc")
entity = NodePath("..")
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(1, 11.5)
shape = SubResource("RectangleShape2D_thlvs")
[node name="Behaviour" type="Node" parent="."]
script = ExtResource("4_bv44h")
parameters = Array[String](["parameters/Tree/blend_position"])
[node name="ReturnEffect" type="Node" parent="."]
script = ExtResource("5_oob20")
_effectToReturn = ExtResource("6_gho1l")
[node name="FlashController" type="Node" parent="."]
script = ExtResource("8_6iwlp")
shaderMaterial = ExtResource("2_1angc")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]
[connection signal="OnHPChanged" from="." to="Behaviour" method="OnHPChanged"]
[connection signal="OnHPChanged" from="." to="ReturnEffect" method="OnDamageRecieved"]

View file

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

View file

@ -1,149 +0,0 @@
[gd_scene load_steps=27 format=3 uid="uid://dy41q1kxray5t"]
[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="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_p4cd5"]
[ext_resource type="AnimationLibrary" uid="uid://bv1dl1g4dmbho" path="res://assets/animations/plants/peashooter.res" id="3_8lrhp"]
[ext_resource type="Script" uid="uid://ceprqkraw3v6m" path="res://scripts/entities/plants/Shooter.cs" id="3_a4ew1"]
[ext_resource type="PackedScene" uid="uid://b2hrv0aqbui7u" path="res://scenes/projectiles/pea.tscn" id="4_saxds"]
[ext_resource type="Script" uid="uid://bdk5iqtw4xbkl" path="res://scripts/entities/plants/behaviours/PeashooterBehaviour.cs" id="5_7qiua"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="5_ceium"]
[ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="6_q58jr"]
[ext_resource type="Script" uid="uid://dn53jvpjyg63l" path="res://scripts/entities/plants/Eyesight.cs" id="7_2bki8"]
[ext_resource type="Script" uid="uid://hccb0aee0x0o" path="res://scripts/entities/plants/PlantEyesightLimiter.cs" id="8_nl4jc"]
[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="9_mbbd7"]
[ext_resource type="AudioStream" uid="uid://dsv81mvrdg3w3" path="res://assets/audio/sfx/throw_generic.tres" id="10_q58jr"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="14_dmys5"]
[sub_resource type="Animation" id="Animation_a2y0j"]
length = 0.001
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="AnimationNodeTimeScale" id="AnimationNodeTimeScale_mbbd7"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_34v85"]
animation = &"peashooter/idle"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_u4o2k"]
animation = &"peashooter/shoot"
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_70n3m"]
advance_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2lwpg"]
advance_mode = 2
advance_condition = &"ready"
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k61yr"]
switch_mode = 2
advance_mode = 2
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_13o7y"]
states/peashooter_idle/node = SubResource("AnimationNodeAnimation_34v85")
states/peashooter_idle/position = Vector2(420, 92)
states/peashooter_shoot/node = SubResource("AnimationNodeAnimation_u4o2k")
states/peashooter_shoot/position = Vector2(674, 82)
transitions = ["Start", "peashooter_idle", SubResource("AnimationNodeStateMachineTransition_70n3m"), "peashooter_idle", "peashooter_shoot", SubResource("AnimationNodeStateMachineTransition_2lwpg"), "peashooter_shoot", "peashooter_idle", SubResource("AnimationNodeStateMachineTransition_k61yr")]
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_q58jr"]
graph_offset = Vector2(-518.8, 27.8)
nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_mbbd7")
nodes/TimeScale/position = Vector2(0, 120)
nodes/Tree/node = SubResource("AnimationNodeStateMachine_13o7y")
nodes/Tree/position = Vector2(-300, 120)
node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[sub_resource type="SegmentShape2D" id="SegmentShape2D_8iovl"]
resource_local_to_scene = true
[sub_resource type="RectangleShape2D" id="RectangleShape2D_r7xnh"]
size = Vector2(20, 44)
[node name="Peashooter" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_p4cd5")
MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_p4cd5")
texture = ExtResource("2_14qlx")
hframes = 10
vframes = 2
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_ipp6b"),
&"peashooter": ExtResource("3_8lrhp")
}
autoplay = "peashooter/idle"
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_q58jr")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0
parameters/Tree/conditions/ready = false
script = ExtResource("5_ceium")
entity = NodePath("..")
[node name="Shooter" type="Marker2D" parent="." node_paths=PackedStringArray("_timer")]
position = Vector2(12, -4)
script = ExtResource("3_a4ew1")
_projectile = ExtResource("4_saxds")
_timer = NodePath("FireTimer")
[node name="FireTimer" type="Timer" parent="Shooter" node_paths=PackedStringArray("entity")]
wait_time = 1.5
one_shot = true
script = ExtResource("6_q58jr")
entity = NodePath("../..")
[node name="Behaviour" type="Node" parent="." node_paths=PackedStringArray("_shootTimer", "_sight")]
script = ExtResource("5_7qiua")
_shootTimer = NodePath("../Shooter/FireTimer")
_sight = NodePath("../Eysight")
[node name="Eysight" type="Area2D" parent="."]
collision_layer = 4
collision_mask = 8
script = ExtResource("7_2bki8")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Eysight"]
shape = SubResource("SegmentShape2D_8iovl")
script = ExtResource("8_nl4jc")
[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("9_mbbd7")
audioStream = ExtResource("10_q58jr")
channel = "pea_shoot"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="FlashController" type="Node" parent="."]
script = ExtResource("14_dmys5")
shaderMaterial = ExtResource("2_p4cd5")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]

View file

@ -1,175 +0,0 @@
[gd_scene load_steps=30 format=3 uid="uid://b5x35v3w2u8dx"]
[ext_resource type="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_a0d1l"]
[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_a0d1l"]
[ext_resource type="Texture2D" uid="uid://c77o6ba0mw7a3" path="res://assets/sprites/atlases/plants/potato_mine.png" id="2_sneas"]
[ext_resource type="Script" uid="uid://bhl6o2m3fn4xg" path="res://scripts/entities/plants/ExplosionComponent.cs" id="3_2hd5y"]
[ext_resource type="AnimationLibrary" uid="uid://bjlbdvr6f0r7e" path="res://assets/animations/plants/potato_mine.res" id="3_7tqmj"]
[ext_resource type="Script" uid="uid://c7qfh4py0uulo" path="res://scripts/entities/plants/behaviours/PotatomineBehaviour.cs" id="4_twx65"]
[ext_resource type="PackedScene" uid="uid://ckanq33rao1ur" path="res://scenes/particles/potato_explosion.tscn" id="5_px4r0"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="5_v27q1"]
[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="7_b1j2f"]
[ext_resource type="AudioStream" uid="uid://dltjtpyfr1so0" path="res://assets/audio/sfx/potato_mine.mp3" id="8_3vqdc"]
[ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="8_824aq"]
[ext_resource type="AudioStream" uid="uid://b27om1bw1x04e" path="res://assets/audio/sfx/dirt_rise.mp3" id="9_3vqdc"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="13_cfvur"]
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_3vqdc"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_6uutc"]
animation = &"potato_mine/explode"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_qdgub"]
animation = &"potato_mine/idle_primed"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_cohta"]
animation = &"potato_mine/idle_unprimed"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_j42h1"]
animation = &"potato_mine/prime"
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ttnxb"]
advance_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8nvnf"]
advance_mode = 2
advance_condition = &"primed"
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_q0arb"]
switch_mode = 2
advance_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dikhn"]
switch_mode = 2
advance_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lqd1d"]
advance_mode = 2
advance_condition = &"explode"
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_nfn7b"]
states/End/position = Vector2(1104, 75.168)
states/Start/position = Vector2(46, 130)
states/potato_mine_explode/node = SubResource("AnimationNodeAnimation_6uutc")
states/potato_mine_explode/position = Vector2(934.656, 75.168)
states/potato_mine_idle_primed/node = SubResource("AnimationNodeAnimation_qdgub")
states/potato_mine_idle_primed/position = Vector2(703.656, 75.168)
states/potato_mine_idle_unprimed/node = SubResource("AnimationNodeAnimation_cohta")
states/potato_mine_idle_unprimed/position = Vector2(271.656, 75.168)
states/potato_mine_prime/node = SubResource("AnimationNodeAnimation_j42h1")
states/potato_mine_prime/position = Vector2(490.656, 75.168)
transitions = ["Start", "potato_mine_idle_unprimed", SubResource("AnimationNodeStateMachineTransition_ttnxb"), "potato_mine_idle_unprimed", "potato_mine_prime", SubResource("AnimationNodeStateMachineTransition_8nvnf"), "potato_mine_explode", "End", SubResource("AnimationNodeStateMachineTransition_q0arb"), "potato_mine_prime", "potato_mine_idle_primed", SubResource("AnimationNodeStateMachineTransition_dikhn"), "potato_mine_idle_primed", "potato_mine_explode", SubResource("AnimationNodeStateMachineTransition_lqd1d")]
graph_offset = Vector2(-16.3438, -67.832)
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_824aq"]
nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_3vqdc")
nodes/TimeScale/position = Vector2(100, 120)
nodes/Tree/node = SubResource("AnimationNodeStateMachine_nfn7b")
nodes/Tree/position = Vector2(-260, 140)
node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[sub_resource type="CircleShape2D" id="CircleShape2D_824aq"]
radius = 17.0
[sub_resource type="CircleShape2D" id="CircleShape2D_wvns6"]
radius = 25.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_qfqko"]
size = Vector2(15, 27)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ti2g4"]
size = Vector2(22, 19)
[node name="Potato mine" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_a0d1l")
MaxHP = 20.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_a0d1l")
texture = ExtResource("2_sneas")
hframes = 7
vframes = 4
frame = 7
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"potato_mine": ExtResource("3_7tqmj")
}
autoplay = "idle_unprimed"
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_824aq")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0
parameters/Tree/conditions/explode = false
parameters/Tree/conditions/primed = false
script = ExtResource("5_v27q1")
entity = NodePath("..")
[node name="Detectionbox" type="Area2D" parent="."]
collision_layer = 0
collision_mask = 8
[node name="CollisionShape2D" type="CollisionShape2D" parent="Detectionbox"]
position = Vector2(0, 9)
shape = SubResource("CircleShape2D_824aq")
[node name="ExplosionBox" type="Area2D" parent="."]
collision_layer = 0
collision_mask = 8
script = ExtResource("3_2hd5y")
damage = 6000
particles = ExtResource("5_px4r0")
[node name="CollisionShape2D" type="CollisionShape2D" parent="ExplosionBox"]
position = Vector2(0, 9)
shape = SubResource("CircleShape2D_wvns6")
[node name="ExplosionPlayer" type="Node" parent="ExplosionBox"]
script = ExtResource("7_b1j2f")
audioStream = ExtResource("8_3vqdc")
channel = "explosion"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="PrimeTimer" type="Timer" parent="." node_paths=PackedStringArray("entity")]
wait_time = 15.0
one_shot = true
autostart = true
script = ExtResource("8_824aq")
entity = NodePath("..")
[node name="Behaviour" type="Node" parent="." node_paths=PackedStringArray("_hitbox", "detectionBox", "_unprimedShape", "_primedShape")]
script = ExtResource("4_twx65")
_hitbox = NodePath("../Hitbox")
detectionBox = NodePath("../Detectionbox")
_unprimedShape = NodePath("../Hitbox/Unprimed")
_primedShape = NodePath("../Hitbox/Primed")
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="Unprimed" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(-0.5, 14.5)
shape = SubResource("RectangleShape2D_qfqko")
[node name="Primed" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(0, 16.5)
shape = SubResource("RectangleShape2D_ti2g4")
disabled = true
[node name="ChannelPlayer" type="Node" parent="."]
script = ExtResource("7_b1j2f")
audioStream = ExtResource("9_3vqdc")
channel = "plant_rise"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="FlashController" type="Node" parent="."]
script = ExtResource("13_cfvur")
shaderMaterial = ExtResource("2_a0d1l")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]
[connection signal="area_entered" from="Detectionbox" to="Behaviour" method="OnAreaEntered"]
[connection signal="timeout" from="PrimeTimer" to="Behaviour" method="Prime"]

View file

@ -1,149 +0,0 @@
[gd_scene load_steps=27 format=3 uid="uid://bb4ya5qx224ca"]
[ext_resource type="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_22an6"]
[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_tut6f"]
[ext_resource type="Texture2D" uid="uid://cksryh4w5dbbx" path="res://assets/sprites/atlases/plants/peashooter.png" id="3_8aoci"]
[ext_resource type="AnimationLibrary" uid="uid://bv1dl1g4dmbho" path="res://assets/animations/plants/peashooter.res" id="4_rdf0i"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="5_dwhke"]
[ext_resource type="Script" uid="uid://ceprqkraw3v6m" path="res://scripts/entities/plants/Shooter.cs" id="6_f5jji"]
[ext_resource type="PackedScene" uid="uid://b45wmmcie6yeg" path="res://scenes/projectiles/repeater_projectile.tscn" id="7_22an6"]
[ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="8_w0eom"]
[ext_resource type="Script" uid="uid://bdk5iqtw4xbkl" path="res://scripts/entities/plants/behaviours/PeashooterBehaviour.cs" id="9_cqtdb"]
[ext_resource type="Script" uid="uid://dn53jvpjyg63l" path="res://scripts/entities/plants/Eyesight.cs" id="10_bi2sw"]
[ext_resource type="Script" uid="uid://hccb0aee0x0o" path="res://scripts/entities/plants/PlantEyesightLimiter.cs" id="11_4nqum"]
[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="12_7n1bh"]
[ext_resource type="AudioStream" uid="uid://dsv81mvrdg3w3" path="res://assets/audio/sfx/throw_generic.tres" id="13_hxb23"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="14_aq7hn"]
[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="AnimationNodeTimeScale" id="AnimationNodeTimeScale_mbbd7"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_34v85"]
animation = &"peashooter/idle"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_u4o2k"]
animation = &"peashooter/shoot"
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_70n3m"]
advance_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2lwpg"]
advance_mode = 2
advance_condition = &"ready"
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k61yr"]
switch_mode = 2
advance_mode = 2
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_13o7y"]
states/peashooter_idle/node = SubResource("AnimationNodeAnimation_34v85")
states/peashooter_idle/position = Vector2(420, 92)
states/peashooter_shoot/node = SubResource("AnimationNodeAnimation_u4o2k")
states/peashooter_shoot/position = Vector2(674, 82)
transitions = ["Start", "peashooter_idle", SubResource("AnimationNodeStateMachineTransition_70n3m"), "peashooter_idle", "peashooter_shoot", SubResource("AnimationNodeStateMachineTransition_2lwpg"), "peashooter_shoot", "peashooter_idle", SubResource("AnimationNodeStateMachineTransition_k61yr")]
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_q58jr"]
graph_offset = Vector2(-518.8, 27.8)
nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_mbbd7")
nodes/TimeScale/position = Vector2(0, 120)
nodes/Tree/node = SubResource("AnimationNodeStateMachine_13o7y")
nodes/Tree/position = Vector2(-300, 120)
node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[sub_resource type="SegmentShape2D" id="SegmentShape2D_8iovl"]
resource_local_to_scene = true
[sub_resource type="RectangleShape2D" id="RectangleShape2D_r7xnh"]
size = Vector2(20, 44)
[node name="Repeater" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_22an6")
MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_tut6f")
texture = ExtResource("3_8aoci")
hframes = 10
vframes = 2
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_ipp6b"),
&"peashooter": ExtResource("4_rdf0i")
}
autoplay = "peashooter/idle"
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_q58jr")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0
parameters/Tree/conditions/ready = false
script = ExtResource("5_dwhke")
entity = NodePath("..")
[node name="Shooter" type="Marker2D" parent="." node_paths=PackedStringArray("_timer")]
position = Vector2(12, -4)
script = ExtResource("6_f5jji")
_projectile = ExtResource("7_22an6")
_timer = NodePath("FireTimer")
[node name="FireTimer" type="Timer" parent="Shooter" node_paths=PackedStringArray("entity")]
wait_time = 1.5
one_shot = true
script = ExtResource("8_w0eom")
entity = NodePath("../..")
[node name="Behaviour" type="Node" parent="." node_paths=PackedStringArray("_shootTimer", "_sight")]
script = ExtResource("9_cqtdb")
_shootTimer = NodePath("../Shooter/FireTimer")
_sight = NodePath("../Eysight")
[node name="Eysight" type="Area2D" parent="."]
collision_layer = 4
collision_mask = 8
script = ExtResource("10_bi2sw")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Eysight"]
shape = SubResource("SegmentShape2D_8iovl")
script = ExtResource("11_4nqum")
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(0, 5)
shape = SubResource("RectangleShape2D_r7xnh")
[node name="ChannelPlayer" type="Node" parent="."]
script = ExtResource("12_7n1bh")
audioStream = ExtResource("13_hxb23")
channel = "pea_shoot"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="FlashController" type="Node" parent="."]
script = ExtResource("14_aq7hn")
shaderMaterial = ExtResource("2_tut6f")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]

View file

@ -1,94 +0,0 @@
[gd_scene load_steps=14 format=3 uid="uid://bmk41n57j7hgx"]
[ext_resource type="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_moq7q"]
[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_moq7q"]
[ext_resource type="Texture2D" uid="uid://dvldjlg0nr355" path="res://assets/sprites/atlases/atlas1.png" id="3_ktw4a"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="4_4ermv"]
[ext_resource type="Script" uid="uid://cu63aiowp5bqd" path="res://scripts/entities/plants/DragAction.cs" id="4_5jowj"]
[ext_resource type="Script" uid="uid://co7ttejdo2qot" path="res://scripts/entities/plants/AreaAttack.cs" id="5_twsk4"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="6_4uf0y"]
[ext_resource type="Script" uid="uid://csgksiyma0h4t" path="res://scripts/entities/plants/behaviours/SnipachBehaviour.cs" id="6_twsk4"]
[ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="7_3hyni"]
[sub_resource type="AtlasTexture" id="AtlasTexture_f4wwx"]
atlas = ExtResource("3_ktw4a")
region = Rect2(525, 241, 79, 72)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ktw4a"]
size = Vector2(39.5, 45)
[sub_resource type="AtlasTexture" id="AtlasTexture_3hyni"]
atlas = ExtResource("3_ktw4a")
region = Rect2(592, 64, 50, 60)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_5jowj"]
size = Vector2(40, 36)
[node name="Snipach" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_moq7q")
MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_moq7q")
position = Vector2(8, -16)
texture = SubResource("AtlasTexture_f4wwx")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
anim_player = NodePath("../AnimationPlayer")
script = ExtResource("4_4ermv")
entity = NodePath("..")
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(-0.75, -2.5)
shape = SubResource("RectangleShape2D_ktw4a")
[node name="DragAction" type="Node" parent="Hitbox"]
script = ExtResource("4_5jowj")
[node name="FlashController" type="Node" parent="."]
script = ExtResource("6_4uf0y")
shaderMaterial = ExtResource("2_moq7q")
[node name="ShootBox" type="Area2D" parent="."]
visible = false
collision_layer = 32
collision_mask = 24
input_pickable = false
script = ExtResource("5_twsk4")
_damage = 400
[node name="Sprite2D" type="Sprite2D" parent="ShootBox"]
texture = SubResource("AtlasTexture_3hyni")
[node name="CollisionShape2D" type="CollisionShape2D" parent="ShootBox"]
shape = SubResource("RectangleShape2D_5jowj")
[node name="Behaviour" type="Node" parent="." node_paths=PackedStringArray("attackBox", "timer", "guardTimer")]
script = ExtResource("6_twsk4")
attackBox = NodePath("../ShootBox")
timer = NodePath("Timer")
guardTimer = NodePath("GuardTimer")
[node name="Timer" type="Timer" parent="Behaviour" node_paths=PackedStringArray("entity")]
wait_time = 15.0
one_shot = true
script = ExtResource("7_3hyni")
entity = NodePath("../..")
[node name="GuardTimer" type="Timer" parent="Behaviour"]
wait_time = 0.2
one_shot = true
autostart = true
ignore_time_scale = true
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]
[connection signal="DragBegin" from="Hitbox/DragAction" to="Behaviour" method="OnDragBegin"]
[connection signal="DragEnd" from="Hitbox/DragAction" to="Behaviour" method="OnDragEnd"]

View file

@ -1,149 +0,0 @@
[gd_scene load_steps=27 format=3 uid="uid://b7innrovtmf5u"]
[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="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="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="5_fbp2l"]
[ext_resource type="Script" uid="uid://ceprqkraw3v6m" path="res://scripts/entities/plants/Shooter.cs" id="6_br16s"]
[ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="8_bjd0y"]
[ext_resource type="Script" uid="uid://bdk5iqtw4xbkl" path="res://scripts/entities/plants/behaviours/PeashooterBehaviour.cs" id="9_hg126"]
[ext_resource type="Script" uid="uid://dn53jvpjyg63l" path="res://scripts/entities/plants/Eyesight.cs" id="10_noqdw"]
[ext_resource type="Script" uid="uid://hccb0aee0x0o" path="res://scripts/entities/plants/PlantEyesightLimiter.cs" id="11_terbf"]
[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="12_dvoqf"]
[ext_resource type="AudioStream" uid="uid://dsv81mvrdg3w3" path="res://assets/audio/sfx/throw_generic.tres" id="13_o05jr"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="14_oijop"]
[sub_resource type="Animation" id="Animation_pephc"]
length = 0.001
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_djmlc"]
_data = {
&"RESET": SubResource("Animation_pephc")
}
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_mbbd7"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dv2ad"]
animation = &"snowpea/idle"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ptach"]
animation = &"snowpea/shoot"
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8spty"]
switch_mode = 2
advance_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lshcr"]
advance_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ihul0"]
advance_mode = 2
advance_condition = &"ready"
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_qdmro"]
states/snowpea_idle/node = SubResource("AnimationNodeAnimation_dv2ad")
states/snowpea_idle/position = Vector2(408, 100)
states/snowpea_shoot/node = SubResource("AnimationNodeAnimation_ptach")
states/snowpea_shoot/position = Vector2(682, 100)
transitions = ["snowpea_shoot", "snowpea_idle", SubResource("AnimationNodeStateMachineTransition_8spty"), "Start", "snowpea_idle", SubResource("AnimationNodeStateMachineTransition_lshcr"), "snowpea_idle", "snowpea_shoot", SubResource("AnimationNodeStateMachineTransition_ihul0")]
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_3oyhk"]
graph_offset = Vector2(-518.8, 27.8)
nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_mbbd7")
nodes/TimeScale/position = Vector2(0, 120)
nodes/Tree/node = SubResource("AnimationNodeStateMachine_qdmro")
nodes/Tree/position = Vector2(-320, 100)
node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[sub_resource type="SegmentShape2D" id="SegmentShape2D_3oyhk"]
resource_local_to_scene = true
[sub_resource type="RectangleShape2D" id="RectangleShape2D_r7xnh"]
size = Vector2(20, 44)
[node name="Snowpea" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_klsgb")
MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_klsgb")
texture = ExtResource("2_ytrm0")
hframes = 10
vframes = 2
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_djmlc"),
&"snowpea": ExtResource("4_jvx5y")
}
autoplay = "snowpea/idle"
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_3oyhk")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0
parameters/Tree/conditions/ready = false
script = ExtResource("5_fbp2l")
entity = NodePath("..")
[node name="Shooter" type="Marker2D" parent="." node_paths=PackedStringArray("_timer")]
position = Vector2(12, -4)
script = ExtResource("6_br16s")
_projectile = ExtResource("5_bv86m")
_timer = NodePath("FireTimer")
[node name="FireTimer" type="Timer" parent="Shooter" node_paths=PackedStringArray("entity")]
wait_time = 1.5
one_shot = true
script = ExtResource("8_bjd0y")
entity = NodePath("../..")
[node name="Behaviour" type="Node" parent="." node_paths=PackedStringArray("_shootTimer", "_sight")]
script = ExtResource("9_hg126")
_shootTimer = NodePath("../Shooter/FireTimer")
_sight = NodePath("../Eysight")
[node name="Eysight" type="Area2D" parent="."]
collision_layer = 4
collision_mask = 8
script = ExtResource("10_noqdw")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Eysight"]
shape = SubResource("SegmentShape2D_3oyhk")
script = ExtResource("11_terbf")
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(0, 5)
shape = SubResource("RectangleShape2D_r7xnh")
[node name="ChannelPlayer" type="Node" parent="."]
script = ExtResource("12_dvoqf")
audioStream = ExtResource("13_o05jr")
channel = "pea_shoot"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="FlashController" type="Node" parent="."]
script = ExtResource("14_oijop")
shaderMaterial = ExtResource("2_klsgb")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]

View file

@ -1,92 +0,0 @@
[gd_scene load_steps=16 format=3 uid="uid://bdhod5c6o53ha"]
[ext_resource type="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_kd62n"]
[ext_resource type="Texture2D" uid="uid://coafh3mjharxo" path="res://assets/sprites/atlases/plants/spikeweed.png" id="2_ffrjr"]
[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_kd62n"]
[ext_resource type="Script" uid="uid://co7ttejdo2qot" path="res://scripts/entities/plants/AreaAttack.cs" id="3_hqtbm"]
[ext_resource type="AnimationLibrary" uid="uid://cen6ku4y01dyg" path="res://assets/animations/plants/spikeweed.res" id="3_nwshn"]
[ext_resource type="Script" uid="uid://dqquodxaijmem" path="res://scripts/entities/plants/behaviours/SpikeweedBehaviour.cs" id="3_uhpn7"]
[ext_resource type="Script" uid="uid://dw7v3s4kbu7ma" path="res://scripts/entities/AnimationStatistics.cs" id="5_yfuxj"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="6_sqcsr"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="9_lq7xg"]
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_jleqa"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_lmfqg"]
animation = &"spikeweed/idle"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ccr6v"]
animation = &"spikeweed/attack"
[sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_1y7y3"]
blend_point_0/node = SubResource("AnimationNodeAnimation_lmfqg")
blend_point_0/pos = 0.0
blend_point_1/node = SubResource("AnimationNodeAnimation_ccr6v")
blend_point_1/pos = 1.0
min_space = 0.0
snap = 1.0
value_label = "attack"
blend_mode = 1
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_63okc"]
graph_offset = Vector2(-318, 108)
nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_jleqa")
nodes/TimeScale/position = Vector2(140, 140)
nodes/Tree/node = SubResource("AnimationNodeBlendSpace1D_1y7y3")
nodes/Tree/position = Vector2(-120, 180)
node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_1di76"]
size = Vector2(49, 38)
[node name="Spikeweed" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_kd62n")
MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_kd62n")
texture = ExtResource("2_ffrjr")
hframes = 10
vframes = 2
frame = 1
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"spikeweed": ExtResource("3_nwshn")
}
[node name="DPSStatistics" type="Node" parent="AnimationPlayer"]
script = ExtResource("5_yfuxj")
animationName = "spikeweed/attack"
trackToFind = "Hitbox"
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_63okc")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0
parameters/Tree/blend_position = 0
script = ExtResource("6_sqcsr")
entity = NodePath("..")
[node name="Behaviour" type="Node" parent="."]
script = ExtResource("3_uhpn7")
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 4
collision_mask = 8
script = ExtResource("3_hqtbm")
_damage = 6
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(0.5, 9)
shape = SubResource("RectangleShape2D_1di76")
[node name="FlashController" type="Node" parent="."]
script = ExtResource("9_lq7xg")
shaderMaterial = ExtResource("2_kd62n")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]
[connection signal="area_entered" from="Hitbox" to="Behaviour" method="OnHitboxEntered"]
[connection signal="area_exited" from="Hitbox" to="Behaviour" method="OnHitboxExited"]

View file

@ -1,133 +0,0 @@
[gd_scene load_steps=22 format=3 uid="uid://bg7lomiorxo2c"]
[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="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_yyn2e"]
[ext_resource type="AnimationLibrary" uid="uid://yjytiuj4u7oh" path="res://assets/animations/plants/sunflower.res" id="3_btsik"]
[ext_resource type="Script" uid="uid://b71gebny84s81" path="res://scripts/entities/plants/PlantSunSpawner.cs" id="3_te0pl"]
[ext_resource type="PackedScene" uid="uid://bpekho7leatr5" path="res://scenes/sun.tscn" id="4_b8hls"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="5_7omaw"]
[ext_resource type="Script" uid="uid://bth7gah4tn7uj" path="res://scripts/entities/plants/behaviours/SunflowerBehaviour.cs" id="5_26je0"]
[ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="7_rlkb7"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="10_w3e3c"]
[sub_resource type="Animation" id="Animation_bfx6v"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("AnimationTree:parameters/Tree/conditions/produce")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ek2al"]
_data = {
&"RESET": SubResource("Animation_bfx6v")
}
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_811ah"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_lkpmx"]
animation = &"sunflower/idle"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_hc6hn"]
animation = &"sunflower/produce"
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_26fia"]
advance_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_d2akw"]
advance_mode = 2
advance_condition = &"produce"
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_sww40"]
switch_mode = 2
advance_mode = 2
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_enpal"]
states/sunflower_idle/node = SubResource("AnimationNodeAnimation_lkpmx")
states/sunflower_idle/position = Vector2(371, 100)
states/sunflower_produce/node = SubResource("AnimationNodeAnimation_hc6hn")
states/sunflower_produce/position = Vector2(624, 99)
transitions = ["Start", "sunflower_idle", SubResource("AnimationNodeStateMachineTransition_26fia"), "sunflower_idle", "sunflower_produce", SubResource("AnimationNodeStateMachineTransition_d2akw"), "sunflower_produce", "sunflower_idle", SubResource("AnimationNodeStateMachineTransition_sww40")]
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_rlkb7"]
nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_811ah")
nodes/TimeScale/position = Vector2(100, 140)
nodes/Tree/node = SubResource("AnimationNodeStateMachine_enpal")
nodes/Tree/position = Vector2(-160, 180)
node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4xs4g"]
size = Vector2(26, 48)
[node name="Sunflower" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_yyn2e")
MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_yyn2e")
texture = ExtResource("2_fwcda")
hframes = 9
vframes = 2
frame = 4
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_ek2al"),
&"sunflower": ExtResource("3_btsik")
}
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_rlkb7")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0
parameters/Tree/conditions/produce = false
script = ExtResource("5_7omaw")
entity = NodePath("..")
[node name="PlantSunSpawner" type="Node2D" parent="."]
position = Vector2(-2, 0)
script = ExtResource("3_te0pl")
_sunScene = ExtResource("4_b8hls")
_amountPerSun = 25
[node name="Behaviour" type="Node" parent="."]
script = ExtResource("5_26je0")
[node name="Timer" type="Timer" parent="Behaviour" node_paths=PackedStringArray("entity")]
wait_time = 24.25
script = ExtResource("7_rlkb7")
entity = NodePath("../..")
[node name="StartTimer" type="Timer" parent="Behaviour" node_paths=PackedStringArray("entity")]
wait_time = 12.0
one_shot = true
autostart = true
script = ExtResource("7_rlkb7")
entity = NodePath("../..")
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(0, 4)
shape = SubResource("RectangleShape2D_4xs4g")
[node name="FlashController" type="Node" parent="."]
script = ExtResource("10_w3e3c")
shaderMaterial = ExtResource("2_yyn2e")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]
[connection signal="timeout" from="Behaviour/Timer" to="Behaviour" method="Timeout"]
[connection signal="timeout" from="Behaviour/StartTimer" to="Behaviour" method="Timeout"]
[connection signal="timeout" from="Behaviour/StartTimer" to="Behaviour/Timer" method="start"]

View file

@ -1,231 +0,0 @@
[gd_scene load_steps=30 format=3 uid="uid://eegv1qihfv2q"]
[ext_resource type="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_833fu"]
[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_833fu"]
[ext_resource type="Script" uid="uid://djpc0kvagpadv" path="res://scripts/entities/plants/ThreepeaterShooter.cs" id="2_ieami"]
[ext_resource type="Texture2D" uid="uid://dyfa4462hu3w1" path="res://assets/sprites/atlases/plants/threepeater.png" id="2_j7h7q"]
[ext_resource type="Script" uid="uid://hccb0aee0x0o" path="res://scripts/entities/plants/PlantEyesightLimiter.cs" id="3_dqn6w"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="4_ht2a0"]
[ext_resource type="PackedScene" uid="uid://b2hrv0aqbui7u" path="res://scenes/projectiles/pea.tscn" id="6_kscbk"]
[ext_resource type="Script" uid="uid://c4jy0cnbnx33h" path="res://scripts/TimeScalableTimer.cs" id="7_anbbx"]
[ext_resource type="Script" uid="uid://bdk5iqtw4xbkl" path="res://scripts/entities/plants/behaviours/PeashooterBehaviour.cs" id="8_pp80j"]
[ext_resource type="Script" uid="uid://dn53jvpjyg63l" path="res://scripts/entities/plants/Eyesight.cs" id="9_salpp"]
[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="11_13f0q"]
[ext_resource type="AudioStream" uid="uid://dsv81mvrdg3w3" path="res://assets/audio/sfx/throw_generic.tres" id="12_4a4xw"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="13_otw6n"]
[sub_resource type="Animation" id="Animation_a2y0j"]
length = 0.001
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_pqbws"]
resource_name = "idle"
length = 0.500008
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.0833333, 0.166667, 0.25, 0.333333, 0.416667),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"update": 1,
"values": [13, 14, 15, 16, 17, 18]
}
[sub_resource type="Animation" id="Animation_7kfrv"]
resource_name = "shoot"
length = 1.58334
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, 0.833333, 0.916667, 1, 1.08333, 1.16667, 1.25, 1.33333, 1.41667, 1.5),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
}
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.75),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"Shoot"
}]
}
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("ChannelPlayer")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0.75),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"Play"
}]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_o2obw"]
_data = {
&"idle": SubResource("Animation_pqbws"),
&"shoot": SubResource("Animation_7kfrv")
}
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_mbbd7"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_j7h7q"]
animation = &"threepeater/idle"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_pqbws"]
animation = &"threepeater/shoot"
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7kfrv"]
advance_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_o2obw"]
advance_mode = 2
advance_condition = &"ready"
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wiys2"]
switch_mode = 2
advance_mode = 2
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_wiys2"]
states/threepeater_idle/node = SubResource("AnimationNodeAnimation_j7h7q")
states/threepeater_idle/position = Vector2(404, 100)
states/threepeater_shoot/node = SubResource("AnimationNodeAnimation_pqbws")
states/threepeater_shoot/position = Vector2(633, 91)
transitions = ["Start", "threepeater_idle", SubResource("AnimationNodeStateMachineTransition_7kfrv"), "threepeater_idle", "threepeater_shoot", SubResource("AnimationNodeStateMachineTransition_o2obw"), "threepeater_shoot", "threepeater_idle", SubResource("AnimationNodeStateMachineTransition_wiys2")]
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_j7h7q"]
graph_offset = Vector2(-518.8, 27.8)
nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_mbbd7")
nodes/TimeScale/position = Vector2(0, 120)
nodes/Tree/node = SubResource("AnimationNodeStateMachine_wiys2")
nodes/Tree/position = Vector2(-320, 100)
node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[sub_resource type="SegmentShape2D" id="SegmentShape2D_j7h7q"]
resource_local_to_scene = true
[sub_resource type="SegmentShape2D" id="SegmentShape2D_yb26d"]
resource_local_to_scene = true
[sub_resource type="RectangleShape2D" id="RectangleShape2D_r7xnh"]
size = Vector2(20, 44)
[node name="Threepeater" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_833fu")
MaxHP = 30.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_833fu")
position = Vector2(6, -13)
texture = ExtResource("2_j7h7q")
hframes = 13
vframes = 2
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_ipp6b"),
&"threepeater": SubResource("AnimationLibrary_o2obw")
}
autoplay = "peashooter/idle"
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_j7h7q")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0
parameters/Tree/conditions/ready = false
script = ExtResource("4_ht2a0")
entity = NodePath("..")
[node name="Shooter" type="Marker2D" parent="." node_paths=PackedStringArray("_timer")]
position = Vector2(20, -9)
script = ExtResource("2_ieami")
_projectile = ExtResource("6_kscbk")
_timer = NodePath("FireTimer")
[node name="FireTimer" type="Timer" parent="Shooter" node_paths=PackedStringArray("entity")]
wait_time = 1.5
one_shot = true
script = ExtResource("7_anbbx")
entity = NodePath("../..")
[node name="Behaviour" type="Node" parent="." node_paths=PackedStringArray("_shootTimer", "_sight")]
script = ExtResource("8_pp80j")
_shootTimer = NodePath("../Shooter/FireTimer")
_sight = NodePath("../Eysight")
[node name="Eysight" type="Area2D" parent="."]
collision_layer = 4
collision_mask = 8
script = ExtResource("9_salpp")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Eysight"]
shape = SubResource("SegmentShape2D_j7h7q")
script = ExtResource("3_dqn6w")
[node name="CollisionShape2D2" type="CollisionShape2D" parent="Eysight"]
position = Vector2(0, 60)
shape = SubResource("SegmentShape2D_yb26d")
script = ExtResource("3_dqn6w")
[node name="CollisionShape2D3" type="CollisionShape2D" parent="Eysight"]
position = Vector2(0, -60)
shape = SubResource("SegmentShape2D_yb26d")
script = ExtResource("3_dqn6w")
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(0, 5)
shape = SubResource("RectangleShape2D_r7xnh")
[node name="ChannelPlayer" type="Node" parent="."]
script = ExtResource("11_13f0q")
audioStream = ExtResource("12_4a4xw")
channel = "pea_shoot"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="FlashController" type="Node" parent="."]
script = ExtResource("13_otw6n")
shaderMaterial = ExtResource("2_833fu")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]

View file

@ -1,86 +0,0 @@
[gd_scene load_steps=15 format=3 uid="uid://bq7imkpr2yqyr"]
[ext_resource type="Script" uid="uid://dli2i6albvugt" path="res://scripts/entities/plants/RuntimePlantData.cs" id="1_mnh2m"]
[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="2_mnh2m"]
[ext_resource type="Texture2D" uid="uid://dstqh1wc5dvmo" path="res://assets/sprites/atlases/plants/wallnut.png" id="2_o5tda"]
[ext_resource type="AnimationLibrary" uid="uid://0bdesb8j2mbo" path="res://assets/animations/plants/wallnut.res" id="3_xl65q"]
[ext_resource type="Script" uid="uid://btkmd86pn828y" path="res://scripts/entities/plants/behaviours/HpBasedBehaviour.cs" id="4_cjtyy"]
[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="5_2hmhw"]
[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="7_frxj2"]
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_y3tlf"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ds5ry"]
animation = &"wallnut/idle_full"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_frsxy"]
animation = &"wallnut/idle_mid"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_7avgo"]
animation = &"wallnut/idle_low"
[sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_nij8v"]
blend_point_0/node = SubResource("AnimationNodeAnimation_ds5ry")
blend_point_0/pos = 1.0
blend_point_1/node = SubResource("AnimationNodeAnimation_frsxy")
blend_point_1/pos = 0.5
blend_point_2/node = SubResource("AnimationNodeAnimation_7avgo")
blend_point_2/pos = 0.0
min_space = 0.0
blend_mode = 1
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_bi7an"]
graph_offset = Vector2(-338.2, 175.4)
nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_y3tlf")
nodes/TimeScale/position = Vector2(60, 140)
nodes/Tree/node = SubResource("AnimationNodeBlendSpace1D_nij8v")
nodes/Tree/position = Vector2(-180, 180)
node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_khltr"]
size = Vector2(33, 46)
[node name="Wallnut" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_mnh2m")
MaxHP = 600.0
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" type="Sprite2D" parent="."]
material = ExtResource("2_mnh2m")
texture = ExtResource("2_o5tda")
hframes = 12
vframes = 3
frame = 10
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"wallnut": ExtResource("3_xl65q")
}
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
tree_root = SubResource("AnimationNodeBlendTree_bi7an")
anim_player = NodePath("../AnimationPlayer")
parameters/TimeScale/scale = 1.0
parameters/Tree/blend_position = 1.0
script = ExtResource("5_2hmhw")
entity = NodePath("..")
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(3.5, 5)
shape = SubResource("RectangleShape2D_khltr")
[node name="Behaviour" type="Node" parent="."]
script = ExtResource("4_cjtyy")
parameters = Array[String](["parameters/Tree/blend_position"])
[node name="FlashController" type="Node" parent="."]
script = ExtResource("7_frxj2")
shaderMaterial = ExtResource("2_mnh2m")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]
[connection signal="OnHPChanged" from="." to="Behaviour" method="OnHPChanged"]

View file

@ -1,23 +0,0 @@
[gd_scene load_steps=4 format=3 uid="uid://bfooovcq272ks"]
[ext_resource type="Script" uid="uid://cq1dl578rbvrj" path="res://scripts/entities/InvulnerableEntity.cs" id="1_5ykcf"]
[ext_resource type="Script" uid="uid://bd1f7x1nin0i0" path="res://scripts/entities/AreaOfEffect.cs" id="2_qq7uk"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_5ykcf"]
size = Vector2(20, 26)
[node name="BaseTile" type="Node2D"]
script = ExtResource("1_5ykcf")
MaxHP = 10.0
completeInvulnerability = true
[node name="Sprite2D" type="Sprite2D" parent="."]
position = Vector2(0, 12)
[node name="EffectCollider" type="Area2D" parent="."]
collision_layer = 256
collision_mask = 8
script = ExtResource("2_qq7uk")
[node name="CollisionShape2D" type="CollisionShape2D" parent="EffectCollider"]
shape = SubResource("RectangleShape2D_5ykcf")

View file

@ -1,25 +0,0 @@
[gd_scene load_steps=6 format=3 uid="uid://cp8oadhwu51i7"]
[ext_resource type="PackedScene" uid="uid://bfooovcq272ks" path="res://scenes/entities/tiles/base_tile.tscn" id="1_e3yor"]
[ext_resource type="Texture2D" uid="uid://c68mrfs4wb81x" path="res://assets/sprites/atlases/atlas2.png" id="2_xv011"]
[ext_resource type="Script" uid="uid://blky82wwkqirx" path="res://scripts/systems/effects/RedirectEffect.cs" id="3_q6o68"]
[sub_resource type="AtlasTexture" id="AtlasTexture_q6o68"]
atlas = ExtResource("2_xv011")
region = Rect2(160, 22, 41, 36)
[sub_resource type="Resource" id="Resource_4mqps"]
script = ExtResource("3_q6o68")
tilesWalked = 0.2
down = true
Duration = 1.0
Slot = "redirect"
metadata/_custom_type_script = "uid://blky82wwkqirx"
[node name="RedirectDownTile" instance=ExtResource("1_e3yor")]
[node name="Sprite2D" parent="." index="0"]
texture = SubResource("AtlasTexture_q6o68")
[node name="EffectCollider" parent="." index="1"]
givenEffect = SubResource("Resource_4mqps")

View file

@ -1,25 +0,0 @@
[gd_scene load_steps=6 format=3 uid="uid://d4kee4ipw1k1q"]
[ext_resource type="PackedScene" uid="uid://bfooovcq272ks" path="res://scenes/entities/tiles/base_tile.tscn" id="1_wp3vm"]
[ext_resource type="Texture2D" uid="uid://c68mrfs4wb81x" path="res://assets/sprites/atlases/atlas2.png" id="2_8aumo"]
[ext_resource type="Script" uid="uid://blky82wwkqirx" path="res://scripts/systems/effects/RedirectEffect.cs" id="2_le24f"]
[sub_resource type="AtlasTexture" id="AtlasTexture_ry33t"]
atlas = ExtResource("2_8aumo")
region = Rect2(110, 22, 42, 36)
[sub_resource type="Resource" id="Resource_8aumo"]
script = ExtResource("2_le24f")
tilesWalked = 0.2
down = false
Duration = 1.0
Slot = "redirect"
metadata/_custom_type_script = "uid://blky82wwkqirx"
[node name="RedirectUpTile" instance=ExtResource("1_wp3vm")]
[node name="Sprite2D" parent="." index="0"]
texture = SubResource("AtlasTexture_ry33t")
[node name="EffectCollider" parent="." index="1"]
givenEffect = SubResource("Resource_8aumo")

View file

@ -1,24 +0,0 @@
[gd_scene load_steps=6 format=3 uid="uid://cy0puq5mtnxq7"]
[ext_resource type="PackedScene" uid="uid://bfooovcq272ks" path="res://scenes/entities/tiles/base_tile.tscn" id="1_jktsj"]
[ext_resource type="Texture2D" uid="uid://c68mrfs4wb81x" path="res://assets/sprites/atlases/atlas2.png" id="2_b65si"]
[ext_resource type="Script" uid="uid://3q40oeb4cabf" path="res://scripts/systems/effects/PermanentSpeedEffect.cs" id="3_b65si"]
[sub_resource type="AtlasTexture" id="AtlasTexture_b8lvr"]
atlas = ExtResource("2_b65si")
region = Rect2(260, 22, 42, 36)
[sub_resource type="Resource" id="Resource_b8lvr"]
script = ExtResource("3_b65si")
Multiplier = 0.667
Duration = 0.5
Slot = "permanent_speed"
metadata/_custom_type_script = "uid://3q40oeb4cabf"
[node name="SlowTile" instance=ExtResource("1_jktsj")]
[node name="Sprite2D" parent="." index="0"]
texture = SubResource("AtlasTexture_b8lvr")
[node name="EffectCollider" parent="." index="1"]
givenEffect = SubResource("Resource_b8lvr")

View file

@ -1,24 +0,0 @@
[gd_scene load_steps=6 format=3 uid="uid://c5lplejgx7mex"]
[ext_resource type="PackedScene" uid="uid://bfooovcq272ks" path="res://scenes/entities/tiles/base_tile.tscn" id="1_0mgu2"]
[ext_resource type="Texture2D" uid="uid://c68mrfs4wb81x" path="res://assets/sprites/atlases/atlas2.png" id="2_770cq"]
[ext_resource type="Script" uid="uid://3q40oeb4cabf" path="res://scripts/systems/effects/PermanentSpeedEffect.cs" id="3_770cq"]
[sub_resource type="AtlasTexture" id="AtlasTexture_p8mgt"]
atlas = ExtResource("2_770cq")
region = Rect2(206, 22, 50, 37)
[sub_resource type="Resource" id="Resource_p8mgt"]
script = ExtResource("3_770cq")
Multiplier = 1.333
Duration = 0.5
Slot = "permanent_speed"
metadata/_custom_type_script = "uid://3q40oeb4cabf"
[node name="SpeedTile" instance=ExtResource("1_0mgu2")]
[node name="Sprite2D" parent="." index="0"]
texture = SubResource("AtlasTexture_p8mgt")
[node name="EffectCollider" parent="." index="1"]
givenEffect = SubResource("Resource_p8mgt")

View file

@ -1,24 +0,0 @@
extends TabContainer
var stolen_focus : Control
func _ready() -> void:
get_viewport().gui_focus_changed.connect(on_focus_changed)
visibility_changed.connect(on_visibility_changed)
func _exit_tree() -> void:
get_viewport().gui_focus_changed.disconnect(on_focus_changed)
func _on_quit_button_pressed() -> void:
visible = false
$ChannelPlayer.call("Play")
func on_visibility_changed():
if visible:
await get_tree().process_frame
$plants/SeedpacketsContainer/GridContainer.get_child(0).grab_focus()
else:
stolen_focus.grab_focus()
func on_focus_changed(to : Control):
if visible: return
stolen_focus = to

View file

@ -1 +0,0 @@
uid://bs1qywtqijyd2

View file

@ -1,217 +0,0 @@
[gd_scene load_steps=13 format=3 uid="uid://bvpt0q4j6nx18"]
[ext_resource type="Texture2D" uid="uid://dr8a0rx42o3qy" path="res://assets/sprites/gui/ChooseYourSeeds/PlantFrame.tres" id="1_1hnxi"]
[ext_resource type="Script" uid="uid://bs1qywtqijyd2" path="res://scenes/gui/almanach.gd" id="1_oy57w"]
[ext_resource type="Script" uid="uid://0mvmfvwe1bc7" path="res://scripts/gui/almanach/AlmanachGrid.cs" id="1_ru62c"]
[ext_resource type="Script" uid="uid://covbig00p22di" path="res://scripts/gui/choose_your_seeds/Previewport.cs" id="2_ru62c"]
[ext_resource type="Texture2D" uid="uid://dycdvvgmgmfu6" path="res://assets/sprites/gui/ChooseYourSeeds/FrameField.tres" id="3_oy57w"]
[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="6_7vo1l"]
[ext_resource type="Texture2D" uid="uid://ksxucobpgv7n" path="res://assets/sprites/field.png" id="6_vvhxq"]
[ext_resource type="AudioStream" uid="uid://bdx83fokp6kha" path="res://assets/audio/sfx/buttonclick.mp3" id="7_vvhxq"]
[sub_resource type="ViewportTexture" id="ViewportTexture_ru62c"]
viewport_path = NodePath("plants/Infobox/FrameAndTitle/VboxContainer/Frame/Previewport")
[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_vvhxq"]
button_index = 1
pressed = true
[sub_resource type="Shortcut" id="Shortcut_lmmwe"]
events = [SubResource("InputEventJoypadButton_vvhxq")]
[sub_resource type="ViewportTexture" id="ViewportTexture_7yl8g"]
viewport_path = NodePath("zombies/Infobox/FrameAndTitle/VBoxContainer/Frame/Previewport")
[node name="Almanach" type="TabContainer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
tab_alignment = 1
current_tab = 0
script = ExtResource("1_oy57w")
[node name="plants" type="HBoxContainer" parent="."]
layout_mode = 2
metadata/_tab_index = 0
[node name="SeedpacketsContainer" type="ScrollContainer" parent="plants"]
layout_mode = 2
horizontal_scroll_mode = 0
[node name="GridContainer" type="GridContainer" parent="plants/SeedpacketsContainer"]
layout_mode = 2
columns = 8
script = ExtResource("1_ru62c")
[node name="Infobox" type="VBoxContainer" parent="plants"]
layout_mode = 2
size_flags_horizontal = 3
[node name="FrameAndTitle" type="HBoxContainer" parent="plants/Infobox"]
layout_mode = 2
[node name="VboxContainer" type="VBoxContainer" parent="plants/Infobox/FrameAndTitle"]
layout_mode = 2
[node name="Frame" type="TextureRect" parent="plants/Infobox/FrameAndTitle/VboxContainer"]
clip_contents = true
layout_mode = 2
size_flags_horizontal = 0
size_flags_vertical = 0
texture = ExtResource("1_1hnxi")
[node name="Previewport" type="SubViewport" parent="plants/Infobox/FrameAndTitle/VboxContainer/Frame" node_paths=PackedStringArray("title", "description", "_frameField")]
canvas_item_default_texture_filter = 0
size = Vector2i(65, 65)
script = ExtResource("2_ru62c")
title = NodePath("../../../Label")
description = NodePath("../../../../Description/ScrollContainer/RichTextLabel")
_frameField = NodePath("FrameField")
[node name="FrameField" type="Sprite2D" parent="plants/Infobox/FrameAndTitle/VboxContainer/Frame/Previewport"]
texture = ExtResource("3_oy57w")
[node name="Camera2D" type="Camera2D" parent="plants/Infobox/FrameAndTitle/VboxContainer/Frame/Previewport"]
[node name="Render" type="TextureRect" parent="plants/Infobox/FrameAndTitle/VboxContainer/Frame"]
show_behind_parent = true
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = SubResource("ViewportTexture_ru62c")
[node name="QuitButton" type="Button" parent="plants/Infobox/FrameAndTitle/VboxContainer"]
layout_mode = 2
size_flags_vertical = 4
shortcut = SubResource("Shortcut_lmmwe")
text = "exit"
[node name="Label" type="Label" parent="plants/Infobox/FrameAndTitle"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
horizontal_alignment = 1
vertical_alignment = 1
[node name="Description" type="PanelContainer" parent="plants/Infobox"]
layout_mode = 2
size_flags_vertical = 3
theme_type_variation = &"description_panel_container"
[node name="ScrollContainer" type="ScrollContainer" parent="plants/Infobox/Description"]
layout_mode = 2
horizontal_scroll_mode = 0
[node name="RichTextLabel" type="RichTextLabel" parent="plants/Infobox/Description/ScrollContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
theme_override_colors/default_color = Color(0, 0, 0, 1)
theme_override_colors/font_selected_color = Color(0, 0, 0, 1)
bbcode_enabled = true
[node name="zombies" type="HBoxContainer" parent="."]
visible = false
layout_mode = 2
metadata/_tab_index = 1
[node name="SeedpacketsContainer" type="ScrollContainer" parent="zombies"]
layout_mode = 2
horizontal_scroll_mode = 0
[node name="GridContainer" type="GridContainer" parent="zombies/SeedpacketsContainer"]
layout_mode = 2
columns = 8
script = ExtResource("1_ru62c")
_zombies = true
[node name="Infobox" type="VBoxContainer" parent="zombies"]
layout_mode = 2
size_flags_horizontal = 3
[node name="FrameAndTitle" type="HBoxContainer" parent="zombies/Infobox"]
layout_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="zombies/Infobox/FrameAndTitle"]
layout_mode = 2
[node name="Frame" type="TextureRect" parent="zombies/Infobox/FrameAndTitle/VBoxContainer"]
clip_contents = true
layout_mode = 2
size_flags_horizontal = 0
size_flags_vertical = 0
texture = ExtResource("1_1hnxi")
[node name="Previewport" type="SubViewport" parent="zombies/Infobox/FrameAndTitle/VBoxContainer/Frame" node_paths=PackedStringArray("title", "description", "_frameField")]
canvas_item_default_texture_filter = 0
size = Vector2i(130, 130)
script = ExtResource("2_ru62c")
title = NodePath("../../../Label")
description = NodePath("../../../../Description/ScrollContainer/RichTextLabel")
_frameField = NodePath("CanvasLayer/Field")
[node name="CanvasLayer" type="CanvasLayer" parent="zombies/Infobox/FrameAndTitle/VBoxContainer/Frame/Previewport"]
layer = -10
follow_viewport_enabled = true
[node name="Field" type="Sprite2D" parent="zombies/Infobox/FrameAndTitle/VBoxContainer/Frame/Previewport/CanvasLayer"]
position = Vector2(0, 30)
texture = ExtResource("6_vvhxq")
[node name="Camera2D" type="Camera2D" parent="zombies/Infobox/FrameAndTitle/VBoxContainer/Frame/Previewport"]
position = Vector2(0, -45)
[node name="Render" type="TextureRect" parent="zombies/Infobox/FrameAndTitle/VBoxContainer/Frame"]
show_behind_parent = true
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = SubResource("ViewportTexture_7yl8g")
expand_mode = 1
[node name="QuitButton" type="Button" parent="zombies/Infobox/FrameAndTitle/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 4
shortcut = SubResource("Shortcut_lmmwe")
text = "exit"
[node name="Label" type="Label" parent="zombies/Infobox/FrameAndTitle"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
horizontal_alignment = 1
vertical_alignment = 1
[node name="Description" type="PanelContainer" parent="zombies/Infobox"]
layout_mode = 2
size_flags_vertical = 3
theme_type_variation = &"description_panel_container"
[node name="ScrollContainer" type="ScrollContainer" parent="zombies/Infobox/Description"]
layout_mode = 2
horizontal_scroll_mode = 0
[node name="RichTextLabel" type="RichTextLabel" parent="zombies/Infobox/Description/ScrollContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
theme_override_colors/default_color = Color(0, 0, 0, 1)
theme_override_colors/font_selected_color = Color(0, 0, 0, 1)
bbcode_enabled = true
[node name="ChannelPlayer" type="Node" parent="."]
script = ExtResource("6_7vo1l")
audioStream = ExtResource("7_vvhxq")
channel = "button"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[connection signal="pressed" from="plants/Infobox/FrameAndTitle/VboxContainer/QuitButton" to="." method="_on_quit_button_pressed"]
[connection signal="pressed" from="zombies/Infobox/FrameAndTitle/VBoxContainer/QuitButton" to="." method="_on_quit_button_pressed"]

View file

@ -1,216 +0,0 @@
[gd_scene load_steps=26 format=3 uid="uid://dpxxjfd5lv5sv"]
[ext_resource type="Theme" uid="uid://e8n88g31w7x7" path="res://assets/themes/ChooseYourSeeds.tres" id="1_bfo8i"]
[ext_resource type="Texture2D" uid="uid://dr8a0rx42o3qy" path="res://assets/sprites/gui/ChooseYourSeeds/PlantFrame.tres" id="2_so2bw"]
[ext_resource type="Script" uid="uid://covbig00p22di" path="res://scripts/gui/choose_your_seeds/Previewport.cs" id="3_fmc0y"]
[ext_resource type="Texture2D" uid="uid://dycdvvgmgmfu6" path="res://assets/sprites/gui/ChooseYourSeeds/FrameField.tres" id="3_rn5vx"]
[ext_resource type="Script" uid="uid://eq3ecja30mlj" path="res://scripts/gui/choose_your_seeds/GridLoader.cs" id="4_i7sou"]
[ext_resource type="PackedScene" uid="uid://10b1egek6upx" path="res://scenes/gui/level_run_button.tscn" id="5_n80ic"]
[ext_resource type="Script" uid="uid://d26waisd3v488" path="res://scripts/gui/choose_your_seeds/LevelRunButton.cs" id="7_k6b6g"]
[ext_resource type="Texture2D" uid="uid://dvldjlg0nr355" path="res://assets/sprites/atlases/atlas1.png" id="8_f8xw6"]
[ext_resource type="Texture2D" uid="uid://drydueofrb448" path="res://assets/sprites/gui/almanach/book.tres" id="8_hmdmm"]
[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="8_v7xff"]
[ext_resource type="Script" uid="uid://diwjgekhvn017" path="res://scripts/gui/choose_your_seeds/CYSResetButton.cs" id="9_kwnqh"]
[ext_resource type="AudioStream" uid="uid://bdx83fokp6kha" path="res://assets/audio/sfx/buttonclick.mp3" id="9_v7xff"]
[ext_resource type="Script" uid="uid://c1x4n4nqyq72f" path="res://scripts/audio/ChannelSettings.cs" id="10_nlh6x"]
[ext_resource type="PackedScene" uid="uid://bvpt0q4j6nx18" path="res://scenes/gui/almanach.tscn" id="11_nlh6x"]
[ext_resource type="AudioStream" uid="uid://mu86q1r1dvgo" path="res://assets/audio/music/03. Choose Your Seeds.mp3" id="13_y65t1"]
[ext_resource type="Script" uid="uid://b4ysi1iutmju3" path="res://scripts/audio/ChooseYourSeedsMusic.cs" id="14_rptyw"]
[ext_resource type="Script" uid="uid://bksslrqq5vhm3" path="res://scripts/gui/choose_your_seeds/CYSFocusSetup.cs" id="15_rptyw"]
[sub_resource type="ViewportTexture" id="ViewportTexture_rmoaa"]
viewport_path = NodePath("Panel/MarginContainer/VBoxContainer/HBoxContainer/Frame/Previewport")
[sub_resource type="LabelSettings" id="LabelSettings_fmc0y"]
font_size = 24
font_color = Color(0, 0, 0, 1)
[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_f8xw6"]
button_index = 2
pressed = true
[sub_resource type="Shortcut" id="Shortcut_kwnqh"]
events = [SubResource("InputEventJoypadButton_f8xw6")]
[sub_resource type="AtlasTexture" id="AtlasTexture_kwnqh"]
atlas = ExtResource("8_f8xw6")
region = Rect2(626, 210, 31, 31)
[sub_resource type="GDScript" id="GDScript_hmdmm"]
resource_name = "Almanach"
script/source = "extends Button
func _pressed() -> void:
$\"../../../Independer/Almanach\".visible = true
$\"../../../ChannelPlayer\".call(\"Play\")
"
[sub_resource type="Resource" id="Resource_l66rp"]
script = ExtResource("10_nlh6x")
restartTreshold = -1.0
metadata/_custom_type_script = "uid://c1x4n4nqyq72f"
[sub_resource type="AudioStreamPlaylist" id="AudioStreamPlaylist_lkvg0"]
stream_count = 1
stream_0 = ExtResource("13_y65t1")
[node name="ChooseYourSeeds" type="Control"]
process_mode = 3
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
theme = ExtResource("1_bfo8i")
[node name="Panel" type="Panel" parent="."]
layout_mode = 1
anchors_preset = -1
anchor_top = 2.005
anchor_right = 0.6
anchor_bottom = 2.845
offset_top = -738.0
offset_bottom = -738.0
grow_vertical = 2
metadata/_edit_use_anchors_ = true
[node name="MarginContainer" type="MarginContainer" parent="Panel"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 8
theme_override_constants/margin_top = 6
theme_override_constants/margin_right = 8
theme_override_constants/margin_bottom = 6
[node name="VBoxContainer" type="VBoxContainer" parent="Panel/MarginContainer"]
layout_mode = 2
[node name="HBoxContainer" type="HBoxContainer" parent="Panel/MarginContainer/VBoxContainer"]
layout_mode = 2
[node name="Frame" type="TextureRect" parent="Panel/MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
texture = ExtResource("2_so2bw")
[node name="Previewport" type="SubViewport" parent="Panel/MarginContainer/VBoxContainer/HBoxContainer/Frame" node_paths=PackedStringArray("title", "description", "_frameField")]
canvas_item_default_texture_filter = 0
size = Vector2i(65, 65)
script = ExtResource("3_fmc0y")
title = NodePath("../../PanelContainer/ScrollContainer/VBoxContainer/Title")
description = NodePath("../../PanelContainer/ScrollContainer/VBoxContainer/Description")
_frameField = NodePath("FrameField")
[node name="FrameField" type="Sprite2D" parent="Panel/MarginContainer/VBoxContainer/HBoxContainer/Frame/Previewport"]
texture = ExtResource("3_rn5vx")
[node name="Camera2D" type="Camera2D" parent="Panel/MarginContainer/VBoxContainer/HBoxContainer/Frame/Previewport"]
[node name="Render" type="TextureRect" parent="Panel/MarginContainer/VBoxContainer/HBoxContainer/Frame"]
show_behind_parent = true
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = SubResource("ViewportTexture_rmoaa")
[node name="PanelContainer" type="PanelContainer" parent="Panel/MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="ScrollContainer" type="ScrollContainer" parent="Panel/MarginContainer/VBoxContainer/HBoxContainer/PanelContainer"]
layout_mode = 2
focus_mode = 2
horizontal_scroll_mode = 0
[node name="VBoxContainer" type="VBoxContainer" parent="Panel/MarginContainer/VBoxContainer/HBoxContainer/PanelContainer/ScrollContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="Title" type="Label" parent="Panel/MarginContainer/VBoxContainer/HBoxContainer/PanelContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
label_settings = SubResource("LabelSettings_fmc0y")
horizontal_alignment = 1
[node name="Description" type="RichTextLabel" parent="Panel/MarginContainer/VBoxContainer/HBoxContainer/PanelContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/default_color = Color(0, 0, 0, 1)
bbcode_enabled = true
fit_content = true
[node name="ScrollContainer" type="ScrollContainer" parent="Panel/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
horizontal_scroll_mode = 0
[node name="GridContainer" type="GridContainer" parent="Panel/MarginContainer/VBoxContainer/ScrollContainer"]
layout_mode = 2
columns = 7
script = ExtResource("4_i7sou")
[node name="ButtonContainer" type="VBoxContainer" parent="Panel"]
layout_mode = 1
anchors_preset = -1
anchor_left = 1.0
anchor_right = 1.18889
anchor_bottom = 0.997024
grow_vertical = 2
metadata/_edit_use_anchors_ = true
[node name="LevelRunButton" parent="Panel/ButtonContainer" instance=ExtResource("5_n80ic")]
layout_mode = 2
focus_neighbor_left = NodePath("../../MarginContainer/VBoxContainer/HBoxContainer/PanelContainer/ScrollContainer")
focus_neighbor_bottom = NodePath("../Button")
script = ExtResource("7_k6b6g")
[node name="Button" type="Button" parent="Panel/ButtonContainer"]
layout_mode = 2
focus_neighbor_top = NodePath("../LevelRunButton")
focus_neighbor_bottom = NodePath("../AlmanachButton")
shortcut = SubResource("Shortcut_kwnqh")
icon = SubResource("AtlasTexture_kwnqh")
icon_alignment = 1
script = ExtResource("9_kwnqh")
[node name="AlmanachButton" type="Button" parent="Panel/ButtonContainer"]
layout_mode = 2
focus_neighbor_left = NodePath("../../MarginContainer/VBoxContainer/HBoxContainer/PanelContainer/ScrollContainer")
focus_neighbor_top = NodePath("../Button")
icon = ExtResource("8_hmdmm")
icon_alignment = 1
script = SubResource("GDScript_hmdmm")
metadata/_edit_use_anchors_ = true
[node name="ChannelPlayer" type="Node" parent="."]
script = ExtResource("8_v7xff")
settings = SubResource("Resource_l66rp")
audioStream = ExtResource("9_v7xff")
channel = "button"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="Independer" type="Node" parent="."]
[node name="Almanach" parent="Independer" instance=ExtResource("11_nlh6x")]
visible = false
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = SubResource("AudioStreamPlaylist_lkvg0")
autoplay = true
bus = &"MusicBus"
script = ExtResource("14_rptyw")
[node name="FocusSetup" type="Node" parent="." node_paths=PackedStringArray("grid", "button", "textContainer")]
script = ExtResource("15_rptyw")
grid = NodePath("../Panel/MarginContainer/VBoxContainer/ScrollContainer/GridContainer")
button = NodePath("../Panel/ButtonContainer/LevelRunButton")
textContainer = NodePath("../Panel/MarginContainer/VBoxContainer/HBoxContainer/PanelContainer/ScrollContainer")
[connection signal="pressed" from="Panel/ButtonContainer/LevelRunButton" to="ChannelPlayer" method="Play"]

View file

@ -1,13 +0,0 @@
[gd_scene load_steps=3 format=3 uid="uid://djfsa0pxqeoq1"]
[ext_resource type="Texture2D" uid="uid://c20dwjohaljdk" path="res://assets/sprites/atlases/cursor/default_arrow.png" id="1_0pqw0"]
[ext_resource type="Script" uid="uid://c6ucy48qwaxuc" path="res://scripts/Cursor.cs" id="2_yv0fr"]
[node name="CursorCanvasLayer" type="CanvasLayer"]
process_mode = 3
layer = 11
follow_viewport_enabled = true
[node name="Cursor" type="Sprite2D" parent="."]
texture = ExtResource("1_0pqw0")
script = ExtResource("2_yv0fr")

View file

@ -1,22 +0,0 @@
[gd_scene load_steps=5 format=3 uid="uid://cgm7td1hgs0rr"]
[ext_resource type="Texture2D" uid="uid://bjsar1x67xk1t" path="res://assets/sprites/gui/FastForward1.tres" id="1_ta3h7"]
[ext_resource type="Script" uid="uid://cwn3bd2k7mdq6" path="res://scripts/gui/FastForwardButton.cs" id="2_wle4k"]
[ext_resource type="Texture2D" uid="uid://dfr5ofieigu5j" path="res://assets/sprites/gui/FastForward2.tres" id="3_fj838"]
[ext_resource type="Texture2D" uid="uid://qgmsoocd4p1o" path="res://assets/sprites/gui/FastForward3.tres" id="4_2wmv1"]
[node name="FastForwardButton" type="Button"]
anchors_preset = -1
anchor_right = 0.043
anchor_bottom = 0.07
offset_right = 0.199999
size_flags_vertical = 4
mouse_default_cursor_shape = 2
icon = ExtResource("1_ta3h7")
script = ExtResource("2_wle4k")
firstSpeed = ExtResource("1_ta3h7")
secondSpeed = ExtResource("3_fj838")
thirdSpeed = ExtResource("4_2wmv1")
metadata/_edit_use_anchors_ = true
[connection signal="pressed" from="." to="." method="OnPressed"]

View file

@ -1,14 +0,0 @@
[gd_scene load_steps=3 format=3 uid="uid://drobbh5x1v7mi"]
[ext_resource type="Texture2D" uid="uid://6didix2twcty" path="res://assets/sprites/wave-progress/Flag.tres" id="1_ebgak"]
[ext_resource type="Script" uid="uid://06ns8r18dalm" path="res://scripts/gui/WaveFlag.cs" id="2_fj7o6"]
[node name="Flag" type="TextureRect"]
show_behind_parent = true
offset_left = -7.0
offset_top = -22.0
offset_right = 13.0
texture = ExtResource("1_ebgak")
stretch_mode = 5
script = ExtResource("2_fj7o6")
metadata/_edit_use_anchors_ = true

View file

@ -1,42 +0,0 @@
[gd_scene load_steps=5 format=3 uid="uid://disdegexxmcro"]
[ext_resource type="Texture2D" uid="uid://dr8a0rx42o3qy" path="res://assets/sprites/gui/ChooseYourSeeds/PlantFrame.tres" id="1_hc23v"]
[ext_resource type="Script" uid="uid://covbig00p22di" path="res://scripts/gui/choose_your_seeds/Previewport.cs" id="2_cf55k"]
[ext_resource type="Texture2D" uid="uid://ksxucobpgv7n" path="res://assets/sprites/field.png" id="3_7j5d4"]
[sub_resource type="ViewportTexture" id="ViewportTexture_7yl8g"]
viewport_path = NodePath("zombies/Infobox/FrameAndTitle/VBoxContainer/Frame/Previewport")
[node name="Frame" type="TextureRect"]
clip_contents = true
size_flags_horizontal = 0
size_flags_vertical = 0
texture = ExtResource("1_hc23v")
[node name="Previewport" type="SubViewport" parent="." node_paths=PackedStringArray("_frameField")]
canvas_item_default_texture_filter = 0
size = Vector2i(130, 130)
script = ExtResource("2_cf55k")
_frameField = NodePath("CanvasLayer/Field")
[node name="CanvasLayer" type="CanvasLayer" parent="Previewport"]
layer = -10
follow_viewport_enabled = true
[node name="Field" type="Sprite2D" parent="Previewport/CanvasLayer"]
position = Vector2(0, 30)
texture = ExtResource("3_7j5d4")
[node name="Camera2D" type="Camera2D" parent="Previewport"]
position = Vector2(0, -45)
[node name="Render" type="TextureRect" parent="."]
show_behind_parent = true
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = SubResource("ViewportTexture_7yl8g")
expand_mode = 1

View file

@ -1,14 +0,0 @@
[gd_scene load_steps=3 format=3 uid="uid://10b1egek6upx"]
[ext_resource type="Theme" uid="uid://b8l285cjcgeyi" path="res://assets/themes/GameStyle.tres" id="1_05u5f"]
[ext_resource type="Texture2D" uid="uid://rpnw5lxm3ksb" path="res://assets/sprites/gui/ChooseYourSeeds/LevelRun.tres" id="1_qftep"]
[node name="LevelRunButton" type="Button"]
anchors_preset = -1
anchor_right = 0.108333
anchor_bottom = 0.11
offset_right = -57.0
offset_bottom = -36.0
theme = ExtResource("1_05u5f")
icon = ExtResource("1_qftep")
metadata/_edit_use_anchors_ = true

View file

@ -1,14 +0,0 @@
[gd_scene load_steps=3 format=3 uid="uid://u5l3jd00s8vd"]
[ext_resource type="Texture2D" uid="uid://dm0hjd67a6mva" path="res://assets/sprites/gui/Pause.tres" id="1_7k3tg"]
[ext_resource type="Script" uid="uid://cmfhiun6yrlr6" path="res://scripts/gui/pause_menu/PauseButton.cs" id="2_01o3l"]
[node name="PauseButton" type="Button"]
anchors_preset = -1
anchor_right = 0.043
anchor_bottom = 0.07
offset_right = 0.199999
size_flags_vertical = 4
mouse_default_cursor_shape = 2
icon = ExtResource("1_7k3tg")
script = ExtResource("2_01o3l")

View file

@ -1,137 +0,0 @@
[gd_scene load_steps=11 format=3 uid="uid://fm471x22n8kr"]
[ext_resource type="Texture2D" uid="uid://dvldjlg0nr355" path="res://assets/sprites/atlases/atlas1.png" id="1_loim0"]
[ext_resource type="Script" uid="uid://gvwhpjoame6m" path="res://scripts/gui/pause_menu/PauseMenu.cs" id="2_4vp8g"]
[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="3_4vp8g"]
[ext_resource type="Script" uid="uid://ciccaxqo70s13" path="res://scripts/audio/AudioSlider.cs" id="3_e3p60"]
[ext_resource type="AudioStream" uid="uid://bdx83fokp6kha" path="res://assets/audio/sfx/buttonclick.mp3" id="4_e3p60"]
[sub_resource type="AtlasTexture" id="AtlasTexture_tifvb"]
atlas = ExtResource("1_loim0")
region = Rect2(0, 0, 177, 174)
[sub_resource type="LabelSettings" id="LabelSettings_or0he"]
font_size = 32
outline_size = 2
[sub_resource type="AtlasTexture" id="AtlasTexture_4k24j"]
atlas = ExtResource("1_loim0")
region = Rect2(0, 221, 127, 20)
[sub_resource type="AtlasTexture" id="AtlasTexture_or0he"]
atlas = ExtResource("1_loim0")
region = Rect2(255, 221, 118, 20)
[sub_resource type="AtlasTexture" id="AtlasTexture_y3stn"]
atlas = ExtResource("1_loim0")
region = Rect2(194, 221, 61, 20)
[node name="PauseMenu" type="MarginContainer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 0
theme_override_constants/margin_left = 150
theme_override_constants/margin_top = 40
theme_override_constants/margin_right = 150
theme_override_constants/margin_bottom = 60
[node name="Pause" type="NinePatchRect" parent="."]
process_mode = 3
z_index = 1
layout_mode = 2
texture = SubResource("AtlasTexture_tifvb")
patch_margin_left = 73
patch_margin_top = 98
patch_margin_right = 73
patch_margin_bottom = 52
script = ExtResource("2_4vp8g")
metadata/_edit_use_anchors_ = true
[node name="MarginContainer" type="MarginContainer" parent="Pause"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 30
theme_override_constants/margin_top = 55
theme_override_constants/margin_right = 30
theme_override_constants/margin_bottom = 10
[node name="Buttons" type="VBoxContainer" parent="Pause/MarginContainer"]
layout_mode = 2
[node name="PAUSED" type="Label" parent="Pause/MarginContainer/Buttons"]
layout_mode = 2
text = "paused"
label_settings = SubResource("LabelSettings_or0he")
horizontal_alignment = 1
metadata/_edit_use_anchors_ = true
[node name="Volumes" type="HBoxContainer" parent="Pause/MarginContainer/Buttons"]
layout_mode = 2
[node name="Labels" type="VBoxContainer" parent="Pause/MarginContainer/Buttons/Volumes"]
layout_mode = 2
[node name="SFX" type="Label" parent="Pause/MarginContainer/Buttons/Volumes/Labels"]
layout_mode = 2
text = "sfx"
[node name="Music" type="Label" parent="Pause/MarginContainer/Buttons/Volumes/Labels"]
layout_mode = 2
text = "music"
[node name="Sliders" type="VBoxContainer" parent="Pause/MarginContainer/Buttons/Volumes"]
layout_mode = 2
size_flags_horizontal = 3
[node name="SFX" type="HSlider" parent="Pause/MarginContainer/Buttons/Volumes/Sliders"]
layout_mode = 2
size_flags_horizontal = 3
max_value = 1.0
step = 0.01
value = 1.0
script = ExtResource("3_e3p60")
[node name="Music" type="HSlider" parent="Pause/MarginContainer/Buttons/Volumes/Sliders"]
layout_mode = 2
size_flags_horizontal = 3
max_value = 1.0
step = 0.01
value = 1.0
script = ExtResource("3_e3p60")
affects = 1
[node name="ContinueButton" type="Button" parent="Pause/MarginContainer/Buttons"]
unique_name_in_owner = true
layout_mode = 2
icon = SubResource("AtlasTexture_4k24j")
icon_alignment = 1
[node name="RestartButton" type="Button" parent="Pause/MarginContainer/Buttons"]
layout_mode = 2
icon = SubResource("AtlasTexture_or0he")
icon_alignment = 1
[node name="ExitButton" type="Button" parent="Pause/MarginContainer/Buttons"]
layout_mode = 2
icon = SubResource("AtlasTexture_y3stn")
icon_alignment = 1
[node name="ButtonPlayer" type="Node" parent="Pause/MarginContainer/Buttons"]
script = ExtResource("3_4vp8g")
audioStream = ExtResource("4_e3p60")
channel = "button"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[connection signal="pressed" from="Pause/MarginContainer/Buttons/ContinueButton" to="Pause" method="Continue"]
[connection signal="pressed" from="Pause/MarginContainer/Buttons/ContinueButton" to="Pause/MarginContainer/Buttons/ButtonPlayer" method="Play"]
[connection signal="pressed" from="Pause/MarginContainer/Buttons/RestartButton" to="Pause" method="Restart"]
[connection signal="pressed" from="Pause/MarginContainer/Buttons/RestartButton" to="Pause/MarginContainer/Buttons/ButtonPlayer" method="Play"]
[connection signal="pressed" from="Pause/MarginContainer/Buttons/ExitButton" to="Pause" method="Exit"]
[connection signal="pressed" from="Pause/MarginContainer/Buttons/ExitButton" to="Pause/MarginContainer/Buttons/ButtonPlayer" method="Play"]

View file

@ -1,145 +0,0 @@
[gd_scene load_steps=9 format=3 uid="uid://cwck7e1tt057k"]
[ext_resource type="Script" uid="uid://cqlghusry0hej" path="res://scripts/gui/RewardScene.cs" id="1_rclqa"]
[ext_resource type="Texture2D" uid="uid://nc6t245565lu" path="res://assets/sprites/leafy_background.png" id="1_uwg38"]
[ext_resource type="Texture2D" uid="uid://bq8n778sk4qnv" path="res://assets/sprites/gui/almanach/frame.tres" id="2_hbmdt"]
[ext_resource type="Texture2D" uid="uid://ksxucobpgv7n" path="res://assets/sprites/field.png" id="3_mbhdb"]
[sub_resource type="ViewportTexture" id="ViewportTexture_rclqa"]
viewport_path = NodePath("PanelContainer/VBoxContainer/Frame/SubViewport")
[sub_resource type="Animation" id="Animation_rclqa"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("ColorRect:color")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 0.921569, 1)]
}
[sub_resource type="Animation" id="Animation_mbhdb"]
resource_name = "main"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("ColorRect:color")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 0.921569, 1), Color(1, 1, 0.92, 0)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_rfkmu"]
_data = {
&"RESET": SubResource("Animation_rclqa"),
&"main": SubResource("Animation_mbhdb")
}
[node name="RewardScene" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_rclqa")
metadata/_edit_lock_ = true
[node name="Background" type="TextureRect" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("1_uwg38")
metadata/_edit_lock_ = true
[node name="PanelContainer" type="PanelContainer" parent="."]
layout_mode = 1
anchors_preset = -1
anchor_left = 0.285
anchor_top = 0.105
anchor_right = 0.713333
anchor_bottom = 0.895
offset_right = -3.05176e-05
grow_horizontal = 2
grow_vertical = 2
metadata/_edit_use_anchors_ = true
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
layout_mode = 2
[node name="Frame" type="TextureRect" parent="PanelContainer/VBoxContainer"]
clip_contents = true
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("2_hbmdt")
stretch_mode = 5
[node name="SubViewport" type="SubViewport" parent="PanelContainer/VBoxContainer/Frame"]
unique_name_in_owner = true
[node name="Field" type="Sprite2D" parent="PanelContainer/VBoxContainer/Frame/SubViewport"]
unique_name_in_owner = true
texture = ExtResource("3_mbhdb")
[node name="Camera2D" type="Camera2D" parent="PanelContainer/VBoxContainer/Frame/SubViewport"]
zoom = Vector2(0.75, 0.75)
[node name="ViewportTexture" type="TextureRect" parent="PanelContainer/VBoxContainer/Frame"]
show_behind_parent = true
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = SubResource("ViewportTexture_rclqa")
[node name="NameLabel" type="Label" parent="PanelContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
horizontal_alignment = 1
vertical_alignment = 1
[node name="DescriptionPanel" type="PanelContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_type_variation = &"description_panel_container"
[node name="DescriptionLabel" type="RichTextLabel" parent="PanelContainer/VBoxContainer/DescriptionPanel"]
unique_name_in_owner = true
layout_mode = 2
theme_override_colors/default_color = Color(0, 0, 0, 1)
bbcode_enabled = true
[node name="ContinueButton" type="Button" parent="PanelContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "continue"
[node name="ColorRect" type="ColorRect" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
color = Color(1, 1, 0.921569, 1)
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_rfkmu")
}
autoplay = "main"

View file

@ -1,299 +0,0 @@
[gd_scene load_steps=49 format=3 uid="uid://cfnmspei3k4p7"]
[ext_resource type="PackedScene" uid="uid://ky35veswaytr" path="res://scenes/gui/sun_counter.tscn" id="1_le3od"]
[ext_resource type="Theme" uid="uid://b8l285cjcgeyi" path="res://assets/themes/GameStyle.tres" id="1_xf6ra"]
[ext_resource type="Script" uid="uid://cwa1eydeiy3y4" path="res://scripts/gui/LevelGUIElements.cs" id="2_5fonq"]
[ext_resource type="Texture2D" uid="uid://bbh0uwloi87tn" path="res://assets/sprites/gui/PlantPanel.png" id="2_eg3hk"]
[ext_resource type="PackedScene" uid="uid://t0vpmycj6c8j" path="res://scenes/gui/shovel_button.tscn" id="3_bheea"]
[ext_resource type="PackedScene" uid="uid://cgm7td1hgs0rr" path="res://scenes/gui/fast_forward_button.tscn" id="4_66uy4"]
[ext_resource type="Script" uid="uid://di45o67gxmiql" path="res://scripts/gui/seedpackets/HotbarShortcutSetter.cs" id="5_5kkbf"]
[ext_resource type="PackedScene" uid="uid://u5l3jd00s8vd" path="res://scenes/gui/pause_button.tscn" id="5_jyq78"]
[ext_resource type="Script" uid="uid://bygqu13os20wi" path="res://scripts/gui/PlantHotbarSize.cs" id="5_xq48m"]
[ext_resource type="PackedScene" uid="uid://b4lx8adw6rbqs" path="res://scenes/particles/dirt_explosion.tscn" id="6_5jtun"]
[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="7_5kkbf"]
[ext_resource type="AudioStream" uid="uid://dfbg6dxg4actb" path="res://assets/audio/sfx/shovel.mp3" id="8_xq48m"]
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_ps2iw"]
texture = ExtResource("2_eg3hk")
texture_margin_left = 4.0
texture_margin_top = 4.0
texture_margin_right = 4.0
texture_margin_bottom = 4.0
axis_stretch_horizontal = 1
[sub_resource type="InputEventKey" id="InputEventKey_xq48m"]
device = -1
keycode = 49
unicode = 49
[sub_resource type="Shortcut" id="Shortcut_hmpwl"]
events = [SubResource("InputEventKey_xq48m")]
[sub_resource type="InputEventKey" id="InputEventKey_kqrbi"]
device = -1
keycode = 50
unicode = 50
[sub_resource type="Shortcut" id="Shortcut_s6pj4"]
events = [SubResource("InputEventKey_kqrbi")]
[sub_resource type="InputEventKey" id="InputEventKey_ar74i"]
device = -1
keycode = 51
unicode = 51
[sub_resource type="Shortcut" id="Shortcut_k8sc7"]
events = [SubResource("InputEventKey_ar74i")]
[sub_resource type="InputEventKey" id="InputEventKey_6klug"]
device = -1
keycode = 52
unicode = 52
[sub_resource type="Shortcut" id="Shortcut_lxteg"]
events = [SubResource("InputEventKey_6klug")]
[sub_resource type="InputEventKey" id="InputEventKey_vbeir"]
device = -1
keycode = 53
unicode = 53
[sub_resource type="InputEventKey" id="InputEventKey_7hbdx"]
device = -1
keycode = 81
unicode = 1081
[sub_resource type="Shortcut" id="Shortcut_q5vyg"]
events = [SubResource("InputEventKey_vbeir"), SubResource("InputEventKey_7hbdx")]
[sub_resource type="InputEventKey" id="InputEventKey_6l5gn"]
device = -1
keycode = 54
unicode = 54
[sub_resource type="InputEventKey" id="InputEventKey_2abg0"]
device = -1
keycode = 87
unicode = 1094
[sub_resource type="Shortcut" id="Shortcut_6awm7"]
events = [SubResource("InputEventKey_6l5gn"), SubResource("InputEventKey_2abg0")]
[sub_resource type="InputEventKey" id="InputEventKey_mu0ut"]
device = -1
keycode = 55
unicode = 55
[sub_resource type="InputEventKey" id="InputEventKey_o6p06"]
device = -1
keycode = 69
unicode = 1091
[sub_resource type="Shortcut" id="Shortcut_dsi7v"]
events = [SubResource("InputEventKey_mu0ut"), SubResource("InputEventKey_o6p06")]
[sub_resource type="InputEventKey" id="InputEventKey_iruld"]
device = -1
keycode = 56
unicode = 56
[sub_resource type="InputEventKey" id="InputEventKey_hr1by"]
device = -1
keycode = 82
unicode = 1082
[sub_resource type="Shortcut" id="Shortcut_d5mmq"]
events = [SubResource("InputEventKey_iruld"), SubResource("InputEventKey_hr1by")]
[sub_resource type="InputEventKey" id="InputEventKey_h2jfj"]
device = -1
keycode = 57
unicode = 57
[sub_resource type="InputEventKey" id="InputEventKey_xrhoa"]
device = -1
keycode = 84
unicode = 1077
[sub_resource type="Shortcut" id="Shortcut_yda1n"]
events = [SubResource("InputEventKey_h2jfj"), SubResource("InputEventKey_xrhoa")]
[sub_resource type="InputEventKey" id="InputEventKey_iupjv"]
device = -1
keycode = 48
unicode = 48
[sub_resource type="InputEventKey" id="InputEventKey_icels"]
device = -1
keycode = 89
unicode = 1085
[sub_resource type="Shortcut" id="Shortcut_lnrbg"]
events = [SubResource("InputEventKey_iupjv"), SubResource("InputEventKey_icels")]
[sub_resource type="InputEventAction" id="InputEventAction_xq48m"]
action = &"short_shovel"
pressed = true
[sub_resource type="Shortcut" id="Shortcut_cti1a"]
events = [SubResource("InputEventAction_xq48m")]
[sub_resource type="InputEventAction" id="InputEventAction_5kkbf"]
action = &"short_ff"
pressed = true
[sub_resource type="Shortcut" id="Shortcut_xq48m"]
events = [SubResource("InputEventAction_5kkbf")]
[sub_resource type="InputEventAction" id="InputEventAction_cti1a"]
action = &"short_pause"
pressed = true
[sub_resource type="Shortcut" id="Shortcut_s07y0"]
events = [SubResource("InputEventAction_cti1a")]
[sub_resource type="Animation" id="Animation_c8fnk"]
length = 0.001
tracks/0/type = "bezier"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:color:a")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
[sub_resource type="Animation" id="Animation_ffxdv"]
resource_name = "flash"
length = 0.3
step = 0.1
tracks/0/type = "bezier"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:color:a")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"handle_modes": PackedInt32Array(0, 0),
"points": PackedFloat32Array(0.25, -0.25, 0, 0, 0.00399721, 0, -0.2, 0.0038315, 0.25, 0),
"times": PackedFloat32Array(0, 0.3)
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_myv2j"]
_data = {
&"RESET": SubResource("Animation_c8fnk"),
&"flash": SubResource("Animation_ffxdv")
}
[node name="RuntimeGUI" type="Control" node_paths=PackedStringArray("SeedpacketsHotbar", "SunCounter")]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
theme = ExtResource("1_xf6ra")
script = ExtResource("2_5fonq")
SeedpacketsHotbar = NodePath("MarginContainer/Control/Hotbar/PanelContainer/Seedpackets")
SunCounter = NodePath("MarginContainer/Control/Hotbar/SunCounter")
[node name="MarginContainer" type="MarginContainer" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
theme_override_constants/margin_left = 8
theme_override_constants/margin_top = 0
theme_override_constants/margin_right = 8
theme_override_constants/margin_bottom = 0
[node name="Control" type="Control" parent="MarginContainer"]
layout_mode = 2
mouse_filter = 2
[node name="Hotbar" type="HBoxContainer" parent="MarginContainer/Control"]
layout_mode = 1
anchors_preset = -1
anchor_right = 1.0
anchor_bottom = 0.16
grow_horizontal = 2
mouse_filter = 2
[node name="SunCounter" parent="MarginContainer/Control/Hotbar" instance=ExtResource("1_le3od")]
layout_mode = 2
[node name="PanelContainer" type="PanelContainer" parent="MarginContainer/Control/Hotbar"]
custom_minimum_size = Vector2(377, 64)
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxTexture_ps2iw")
script = ExtResource("5_xq48m")
[node name="Seedpackets" type="HBoxContainer" parent="MarginContainer/Control/Hotbar/PanelContainer"]
process_mode = 3
layout_mode = 2
mouse_filter = 2
theme_override_constants/separation = 0
[node name="ShortcutSetter" type="Node" parent="MarginContainer/Control/Hotbar/PanelContainer" node_paths=PackedStringArray("hotbar")]
process_mode = 1
script = ExtResource("5_5kkbf")
shortcuts = Array[Shortcut]([SubResource("Shortcut_hmpwl"), SubResource("Shortcut_s6pj4"), SubResource("Shortcut_k8sc7"), SubResource("Shortcut_lxteg"), SubResource("Shortcut_q5vyg"), SubResource("Shortcut_6awm7"), SubResource("Shortcut_dsi7v"), SubResource("Shortcut_d5mmq"), SubResource("Shortcut_yda1n"), SubResource("Shortcut_lnrbg")])
hotbar = NodePath("../Seedpackets")
[node name="Space" type="Control" parent="MarginContainer/Control/Hotbar"]
layout_mode = 2
size_flags_horizontal = 3
[node name="ShovelButton" parent="MarginContainer/Control/Hotbar" instance=ExtResource("3_bheea")]
layout_mode = 2
size_flags_horizontal = 1
size_flags_vertical = 4
shortcut = SubResource("Shortcut_cti1a")
particles = ExtResource("6_5jtun")
[node name="ChannelPlayer" type="Node" parent="MarginContainer/Control/Hotbar/ShovelButton"]
script = ExtResource("7_5kkbf")
audioStream = ExtResource("8_xq48m")
channel = "shovel"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="FastForwardButton" parent="MarginContainer/Control/Hotbar" node_paths=PackedStringArray("flashAnimator") instance=ExtResource("4_66uy4")]
layout_mode = 2
shortcut = SubResource("Shortcut_xq48m")
flashAnimator = NodePath("../../../../FastForwardEffect/AnimationPlayer")
[node name="ChannelPlayer" type="Node" parent="MarginContainer/Control/Hotbar/FastForwardButton"]
script = ExtResource("7_5kkbf")
channel = "fastfw"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="PauseButton" parent="MarginContainer/Control/Hotbar" instance=ExtResource("5_jyq78")]
process_mode = 3
layout_mode = 2
shortcut = SubResource("Shortcut_s07y0")
[node name="FastForwardEffect" type="ColorRect" parent="."]
z_index = 1
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
color = Color(0.000150553, 0.938204, 0.707471, 0)
metadata/_edit_lock_ = true
[node name="AnimationPlayer" type="AnimationPlayer" parent="FastForwardEffect"]
libraries = {
&"": SubResource("AnimationLibrary_myv2j")
}
[connection signal="pressed" from="MarginContainer/Control/Hotbar/ShovelButton" to="MarginContainer/Control/Hotbar/ShovelButton/ChannelPlayer" method="Play"]

View file

@ -1,141 +0,0 @@
[gd_scene load_steps=12 format=3 uid="uid://e7vutg71l6f2"]
[ext_resource type="Texture2D" uid="uid://dxyf557m4mq1p" path="res://assets/sprites/gui/EmptyPlantCard.png" id="1_77bw1"]
[ext_resource type="Texture2D" uid="uid://cabpf23ndlvx0" path="res://assets/sprites/gui/Selection.tres" id="3_q0tvq"]
[ext_resource type="Texture2D" uid="uid://cjkwy3u0wuax3" path="res://assets/sprites/gui/ForbiddenPacket.tres" id="4_6k60q"]
[ext_resource type="Script" uid="uid://cn6ddajdtf4ep" path="res://scripts/gui/seedpackets/Seedpacket.cs" id="4_c6epd"]
[ext_resource type="Script" uid="uid://chag6sgjsjb2u" path="res://scripts/gui/seedpackets/CostVeil.cs" id="4_gtmhg"]
[ext_resource type="Shader" uid="uid://dcp5tqcec2oi3" path="res://assets/shaders/gui_masking.gdshader" id="5_s5861"]
[ext_resource type="Texture2D" uid="uid://c1p5iswlquo4o" path="res://assets/sprites/gui/LockedPacket.tres" id="5_tvxj3"]
[ext_resource type="Texture2D" uid="uid://c1afy0ga6h1ic" path="res://assets/sprites/white_box.png" id="6_lp42h"]
[ext_resource type="Script" uid="uid://ddi84kmmq1qla" path="res://scripts/gui/VeilResizer.cs" id="7_tv07f"]
[sub_resource type="LabelSettings" id="LabelSettings_js4li"]
resource_local_to_scene = true
font_size = 13
font_color = Color(0, 0, 0, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_qxf0q"]
shader = ExtResource("5_s5861")
shader_parameter/mask = ExtResource("1_77bw1")
[node name="Seedpacket" type="TextureButton"]
anchors_preset = -1
anchor_right = 0.137
anchor_bottom = 0.28
offset_right = -0.199997
mouse_default_cursor_shape = 2
texture_normal = ExtResource("1_77bw1")
texture_focused = ExtResource("3_q0tvq")
stretch_mode = 0
script = ExtResource("4_c6epd")
metadata/_edit_use_anchors_ = true
[node name="Cost" type="Label" parent="."]
layout_mode = 1
anchors_preset = -1
anchor_left = 0.146
anchor_top = 0.732
anchor_right = 0.854
anchor_bottom = 0.893
offset_left = 0.0279989
offset_top = 0.0159912
offset_right = -0.0279999
offset_bottom = -0.0160065
grow_horizontal = 2
grow_vertical = 2
label_settings = SubResource("LabelSettings_js4li")
horizontal_alignment = 1
vertical_alignment = 1
text_overrun_behavior = 3
[node name="PlantPreviewContainer" type="Control" parent="."]
clip_contents = true
layout_mode = 1
anchor_left = -0.061
anchor_top = -0.036
anchor_right = 1.061
anchor_bottom = 0.661
offset_left = 0.00199986
offset_top = 0.0320001
offset_right = -0.0019989
offset_bottom = -0.0319977
mouse_filter = 2
[node name="Preview" type="TextureRect" parent="PlantPreviewContainer"]
layout_mode = 1
anchors_preset = -1
anchor_left = 0.185
anchor_top = 0.205
anchor_right = 0.815
anchor_bottom = 1.333
offset_left = -0.0200005
offset_top = 0.00999928
offset_right = 0.0199966
offset_bottom = 0.0259933
mouse_filter = 2
mouse_default_cursor_shape = 2
expand_mode = 1
stretch_mode = 5
[node name="ForbiddenTexture" type="TextureRect" parent="."]
visible = false
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("4_6k60q")
[node name="LockedTexture" type="TextureRect" parent="."]
visible = false
layout_mode = 1
anchors_preset = -1
anchor_left = 0.341463
anchor_top = 0.339286
anchor_right = 0.658537
anchor_bottom = 0.660714
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("5_tvxj3")
expand_mode = 1
stretch_mode = 5
metadata/_edit_use_anchors_ = true
[node name="CostVeil" type="ColorRect" parent="."]
visible = false
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
color = Color(0, 0, 0, 0.415686)
script = ExtResource("4_gtmhg")
[node name="Veil" type="TextureProgressBar" parent="." node_paths=PackedStringArray("_referenceTimer")]
material = SubResource("ShaderMaterial_qxf0q")
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
max_value = 1.0
step = 0.001
fill_mode = 3
nine_patch_stretch = true
texture_progress = ExtResource("6_lp42h")
tint_progress = Color(0, 0, 0, 0.501961)
script = ExtResource("7_tv07f")
_referenceTimer = NodePath("../RechargeTimer")
[node name="RechargeTimer" type="Timer" parent="."]
process_mode = 1
one_shot = true
[connection signal="focus_exited" from="." to="." method="OnUnfocused"]

View file

@ -1,41 +0,0 @@
[gd_scene load_steps=6 format=3 uid="uid://t0vpmycj6c8j"]
[ext_resource type="Shader" uid="uid://c5kv2gwtme1dk" path="res://assets/shaders/radial_progress.gdshader" id="1_jj4sa"]
[ext_resource type="Texture2D" uid="uid://b0jta6xgl7mvc" path="res://assets/sprites/gui/shovel_button.png" id="2_jj4sa"]
[ext_resource type="Texture2D" uid="uid://fd6drk2su0df" path="res://assets/sprites/gui/EmptyShovel.tres" id="2_pw2pj"]
[ext_resource type="Script" uid="uid://d4dbg0us5ngxy" path="res://scripts/gui/ShovelButton.cs" id="3_u6gir"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_grw26"]
shader = ExtResource("1_jj4sa")
shader_parameter/region_rect = Vector4(46, 174, 51, 47)
shader_parameter/progress = 1.0
[node name="ShovelButton" type="TextureButton" node_paths=PackedStringArray("raycast", "timer")]
material = SubResource("ShaderMaterial_grw26")
anchors_preset = -1
anchor_right = 0.085
anchor_bottom = 0.117
offset_right = -11.0
offset_bottom = -6.8
size_flags_horizontal = 4
size_flags_vertical = 0
mouse_default_cursor_shape = 2
toggle_mode = true
texture_normal = ExtResource("2_jj4sa")
texture_pressed = ExtResource("2_pw2pj")
stretch_mode = 5
script = ExtResource("3_u6gir")
raycast = NodePath("RayCast2D")
timer = NodePath("Timer")
[node name="RayCast2D" type="RayCast2D" parent="."]
exclude_parent = false
target_position = Vector2(0, 0)
collision_mask = 24
hit_from_inside = true
collide_with_areas = true
collide_with_bodies = false
[node name="Timer" type="Timer" parent="."]
wait_time = 90.0
one_shot = true

View file

@ -1,56 +0,0 @@
[gd_scene load_steps=6 format=3 uid="uid://ky35veswaytr"]
[ext_resource type="Texture2D" uid="uid://bhp3vuvwf7lak" path="res://assets/sprites/gui/suncounter.tres" id="1_e5x4k"]
[ext_resource type="Theme" uid="uid://b8l285cjcgeyi" path="res://assets/themes/GameStyle.tres" id="1_vhhcn"]
[ext_resource type="Texture2D" uid="uid://c47rflkf2wap0" path="res://assets/sprites/sun.tres" id="2_gugre"]
[ext_resource type="Script" uid="uid://dwxohya1exdkh" path="res://scripts/gui/SunCounter.cs" id="3_qhmb8"]
[sub_resource type="LabelSettings" id="LabelSettings_lxkq5"]
font_size = 10
font_color = Color(0, 0, 0, 1)
[node name="SunCounter" type="TextureRect" node_paths=PackedStringArray("text", "sunImage")]
anchors_preset = -1
anchor_right = 0.082
anchor_bottom = 0.067
offset_right = -0.200001
offset_bottom = 0.199999
size_flags_vertical = 0
theme = ExtResource("1_vhhcn")
texture = ExtResource("1_e5x4k")
script = ExtResource("3_qhmb8")
text = NodePath("Label")
sunImage = NodePath("Sun")
[node name="Sun" type="TextureRect" parent="."]
show_behind_parent = true
layout_mode = 1
anchors_preset = -1
anchor_left = 0.5
anchor_top = 1.019
anchor_right = 0.5
anchor_bottom = 1.019
offset_left = -22.5
offset_top = -22.513
offset_right = 22.5
offset_bottom = 22.487
pivot_offset = Vector2(23, 22)
texture = ExtResource("2_gugre")
[node name="Label" type="Label" parent="."]
process_mode = 3
layout_mode = 1
anchors_preset = -1
anchor_left = 0.122
anchor_top = 0.222
anchor_right = 0.878
anchor_bottom = 0.815
offset_left = 0.0219994
offset_top = 0.00599957
offset_right = -0.0219994
offset_bottom = -0.00500107
text = "0"
label_settings = SubResource("LabelSettings_lxkq5")
horizontal_alignment = 1
vertical_alignment = 1
text_overrun_behavior = 3

View file

@ -1,34 +0,0 @@
[gd_scene load_steps=5 format=3 uid="uid://c668qnmmpli5r"]
[ext_resource type="Texture2D" uid="uid://oxjkxtyw0xx0" path="res://assets/sprites/wave-progress/UnderTexture.tres" id="1_60lfm"]
[ext_resource type="Texture2D" uid="uid://dbt3asr2jel6" path="res://assets/sprites/wave-progress/Fill.tres" id="2_7f727"]
[ext_resource type="Script" uid="uid://bsnt4slsbathn" path="res://scripts/gui/WaveProgress.cs" id="3_u57hj"]
[ext_resource type="Texture2D" uid="uid://bjpea7iqweexm" path="res://assets/sprites/wave-progress/Head.tres" id="4_5xdew"]
[node name="WaveProgress" type="TextureProgressBar"]
anchors_preset = -1
anchor_right = 0.238
anchor_bottom = 0.05
offset_right = 0.199997
step = 0.01
fill_mode = 1
stretch_margin_left = 20
texture_under = ExtResource("1_60lfm")
texture_progress = ExtResource("2_7f727")
texture_progress_offset = Vector2(3, 5)
script = ExtResource("3_u57hj")
[node name="Head" type="TextureRect" parent="."]
layout_mode = 1
anchors_preset = -1
anchor_left = 1.0
anchor_top = 0.5
anchor_right = 1.0
anchor_bottom = 0.5
offset_left = -11.5
offset_top = -12.0
offset_right = 11.5
offset_bottom = 12.0
texture = ExtResource("4_5xdew")
expand_mode = 1
stretch_mode = 5

View file

@ -1,26 +0,0 @@
[gd_scene load_steps=7 format=3 uid="uid://devn21c7luf45"]
[ext_resource type="Shader" uid="uid://mt7vheq5modk" path="res://assets/shaders/greyscale.gdshader" id="1_d73yj"]
[ext_resource type="Script" uid="uid://bj7rw2f6qu1lg" path="res://scripts/level/PlantField.cs" id="2_84bqh"]
[ext_resource type="PackedScene" uid="uid://b4lx8adw6rbqs" path="res://scenes/particles/dirt_explosion.tscn" id="3_ddnu6"]
[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="4_w40vd"]
[ext_resource type="AudioStream" uid="uid://ciepttpel6dxb" path="res://assets/audio/gui/plant_generic.tres" id="5_2x1ty"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_0miwm"]
shader = ExtResource("1_d73yj")
shader_parameter/amount = 0.0
[node name="FieldController" type="Node2D"]
material = SubResource("ShaderMaterial_0miwm")
script = ExtResource("2_84bqh")
particles = ExtResource("3_ddnu6")
[node name="Preview" type="Node2D" parent="."]
process_mode = 4
use_parent_material = true
[node name="PlantPlayer" type="Node" parent="."]
script = ExtResource("4_w40vd")
audioStream = ExtResource("5_2x1ty")
channel = "plant"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"

View file

@ -1,12 +0,0 @@
[gd_scene load_steps=3 format=3 uid="uid://ddp53j2ebnpyl"]
[ext_resource type="PackedScene" uid="uid://b1hjjbdwf1rtc" path="res://scenes/templates/plant_template.tscn" id="1_1vb12"]
[sub_resource type="CircleShape2D" id="CircleShape2D_2e1tv"]
radius = 22.0227
[node name="InvunPlant" instance=ExtResource("1_1vb12")]
_maxHP = 12412
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox" index="0"]
shape = SubResource("CircleShape2D_2e1tv")

View file

@ -1,6 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://plc2gus4ppds"]
[ext_resource type="Script" uid="uid://d2dq6f0bk7pfx" path="res://scripts/level/LeftBoundaryMarker.cs" id="1_q4xoc"]
[node name="LeftBoundaryMarker" type="Marker2D"]
script = ExtResource("1_q4xoc")

View file

@ -1,29 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://cg8713v6c5w15"]
[ext_resource type="Script" uid="uid://bso32xkw738sy" path="res://scripts/level/PoolContainer.cs" id="1_31ggc"]
[node name="Pools" type="Node2D" node_paths=PackedStringArray("Zombies", "Plants", "Projectiles", "Structures", "Particles")]
script = ExtResource("1_31ggc")
Zombies = NodePath("Zombies")
Plants = NodePath("Plants")
Projectiles = NodePath("Projectiles")
Structures = NodePath("Structures")
Particles = NodePath("Particles")
[node name="Zombies" type="Node2D" parent="."]
z_index = 3
y_sort_enabled = true
[node name="Plants" type="Node2D" parent="."]
z_index = 1
y_sort_enabled = true
[node name="Projectiles" type="Node2D" parent="."]
z_index = 4
y_sort_enabled = true
[node name="Structures" type="Node2D" parent="."]
z_index = 2
y_sort_enabled = true
[node name="Particles" type="Node2D" parent="."]

View file

@ -1,6 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://jm7wm08d2mi7"]
[ext_resource type="Script" uid="uid://bymylx25skfot" path="res://scripts/level/RightBoundaryMarker.cs" id="1_cf1wn"]
[node name="right_boundary_marker" type="Marker2D"]
script = ExtResource("1_cf1wn")

View file

@ -1,8 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://dylfqmo3d26ce"]
[ext_resource type="Script" uid="uid://cn3q18jh2rej7" path="res://scripts/gui/LevelButton.cs" id="1_qey5e"]
[node name="LevelButton" type="TextureRect"]
offset_right = 40.0
offset_bottom = 40.0
script = ExtResource("1_qey5e")

View file

@ -1,235 +0,0 @@
[gd_scene load_steps=20 format=3 uid="uid://bfstrli64u23y"]
[ext_resource type="Texture2D" uid="uid://dvldjlg0nr355" path="res://assets/sprites/atlases/atlas1.png" id="1_jk1qb"]
[ext_resource type="Script" uid="uid://drru785m4eep" path="res://scripts/gui/main_menu_rich_text.gd" id="2_5dd4i"]
[ext_resource type="Script" uid="uid://cghu4i3bnyavg" path="res://scripts/gui/PrototypeWindow.cs" id="2_flqon"]
[ext_resource type="Texture2D" uid="uid://c37pvdhol2x02" path="res://assets/sprites/menu_bg.png" id="3_lgwnu"]
[ext_resource type="Theme" uid="uid://btulhvgwclket" path="res://assets/themes/MainMenu.tres" id="4_flqon"]
[ext_resource type="Texture2D" uid="uid://cfgkauyw7qful" path="res://assets/sprites/vertical_logo.png" id="5_1ajci"]
[ext_resource type="Script" uid="uid://c06k4k3ww48ev" path="res://scripts/gui/menu_buttons.gd" id="5_rcqid"]
[ext_resource type="Script" uid="uid://6e8n6kc0y11o" path="res://scripts/sacrifice.gd" id="6_1ajci"]
[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="7_7b55j"]
[ext_resource type="Texture2D" uid="uid://drydueofrb448" path="res://assets/sprites/gui/almanach/book.tres" id="7_flqon"]
[ext_resource type="AudioStream" uid="uid://bdx83fokp6kha" path="res://assets/audio/sfx/buttonclick.mp3" id="8_5pajh"]
[ext_resource type="AudioStream" uid="uid://cp7c8ys8sk2r0" path="res://assets/audio/music/Toxa/Upcoming Serenity.wav" id="12_1ajci"]
[ext_resource type="PackedScene" uid="uid://bvpt0q4j6nx18" path="res://scenes/gui/almanach.tscn" id="12_rcqid"]
[ext_resource type="PackedScene" uid="uid://djfsa0pxqeoq1" path="res://scenes/gui/cursor_canvas_layer.tscn" id="14_1ajci"]
[sub_resource type="GDScript" id="GDScript_5dd4i"]
resource_name = "main_menu"
script/source = "extends Control
func _ready() -> void:
get_tree().paused = false
Engine.time_scale = 1.0
"
[sub_resource type="AtlasTexture" id="AtlasTexture_5pe7g"]
atlas = ExtResource("1_jk1qb")
region = Rect2(226, 77, 18, 18)
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_jl0ue"]
texture = SubResource("AtlasTexture_5pe7g")
texture_margin_left = 6.0
texture_margin_top = 6.0
texture_margin_right = 6.0
texture_margin_bottom = 6.0
[sub_resource type="AudioStreamPlaylist" id="AudioStreamPlaylist_7b55j"]
stream_count = 1
stream_0 = ExtResource("12_1ajci")
[sub_resource type="GDScript" id="GDScript_flqon"]
resource_name = "version_label"
script/source = "extends Label
func _ready() -> void:
text = ProjectSettings.get_setting(\"application/config/version\")
"
[node name="MainMenu" type="Control"]
process_mode = 3
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = SubResource("GDScript_5dd4i")
[node name="PrototypeWindow" type="AcceptDialog" parent="."]
canvas_item_default_texture_filter = 0
title = ""
size = Vector2i(600, 400)
unresizable = true
borderless = true
theme_override_styles/panel = SubResource("StyleBoxTexture_jl0ue")
ok_button_text = "close"
dialog_close_on_escape = false
script = ExtResource("2_flqon")
[node name="ScrollContainer" type="ScrollContainer" parent="PrototypeWindow"]
offset_left = 6.0
offset_top = 6.0
offset_right = 594.0
offset_bottom = 343.0
[node name="PrototypeNotification" type="RichTextLabel" parent="PrototypeWindow/ScrollContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
bbcode_enabled = true
text = "lon_proto"
fit_content = true
scroll_active = false
script = ExtResource("2_5dd4i")
[node name="AboutWindow" type="AcceptDialog" parent="."]
canvas_item_default_texture_filter = 0
title = ""
initial_position = 2
size = Vector2i(300, 300)
unresizable = true
borderless = true
ok_button_text = "close"
[node name="ScrollContainer" type="ScrollContainer" parent="AboutWindow"]
offset_left = 8.0
offset_top = 8.0
offset_right = 292.0
offset_bottom = 241.0
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="AboutText" type="RichTextLabel" parent="AboutWindow/ScrollContainer"]
layout_mode = 2
size_flags_horizontal = 3
bbcode_enabled = true
text = "about_screen"
fit_content = true
scroll_active = false
[node name="BG" type="TextureRect" parent="."]
z_index = -1
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0
texture = ExtResource("3_lgwnu")
metadata/_edit_lock_ = true
[node name="TextureRect" type="TextureRect" parent="."]
layout_mode = 0
offset_left = 197.0
offset_top = 181.0
offset_right = 402.0
offset_bottom = 248.0
texture = ExtResource("5_1ajci")
expand_mode = 2
stretch_mode = 5
[node name="Buttons" type="Control" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("4_flqon")
script = ExtResource("5_rcqid")
metadata/_edit_lock_ = true
[node name="GameButtons" type="VBoxContainer" parent="Buttons"]
layout_mode = 0
offset_left = 504.0
offset_top = 177.0
offset_right = 596.0
offset_bottom = 275.0
[node name="PlayButton" type="Button" parent="Buttons/GameButtons"]
layout_mode = 2
text = "play"
[node name="ExitButton" type="Button" parent="Buttons/GameButtons"]
layout_mode = 2
text = "exit"
[node name="InfoButtons" type="VBoxContainer" parent="Buttons"]
layout_mode = 0
offset_left = 10.0
offset_top = 188.0
offset_right = 86.0
offset_bottom = 235.0
[node name="AboutButton" type="Button" parent="Buttons/InfoButtons"]
layout_mode = 2
text = "about"
[node name="SplashButton" type="Button" parent="Buttons/InfoButtons"]
layout_mode = 2
text = "splash"
[node name="AlmanachButton" type="Button" parent="Buttons/InfoButtons"]
layout_mode = 2
icon = ExtResource("7_flqon")
icon_alignment = 1
[node name="SACRIFICE" type="TextureButton" parent="Buttons"]
layout_mode = 0
offset_left = 338.0
offset_top = 254.0
offset_right = 387.0
offset_bottom = 278.0
script = ExtResource("6_1ajci")
[node name="CONFIRM" type="AcceptDialog" parent="Buttons/SACRIFICE"]
title = ""
initial_position = 1
size = Vector2i(359, 100)
ok_button_text = ""
dialog_text = " ?
"
[node name="ChannelPlayer" type="Node" parent="Buttons"]
script = ExtResource("7_7b55j")
audioStream = ExtResource("8_5pajh")
channel = "button"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = SubResource("AudioStreamPlaylist_7b55j")
volume_db = -20.0
autoplay = true
bus = &"MusicBus"
[node name="Almanach" parent="." instance=ExtResource("12_rcqid")]
visible = false
layout_mode = 1
[node name="VersionLabel" type="Label" parent="."]
layout_mode = 1
anchors_preset = -1
anchor_left = 0.823
anchor_top = 0.957
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 0.199982
offset_top = 0.199982
grow_horizontal = 0
grow_vertical = 0
horizontal_alignment = 2
vertical_alignment = 1
script = SubResource("GDScript_flqon")
[node name="CursorCanvasLayer" parent="." instance=ExtResource("14_1ajci")]
[connection signal="meta_clicked" from="PrototypeWindow/ScrollContainer/PrototypeNotification" to="PrototypeWindow/ScrollContainer/PrototypeNotification" method="_on_meta_clicked"]
[connection signal="pressed" from="Buttons/GameButtons/PlayButton" to="Buttons" method="_on_play_button_pressed"]
[connection signal="pressed" from="Buttons/GameButtons/ExitButton" to="Buttons" method="_on_exit_button_pressed"]
[connection signal="pressed" from="Buttons/InfoButtons/AboutButton" to="Buttons" method="_on_button_pressed"]
[connection signal="pressed" from="Buttons/InfoButtons/SplashButton" to="Buttons" method="_on_splash_button_pressed"]
[connection signal="pressed" from="Buttons/InfoButtons/AlmanachButton" to="Buttons" method="_on_almanach_button_pressed"]
[connection signal="close_requested" from="Buttons/SACRIFICE/CONFIRM" to="Buttons/SACRIFICE" method="_on_confirm_close_requested"]
[connection signal="confirmed" from="Buttons/SACRIFICE/CONFIRM" to="Buttons/SACRIFICE" method="_on_confirm_confirmed"]

View file

@ -1,155 +0,0 @@
[gd_scene load_steps=14 format=3 uid="uid://b3na62o5pu1gt"]
[ext_resource type="Texture2D" uid="uid://k60ylegy845j" path="res://assets/sprites/atlases/tile_animations.png" id="1_4r1tv"]
[ext_resource type="Script" uid="uid://5ve2i0iu5oxr" path="res://scripts/particles/MixedParticles.cs" id="1_ftbe0"]
[ext_resource type="Texture2D" uid="uid://c68mrfs4wb81x" path="res://assets/sprites/atlases/atlas2.png" id="2_mhmlv"]
[sub_resource type="Animation" id="Animation_mhmlv"]
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]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite2D/GPUParticles2D:emitting")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sprite2D:self_modulate")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
[sub_resource type="Animation" id="Animation_4r1tv"]
resource_name = "main"
length = 1.33334
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.728266, 0.916667),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 1,
"values": [0, 1, 2, 1, 0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite2D/GPUParticles2D:emitting")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.333333),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, true]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sprite2D:self_modulate")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0.916667, 1.33333),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ftbe0"]
_data = {
&"RESET": SubResource("Animation_mhmlv"),
&"main": SubResource("Animation_4r1tv")
}
[sub_resource type="AtlasTexture" id="AtlasTexture_mhmlv"]
atlas = ExtResource("1_4r1tv")
region = Rect2(150, 0, 150, 50)
filter_clip = true
[sub_resource type="AtlasTexture" id="AtlasTexture_ftbe0"]
atlas = ExtResource("2_mhmlv")
region = Rect2(79, 102, 15, 15)
[sub_resource type="Curve" id="Curve_ftbe0"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1e-05, 0), 0.0, 0.0, 0, 0, Vector2(0.152284, 1), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_100so"]
curve = SubResource("Curve_ftbe0")
[sub_resource type="Curve" id="Curve_q4bj6"]
_data = [Vector2(0, 1), 0.0, -1.0, 0, 1, Vector2(1, 0), -1.0, 0.0, 1, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_dajq0"]
curve = SubResource("Curve_q4bj6")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_100so"]
particle_flag_disable_z = true
emission_shape = 1
emission_sphere_radius = 20.0
direction = Vector3(0, -1, 0)
spread = 0.0
flatness = 1.0
initial_velocity_min = 115.79
initial_velocity_max = 115.79
scale_curve = SubResource("CurveTexture_dajq0")
alpha_curve = SubResource("CurveTexture_100so")
[node name="AloeEffect" type="Node2D" node_paths=PackedStringArray("emitter")]
script = ExtResource("1_ftbe0")
emitter = NodePath("Sprite2D/GPUParticles2D")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_ftbe0")
}
autoplay = "main"
[node name="Sprite2D" type="Sprite2D" parent="."]
z_index = -1
z_as_relative = false
position = Vector2(0, 22)
texture = SubResource("AtlasTexture_mhmlv")
offset = Vector2(0, -13.1)
hframes = 3
[node name="GPUParticles2D" type="GPUParticles2D" parent="Sprite2D"]
z_index = 50
z_as_relative = false
position = Vector2(0, -1)
emitting = false
texture = SubResource("AtlasTexture_ftbe0")
one_shot = true
explosiveness = 0.25
fixed_fps = 60
process_material = SubResource("ParticleProcessMaterial_100so")

View file

@ -1,73 +0,0 @@
[gd_scene load_steps=9 format=3 uid="uid://b4lx8adw6rbqs"]
[ext_resource type="Texture2D" uid="uid://d3673b2idj18b" path="res://assets/sprites/particles/dirt1.tres" id="1_nc6dt"]
[ext_resource type="Script" uid="uid://dxcd70o6aa7pr" path="res://scripts/particles/StandardParticles.cs" id="1_o2lv2"]
[ext_resource type="Material" uid="uid://dmpscw60bfrj" path="res://assets/sprites/particles/dirt_material.tres" id="2_o2lv2"]
[ext_resource type="Texture2D" uid="uid://bs8cll4gtgwr1" path="res://assets/sprites/particles/dirt2.tres" id="3_0gemy"]
[ext_resource type="Texture2D" uid="uid://0tja7r7yp1ht" path="res://assets/sprites/particles/dirt3.tres" id="4_ihbjc"]
[ext_resource type="Texture2D" uid="uid://conyd86prykef" path="res://assets/sprites/particles/dirt4.tres" id="5_hu2fb"]
[ext_resource type="Texture2D" uid="uid://u6vxm6gejoss" path="res://assets/sprites/particles/dirt5.tres" id="6_bwqux"]
[ext_resource type="Texture2D" uid="uid://biooadlxqqeos" path="res://assets/sprites/particles/dirt6.tres" id="7_ee6l0"]
[node name="DirtExplosion" type="Node2D"]
script = ExtResource("1_o2lv2")
[node name="First" type="GPUParticles2D" parent="."]
emitting = false
amount = 3
texture = ExtResource("1_nc6dt")
one_shot = true
explosiveness = 1.0
randomness = 0.11
local_coords = true
process_material = ExtResource("2_o2lv2")
[node name="Second" type="GPUParticles2D" parent="."]
emitting = false
amount = 3
texture = ExtResource("3_0gemy")
one_shot = true
explosiveness = 1.0
randomness = 0.11
local_coords = true
process_material = ExtResource("2_o2lv2")
[node name="Third" type="GPUParticles2D" parent="."]
emitting = false
amount = 3
texture = ExtResource("4_ihbjc")
one_shot = true
explosiveness = 1.0
randomness = 0.11
local_coords = true
process_material = ExtResource("2_o2lv2")
[node name="Fourth" type="GPUParticles2D" parent="."]
emitting = false
amount = 3
texture = ExtResource("5_hu2fb")
one_shot = true
explosiveness = 1.0
randomness = 0.11
local_coords = true
process_material = ExtResource("2_o2lv2")
[node name="Fifth" type="GPUParticles2D" parent="."]
emitting = false
amount = 3
texture = ExtResource("6_bwqux")
one_shot = true
explosiveness = 1.0
randomness = 0.11
local_coords = true
process_material = ExtResource("2_o2lv2")
[node name="Sixth" type="GPUParticles2D" parent="."]
emitting = false
amount = 3
texture = ExtResource("7_ee6l0")
one_shot = true
explosiveness = 1.0
randomness = 0.11
local_coords = true
process_material = ExtResource("2_o2lv2")

View file

@ -1,36 +0,0 @@
[gd_scene load_steps=6 format=3 uid="uid://1d33w4ubtury"]
[ext_resource type="Script" uid="uid://dxcd70o6aa7pr" path="res://scripts/particles/StandardParticles.cs" id="1_rhijc"]
[ext_resource type="Texture2D" uid="uid://d1ovwgd03fxx5" path="res://assets/sprites/particles/pea_fragment1.tres" id="1_wg12m"]
[ext_resource type="Material" uid="uid://0sf0uy1dkxb6" path="res://assets/sprites/particles/pea_material.tres" id="2_rhijc"]
[ext_resource type="Texture2D" uid="uid://bmig582h4s38v" path="res://assets/sprites/particles/pea_fragment2.tres" id="3_yroe6"]
[ext_resource type="Texture2D" uid="uid://cg3nx7qj8kbkw" path="res://assets/sprites/particles/pea_fragment3.tres" id="4_bbhkw"]
[node name="PeaParticles" type="Node2D"]
script = ExtResource("1_rhijc")
[node name="First" type="GPUParticles2D" parent="."]
emitting = false
amount = 1
texture = ExtResource("1_wg12m")
one_shot = true
explosiveness = 1.0
process_material = ExtResource("2_rhijc")
[node name="Second" type="GPUParticles2D" parent="."]
emitting = false
amount = 1
texture = ExtResource("3_yroe6")
one_shot = true
explosiveness = 1.0
randomness = 0.15
process_material = ExtResource("2_rhijc")
[node name="Third" type="GPUParticles2D" parent="."]
emitting = false
amount = 1
texture = ExtResource("4_bbhkw")
one_shot = true
explosiveness = 1.0
randomness = 0.15
process_material = ExtResource("2_rhijc")

View file

@ -1,58 +0,0 @@
[gd_scene load_steps=8 format=3 uid="uid://ckanq33rao1ur"]
[ext_resource type="PackedScene" uid="uid://b4lx8adw6rbqs" path="res://scenes/particles/dirt_explosion.tscn" id="1_c4q5e"]
[ext_resource type="Texture2D" uid="uid://cad45iyh16x5g" path="res://assets/sprites/particles/nachinka1.tres" id="2_lgu5b"]
[ext_resource type="Material" uid="uid://dvjxab8lnj6ap" path="res://assets/sprites/particles/potato_material.tres" id="3_lgu5b"]
[ext_resource type="Texture2D" uid="uid://b3yfl2had6t3o" path="res://assets/sprites/particles/nachinka2.tres" id="4_xwh7c"]
[ext_resource type="Texture2D" uid="uid://e5v4vpux4h8k" path="res://assets/sprites/particles/nachinka3.tres" id="5_ryjsf"]
[ext_resource type="Texture2D" uid="uid://dny6mfpspd3o8" path="res://assets/sprites/particles/nachinka4.tres" id="6_ursbv"]
[ext_resource type="Script" uid="uid://b8v8xrsyswmg4" path="res://scripts/gamepad/ExplosionVibration.cs" id="7_xwh7c"]
[node name="PotatoExplosion" instance=ExtResource("1_c4q5e")]
[node name="Nachinka" type="GPUParticles2D" parent="." index="6"]
emitting = false
amount = 2
texture = ExtResource("2_lgu5b")
lifetime = 2.0
one_shot = true
explosiveness = 1.0
randomness = 0.11
local_coords = true
process_material = ExtResource("3_lgu5b")
[node name="Nachinka2" type="GPUParticles2D" parent="." index="7"]
emitting = false
amount = 2
texture = ExtResource("4_xwh7c")
lifetime = 2.0
one_shot = true
explosiveness = 1.0
randomness = 0.11
local_coords = true
process_material = ExtResource("3_lgu5b")
[node name="Nachinka3" type="GPUParticles2D" parent="." index="8"]
emitting = false
amount = 2
texture = ExtResource("5_ryjsf")
lifetime = 2.0
one_shot = true
explosiveness = 1.0
randomness = 0.11
local_coords = true
process_material = ExtResource("3_lgu5b")
[node name="Nachinka4" type="GPUParticles2D" parent="." index="9"]
emitting = false
amount = 2
texture = ExtResource("6_ursbv")
lifetime = 2.0
one_shot = true
explosiveness = 1.0
randomness = 0.11
local_coords = true
process_material = ExtResource("3_lgu5b")
[node name="VibrationController" type="Node" parent="." index="10"]
script = ExtResource("7_xwh7c")

View file

@ -1,17 +0,0 @@
[gd_scene load_steps=5 format=3 uid="uid://cijchi3f01q2t"]
[ext_resource type="PackedScene" uid="uid://1d33w4ubtury" path="res://scenes/particles/pea_particles.tscn" id="1_5fx7g"]
[ext_resource type="Texture2D" uid="uid://el3weu727cmo" path="res://assets/sprites/particles/snowpea_fragment1.tres" id="2_fb47t"]
[ext_resource type="Texture2D" uid="uid://rv2ibl8ls1kh" path="res://assets/sprites/particles/snowpea_fragment2.tres" id="3_5frrb"]
[ext_resource type="Texture2D" uid="uid://bgg1n8802ebm6" path="res://assets/sprites/particles/snowpea_fragment3.tres" id="4_hwfh3"]
[node name="SnowPeaParticles" instance=ExtResource("1_5fx7g")]
[node name="First" parent="." index="0"]
texture = ExtResource("2_fb47t")
[node name="Second" parent="." index="1"]
texture = ExtResource("3_5frrb")
[node name="Third" parent="." index="2"]
texture = ExtResource("4_hwfh3")

View file

@ -1,23 +0,0 @@
[gd_scene load_steps=5 format=3 uid="uid://pf8sq0bk3epn"]
[ext_resource type="PackedScene" uid="uid://b2hrv0aqbui7u" path="res://scenes/projectiles/pea.tscn" id="1_iyfw1"]
[ext_resource type="Texture2D" uid="uid://c68mrfs4wb81x" path="res://assets/sprites/atlases/atlas2.png" id="2_12o6v"]
[sub_resource type="AtlasTexture" id="AtlasTexture_h74iy"]
atlas = ExtResource("2_12o6v")
region = Rect2(24, 88, 7, 13)
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_iyfw1"]
radius = 6.0
height = 24.0
[node name="CucumberProjectile" instance=ExtResource("1_iyfw1")]
_speed = 5.0
_damage = 25
[node name="Sprite" parent="." index="0"]
rotation = -1.5708
texture = SubResource("AtlasTexture_h74iy")
[node name="CollisionShape2D" parent="." index="1"]
shape = SubResource("CapsuleShape2D_iyfw1")

View file

@ -1,24 +0,0 @@
[gd_scene load_steps=3 format=3 uid="uid://c1ig40gtdcb60"]
[ext_resource type="PackedScene" uid="uid://pf8sq0bk3epn" path="res://scenes/projectiles/cucumber_projectile_part.tscn" id="1_3auks"]
[sub_resource type="GDScript" id="GDScript_3auks"]
resource_name = "cucumber"
script/source = "extends Node2D
func _ready() -> void:
pass
#get_child(0).reparent(get_parent())
#get_child(0).reparent(get_parent())
#queue_free()
"
[node name="CucumberProjectileScene" type="Node2D"]
script = SubResource("GDScript_3auks")
[node name="CucumberProjectile" parent="." instance=ExtResource("1_3auks")]
rotation = 1.5708
[node name="CucumberProjectile2" parent="." instance=ExtResource("1_3auks")]
rotation = 4.71239

View file

@ -1,13 +0,0 @@
[gd_scene load_steps=3 format=3 uid="uid://c1ig40gtdcb60"]
[ext_resource type="PackedScene" uid="uid://pf8sq0bk3epn" path="res://scenes/projectiles/cucumber_projectile.tscn" id="1_3auks"]
[ext_resource type="Script" uid="uid://j6nq8w2n8532" path="res://scripts/projectiles/CompoundProjectile.cs" id="1_pmbxx"]
[node name="CucumberProjectileScene" type="Node2D"]
script = ExtResource("1_pmbxx")
[node name="CucumberProjectile" parent="." instance=ExtResource("1_3auks")]
rotation = 1.5708
[node name="CucumberProjectile2" parent="." instance=ExtResource("1_3auks")]
rotation = 4.71239

View file

@ -1,30 +0,0 @@
[gd_scene load_steps=5 format=3 uid="uid://b2hrv0aqbui7u"]
[ext_resource type="Script" uid="uid://dxlwvwy3hj56x" path="res://scripts/projectiles/LinearProjectile.cs" id="1_3kc4s"]
[ext_resource type="Texture2D" uid="uid://dq0mul65hevtt" path="res://assets/sprites/plants/pea.tres" id="2_26q5x"]
[ext_resource type="PackedScene" uid="uid://1d33w4ubtury" path="res://scenes/particles/pea_particles.tscn" id="2_osqrk"]
[sub_resource type="CircleShape2D" id="CircleShape2D_ix1sk"]
radius = 6.0
[node name="Pea" type="Area2D"]
collision_layer = 4
collision_mask = 8
script = ExtResource("1_3kc4s")
_speed = 3.0
_damage = 10
particles = ExtResource("2_osqrk")
[node name="Sprite" type="Sprite2D" parent="."]
texture = ExtResource("2_26q5x")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("CircleShape2D_ix1sk")
[node name="Timer" type="Timer" parent="."]
wait_time = 15.0
one_shot = true
autostart = true
[connection signal="area_entered" from="." to="." method="OnAreaEntered"]
[connection signal="timeout" from="Timer" to="." method="queue_free"]

View file

@ -1,10 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://b45wmmcie6yeg"]
[ext_resource type="PackedScene" uid="uid://b2hrv0aqbui7u" path="res://scenes/projectiles/pea.tscn" id="1_6vktd"]
[node name="RepeaterProjectile" type="Node2D"]
[node name="Pea" parent="." instance=ExtResource("1_6vktd")]
[node name="Pea2" parent="." instance=ExtResource("1_6vktd")]
position = Vector2(-21, 0)

View file

@ -1,54 +0,0 @@
[gd_scene load_steps=9 format=3 uid="uid://domeukw4ucmyr"]
[ext_resource type="Script" uid="uid://dxlwvwy3hj56x" path="res://scripts/projectiles/LinearProjectile.cs" id="1_fkydi"]
[ext_resource type="Resource" uid="uid://7uj0oe656jfx" path="res://assets/effects/SnowSlow.tres" id="2_fn62x"]
[ext_resource type="Texture2D" uid="uid://dn4l67snkx5mr" path="res://assets/sprites/plants/snowpea_projectile.tres" id="2_xt8td"]
[ext_resource type="PackedScene" uid="uid://cijchi3f01q2t" path="res://scenes/particles/snow_pea_particles.tscn" id="3_t6hp0"]
[ext_resource type="Texture2D" uid="uid://dejgsyw4f2crg" path="res://assets/sprites/particles/snowpea_flake1.tres" id="5_1u1j3"]
[ext_resource type="Material" uid="uid://bflocbxbpv73j" path="res://assets/sprites/particles/snowflake.tres" id="6_pcdfd"]
[ext_resource type="Texture2D" uid="uid://deiu2jr26meq" path="res://assets/sprites/particles/snowpea_flake2.tres" id="7_xke8y"]
[sub_resource type="CircleShape2D" id="CircleShape2D_ix1sk"]
radius = 6.0
[node name="Snowpea" type="Area2D"]
collision_layer = 4
collision_mask = 8
script = ExtResource("1_fkydi")
_speed = 3.0
_damage = 10
_impactEffect = ExtResource("2_fn62x")
particles = ExtResource("3_t6hp0")
[node name="Sprite" type="Sprite2D" parent="."]
texture = ExtResource("2_xt8td")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("CircleShape2D_ix1sk")
[node name="Timer" type="Timer" parent="."]
wait_time = 15.0
one_shot = true
autostart = true
[node name="Particles1" type="GPUParticles2D" parent="."]
position = Vector2(-5, 0)
amount = 1
texture = ExtResource("5_1u1j3")
process_material = ExtResource("6_pcdfd")
[node name="Particles2" type="GPUParticles2D" parent="."]
position = Vector2(5, 0)
emitting = false
amount = 1
texture = ExtResource("7_xke8y")
process_material = ExtResource("6_pcdfd")
[node name="Timer" type="Timer" parent="Particles2"]
wait_time = 0.2
one_shot = true
autostart = true
[connection signal="area_entered" from="." to="." method="OnAreaEntered"]
[connection signal="timeout" from="Timer" to="." method="queue_free"]
[connection signal="timeout" from="Particles2/Timer" to="Particles2" method="set_emitting" binds= [true]]

View file

@ -1,444 +0,0 @@
[gd_scene load_steps=34 format=3 uid="uid://c1335fke4thpm"]
[ext_resource type="Script" uid="uid://bndu1h5kgcde8" path="res://scripts/level/RuntimeLevelData.cs" id="1_tnxdx"]
[ext_resource type="Texture2D" uid="uid://b0tb2hjum40aw" path="res://assets/sprites/background_summer.png" id="1_vafkg"]
[ext_resource type="Script" uid="uid://bso32xkw738sy" path="res://scripts/level/PoolContainer.cs" id="3_6128b"]
[ext_resource type="PackedScene" uid="uid://devn21c7luf45" path="res://scenes/level components/field_controller.tscn" id="4_ibntj"]
[ext_resource type="PackedScene" uid="uid://cfnmspei3k4p7" path="res://scenes/gui/runtime_gui.tscn" id="5_iotae"]
[ext_resource type="PackedScene" uid="uid://dpxxjfd5lv5sv" path="res://scenes/gui/choose_your_seeds.tscn" id="6_btfw3"]
[ext_resource type="PackedScene" uid="uid://fm471x22n8kr" path="res://scenes/gui/pause_menu.tscn" id="7_3ghv7"]
[ext_resource type="Script" uid="uid://cslqjdd5wq4rc" path="res://scripts/level/SunSpawner.cs" id="7_gnb05"]
[ext_resource type="PackedScene" uid="uid://bpekho7leatr5" path="res://scenes/sun.tscn" id="8_8nyym"]
[ext_resource type="Texture2D" uid="uid://bt0slphfqhhab" path="res://assets/sprites/atlases/brain.tres" id="8_h1ksq"]
[ext_resource type="Script" uid="uid://bsuw5lvnr3kol" path="res://scripts/level/zombe_spawners/ZombieSequencer.cs" id="9_8nyym"]
[ext_resource type="Texture2D" uid="uid://dvldjlg0nr355" path="res://assets/sprites/atlases/atlas1.png" id="9_jmik4"]
[ext_resource type="PackedScene" uid="uid://jm7wm08d2mi7" path="res://scenes/level components/right_boundary_marker.tscn" id="9_q2l3d"]
[ext_resource type="Script" uid="uid://nkb6i7lrkl8y" path="res://scripts/level/zombe_spawners/SurvivalZombieSpawner.cs" id="10_1kjp6"]
[ext_resource type="Script" uid="uid://btqwxelqxheh3" path="res://scripts/gui/RestartButton.cs" id="10_4il7a"]
[ext_resource type="PackedScene" uid="uid://plc2gus4ppds" path="res://scenes/level components/left_boundary_marker.tscn" id="10_5h8lk"]
[ext_resource type="Script" uid="uid://dpdpv2oyxdna7" path="res://scripts/gui/ExitButton.cs" id="11_q1dn6"]
[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="12_4il7a"]
[ext_resource type="Script" uid="uid://blpu7t8tf6277" path="res://scripts/particles/FallFloor.cs" id="13_5h8lk"]
[ext_resource type="AudioStream" uid="uid://bdx83fokp6kha" path="res://assets/audio/sfx/buttonclick.mp3" id="13_q1dn6"]
[ext_resource type="Script" uid="uid://c0ov2bq5er0gh" path="res://scripts/entities/plants/LoseZone.cs" id="16_r81g1"]
[ext_resource type="Script" uid="uid://812ldoyxd5n5" path="res://scripts/level/LoseCheckbox.cs" id="17_pb02i"]
[ext_resource type="AudioStream" uid="uid://bxshjvvtv3fmp" path="res://assets/audio/music/playlist.tres" id="23_tsy2s"]
[sub_resource type="GDScript" id="GDScript_tsy2s"]
resource_name = "time_label"
script/source = "extends Label
var time : float = 0
func _process(delta: float) -> void:
time += delta
var itime = int(time)
text = \"%02d:%02d:%02d\" % [itime / 3600 ,itime / 60 % 60,itime % 60]
"
[sub_resource type="Animation" id="Animation_r81g1"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Fade:self_modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Fade/Brainz:self_modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Fade:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("VBoxContainer:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("VBoxContainer:modulate")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
[sub_resource type="Animation" id="Animation_h1ksq"]
resource_name = "fade"
length = 4.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Fade:self_modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Fade/Brainz:self_modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 1.6, 2.2),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Fade:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0.0333333),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("VBoxContainer:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0.0333333),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("VBoxContainer:modulate")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 2.96667, 4),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_pb02i"]
_data = {
&"RESET": SubResource("Animation_r81g1"),
&"fade": SubResource("Animation_h1ksq")
}
[sub_resource type="AtlasTexture" id="AtlasTexture_tsy2s"]
atlas = ExtResource("9_jmik4")
region = Rect2(255, 221, 118, 20)
[sub_resource type="AtlasTexture" id="AtlasTexture_63iib"]
atlas = ExtResource("9_jmik4")
region = Rect2(194, 221, 61, 20)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_pb02i"]
size = Vector2(244, 399)
[sub_resource type="Curve" id="Curve_1kjp6"]
_limits = [0.0, 5.0, 0.0, 2000.0]
_data = [Vector2(0, 0), 0.0, 0.000634783, 0, 0, Vector2(19.8456, 0.0978518), 0.0, 0.0, 0, 0, Vector2(114.664, 0.12832), 0.0, 0.0, 0, 0, Vector2(213.892, 0.465625), 0.0017272, 0.00230293, 0, 0, Vector2(1499.45, 2.99414), 0.0, 0.00350837, 0, 0, Vector2(2000, 5), 0.00737658, 0.0, 0, 0]
point_count = 6
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_3ghv7"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_r81g1"]
size = Vector2(282, 399)
[node name="PrototypeSurvival" type="Node2D"]
[node name="Data" type="Node" parent="."]
script = ExtResource("1_tnxdx")
[node name="Camera2D" type="Camera2D" parent="."]
position = Vector2(481, 200)
[node name="Pools" type="Node2D" parent="." node_paths=PackedStringArray("Zombies", "Plants", "Projectiles", "Structures", "Particles")]
script = ExtResource("3_6128b")
Zombies = NodePath("Zombies")
Plants = NodePath("Plants")
Projectiles = NodePath("Projectiles")
Structures = NodePath("Structures")
Particles = NodePath("Particles")
[node name="Zombies" type="Node2D" parent="Pools"]
z_index = 3
y_sort_enabled = true
[node name="Plants" type="Node2D" parent="Pools"]
z_index = 1
y_sort_enabled = true
[node name="Projectiles" type="Node2D" parent="Pools"]
z_index = 4
y_sort_enabled = true
[node name="Structures" type="Node2D" parent="Pools"]
z_index = 2
y_sort_enabled = true
[node name="Particles" type="Node2D" parent="Pools"]
z_index = 5
[node name="Background" type="CanvasLayer" parent="."]
layer = -2
follow_viewport_enabled = true
[node name="Background" type="Sprite2D" parent="Background"]
position = Vector2(500, 200)
texture = ExtResource("1_vafkg")
metadata/_edit_lock_ = true
[node name="HUD" type="CanvasLayer" parent="."]
layer = -1
[node name="RuntimeGUI" parent="HUD" instance=ExtResource("5_iotae")]
metadata/_edit_lock_ = true
[node name="Overlay" type="CanvasLayer" parent="."]
layer = 6
follow_viewport_enabled = true
[node name="FieldController" parent="Overlay" instance=ExtResource("4_ibntj")]
[node name="GUI" type="CanvasLayer" parent="."]
layer = 10
[node name="ChooseYourSeeds" parent="GUI" instance=ExtResource("6_btfw3")]
metadata/_edit_lock_ = true
[node name="PauseMenu" parent="GUI" instance=ExtResource("7_3ghv7")]
visible = false
[node name="TimeLabel" type="Label" parent="GUI"]
anchors_preset = 3
anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -40.0
offset_top = -17.0
grow_horizontal = 0
grow_vertical = 0
script = SubResource("GDScript_tsy2s")
[node name="GameOverScreen" type="CanvasLayer" parent="."]
process_mode = 3
layer = 11
[node name="Fade" type="ColorRect" parent="GameOverScreen"]
visible = false
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0, 0, 0, 1)
[node name="Brainz" type="TextureRect" parent="GameOverScreen/Fade"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 141.0
offset_top = 146.0
offset_right = -143.0
offset_bottom = -137.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("8_h1ksq")
[node name="AnimationPlayer" type="AnimationPlayer" parent="GameOverScreen"]
libraries = {
&"": SubResource("AnimationLibrary_pb02i")
}
[node name="VBoxContainer" type="VBoxContainer" parent="GameOverScreen"]
visible = false
offset_left = 230.0
offset_top = 273.0
offset_right = 372.0
offset_bottom = 365.0
[node name="RestartButton" type="Button" parent="GameOverScreen/VBoxContainer"]
layout_mode = 2
icon = SubResource("AtlasTexture_tsy2s")
icon_alignment = 1
script = ExtResource("10_4il7a")
[node name="ExitButton" type="Button" parent="GameOverScreen/VBoxContainer"]
layout_mode = 2
icon = SubResource("AtlasTexture_63iib")
icon_alignment = 1
script = ExtResource("11_q1dn6")
[node name="TapPlayer" type="Node" parent="GameOverScreen/VBoxContainer"]
script = ExtResource("12_4il7a")
audioStream = ExtResource("13_q1dn6")
channel = "button"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="GameOverZombie" type="CanvasLayer" parent="."]
process_mode = 3
layer = 12
follow_viewport_enabled = true
[node name="LoseZone" type="Node2D" parent="GameOverZombie"]
script = ExtResource("16_r81g1")
[node name="Hitbox" type="Area2D" parent="GameOverZombie/LoseZone"]
collision_layer = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="GameOverZombie/LoseZone/Hitbox"]
position = Vector2(122, 199.5)
shape = SubResource("RectangleShape2D_pb02i")
[node name="SunSpawner" type="Node" parent="."]
script = ExtResource("7_gnb05")
SunScene = ExtResource("8_8nyym")
[node name="Timer" type="Timer" parent="SunSpawner"]
wait_time = 10.0
autostart = true
[node name="right_boundary_marker" parent="." instance=ExtResource("9_q2l3d")]
position = Vector2(755, 376)
[node name="LeftBoundaryMarker" parent="." instance=ExtResource("10_5h8lk")]
position = Vector2(305, 76)
[node name="ZombieSequencer" type="Node2D" parent="." node_paths=PackedStringArray("spawnTimer", "waveTimer")]
position = Vector2(823, 0)
script = ExtResource("9_8nyym")
spawnTimer = NodePath("Timer")
waveTimer = NodePath("../SurvivalAI/Timer")
[node name="Timer" type="Timer" parent="ZombieSequencer"]
wait_time = 2.5
autostart = true
[node name="SurvivalAI" type="Node" parent="."]
script = ExtResource("10_1kjp6")
supportPool = Array[String](["hobo", "door_zombie"])
tankPool = Array[String](["conehead", "buckethead", "hobo", "door_zombie"])
hordePool = Array[String](["basic", "conehead", "buckethead"])
velocity_curve = SubResource("Curve_1kjp6")
[node name="Timer" type="Timer" parent="SurvivalAI"]
wait_time = 10.0
[node name="Timer" type="Timer" parent="SurvivalAI/Timer"]
wait_time = 20.0
one_shot = true
autostart = true
[node name="Lines" type="Node2D" parent="."]
script = ExtResource("13_5h8lk")
[node name="Floor" type="StaticBody2D" parent="Lines"]
position = Vector2(528, 247)
collision_layer = 64
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Lines/Floor"]
shape = SubResource("WorldBoundaryShape2D_3ghv7")
[node name="Floor2" type="StaticBody2D" parent="Lines"]
position = Vector2(528, 306)
collision_layer = 64
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Lines/Floor2"]
shape = SubResource("WorldBoundaryShape2D_3ghv7")
[node name="Floor3" type="StaticBody2D" parent="Lines"]
position = Vector2(528, 367)
collision_layer = 64
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Lines/Floor3"]
shape = SubResource("WorldBoundaryShape2D_3ghv7")
[node name="Floor4" type="StaticBody2D" parent="Lines"]
position = Vector2(528, 183)
collision_layer = 64
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Lines/Floor4"]
shape = SubResource("WorldBoundaryShape2D_3ghv7")
[node name="Floor5" type="StaticBody2D" parent="Lines"]
position = Vector2(528, 132)
collision_layer = 64
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Lines/Floor5"]
shape = SubResource("WorldBoundaryShape2D_3ghv7")
[node name="Checkbox" type="Area2D" parent="." node_paths=PackedStringArray("gameOverLayer", "fadeAnimation")]
collision_mask = 24
script = ExtResource("17_pb02i")
gameOverLayer = NodePath("../GameOverZombie")
fadeAnimation = NodePath("../GameOverScreen/AnimationPlayer")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Checkbox"]
position = Vector2(141, 199.5)
shape = SubResource("RectangleShape2D_r81g1")
[node name="MusicPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource("23_tsy2s")
autoplay = true
bus = &"MusicBus"
[connection signal="pressed" from="GameOverScreen/VBoxContainer/RestartButton" to="GameOverScreen/VBoxContainer/TapPlayer" method="Play"]
[connection signal="pressed" from="GameOverScreen/VBoxContainer/ExitButton" to="GameOverScreen/VBoxContainer/TapPlayer" method="Play"]
[connection signal="timeout" from="SunSpawner/Timer" to="SunSpawner" method="Spawn"]
[connection signal="timeout" from="ZombieSequencer/Timer" to="ZombieSequencer" method="FormSquad"]
[connection signal="timeout" from="SurvivalAI/Timer" to="SurvivalAI" method="SummonWave"]
[connection signal="timeout" from="SurvivalAI/Timer/Timer" to="SurvivalAI" method="SummonWave"]
[connection signal="timeout" from="SurvivalAI/Timer/Timer" to="SurvivalAI/Timer" method="start"]

View file

@ -1,84 +0,0 @@
[gd_scene load_steps=12 format=3 uid="uid://d2ut237hxscbo"]
[ext_resource type="Texture2D" uid="uid://3m6opnieiyr2" path="res://assets/sprites/golden_bg.png" id="1_tsh0d"]
[ext_resource type="Shader" uid="uid://d0rylce8i5xtg" path="res://assets/shaders/SACRIFICE.gdshader" id="2_b8skw"]
[ext_resource type="Texture2D" uid="uid://dfmi4cgn6hmsj" path="res://assets/sprites/gold.png" id="3_1ybnd"]
[ext_resource type="AudioStream" uid="uid://lshrnpdrhh77" path="res://assets/audio/music/Смешарики - 194. Метеоритный дождь.mp3" id="4_b8skw"]
[sub_resource type="Gradient" id="Gradient_b8skw"]
colors = PackedColorArray(0, 0, 0, 0, 1, 1, 1, 1)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_1ybnd"]
seed = 4
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_yu0ma"]
width = 600
height = 400
color_ramp = SubResource("Gradient_b8skw")
noise = SubResource("FastNoiseLite_1ybnd")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_yu0ma"]
shader = ExtResource("2_b8skw")
shader_parameter/noise = SubResource("NoiseTexture2D_yu0ma")
[sub_resource type="Animation" id="Animation_1ybnd"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("TextureRect:self_modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
[sub_resource type="Animation" id="Animation_b8skw"]
resource_name = "main"
length = 10.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("TextureRect:self_modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(3, 10),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_yu0ma"]
_data = {
&"RESET": SubResource("Animation_1ybnd"),
&"main": SubResource("Animation_b8skw")
}
[node name="SACRIFICE" type="TextureRect"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("1_tsh0d")
[node name="TextureRect" type="TextureRect" parent="."]
material = SubResource("ShaderMaterial_yu0ma")
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0
texture = ExtResource("3_1ybnd")
[node name="Musicale" type="AudioStreamPlayer" parent="."]
stream = ExtResource("4_b8skw")
autoplay = true
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_yu0ma")
}
autoplay = "main"

View file

@ -1,9 +0,0 @@
[gd_scene load_steps=3 format=3 uid="uid://ccrr8drx0a7gy"]
[ext_resource type="PackedScene" uid="uid://dd3yegl1xo44m" path="res://scenes/templates/level_template.tscn" id="1_53h7t"]
[ext_resource type="Texture2D" uid="uid://b0tb2hjum40aw" path="res://assets/sprites/background_summer.png" id="2_8hj2g"]
[node name="Summer" instance=ExtResource("1_53h7t")]
[node name="Sprite2D" type="Sprite2D" parent="." index="1"]
texture = ExtResource("2_8hj2g")

View file

@ -1,182 +0,0 @@
[gd_scene load_steps=15 format=3 uid="uid://bpekho7leatr5"]
[ext_resource type="Shader" uid="uid://bk8uy5se3fo0" path="res://assets/shaders/shared_outline.gdshader" id="1_jcu1f"]
[ext_resource type="Script" uid="uid://qgeovvluk8yj" path="res://scripts/projectiles/Sun.cs" id="2_m8xcj"]
[ext_resource type="Texture2D" uid="uid://bkmphus5wjadi" path="res://assets/sprites/atlases/sun_atlas.png" id="2_phn3y"]
[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="4_t1pnj"]
[ext_resource type="AudioStream" uid="uid://c0cq80nvld37p" path="res://assets/audio/sfx/sun.mp3" id="5_i8fpp"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_u0o5k"]
shader = ExtResource("1_jcu1f")
shader_parameter/line_colour = Color(1, 0.568627, 0.4, 1)
shader_parameter/line_thickness = 3
[sub_resource type="ShaderMaterial" id="ShaderMaterial_n4y82"]
shader = ExtResource("1_jcu1f")
shader_parameter/line_colour = Color(1, 0.568627, 0.4, 1)
shader_parameter/line_thickness = 3
[sub_resource type="Animation" id="Animation_jfrge"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("CanvasGroup/DownerStar:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("CanvasGroup/UpperStar:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
[sub_resource type="Animation" id="Animation_rvj0j"]
resource_name = "main"
length = 10.0
loop_mode = 1
step = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("CanvasGroup/DownerStar:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 5, 10),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [0.0, 6.28319, 12.5664]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("CanvasGroup/UpperStar:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 10),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, -6.28319]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_juv2v"]
_data = {
&"RESET": SubResource("Animation_jfrge"),
&"main": SubResource("Animation_rvj0j")
}
[sub_resource type="Animation" id="Animation_t53pt"]
length = 0.001
tracks/0/type = "bezier"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("CanvasGroup:modulate:a")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
[sub_resource type="Animation" id="Animation_xyill"]
resource_name = "main"
loop_mode = 1
tracks/0/type = "bezier"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("CanvasGroup:modulate:a")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"handle_modes": PackedInt32Array(0, 0, 0),
"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0, 0.5, 0.986673)
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_p7c0n"]
_data = {
&"RESET": SubResource("Animation_t53pt"),
&"main": SubResource("Animation_xyill")
}
[sub_resource type="CircleShape2D" id="CircleShape2D_7hl7x"]
radius = 27.0
[node name="Sun" type="Area2D" node_paths=PackedStringArray("_deathTimer", "_rotation", "_fade")]
material = SubResource("ShaderMaterial_u0o5k")
script = ExtResource("2_m8xcj")
_deathTimer = NodePath("DeathTimer")
_rotation = NodePath("RotationAnimation")
_fade = NodePath("FadeAnimation")
[node name="CanvasGroup" type="CanvasGroup" parent="."]
material = SubResource("ShaderMaterial_n4y82")
[node name="DownerStar" type="Sprite2D" parent="CanvasGroup"]
show_behind_parent = true
texture = ExtResource("2_phn3y")
vframes = 3
[node name="UpperStar" type="Sprite2D" parent="CanvasGroup"]
show_behind_parent = true
texture = ExtResource("2_phn3y")
vframes = 3
frame = 1
[node name="Circle" type="Sprite2D" parent="CanvasGroup"]
show_behind_parent = true
texture = ExtResource("2_phn3y")
vframes = 3
frame = 2
[node name="RotationAnimation" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_juv2v")
}
autoplay = "main"
[node name="FadeAnimation" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_p7c0n")
}
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("CircleShape2D_7hl7x")
[node name="DeathTimer" type="Timer" parent="."]
wait_time = 22.0
one_shot = true
autostart = true
[node name="CursorControl" type="Control" parent="."]
layout_mode = 3
anchors_preset = 0
offset_left = -19.0
offset_top = -19.0
offset_right = 19.0
offset_bottom = 19.0
mouse_filter = 1
mouse_default_cursor_shape = 2
[node name="SunPlayer" type="Node" parent="."]
script = ExtResource("4_t1pnj")
audioStream = ExtResource("5_i8fpp")
channel = "sun"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[connection signal="timeout" from="DeathTimer" to="." method="queue_free"]

View file

@ -1,935 +0,0 @@
[gd_scene load_steps=57 format=3 uid="uid://dd3yegl1xo44m"]
[ext_resource type="AudioStream" uid="uid://b6xb6mjdecg6a" path="res://assets/audio/sfx/level/readysetplant.mp3" id="1_4gg2g"]
[ext_resource type="Script" uid="uid://bndu1h5kgcde8" path="res://scripts/level/RuntimeLevelData.cs" id="1_31ltw"]
[ext_resource type="AudioStream" uid="uid://c6hteaxu7qh7d" path="res://assets/audio/sfx/level/hugewave.mp3" id="1_i7rp7"]
[ext_resource type="AudioStream" uid="uid://dtnnbgiwq2vai" path="res://assets/audio/sfx/level/finalwave.mp3" id="1_xsaqy"]
[ext_resource type="Script" uid="uid://bso32xkw738sy" path="res://scripts/level/PoolContainer.cs" id="2_s5sti"]
[ext_resource type="PackedScene" uid="uid://devn21c7luf45" path="res://scenes/level components/field_controller.tscn" id="2_w4oj7"]
[ext_resource type="Script" uid="uid://blpu7t8tf6277" path="res://scripts/particles/FallFloor.cs" id="3_4bmqp"]
[ext_resource type="PackedScene" uid="uid://dpxxjfd5lv5sv" path="res://scenes/gui/choose_your_seeds.tscn" id="3_xy2c6"]
[ext_resource type="PackedScene" uid="uid://cfnmspei3k4p7" path="res://scenes/gui/runtime_gui.tscn" id="4_okro4"]
[ext_resource type="Texture2D" uid="uid://b0tb2hjum40aw" path="res://assets/sprites/background_summer.png" id="4_y72yf"]
[ext_resource type="PackedScene" uid="uid://fm471x22n8kr" path="res://scenes/gui/pause_menu.tscn" id="6_4bmqp"]
[ext_resource type="Texture2D" uid="uid://bt0slphfqhhab" path="res://assets/sprites/atlases/brain.tres" id="7_482ps"]
[ext_resource type="Texture2D" uid="uid://dvldjlg0nr355" path="res://assets/sprites/atlases/atlas1.png" id="8_jg5t3"]
[ext_resource type="Script" uid="uid://btqwxelqxheh3" path="res://scripts/gui/RestartButton.cs" id="9_2ybed"]
[ext_resource type="PackedScene" uid="uid://c668qnmmpli5r" path="res://scenes/gui/wave_progress.tscn" id="9_7v6ps"]
[ext_resource type="Script" uid="uid://dpdpv2oyxdna7" path="res://scripts/gui/ExitButton.cs" id="10_nvbnq"]
[ext_resource type="AudioStream" uid="uid://o5ebedp7b2mk" path="res://assets/audio/sfx/level/losemusic.mp3" id="11_8vb7v"]
[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="11_p133p"]
[ext_resource type="AudioStream" uid="uid://bdx83fokp6kha" path="res://assets/audio/sfx/buttonclick.mp3" id="12_6gkho"]
[ext_resource type="AudioStream" uid="uid://dlso0448ug80m" path="res://assets/audio/sfx/level/winmusic.mp3" id="12_y5tw7"]
[ext_resource type="Script" uid="uid://c0ov2bq5er0gh" path="res://scripts/entities/plants/LoseZone.cs" id="13_0x4ji"]
[ext_resource type="Script" uid="uid://cslqjdd5wq4rc" path="res://scripts/level/SunSpawner.cs" id="14_y72yf"]
[ext_resource type="PackedScene" uid="uid://bpekho7leatr5" path="res://scenes/sun.tscn" id="15_7v6ps"]
[ext_resource type="PackedScene" uid="uid://jm7wm08d2mi7" path="res://scenes/level components/right_boundary_marker.tscn" id="16_s7icd"]
[ext_resource type="PackedScene" uid="uid://plc2gus4ppds" path="res://scenes/level components/left_boundary_marker.tscn" id="17_8qqc4"]
[ext_resource type="AudioStream" uid="uid://xx3uqvsnwyni" path="res://assets/audio/sfx/level/lightfill.mp3" id="18_i7rp7"]
[ext_resource type="Script" uid="uid://812ldoyxd5n5" path="res://scripts/level/LoseCheckbox.cs" id="19_482ps"]
[ext_resource type="Script" uid="uid://1lkhoh43h86m" path="res://scripts/level/GameTimer.cs" id="19_s7icd"]
[ext_resource type="Script" uid="uid://84gvlkflxdhk" path="res://scripts/level/zombe_spawners/RowSpawner.cs" id="22_8qqc4"]
[ext_resource type="Script" uid="uid://puqxp2xeg1r2" path="res://scripts/level/LevelRunner.cs" id="23_8vb7v"]
[ext_resource type="Resource" uid="uid://kqqqjubwm37a" path="res://assets/rewards/DefaultReward.tres" id="24_7v6ps"]
[ext_resource type="Script" uid="uid://bc3s06ejbotma" path="res://scripts/gui/ZombieLevelPreviewer.cs" id="24_y5tw7"]
[ext_resource type="Script" uid="uid://b31mnk4enldc4" path="res://scripts/level/InitialPackedSceneSpawner.cs" id="26_i7rp7"]
[ext_resource type="AudioStream" uid="uid://bwnmx7t3hcw6h" path="res://assets/audio/sfx/level/awooga.mp3" id="32_xsaqy"]
[ext_resource type="AudioStream" uid="uid://cfybn7wn04frs" path="res://assets/audio/music/Grasswalk_Standard.mp3" id="34_tqd4v"]
[ext_resource type="AudioStream" uid="uid://get7nh1goi1c" path="res://assets/audio/music/Grasswalk_cool.mp3" id="35_4gg2g"]
[ext_resource type="Script" uid="uid://bnj5tlcpmep2o" path="res://scripts/audio/MusicTransitioner.cs" id="36_wwgye"]
[ext_resource type="PackedScene" uid="uid://djfsa0pxqeoq1" path="res://scenes/gui/cursor_canvas_layer.tscn" id="38_wwgye"]
[sub_resource type="Animation" id="Animation_vbgdr"]
resource_name = "CYS_Sequence"
length = 3.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Camera2D:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0.666667, 1.5),
"transitions": PackedFloat32Array(0.5, 1),
"update": 0,
"values": [Vector2(481, 200), Vector2(700, 200)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("GUI/ChooseYourSeeds:anchor_top")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 2, 3),
"transitions": PackedFloat32Array(1, 0.5, 1),
"update": 0,
"values": [1.0, 1.0, 0.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("GUI/ChooseYourSeeds:anchor_bottom")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 2, 3),
"transitions": PackedFloat32Array(1, 0.5, 1),
"update": 0,
"values": [2.0, 2.0, 1.0]
}
[sub_resource type="Animation" id="Animation_lrlbv"]
resource_name = "FW_Sequence"
length = 3.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("GUI/ReadySetPlant:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 3),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("GUI/ReadySetPlant:text")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": ["final_wave"]
}
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("LastWavePlayer")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"Play"
}]
}
[sub_resource type="Animation" id="Animation_pqj5f"]
resource_name = "HW_Sequence"
length = 6.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("GUI/ReadySetPlant:text")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": ["huge_wave"]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("GUI/ReadySetPlant:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 6),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("HugeWavePlayer")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"Play"
}]
}
[sub_resource type="Animation" id="Animation_8ajos"]
resource_name = "PG_Sequence"
length = 7.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("GUI/ChooseYourSeeds:anchor_top")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(0.5, 1),
"update": 0,
"values": [0.0, 1.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("GUI/ChooseYourSeeds:anchor_bottom")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(0.5, 1),
"update": 0,
"values": [1.0, 2.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Camera2D:position")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0.7, 1.5334),
"transitions": PackedFloat32Array(0.5, 1),
"update": 0,
"values": [Vector2(700, 200), Vector2(481, 200)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("GUI/ReadySetPlant:text")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(2, 2.537, 3.154),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": ["ready", "set", "plant"]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("GUI/ReadySetPlant:visible")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 2, 7),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [false, true, false]
}
tracks/5/type = "method"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Data")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(3.15333),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [2],
"method": &"SetLevelState"
}]
}
tracks/6/type = "audio"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("ReadySetPlantPlayer")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"clips": [{
"end_offset": 0.0,
"start_offset": 0.0,
"stream": ExtResource("1_4gg2g")
}],
"times": PackedFloat32Array(2)
}
tracks/6/use_blend = true
[sub_resource type="Animation" id="Animation_yw4uo"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Camera2D:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(481, 200)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("GUI/ChooseYourSeeds:anchor_top")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("GUI/ChooseYourSeeds:anchor_bottom")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [2.0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("GUI/ReadySetPlant:text")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [""]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("GUI/ReadySetPlant:visible")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_yw4uo"]
_data = {
&"CYS_Sequence": SubResource("Animation_vbgdr"),
&"FW_Sequence": SubResource("Animation_lrlbv"),
&"HW_Sequence": SubResource("Animation_pqj5f"),
&"PG_Sequence": SubResource("Animation_8ajos"),
&"RESET": SubResource("Animation_yw4uo")
}
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_482ps"]
distance = -9.0
[sub_resource type="Animation" id="Animation_r81g1"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("LooseFade:self_modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("LooseFade/Brainz:self_modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("LooseFade:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("VBoxContainer:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("VBoxContainer:modulate")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("WinFade:color")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 0.92, 0)]
}
[sub_resource type="Animation" id="Animation_h1ksq"]
resource_name = "fade"
length = 5.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("LooseFade:self_modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("LooseFade/Brainz:self_modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 1.6, 2.2),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("LooseFade:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0.0333333),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("VBoxContainer:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0.0333333),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("VBoxContainer:modulate")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 2.96667, 4),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/5/type = "audio"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("GameOverPlayer")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"clips": [{
"end_offset": 0.0,
"start_offset": 0.0,
"stream": ExtResource("11_8vb7v")
}],
"times": PackedFloat32Array(0)
}
tracks/5/use_blend = true
tracks/6/type = "method"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("VBoxContainer/RestartButton")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"grab_focus"
}]
}
[sub_resource type="Animation" id="Animation_y72yf"]
resource_name = "win"
length = 5.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("WinFade:color")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 3, 5),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Color(1, 1, 0.92, 0), Color(1, 1, 0.92, 0), Color(1, 1, 0.92, 1)]
}
tracks/1/type = "audio"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("GameOverPlayer")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"clips": [{
"end_offset": 0.0,
"start_offset": 0.0,
"stream": ExtResource("12_y5tw7")
}],
"times": PackedFloat32Array(0)
}
tracks/1/use_blend = true
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("ChannelPlayer")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(2),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"Play"
}]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_pb02i"]
_data = {
&"RESET": SubResource("Animation_r81g1"),
&"loose": SubResource("Animation_h1ksq"),
&"win": SubResource("Animation_y72yf")
}
[sub_resource type="AtlasTexture" id="AtlasTexture_y5tw7"]
atlas = ExtResource("8_jg5t3")
region = Rect2(255, 221, 118, 20)
[sub_resource type="AtlasTexture" id="AtlasTexture_i7rp7"]
atlas = ExtResource("8_jg5t3")
region = Rect2(194, 221, 61, 20)
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_vbgdr"]
normal = Vector2(1, 0)
distance = 135.0
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_yw4uo"]
normal = Vector2(1, 0)
distance = 139.0
[sub_resource type="AudioStreamPlaylist" id="AudioStreamPlaylist_wwgye"]
stream_count = 1
stream_0 = ExtResource("34_tqd4v")
[sub_resource type="AudioStreamPlaylist" id="AudioStreamPlaylist_4tlhg"]
stream_count = 1
stream_0 = ExtResource("35_4gg2g")
[sub_resource type="AudioStreamInteractive" id="AudioStreamInteractive_4tlhg"]
clip_count = 2
clip_0/name = &"Standard"
clip_0/stream = SubResource("AudioStreamPlaylist_wwgye")
clip_0/auto_advance = 0
clip_1/name = &"Cool"
clip_1/stream = SubResource("AudioStreamPlaylist_4tlhg")
clip_1/auto_advance = 0
_transitions = {
Vector2i(0, 1): {
"fade_beats": 5.0,
"fade_mode": 3,
"from_time": 0,
"to_time": 0
},
Vector2i(1, 0): {
"fade_beats": 5.0,
"fade_mode": 4,
"from_time": 0,
"to_time": 0
}
}
[node name="StandardLevel" type="Node2D"]
[node name="MainAnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_yw4uo")
}
[node name="Data" type="Node" parent="." node_paths=PackedStringArray("levelRunner", "player")]
script = ExtResource("1_31ltw")
levelRunner = NodePath("../LevelRunner")
player = NodePath("../MainAnimationPlayer")
[node name="Camera2D" type="Camera2D" parent="."]
position = Vector2(481, 200)
[node name="Pools" type="Node2D" parent="." node_paths=PackedStringArray("Zombies", "Plants", "Projectiles", "Structures", "Particles")]
script = ExtResource("2_s5sti")
Zombies = NodePath("Zombies")
Plants = NodePath("Plants")
Projectiles = NodePath("Projectiles")
Structures = NodePath("Structures")
Particles = NodePath("Particles")
[node name="Zombies" type="Node2D" parent="Pools"]
z_index = 20
z_as_relative = false
y_sort_enabled = true
[node name="Plants" type="Node2D" parent="Pools"]
z_as_relative = false
y_sort_enabled = true
[node name="Projectiles" type="Node2D" parent="Pools"]
z_index = 30
z_as_relative = false
y_sort_enabled = true
[node name="Structures" type="Node2D" parent="Pools"]
z_index = 10
z_as_relative = false
y_sort_enabled = true
[node name="Particles" type="Node2D" parent="Pools"]
z_index = 40
z_as_relative = false
[node name="Lines" type="Node2D" parent="."]
script = ExtResource("3_4bmqp")
[node name="Floor" type="StaticBody2D" parent="Lines"]
position = Vector2(528, 247)
collision_layer = 64
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Lines/Floor"]
shape = SubResource("WorldBoundaryShape2D_482ps")
[node name="Floor2" type="StaticBody2D" parent="Lines"]
position = Vector2(528, 306)
collision_layer = 64
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Lines/Floor2"]
shape = SubResource("WorldBoundaryShape2D_482ps")
[node name="Floor3" type="StaticBody2D" parent="Lines"]
position = Vector2(528, 367)
collision_layer = 64
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Lines/Floor3"]
shape = SubResource("WorldBoundaryShape2D_482ps")
[node name="Floor4" type="StaticBody2D" parent="Lines"]
position = Vector2(528, 183)
collision_layer = 64
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Lines/Floor4"]
shape = SubResource("WorldBoundaryShape2D_482ps")
[node name="Floor5" type="StaticBody2D" parent="Lines"]
position = Vector2(528, 132)
collision_layer = 64
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Lines/Floor5"]
shape = SubResource("WorldBoundaryShape2D_482ps")
[node name="Background" type="CanvasLayer" parent="."]
layer = -2
follow_viewport_enabled = true
[node name="Background" type="Sprite2D" parent="Background"]
z_index = -100
z_as_relative = false
position = Vector2(500, 200)
texture = ExtResource("4_y72yf")
metadata/_edit_lock_ = true
[node name="HUD" type="CanvasLayer" parent="."]
layer = -1
[node name="RuntimeGUI" parent="HUD" instance=ExtResource("4_okro4")]
focus_neighbor_bottom = NodePath("../../GUI/ChooseYourSeeds")
metadata/_edit_lock_ = true
[node name="Overlay" type="CanvasLayer" parent="."]
layer = 6
follow_viewport_enabled = true
[node name="FieldController" parent="Overlay" instance=ExtResource("2_w4oj7")]
[node name="RewardLayer" type="CanvasLayer" parent="."]
layer = 10
follow_viewport_enabled = true
[node name="GUI" type="CanvasLayer" parent="."]
layer = 10
[node name="ChooseYourSeeds" parent="GUI" instance=ExtResource("3_xy2c6")]
anchors_preset = -1
anchor_top = 1.0
anchor_bottom = 2.0
size_flags_horizontal = 3
size_flags_vertical = 3
focus_neighbor_top = NodePath("../../HUD/RuntimeGUI")
metadata/_edit_lock_ = true
[node name="PauseMenu" parent="GUI" instance=ExtResource("6_4bmqp")]
visible = false
[node name="WaveProgress" parent="GUI" instance=ExtResource("9_7v6ps")]
visible = false
offset_left = 443.0
offset_top = 377.0
offset_right = 443.2
offset_bottom = 377.0
[node name="ReadySetPlant" type="RichTextLabel" parent="GUI"]
visible = false
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
bbcode_enabled = true
shortcut_keys_enabled = false
horizontal_alignment = 1
vertical_alignment = 1
[node name="GameOverScreen" type="CanvasLayer" parent="."]
process_mode = 3
layer = 11
[node name="LooseFade" type="ColorRect" parent="GameOverScreen"]
visible = false
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0, 0, 0, 1)
[node name="Brainz" type="TextureRect" parent="GameOverScreen/LooseFade"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 141.0
offset_top = 125.0
offset_right = -143.0
offset_bottom = -116.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("7_482ps")
stretch_mode = 5
[node name="WinFade" type="ColorRect" parent="GameOverScreen"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
color = Color(1, 1, 0.92, 0)
[node name="AnimationPlayer" type="AnimationPlayer" parent="GameOverScreen"]
libraries = {
&"": SubResource("AnimationLibrary_pb02i")
}
[node name="VBoxContainer" type="VBoxContainer" parent="GameOverScreen"]
visible = false
offset_left = 230.0
offset_top = 273.0
offset_right = 372.0
offset_bottom = 365.0
[node name="RestartButton" type="Button" parent="GameOverScreen/VBoxContainer"]
layout_mode = 2
icon = SubResource("AtlasTexture_y5tw7")
icon_alignment = 1
script = ExtResource("9_2ybed")
[node name="ExitButton" type="Button" parent="GameOverScreen/VBoxContainer"]
layout_mode = 2
icon = SubResource("AtlasTexture_i7rp7")
icon_alignment = 1
script = ExtResource("10_nvbnq")
[node name="TapPlayer" type="Node" parent="GameOverScreen/VBoxContainer"]
script = ExtResource("11_p133p")
audioStream = ExtResource("12_6gkho")
channel = "button"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="GameOverPlayer" type="AudioStreamPlayer" parent="GameOverScreen"]
bus = &"SFXBus"
[node name="ChannelPlayer" type="Node" parent="GameOverScreen"]
script = ExtResource("11_p133p")
audioStream = ExtResource("18_i7rp7")
channel = "lightfill"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="GameOverZombie" type="CanvasLayer" parent="."]
process_mode = 3
layer = 12
follow_viewport_enabled = true
[node name="LoseZone" type="Node2D" parent="GameOverZombie"]
script = ExtResource("13_0x4ji")
[node name="Hitbox" type="Area2D" parent="GameOverZombie/LoseZone"]
collision_layer = 6
[node name="CollisionShape2D" type="CollisionShape2D" parent="GameOverZombie/LoseZone/Hitbox"]
position = Vector2(122, 199.5)
shape = SubResource("WorldBoundaryShape2D_vbgdr")
[node name="SunSpawner" type="Node" parent="."]
script = ExtResource("14_y72yf")
SunScene = ExtResource("15_7v6ps")
[node name="Timer" type="Timer" parent="SunSpawner"]
wait_time = 10.0
script = ExtResource("19_s7icd")
[node name="right_boundary_marker" parent="." instance=ExtResource("16_s7icd")]
position = Vector2(755, 376)
[node name="LeftBoundaryMarker" parent="." instance=ExtResource("17_8qqc4")]
position = Vector2(305, 76)
[node name="RowSpawner" type="Node2D" parent="." node_paths=PackedStringArray("delayTimer", "runner")]
position = Vector2(837, 76)
script = ExtResource("22_8qqc4")
delayTimer = NodePath("DelayTimer")
runner = NodePath("../LevelRunner")
[node name="DelayTimer" type="Timer" parent="RowSpawner"]
wait_time = 2.5
[node name="LevelRunner" type="Node" parent="." node_paths=PackedStringArray("rowSpawner", "waveTimer", "player", "rewardParent")]
script = ExtResource("23_8vb7v")
defaultReward = ExtResource("24_7v6ps")
rowSpawner = NodePath("../RowSpawner")
waveTimer = NodePath("WaveTimer")
approachNotificationTime = 5.0
player = NodePath("../GameOverScreen/AnimationPlayer")
rewardParent = NodePath("../RewardLayer")
firstWaveSound = ExtResource("32_xsaqy")
[node name="WaveTimer" type="Timer" parent="LevelRunner"]
one_shot = true
[node name="ZombieLevelPrevewer" type="Node2D" parent="."]
y_sort_enabled = true
position = Vector2(855, 76)
script = ExtResource("24_y5tw7")
[node name="Checkbox" type="Area2D" parent="." node_paths=PackedStringArray("gameOverLayer", "fadeAnimation")]
collision_mask = 24
script = ExtResource("19_482ps")
gameOverLayer = NodePath("../GameOverZombie")
fadeAnimation = NodePath("../GameOverScreen/AnimationPlayer")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Checkbox"]
position = Vector2(141, 199.5)
shape = SubResource("WorldBoundaryShape2D_yw4uo")
[node name="InitialSpawner" type="Node" parent="."]
script = ExtResource("26_i7rp7")
[node name="HugeWavePlayer" type="Node" parent="."]
script = ExtResource("11_p133p")
audioStream = ExtResource("1_i7rp7")
channel = "huge_wave"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="LastWavePlayer" type="Node" parent="."]
script = ExtResource("11_p133p")
audioStream = ExtResource("1_xsaqy")
channel = "fl_wave"
metadata/_custom_type_script = "uid://c36bj8u7jghc7"
[node name="MusicController" type="AudioStreamPlayer" parent="."]
stream = SubResource("AudioStreamInteractive_4tlhg")
bus = &"MusicBus"
script = ExtResource("36_wwgye")
[node name="Timer" type="Timer" parent="MusicController"]
wait_time = 30.0
one_shot = true
ignore_time_scale = true
[node name="ReadySetPlantPlayer" type="AudioStreamPlayer" parent="."]
[node name="CursorCanvasLayer" parent="." instance=ExtResource("38_wwgye")]
[connection signal="OnLevelStateChanged" from="Data" to="SunSpawner/Timer" method="OnLevelStateChanged"]
[connection signal="OnLevelStateChanged" from="Data" to="ZombieLevelPrevewer" method="OnLevelStateChanged"]
[connection signal="OnLevelStateChanged" from="Data" to="InitialSpawner" method="OnLevelStateChanged"]
[connection signal="pressed" from="GameOverScreen/VBoxContainer/RestartButton" to="GameOverScreen/VBoxContainer/TapPlayer" method="Play"]
[connection signal="pressed" from="GameOverScreen/VBoxContainer/ExitButton" to="GameOverScreen/VBoxContainer/TapPlayer" method="Play"]
[connection signal="timeout" from="SunSpawner/Timer" to="SunSpawner" method="Spawn"]
[connection signal="FinalWaveInitiated" from="LevelRunner" to="MainAnimationPlayer" method="play" binds= ["FW_Sequence"]]
[connection signal="HugeWaveApproachingCallback" from="LevelRunner" to="MusicController" method="OnHugeWaveApproaching"]
[connection signal="HugeWaveApproachingCallback" from="LevelRunner" to="MainAnimationPlayer" method="play" binds= ["HW_Sequence"]]
[connection signal="HugeWaveInitiated" from="LevelRunner" to="GUI/WaveProgress" method="OnHugeWaveApproached"]
[connection signal="ResourceChanged" from="LevelRunner" to="GUI/WaveProgress" method="SetLevelData"]
[connection signal="WaveChanged" from="LevelRunner" to="GUI/WaveProgress" method="OnWaveChanged"]
[connection signal="timeout" from="MusicController/Timer" to="MusicController" method="OnTimerTimeout"]

View file

@ -1,16 +0,0 @@
[gd_scene load_steps=4 format=3 uid="uid://3x821ng2yf57"]
[ext_resource type="Script" uid="uid://cwf2y3pxi6psc" path="res://scripts/droppable-items/DroppableItem.cs" id="1_jgexe"]
[ext_resource type="Texture2D" uid="uid://c3qw52yoseb1k" path="res://assets/sprites/money_bag.tres" id="1_wewwq"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_wewwq"]
size = Vector2(46, 50)
[node name="MoneyReward" type="Area2D"]
script = ExtResource("1_jgexe")
[node name="MoneyBag" type="Sprite2D" parent="."]
texture = ExtResource("1_wewwq")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_wewwq")

View file

@ -1,80 +0,0 @@
[gd_scene load_steps=5 format=3 uid="uid://myjhi5m0eaap"]
[ext_resource type="Script" uid="uid://gymo10tjruj2" path="res://scripts/droppable-items/DroppableSeedpacket.cs" id="1_rir1v"]
[ext_resource type="Texture2D" uid="uid://dxyf557m4mq1p" path="res://assets/sprites/gui/EmptyPlantCard.png" id="2_wupw1"]
[sub_resource type="LabelSettings" id="LabelSettings_scv3y"]
resource_local_to_scene = true
font_size = 13
font_color = Color(0, 0, 0, 1)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_2c7xr"]
size = Vector2(41, 56)
[node name="PlantReward" type="Area2D" node_paths=PackedStringArray("_cost", "_icon", "_packet")]
script = ExtResource("1_rir1v")
_cost = NodePath("Seedpacket/Cost")
_icon = NodePath("Seedpacket/PlantPreviewContainer/Preview")
_packet = NodePath("Seedpacket")
[node name="Seedpacket" type="TextureRect" parent="."]
anchors_preset = -1
anchor_right = 0.137
anchor_bottom = 0.28
offset_left = -20.5
offset_top = -28.0
offset_right = 20.5
offset_bottom = 28.0
mouse_default_cursor_shape = 2
texture = ExtResource("2_wupw1")
metadata/_edit_use_anchors_ = true
[node name="Cost" type="Label" parent="Seedpacket"]
layout_mode = 1
anchors_preset = -1
anchor_left = 0.146
anchor_top = 0.732
anchor_right = 0.854
anchor_bottom = 0.893
offset_left = 0.0279989
offset_top = 0.0159912
offset_right = -0.0279999
offset_bottom = -0.0160065
grow_horizontal = 2
grow_vertical = 2
label_settings = SubResource("LabelSettings_scv3y")
horizontal_alignment = 1
vertical_alignment = 1
text_overrun_behavior = 3
[node name="PlantPreviewContainer" type="Control" parent="Seedpacket"]
clip_contents = true
layout_mode = 1
anchor_left = -0.061
anchor_top = -0.036
anchor_right = 1.061
anchor_bottom = 0.661
offset_left = 0.00199986
offset_top = 0.0320001
offset_right = -0.0019989
offset_bottom = -0.0319977
mouse_filter = 2
[node name="Preview" type="TextureRect" parent="Seedpacket/PlantPreviewContainer"]
layout_mode = 1
anchors_preset = -1
anchor_left = 0.185
anchor_top = 0.205
anchor_right = 0.815
anchor_bottom = 1.333
offset_left = -0.0200005
offset_top = 0.00999928
offset_right = 0.0199966
offset_bottom = 0.0259933
mouse_filter = 2
mouse_default_cursor_shape = 2
expand_mode = 1
stretch_mode = 5
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_2c7xr")

View file

@ -1,28 +0,0 @@
[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://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"]
[node name="PlantTemplate" type="Node2D" node_paths=PackedStringArray("_player", "_tree")]
script = ExtResource("1_324sd")
_player = NodePath("AnimationPlayer")
_tree = NodePath("AnimationTree")
[node name="Sprite2D" type="Sprite2D" parent="."]
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")]
anim_player = NodePath("../AnimationPlayer")
script = ExtResource("2_e75pf")
entity = NodePath("..")
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="FlashController" type="Node" parent="."]
script = ExtResource("4_3uws4")
[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"]