diff --git a/NewLON.csproj b/NewLON.csproj deleted file mode 100644 index 8eebc1d..0000000 --- a/NewLON.csproj +++ /dev/null @@ -1,6 +0,0 @@ - - - net8.0 - true - - \ No newline at end of file diff --git a/NewLON.sln b/NewLON.sln deleted file mode 100644 index 0b547c7..0000000 --- a/NewLON.sln +++ /dev/null @@ -1,19 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NewLON", "NewLON.csproj", "{9FFA6489-F73F-4493-8D9C-888092D73A4D}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - ExportDebug|Any CPU = ExportDebug|Any CPU - ExportRelease|Any CPU = ExportRelease|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {9FFA6489-F73F-4493-8D9C-888092D73A4D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {9FFA6489-F73F-4493-8D9C-888092D73A4D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {9FFA6489-F73F-4493-8D9C-888092D73A4D}.ExportDebug|Any CPU.ActiveCfg = ExportDebug|Any CPU - {9FFA6489-F73F-4493-8D9C-888092D73A4D}.ExportDebug|Any CPU.Build.0 = ExportDebug|Any CPU - {9FFA6489-F73F-4493-8D9C-888092D73A4D}.ExportRelease|Any CPU.ActiveCfg = ExportRelease|Any CPU - {9FFA6489-F73F-4493-8D9C-888092D73A4D}.ExportRelease|Any CPU.Build.0 = ExportRelease|Any CPU - EndGlobalSection -EndGlobal diff --git a/addons/floatmodifiers/FlatModsInspector.cs b/addons/floatmodifiers/FlatModsInspector.cs deleted file mode 100644 index 561a01b..0000000 --- a/addons/floatmodifiers/FlatModsInspector.cs +++ /dev/null @@ -1,23 +0,0 @@ -#if TOOLS -using Godot; - -public partial class FlatModsInspector : EditorInspectorPlugin -{ - public override bool _CanHandle(GodotObject @object) - { - return true; - } - public override bool _ParseProperty(GodotObject @object, Variant.Type type, string name, PropertyHint hintType, string hintString, PropertyUsageFlags usageFlags, bool wide) - { - if (hintString == "FloatModifiers") - { - AddPropertyEditor(name, new FloatModsProperty()); - return true; - } - return false; - } - -} - - -#endif \ No newline at end of file diff --git a/addons/floatmodifiers/FlatModsInspector.cs.uid b/addons/floatmodifiers/FlatModsInspector.cs.uid deleted file mode 100644 index f325609..0000000 --- a/addons/floatmodifiers/FlatModsInspector.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://uc8igx80sr6u diff --git a/addons/floatmodifiers/FloatModifiers.cs b/addons/floatmodifiers/FloatModifiers.cs deleted file mode 100644 index 365d627..0000000 --- a/addons/floatmodifiers/FloatModifiers.cs +++ /dev/null @@ -1,60 +0,0 @@ - -using Godot; - -[GlobalClass] [Tool] -public partial class FloatModifiers : Resource -{ - [Export] private float flat_value; - [Export] private float percentage_value; - [Export] private float mult_value; - - public static FloatModifiers Instantiate(float flat = 0.0f, float per = 0.0f, float mult = 1.0f) - { - FloatModifiers mod = new() - { - flat_value = flat, - percentage_value = per, - mult_value = mult - }; - mod.ResourceLocalToScene = true; - return mod; - } - - public float GetValue() => flat_value * mult_value * (1.0f + percentage_value); - - public float GetFlat() => flat_value; - - public float GetPercentage() => percentage_value; - - public float GetMult() => mult_value; - - public void SetFlat(float value) - { - flat_value = value; - } - - public void SetPercentage(float value) - { - percentage_value = value; - } - - public void SetMult(float value) - { - mult_value = value; - } - - public void ChangeFlat(float amount) - { - flat_value += amount; - } - - public void ChangePercentage(float amount) - { - percentage_value += amount; - } - - public void ChangeMult(float amount) - { - mult_value *= amount; - } -} diff --git a/addons/floatmodifiers/FloatModifiers.cs.uid b/addons/floatmodifiers/FloatModifiers.cs.uid deleted file mode 100644 index e874efc..0000000 --- a/addons/floatmodifiers/FloatModifiers.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://c3cfnrmnnuqms diff --git a/addons/floatmodifiers/FloatModsProperty.cs b/addons/floatmodifiers/FloatModsProperty.cs deleted file mode 100644 index f0f358d..0000000 --- a/addons/floatmodifiers/FloatModsProperty.cs +++ /dev/null @@ -1,90 +0,0 @@ -#if TOOLS -using Godot; - -public partial class FloatModsProperty : EditorProperty -{ - private VBoxContainer _modsControl; - private FloatModifiers _currentValue; - private bool _updating; - - public FloatModsProperty() - { - _modsControl = GD.Load("res://addons/floatmodifiers/float_mods_property.tscn").Instantiate(); - AddChild(_modsControl); - AddFocusable(_modsControl); - - RefreshControl(); - - _modsControl.GetNode("%Flat").ValueChanged += UpdateFlat; - _modsControl.GetNode("%Percentage").ValueChanged += UpdatePercentage; - _modsControl.GetNode("%Mult").ValueChanged += UpdateMult; - } - - private void UpdateFlat(double value) - { - if (_updating) return; - - _currentValue.SetFlat((float)value); - - RefreshControl(); - EmitChanged(GetEditedProperty(), _currentValue); - } - private void UpdatePercentage(double value) - { - if (_updating) return; - - _currentValue.SetPercentage((float)value); - - RefreshControl(); - EmitChanged(GetEditedProperty(), _currentValue); - } - private void UpdateMult(double value) - { - if (_updating) return; - - _currentValue.SetMult((float)value); - - RefreshControl(); - EmitChanged(GetEditedProperty(), _currentValue); - } - - private void RefreshControl() - { - if (_currentValue == null) - { - return; - } - - _modsControl.GetNode("%Flat").SetValueNoSignal(_currentValue.GetFlat()); - _modsControl.GetNode("%Percentage").SetValueNoSignal(_currentValue.GetPercentage()); - _modsControl.GetNode("%Mult").SetValueNoSignal(_currentValue.GetMult()); - } - - - public override void _UpdateProperty() - { - // Read the current value from the property. - var newValue = GetEditedObject().Get(GetEditedProperty()).As(); - if (newValue == null) - { - newValue = new(); - newValue.ResourceLocalToScene = true; - EmitChanged(GetEditedProperty(), newValue); - } - if (newValue.ResourceLocalToScene == false) - { - newValue.ResourceLocalToScene = true; - } - if (newValue == _currentValue) - { - return; - } - - // Update the control with the new value. - _updating = true; - _currentValue = newValue; - RefreshControl(); - _updating = false; - } -} -#endif \ No newline at end of file diff --git a/addons/floatmodifiers/FloatModsProperty.cs.uid b/addons/floatmodifiers/FloatModsProperty.cs.uid deleted file mode 100644 index 3e20dd2..0000000 --- a/addons/floatmodifiers/FloatModsProperty.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dv5koj37coavh diff --git a/addons/floatmodifiers/Plugin.cs b/addons/floatmodifiers/Plugin.cs deleted file mode 100644 index 9a24081..0000000 --- a/addons/floatmodifiers/Plugin.cs +++ /dev/null @@ -1,20 +0,0 @@ -#if TOOLS -using Godot; - -[Tool] -public partial class Plugin : EditorPlugin -{ - private FlatModsInspector _plugin; - - public override void _EnterTree() - { - _plugin = new FlatModsInspector(); - AddInspectorPlugin(_plugin); - } - - public override void _ExitTree() - { - RemoveInspectorPlugin(_plugin); - } -} -#endif diff --git a/addons/floatmodifiers/Plugin.cs.uid b/addons/floatmodifiers/Plugin.cs.uid deleted file mode 100644 index cd73c61..0000000 --- a/addons/floatmodifiers/Plugin.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://fjnw4mev4eiq diff --git a/addons/floatmodifiers/float_mods_property.tscn b/addons/floatmodifiers/float_mods_property.tscn deleted file mode 100644 index c842ea7..0000000 --- a/addons/floatmodifiers/float_mods_property.tscn +++ /dev/null @@ -1,57 +0,0 @@ -[gd_scene format=3 uid="uid://d2ne6ml10xgcl"] - -[node name="FloatModsProperty" type="VBoxContainer"] -offset_right = 163.0 -offset_bottom = 104.0 - -[node name="FlatContainer" type="HBoxContainer" parent="."] -layout_mode = 2 - -[node name="Label" type="Label" parent="FlatContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "Flat" - -[node name="Flat" type="SpinBox" parent="FlatContainer"] -unique_name_in_owner = true -custom_minimum_size = Vector2(128, 0) -layout_mode = 2 -step = 0.001 -allow_greater = true -allow_lesser = true - -[node name="PercentageContainer" type="HBoxContainer" parent="."] -layout_mode = 2 - -[node name="Label" type="Label" parent="PercentageContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "%" - -[node name="Percentage" type="SpinBox" parent="PercentageContainer"] -unique_name_in_owner = true -custom_minimum_size = Vector2(128, 0) -layout_mode = 2 -max_value = 10.0 -step = 0.001 -allow_greater = true -allow_lesser = true -prefix = "+" - -[node name="MultContainer" type="HBoxContainer" parent="."] -layout_mode = 2 - -[node name="Label" type="Label" parent="MultContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "Mult" - -[node name="Mult" type="SpinBox" parent="MultContainer"] -unique_name_in_owner = true -custom_minimum_size = Vector2(128, 0) -layout_mode = 2 -step = 0.001 -value = 1.0 -allow_greater = true -allow_lesser = true -prefix = "*" diff --git a/addons/floatmodifiers/plugin.cfg b/addons/floatmodifiers/plugin.cfg deleted file mode 100644 index e434f40..0000000 --- a/addons/floatmodifiers/plugin.cfg +++ /dev/null @@ -1,7 +0,0 @@ -[plugin] - -name="FloatModifiers" -description="" -author="R34nd0" -version="1.0" -script="Plugin.cs" diff --git a/addons/pvzadventure/.gitignore b/addons/pvzadventure/.gitignore deleted file mode 100644 index 6e25fa8..0000000 --- a/addons/pvzadventure/.gitignore +++ /dev/null @@ -1 +0,0 @@ -cache/ \ No newline at end of file diff --git a/addons/pvzadventure/AdventureLevelResource.cs b/addons/pvzadventure/AdventureLevelResource.cs deleted file mode 100644 index ba5c57d..0000000 --- a/addons/pvzadventure/AdventureLevelResource.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Godot; -using Godot.Collections; -using Newlon.Resources; - -[GlobalClass] -[Tool] -public partial class AdventureLevelResource : Resource -{ - [Export] public int startSun = 50; - //[Export] public Array conditions; - [ExportGroup("Wave properties")] - [Export(PropertyHint.Range, "0,1,0.01")] public float wavePercentage; - [Export] public float standardWaveDelay; - [Export] public float initialWaveDelay; - [Export] public RewardResource reward; - [ExportGroup("Editor-edited properties")] - [ExportSubgroup("Seedpackets")] - [Export] public Array forbiddenPlants = new(); - [Export] public Array forbiddenTags = new(); - [Export] public Array prepickedPlants = new(); - [ExportSubgroup("Waves")] - [Export] public Array waves = new(); - [Export] public Array initialScenes = [.. new PackedScene[45]]; -} diff --git a/addons/pvzadventure/AdventureLevelResource.cs.uid b/addons/pvzadventure/AdventureLevelResource.cs.uid deleted file mode 100644 index 2a1a182..0000000 --- a/addons/pvzadventure/AdventureLevelResource.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bximdujbkj2n4 diff --git a/addons/pvzadventure/PvZAdventure.cs b/addons/pvzadventure/PvZAdventure.cs deleted file mode 100644 index f7a87ee..0000000 --- a/addons/pvzadventure/PvZAdventure.cs +++ /dev/null @@ -1,44 +0,0 @@ -#if TOOLS -using Godot; - -[Tool] -public partial class PvZAdventure : EditorPlugin -{ - private PackedScene panel = ResourceLoader.Load("uid://dkq82o31vr3i2"); - - private Control panelInstance; - public override void _EnterTree() - { - panelInstance = panel.Instantiate(); - EditorInterface.Singleton.GetEditorMainScreen().AddChild(panelInstance); - _MakeVisible(false); - - } - public override void _ExitTree() - { - if (panelInstance != null) - { - panelInstance.QueueFree(); - } - } - - - public override bool _HasMainScreen() - { - return true; - } - - public override void _MakeVisible(bool visible) - { - if (panelInstance != null) - { - panelInstance.Visible = visible; - } - } - - public override string _GetPluginName() - { - return "Adventure"; - } -} -#endif diff --git a/addons/pvzadventure/PvZAdventure.cs.uid b/addons/pvzadventure/PvZAdventure.cs.uid deleted file mode 100644 index e55b39a..0000000 --- a/addons/pvzadventure/PvZAdventure.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cef32inw0wu7b diff --git a/addons/pvzadventure/RowSpawn.cs b/addons/pvzadventure/RowSpawn.cs deleted file mode 100644 index 90cade3..0000000 --- a/addons/pvzadventure/RowSpawn.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Godot; -using Godot.Collections; -using Newlon.Resources; - -[Tool] -[GlobalClass] -public partial class RowSpawn : Resource -{ - [Export] public Array zombies = new(new ZombieResource[5]); -} diff --git a/addons/pvzadventure/RowSpawn.cs.uid b/addons/pvzadventure/RowSpawn.cs.uid deleted file mode 100644 index 7bba64b..0000000 --- a/addons/pvzadventure/RowSpawn.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dl12rj75tk2qi diff --git a/addons/pvzadventure/WaveData.cs b/addons/pvzadventure/WaveData.cs deleted file mode 100644 index d74b191..0000000 --- a/addons/pvzadventure/WaveData.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Godot; -using Godot.Collections; - -[GlobalClass] -[Tool] -public partial class WaveData : Resource -{ - [Export] public Array zombiesOrdered = new(); - [Export] public Array events = new(); - [Export] public float customWaveDelay = 0; - [Export] public bool isHugeWave; -} diff --git a/addons/pvzadventure/WaveData.cs.uid b/addons/pvzadventure/WaveData.cs.uid deleted file mode 100644 index f8d4b68..0000000 --- a/addons/pvzadventure/WaveData.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://7rptlb5qr3b6 diff --git a/addons/pvzadventure/WaveEvent.cs b/addons/pvzadventure/WaveEvent.cs deleted file mode 100644 index fc628b9..0000000 --- a/addons/pvzadventure/WaveEvent.cs +++ /dev/null @@ -1,5 +0,0 @@ -using Godot; - -public partial class WaveEvent : Resource -{ -} diff --git a/addons/pvzadventure/WaveEvent.cs.uid b/addons/pvzadventure/WaveEvent.cs.uid deleted file mode 100644 index 037dba1..0000000 --- a/addons/pvzadventure/WaveEvent.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cw7yc3i2lgcja diff --git a/addons/pvzadventure/ZombieRowSpawn.cs.uid b/addons/pvzadventure/ZombieRowSpawn.cs.uid deleted file mode 100644 index 1e4c35c..0000000 --- a/addons/pvzadventure/ZombieRowSpawn.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://ct730nm5jan8i diff --git a/addons/pvzadventure/icons/delete.png b/addons/pvzadventure/icons/delete.png deleted file mode 100644 index b4c6f31..0000000 Binary files a/addons/pvzadventure/icons/delete.png and /dev/null differ diff --git a/addons/pvzadventure/plugin.cfg b/addons/pvzadventure/plugin.cfg deleted file mode 100644 index 0f16885..0000000 --- a/addons/pvzadventure/plugin.cfg +++ /dev/null @@ -1,7 +0,0 @@ -[plugin] - -name="PvZAdventure" -description="" -author="R34nd0" -version="1.0" -script="PvZAdventure.cs" diff --git a/addons/pvzadventure/scenes/adventure-editor/adventure_editor.tscn b/addons/pvzadventure/scenes/adventure-editor/adventure_editor.tscn deleted file mode 100644 index 134f5b3..0000000 --- a/addons/pvzadventure/scenes/adventure-editor/adventure_editor.tscn +++ /dev/null @@ -1,92 +0,0 @@ -[gd_scene load_steps=5 format=3 uid="uid://dkq82o31vr3i2"] - -[ext_resource type="Script" uid="uid://dkgxtig5fwdgi" path="res://addons/pvzadventure/scripts/adventure-editor/AdventureEditor.cs" id="1_go5yu"] -[ext_resource type="Script" uid="uid://binuuattefn7d" path="res://addons/pvzadventure/scripts/FileButton.cs" id="2_d5hwn"] -[ext_resource type="Script" uid="uid://c6jttmpeyakoa" path="res://addons/pvzadventure/scripts/EditorsContainer.cs" id="3_5imrs"] -[ext_resource type="Script" uid="uid://b0hl4ap18wbb2" path="res://addons/pvzadventure/scripts/adventure-editor/AdventureResourceInspector.cs" id="3_d5hwn"] - -[node name="AdventureEditor" type="MarginContainer"] -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 -theme_override_constants/margin_left = 5 -theme_override_constants/margin_top = 5 -theme_override_constants/margin_right = 5 -theme_override_constants/margin_bottom = 5 -script = ExtResource("1_go5yu") - -[node name="Editor" type="VBoxContainer" parent="."] -layout_mode = 2 - -[node name="StatusBar" type="PanelContainer" parent="Editor"] -layout_mode = 2 - -[node name="HBoxContainer" type="HBoxContainer" parent="Editor/StatusBar"] -layout_mode = 2 - -[node name="FileButton" type="MenuButton" parent="Editor/StatusBar/HBoxContainer"] -layout_mode = 2 -text = "File" -switch_on_hover = true -item_count = 2 -popup/item_0/text = "New" -popup/item_0/id = 0 -popup/item_1/text = "Open" -popup/item_1/id = 1 -script = ExtResource("2_d5hwn") - -[node name="FileDialog" type="FileDialog" parent="Editor/StatusBar/HBoxContainer/FileButton"] - -[node name="PlayButton" type="Button" parent="Editor/StatusBar/HBoxContainer"] -layout_mode = 2 -text = "Play" -flat = true - -[node name="WorkArea" type="HSplitContainer" parent="Editor"] -layout_mode = 2 -size_flags_vertical = 3 - -[node name="PanelContainer" type="PanelContainer" parent="Editor/WorkArea"] -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_stretch_ratio = 3.0 -script = ExtResource("3_5imrs") - -[node name="Inspector" type="VSplitContainer" parent="Editor/WorkArea"] -layout_mode = 2 -size_flags_horizontal = 3 - -[node name="ResourceInspector" type="VBoxContainer" parent="Editor/WorkArea/Inspector" node_paths=PackedStringArray("editorContainer", "adventureEditor")] -layout_mode = 2 -size_flags_vertical = 3 -script = ExtResource("3_d5hwn") -editorContainer = NodePath("../../PanelContainer") -adventureEditor = NodePath("../../../..") - -[node name="Tree" type="Tree" parent="Editor/WorkArea/Inspector/ResourceInspector"] -custom_minimum_size = Vector2(0, 100) -layout_mode = 2 -size_flags_vertical = 3 -hide_folding = true -enable_recursive_folding = false - -[node name="ControlButtons" type="HBoxContainer" parent="Editor/WorkArea/Inspector/ResourceInspector"] -layout_mode = 2 -size_flags_vertical = 8 - -[node name="NewButton" type="Button" parent="Editor/WorkArea/Inspector/ResourceInspector/ControlButtons"] -layout_mode = 2 -text = "New" - -[connection signal="HardReloadRequested" from="." to="Editor/WorkArea/PanelContainer" method="ClearChildren"] -[connection signal="ResourceChanged" from="." to="Editor/WorkArea/Inspector/ResourceInspector" method="Refresh"] -[connection signal="pressed" from="Editor/StatusBar/HBoxContainer/PlayButton" to="." method="Play"] -[connection signal="Refreshed" from="Editor/WorkArea/Inspector/ResourceInspector" to="." method="Save"] -[connection signal="button_clicked" from="Editor/WorkArea/Inspector/ResourceInspector/Tree" to="Editor/WorkArea/Inspector/ResourceInspector" method="OnTreeButtonClicked"] -[connection signal="item_edited" from="Editor/WorkArea/Inspector/ResourceInspector/Tree" to="Editor/WorkArea/Inspector/ResourceInspector" method="OnItemEdited"] -[connection signal="item_selected" from="Editor/WorkArea/Inspector/ResourceInspector/Tree" to="Editor/WorkArea/Inspector/ResourceInspector" method="OnItemSelected"] -[connection signal="pressed" from="Editor/WorkArea/Inspector/ResourceInspector/ControlButtons/NewButton" to="Editor/WorkArea/Inspector/ResourceInspector" method="OnNewButtonPressed"] diff --git a/addons/pvzadventure/scenes/initial-editor/initial_editor.tscn b/addons/pvzadventure/scenes/initial-editor/initial_editor.tscn deleted file mode 100644 index 75a39d5..0000000 --- a/addons/pvzadventure/scenes/initial-editor/initial_editor.tscn +++ /dev/null @@ -1,153 +0,0 @@ -[gd_scene load_steps=3 format=3 uid="uid://sqessjn0m4o3"] - -[ext_resource type="PackedScene" uid="uid://djb8ynxhnmo0t" path="res://addons/pvzadventure/scenes/initial-editor/universal_grid_item.tscn" id="1_d8e2t"] -[ext_resource type="Script" uid="uid://cumeahjpjgagq" path="res://addons/pvzadventure/scripts/InitialEditor.cs" id="1_tu7vy"] - -[node name="InitialEditor" type="ScrollContainer"] -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -script = ExtResource("1_tu7vy") - -[node name="GridContainer" type="GridContainer" parent="."] -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 -columns = 9 - -[node name="GridItem" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem2" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem3" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem4" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem5" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem6" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem7" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem8" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem9" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem10" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem11" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem12" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem13" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem14" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem15" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem16" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem17" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem18" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem19" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem20" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem21" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem22" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem23" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem24" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem25" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem26" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem27" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem28" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem29" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem30" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem31" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem32" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem33" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem34" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem35" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem36" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem37" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem38" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem39" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem40" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem41" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem42" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem43" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem44" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 - -[node name="GridItem45" parent="GridContainer" instance=ExtResource("1_d8e2t")] -layout_mode = 2 diff --git a/addons/pvzadventure/scenes/initial-editor/universal_grid_item.tscn b/addons/pvzadventure/scenes/initial-editor/universal_grid_item.tscn deleted file mode 100644 index a1ccc89..0000000 --- a/addons/pvzadventure/scenes/initial-editor/universal_grid_item.tscn +++ /dev/null @@ -1,35 +0,0 @@ -[gd_scene load_steps=4 format=3 uid="uid://djb8ynxhnmo0t"] - -[ext_resource type="Script" uid="uid://b8ccbjhhus7xk" path="res://addons/pvzadventure/scripts/UNI_GridItem.cs" id="1_e5mae"] -[ext_resource type="Script" uid="uid://c3cgpwy1qaeww" path="res://addons/pvzadventure/scripts/packed_scene_preview_generator.gd" id="2_k7w8c"] - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_jbknv"] -bg_color = Color(0.18359, 0.18359, 0.18359, 1) -border_color = Color(0.140447, 0.140447, 0.140447, 1) -corner_radius_top_left = 5 -corner_radius_top_right = 5 -corner_radius_bottom_right = 5 -corner_radius_bottom_left = 5 - -[node name="GridItem" type="PanelContainer"] -clip_contents = true -custom_minimum_size = Vector2(100, 100) -anchors_preset = -1 -anchor_right = 0.172 -anchor_bottom = 0.212 -offset_right = -0.200005 -offset_bottom = 0.199997 -theme_override_styles/panel = SubResource("StyleBoxFlat_jbknv") -script = ExtResource("1_e5mae") - -[node name="Texture" type="TextureRect" parent="."] -layout_mode = 2 -expand_mode = 1 -stretch_mode = 5 -script = ExtResource("2_k7w8c") - -[node name="Viewport" type="SubViewport" parent="Texture"] -process_mode = 4 -transparent_bg = true - -[node name="Camera2D" type="Camera2D" parent="Texture/Viewport"] diff --git a/addons/pvzadventure/scenes/seedpack-editor/editor_seedpacket.tscn b/addons/pvzadventure/scenes/seedpack-editor/editor_seedpacket.tscn deleted file mode 100644 index 926cc1d..0000000 --- a/addons/pvzadventure/scenes/seedpack-editor/editor_seedpacket.tscn +++ /dev/null @@ -1,47 +0,0 @@ -[gd_scene load_steps=4 format=3 uid="uid://dwbqlfs51en62"] - -[ext_resource type="Texture2D" uid="uid://dxyf557m4mq1p" path="res://assets/sprites/gui/EmptyPlantCard.png" id="1_dmimt"] -[ext_resource type="Texture2D" uid="uid://cabpf23ndlvx0" path="res://assets/sprites/gui/Selection.tres" id="2_0vy3a"] -[ext_resource type="Script" uid="uid://bhah157u6q56b" path="res://addons/pvzadventure/scripts/seedpacket-editor/DnDSeedpacket.cs" id="3_61l76"] - -[node name="EditorSeedpacket" type="TextureButton" node_paths=PackedStringArray("preview")] -anchors_preset = -1 -anchor_right = 0.103667 -anchor_bottom = 0.21 -offset_right = -0.199997 -mouse_default_cursor_shape = 2 -texture_normal = ExtResource("1_dmimt") -texture_focused = ExtResource("2_0vy3a") -stretch_mode = 0 -script = ExtResource("3_61l76") -preview = NodePath("PlantPreviewContainer/Preview") -metadata/_edit_use_anchors_ = true - -[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 diff --git a/addons/pvzadventure/scenes/seedpack-editor/foribidden_editor_seedpacket.tscn b/addons/pvzadventure/scenes/seedpack-editor/foribidden_editor_seedpacket.tscn deleted file mode 100644 index 8258894..0000000 --- a/addons/pvzadventure/scenes/seedpack-editor/foribidden_editor_seedpacket.tscn +++ /dev/null @@ -1,59 +0,0 @@ -[gd_scene load_steps=5 format=3 uid="uid://dymyownbt688c"] - -[ext_resource type="Texture2D" uid="uid://dxyf557m4mq1p" path="res://assets/sprites/gui/EmptyPlantCard.png" id="1_x27jk"] -[ext_resource type="Texture2D" uid="uid://cabpf23ndlvx0" path="res://assets/sprites/gui/Selection.tres" id="2_m8071"] -[ext_resource type="Texture2D" uid="uid://cjkwy3u0wuax3" path="res://assets/sprites/gui/ForbiddenPacket.tres" id="3_ji8qd"] -[ext_resource type="Script" uid="uid://cy5t2lk5g75x7" path="res://addons/pvzadventure/scripts/seedpacket-editor/ForbiddableSeedpacket.cs" id="3_m8071"] - -[node name="EditorSeedpacket" type="TextureButton" node_paths=PackedStringArray("preview", "forrbidTexture")] -anchors_preset = -1 -anchor_right = 0.137 -anchor_bottom = 0.28 -offset_right = -0.199997 -mouse_default_cursor_shape = 2 -texture_normal = ExtResource("1_x27jk") -texture_focused = ExtResource("2_m8071") -stretch_mode = 0 -script = ExtResource("3_m8071") -preview = NodePath("PlantPreviewContainer/Preview") -forrbidTexture = NodePath("ForbiddenTexture") -metadata/_edit_use_anchors_ = true - -[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("3_ji8qd") diff --git a/addons/pvzadventure/scenes/seedpack-editor/seedpacket_editor.tscn b/addons/pvzadventure/scenes/seedpack-editor/seedpacket_editor.tscn deleted file mode 100644 index 2ab8ecc..0000000 --- a/addons/pvzadventure/scenes/seedpack-editor/seedpacket_editor.tscn +++ /dev/null @@ -1,155 +0,0 @@ -[gd_scene load_steps=3 format=3 uid="uid://drc0o8du38apr"] - -[ext_resource type="PackedScene" uid="uid://dwbqlfs51en62" path="res://addons/pvzadventure/scenes/seedpack-editor/editor_seedpacket.tscn" id="1_m5lsd"] -[ext_resource type="Script" uid="uid://d1ks2q0c3eu0v" path="res://addons/pvzadventure/scripts/seedpacket-editor/SeedpacketEditor.cs" id="1_vrmxn"] - -[node name="SeedpacketEditor" type="ScrollContainer"] -texture_filter = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -horizontal_scroll_mode = 0 -script = ExtResource("1_vrmxn") -metadata/_edit_lock_ = true - -[node name="VBoxContainer" type="VBoxContainer" parent="."] -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 -metadata/_edit_lock_ = true - -[node name="PrepickedPlants" type="VBoxContainer" parent="VBoxContainer"] -layout_mode = 2 -size_flags_vertical = 3 - -[node name="Label" type="Label" parent="VBoxContainer/PrepickedPlants"] -layout_mode = 2 -text = "Prepicked plants" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="PrepickedContainer" type="HBoxContainer" parent="VBoxContainer/PrepickedPlants"] -unique_name_in_owner = true -layout_mode = 2 -size_flags_vertical = 3 -alignment = 1 - -[node name="Slot1" type="AspectRatioContainer" parent="VBoxContainer/PrepickedPlants/PrepickedContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -ratio = 0.7321 - -[node name="Seedpacket" parent="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot1" instance=ExtResource("1_m5lsd")] -layout_mode = 2 - -[node name="Slot2" type="AspectRatioContainer" parent="VBoxContainer/PrepickedPlants/PrepickedContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -ratio = 0.7321 - -[node name="Seedpacket" parent="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot2" instance=ExtResource("1_m5lsd")] -layout_mode = 2 - -[node name="Slot3" type="AspectRatioContainer" parent="VBoxContainer/PrepickedPlants/PrepickedContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -ratio = 0.7321 - -[node name="Seedpacket" parent="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot3" instance=ExtResource("1_m5lsd")] -layout_mode = 2 - -[node name="Slot4" type="AspectRatioContainer" parent="VBoxContainer/PrepickedPlants/PrepickedContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -ratio = 0.7321 - -[node name="Seedpacket" parent="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot4" instance=ExtResource("1_m5lsd")] -layout_mode = 2 - -[node name="Slot5" type="AspectRatioContainer" parent="VBoxContainer/PrepickedPlants/PrepickedContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -ratio = 0.7321 - -[node name="Seedpacket" parent="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot5" instance=ExtResource("1_m5lsd")] -layout_mode = 2 - -[node name="Slot6" type="AspectRatioContainer" parent="VBoxContainer/PrepickedPlants/PrepickedContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -ratio = 0.7321 - -[node name="Seedpacket" parent="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot6" instance=ExtResource("1_m5lsd")] -layout_mode = 2 - -[node name="Slot7" type="AspectRatioContainer" parent="VBoxContainer/PrepickedPlants/PrepickedContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -ratio = 0.7321 - -[node name="Seedpacket" parent="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot7" instance=ExtResource("1_m5lsd")] -layout_mode = 2 - -[node name="Slot8" type="AspectRatioContainer" parent="VBoxContainer/PrepickedPlants/PrepickedContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -ratio = 0.7321 - -[node name="Seedpacket" parent="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot8" instance=ExtResource("1_m5lsd")] -layout_mode = 2 - -[node name="Slot9" type="AspectRatioContainer" parent="VBoxContainer/PrepickedPlants/PrepickedContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -ratio = 0.7321 - -[node name="Seedpacket" parent="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot9" instance=ExtResource("1_m5lsd")] -layout_mode = 2 - -[node name="ForbiddenTags" type="VBoxContainer" parent="VBoxContainer"] -visible = false -layout_mode = 2 -size_flags_vertical = 3 -alignment = 1 - -[node name="Label" type="Label" parent="VBoxContainer/ForbiddenTags"] -layout_mode = 2 -text = "Forbidden tags" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="TagsContainer" type="GridContainer" parent="VBoxContainer/ForbiddenTags"] -unique_name_in_owner = true -layout_mode = 2 -size_flags_vertical = 3 -columns = 9 - -[node name="ForbiddenPlants" type="VBoxContainer" parent="VBoxContainer"] -layout_mode = 2 -size_flags_vertical = 3 -alignment = 1 - -[node name="Label" type="Label" parent="VBoxContainer/ForbiddenPlants"] -layout_mode = 2 -text = "Forbidden plants" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="FPlantsContainer" type="GridContainer" parent="VBoxContainer/ForbiddenPlants"] -unique_name_in_owner = true -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 3 -columns = 9 - -[connection signal="SaveCallback" from="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot1/Seedpacket" to="." method="Save"] -[connection signal="SaveCallback" from="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot2/Seedpacket" to="." method="Save"] -[connection signal="SaveCallback" from="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot3/Seedpacket" to="." method="Save"] -[connection signal="SaveCallback" from="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot4/Seedpacket" to="." method="Save"] -[connection signal="SaveCallback" from="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot5/Seedpacket" to="." method="Save"] -[connection signal="SaveCallback" from="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot6/Seedpacket" to="." method="Save"] -[connection signal="SaveCallback" from="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot7/Seedpacket" to="." method="Save"] -[connection signal="SaveCallback" from="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot8/Seedpacket" to="." method="Save"] -[connection signal="SaveCallback" from="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot9/Seedpacket" to="." method="Save"] diff --git a/addons/pvzadventure/scenes/zombie-editor/asset_browser_button.tscn b/addons/pvzadventure/scenes/zombie-editor/asset_browser_button.tscn deleted file mode 100644 index f135cd9..0000000 --- a/addons/pvzadventure/scenes/zombie-editor/asset_browser_button.tscn +++ /dev/null @@ -1,27 +0,0 @@ -[gd_scene load_steps=3 format=3 uid="uid://iwnklc62rni8"] - -[ext_resource type="Script" uid="uid://cpedvgx23hlko" path="res://addons/pvzadventure/scripts/zombie-editor/ZE_AssetBrowserButton.cs" id="1_jbknv"] - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_jbknv"] -bg_color = Color(0.18359, 0.18359, 0.18359, 1) -border_color = Color(0.140447, 0.140447, 0.140447, 1) -corner_radius_top_left = 5 -corner_radius_top_right = 5 -corner_radius_bottom_right = 5 -corner_radius_bottom_left = 5 - -[node name="AssetBrowserButton" type="PanelContainer"] -clip_contents = true -custom_minimum_size = Vector2(100, 100) -anchors_preset = -1 -anchor_right = 0.172 -anchor_bottom = 0.25 -offset_right = -0.200005 -offset_bottom = -15.0 -theme_override_styles/panel = SubResource("StyleBoxFlat_jbknv") -script = ExtResource("1_jbknv") - -[node name="Texture" type="TextureRect" parent="."] -layout_mode = 2 -expand_mode = 1 -stretch_mode = 5 diff --git a/addons/pvzadventure/scenes/zombie-editor/ze_grid_item.tscn b/addons/pvzadventure/scenes/zombie-editor/ze_grid_item.tscn deleted file mode 100644 index ecc6455..0000000 --- a/addons/pvzadventure/scenes/zombie-editor/ze_grid_item.tscn +++ /dev/null @@ -1,27 +0,0 @@ -[gd_scene load_steps=3 format=3 uid="uid://segxys6udhyw"] - -[ext_resource type="Script" uid="uid://fof6kr0et8ng" path="res://addons/pvzadventure/scripts/zombie-editor/ZE_GridItem.cs" id="1_fwfh1"] - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_jbknv"] -bg_color = Color(0.18359, 0.18359, 0.18359, 1) -border_color = Color(0.140447, 0.140447, 0.140447, 1) -corner_radius_top_left = 5 -corner_radius_top_right = 5 -corner_radius_bottom_right = 5 -corner_radius_bottom_left = 5 - -[node name="GridItem" type="PanelContainer"] -clip_contents = true -custom_minimum_size = Vector2(100, 100) -anchors_preset = -1 -anchor_right = 0.172 -anchor_bottom = 0.25 -offset_right = -0.200005 -offset_bottom = -15.0 -theme_override_styles/panel = SubResource("StyleBoxFlat_jbknv") -script = ExtResource("1_fwfh1") - -[node name="Texture" type="TextureRect" parent="."] -layout_mode = 2 -expand_mode = 1 -stretch_mode = 5 diff --git a/addons/pvzadventure/scenes/zombie-editor/ze_row_editor.tscn b/addons/pvzadventure/scenes/zombie-editor/ze_row_editor.tscn deleted file mode 100644 index 38390c9..0000000 --- a/addons/pvzadventure/scenes/zombie-editor/ze_row_editor.tscn +++ /dev/null @@ -1,11 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://buvnw8a7pku78"] - -[ext_resource type="Script" uid="uid://q84g5imvatfl" path="res://addons/pvzadventure/scripts/zombie-editor/ZE_RowEditor.cs" id="1_wm7b4"] - -[node name="RowEditor" type="VBoxContainer"] -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -script = ExtResource("1_wm7b4") diff --git a/addons/pvzadventure/scenes/zombie-editor/zombie_editor.tscn b/addons/pvzadventure/scenes/zombie-editor/zombie_editor.tscn deleted file mode 100644 index c799abf..0000000 --- a/addons/pvzadventure/scenes/zombie-editor/zombie_editor.tscn +++ /dev/null @@ -1,136 +0,0 @@ -[gd_scene load_steps=10 format=3 uid="uid://db5ah76l43ng2"] - -[ext_resource type="Script" uid="uid://bnuno3uhya4sg" path="res://addons/pvzadventure/scripts/zombie-editor/ZE_AssetBrowser.cs" id="1_klhya"] -[ext_resource type="Script" uid="uid://bd5hl0etgvf5a" path="res://addons/pvzadventure/scripts/zombie-editor/ZombieEditor.cs" id="1_thd7y"] -[ext_resource type="Script" uid="uid://do7s5mo36c280" path="res://addons/pvzadventure/scripts/zombie-editor/ZE_GridContainer.cs" id="2_13ic4"] - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_thd7y"] -bg_color = Color(0.430693, 0.742747, 0.314214, 1) -corner_radius_top_left = 5 -corner_radius_top_right = 5 -corner_radius_bottom_right = 5 -corner_radius_bottom_left = 5 - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_a2umq"] -bg_color = Color(0.503317, 0.859941, 0.370424, 1) -corner_radius_top_left = 5 -corner_radius_top_right = 5 -corner_radius_bottom_right = 5 -corner_radius_bottom_left = 5 - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_13ic4"] -bg_color = Color(0.655235, 0.676224, 0.627655, 1) -corner_radius_top_left = 5 -corner_radius_top_right = 5 -corner_radius_bottom_right = 5 -corner_radius_bottom_left = 5 - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_h81wb"] -bg_color = Color(1, 0.617482, 0.590722, 1) -corner_radius_top_left = 5 -corner_radius_top_right = 5 -corner_radius_bottom_right = 5 -corner_radius_bottom_left = 5 - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_vak4b"] -bg_color = Color(0.655235, 0.676224, 0.627655, 1) -corner_radius_top_left = 5 -corner_radius_top_right = 5 -corner_radius_bottom_right = 5 -corner_radius_bottom_left = 5 - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_nm0oj"] -bg_color = Color(0.999983, 0.30398, 0.31271, 1) -corner_radius_top_left = 5 -corner_radius_top_right = 5 -corner_radius_bottom_right = 5 -corner_radius_bottom_left = 5 - -[node name="ZombieEditor" type="VBoxContainer" node_paths=PackedStringArray("container")] -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -script = ExtResource("1_thd7y") -container = NodePath("ZombieGrid/HBoxContainer/RowEditors") - -[node name="ZombieGrid" type="ScrollContainer" parent="."] -layout_mode = 2 -size_flags_vertical = 3 -size_flags_stretch_ratio = 3.0 -horizontal_scroll_mode = 2 -vertical_scroll_mode = 0 - -[node name="HBoxContainer" type="HBoxContainer" parent="ZombieGrid"] -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="RowEditors" type="HBoxContainer" parent="ZombieGrid/HBoxContainer"] -layout_mode = 2 -size_flags_vertical = 3 -size_flags_stretch_ratio = 3.0 -script = ExtResource("2_13ic4") - -[node name="ControlButtons" type="VBoxContainer" parent="ZombieGrid/HBoxContainer"] -layout_mode = 2 - -[node name="NewButton" type="Button" parent="ZombieGrid/HBoxContainer/ControlButtons"] -custom_minimum_size = Vector2(32, 0) -layout_mode = 2 -size_flags_vertical = 3 -theme_override_colors/font_disabled_color = Color(1, 1, 1, 1) -theme_override_colors/font_hover_pressed_color = Color(1, 1, 1, 1) -theme_override_colors/font_hover_color = Color(1, 1, 1, 1) -theme_override_colors/font_color = Color(1, 1, 1, 1) -theme_override_colors/font_focus_color = Color(1, 1, 1, 1) -theme_override_colors/font_pressed_color = Color(0, 0, 0, 1) -theme_override_font_sizes/font_size = 24 -theme_override_styles/disabled_mirrored = SubResource("StyleBoxFlat_thd7y") -theme_override_styles/disabled = SubResource("StyleBoxFlat_thd7y") -theme_override_styles/hover_pressed = SubResource("StyleBoxFlat_a2umq") -theme_override_styles/hover_mirrored = SubResource("StyleBoxFlat_a2umq") -theme_override_styles/hover = SubResource("StyleBoxFlat_thd7y") -theme_override_styles/pressed_mirrored = SubResource("StyleBoxFlat_13ic4") -theme_override_styles/pressed = SubResource("StyleBoxFlat_13ic4") -theme_override_styles/normal_mirrored = SubResource("StyleBoxFlat_thd7y") -theme_override_styles/normal = SubResource("StyleBoxFlat_thd7y") -text = "+" - -[node name="RemoveButton" type="Button" parent="ZombieGrid/HBoxContainer/ControlButtons"] -custom_minimum_size = Vector2(32, 0) -layout_mode = 2 -size_flags_vertical = 3 -theme_override_colors/font_disabled_color = Color(1, 1, 1, 1) -theme_override_colors/font_hover_pressed_color = Color(1, 1, 1, 1) -theme_override_colors/font_hover_color = Color(1, 1, 1, 1) -theme_override_colors/font_color = Color(1, 1, 1, 1) -theme_override_colors/font_focus_color = Color(1, 1, 1, 1) -theme_override_colors/font_pressed_color = Color(0, 0, 0, 1) -theme_override_font_sizes/font_size = 24 -theme_override_styles/disabled_mirrored = SubResource("StyleBoxFlat_h81wb") -theme_override_styles/disabled = SubResource("StyleBoxFlat_h81wb") -theme_override_styles/hover_pressed = SubResource("StyleBoxFlat_h81wb") -theme_override_styles/hover_mirrored = SubResource("StyleBoxFlat_h81wb") -theme_override_styles/hover = SubResource("StyleBoxFlat_h81wb") -theme_override_styles/pressed_mirrored = SubResource("StyleBoxFlat_vak4b") -theme_override_styles/pressed = SubResource("StyleBoxFlat_vak4b") -theme_override_styles/normal_mirrored = SubResource("StyleBoxFlat_nm0oj") -theme_override_styles/normal = SubResource("StyleBoxFlat_nm0oj") -text = "-" - -[node name="AssetBrowser" type="ScrollContainer" parent="."] -layout_mode = 2 -size_flags_vertical = 3 -vertical_scroll_mode = 0 - -[node name="HBoxContainer" type="HBoxContainer" parent="AssetBrowser"] -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 -script = ExtResource("1_klhya") - -[connection signal="SaveCallback" from="ZombieGrid/HBoxContainer/RowEditors" to="." method="Save"] -[connection signal="pressed" from="ZombieGrid/HBoxContainer/ControlButtons/NewButton" to="ZombieGrid/HBoxContainer/RowEditors" method="AddSpawn"] -[connection signal="pressed" from="ZombieGrid/HBoxContainer/ControlButtons/RemoveButton" to="ZombieGrid/HBoxContainer/RowEditors" method="RemoveSpawn"] diff --git a/addons/pvzadventure/scripts/BaseEditor.cs b/addons/pvzadventure/scripts/BaseEditor.cs deleted file mode 100644 index 751a183..0000000 --- a/addons/pvzadventure/scripts/BaseEditor.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Godot; - -[Tool] -public abstract partial class BaseEditor : Node -{ - public AdventureLevelResource editedResource; - [Signal] public delegate void SaveCallbackEventHandler(); - public virtual void SetEditedData(AdventureLevelResource data) - { - editedResource = data; - } - public virtual void Save() - { - EmitSignal(SignalName.SaveCallback); - } -} diff --git a/addons/pvzadventure/scripts/BaseEditor.cs.uid b/addons/pvzadventure/scripts/BaseEditor.cs.uid deleted file mode 100644 index 7effb93..0000000 --- a/addons/pvzadventure/scripts/BaseEditor.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dxtrrfg1pba4p diff --git a/addons/pvzadventure/scripts/BaseWaveEditor.cs b/addons/pvzadventure/scripts/BaseWaveEditor.cs deleted file mode 100644 index 7bfb72d..0000000 --- a/addons/pvzadventure/scripts/BaseWaveEditor.cs +++ /dev/null @@ -1,5 +0,0 @@ -public abstract partial class BaseWaveEditor : BaseEditor -{ - public WaveData editedWave; - public abstract void SetEditedWave(WaveData wave); -} diff --git a/addons/pvzadventure/scripts/BaseWaveEditor.cs.uid b/addons/pvzadventure/scripts/BaseWaveEditor.cs.uid deleted file mode 100644 index b12ecb4..0000000 --- a/addons/pvzadventure/scripts/BaseWaveEditor.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://b23csior6audk diff --git a/addons/pvzadventure/scripts/EditorsContainer.cs b/addons/pvzadventure/scripts/EditorsContainer.cs deleted file mode 100644 index a9db41c..0000000 --- a/addons/pvzadventure/scripts/EditorsContainer.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Godot; - -[Tool] -public partial class EditorsContainer : PanelContainer -{ - public void ClearChildren() - { - foreach (var child in GetChildren()) - { - child.QueueFree(); - } - } -} diff --git a/addons/pvzadventure/scripts/EditorsContainer.cs.uid b/addons/pvzadventure/scripts/EditorsContainer.cs.uid deleted file mode 100644 index 3f3ce39..0000000 --- a/addons/pvzadventure/scripts/EditorsContainer.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://c6jttmpeyakoa diff --git a/addons/pvzadventure/scripts/FileButton.cs b/addons/pvzadventure/scripts/FileButton.cs deleted file mode 100644 index 050aa05..0000000 --- a/addons/pvzadventure/scripts/FileButton.cs +++ /dev/null @@ -1,51 +0,0 @@ -using Godot; - -#if TOOLS -[Tool] -public partial class FileButton : MenuButton -{ - const int NEWFILE = 0; - const int OPENFILE = 1; - private AdventureEditor editor; - private FileDialog dialog; - private int chosenOption = -1; - public override void _Ready() - { - editor = (AdventureEditor)FindParent("AdventureEditor"); - dialog = GetNode("FileDialog"); - - GetPopup().IndexPressed += OnIndexPressed; - dialog.FileSelected += OnFileSelected; - } - - private void OnIndexPressed(long index) - { - chosenOption = (int)index; - if (index == NEWFILE) - { - editor.editedResource = new AdventureLevelResource(); - dialog.PopupCentered(); - dialog.FileMode = FileDialog.FileModeEnum.SaveFile; - } - else if (index == OPENFILE) - { - dialog.PopupCentered(); - dialog.FileMode = FileDialog.FileModeEnum.OpenFile; - } - } - private void OnFileSelected(string path) - { - editor.editedPath = path; - if (chosenOption == NEWFILE) - { - editor.Save(); - editor.HardReload(); - } - else if (chosenOption == OPENFILE) - { - editor.HardReload(); - } - } - -} -#endif \ No newline at end of file diff --git a/addons/pvzadventure/scripts/FileButton.cs.uid b/addons/pvzadventure/scripts/FileButton.cs.uid deleted file mode 100644 index ca890dd..0000000 --- a/addons/pvzadventure/scripts/FileButton.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://binuuattefn7d diff --git a/addons/pvzadventure/scripts/InitialEditor.cs b/addons/pvzadventure/scripts/InitialEditor.cs deleted file mode 100644 index 4048452..0000000 --- a/addons/pvzadventure/scripts/InitialEditor.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Godot; - -[Tool] -public partial class InitialEditor : BaseEditor -{ - public override void _Ready() - { - foreach (var child in GetChild(0).GetChildren()) - { - if (child is UNI_GridItem gridItem) - { - gridItem.ResourceChanged += OnResourceChanged; - } - } - } - public override void SetEditedData(AdventureLevelResource resource) - { - editedResource = resource; - for (int i = 0; i < GetChild(0).GetChildCount(); i++) - { - if (GetChild(0).GetChild(i) is UNI_GridItem gridItem) - { - gridItem.index = i; - if (editedResource.initialScenes[i] == null) - gridItem.SetData(""); - else - gridItem.SetData(editedResource.initialScenes[i].ResourcePath); - } - } - } - public void OnResourceChanged(string to, int index) - { - if (ResourceLoader.Exists(to)) - { - editedResource.initialScenes[index] = ResourceLoader.Load(to); - } - else - { - editedResource.initialScenes[index] = null; - } - EmitSignal(SignalName.SaveCallback); - } - -} diff --git a/addons/pvzadventure/scripts/InitialEditor.cs.uid b/addons/pvzadventure/scripts/InitialEditor.cs.uid deleted file mode 100644 index 76241f7..0000000 --- a/addons/pvzadventure/scripts/InitialEditor.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cumeahjpjgagq diff --git a/addons/pvzadventure/scripts/UNI_GridItem.cs b/addons/pvzadventure/scripts/UNI_GridItem.cs deleted file mode 100644 index 1fb2ff7..0000000 --- a/addons/pvzadventure/scripts/UNI_GridItem.cs +++ /dev/null @@ -1,46 +0,0 @@ -using Godot; - -[Tool] -public partial class UNI_GridItem : PanelContainer -{ - private string path; - public int index; - [Signal] public delegate void ResourceChangedEventHandler(string path, int index); - public void SetData(string data) - { - path = data; - UpdateContent(); - } - private void UpdateContent() - { - if (path == null || path == "") - { - GetNode("Texture").Texture = null; - return; - } - GetNode("Texture").Call("set_path", path); - } - - public override Variant _GetDragData(Vector2 atPosition) - { - return path; - } - public override bool _CanDropData(Vector2 atPosition, Variant data) - { - return data.AsGodotDictionary().ContainsKey("files") && ResourceLoader.Exists(data.AsGodotDictionary()["files"].AsStringArray()[0]); - } - public override void _DropData(Vector2 atPosition, Variant data) - { - SetData(data.AsGodotDictionary()["files"].AsStringArray()[0]); - EmitSignal(SignalName.ResourceChanged, path, index); - - } - public override void _GuiInput(InputEvent @event) - { - if (@event is InputEventMouseButton buttonEvent && buttonEvent.ButtonIndex == MouseButton.Right ) - { - SetData(null); - EmitSignal(SignalName.ResourceChanged, path, index); - } - } -} diff --git a/addons/pvzadventure/scripts/UNI_GridItem.cs.uid b/addons/pvzadventure/scripts/UNI_GridItem.cs.uid deleted file mode 100644 index 6e63976..0000000 --- a/addons/pvzadventure/scripts/UNI_GridItem.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://b8ccbjhhus7xk diff --git a/addons/pvzadventure/scripts/adventure-editor/AdventureEditor.cs b/addons/pvzadventure/scripts/adventure-editor/AdventureEditor.cs deleted file mode 100644 index 32b1ccd..0000000 --- a/addons/pvzadventure/scripts/adventure-editor/AdventureEditor.cs +++ /dev/null @@ -1,76 +0,0 @@ -using Godot; - -#if TOOLS -[Tool] -public partial class AdventureEditor : MarginContainer -{ - public AdventureLevelResource editedResource; - public string editedPath; - - [Signal] - public delegate void ResourceChangedEventHandler(AdventureLevelResource to); - [Signal] - public delegate void ReloadRequestedEventHandler(); - [Signal] - public delegate void HardReloadRequestedEventHandler(); - - public override void _Ready() - { - EditorInterface.Singleton.GetInspector().PropertyEdited += OnInspectorPropertyChanged; - EditorInterface.Singleton.GetInspector().EditedObjectChanged += OnResourceChanged; - } - - public void Reload() - { - EmitSignal(SignalName.ReloadRequested); - } - public void HardReload() - { - editedResource = ResourceLoader.Load(editedPath); - EmitSignal(SignalName.ResourceChanged, editedResource); - EmitSignal(SignalName.HardReloadRequested); - Reload(); - } - - public void Save() - { - if (editedPath.EndsWith(".tres") == false) - { - editedPath += ".tres"; - } - ResourceSaver.Save(editedResource, editedPath); - } - public void OnInspectorPropertyChanged(string property) - { - if (EditorInterface.Singleton.GetInspector().GetEditedObject() is AdventureLevelResource resource && resource.ResourcePath == editedPath) - { - HardReload(); - } - } - public void OnResourceChanged() - { - if (EditorInterface.Singleton.GetInspector().GetEditedObject() is AdventureLevelResource resource) - { - editedPath = resource.ResourcePath; - HardReload(); - } - } - public void Play() - { - if (ResourceLoader.Exists(editedPath) == false) return; - var player = new AdventurePlayer(); - var packed = new PackedScene(); - player.pathToLevel = editedPath; - packed.Pack(player); - ResourceSaver.Save(packed, "res://addons/pvzadventure/cache/player.tscn"); - EditorInterface.Singleton.PlayCustomScene("res://addons/pvzadventure/cache/player.tscn"); - } - public override void _ExitTree() - { - EditorInterface.Singleton.GetInspector().PropertyEdited -= OnInspectorPropertyChanged; - EditorInterface.Singleton.GetInspector().EditedObjectChanged -= OnResourceChanged; - } - - -} -#endif \ No newline at end of file diff --git a/addons/pvzadventure/scripts/adventure-editor/AdventureEditor.cs.uid b/addons/pvzadventure/scripts/adventure-editor/AdventureEditor.cs.uid deleted file mode 100644 index dc8c522..0000000 --- a/addons/pvzadventure/scripts/adventure-editor/AdventureEditor.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dkgxtig5fwdgi diff --git a/addons/pvzadventure/scripts/adventure-editor/AdventurePlayer.cs b/addons/pvzadventure/scripts/adventure-editor/AdventurePlayer.cs deleted file mode 100644 index fcc8ba4..0000000 --- a/addons/pvzadventure/scripts/adventure-editor/AdventurePlayer.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Godot; -using Newlon; - -[Tool] -public partial class AdventurePlayer : Node -{ - const string tilesetUID = "uid://dd3yegl1xo44m"; - [Export] public string pathToLevel; - public override void _Ready() - { - if (Engine.IsEditorHint()) return; - - CallDeferred("InitLevel"); - } - private void InitLevel() - { - LevelController.Instance.StartLevel(ResourceLoader.Load(tilesetUID), ResourceLoader.Load(pathToLevel)); - } -} diff --git a/addons/pvzadventure/scripts/adventure-editor/AdventurePlayer.cs.uid b/addons/pvzadventure/scripts/adventure-editor/AdventurePlayer.cs.uid deleted file mode 100644 index 160fa99..0000000 --- a/addons/pvzadventure/scripts/adventure-editor/AdventurePlayer.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bbkfrk07l6kev diff --git a/addons/pvzadventure/scripts/adventure-editor/AdventureResourceInspector.cs b/addons/pvzadventure/scripts/adventure-editor/AdventureResourceInspector.cs deleted file mode 100644 index 9e00a9c..0000000 --- a/addons/pvzadventure/scripts/adventure-editor/AdventureResourceInspector.cs +++ /dev/null @@ -1,189 +0,0 @@ -using Godot; -using System; -using System.Globalization; - -#if TOOLS -[Tool] -public partial class AdventureResourceInspector : Node -{ - const string LEVEL_ITEM_NAME = "Level"; - const string INITIAL_ITEM_NAME = "Initial data"; - const string ZOMBIES_ITEM_NAME = "Zombies"; - const string EVENTS_ITEM_NAME = "Events"; - const string HUGEWAVE_ITEM_NAME = "Is huge wave?"; - const string SEEDPACKETS_ITEM_NAME = "Seedpackets editor"; - private PackedScene zombieEditorScene = ResourceLoader.Load("uid://db5ah76l43ng2"); - private PackedScene initialEditorScene = ResourceLoader.Load("uid://sqessjn0m4o3"); - private PackedScene seedpacketEditorScene = ResourceLoader.Load("uid://drc0o8du38apr"); - - private Tree tree; - private AdventureLevelResource heldResource; - private Texture2D deleteTexture = ResourceLoader.Load("res://addons/pvzadventure/icons/delete.png"); - - [Signal] - public delegate void RefreshedEventHandler(); - - [Export] - public EditorsContainer editorContainer; - [Export] - public AdventureEditor adventureEditor; - - private TreeItem root; - private TreeItem initialData; - private TreeItem seedpacketData; - - public override void _Ready() - { - tree = GetNode("Tree"); - } - - public void Refresh(AdventureLevelResource resource) - { - heldResource = resource; - RefreshTree(); - } - - private void RefreshTree() - { - EmitSignal(SignalName.Refreshed); - - tree.Clear(); - root = CreateItem(LEVEL_ITEM_NAME); - - initialData = CreateItem(INITIAL_ITEM_NAME, root); - seedpacketData = CreateItem(SEEDPACKETS_ITEM_NAME, root); - - for (int i = 0; i < heldResource.waves.Count; i++) - { - var wave = CreateItem(string.Format("Wave {0}", i), root); - wave.AddButton(0, deleteTexture, tooltipText: "Removes wave. (note that number will not visibly change)"); - - CreateItem(ZOMBIES_ITEM_NAME, wave); - CreateItem(EVENTS_ITEM_NAME, wave); - CreateItem(HUGEWAVE_ITEM_NAME, TreeItem.TreeCellMode.Check, true, wave) - .SetChecked(0, heldResource.waves[i].isHugeWave); - - - var delay = tree.CreateItem(wave); - if (heldResource.waves[i].customWaveDelay > 0) - delay.SetText(0, heldResource.waves[i].customWaveDelay.ToString(new CultureInfo("en-US"))); - else - delay.SetText(0, heldResource.standardWaveDelay.ToString()); - delay.SetEditable(0, true); - } - } - - public void OnNewButtonPressed() - { - var wave = new WaveData(); - heldResource.waves.Add(wave); - RefreshTree(); - } - - public void OnItemSelected() - { - var selected = tree.GetSelected(); - - if (selected.IsEditable(0) || selected.GetText(0).Split(" ")[0] == "Wave") return; - - editorContainer.ClearChildren(); - - switch (selected.GetText(0)) - { - case LEVEL_ITEM_NAME: - EditorInterface.Singleton.EditResource(adventureEditor.editedResource); - tree.DeselectAll(); - return; - case ZOMBIES_ITEM_NAME: - var editor = zombieEditorScene.Instantiate(); - - editorContainer.AddChild(editor); - SetupWaveEditor(editor, heldResource.waves[GetWaveIndex(selected.GetParent())]); - return; - case EVENTS_ITEM_NAME: - - break; - case INITIAL_ITEM_NAME: - var initialEditor = initialEditorScene.Instantiate(); - editorContainer.AddChild(initialEditor); - SetupEditor(initialEditor); - break; - case SEEDPACKETS_ITEM_NAME: - var seedpacketEditor = seedpacketEditorScene.Instantiate(); - editorContainer.AddChild(seedpacketEditor); - SetupEditor(seedpacketEditor); - break; - - } - } - - public void OnItemEdited() - { - var selected = tree.GetEdited(); - - if (selected.GetCellMode(0) == TreeItem.TreeCellMode.Check) - { - heldResource.waves[GetWaveIndex(selected.GetParent())].isHugeWave = selected.IsChecked(0); - } - else - { - if (float.TryParse(selected.GetText(0), new CultureInfo("en-US"), out float result)) - { - heldResource.waves[GetWaveIndex(selected.GetParent())].customWaveDelay = result; - } - else - { - selected.SetText(0, "Delay"); - heldResource.waves[GetWaveIndex(selected.GetParent())].customWaveDelay = 0; - } - } - Callable.From(RefreshTree).CallDeferred(); - - } - public void OnTreeButtonClicked(TreeItem item, int column, int id, int button_index) - { - heldResource.waves.RemoveAt(GetWaveIndex(item)); - adventureEditor.HardReload(); - RefreshTree(); - } - - private int GetWaveIndex(TreeItem waveTreeItem) - { - return int.Parse(waveTreeItem.GetText(0).Split(" ")[1]); - } - private TreeItem CreateItem(string Name, TreeItem root = null) - { - if (root == null) - { - var item = tree.CreateItem(); - item.SetText(0, Name); - return item; - } - else - { - var item = tree.CreateItem(root); - item.SetText(0, Name); - return item; - } - } - private TreeItem CreateItem(string Name, TreeItem.TreeCellMode cellMode, bool editable, TreeItem root = null) - { - var item = tree.CreateItem(root); - item.SetCellMode(0, cellMode); - item.SetEditable(0, editable); - item.SetText(0, Name); - return item; - } - private void SetupEditor(BaseEditor editor) - { - editor.SetEditedData(heldResource); - editor.SaveCallback += adventureEditor.Save; - } - private void SetupWaveEditor(BaseWaveEditor editor, WaveData editedWave) - { - SetupEditor(editor); - editor.SetEditedWave(editedWave); - } -} - -#endif \ No newline at end of file diff --git a/addons/pvzadventure/scripts/adventure-editor/AdventureResourceInspector.cs.uid b/addons/pvzadventure/scripts/adventure-editor/AdventureResourceInspector.cs.uid deleted file mode 100644 index 682e547..0000000 --- a/addons/pvzadventure/scripts/adventure-editor/AdventureResourceInspector.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://b0hl4ap18wbb2 diff --git a/addons/pvzadventure/scripts/packed_scene_preview_generator.gd b/addons/pvzadventure/scripts/packed_scene_preview_generator.gd deleted file mode 100644 index 770610d..0000000 --- a/addons/pvzadventure/scripts/packed_scene_preview_generator.gd +++ /dev/null @@ -1,42 +0,0 @@ -@tool -extends TextureRect - -@onready var subview = $Viewport -@onready var camera = $Viewport/Camera2D -var scene : Node - -func set_path(path): - if scene: - scene.queue_free() - if ResourceLoader.exists(path) == false: - return - var packed_scene : PackedScene = load(path) - render_scene(path, packed_scene) - - -func render_scene(path: String,packed : PackedScene): - scene = packed.instantiate() - subview.add_child(scene) - - var bb = get_bounding_box(scene) - subview.size = Vector2(max(bb.size.x,bb.size.y),max(bb.size.x,bb.size.y)) - - camera.position = bb.position * Vector2(0.5,0.5) - - var vtexture : ViewportTexture = subview.get_texture() - texture = vtexture - - -func get_bounding_box(root: Node2D) -> Rect2: - var rect := Rect2(); - var children := root.get_children(); - while children: - var child = children.pop_back(); - children.append_array(child.get_children()); - - if child.has_method('get_rect') and child.has_method('to_global'): - var child_rect := child.get_rect() as Rect2; - child_rect.position = child.to_global(child_rect.position); - rect = rect.merge(child_rect); - - return rect; diff --git a/addons/pvzadventure/scripts/packed_scene_preview_generator.gd.uid b/addons/pvzadventure/scripts/packed_scene_preview_generator.gd.uid deleted file mode 100644 index 8db1b43..0000000 --- a/addons/pvzadventure/scripts/packed_scene_preview_generator.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://c3cgpwy1qaeww diff --git a/addons/pvzadventure/scripts/seedpacket-editor/DnDSeedpacket.cs b/addons/pvzadventure/scripts/seedpacket-editor/DnDSeedpacket.cs deleted file mode 100644 index 09d8c01..0000000 --- a/addons/pvzadventure/scripts/seedpacket-editor/DnDSeedpacket.cs +++ /dev/null @@ -1,51 +0,0 @@ -using Godot; -using Newlon.Resources; - -[Tool] -public partial class DnDSeedpacket : TextureButton -{ - [Signal] public delegate void SaveCallbackEventHandler(); - [Export] private TextureRect preview; - public PlantResource HeldResource; - - public override bool _CanDropData(Vector2 atPosition, Variant data) - { - if (data.VariantType == Variant.Type.Dictionary) - { - if ((string)data.AsGodotDictionary()["type"] == "files") - { - return ResourceLoader.Load(data.AsGodotDictionary()["files"].AsGodotArray()[0]) is PlantResource; - } - } - return false; - } - - public override void _DropData(Vector2 atPosition, Variant data) - { - HeldResource = ResourceLoader.Load(data.AsGodotDictionary()["files"].AsGodotArray()[0]) as PlantResource; - Update(); - } - public override void _Pressed() - { - HeldResource = null; - Update(); - } - - private void Update() - { - RefreshTexture(); - EmitSignal(SignalName.SaveCallback); - } - public void RefreshTexture() - { - if (HeldResource != null) - { - preview.Texture = HeldResource.Preview; - } - else - { - preview.Texture = null; - } - } - -} diff --git a/addons/pvzadventure/scripts/seedpacket-editor/DnDSeedpacket.cs.uid b/addons/pvzadventure/scripts/seedpacket-editor/DnDSeedpacket.cs.uid deleted file mode 100644 index 0485078..0000000 --- a/addons/pvzadventure/scripts/seedpacket-editor/DnDSeedpacket.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bhah157u6q56b diff --git a/addons/pvzadventure/scripts/seedpacket-editor/ForbiddableSeedpacket.cs b/addons/pvzadventure/scripts/seedpacket-editor/ForbiddableSeedpacket.cs deleted file mode 100644 index 5d2c9e0..0000000 --- a/addons/pvzadventure/scripts/seedpacket-editor/ForbiddableSeedpacket.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Godot; -using Newlon.Resources; - -[Tool] -public partial class ForbiddableSeedpacket : TextureButton -{ - [Signal] public delegate void SaveCallbackEventHandler(); - [Export] private TextureRect preview; - [Export] private TextureRect forrbidTexture; - public PlantResource HeldResource; - public bool forbidden = false; - public override void _Pressed() - { - forbidden = !forbidden; - Update(); - } - - private void Update() - { - RefreshTexture(); - EmitSignal(SignalName.SaveCallback); - } - public void RefreshTexture() - { - preview.Texture = HeldResource.Preview; - forrbidTexture.Visible = forbidden; - } -} diff --git a/addons/pvzadventure/scripts/seedpacket-editor/ForbiddableSeedpacket.cs.uid b/addons/pvzadventure/scripts/seedpacket-editor/ForbiddableSeedpacket.cs.uid deleted file mode 100644 index 957fc62..0000000 --- a/addons/pvzadventure/scripts/seedpacket-editor/ForbiddableSeedpacket.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cy5t2lk5g75x7 diff --git a/addons/pvzadventure/scripts/seedpacket-editor/SeedpacketEditor.cs b/addons/pvzadventure/scripts/seedpacket-editor/SeedpacketEditor.cs deleted file mode 100644 index 1265a70..0000000 --- a/addons/pvzadventure/scripts/seedpacket-editor/SeedpacketEditor.cs +++ /dev/null @@ -1,101 +0,0 @@ -using System.Collections.Generic; -using Godot; -using Godot.Collections; -using Newlon.Components.GUI; -using Newlon.Resources; - -[Tool] -public partial class SeedpacketEditor : BaseEditor -{ - private const string PLANTS_DIRECTORY = "res://assets/plants/"; - public override void SetEditedData(AdventureLevelResource data) - { - base.SetEditedData(data); - SetupPrepickedPlants(); - SetupForbiddablePlants(); - } - - public override void Save() - { - CalculatePrepickedPlants(); - CalculateForbiddenPlants(); - base.Save(); - } - private void SetupPrepickedPlants() - { - for (int i = 0; i < editedResource.prepickedPlants.Count; i++) - { - if (GetNode("%PrepickedContainer").GetChild(i).GetNode("Seedpacket") is DnDSeedpacket packet) - { - packet.HeldResource = TryGetPlant(editedResource.prepickedPlants[i]); - packet.RefreshTexture(); - } - } - } - private void SetupForbiddablePlants() - { - var plants = GetPlants(); - var packed = ResourceLoader.Load("uid://dymyownbt688c"); - for (int i = 0; i < plants.Count; i++) - { - var seedpacket = packed.Instantiate(); - seedpacket.HeldResource = plants[i]; - seedpacket.forbidden = editedResource.forbiddenPlants.Contains(plants[i].GetInternalID()); - seedpacket.RefreshTexture(); - seedpacket.SaveCallback += Save; - - GetNode("%FPlantsContainer").AddChild(seedpacket); - } - } - private void CalculatePrepickedPlants() - { - Array prepicked = new(); - foreach (var child in GetNode("%PrepickedContainer").GetChildren()) - { - if (child.GetNode("Seedpacket") is DnDSeedpacket packet && packet.HeldResource != null) - { - prepicked.Add(packet.HeldResource.GetInternalID()); - } - } - editedResource.prepickedPlants = prepicked; - } - private void CalculateForbiddenPlants() - { - Array forbidden = new(); - - foreach (var child in GetNode("%FPlantsContainer").GetChildren()) - { - if (child is ForbiddableSeedpacket packet && packet.forbidden) - { - forbidden.Add(packet.HeldResource.GetInternalID()); - } - } - - editedResource.forbiddenPlants = forbidden; - } - private PlantResource TryGetPlant(string plantName) - { - foreach (var file in ResourceLoader.ListDirectory(PLANTS_DIRECTORY)) - { - if (plantName != file.TrimSuffix(".tres").ToLower()) continue; - return ResourceLoader.Load(PLANTS_DIRECTORY + file); - } - return null; - } - private List GetPlants() - { - var result = new List(); - - foreach (var file in ResourceLoader.ListDirectory(PLANTS_DIRECTORY)) - { - result.Add(ResourceLoader.Load(PLANTS_DIRECTORY + file)); - } - result.Sort((a, b) => - { - return a.Order - b.Order; - }); - - return result; - } - -} diff --git a/addons/pvzadventure/scripts/seedpacket-editor/SeedpacketEditor.cs.uid b/addons/pvzadventure/scripts/seedpacket-editor/SeedpacketEditor.cs.uid deleted file mode 100644 index 63f09ec..0000000 --- a/addons/pvzadventure/scripts/seedpacket-editor/SeedpacketEditor.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://d1ks2q0c3eu0v diff --git a/addons/pvzadventure/scripts/zombie-editor/ZE_AssetBrowser.cs b/addons/pvzadventure/scripts/zombie-editor/ZE_AssetBrowser.cs deleted file mode 100644 index 3b69e1d..0000000 --- a/addons/pvzadventure/scripts/zombie-editor/ZE_AssetBrowser.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Godot; -using Newlon.Resources; - - -[Tool] -public partial class ZE_AssetBrowser : HBoxContainer -{ - const string ZOMBIE_PATH = "res://assets/zombies/"; - private PackedScene scene = ResourceLoader.Load("uid://iwnklc62rni8"); - public override void _Ready() - { - foreach (var file in ResourceLoader.ListDirectory(ZOMBIE_PATH)) - { - var data = ResourceLoader.Load(ZOMBIE_PATH + file); - var button = scene.Instantiate(); - button.SetData(data); - AddChild(button); - } - } -} diff --git a/addons/pvzadventure/scripts/zombie-editor/ZE_AssetBrowser.cs.uid b/addons/pvzadventure/scripts/zombie-editor/ZE_AssetBrowser.cs.uid deleted file mode 100644 index 1df9fc5..0000000 --- a/addons/pvzadventure/scripts/zombie-editor/ZE_AssetBrowser.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bnuno3uhya4sg diff --git a/addons/pvzadventure/scripts/zombie-editor/ZE_AssetBrowserButton.cs b/addons/pvzadventure/scripts/zombie-editor/ZE_AssetBrowserButton.cs deleted file mode 100644 index 0405c3e..0000000 --- a/addons/pvzadventure/scripts/zombie-editor/ZE_AssetBrowserButton.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Godot; -using Newlon.Resources; - - -[Tool] -public partial class ZE_AssetBrowserButton : PanelContainer -{ - private ZombieResource resource; - public void SetData(ZombieResource data) - { - resource = data; - UpdateContent(); - } - private void UpdateContent() - { - GetNode("Texture").Texture = resource.Preview; - } - - public override Variant _GetDragData(Vector2 atPosition) - { - return resource; - } - -} diff --git a/addons/pvzadventure/scripts/zombie-editor/ZE_AssetBrowserButton.cs.uid b/addons/pvzadventure/scripts/zombie-editor/ZE_AssetBrowserButton.cs.uid deleted file mode 100644 index 06a60b9..0000000 --- a/addons/pvzadventure/scripts/zombie-editor/ZE_AssetBrowserButton.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cpedvgx23hlko diff --git a/addons/pvzadventure/scripts/zombie-editor/ZE_GridContainer.cs b/addons/pvzadventure/scripts/zombie-editor/ZE_GridContainer.cs deleted file mode 100644 index c4771c5..0000000 --- a/addons/pvzadventure/scripts/zombie-editor/ZE_GridContainer.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Godot; - -[Tool] -public partial class ZE_GridContainer : Control -{ - private PackedScene rowEditorScene = ResourceLoader.Load("uid://buvnw8a7pku78"); - private WaveData waveData; - [Signal] public delegate void SaveCallbackEventHandler(); - public void SetData(WaveData data) - { - waveData = data; - foreach (var child in GetChildren()) - { - child.QueueFree(); - } - foreach (var spawn in waveData.zombiesOrdered) - { - InitEditor(spawn); - } - } - public void AddSpawn() - { - var spawn = new RowSpawn(); - waveData.zombiesOrdered.Add(spawn); - InitEditor(spawn); - } - public void RemoveSpawn() - { - var editor = GetChild(GetChildCount() - 1); - waveData.zombiesOrdered.Remove(editor.editedSpawn); - editor.QueueFree(); - } - private void InitEditor(RowSpawn spawn) - { - var editor = rowEditorScene.Instantiate(); - editor.editedSpawn = spawn; - editor.SaveCallback += Save; - AddChild(editor); - } - private void Save() - { - EmitSignal(SignalName.SaveCallback); - } -} diff --git a/addons/pvzadventure/scripts/zombie-editor/ZE_GridContainer.cs.uid b/addons/pvzadventure/scripts/zombie-editor/ZE_GridContainer.cs.uid deleted file mode 100644 index 38c7f93..0000000 --- a/addons/pvzadventure/scripts/zombie-editor/ZE_GridContainer.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://do7s5mo36c280 diff --git a/addons/pvzadventure/scripts/zombie-editor/ZE_GridItem.cs b/addons/pvzadventure/scripts/zombie-editor/ZE_GridItem.cs deleted file mode 100644 index 26fbc95..0000000 --- a/addons/pvzadventure/scripts/zombie-editor/ZE_GridItem.cs +++ /dev/null @@ -1,48 +0,0 @@ -using Godot; -using Newlon.Resources; - - -[Tool] -public partial class ZE_GridItem : Control -{ - private ZombieResource resource; - public int index; - [Signal] public delegate void ResourceChangedEventHandler(ZombieResource resource, int index); - public void SetData(ZombieResource data) - { - resource = data; - UpdateContent(); - } - private void UpdateContent() - { - if (resource == null) - { - GetNode("Texture").Texture = null; - return; - } - GetNode("Texture").Texture = resource.Preview; - } - - public override Variant _GetDragData(Vector2 atPosition) - { - return resource; - } - public override bool _CanDropData(Vector2 atPosition, Variant data) - { - return data.AsGodotObject() is ZombieResource; - } - public override void _DropData(Vector2 atPosition, Variant data) - { - SetData((ZombieResource)data.AsGodotObject()); - EmitSignal(SignalName.ResourceChanged, resource, index); - } - public override void _GuiInput(InputEvent @event) - { - if (@event is InputEventMouseButton buttonEvent && buttonEvent.ButtonIndex == MouseButton.Right ) - { - SetData(null); - EmitSignal(SignalName.ResourceChanged, resource, index); - } - } - -} diff --git a/addons/pvzadventure/scripts/zombie-editor/ZE_GridItem.cs.uid b/addons/pvzadventure/scripts/zombie-editor/ZE_GridItem.cs.uid deleted file mode 100644 index 997bc43..0000000 --- a/addons/pvzadventure/scripts/zombie-editor/ZE_GridItem.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://fof6kr0et8ng diff --git a/addons/pvzadventure/scripts/zombie-editor/ZE_RowEditor.cs b/addons/pvzadventure/scripts/zombie-editor/ZE_RowEditor.cs deleted file mode 100644 index 43c7b80..0000000 --- a/addons/pvzadventure/scripts/zombie-editor/ZE_RowEditor.cs +++ /dev/null @@ -1,29 +0,0 @@ -using Godot; -using Newlon.Resources; - - -[Tool] -public partial class ZE_RowEditor : VBoxContainer -{ - private PackedScene buttonScene = ResourceLoader.Load("uid://segxys6udhyw"); - [Signal] public delegate void SaveCallbackEventHandler(); - public RowSpawn editedSpawn; - public override void _Ready() - { - for (int i = 0; i < editedSpawn.zombies.Count; i++) - { - var button = buttonScene.Instantiate(); - AddChild(button); - button.index = i; - if (editedSpawn.zombies[i] != null) - button.SetData(editedSpawn.zombies[i]); - button.ResourceChanged += OnResourceChanged; - } - } - - public void OnResourceChanged(ZombieResource resource, int index) - { - editedSpawn.zombies[index] = resource; - EmitSignal(SignalName.SaveCallback); - } -} diff --git a/addons/pvzadventure/scripts/zombie-editor/ZE_RowEditor.cs.uid b/addons/pvzadventure/scripts/zombie-editor/ZE_RowEditor.cs.uid deleted file mode 100644 index 7b05cf6..0000000 --- a/addons/pvzadventure/scripts/zombie-editor/ZE_RowEditor.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://q84g5imvatfl diff --git a/addons/pvzadventure/scripts/zombie-editor/ZombieEditor.cs b/addons/pvzadventure/scripts/zombie-editor/ZombieEditor.cs deleted file mode 100644 index 2b78024..0000000 --- a/addons/pvzadventure/scripts/zombie-editor/ZombieEditor.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Godot; - - -[Tool] -public partial class ZombieEditor : BaseWaveEditor -{ - [Export] private ZE_GridContainer container; - - public override void SetEditedWave(WaveData data) - { - editedWave = data; - container.SetData(editedWave); - } -} diff --git a/addons/pvzadventure/scripts/zombie-editor/ZombieEditor.cs.uid b/addons/pvzadventure/scripts/zombie-editor/ZombieEditor.cs.uid deleted file mode 100644 index 53c2d71..0000000 --- a/addons/pvzadventure/scripts/zombie-editor/ZombieEditor.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bd5hl0etgvf5a diff --git a/assets/3d/main_menu_mocup.blend b/assets/3d/main_menu_mocup.blend deleted file mode 100644 index 6fd11ae..0000000 Binary files a/assets/3d/main_menu_mocup.blend and /dev/null differ diff --git a/assets/GenericFlashMaterial.tres b/assets/GenericFlashMaterial.tres deleted file mode 100644 index 3cd7eb3..0000000 --- a/assets/GenericFlashMaterial.tres +++ /dev/null @@ -1,11 +0,0 @@ -[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://cn7ac4meka1hc"] - -[ext_resource type="Shader" uid="uid://cgc7spjkhsx7c" path="res://assets/shaders/generic_flash.gdshader" id="1_38cc4"] - -[resource] -resource_local_to_scene = true -shader = ExtResource("1_38cc4") -shader_parameter/FLASH_COLOR = Color(0.78, 0.78, 0.78, 0.501961) -shader_parameter/HIGHLIGHT_COLOR = Color(0.69, 0, 0, 0.282353) -shader_parameter/selected = false -shader_parameter/blend = 0.0 diff --git a/assets/ZombieMaterial.tres b/assets/ZombieMaterial.tres deleted file mode 100644 index 341585e..0000000 --- a/assets/ZombieMaterial.tres +++ /dev/null @@ -1,11 +0,0 @@ -[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://jr0vpg030jqv"] - -[ext_resource type="Shader" uid="uid://btf4xhu31ln6n" path="res://assets/shaders/canvas_group_flash.gdshader" id="1_fsu5r"] - -[resource] -resource_local_to_scene = true -shader = ExtResource("1_fsu5r") -shader_parameter/FLASH_COLOR = Color(0.78, 0.78, 0.78, 0.501961) -shader_parameter/HIGHLIGHT_COLOR = Color(0.69, 0, 0, 0.282353) -shader_parameter/blend = 0.0 -shader_parameter/selected = false diff --git a/assets/animations/zombies/basic.res b/assets/animations/zombies/basic.res index e02f886..80ec481 100644 Binary files a/assets/animations/zombies/basic.res and b/assets/animations/zombies/basic.res differ diff --git a/assets/animations/zombies/basic_zombie_anim.res b/assets/animations/zombies/basic_zombie_anim.res index 6ea7db3..7911eac 100644 Binary files a/assets/animations/zombies/basic_zombie_anim.res and b/assets/animations/zombies/basic_zombie_anim.res differ diff --git a/assets/animations/zombies/polevaulter.res b/assets/animations/zombies/polevaulter.res new file mode 100644 index 0000000..e2cbcf8 Binary files /dev/null and b/assets/animations/zombies/polevaulter.res differ diff --git a/assets/animations/zombies/polevaulter_without.res b/assets/animations/zombies/polevaulter_without.res new file mode 100644 index 0000000..2b7e8e8 Binary files /dev/null and b/assets/animations/zombies/polevaulter_without.res differ diff --git a/assets/animations/zombies/screendoor.res b/assets/animations/zombies/screendoor.res new file mode 100644 index 0000000..436413c Binary files /dev/null and b/assets/animations/zombies/screendoor.res differ diff --git a/assets/effects/GarlicEffect.tres b/assets/effects/GarlicEffect.tres deleted file mode 100644 index 7ef6399..0000000 --- a/assets/effects/GarlicEffect.tres +++ /dev/null @@ -1,9 +0,0 @@ -[gd_resource type="Resource" script_class="RandomRedirectEffect" load_steps=2 format=3 uid="uid://dsg1vjx76ifgu"] - -[ext_resource type="Script" uid="uid://bb6lv1djnqjaw" path="res://scripts/systems/effects/RandomRedirectEffect.cs" id="1_rfumy"] - -[resource] -script = ExtResource("1_rfumy") -tilesWalked = 0.2 -Duration = 3.0 -Slot = "garlic" diff --git a/assets/effects/NerdusEffect.tres b/assets/effects/NerdusEffect.tres deleted file mode 100644 index 2eda568..0000000 --- a/assets/effects/NerdusEffect.tres +++ /dev/null @@ -1,9 +0,0 @@ -[gd_resource type="Resource" load_steps=2 format=3 uid="uid://dme4nvp28otq6"] - -[ext_resource type="Script" uid="uid://bb6lv1djnqjaw" path="res://scripts/systems/effects/RandomRedirectEffect.cs" id="1_bd12u"] - -[resource] -script = ExtResource("1_bd12u") -tilesWalked = 0.2 -Duration = 0.25 -Slot = "garlic" diff --git a/assets/effects/SnowSlow.tres b/assets/effects/SnowSlow.tres deleted file mode 100644 index cf3daaf..0000000 --- a/assets/effects/SnowSlow.tres +++ /dev/null @@ -1,10 +0,0 @@ -[gd_resource type="Resource" load_steps=2 format=3 uid="uid://7uj0oe656jfx"] - -[ext_resource type="Script" uid="uid://dyc7fc5bfkdii" path="res://scripts/systems/effects/SlownessEffect.cs" id="1_8md01"] - -[resource] -script = ExtResource("1_8md01") -ColorOverride = Color(0, 1, 1, 1) -Multiplier = 0.5 -Duration = 3.25 -Slot = "freeze_slow" diff --git a/assets/plants/Aloe.tres b/assets/plants/Aloe.tres deleted file mode 100644 index d2229a7..0000000 --- a/assets/plants/Aloe.tres +++ /dev/null @@ -1,18 +0,0 @@ -[gd_resource type="Resource" script_class="PlantResource" load_steps=4 format=3 uid="uid://bf7vjtufjc8kt"] - -[ext_resource type="Texture2D" uid="uid://d4btl7vqi4v0q" path="res://assets/sprites/plants/aloe.tres" id="1_t4137"] -[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="1_vw2kg"] -[ext_resource type="PackedScene" uid="uid://bw1w8jp0yeypy" path="res://scenes/entities/plants/aloe.tscn" id="2_6a4ia"] - -[resource] -script = ExtResource("1_vw2kg") -Layer = 1 -DontRegister = false -NameKey = "aloe" -DescriptionKey = "aloe_desc" -Cost = 75.0 -Scene = ExtResource("2_6a4ia") -ReloadTime = 15.0 -ReloadProgress = 0.0 -Preview = ExtResource("1_t4137") -Order = 6 diff --git a/assets/plants/Cucumber.tres b/assets/plants/Cucumber.tres deleted file mode 100644 index 3dca246..0000000 --- a/assets/plants/Cucumber.tres +++ /dev/null @@ -1,23 +0,0 @@ -[gd_resource type="Resource" script_class="PlantResource" load_steps=5 format=3 uid="uid://ciewunnfalrbb"] - -[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="1_jrx81"] -[ext_resource type="Texture2D" uid="uid://bt76iudw2qgnv" path="res://assets/sprites/atlases/plants/cumbucer.png" id="1_tdg4d"] -[ext_resource type="PackedScene" uid="uid://cjoyh54cpjla7" path="res://scenes/entities/plants/cucumber.tscn" id="2_0mr6r"] - -[sub_resource type="AtlasTexture" id="AtlasTexture_3gogt"] -atlas = ExtResource("1_tdg4d") -region = Rect2(2, 1, 41, 65) - -[resource] -script = ExtResource("1_jrx81") -Layer = 1 -DontRegister = false -NameKey = "cucumber" -DescriptionKey = "cucumber_desc" -Cost = 75.0 -Scene = ExtResource("2_0mr6r") -ReloadTime = 5.0 -ReloadProgress = 0.0 -Preview = SubResource("AtlasTexture_3gogt") -Order = 8 -metadata/_custom_type_script = "uid://cyenlko1knygw" diff --git a/assets/plants/Garlic.tres b/assets/plants/Garlic.tres deleted file mode 100644 index d821c21..0000000 --- a/assets/plants/Garlic.tres +++ /dev/null @@ -1,18 +0,0 @@ -[gd_resource type="Resource" script_class="PlantResource" load_steps=4 format=3 uid="uid://btkkaow4tyw55"] - -[ext_resource type="Texture2D" uid="uid://m8e84blnx7yu" path="res://assets/sprites/plants/garlic.tres" id="1_datic"] -[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="1_e15gf"] -[ext_resource type="PackedScene" uid="uid://qq0cw8xtcoj3" path="res://scenes/entities/plants/garlic.tscn" id="2_81n0p"] - -[resource] -script = ExtResource("1_e15gf") -Layer = 1 -DontRegister = false -NameKey = "garlic" -DescriptionKey = "garlic_desc" -Cost = 50.0 -Scene = ExtResource("2_81n0p") -ReloadTime = 7.5 -ReloadProgress = 0.0 -Preview = ExtResource("1_datic") -Order = 7 diff --git a/assets/plants/Nerdus.tres b/assets/plants/Nerdus.tres deleted file mode 100644 index 90aeb8d..0000000 --- a/assets/plants/Nerdus.tres +++ /dev/null @@ -1,23 +0,0 @@ -[gd_resource type="Resource" script_class="PlantResource" load_steps=5 format=3 uid="uid://8edvnmwu4tyn"] - -[ext_resource type="Texture2D" uid="uid://b06e8xhdy77d1" path="res://assets/sprites/atlases/plants/nerdus.png" id="1_of51r"] -[ext_resource type="PackedScene" uid="uid://k5aj2slxar7w" path="res://scenes/entities/plants/nerdus.tscn" id="2_0i6qf"] -[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="3_30qd0"] - -[sub_resource type="AtlasTexture" id="AtlasTexture_ivp5w"] -atlas = ExtResource("1_of51r") -region = Rect2(477, 9, 60, 59) - -[resource] -script = ExtResource("3_30qd0") -Layer = 1 -DontRegister = false -NameKey = "nerdus" -DescriptionKey = "nerdus_desc" -Cost = 125.0 -Scene = ExtResource("2_0i6qf") -ReloadTime = 10.0 -ReloadProgress = 0.0 -Preview = SubResource("AtlasTexture_ivp5w") -Order = 10 -metadata/_custom_type_script = "uid://cyenlko1knygw" diff --git a/assets/plants/Peashooter.tres b/assets/plants/Peashooter.tres deleted file mode 100644 index cf3a204..0000000 --- a/assets/plants/Peashooter.tres +++ /dev/null @@ -1,18 +0,0 @@ -[gd_resource type="Resource" script_class="PlantResource" load_steps=4 format=3 uid="uid://c8rr1dc7mjr3d"] - -[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="1_amvh8"] -[ext_resource type="Texture2D" uid="uid://ot1n4nval86w" path="res://assets/sprites/plants/peashooter.tres" id="1_rnq6r"] -[ext_resource type="PackedScene" uid="uid://dy41q1kxray5t" path="res://scenes/entities/plants/peashooter.tscn" id="1_rqf2x"] - -[resource] -script = ExtResource("1_amvh8") -Layer = 1 -DontRegister = false -NameKey = "peashooter" -DescriptionKey = "peashooter_desc" -Cost = 75.0 -Scene = ExtResource("1_rqf2x") -ReloadTime = 5.0 -ReloadProgress = 0.0 -Preview = ExtResource("1_rnq6r") -Order = 0 diff --git a/assets/plants/PotatoMine.tres b/assets/plants/PotatoMine.tres deleted file mode 100644 index 825de86..0000000 --- a/assets/plants/PotatoMine.tres +++ /dev/null @@ -1,18 +0,0 @@ -[gd_resource type="Resource" script_class="PlantResource" load_steps=4 format=3 uid="uid://bu25xgjd68gv8"] - -[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="1_33j6b"] -[ext_resource type="Texture2D" uid="uid://bhmnt3x5aj1l8" path="res://assets/sprites/plants/potatomine.tres" id="1_xk2pg"] -[ext_resource type="PackedScene" uid="uid://b5x35v3w2u8dx" path="res://scenes/entities/plants/potato_mine.tscn" id="2_ig2ti"] - -[resource] -script = ExtResource("1_33j6b") -Layer = 1 -DontRegister = false -NameKey = "potatomine" -DescriptionKey = "potatomine_desc" -Cost = 25.0 -Scene = ExtResource("2_ig2ti") -ReloadTime = 25.0 -ReloadProgress = 0.0 -Preview = ExtResource("1_xk2pg") -Order = 3 diff --git a/assets/plants/Repeater.tres b/assets/plants/Repeater.tres deleted file mode 100644 index 85f96ca..0000000 --- a/assets/plants/Repeater.tres +++ /dev/null @@ -1,35 +0,0 @@ -[gd_resource type="Resource" script_class="PlantResource" load_steps=10 format=3 uid="uid://b4r1687hg0rf5"] - -[ext_resource type="Texture2D" uid="uid://dvldjlg0nr355" path="res://assets/sprites/atlases/atlas1.png" id="1_6km43"] -[ext_resource type="Texture2D" uid="uid://dhf2opi0brx23" path="res://assets/sprites/gui/almanach/premium_field.tres" id="1_ormja"] -[ext_resource type="PackedScene" uid="uid://bb4ya5qx224ca" path="res://scenes/entities/plants/repeater.tscn" id="2_6km43"] -[ext_resource type="Texture2D" uid="uid://31jc2e7dijas" path="res://assets/sprites/gui/PremiumPlantCard.tres" id="2_8djti"] -[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="3_e606l"] -[ext_resource type="Script" uid="uid://3m7xks3xq3hl" path="res://scripts/gui/seedpackets/CustomSeedpacketFrame.cs" id="3_qnhmj"] - -[sub_resource type="LabelSettings" id="LabelSettings_2f3e1"] - -[sub_resource type="Resource" id="Resource_87lkl"] -script = ExtResource("3_qnhmj") -frame = ExtResource("2_8djti") -font = SubResource("LabelSettings_2f3e1") -almanachField = ExtResource("1_ormja") -metadata/_custom_type_script = "uid://3m7xks3xq3hl" - -[sub_resource type="AtlasTexture" id="AtlasTexture_qnsfo"] -atlas = ExtResource("1_6km43") -region = Rect2(604, 241, 45, 51) - -[resource] -script = ExtResource("3_e606l") -Layer = 1 -DontRegister = false -NameKey = "repeater" -DescriptionKey = "repeater_desc" -Cost = 175.0 -Scene = ExtResource("2_6km43") -ReloadTime = 5.0 -ReloadProgress = 0.0 -Preview = SubResource("AtlasTexture_qnsfo") -CustomFrame = SubResource("Resource_87lkl") -Order = 12 diff --git a/assets/plants/Snipach.tres b/assets/plants/Snipach.tres deleted file mode 100644 index 501a276..0000000 --- a/assets/plants/Snipach.tres +++ /dev/null @@ -1,23 +0,0 @@ -[gd_resource type="Resource" script_class="PlantResource" load_steps=5 format=3 uid="uid://drb8nk0i3oyyl"] - -[ext_resource type="Texture2D" uid="uid://dvldjlg0nr355" path="res://assets/sprites/atlases/atlas1.png" id="1_1eecn"] -[ext_resource type="PackedScene" uid="uid://bmk41n57j7hgx" path="res://scenes/entities/plants/snipach.tscn" id="1_h5ln5"] -[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="1_u5a4p"] - -[sub_resource type="AtlasTexture" id="AtlasTexture_dgfdr"] -atlas = ExtResource("1_1eecn") -region = Rect2(525, 241, 79, 72) - -[resource] -script = ExtResource("1_u5a4p") -Layer = 1 -DontRegister = false -NameKey = "snipach" -DescriptionKey = "snipach_desc" -Cost = 400.0 -Scene = ExtResource("1_h5ln5") -ReloadTime = 7.5 -ReloadProgress = 0.0 -Preview = SubResource("AtlasTexture_dgfdr") -Order = 11 -metadata/_custom_type_script = "uid://cyenlko1knygw" diff --git a/assets/plants/Snowpea.tres b/assets/plants/Snowpea.tres deleted file mode 100644 index 13bc7d0..0000000 --- a/assets/plants/Snowpea.tres +++ /dev/null @@ -1,18 +0,0 @@ -[gd_resource type="Resource" script_class="PlantResource" load_steps=4 format=3 uid="uid://duflq3eexs6m"] - -[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="1_0cpi0"] -[ext_resource type="Texture2D" uid="uid://cu7h8bot6jlug" path="res://assets/sprites/plants/snowpea.tres" id="1_7fyy2"] -[ext_resource type="PackedScene" uid="uid://b7innrovtmf5u" path="res://scenes/entities/plants/snowpea.tscn" id="2_k47h0"] - -[resource] -script = ExtResource("1_0cpi0") -Layer = 1 -DontRegister = false -NameKey = "snowpea" -DescriptionKey = "snowpea_desc" -Cost = 175.0 -Scene = ExtResource("2_k47h0") -ReloadTime = 5.0 -ReloadProgress = 0.0 -Preview = ExtResource("1_7fyy2") -Order = 5 diff --git a/assets/plants/Spikeweed.tres b/assets/plants/Spikeweed.tres deleted file mode 100644 index 4502b23..0000000 --- a/assets/plants/Spikeweed.tres +++ /dev/null @@ -1,18 +0,0 @@ -[gd_resource type="Resource" script_class="PlantResource" load_steps=4 format=3 uid="uid://cas11tg6chiu4"] - -[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="1_0bymo"] -[ext_resource type="Texture2D" uid="uid://baqfahxkcvfe1" path="res://assets/sprites/plants/Spikeweed.tres" id="1_2ol2i"] -[ext_resource type="PackedScene" uid="uid://bdhod5c6o53ha" path="res://scenes/entities/plants/spikeweed.tscn" id="2_iv8de"] - -[resource] -script = ExtResource("1_0bymo") -Layer = 1 -DontRegister = false -NameKey = "spikeweed" -DescriptionKey = "spikeweed_desc" -Cost = 100.0 -Scene = ExtResource("2_iv8de") -ReloadTime = 5.0 -ReloadProgress = 0.0 -Preview = ExtResource("1_2ol2i") -Order = 4 diff --git a/assets/plants/Sunflower.tres b/assets/plants/Sunflower.tres deleted file mode 100644 index 9c2c30f..0000000 --- a/assets/plants/Sunflower.tres +++ /dev/null @@ -1,18 +0,0 @@ -[gd_resource type="Resource" script_class="PlantResource" load_steps=4 format=3 uid="uid://drm42f48urvc4"] - -[ext_resource type="Texture2D" uid="uid://iw75j816gbc" path="res://assets/sprites/plants/sunflower.tres" id="1_8rd5i"] -[ext_resource type="PackedScene" uid="uid://bg7lomiorxo2c" path="res://scenes/entities/plants/sunflower.tscn" id="2_gcyr5"] -[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="3_vt4jc"] - -[resource] -script = ExtResource("3_vt4jc") -Layer = 1 -DontRegister = false -NameKey = "sunflower" -DescriptionKey = "sunflower_desc" -Cost = 50.0 -Scene = ExtResource("2_gcyr5") -ReloadTime = 5.0 -ReloadProgress = 1.0 -Preview = ExtResource("1_8rd5i") -Order = 1 diff --git a/assets/plants/Threepeater.tres b/assets/plants/Threepeater.tres deleted file mode 100644 index d6348e9..0000000 --- a/assets/plants/Threepeater.tres +++ /dev/null @@ -1,18 +0,0 @@ -[gd_resource type="Resource" script_class="PlantResource" load_steps=4 format=3 uid="uid://bnhwg57euiyf5"] - -[ext_resource type="Texture2D" uid="uid://8se1nscal0em" path="res://assets/sprites/plants/threepeater.tres" id="1_hinp6"] -[ext_resource type="PackedScene" uid="uid://eegv1qihfv2q" path="res://scenes/entities/plants/threepeater.tscn" id="2_uqpu0"] -[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="3_3lugi"] - -[resource] -script = ExtResource("3_3lugi") -Layer = 1 -DontRegister = false -NameKey = "threepeater" -DescriptionKey = "threepeater_desc" -Cost = 275.0 -Scene = ExtResource("2_uqpu0") -ReloadTime = 5.0 -ReloadProgress = 0.0 -Preview = ExtResource("1_hinp6") -Order = 9 diff --git a/assets/plants/Wallnut.tres b/assets/plants/Wallnut.tres deleted file mode 100644 index dc3ab26..0000000 --- a/assets/plants/Wallnut.tres +++ /dev/null @@ -1,18 +0,0 @@ -[gd_resource type="Resource" script_class="PlantResource" load_steps=4 format=3 uid="uid://c2e2yj7rgoswi"] - -[ext_resource type="Texture2D" uid="uid://g2oppl54efja" path="res://assets/sprites/plants/Wallnut.tres" id="1_2akap"] -[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="1_27l0t"] -[ext_resource type="PackedScene" uid="uid://bq7imkpr2yqyr" path="res://scenes/entities/plants/wallnut.tscn" id="2_rkn3h"] - -[resource] -script = ExtResource("1_27l0t") -Layer = 1 -DontRegister = false -NameKey = "wallnut" -DescriptionKey = "wallnut_desc" -Cost = 50.0 -Scene = ExtResource("2_rkn3h") -ReloadTime = 20.0 -ReloadProgress = 0.0 -Preview = ExtResource("1_2akap") -Order = 2 diff --git a/assets/rewards/AloeReward.tres b/assets/rewards/AloeReward.tres deleted file mode 100644 index 2f98503..0000000 --- a/assets/rewards/AloeReward.tres +++ /dev/null @@ -1,13 +0,0 @@ -[gd_resource type="Resource" script_class="PlantReward" load_steps=4 format=3 uid="uid://co53dl5pxc0nr"] - -[ext_resource type="Resource" uid="uid://bf7vjtufjc8kt" path="res://assets/plants/Aloe.tres" id="1_v5yns"] -[ext_resource type="PackedScene" uid="uid://myjhi5m0eaap" path="res://scenes/templates/plant_reward.tscn" id="2_6fujh"] -[ext_resource type="Script" uid="uid://c8e40t5nbo83r" path="res://scripts/resources/PlantReward.cs" id="3_0ahmi"] - -[resource] -script = ExtResource("3_0ahmi") -Plant = ExtResource("1_v5yns") -Scene = ExtResource("2_6fujh") -Name = "aloe" -Description = "rwd_aloe" -metadata/_custom_type_script = "uid://c8e40t5nbo83r" diff --git a/assets/rewards/CucumberReward.tres b/assets/rewards/CucumberReward.tres deleted file mode 100644 index 6785fb8..0000000 --- a/assets/rewards/CucumberReward.tres +++ /dev/null @@ -1,13 +0,0 @@ -[gd_resource type="Resource" script_class="PlantReward" load_steps=4 format=3 uid="uid://b7jjqhhb6cv7i"] - -[ext_resource type="PackedScene" uid="uid://myjhi5m0eaap" path="res://scenes/templates/plant_reward.tscn" id="1_nwe4k"] -[ext_resource type="Resource" uid="uid://ciewunnfalrbb" path="res://assets/plants/Cucumber.tres" id="1_y7bpw"] -[ext_resource type="Script" uid="uid://c8e40t5nbo83r" path="res://scripts/resources/PlantReward.cs" id="2_y7bpw"] - -[resource] -script = ExtResource("2_y7bpw") -Plant = ExtResource("1_y7bpw") -Scene = ExtResource("1_nwe4k") -Name = "cucumber" -Description = "rwd_cucumber" -metadata/_custom_type_script = "uid://c8e40t5nbo83r" diff --git a/assets/rewards/DefaultReward.tres b/assets/rewards/DefaultReward.tres deleted file mode 100644 index ddf91f8..0000000 --- a/assets/rewards/DefaultReward.tres +++ /dev/null @@ -1,12 +0,0 @@ -[gd_resource type="Resource" script_class="MoneyReward" load_steps=3 format=3 uid="uid://kqqqjubwm37a"] - -[ext_resource type="PackedScene" uid="uid://3x821ng2yf57" path="res://scenes/templates/money_reward.tscn" id="1_g5bk7"] -[ext_resource type="Script" uid="uid://dtfmy3los1si1" path="res://scripts/resources/MoneyReward.cs" id="1_qd0ii"] - -[resource] -script = ExtResource("1_qd0ii") -Cost = 500 -Scene = ExtResource("1_g5bk7") -Name = "moneybag" -Description = "rwd_moneybag" -metadata/_custom_type_script = "uid://dtfmy3los1si1" diff --git a/assets/rewards/GarlicReward.tres b/assets/rewards/GarlicReward.tres deleted file mode 100644 index e934360..0000000 --- a/assets/rewards/GarlicReward.tres +++ /dev/null @@ -1,13 +0,0 @@ -[gd_resource type="Resource" script_class="PlantReward" load_steps=4 format=3 uid="uid://bhy1gc3vi8le1"] - -[ext_resource type="Resource" uid="uid://btkkaow4tyw55" path="res://assets/plants/Garlic.tres" id="1_ti6wf"] -[ext_resource type="PackedScene" uid="uid://myjhi5m0eaap" path="res://scenes/templates/plant_reward.tscn" id="2_jsj0n"] -[ext_resource type="Script" uid="uid://c8e40t5nbo83r" path="res://scripts/resources/PlantReward.cs" id="3_k120q"] - -[resource] -script = ExtResource("3_k120q") -Plant = ExtResource("1_ti6wf") -Scene = ExtResource("2_jsj0n") -Name = "garlic" -Description = "rwd_garlic" -metadata/_custom_type_script = "uid://c8e40t5nbo83r" diff --git a/assets/rewards/NerdusReward.tres b/assets/rewards/NerdusReward.tres deleted file mode 100644 index 3c54c75..0000000 --- a/assets/rewards/NerdusReward.tres +++ /dev/null @@ -1,13 +0,0 @@ -[gd_resource type="Resource" script_class="PlantReward" load_steps=4 format=3 uid="uid://c268ghdrraxgr"] - -[ext_resource type="Resource" uid="uid://8edvnmwu4tyn" path="res://assets/plants/Nerdus.tres" id="1_aujky"] -[ext_resource type="PackedScene" uid="uid://myjhi5m0eaap" path="res://scenes/templates/plant_reward.tscn" id="2_oa88s"] -[ext_resource type="Script" uid="uid://c8e40t5nbo83r" path="res://scripts/resources/PlantReward.cs" id="3_y1663"] - -[resource] -script = ExtResource("3_y1663") -Plant = ExtResource("1_aujky") -Scene = ExtResource("2_oa88s") -Name = "nerdus" -Description = "rwd_nerdus" -metadata/_custom_type_script = "uid://c8e40t5nbo83r" diff --git a/assets/rewards/PotatoMineReward.tres b/assets/rewards/PotatoMineReward.tres deleted file mode 100644 index 7d7a1ec..0000000 --- a/assets/rewards/PotatoMineReward.tres +++ /dev/null @@ -1,13 +0,0 @@ -[gd_resource type="Resource" script_class="PlantReward" load_steps=4 format=3 uid="uid://3qnpc64r3v3l"] - -[ext_resource type="PackedScene" uid="uid://myjhi5m0eaap" path="res://scenes/templates/plant_reward.tscn" id="1_3td81"] -[ext_resource type="Resource" uid="uid://bu25xgjd68gv8" path="res://assets/plants/PotatoMine.tres" id="1_pxrwk"] -[ext_resource type="Script" uid="uid://c8e40t5nbo83r" path="res://scripts/resources/PlantReward.cs" id="2_pxrwk"] - -[resource] -script = ExtResource("2_pxrwk") -Plant = ExtResource("1_pxrwk") -Scene = ExtResource("1_3td81") -Name = "potatomine" -Description = "rwd_potatomine" -metadata/_custom_type_script = "uid://c8e40t5nbo83r" diff --git a/assets/rewards/SnowpeaReward.tres b/assets/rewards/SnowpeaReward.tres deleted file mode 100644 index 1d504a6..0000000 --- a/assets/rewards/SnowpeaReward.tres +++ /dev/null @@ -1,13 +0,0 @@ -[gd_resource type="Resource" script_class="PlantReward" load_steps=4 format=3 uid="uid://1xc5f4nnc75i"] - -[ext_resource type="Resource" uid="uid://duflq3eexs6m" path="res://assets/plants/Snowpea.tres" id="1_llpxp"] -[ext_resource type="PackedScene" uid="uid://myjhi5m0eaap" path="res://scenes/templates/plant_reward.tscn" id="2_c26gh"] -[ext_resource type="Script" uid="uid://c8e40t5nbo83r" path="res://scripts/resources/PlantReward.cs" id="3_xcfmg"] - -[resource] -script = ExtResource("3_xcfmg") -Plant = ExtResource("1_llpxp") -Scene = ExtResource("2_c26gh") -Name = "snowpea" -Description = "rwd_snowpea" -metadata/_custom_type_script = "uid://c8e40t5nbo83r" diff --git a/assets/rewards/SpikeweedReward.tres b/assets/rewards/SpikeweedReward.tres deleted file mode 100644 index 86bc7dd..0000000 --- a/assets/rewards/SpikeweedReward.tres +++ /dev/null @@ -1,13 +0,0 @@ -[gd_resource type="Resource" script_class="PlantReward" load_steps=4 format=3 uid="uid://dlv4fkh4limub"] - -[ext_resource type="Resource" uid="uid://cas11tg6chiu4" path="res://assets/plants/Spikeweed.tres" id="1_wbex8"] -[ext_resource type="PackedScene" uid="uid://myjhi5m0eaap" path="res://scenes/templates/plant_reward.tscn" id="2_4ynii"] -[ext_resource type="Script" uid="uid://c8e40t5nbo83r" path="res://scripts/resources/PlantReward.cs" id="3_ffr6n"] - -[resource] -script = ExtResource("3_ffr6n") -Plant = ExtResource("1_wbex8") -Scene = ExtResource("2_4ynii") -Name = "spikeweed" -Description = "rwd_spikeweed" -metadata/_custom_type_script = "uid://c8e40t5nbo83r" diff --git a/assets/rewards/SunflowerReward.tres b/assets/rewards/SunflowerReward.tres deleted file mode 100644 index 83e9ef9..0000000 --- a/assets/rewards/SunflowerReward.tres +++ /dev/null @@ -1,13 +0,0 @@ -[gd_resource type="Resource" script_class="PlantReward" load_steps=4 format=3 uid="uid://cvbxosnd7cn5l"] - -[ext_resource type="Script" uid="uid://c8e40t5nbo83r" path="res://scripts/resources/PlantReward.cs" id="1_cc1yg"] -[ext_resource type="Resource" uid="uid://drm42f48urvc4" path="res://assets/plants/Sunflower.tres" id="1_qduei"] -[ext_resource type="PackedScene" uid="uid://myjhi5m0eaap" path="res://scenes/templates/plant_reward.tscn" id="2_qxx0x"] - -[resource] -script = ExtResource("1_cc1yg") -Plant = ExtResource("1_qduei") -Scene = ExtResource("2_qxx0x") -Name = "sunflower" -Description = "rwd_sunflower" -metadata/_custom_type_script = "uid://c8e40t5nbo83r" diff --git a/assets/rewards/ThreepeaterReward.tres b/assets/rewards/ThreepeaterReward.tres deleted file mode 100644 index 0129b0c..0000000 --- a/assets/rewards/ThreepeaterReward.tres +++ /dev/null @@ -1,13 +0,0 @@ -[gd_resource type="Resource" script_class="PlantReward" load_steps=4 format=3 uid="uid://c5rg8mq50wka2"] - -[ext_resource type="Resource" uid="uid://bnhwg57euiyf5" path="res://assets/plants/Threepeater.tres" id="1_bcp4j"] -[ext_resource type="PackedScene" uid="uid://myjhi5m0eaap" path="res://scenes/templates/plant_reward.tscn" id="2_h66y0"] -[ext_resource type="Script" uid="uid://c8e40t5nbo83r" path="res://scripts/resources/PlantReward.cs" id="3_2tva0"] - -[resource] -script = ExtResource("3_2tva0") -Plant = ExtResource("1_bcp4j") -Scene = ExtResource("2_h66y0") -Name = "threepeater" -Description = "rwd_threepeater" -metadata/_custom_type_script = "uid://c8e40t5nbo83r" diff --git a/assets/rewards/WallnutReward.tres b/assets/rewards/WallnutReward.tres deleted file mode 100644 index 3ebd0f4..0000000 --- a/assets/rewards/WallnutReward.tres +++ /dev/null @@ -1,13 +0,0 @@ -[gd_resource type="Resource" script_class="PlantReward" load_steps=4 format=3 uid="uid://cqy84f0msdhof"] - -[ext_resource type="Resource" uid="uid://c2e2yj7rgoswi" path="res://assets/plants/Wallnut.tres" id="1_wbjkr"] -[ext_resource type="PackedScene" uid="uid://myjhi5m0eaap" path="res://scenes/templates/plant_reward.tscn" id="2_66qmw"] -[ext_resource type="Script" uid="uid://c8e40t5nbo83r" path="res://scripts/resources/PlantReward.cs" id="3_iv5xe"] - -[resource] -script = ExtResource("3_iv5xe") -Plant = ExtResource("1_wbjkr") -Scene = ExtResource("2_66qmw") -Name = "wallnut" -Description = "rwd_wallnut" -metadata/_custom_type_script = "uid://c8e40t5nbo83r" diff --git a/assets/shaders/SACRIFICE.gdshader b/assets/shaders/SACRIFICE.gdshader deleted file mode 100644 index 88ffc92..0000000 --- a/assets/shaders/SACRIFICE.gdshader +++ /dev/null @@ -1,17 +0,0 @@ -shader_type canvas_item; - -uniform sampler2D noise; - -float rng(vec2 st) -{ - return fract(sin(dot(st,vec2(16.125125,61.2155215125)))*12512.0); -} - -void fragment() { - float capped_time = (sin(TIME/4.0) + 1.0); - if (abs(UV.x + UV.y - capped_time) < 0.05 || abs(UV.x + UV.y - capped_time - 0.75) < 0.05) - { - COLOR.rgb = vec3(255.0/255.0,127.0/255.0,80.0/255.0); - } - COLOR.a = step(0.4 + 0.05 * sin((TIME+1.0)/4.0),COLOR.a*texture(noise,UV).a); -} diff --git a/assets/shaders/SACRIFICE.gdshader.uid b/assets/shaders/SACRIFICE.gdshader.uid deleted file mode 100644 index 1d67f82..0000000 --- a/assets/shaders/SACRIFICE.gdshader.uid +++ /dev/null @@ -1 +0,0 @@ -uid://d0rylce8i5xtg diff --git a/assets/shaders/canvas_group_flash.gdshader b/assets/shaders/canvas_group_flash.gdshader deleted file mode 100644 index fe38157..0000000 --- a/assets/shaders/canvas_group_flash.gdshader +++ /dev/null @@ -1,26 +0,0 @@ -shader_type canvas_item; -render_mode unshaded; - -uniform vec4 FLASH_COLOR : source_color = vec4(1,0.709803921,0.43921568,0.5); -uniform vec4 HIGHLIGHT_COLOR : source_color = vec4(1,0.709803921,0.43921568,0.5); -uniform sampler2D screen_texture : hint_screen_texture, repeat_disable, filter_nearest; -uniform float blend : hint_range(0,1,0.01); -uniform bool selected = false; - -void fragment() { - vec4 text = textureLod(screen_texture, SCREEN_UV, 0.0); - - if (text.a > 0.0001) { - text.rgb /= text.a; - } - - if (selected) - { - COLOR = vec4(mix(text.rgb,HIGHLIGHT_COLOR.rgb,HIGHLIGHT_COLOR.a),text.a); - COLOR = vec4(mix(COLOR.rgb,FLASH_COLOR.rgb,FLASH_COLOR.a*blend),COLOR.a); - } - else - { - COLOR = vec4(mix(text.rgb,FLASH_COLOR.rgb,FLASH_COLOR.a*blend),text.a); - } -} \ No newline at end of file diff --git a/assets/shaders/canvas_group_flash.gdshader.uid b/assets/shaders/canvas_group_flash.gdshader.uid deleted file mode 100644 index b3e6995..0000000 --- a/assets/shaders/canvas_group_flash.gdshader.uid +++ /dev/null @@ -1 +0,0 @@ -uid://btf4xhu31ln6n diff --git a/assets/shaders/generic_flash.gdshader b/assets/shaders/generic_flash.gdshader deleted file mode 100644 index 56e566e..0000000 --- a/assets/shaders/generic_flash.gdshader +++ /dev/null @@ -1,16 +0,0 @@ -shader_type canvas_item; - -uniform vec4 FLASH_COLOR : source_color = vec4(1,0.709803921,0.43921568,0.5); -uniform vec4 HIGHLIGHT_COLOR : source_color = vec4(1,0.709803921,0.43921568,0.5); -uniform bool selected = false; -uniform float blend : hint_range(0.0, 1.0, 0.01); - -void fragment() { - if (selected) - { - COLOR = vec4(mix(COLOR.rgb,HIGHLIGHT_COLOR.rgb,HIGHLIGHT_COLOR.a),COLOR.a); - } - - COLOR = vec4(mix(COLOR.rgb,FLASH_COLOR.rgb,FLASH_COLOR.a*blend),COLOR.a); - -} \ No newline at end of file diff --git a/assets/shaders/generic_flash.gdshader.uid b/assets/shaders/generic_flash.gdshader.uid deleted file mode 100644 index bfb6ecf..0000000 --- a/assets/shaders/generic_flash.gdshader.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cgc7spjkhsx7c diff --git a/assets/shaders/greyscale.gdshader b/assets/shaders/greyscale.gdshader deleted file mode 100644 index 9e45c60..0000000 --- a/assets/shaders/greyscale.gdshader +++ /dev/null @@ -1,12 +0,0 @@ -shader_type canvas_item; - -uniform float amount : hint_range(0.0, 1.0, 0.1); - -vec4 luminance(vec4 col) -{ - return vec4(vec3(0.2126*col.r+0.7152*col.g+0.0722*col.b),col.a); -} - -void fragment() { - COLOR = mix(COLOR, luminance(COLOR),amount); -} diff --git a/assets/shaders/greyscale.gdshader.uid b/assets/shaders/greyscale.gdshader.uid deleted file mode 100644 index bad2753..0000000 --- a/assets/shaders/greyscale.gdshader.uid +++ /dev/null @@ -1 +0,0 @@ -uid://mt7vheq5modk diff --git a/assets/shaders/gui_masking.gdshader b/assets/shaders/gui_masking.gdshader deleted file mode 100644 index d049889..0000000 --- a/assets/shaders/gui_masking.gdshader +++ /dev/null @@ -1,7 +0,0 @@ -shader_type canvas_item; - -uniform sampler2D mask : filter_nearest; - -void fragment() { - COLOR.a = texture(mask, UV).a * COLOR.a; -} diff --git a/assets/shaders/gui_masking.gdshader.uid b/assets/shaders/gui_masking.gdshader.uid deleted file mode 100644 index d9ef27f..0000000 --- a/assets/shaders/gui_masking.gdshader.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dcp5tqcec2oi3 diff --git a/assets/shaders/radial_progress.gdshader b/assets/shaders/radial_progress.gdshader deleted file mode 100644 index b7ed32a..0000000 --- a/assets/shaders/radial_progress.gdshader +++ /dev/null @@ -1,20 +0,0 @@ -shader_type canvas_item; - -uniform vec4 region_rect; -uniform float progress; - -void fragment() { - if (progress > 0.9999) - { - vec4 text = texture(TEXTURE,UV); - COLOR = text; - } - vec2 c = vec2(0.5)-UV; - float d = atan(c.x,c.y)+PI; - if (d > progress*TAU) - { - discard; - } - vec4 text = texture(TEXTURE,UV); - COLOR = text; -} diff --git a/assets/shaders/radial_progress.gdshader.uid b/assets/shaders/radial_progress.gdshader.uid deleted file mode 100644 index 44ff23e..0000000 --- a/assets/shaders/radial_progress.gdshader.uid +++ /dev/null @@ -1 +0,0 @@ -uid://c5kv2gwtme1dk diff --git a/assets/shaders/shared_outline.gdshader b/assets/shaders/shared_outline.gdshader deleted file mode 100644 index 0e15981..0000000 --- a/assets/shaders/shared_outline.gdshader +++ /dev/null @@ -1,23 +0,0 @@ -shader_type canvas_item; - -uniform vec3 line_colour: source_color = vec3(1.0); -uniform int line_thickness: hint_range(0, 50) = 1; -uniform sampler2D screen_texture : hint_screen_texture, repeat_disable, filter_nearest; - -void fragment() { - vec2 size = SCREEN_PIXEL_SIZE * float(line_thickness); - float line_alpha = 0.0; - for (float i = -size.x; i <= size.x; i += SCREEN_PIXEL_SIZE.x) { - for (float j = -size.y; j <= size.y; j += SCREEN_PIXEL_SIZE.y) { - line_alpha += texture(screen_texture, SCREEN_UV + vec2(i, j)).a; - } - } - vec4 colour = textureLod(screen_texture, SCREEN_UV,0.0); - - if (colour.a > 0.0001) { - colour.rgb /= colour.a; - } - - vec4 outline = vec4(line_colour, min(line_alpha, 1.0)); - COLOR *= mix(outline, colour, colour.a); -} diff --git a/assets/shaders/shared_outline.gdshader.uid b/assets/shaders/shared_outline.gdshader.uid deleted file mode 100644 index 3a8919a..0000000 --- a/assets/shaders/shared_outline.gdshader.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bk8uy5se3fo0 diff --git a/assets/sprites/zombie.tres b/assets/sprites/zombie.tres index b1a93a6..e532cad 100644 --- a/assets/sprites/zombie.tres +++ b/assets/sprites/zombie.tres @@ -1,7 +1,7 @@ [gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://bwwbkybryi6k0"] -[ext_resource type="Texture2D" uid="uid://dvldjlg0nr355" path="res://assets/sprites/atlases/atlas1.png" id="1_f3kba"] +[ext_resource type="Texture2D" uid="uid://c68mrfs4wb81x" path="res://assets/sprites/atlases/atlas2.png" id="1_g1iew"] [resource] -atlas = ExtResource("1_f3kba") +atlas = ExtResource("1_g1iew") region = Rect2(129, 104, 45, 88) diff --git a/assets/sprites/zombies/Screendoor1.png b/assets/sprites/zombies/Screendoor1.png new file mode 100644 index 0000000..c48ee38 Binary files /dev/null and b/assets/sprites/zombies/Screendoor1.png differ diff --git a/assets/sprites/zombies/polevaulter.png.import b/assets/sprites/zombies/Screendoor1.png.import similarity index 67% rename from assets/sprites/zombies/polevaulter.png.import rename to assets/sprites/zombies/Screendoor1.png.import index efbadd8..55ec941 100644 --- a/assets/sprites/zombies/polevaulter.png.import +++ b/assets/sprites/zombies/Screendoor1.png.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://b2p72b08as365" -path="res://.godot/imported/polevaulter.png-1daef60b20e89deaa51a84148fdba268.ctex" +uid="uid://dj4bqnlg87squ" +path="res://.godot/imported/Screendoor1.png-903f8c27586778d89830ea453d96240e.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/sprites/zombies/polevaulter.png" -dest_files=["res://.godot/imported/polevaulter.png-1daef60b20e89deaa51a84148fdba268.ctex"] +source_file="res://assets/sprites/zombies/Screendoor1.png" +dest_files=["res://.godot/imported/Screendoor1.png-903f8c27586778d89830ea453d96240e.ctex"] [params] diff --git a/assets/sprites/zombies/Screendoor2.png b/assets/sprites/zombies/Screendoor2.png new file mode 100644 index 0000000..963c1c1 Binary files /dev/null and b/assets/sprites/zombies/Screendoor2.png differ diff --git a/addons/pvzadventure/icons/delete.png.import b/assets/sprites/zombies/Screendoor2.png.import similarity index 67% rename from addons/pvzadventure/icons/delete.png.import rename to assets/sprites/zombies/Screendoor2.png.import index 47132c9..3a58c5d 100644 --- a/addons/pvzadventure/icons/delete.png.import +++ b/assets/sprites/zombies/Screendoor2.png.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://cytkldhduee4d" -path="res://.godot/imported/delete.png-5697ccae9dc8575df9addcc6c74dabd6.ctex" +uid="uid://b0plkcoupyumf" +path="res://.godot/imported/Screendoor2.png-23021440e0d5c55adff199ddd6edd51d.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://addons/pvzadventure/icons/delete.png" -dest_files=["res://.godot/imported/delete.png-5697ccae9dc8575df9addcc6c74dabd6.ctex"] +source_file="res://assets/sprites/zombies/Screendoor2.png" +dest_files=["res://.godot/imported/Screendoor2.png-23021440e0d5c55adff199ddd6edd51d.ctex"] [params] diff --git a/assets/sprites/zombies/basic.png b/assets/sprites/zombies/basic.png index 462c8ca..7665e29 100644 Binary files a/assets/sprites/zombies/basic.png and b/assets/sprites/zombies/basic.png differ diff --git a/assets/sprites/zombies/hobo.png b/assets/sprites/zombies/hobo.png index eee9f11..0aac23c 100644 Binary files a/assets/sprites/zombies/hobo.png and b/assets/sprites/zombies/hobo.png differ diff --git a/assets/sprites/zombies/polevaulter.png b/assets/sprites/zombies/polevaulter.png deleted file mode 100644 index 7379901..0000000 Binary files a/assets/sprites/zombies/polevaulter.png and /dev/null differ diff --git a/assets/sprites/zombies/polevaulting.png b/assets/sprites/zombies/polevaulting.png new file mode 100644 index 0000000..0a298c4 Binary files /dev/null and b/assets/sprites/zombies/polevaulting.png differ diff --git a/assets/sprites/zombies/polevaulting.png.import b/assets/sprites/zombies/polevaulting.png.import new file mode 100644 index 0000000..99ddc03 --- /dev/null +++ b/assets/sprites/zombies/polevaulting.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vbqrjhtpgp17" +path="res://.godot/imported/polevaulting.png-632da0d58cb351629b0e5005fd59eca0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/zombies/polevaulting.png" +dest_files=["res://.godot/imported/polevaulting.png-632da0d58cb351629b0e5005fd59eca0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/zombies/screendoor.png b/assets/sprites/zombies/screendoor.png index c39eb10..5a0516c 100644 Binary files a/assets/sprites/zombies/screendoor.png and b/assets/sprites/zombies/screendoor.png differ diff --git a/assets/sprites/zombies/screendoor.png.import b/assets/sprites/zombies/screendoor.png.import index 602dd11..7a74c28 100644 --- a/assets/sprites/zombies/screendoor.png.import +++ b/assets/sprites/zombies/screendoor.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://cxbudhukl268p" +uid="uid://cjb6l6n1fww35" path="res://.godot/imported/screendoor.png-215bb197239ee5db1b25f8a23e7c9f3f.ctex" metadata={ "vram_texture": false diff --git a/assets/sprites/zombies/зомбешест.png b/assets/sprites/zombies/зомбешест.png new file mode 100644 index 0000000..ae8b837 Binary files /dev/null and b/assets/sprites/zombies/зомбешест.png differ diff --git a/assets/sprites/zombies/зомбешест.png.import b/assets/sprites/zombies/зомбешест.png.import new file mode 100644 index 0000000..ff0b622 --- /dev/null +++ b/assets/sprites/zombies/зомбешест.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cvfa8vi5ekyjh" +path="res://.godot/imported/зомбешест.png-3258fc66a5cf4b42af14e335c216bd55.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/zombies/зомбешест.png" +dest_files=["res://.godot/imported/зомбешест.png-3258fc66a5cf4b42af14e335c216bd55.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/themes/ChooseYourSeeds.tres b/assets/themes/ChooseYourSeeds.tres deleted file mode 100644 index fe483d4..0000000 --- a/assets/themes/ChooseYourSeeds.tres +++ /dev/null @@ -1,77 +0,0 @@ -[gd_resource type="Theme" load_steps=13 format=3 uid="uid://e8n88g31w7x7"] - -[ext_resource type="Texture2D" uid="uid://ci1a150qo2op2" path="res://assets/sprites/gui/ChooseYourSeeds/Panel.tres" id="1_86pbs"] -[ext_resource type="Texture2D" uid="uid://bj5fouwjk3kum" path="res://assets/sprites/gui/ChooseYourSeeds/InnerPanel.tres" id="2_txg3r"] -[ext_resource type="Texture2D" uid="uid://b5skdm3q7tkh3" path="res://assets/sprites/gui/ChooseYourSeeds/Grabber.tres" id="3_gf6bj"] -[ext_resource type="Texture2D" uid="uid://cv255d4s0qopj" path="res://assets/sprites/gui/ChooseYourSeeds/Slider.tres" id="4_xn7o0"] - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_o7bns"] -texture = ExtResource("1_86pbs") -texture_margin_left = 10.0 -texture_margin_top = 9.0 -texture_margin_right = 9.0 -texture_margin_bottom = 10.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_jrih7"] -texture = ExtResource("2_txg3r") -texture_margin_left = 3.0 -texture_margin_top = 6.0 -texture_margin_right = 4.0 -texture_margin_bottom = 3.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_qlmyy"] -texture = ExtResource("3_gf6bj") -texture_margin_left = 4.0 -texture_margin_top = 7.0 -texture_margin_right = 4.0 -texture_margin_bottom = 7.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_la16p"] -texture = ExtResource("4_xn7o0") -texture_margin_left = 4.0 -texture_margin_top = 4.0 -texture_margin_right = 4.0 -texture_margin_bottom = 4.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_744lb"] -texture = ExtResource("4_xn7o0") -texture_margin_left = 4.0 -texture_margin_top = 4.0 -texture_margin_right = 4.0 -texture_margin_bottom = 4.0 - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_amjg8"] -bg_color = Color(0.574582, 0.300953, 0.501998, 1) -corner_radius_top_left = 4 -corner_radius_top_right = 4 -corner_radius_bottom_right = 4 -corner_radius_bottom_left = 4 - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_obyqu"] -bg_color = Color(0.828756, 0.571484, 0.752803, 1) -corner_radius_top_left = 4 -corner_radius_top_right = 4 -corner_radius_bottom_right = 4 -corner_radius_bottom_left = 4 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_5mgtv"] -texture = ExtResource("4_xn7o0") -texture_margin_left = 4.0 -texture_margin_top = 4.0 -texture_margin_right = 4.0 -texture_margin_bottom = 4.0 - -[resource] -Panel/styles/panel = SubResource("StyleBoxTexture_o7bns") -PanelContainer/styles/panel = SubResource("StyleBoxTexture_jrih7") -VScrollBar/styles/grabber = SubResource("StyleBoxTexture_qlmyy") -VScrollBar/styles/grabber_highlight = SubResource("StyleBoxTexture_qlmyy") -VScrollBar/styles/grabber_pressed = SubResource("StyleBoxTexture_qlmyy") -VScrollBar/styles/scroll = SubResource("StyleBoxTexture_la16p") -VScrollBar/styles/scroll_focus = SubResource("StyleBoxTexture_744lb") -VSlider/icons/grabber = ExtResource("3_gf6bj") -VSlider/icons/grabber_disabled = null -VSlider/icons/grabber_highlight = ExtResource("3_gf6bj") -VSlider/styles/grabber_area = SubResource("StyleBoxFlat_amjg8") -VSlider/styles/grabber_area_highlight = SubResource("StyleBoxFlat_obyqu") -VSlider/styles/slider = SubResource("StyleBoxTexture_5mgtv") diff --git a/assets/themes/GameStyle.tres b/assets/themes/GameStyle.tres deleted file mode 100644 index 42764e6..0000000 --- a/assets/themes/GameStyle.tres +++ /dev/null @@ -1,235 +0,0 @@ -[gd_resource type="Theme" load_steps=40 format=3 uid="uid://b8l285cjcgeyi"] - -[ext_resource type="FontFile" uid="uid://nbrt5q3t8tud" path="res://assets/fonts/pico12.ttf" id="1_103to"] -[ext_resource type="Texture2D" uid="uid://d0yhee0scl7mc" path="res://assets/sprites/gui/ButtonBackground.tres" id="1_y0kbp"] -[ext_resource type="Texture2D" uid="uid://dxmg20mrnpt8r" path="res://assets/sprites/gui/SelectionGeneric.tres" id="2_h0nd2"] -[ext_resource type="Texture2D" uid="uid://b5skdm3q7tkh3" path="res://assets/sprites/gui/ChooseYourSeeds/Grabber.tres" id="3_i6w8j"] -[ext_resource type="Texture2D" uid="uid://cc8jaddr5lww3" path="res://assets/sprites/gui/almanach/slider_h.tres" id="3_nec55"] -[ext_resource type="Texture2D" uid="uid://dvldjlg0nr355" path="res://assets/sprites/atlases/atlas1.png" id="3_yeah5"] -[ext_resource type="Texture2D" uid="uid://cv255d4s0qopj" path="res://assets/sprites/gui/ChooseYourSeeds/Slider.tres" id="4_yeah5"] -[ext_resource type="Texture2D" uid="uid://lg1o4pu0n0u6" path="res://assets/sprites/gui/almanach/decrement.tres" id="5_ij6vn"] -[ext_resource type="Texture2D" uid="uid://dssr8m4gbpks4" path="res://assets/sprites/gui/almanach/tab_disabled.tres" id="5_w6b64"] -[ext_resource type="Texture2D" uid="uid://cdyfech0howdr" path="res://assets/sprites/gui/almanach/decrement_h.tres" id="6_nec55"] -[ext_resource type="Texture2D" uid="uid://2bk8ce82cmw" path="res://assets/sprites/gui/almanach/tab.tres" id="6_ygj8j"] -[ext_resource type="Texture2D" uid="uid://blr2uchlakvor" path="res://assets/sprites/gui/almanach/description_panel.tres" id="7_5pe7g"] -[ext_resource type="Texture2D" uid="uid://dpfkai158kyfu" path="res://assets/sprites/gui/almanach/holder.tres" id="7_ls06u"] -[ext_resource type="Texture2D" uid="uid://vpuytn3nd6c1" path="res://assets/sprites/gui/almanach/increment.tres" id="8_csc22"] -[ext_resource type="Texture2D" uid="uid://cnio0bw2xla23" path="res://assets/sprites/gui/almanach/increment_h.tres" id="9_r6ela"] -[ext_resource type="Texture2D" uid="uid://4cdp0k17u2l5" path="res://assets/sprites/gui/almanach/menu.tres" id="10_vatwx"] -[ext_resource type="Texture2D" uid="uid://drvrnblf2fvgk" path="res://assets/sprites/gui/almanach/slider_bg.tres" id="14_3qjha"] - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_na4u2"] -texture = ExtResource("1_y0kbp") -texture_margin_left = 12.0 -texture_margin_top = 12.0 -texture_margin_right = 12.0 -texture_margin_bottom = 12.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_mv7jy"] -texture = ExtResource("2_h0nd2") -texture_margin_left = 12.0 -texture_margin_top = 12.0 -texture_margin_right = 12.0 -texture_margin_bottom = 12.0 -axis_stretch_horizontal = 1 -axis_stretch_vertical = 1 -draw_center = false - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_csc22"] -texture = ExtResource("3_nec55") -texture_margin_left = 7.0 -texture_margin_top = 4.0 -texture_margin_right = 7.0 -texture_margin_bottom = 4.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_r6ela"] -texture = ExtResource("14_3qjha") -texture_margin_left = 6.0 -texture_margin_top = 6.0 -texture_margin_right = 6.0 -texture_margin_bottom = 6.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_vatwx"] -texture = ExtResource("14_3qjha") -texture_margin_left = 6.0 -texture_margin_top = 6.0 -texture_margin_right = 6.0 -texture_margin_bottom = 6.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_ij6vn"] -texture = ExtResource("4_yeah5") -texture_margin_left = 5.0 -texture_margin_top = 5.0 -texture_margin_right = 5.0 -texture_margin_bottom = 5.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_nec55"] -texture = ExtResource("4_yeah5") -texture_margin_left = 5.0 -texture_margin_top = 5.0 -texture_margin_right = 5.0 -texture_margin_bottom = 5.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_ls06u"] -texture = ExtResource("4_yeah5") -texture_margin_left = 5.0 -texture_margin_top = 5.0 -texture_margin_right = 5.0 -texture_margin_bottom = 5.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_jjopa"] -texture = ExtResource("7_5pe7g") -texture_margin_left = 4.0 -texture_margin_top = 5.0 -texture_margin_right = 7.0 -texture_margin_bottom = 4.0 - -[sub_resource type="AtlasTexture" id="AtlasTexture_5pe7g"] -atlas = ExtResource("3_yeah5") -region = Rect2(226, 77, 18, 18) - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_pjyej"] -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="StyleBoxTexture" id="StyleBoxTexture_w6b64"] -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="StyleBoxTexture" id="StyleBoxTexture_g0cdn"] -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="StyleBoxTexture" id="StyleBoxTexture_gl5ke"] -texture = ExtResource("5_w6b64") -texture_margin_left = 8.0 -texture_margin_top = 6.0 -texture_margin_right = 8.0 -texture_margin_bottom = 1.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_xmjd3"] -texture = ExtResource("6_ygj8j") -texture_margin_left = 8.0 -texture_margin_top = 6.0 -texture_margin_right = 8.0 -texture_margin_bottom = 1.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_3qjha"] -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="StyleBoxTexture" id="StyleBoxTexture_gvd6y"] -texture = ExtResource("3_i6w8j") -texture_margin_left = 4.0 -texture_margin_top = 7.0 -texture_margin_right = 4.0 -texture_margin_bottom = 7.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_epvq8"] -texture = ExtResource("3_i6w8j") -texture_margin_left = 4.0 -texture_margin_top = 7.0 -texture_margin_right = 4.0 -texture_margin_bottom = 7.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_lfl2m"] -texture = ExtResource("3_i6w8j") -texture_margin_left = 4.0 -texture_margin_top = 7.0 -texture_margin_right = 4.0 -texture_margin_bottom = 7.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_41q1p"] -texture = ExtResource("14_3qjha") -texture_margin_left = 6.0 -texture_margin_top = 6.0 -texture_margin_right = 6.0 -texture_margin_bottom = 6.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_5pe7g"] -texture = ExtResource("4_yeah5") -texture_margin_left = 5.0 -texture_margin_top = 5.0 -texture_margin_right = 5.0 -texture_margin_bottom = 5.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_chra8"] -texture = ExtResource("7_5pe7g") -texture_margin_left = 4.0 -texture_margin_top = 5.0 -texture_margin_right = 7.0 -texture_margin_bottom = 4.0 - -[resource] -default_font = ExtResource("1_103to") -Button/colors/font_color = Color(0, 0, 0, 1) -Button/colors/font_focus_color = Color(0, 0, 0, 1) -Button/colors/font_outline_color = Color(1, 1, 1, 1) -Button/colors/font_pressed_color = Color(1, 1, 1, 1) -Button/styles/disabled = SubResource("StyleBoxTexture_na4u2") -Button/styles/focus = SubResource("StyleBoxTexture_mv7jy") -Button/styles/hover = SubResource("StyleBoxTexture_na4u2") -Button/styles/normal = SubResource("StyleBoxTexture_na4u2") -Button/styles/pressed = SubResource("StyleBoxTexture_na4u2") -HScrollBar/styles/grabber = SubResource("StyleBoxTexture_csc22") -HScrollBar/styles/grabber_highlight = SubResource("StyleBoxTexture_csc22") -HScrollBar/styles/grabber_pressed = SubResource("StyleBoxTexture_csc22") -HScrollBar/styles/scroll = SubResource("StyleBoxTexture_r6ela") -HScrollBar/styles/scroll_focus = SubResource("StyleBoxTexture_vatwx") -HSlider/icons/grabber = ExtResource("3_nec55") -HSlider/icons/grabber_disabled = ExtResource("3_nec55") -HSlider/icons/grabber_highlight = ExtResource("3_nec55") -HSlider/styles/grabber_area = SubResource("StyleBoxTexture_ij6vn") -HSlider/styles/grabber_area_highlight = SubResource("StyleBoxTexture_nec55") -HSlider/styles/slider = SubResource("StyleBoxTexture_ls06u") -LineEdit/colors/font_color = Color(0, 0, 0, 1) -LineEdit/colors/font_selected_color = Color(0, 0, 0, 1) -LineEdit/colors/font_uneditable_color = Color(0, 0, 0, 0.501961) -LineEdit/styles/focus = SubResource("StyleBoxTexture_jjopa") -LineEdit/styles/normal = SubResource("StyleBoxTexture_jjopa") -LineEdit/styles/read_only = SubResource("StyleBoxTexture_jjopa") -Panel/styles/panel = SubResource("StyleBoxTexture_pjyej") -PanelContainer/styles/panel = SubResource("StyleBoxTexture_w6b64") -TabContainer/icons/decrement = ExtResource("5_ij6vn") -TabContainer/icons/decrement_highlight = ExtResource("6_nec55") -TabContainer/icons/drop_mark = ExtResource("7_ls06u") -TabContainer/icons/increment = ExtResource("8_csc22") -TabContainer/icons/increment_highlight = ExtResource("9_r6ela") -TabContainer/icons/menu = ExtResource("10_vatwx") -TabContainer/icons/menu_highlight = ExtResource("10_vatwx") -TabContainer/styles/panel = SubResource("StyleBoxTexture_g0cdn") -TabContainer/styles/tab_disabled = SubResource("StyleBoxTexture_gl5ke") -TabContainer/styles/tab_focus = SubResource("StyleBoxTexture_xmjd3") -TabContainer/styles/tab_hovered = SubResource("StyleBoxTexture_xmjd3") -TabContainer/styles/tab_selected = SubResource("StyleBoxTexture_xmjd3") -TabContainer/styles/tab_unselected = SubResource("StyleBoxTexture_gl5ke") -TextEdit/colors/font_color = Color(0, 0, 0, 1) -TextEdit/styles/focus = SubResource("StyleBoxTexture_jjopa") -TextEdit/styles/normal = SubResource("StyleBoxTexture_jjopa") -TextEdit/styles/read_only = SubResource("StyleBoxTexture_jjopa") -Tree/styles/panel = SubResource("StyleBoxTexture_3qjha") -VScrollBar/styles/grabber = SubResource("StyleBoxTexture_gvd6y") -VScrollBar/styles/grabber_highlight = SubResource("StyleBoxTexture_epvq8") -VScrollBar/styles/grabber_pressed = SubResource("StyleBoxTexture_lfl2m") -VScrollBar/styles/scroll = SubResource("StyleBoxTexture_41q1p") -VScrollBar/styles/scroll_focus = SubResource("StyleBoxTexture_41q1p") -VSlider/icons/grabber = ExtResource("3_i6w8j") -VSlider/icons/grabber_disabled = ExtResource("3_i6w8j") -VSlider/icons/grabber_highlight = ExtResource("3_i6w8j") -VSlider/styles/grabber_area = SubResource("StyleBoxTexture_5pe7g") -VSlider/styles/grabber_area_highlight = SubResource("StyleBoxTexture_5pe7g") -VSlider/styles/slider = SubResource("StyleBoxTexture_5pe7g") -description_panel_container/base_type = &"PanelContainer" -description_panel_container/styles/panel = SubResource("StyleBoxTexture_chra8") diff --git a/assets/themes/MainMenu.tres b/assets/themes/MainMenu.tres deleted file mode 100644 index a27f46e..0000000 --- a/assets/themes/MainMenu.tres +++ /dev/null @@ -1,44 +0,0 @@ -[gd_resource type="Theme" load_steps=8 format=3 uid="uid://btulhvgwclket"] - -[ext_resource type="Texture2D" uid="uid://cmcwrgcm272gy" path="res://assets/sprites/gui/main_menu_buttons.png" id="1_jv7fv"] - -[sub_resource type="AtlasTexture" id="AtlasTexture_132w1"] -atlas = ExtResource("1_jv7fv") -region = Rect2(96, 0, 48, 48) - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_45124"] -texture = SubResource("AtlasTexture_132w1") -texture_margin_left = 15.0 -texture_margin_top = 15.0 -texture_margin_right = 15.0 -texture_margin_bottom = 15.0 - -[sub_resource type="AtlasTexture" id="AtlasTexture_n6pvk"] -atlas = ExtResource("1_jv7fv") -region = Rect2(0, 0, 48, 48) - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_2hb1n"] -texture = SubResource("AtlasTexture_n6pvk") -texture_margin_left = 15.0 -texture_margin_top = 15.0 -texture_margin_right = 15.0 -texture_margin_bottom = 15.0 - -[sub_resource type="AtlasTexture" id="AtlasTexture_p1ypd"] -atlas = ExtResource("1_jv7fv") -region = Rect2(48, 0, 48, 48) - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_fg17j"] -texture = SubResource("AtlasTexture_p1ypd") -texture_margin_left = 15.0 -texture_margin_top = 15.0 -texture_margin_right = 15.0 -texture_margin_bottom = 15.0 - -[resource] -Button/colors/font_color = Color(0.875, 0.875, 0.875, 1) -Button/colors/font_focus_color = Color(0.95, 0.95, 0.95, 1) -Button/colors/font_hover_color = Color(1, 1, 1, 1) -Button/styles/hover = SubResource("StyleBoxTexture_45124") -Button/styles/normal = SubResource("StyleBoxTexture_2hb1n") -Button/styles/pressed = SubResource("StyleBoxTexture_fg17j") diff --git a/assets/zombies/basic.tres b/assets/zombies/basic.tres deleted file mode 100644 index 7d17747..0000000 --- a/assets/zombies/basic.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="ZombieResource" load_steps=5 format=3 uid="uid://buvacn56kyy2p"] - -[ext_resource type="PackedScene" uid="uid://co11v3w8hbwgf" path="res://scenes/entities/Zombies/zombie.tscn" id="1_c2mq3"] -[ext_resource type="Script" uid="uid://cqxj7o8hdm82n" path="res://scripts/resources/entities/ZombieResource.cs" id="1_k277m"] -[ext_resource type="Texture2D" uid="uid://5gpf2sodhn6e" path="res://assets/sprites/zombies/previews.png" id="1_l6de4"] - -[sub_resource type="AtlasTexture" id="AtlasTexture_wu2q8"] -atlas = ExtResource("1_l6de4") -region = Rect2(0, 0, 43, 88) - -[resource] -script = ExtResource("1_k277m") -NameKey = "basic" -DescriptionKey = "basic_desc" -Cost = 1.0 -Scene = ExtResource("1_c2mq3") -ReloadTime = 1.0 -ReloadProgress = 0.0 -Preview = SubResource("AtlasTexture_wu2q8") -Order = 0 -metadata/_custom_type_script = "uid://cqxj7o8hdm82n" diff --git a/assets/zombies/buckethead.tres b/assets/zombies/buckethead.tres deleted file mode 100644 index f288f99..0000000 --- a/assets/zombies/buckethead.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="ZombieResource" load_steps=5 format=3 uid="uid://dkhjlu7u0vny6"] - -[ext_resource type="PackedScene" uid="uid://xu4i6tmkv00a" path="res://scenes/entities/Zombies/bucket_zombie.tscn" id="1_lhcag"] -[ext_resource type="Script" uid="uid://cqxj7o8hdm82n" path="res://scripts/resources/entities/ZombieResource.cs" id="1_sngfh"] -[ext_resource type="Texture2D" uid="uid://5gpf2sodhn6e" path="res://assets/sprites/zombies/previews.png" id="1_ufs7s"] - -[sub_resource type="AtlasTexture" id="AtlasTexture_drksh"] -atlas = ExtResource("1_ufs7s") -region = Rect2(137, 0, 47, 101) - -[resource] -script = ExtResource("1_sngfh") -NameKey = "buckethead" -DescriptionKey = "buckethead_desc" -Cost = 5.0 -Scene = ExtResource("1_lhcag") -ReloadTime = 1.0 -ReloadProgress = 0.0 -Preview = SubResource("AtlasTexture_drksh") -Order = 2 -metadata/_custom_type_script = "uid://cqxj7o8hdm82n" diff --git a/assets/zombies/conehead.tres b/assets/zombies/conehead.tres deleted file mode 100644 index 64b2f05..0000000 --- a/assets/zombies/conehead.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="ZombieResource" load_steps=5 format=3 uid="uid://nceohd32fkxk"] - -[ext_resource type="Texture2D" uid="uid://5gpf2sodhn6e" path="res://assets/sprites/zombies/previews.png" id="1_f7g7v"] -[ext_resource type="PackedScene" uid="uid://hhjbqkjqpt7x" path="res://scenes/entities/Zombies/cone_zombie.tscn" id="1_llf5l"] -[ext_resource type="Script" uid="uid://cqxj7o8hdm82n" path="res://scripts/resources/entities/ZombieResource.cs" id="1_sw7hj"] - -[sub_resource type="AtlasTexture" id="AtlasTexture_q44xp"] -atlas = ExtResource("1_f7g7v") -region = Rect2(92, 0, 45, 106) - -[resource] -script = ExtResource("1_sw7hj") -NameKey = "conehead" -DescriptionKey = "conehead_desc" -Cost = 2.0 -Scene = ExtResource("1_llf5l") -ReloadTime = 1.0 -ReloadProgress = 0.0 -Preview = SubResource("AtlasTexture_q44xp") -Order = 1 -metadata/_custom_type_script = "uid://cqxj7o8hdm82n" diff --git a/assets/zombies/hobo.tres b/assets/zombies/hobo.tres deleted file mode 100644 index ed23809..0000000 --- a/assets/zombies/hobo.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="ZombieResource" load_steps=5 format=3 uid="uid://c38vfdw5b60xw"] - -[ext_resource type="PackedScene" uid="uid://bgqmwsb6ynm81" path="res://scenes/entities/Zombies/hobo.tscn" id="1_4myt6"] -[ext_resource type="Texture2D" uid="uid://5gpf2sodhn6e" path="res://assets/sprites/zombies/previews.png" id="1_nt7w3"] -[ext_resource type="Script" uid="uid://cqxj7o8hdm82n" path="res://scripts/resources/entities/ZombieResource.cs" id="1_u5qpq"] - -[sub_resource type="AtlasTexture" id="AtlasTexture_73ahc"] -atlas = ExtResource("1_nt7w3") -region = Rect2(43, 0, 49, 95) - -[resource] -script = ExtResource("1_u5qpq") -NameKey = "hobo" -DescriptionKey = "hobo_desc" -Cost = 7.0 -Scene = ExtResource("1_4myt6") -ReloadTime = 1.0 -ReloadProgress = 0.0 -Preview = SubResource("AtlasTexture_73ahc") -Order = 5 -metadata/_custom_type_script = "uid://cqxj7o8hdm82n" diff --git a/default_bus_layout.tres b/default_bus_layout.tres deleted file mode 100644 index 1654afb..0000000 --- a/default_bus_layout.tres +++ /dev/null @@ -1,16 +0,0 @@ -[gd_resource type="AudioBusLayout" format=3 uid="uid://igejanqt2yqf"] - -[resource] -bus/0/volume_db = -0.130497 -bus/1/name = &"MusicBus" -bus/1/solo = false -bus/1/mute = false -bus/1/bypass_fx = false -bus/1/volume_db = -0.130497 -bus/1/send = &"Master" -bus/2/name = &"SFXBus" -bus/2/solo = false -bus/2/mute = false -bus/2/bypass_fx = false -bus/2/volume_db = 0.0 -bus/2/send = &"Master" diff --git a/export/deploy-nightly.ps1 b/export/deploy-nightly.ps1 deleted file mode 100644 index cf70b89..0000000 --- a/export/deploy-nightly.ps1 +++ /dev/null @@ -1,14 +0,0 @@ -# Step 1: Read the contents of "token.txt" into variable $tkn -$tkn = Get-Content -Path "token.txt" -Raw - -# Step 2: Prompt the user for version input -$ver = Read-Host "Enter version" - -# Step 3: Compress "build_folder" into a zip file named "lon$ver.zip" -$zipName = "lon$ver.zip" -Compress-Archive -Path "build_folder" -DestinationPath $zipName -Force - -& ".\deploy_tools\butler.exe" push $zipName "lon-team/lon-test:windows" --userversion $ver -# Step 4: Execute deploy_tools\gjpush with required arguments -#& ".\deploy_tools\gjpush.exe" -t $tkn -g 1005720 -p 1012636 -r $ver $zipName -Remove-Item $zipName \ No newline at end of file diff --git a/export/deploy.ps1 b/export/deploy.ps1 deleted file mode 100644 index aacc66b..0000000 --- a/export/deploy.ps1 +++ /dev/null @@ -1,14 +0,0 @@ -# Step 1: Read the contents of "token.txt" into variable $tkn -$tkn = Get-Content -Path "token.txt" -Raw - -# Step 2: Prompt the user for version input -$ver = Read-Host "Enter version" - -# Step 3: Compress "build_folder" into a zip file named "lon$ver.zip" -$zipName = "lon$ver.zip" -Compress-Archive -Path "build_folder" -DestinationPath $zipName -Force - -& ".\deploy_tools\butler.exe" push $zipName "lon-team/liberation-of-neighbourville:windows" --userversion $ver -# Step 4: Execute deploy_tools\gjpush with required arguments -#& ".\deploy_tools\gjpush.exe" -t $tkn -g 1005720 -p 1012636 -r $ver $zipName -Remove-Item $zipName \ No newline at end of file diff --git a/export/deploy_tools/7z.dll b/export/deploy_tools/7z.dll deleted file mode 100644 index ed9c15b..0000000 Binary files a/export/deploy_tools/7z.dll and /dev/null differ diff --git a/export/deploy_tools/butler.exe b/export/deploy_tools/butler.exe deleted file mode 100644 index a6adff0..0000000 Binary files a/export/deploy_tools/butler.exe and /dev/null differ diff --git a/export/deploy_tools/c7zip.dll b/export/deploy_tools/c7zip.dll deleted file mode 100644 index 20c6ec8..0000000 Binary files a/export/deploy_tools/c7zip.dll and /dev/null differ diff --git a/export/deploy_tools/gjpush.exe b/export/deploy_tools/gjpush.exe deleted file mode 100644 index b45524f..0000000 Binary files a/export/deploy_tools/gjpush.exe and /dev/null differ diff --git a/project.godot b/project.godot index 96ed95b..8d3ad66 100644 --- a/project.godot +++ b/project.godot @@ -17,20 +17,14 @@ warnings/check_angle_interpolation_type_conflicting=false config/name="Liberation of the Neighbourville" config/version="0.3.0" -run/main_scene="uid://bfstrli64u23y" -config/features=PackedStringArray("4.4", "C#", "Forward Plus") +run/main_scene="uid://bh1yiiv1fi0b8" +config/features=PackedStringArray("4.4", "Forward Plus") config/icon="res://icon.png" config/windows_native_icon="res://icon.ico" [autoload] -LevelController="*res://scripts/level/LevelController.cs" -GameRegistry="*res://scripts/systems/GameRegistry.cs" -Cheats="*res://scripts/debug/Cheats.cs" -AudioSequencer="*res://scenes/audio_sequencer.tscn" -SaveSerializer="*res://scripts/SaveSerializer.cs" -PlayerProgress="*res://scripts/systems/static-data/PlayerProgress.cs" -GamepadHandler="*res://scripts/gamepad/GamepadHandler.cs" +LevelEventBus="*res://scripts/autoloads/level_event_bus.gd" [display] @@ -40,34 +34,24 @@ window/stretch/mode="canvas_items" [dotnet] -project/assembly_name="NewLON" - -[editor] - -movie_writer/movie_file="D:/Projects/GOIDA/newlon/clips/movie.avi" +project/assembly_name="Liberation of the Neighbourville" [editor_plugins] -enabled=PackedStringArray("res://addons/floatmodifiers/plugin.cfg", "res://addons/pvzadventure/plugin.cfg") - -[file_customization] - -folder_colors={ -"res://assets/levels/": "purple", -"res://assets/plants/": "green", -"res://assets/sprites/atlases/plants/": "green", -"res://scenes/": "red", -"res://scenes/entities/plants/": "green", -"res://scripts/": "blue" -} +enabled=PackedStringArray() [filesystem] import/blender/enabled=false +[global_group] + +Plants="Mostly player's means of defence" +Zombies="Agressors of player" +Projectile="Something that has ben shot" + [gui] -theme/custom="res://assets/themes/GameStyle.tres" theme/custom_font="res://assets/fonts/pico12.ttf" [input] @@ -200,15 +184,12 @@ locale/translations=PackedStringArray("res://translations/plants.en.translation" [layer_names] 2d_physics/layer_1="Structures" -2d_physics/layer_2="Plants Dummy" -2d_physics/layer_3="Plants True" -2d_physics/layer_4="Zombies Dummy" -2d_physics/layer_5="Zombies True" -2d_physics/layer_6="Projectiles" -2d_physics/layer_7="FallLine" -2d_physics/layer_8="FallParticles" -2d_physics/layer_9="Tiles" +2d_physics/layer_2="Plants" +2d_physics/layer_3="Zombies" +2d_physics/layer_4="Projectiles" [rendering] textures/canvas_textures/default_texture_filter=0 +renderer/rendering_method="gl_compatibility" +renderer/rendering_method.mobile="gl_compatibility" diff --git a/puki.txt b/puki.txt deleted file mode 100644 index 7948cdf..0000000 --- a/puki.txt +++ /dev/null @@ -1,33 +0,0 @@ -В начале сотворил Бог небо и землю. -Земля же была безвидна и пуста, и тьма над бездною, и Дух Божий носился над водою. -И сказал Бог: да будет свет. И стал свет. -И увидел Бог свет, что он хорош, и отделил Бог свет от тьмы. -И назвал Бог свет днем, а тьму ночью. И был вечер, и было утро: день один. -И сказал Бог: да будет твердь посреди воды, и да отделяет она воду от воды. [И стало так.] -И создал Бог твердь, и отделил воду, которая под твердью, от воды, которая над твердью. И стало так. -И назвал Бог твердь небом. [И увидел Бог, что -хорошо.] И был вечер, и было утро: день второй. -И сказал Бог: да соберется вода, которая под небом, в одно место, и да явится суша. И стало так. [И собралась вода под небом в свои места, и явилась суша.] -И назвал Бог сушу землею, а собрание вод назвал морями. И увидел Бог, что это хорошо. -И сказал Бог: да произрастит земля зелень, траву, сеющую семя [по роду и по подобию -и] дерево плодовитое, приносящее по роду своему плод, в котором семя его на земле. И стало так. -И произвела земля зелень, траву, сеющую семя по роду [и по подобию] ее, и дерево [плодовитое], приносящее плод, в котором семя его по роду его [на земле]. И увидел Бог, что это хорошо. -И был вечер, и было утро: день третий. -И сказал Бог: да будут светила на тверди небесной [для освещения земли и] для отделения дня от ночи, и для знамений, и времен, и дней, и годов; -и да будут они светильниками на тверди небесной, чтобы светить на землю. И стало так. -И создал Бог два светила великие: светило большее, для управления днем, и светило меньшее, для управления ночью, и звезды; -и поставил их Бог на тверди небесной, чтобы светить на землю, -и управлять днем и ночью, и отделять свет от тьмы. И увидел Бог, что это хорошо. -И был вечер, и было утро: день четвёртый. -И сказал Бог: да произведет вода пресмыкающихся, душу живую; и птицы да полетят над землею, по тверди небесной. [И стало так.] -И сотворил Бог рыб больших и всякую душу животных пресмыкающихся, которых произвела вода, по роду их, и всякую птицу пернатую по роду ее. И увидел Бог, что это хорошо. -И благословил их Бог, говоря: плодитесь и размножайтесь, и наполняйте воды в морях, и птицы да размножаются на земле. -И был вечер, и было утро: день пятый. -И сказал Бог: да произведет земля душу живую по роду ее, скотов, и гадов, и зверей земных по роду их. И стало так. -И создал Бог зверей земных по роду их, и скот по роду его, и всех гадов земных по роду их. И увидел Бог, что это хорошо. -И сказал Бог: сотворим человека по образу Нашему [и] по подобию Нашему, и да владычествуют они над рыбами морскими, и над птицами небесными, [и над зверями,] и над скотом, и над всею землею, и над всеми гадами, пресмыкающимися по земле. -И сотворил Бог человека по образу Своему, по образу Божию сотворил его; мужчину и женщину сотворил их. -И благословил их Бог, и сказал им Бог: плодитесь и размножайтесь, и наполняйте землю, и обладайте ею, и владычествуйте над рыбами морскими [и над зверями,] и над птицами небесными, [и над всяким скотом, и над всею землею,] и над всяким животным, пресмыкающимся по земле. -И сказал Бог: вот, Я дал вам всякую траву, сеющую семя, какая есть на всей земле, и всякое дерево, у которого плод древесный, сеющий семя; – вам сие будет в пищу; -а всем зверям земным, и всем птицам небесным, и всякому [гаду,] пресмыкающемуся по земле, в котором душа живая, дал Я всю зелень травную в пищу. И стало так. -И увидел Бог все, что Он создал, и вот, хорошо весьма. И был вечер, и было утро: день шестой. diff --git a/resources/plants/aloe.tres b/resources/plants/aloe.tres new file mode 100644 index 0000000..0b41558 --- /dev/null +++ b/resources/plants/aloe.tres @@ -0,0 +1,15 @@ +[gd_resource type="Resource" script_class="SeedpacketResource" load_steps=4 format=3 uid="uid://d1nwlatkrtkpe"] + +[ext_resource type="Script" uid="uid://dtjdfji87kybn" path="res://scripts/resources/entity_resource.gd" id="1_giqbo"] +[ext_resource type="Texture2D" uid="uid://d4btl7vqi4v0q" path="res://assets/sprites/plants/aloe.tres" id="1_qou1a"] +[ext_resource type="PackedScene" uid="uid://dba4s3ke32u0l" path="res://scenes/plants/aloe.tscn" id="2_6p2kr"] + +[resource] +script = ExtResource("1_giqbo") +preview = ExtResource("1_qou1a") +cost = 75.0 +recharge_time = 5.0 +initial_recharge_percent = 1.0 +scene = ExtResource("2_6p2kr") +order = 0 +metadata/_custom_type_script = "uid://dtjdfji87kybn" diff --git a/resources/plants/cucumber.tres b/resources/plants/cucumber.tres new file mode 100644 index 0000000..0da1a81 --- /dev/null +++ b/resources/plants/cucumber.tres @@ -0,0 +1,17 @@ +[gd_resource type="Resource" script_class="SeedpacketResource" load_steps=4 format=3 uid="uid://bwsd31okx0yxc"] + +[ext_resource type="Texture2D" uid="uid://dvldjlg0nr355" path="res://assets/sprites/atlases/atlas1.png" id="1_snnbv"] +[ext_resource type="Script" uid="uid://dtjdfji87kybn" path="res://scripts/resources/entity_resource.gd" id="2_fl6wr"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_fl6wr"] +atlas = ExtResource("1_snnbv") +region = Rect2(353, 241, 41, 65) + +[resource] +script = ExtResource("2_fl6wr") +preview = SubResource("AtlasTexture_fl6wr") +cost = 75.0 +recharge_time = 5.0 +initial_recharge_percent = 1.0 +order = 0 +metadata/_custom_type_script = "uid://dtjdfji87kybn" diff --git a/resources/plants/peashooter.tres b/resources/plants/peashooter.tres new file mode 100644 index 0000000..d448189 --- /dev/null +++ b/resources/plants/peashooter.tres @@ -0,0 +1,15 @@ +[gd_resource type="Resource" script_class="SeedpacketResource" load_steps=4 format=3 uid="uid://bf8u3nwwn5e1d"] + +[ext_resource type="Texture2D" uid="uid://ot1n4nval86w" path="res://assets/sprites/plants/peashooter.tres" id="1_o0b0s"] +[ext_resource type="Script" uid="uid://dtjdfji87kybn" path="res://scripts/resources/entity_resource.gd" id="2_jwk2v"] +[ext_resource type="PackedScene" uid="uid://bxs34adppsh5e" path="res://scenes/plants/peashooter.tscn" id="2_n78qv"] + +[resource] +script = ExtResource("2_jwk2v") +preview = ExtResource("1_o0b0s") +cost = 75.0 +recharge_time = 5.0 +initial_recharge_percent = 1.0 +scene = ExtResource("2_n78qv") +order = 0 +metadata/_custom_type_script = "uid://dtjdfji87kybn" diff --git a/resources/plants/sunflower.tres b/resources/plants/sunflower.tres new file mode 100644 index 0000000..6db3eb1 --- /dev/null +++ b/resources/plants/sunflower.tres @@ -0,0 +1,13 @@ +[gd_resource type="Resource" script_class="SeedpacketResource" load_steps=3 format=3 uid="uid://4epsulft2pub"] + +[ext_resource type="Texture2D" uid="uid://iw75j816gbc" path="res://assets/sprites/plants/sunflower.tres" id="1_o7rt7"] +[ext_resource type="Script" uid="uid://dtjdfji87kybn" path="res://scripts/resources/entity_resource.gd" id="2_6ebgj"] + +[resource] +script = ExtResource("2_6ebgj") +preview = ExtResource("1_o7rt7") +cost = 50.0 +recharge_time = 5.0 +initial_recharge_percent = 0.0 +order = 1 +metadata/_custom_type_script = "uid://dtjdfji87kybn" diff --git a/resources/plants/wallnut.tres b/resources/plants/wallnut.tres new file mode 100644 index 0000000..72c815e --- /dev/null +++ b/resources/plants/wallnut.tres @@ -0,0 +1,12 @@ +[gd_resource type="Resource" script_class="SeedpacketResource" load_steps=3 format=3 uid="uid://dxe0cnfw2j1x0"] + +[ext_resource type="Texture2D" uid="uid://g2oppl54efja" path="res://assets/sprites/plants/Wallnut.tres" id="1_ggq3n"] +[ext_resource type="Script" uid="uid://dtjdfji87kybn" path="res://scripts/resources/entity_resource.gd" id="2_10a4p"] + +[resource] +script = ExtResource("2_10a4p") +preview = ExtResource("1_ggq3n") +cost = 50.0 +recharge_time = 24.0 +initial_recharge_percent = 1.0 +metadata/_custom_type_script = "uid://dtjdfji87kybn" diff --git a/resources/zombies/basic.tres b/resources/zombies/basic.tres new file mode 100644 index 0000000..10a9b50 --- /dev/null +++ b/resources/zombies/basic.tres @@ -0,0 +1,15 @@ +[gd_resource type="Resource" script_class="SeedpacketResource" load_steps=4 format=3 uid="uid://cbooo6i1rifb7"] + +[ext_resource type="Texture2D" uid="uid://dunlsp8tx7a4w" path="res://assets/sprites/zombies/Зондби.png" id="1_c2mq3"] +[ext_resource type="Script" uid="uid://dtjdfji87kybn" path="res://scripts/resources/entity_resource.gd" id="1_k277m"] +[ext_resource type="PackedScene" uid="uid://dunih4xhnupy5" path="res://scenes/zombies/basic.tscn" id="2_l6de4"] + +[resource] +script = ExtResource("1_k277m") +preview = ExtResource("1_c2mq3") +cost = 1.0 +recharge_time = 5.0 +initial_recharge_percent = 1.0 +scene = ExtResource("2_l6de4") +order = 0 +metadata/_custom_type_script = "uid://dtjdfji87kybn" diff --git a/scenes/audio_sequencer.tscn b/scenes/audio_sequencer.tscn deleted file mode 100644 index a9df5dc..0000000 --- a/scenes/audio_sequencer.tscn +++ /dev/null @@ -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") diff --git a/scenes/debug_location.tscn b/scenes/debug_location.tscn deleted file mode 100644 index 77dfd92..0000000 --- a/scenes/debug_location.tscn +++ /dev/null @@ -1,3 +0,0 @@ -[gd_scene format=3 uid="uid://bu5ryqtgqwjp6"] - -[node name="DebugLocation" type="Node2D"] diff --git a/scenes/debug_lvl.tscn b/scenes/debug_lvl.tscn deleted file mode 100644 index e216c3e..0000000 --- a/scenes/debug_lvl.tscn +++ /dev/null @@ -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"] diff --git a/scenes/droppables/plant/droppable_peashooter.tscn b/scenes/droppables/plant/droppable_peashooter.tscn deleted file mode 100644 index b5cdf30..0000000 --- a/scenes/droppables/plant/droppable_peashooter.tscn +++ /dev/null @@ -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") diff --git a/scenes/entities/Zombies/bucket_zombie.tscn b/scenes/entities/Zombies/bucket_zombie.tscn deleted file mode 100644 index e8d6372..0000000 --- a/scenes/entities/Zombies/bucket_zombie.tscn +++ /dev/null @@ -1,1279 +0,0 @@ -[gd_scene load_steps=71 format=3 uid="uid://xu4i6tmkv00a"] - -[ext_resource type="Script" uid="uid://dildme6epx8l4" path="res://scripts/entities/zombies/RuntimeZombieData.cs" id="1_6aq6w"] -[ext_resource type="Texture2D" uid="uid://ce04l60l6mhfk" path="res://assets/sprites/bucket1.tres" id="3_0nlp0"] -[ext_resource type="Script" uid="uid://dt5uj25u0g6y3" path="res://scripts/particles/FallParticle.cs" id="4_1avwi"] -[ext_resource type="Script" uid="uid://c3cfnrmnnuqms" path="res://addons/floatmodifiers/FloatModifiers.cs" id="4_1s2fn"] -[ext_resource type="Texture2D" uid="uid://ikk4jp7mvm3s" path="res://assets/sprites/bucket2.tres" id="4_xx7fu"] -[ext_resource type="AudioStream" uid="uid://bu1egfsyplpx4" path="res://assets/audio/sfx/metalhit_generic.tres" id="5_lt6ps"] -[ext_resource type="Texture2D" uid="uid://cmmpfi8ug43l2" path="res://assets/sprites/bucket3.tres" id="5_v1iwd"] -[ext_resource type="Script" uid="uid://dau0tfmlfiqmo" path="res://scripts/entities/EntityHPObserver.cs" id="5_wndvs"] -[ext_resource type="AudioStream" uid="uid://w0qfwds4o3ti" path="res://assets/audio/sfx/hit_generic.tres" id="6_kedip"] -[ext_resource type="Texture2D" uid="uid://dacgbwohpmeed" path="res://assets/sprites/zombies/basic.png" id="6_lea3a"] -[ext_resource type="Script" uid="uid://bbw848msxb4re" path="res://scripts/entities/DegradingSprite.cs" id="8_jdtg8"] -[ext_resource type="Texture2D" uid="uid://dri70dxyks7xh" path="res://assets/sprites/zombies/hobo.png" id="11_5swed"] -[ext_resource type="AnimationLibrary" uid="uid://ceb3khu7rwgy8" path="res://assets/animations/zombies/basic.res" id="12_gjchu"] -[ext_resource type="Script" uid="uid://dw7v3s4kbu7ma" path="res://scripts/entities/AnimationStatistics.cs" id="13_lbhkf"] -[ext_resource type="Script" uid="uid://dqyony6jxt2p0" path="res://scripts/entities/zombies/EatBox.cs" id="14_xxv4d"] -[ext_resource type="AnimationNodeStateMachine" uid="uid://dj0blope85bg7" path="res://assets/animations/zombies/basic_zombie_tree.tres" id="16_bufgc"] -[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="17_3hgrb"] -[ext_resource type="Script" uid="uid://7hdj2k14lfe4" path="res://scripts/entities/zombies/ZombieMover.cs" id="18_tffdk"] -[ext_resource type="Script" uid="uid://cnn0ymuhypdff" path="res://scripts/audio/ChannelPlaylist.cs" id="19_k2y7k"] -[ext_resource type="Script" uid="uid://fd4im1fmwc5n" path="res://scripts/entities/Armor.cs" id="22_aasgd"] -[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="23_rgojs"] -[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="24_3ui6x"] -[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="24_wndvs"] -[ext_resource type="AudioStream" uid="uid://bg76miyscfvhu" path="res://assets/audio/sfx/groan.tres" id="25_ix7xe"] -[ext_resource type="Script" uid="uid://b8r6fxsfjdo3a" path="res://scripts/audio/EffectBasedPlayer.cs" id="26_7018m"] -[ext_resource type="Resource" uid="uid://dsg1vjx76ifgu" path="res://assets/effects/GarlicEffect.tres" id="27_wd16f"] -[ext_resource type="Resource" uid="uid://7uj0oe656jfx" path="res://assets/effects/SnowSlow.tres" id="28_b1su1"] -[ext_resource type="AudioStream" uid="uid://dt13iugnnx4op" path="res://assets/audio/sfx/yuck_generic.tres" id="29_si5j4"] -[ext_resource type="AudioStream" uid="uid://bjotp63arocci" path="res://assets/audio/sfx/frozen.mp3" id="30_qu32w"] -[ext_resource type="Script" uid="uid://c1x4n4nqyq72f" path="res://scripts/audio/ChannelSettings.cs" id="31_lml24"] -[ext_resource type="Script" uid="uid://dk32ln8c2574d" path="res://scripts/entities/zombies/ZombieKillHandler.cs" id="32_m7hhr"] -[ext_resource type="Material" uid="uid://jr0vpg030jqv" path="res://assets/ZombieMaterial.tres" id="34_jdtg8"] - -[sub_resource type="SkeletonModification2DCCDIK" id="SkeletonModification2DCCDIK_wn68q"] -tip_nodepath = NodePath("Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand") -ccdik_data_chain_length = 2 -joint_data/0/bone_index = 17 -joint_data/0/bone2d_node = NodePath("Butt/Body/LeftUpperArm/LeftLowerArm") -joint_data/0/rotate_from_joint = false -joint_data/0/enable_constraint = true -joint_data/0/constraint_angle_min = 0.0 -joint_data/0/constraint_angle_max = 90.0 -joint_data/0/constraint_angle_invert = false -joint_data/0/constraint_in_localspace = true -joint_data/0/editor_draw_gizmo = true -joint_data/1/bone_index = 16 -joint_data/1/bone2d_node = NodePath("Butt/Body/LeftUpperArm") -joint_data/1/rotate_from_joint = false -joint_data/1/enable_constraint = false -joint_data/1/editor_draw_gizmo = true -editor/draw_gizmo = false - -[sub_resource type="SkeletonModification2DCCDIK" id="SkeletonModification2DCCDIK_x5uj2"] -tip_nodepath = NodePath("Butt/Body/RightUpperArm/RightLowerArm/RightHand") -ccdik_data_chain_length = 2 -joint_data/0/bone_index = 8 -joint_data/0/bone2d_node = NodePath("Butt/Body/RightUpperArm") -joint_data/0/rotate_from_joint = false -joint_data/0/enable_constraint = false -joint_data/0/editor_draw_gizmo = true -joint_data/1/bone_index = 9 -joint_data/1/bone2d_node = NodePath("Butt/Body/RightUpperArm/RightLowerArm") -joint_data/1/rotate_from_joint = false -joint_data/1/enable_constraint = true -joint_data/1/constraint_angle_min = 0.0 -joint_data/1/constraint_angle_max = 90.0 -joint_data/1/constraint_angle_invert = false -joint_data/1/constraint_in_localspace = true -joint_data/1/editor_draw_gizmo = true -editor/draw_gizmo = false - -[sub_resource type="SkeletonModification2DCCDIK" id="SkeletonModification2DCCDIK_vcc72"] -tip_nodepath = NodePath("Butt/RightUpperLeg/RightLowerLeg/RightFoot") -ccdik_data_chain_length = 2 -joint_data/0/bone_index = 1 -joint_data/0/bone2d_node = NodePath("Butt/RightUpperLeg") -joint_data/0/rotate_from_joint = false -joint_data/0/enable_constraint = true -joint_data/0/constraint_angle_min = -90.0 -joint_data/0/constraint_angle_max = 90.0 -joint_data/0/constraint_angle_invert = true -joint_data/0/constraint_in_localspace = true -joint_data/0/editor_draw_gizmo = true -joint_data/1/bone_index = 2 -joint_data/1/bone2d_node = NodePath("Butt/RightUpperLeg/RightLowerLeg") -joint_data/1/rotate_from_joint = false -joint_data/1/enable_constraint = true -joint_data/1/constraint_angle_min = 0.0 -joint_data/1/constraint_angle_max = 160.0 -joint_data/1/constraint_angle_invert = false -joint_data/1/constraint_in_localspace = true -joint_data/1/editor_draw_gizmo = true -editor/draw_gizmo = false - -[sub_resource type="SkeletonModification2DCCDIK" id="SkeletonModification2DCCDIK_kto0i"] -tip_nodepath = NodePath("Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot") -ccdik_data_chain_length = 2 -joint_data/0/bone_index = 4 -joint_data/0/bone2d_node = NodePath("Butt/LeftUpperLeg") -joint_data/0/rotate_from_joint = false -joint_data/0/enable_constraint = true -joint_data/0/constraint_angle_min = -90.0 -joint_data/0/constraint_angle_max = 90.0 -joint_data/0/constraint_angle_invert = true -joint_data/0/constraint_in_localspace = true -joint_data/0/editor_draw_gizmo = true -joint_data/1/bone_index = 5 -joint_data/1/bone2d_node = NodePath("Butt/LeftUpperLeg/LeftLowerLeg") -joint_data/1/rotate_from_joint = false -joint_data/1/enable_constraint = true -joint_data/1/constraint_angle_min = -90.0 -joint_data/1/constraint_angle_max = 0.0 -joint_data/1/constraint_angle_invert = true -joint_data/1/constraint_in_localspace = true -joint_data/1/editor_draw_gizmo = true -editor/draw_gizmo = false - -[sub_resource type="SkeletonModificationStack2D" id="SkeletonModificationStack2D_wn68q"] -modification_count = 4 -modifications/0 = SubResource("SkeletonModification2DCCDIK_wn68q") -modifications/1 = SubResource("SkeletonModification2DCCDIK_x5uj2") -modifications/2 = SubResource("SkeletonModification2DCCDIK_vcc72") -modifications/3 = SubResource("SkeletonModification2DCCDIK_kto0i") - -[sub_resource type="AtlasTexture" id="AtlasTexture_jvn5w"] -atlas = ExtResource("6_lea3a") -region = Rect2(15, 30, 20, 8) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vmdbp"] -atlas = ExtResource("6_lea3a") -region = Rect2(64, 44, 10, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_x1oyw"] -atlas = ExtResource("6_lea3a") -region = Rect2(93, 50, 17, 9) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vjx3c"] -atlas = ExtResource("6_lea3a") -region = Rect2(79, 44, 10, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_f31xd"] -atlas = ExtResource("6_lea3a") -region = Rect2(47, 33, 8, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_od8jf"] -atlas = ExtResource("6_lea3a") -region = Rect2(59, 33, 7, 10) - -[sub_resource type="AtlasTexture" id="AtlasTexture_p4711"] -atlas = ExtResource("6_lea3a") -region = Rect2(71, 30, 19, 13) - -[sub_resource type="AtlasTexture" id="AtlasTexture_1bk2b"] -atlas = ExtResource("6_lea3a") -region = Rect2(12, 43, 6, 18) - -[sub_resource type="AtlasTexture" id="AtlasTexture_y06yv"] -atlas = ExtResource("6_lea3a") -region = Rect2(36, 50, 9, 11) - -[sub_resource type="AtlasTexture" id="AtlasTexture_lu8go"] -atlas = ExtResource("6_lea3a") -region = Rect2(22, 45, 8, 15) - -[sub_resource type="AtlasTexture" id="AtlasTexture_cdq7v"] -atlas = ExtResource("6_lea3a") -region = Rect2(93, 8, 29, 39) - -[sub_resource type="AtlasTexture" id="AtlasTexture_e7wc3"] -atlas = ExtResource("6_lea3a") -region = Rect2(72, 2, 13, 26) - -[sub_resource type="AtlasTexture" id="AtlasTexture_wn68q"] -atlas = ExtResource("6_lea3a") -region = Rect2(36, 0, 32, 29) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vcc72"] -atlas = ExtResource("6_lea3a") -region = Rect2(93, 3, 2, 3) - -[sub_resource type="AtlasTexture" id="AtlasTexture_kto0i"] -atlas = ExtResource("6_lea3a") -region = Rect2(105, 2, 3, 4) - -[sub_resource type="AtlasTexture" id="AtlasTexture_x5uj2"] -atlas = ExtResource("6_lea3a") -region = Rect2(15, 17, 17, 6) - -[sub_resource type="CircleShape2D" id="CircleShape2D_dn8ha"] - -[sub_resource type="CircleShape2D" id="CircleShape2D_67t4t"] - -[sub_resource type="AtlasTexture" id="AtlasTexture_djocr"] -atlas = ExtResource("6_lea3a") -region = Rect2(2, 7, 6, 19) - -[sub_resource type="AtlasTexture" id="AtlasTexture_auqeq"] -atlas = ExtResource("6_lea3a") -region = Rect2(0, 32, 9, 15) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vlvtp"] -atlas = ExtResource("11_5swed") -region = Rect2(55, 0, 9, 10) - -[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_ccrjo"] -radius = 3.00026 -height = 16.007 - -[sub_resource type="AtlasTexture" id="AtlasTexture_wfem3"] -atlas = ExtResource("6_lea3a") -region = Rect2(24, 2, 9, 9) - -[sub_resource type="AtlasTexture" id="AtlasTexture_4q1fo"] -atlas = ExtResource("6_lea3a") -region = Rect2(0, 32, 9, 15) - -[sub_resource type="Animation" id="Animation_vn3j1"] -resource_name = "RESET" -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Zombie/Butt/Body/LeftUpperArm/LeftLowerArm:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-2, 14)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Zombie/Butt/Body/LeftUpperArm/LeftLowerArm:rotation") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand:position") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-1, 13)] -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand:rotation") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/4/type = "value" -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/path = NodePath("Zombie/Butt/Body/LeftUpperArm:position") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-1, -20)] -} -tracks/5/type = "value" -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/path = NodePath("Zombie/Butt/Body/LeftUpperArm:rotation") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/6/type = "value" -tracks/6/imported = false -tracks/6/enabled = true -tracks/6/path = NodePath("Zombie/Butt/Body/Head/LeftEye:position") -tracks/6/interp = 1 -tracks/6/loop_wrap = true -tracks/6/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-4, -9)] -} -tracks/7/type = "value" -tracks/7/imported = false -tracks/7/enabled = true -tracks/7/path = NodePath("Zombie/Butt/Body/Head/LeftEye:rotation") -tracks/7/interp = 1 -tracks/7/loop_wrap = true -tracks/7/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/8/type = "value" -tracks/8/imported = false -tracks/8/enabled = true -tracks/8/path = NodePath("Zombie/Butt/Body/Head/RightEye:position") -tracks/8/interp = 1 -tracks/8/loop_wrap = true -tracks/8/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-16, -8)] -} -tracks/9/type = "value" -tracks/9/imported = false -tracks/9/enabled = true -tracks/9/path = NodePath("Zombie/Butt/Body/Head/RightEye:rotation") -tracks/9/interp = 1 -tracks/9/loop_wrap = true -tracks/9/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/10/type = "value" -tracks/10/imported = false -tracks/10/enabled = true -tracks/10/path = NodePath("Zombie/Butt/Body/Head/Jaw:position") -tracks/10/interp = 1 -tracks/10/loop_wrap = true -tracks/10/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-3, 3)] -} -tracks/11/type = "value" -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/path = NodePath("Zombie/Butt/Body/Head/Jaw:rotation") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/12/type = "value" -tracks/12/imported = false -tracks/12/enabled = true -tracks/12/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm/RightHand:position") -tracks/12/interp = 1 -tracks/12/loop_wrap = true -tracks/12/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-1, 13)] -} -tracks/13/type = "value" -tracks/13/imported = false -tracks/13/enabled = true -tracks/13/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm/RightHand:rotation") -tracks/13/interp = 1 -tracks/13/loop_wrap = true -tracks/13/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/14/type = "value" -tracks/14/imported = false -tracks/14/enabled = true -tracks/14/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm:position") -tracks/14/interp = 1 -tracks/14/loop_wrap = true -tracks/14/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-2, 15)] -} -tracks/15/type = "value" -tracks/15/imported = false -tracks/15/enabled = true -tracks/15/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm:rotation") -tracks/15/interp = 1 -tracks/15/loop_wrap = true -tracks/15/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/16/type = "value" -tracks/16/imported = false -tracks/16/enabled = true -tracks/16/path = NodePath("Zombie/Butt/Body/RightUpperArm:position") -tracks/16/interp = 1 -tracks/16/loop_wrap = true -tracks/16/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-14, -23)] -} -tracks/17/type = "value" -tracks/17/imported = false -tracks/17/enabled = true -tracks/17/path = NodePath("Zombie/Butt/Body/RightUpperArm:rotation") -tracks/17/interp = 1 -tracks/17/loop_wrap = true -tracks/17/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/18/type = "value" -tracks/18/imported = false -tracks/18/enabled = true -tracks/18/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot:position") -tracks/18/interp = 1 -tracks/18/loop_wrap = true -tracks/18/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(6, 10)] -} -tracks/19/type = "value" -tracks/19/imported = false -tracks/19/enabled = true -tracks/19/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot:rotation") -tracks/19/interp = 1 -tracks/19/loop_wrap = true -tracks/19/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/20/type = "value" -tracks/20/imported = false -tracks/20/enabled = true -tracks/20/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg:position") -tracks/20/interp = 1 -tracks/20/loop_wrap = true -tracks/20/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-1, 13)] -} -tracks/21/type = "value" -tracks/21/imported = false -tracks/21/enabled = true -tracks/21/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg:rotation") -tracks/21/interp = 1 -tracks/21/loop_wrap = true -tracks/21/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/22/type = "value" -tracks/22/imported = false -tracks/22/enabled = true -tracks/22/path = NodePath("Zombie/Butt/LeftUpperLeg:position") -tracks/22/interp = 1 -tracks/22/loop_wrap = true -tracks/22/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(6, 4)] -} -tracks/23/type = "value" -tracks/23/imported = false -tracks/23/enabled = true -tracks/23/path = NodePath("Zombie/Butt/LeftUpperLeg:rotation") -tracks/23/interp = 1 -tracks/23/loop_wrap = true -tracks/23/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/24/type = "value" -tracks/24/imported = false -tracks/24/enabled = true -tracks/24/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg/RightFoot:position") -tracks/24/interp = 1 -tracks/24/loop_wrap = true -tracks/24/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-2, 14)] -} -tracks/25/type = "value" -tracks/25/imported = false -tracks/25/enabled = true -tracks/25/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg/RightFoot:rotation") -tracks/25/interp = 1 -tracks/25/loop_wrap = true -tracks/25/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/26/type = "value" -tracks/26/imported = false -tracks/26/enabled = true -tracks/26/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg:position") -tracks/26/interp = 1 -tracks/26/loop_wrap = true -tracks/26/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-2, 12)] -} -tracks/27/type = "value" -tracks/27/imported = false -tracks/27/enabled = true -tracks/27/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg:rotation") -tracks/27/interp = 1 -tracks/27/loop_wrap = true -tracks/27/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/28/type = "value" -tracks/28/imported = false -tracks/28/enabled = true -tracks/28/path = NodePath("Zombie/Butt/RightUpperLeg:position") -tracks/28/interp = 1 -tracks/28/loop_wrap = true -tracks/28/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-6, 3)] -} -tracks/29/type = "value" -tracks/29/imported = false -tracks/29/enabled = true -tracks/29/path = NodePath("Zombie/Butt/RightUpperLeg:rotation") -tracks/29/interp = 1 -tracks/29/loop_wrap = true -tracks/29/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/30/type = "value" -tracks/30/imported = false -tracks/30/enabled = true -tracks/30/path = NodePath("Zombie/Butt:position") -tracks/30/interp = 1 -tracks/30/loop_wrap = true -tracks/30/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(5, -35)] -} -tracks/31/type = "value" -tracks/31/imported = false -tracks/31/enabled = true -tracks/31/path = NodePath("Zombie/Butt:rotation") -tracks/31/interp = 1 -tracks/31/loop_wrap = true -tracks/31/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/32/type = "value" -tracks/32/imported = false -tracks/32/enabled = true -tracks/32/path = NodePath("Zombie/Butt/Body:position") -tracks/32/interp = 1 -tracks/32/loop_wrap = true -tracks/32/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(1, -2)] -} -tracks/33/type = "value" -tracks/33/imported = false -tracks/33/enabled = true -tracks/33/path = NodePath("Zombie/Butt/Body:rotation") -tracks/33/interp = 1 -tracks/33/loop_wrap = true -tracks/33/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/34/type = "value" -tracks/34/imported = false -tracks/34/enabled = true -tracks/34/path = NodePath("Zombie:position") -tracks/34/interp = 1 -tracks/34/loop_wrap = true -tracks/34/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(0, 0)] -} -tracks/35/type = "value" -tracks/35/imported = false -tracks/35/enabled = true -tracks/35/path = NodePath("Zombie:rotation") -tracks/35/interp = 1 -tracks/35/loop_wrap = true -tracks/35/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/36/type = "value" -tracks/36/imported = false -tracks/36/enabled = true -tracks/36/path = NodePath("Zombie/Butt/Body/Head:position") -tracks/36/interp = 1 -tracks/36/loop_wrap = true -tracks/36/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-10, -25)] -} -tracks/37/type = "value" -tracks/37/imported = false -tracks/37/enabled = true -tracks/37/path = NodePath("Zombie/Butt/Body/Head:rotation") -tracks/37/interp = 1 -tracks/37/loop_wrap = true -tracks/37/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/38/type = "value" -tracks/38/imported = false -tracks/38/enabled = true -tracks/38/path = NodePath("Zombie/Butt/Body/Head:visible") -tracks/38/interp = 1 -tracks/38/loop_wrap = true -tracks/38/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] -} -tracks/39/type = "value" -tracks/39/imported = false -tracks/39/enabled = true -tracks/39/path = NodePath("Zombie/Butt/Body/Head/TrashcanLid:position") -tracks/39/interp = 1 -tracks/39/loop_wrap = true -tracks/39/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-0.0022974, -17.0131)] -} -tracks/40/type = "value" -tracks/40/imported = false -tracks/40/enabled = true -tracks/40/path = NodePath("Zombie/Butt/Body/Head/TrashcanLid:rotation") -tracks/40/interp = 1 -tracks/40/loop_wrap = true -tracks/40/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/41/type = "value" -tracks/41/imported = false -tracks/41/enabled = true -tracks/41/path = NodePath("Zombie/Butt/Body/Head/TrashcanLid:visible") -tracks/41/interp = 1 -tracks/41/loop_wrap = true -tracks/41/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} -tracks/42/type = "value" -tracks/42/imported = false -tracks/42/enabled = true -tracks/42/path = NodePath("Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm/Left_Hand:texture") -tracks/42/interp = 1 -tracks/42/loop_wrap = true -tracks/42/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [SubResource("AtlasTexture_vlvtp")] -} -tracks/43/type = "value" -tracks/43/imported = false -tracks/43/enabled = true -tracks/43/path = NodePath("Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm/Left_Hand:offset") -tracks/43/interp = 1 -tracks/43/loop_wrap = true -tracks/43/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-4, -1)] -} -tracks/44/type = "value" -tracks/44/imported = false -tracks/44/enabled = true -tracks/44/path = NodePath("Zombie/Butt/Body/Tie:scale") -tracks/44/interp = 1 -tracks/44/loop_wrap = true -tracks/44/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(1, 1)] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_x5uj2"] -_data = { -&"RESET": SubResource("Animation_vn3j1") -} - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_hxyad"] -size = Vector2(26, 48) - -[sub_resource type="Resource" id="Resource_lea3a"] -resource_local_to_scene = true -script = ExtResource("4_1s2fn") -flat_value = 5.0 -percentage_value = 0.0 -mult_value = 1.0 - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_r4ug6"] -size = Vector2(16, 48) - -[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_2q05d"] - -[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_ccrjo"] -nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_2q05d") -nodes/TimeScale/position = Vector2(60, 120) -nodes/Tree/node = ExtResource("16_bufgc") -nodes/Tree/position = Vector2(-240, 120) -node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"] - -[sub_resource type="Resource" id="Resource_v1iwd"] -resource_local_to_scene = true -script = ExtResource("4_1s2fn") -flat_value = 0.2 -percentage_value = 0.0 -mult_value = 1.0 - -[sub_resource type="Resource" id="Resource_dn8ha"] -script = ExtResource("31_lml24") -restartTreshold = -1.0 -metadata/_custom_type_script = "uid://c1x4n4nqyq72f" - -[node name="BucketZombie" type="Node2D" node_paths=PackedStringArray("_armor", "_player", "_tree")] -y_sort_enabled = true -script = ExtResource("1_6aq6w") -_armor = NodePath("Armor") -MaxHP = 100.0 -_player = NodePath("CanvasGroup/basic_zombie_walk/AnimationPlayer") -_tree = NodePath("AnimationTree") -metadata/_edit_vertical_guides_ = [-159.0] - -[node name="CanvasGroup" type="CanvasGroup" parent="."] -material = ExtResource("34_jdtg8") - -[node name="basic_zombie_walk" type="Node2D" parent="CanvasGroup"] - -[node name="Zombie" type="Skeleton2D" parent="CanvasGroup/basic_zombie_walk"] -modification_stack = SubResource("SkeletonModificationStack2D_wn68q") - -[node name="Butt" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie"] -position = Vector2(5, -35) -scale = Vector2(0.999912, 0.999912) -rest = Transform2D(1, 0, 0, 1, 5, -35) -editor_settings/show_bone_gizmo = false - -[node name="Butt" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"] -texture = SubResource("AtlasTexture_jvn5w") -centered = false -offset = Vector2(-10, -3) -metadata/_edit_lock_ = true - -[node name="RightUpperLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"] -position = Vector2(-6, 3) -scale = Vector2(0.999833, 0.999833) -rest = Transform2D(1, 0, 0, 1, -6, 3) -editor_settings/show_bone_gizmo = false - -[node name="Right_Upper_Leg" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg"] -texture = SubResource("AtlasTexture_vmdbp") -centered = false -offset = Vector2(-6, -2) -metadata/_edit_lock_ = true - -[node name="RightLowerLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg"] -position = Vector2(-2, 12) -scale = Vector2(0.999834, 0.999834) -rest = Transform2D(1, 0, 0, 1, -2, 12) -editor_settings/show_bone_gizmo = false - -[node name="RightFoot" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg"] -position = Vector2(-2, 14) -scale = Vector2(0.99983, 0.99983) -rest = Transform2D(1, 0, 0, 1, -2, 14) -auto_calculate_length_and_angle = false -length = 12.0 -bone_angle = 0.0 -editor_settings/show_bone_gizmo = false - -[node name="Right_Foot" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg/RightFoot"] -texture = SubResource("AtlasTexture_x1oyw") -centered = false -offset = Vector2(-4, -3) -metadata/_edit_lock_ = true - -[node name="Right_Lower_Leg" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg"] -position = Vector2(-18, -2) -texture = SubResource("AtlasTexture_vjx3c") -centered = false -offset = Vector2(12, 1) -metadata/_edit_lock_ = true - -[node name="LeftUpperLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"] -position = Vector2(6, 4) -scale = Vector2(0.999835, 0.999835) -rest = Transform2D(1, 0, 0, 1, 6, 4) -editor_settings/show_bone_gizmo = false - -[node name="Left_Upper_Leg" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg"] -texture = SubResource("AtlasTexture_f31xd") -centered = false -offset = Vector2(-4, -2) -metadata/_edit_lock_ = true - -[node name="LeftLowerLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg"] -position = Vector2(-1, 13) -scale = Vector2(0.999838, 0.999838) -rest = Transform2D(1, 0, 0, 1, -1, 13) -editor_settings/show_bone_gizmo = false - -[node name="Left_Lower_Leg" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg"] -texture = SubResource("AtlasTexture_od8jf") -centered = false -offset = Vector2(-1, 0) -metadata/_edit_lock_ = true - -[node name="LeftFoot" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg"] -position = Vector2(6, 10) -scale = Vector2(0.999832, 0.999832) -rest = Transform2D(1, 0, 0, 1, 6, 10) -auto_calculate_length_and_angle = false -length = 12.0 -bone_angle = 160.0 -editor_settings/show_bone_gizmo = false - -[node name="Left_Foot" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot"] -texture = SubResource("AtlasTexture_p4711") -centered = false -offset = Vector2(-14, -3) -metadata/_edit_lock_ = true - -[node name="Body" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"] -position = Vector2(1, -2) -scale = Vector2(0.999829, 0.999829) -rest = Transform2D(1, 0, 0, 1, 1, -2) -editor_settings/show_bone_gizmo = false - -[node name="RightUpperArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"] -position = Vector2(-14, -23) -scale = Vector2(0.999827, 0.999827) -rest = Transform2D(1, 0, 0, 1, -14, -23) -editor_settings/show_bone_gizmo = false - -[node name="Right_Upper_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm"] -texture = SubResource("AtlasTexture_1bk2b") -centered = false -offset = Vector2(-4, -2) -metadata/_edit_lock_ = true - -[node name="RightLowerArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm"] -position = Vector2(-2, 15) -scale = Vector2(0.999822, 0.999822) -rest = Transform2D(1, 0, 0, 1, -2, 15) -editor_settings/show_bone_gizmo = false - -[node name="RightHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm"] -position = Vector2(-1, 13) -scale = Vector2(0.99983, 0.99983) -rest = Transform2D(1, 0, 0, 1, -1, 13) -auto_calculate_length_and_angle = false -length = 8.0 -bone_angle = 90.0 -editor_settings/show_bone_gizmo = false - -[node name="Right_Hand" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm/RightHand"] -texture = SubResource("AtlasTexture_y06yv") -centered = false -offset = Vector2(-4, -2) -metadata/_edit_lock_ = true - -[node name="Right_Lower_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm"] -texture = SubResource("AtlasTexture_lu8go") -centered = false -offset = Vector2(-5, -1) -metadata/_edit_lock_ = true - -[node name="Body" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"] -rotation = 0.00163735 -texture = SubResource("AtlasTexture_cdq7v") -centered = false -offset = Vector2(-15, -27) -metadata/_edit_lock_ = true - -[node name="Tie" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"] -position = Vector2(-9, -21) -rotation = -0.0699613 -skew = -0.000234127 -rest = Transform2D(1, 0, 0, 1, -9, -21) -auto_calculate_length_and_angle = false -length = 24.0 -bone_angle = 100.0 -editor_settings/show_bone_gizmo = false - -[node name="Tie" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Tie"] -texture = SubResource("AtlasTexture_e7wc3") -centered = false -offset = Vector2(-10, -1) -metadata/_edit_lock_ = true - -[node name="Head" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"] -position = Vector2(-10, -25) -scale = Vector2(0.999832, 0.999832) -rest = Transform2D(1, 0, 0, 1, -10, -25) -editor_settings/show_bone_gizmo = false - -[node name="HeadParticle" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head" node_paths=PackedStringArray("data")] -collision_layer = 128 -collision_mask = 64 -freeze = true -script = ExtResource("4_1avwi") -data = NodePath("../../../../../../..") -maxAngle = 45.0 -minTorque = -45.0 -maxTorque = 45.0 -Impulse = 100.0 - -[node name="Head" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle"] -texture = SubResource("AtlasTexture_wn68q") -centered = false -offset = Vector2(-20, -24) -metadata/_edit_lock_ = true - -[node name="Right_Eye" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"] -position = Vector2(-16, -8) -texture = SubResource("AtlasTexture_vcc72") -centered = false -offset = Vector2(-2, -2) -metadata/_edit_lock_ = true - -[node name="Left_Eye" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"] -position = Vector2(-4, -9) -texture = SubResource("AtlasTexture_kto0i") -centered = false -offset = Vector2(-2, -2) -metadata/_edit_lock_ = true - -[node name="Jaw" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"] -position = Vector2(-2.69782, 2.27068) -rotation = -0.00688613 -scale = Vector2(0.99983, 0.99983) -texture = SubResource("AtlasTexture_x5uj2") -centered = false -offset = Vector2(-12, -2) -metadata/_edit_lock_ = true - -[node name="CollisionShape2D" type="CollisionShape2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle"] -position = Vector2(-4.58496, -8.21035) -shape = SubResource("CircleShape2D_dn8ha") - -[node name="Observer" type="Node" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle" node_paths=PackedStringArray("_observedEntity")] -script = ExtResource("5_wndvs") -_threshold = 0.0 -_observedEntity = NodePath("../../../../../../../..") - -[node name="Jaw" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"] -position = Vector2(-3, 3) -scale = Vector2(0.99983, 0.99983) -rest = Transform2D(1, 0, 0, 1, -3, 3) -auto_calculate_length_and_angle = false -length = 11.0 -bone_angle = 180.0 -editor_settings/show_bone_gizmo = false - -[node name="RemoteTransform2D" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/Jaw"] -remote_path = NodePath("../../HeadParticle/Head/Jaw") - -[node name="RightEye" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"] -position = Vector2(-16, -8) -rest = Transform2D(1, 0, 0, 1, -16, -8) -auto_calculate_length_and_angle = false -length = 2.0 -bone_angle = 180.0 -editor_settings/show_bone_gizmo = false - -[node name="RemoteTransform2D" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/RightEye"] -remote_path = NodePath("../../HeadParticle/Head/Right_Eye") - -[node name="LeftEye" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"] -position = Vector2(-4, -9) -rest = Transform2D(1, 0, 0, 1, -4, -9) -auto_calculate_length_and_angle = false -length = 2.0 -bone_angle = 180.0 -editor_settings/show_bone_gizmo = false - -[node name="RemoteTransform2D" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/LeftEye"] -remote_path = NodePath("../../HeadParticle/Head/Left_Eye") - -[node name="Hat" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head" node_paths=PackedStringArray("data")] -position = Vector2(-6, -8) -collision_layer = 128 -collision_mask = 64 -mass = 0.5 -center_of_mass_mode = 1 -freeze = true -script = ExtResource("4_1avwi") -data = NodePath("../../../../../../..") -maxAngle = 45.0 -minTorque = -45.0 -maxTorque = 45.0 -Impulse = 100.0 - -[node name="Sprite" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/Hat" node_paths=PackedStringArray("armor")] -material = ExtResource("24_wndvs") -position = Vector2(0.994479, -10.0058) -texture = ExtResource("3_0nlp0") -script = ExtResource("8_jdtg8") -armor = NodePath("../../../../../../../../Armor") -degradationStages = Array[Texture]([ExtResource("3_0nlp0"), ExtResource("4_xx7fu"), ExtResource("5_v1iwd")]) -thresholdPercentage = Array[float]([1.0, 0.667, 0.333]) - -[node name="CollisionShape2D" type="CollisionShape2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/Hat"] -position = Vector2(1, -6) -shape = SubResource("CircleShape2D_67t4t") - -[node name="LeftUpperArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"] -position = Vector2(-1, -20) -scale = Vector2(0.999825, 0.999825) -rest = Transform2D(1, 0, 0, 1, -1, -20) -editor_settings/show_bone_gizmo = false - -[node name="Left_Upper_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm"] -position = Vector2(-37, 10) -texture = SubResource("AtlasTexture_djocr") -centered = false -offset = Vector2(33, -12) -metadata/_edit_lock_ = true - -[node name="HandProjectile" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm" node_paths=PackedStringArray("data")] -position = Vector2(-2, 14) -collision_layer = 128 -collision_mask = 64 -freeze = true -script = ExtResource("4_1avwi") -data = NodePath("../../../../../../..") -minTorque = -45.0 -maxTorque = 45.0 - -[node name="Left_Lower_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile"] -rotation = 0.0380849 -scale = Vector2(1, 1) -texture = SubResource("AtlasTexture_auqeq") -centered = false -offset = Vector2(-5, 0) -metadata/_edit_lock_ = true - -[node name="Left_Hand" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm"] -position = Vector2(-0.999829, 12.9978) -rotation = -0.126472 -scale = Vector2(0.999657, 0.999657) -texture = SubResource("AtlasTexture_vlvtp") -centered = false -offset = Vector2(-4, -1) -metadata/_edit_lock_ = true - -[node name="CollisionShape2D" type="CollisionShape2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile"] -position = Vector2(-0.00104554, 13.0063) -shape = SubResource("CapsuleShape2D_ccrjo") - -[node name="Observer" type="Node" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile" node_paths=PackedStringArray("_observedEntity")] -script = ExtResource("5_wndvs") -_observedEntity = NodePath("../../../../../../../..") - -[node name="LeftLowerArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm"] -position = Vector2(-2, 14) -scale = Vector2(0.99983, 0.99983) -rest = Transform2D(1, 0, 0, 1, -2, 14) -editor_settings/show_bone_gizmo = false - -[node name="LeftHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm"] -position = Vector2(-1, 13) -scale = Vector2(0.999827, 0.999827) -rest = Transform2D(1, 0, 0, 1, -1, 13) -auto_calculate_length_and_angle = false -length = 6.0 -bone_angle = 90.0 -editor_settings/show_bone_gizmo = false - -[node name="Left_Hand" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand"] -texture = SubResource("AtlasTexture_wfem3") -centered = false -offset = Vector2(-4, 0) -metadata/_edit_lock_ = true - -[node name="Left_Hand_Remote" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand"] -remote_path = NodePath("../../../HandProjectile/Left_Lower_Arm/Left_Hand") - -[node name="Left_Lower_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm"] -texture = SubResource("AtlasTexture_4q1fo") -centered = false -offset = Vector2(-5, 0) -metadata/_edit_lock_ = true - -[node name="Left_Lower_Arm_Remote" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm"] -scale = Vector2(1.00017, 1.00017) -remote_path = NodePath("../../HandProjectile/Left_Lower_Arm") - -[node name="AnimationPlayer" type="AnimationPlayer" parent="CanvasGroup/basic_zombie_walk"] -libraries = { -&"": SubResource("AnimationLibrary_x5uj2"), -&"basic": ExtResource("12_gjchu") -} - -[node name="EatingStatistics" type="Node" parent="CanvasGroup/basic_zombie_walk/AnimationPlayer"] -script = ExtResource("13_lbhkf") -animationName = "basic/eating" -trackToFind = "../../Eatbox" - -[node name="Hitbox" type="Area2D" parent="."] -collision_layer = 8 -collision_mask = 0 - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"] -position = Vector2(4, -24) -shape = SubResource("RectangleShape2D_hxyad") - -[node name="Eatbox" type="Area2D" parent="."] -collision_layer = 0 -collision_mask = 2 -script = ExtResource("14_xxv4d") -_damage = SubResource("Resource_lea3a") - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Eatbox"] -position = Vector2(-10, -24) -shape = SubResource("RectangleShape2D_r4ug6") - -[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")] -root_node = NodePath("../CanvasGroup/basic_zombie_walk") -tree_root = SubResource("AnimationNodeBlendTree_ccrjo") -advance_expression_base_node = NodePath("../Eatbox") -anim_player = NodePath("../CanvasGroup/basic_zombie_walk/AnimationPlayer") -parameters/TimeScale/scale = 1.0 -script = ExtResource("17_3hgrb") -entity = NodePath("..") - -[node name="Mover" type="Node" parent="."] -script = ExtResource("18_tffdk") -_speed = SubResource("Resource_v1iwd") -_speedControlMult = 1.94682 - -[node name="HitPlayer" type="Node" parent="."] -script = ExtResource("19_k2y7k") -playlist = Array[AudioStream]([ExtResource("5_lt6ps"), ExtResource("6_kedip")]) -channels = Array[String](["metal_hit", "hit"]) -metadata/_custom_type_script = "uid://c36bj8u7jghc7" - -[node name="Armor" type="Node" parent="."] -script = ExtResource("22_aasgd") -MaxHP = 550.0 - -[node name="FlashController" type="Node" parent="Armor"] -script = ExtResource("23_rgojs") -shaderMaterial = ExtResource("24_wndvs") - -[node name="GroanPlayer" type="Node" parent="."] -script = ExtResource("24_3ui6x") -audioStream = ExtResource("25_ix7xe") -channel = "groan" -metadata/_custom_type_script = "uid://c36bj8u7jghc7" - -[node name="Timer" type="Timer" parent="GroanPlayer"] -wait_time = 20.0 - -[node name="StartTimer" type="Timer" parent="GroanPlayer/Timer"] -wait_time = 5.0 -one_shot = true -autostart = true - -[node name="EffectPlayer" type="Node" parent="."] -script = ExtResource("26_7018m") -effectsToMap = Array[Resource]([ExtResource("27_wd16f"), ExtResource("28_b1su1")]) -streamsToMapTo = Array[AudioStream]([ExtResource("29_si5j4"), ExtResource("30_qu32w")]) -streamSettings = Array[Object]([null, SubResource("Resource_dn8ha")]) - -[node name="DeathHandler" type="Node" parent="." node_paths=PackedStringArray("_tree", "_collider")] -script = ExtResource("32_m7hhr") -_tree = NodePath("../AnimationTree") -_collider = NodePath("../Hitbox/CollisionShape2D") - -[node name="FlashController" type="Node" parent="."] -script = ExtResource("23_rgojs") -shaderMaterial = ExtResource("34_jdtg8") - -[connection signal="HasBeenKilled" from="." to="DeathHandler" method="OnKilled"] -[connection signal="OnDamaged" from="." to="HitPlayer" method="Play"] -[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle" method="FallOff"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/Jaw/RemoteTransform2D" method="queue_free"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/RightEye/RemoteTransform2D" method="queue_free"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/LeftEye/RemoteTransform2D" method="queue_free"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile" method="FallOff"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand/Left_Hand_Remote" method="queue_free"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/Left_Lower_Arm_Remote" method="queue_free"] -[connection signal="area_entered" from="Eatbox" to="Eatbox" method="OnAreaEntered"] -[connection signal="area_exited" from="Eatbox" to="Eatbox" method="OnAreaExited"] -[connection signal="ArmorLost" from="Armor" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/Hat" method="FallOff"] -[connection signal="ArmorLost" from="Armor" to="HitPlayer" method="Next"] -[connection signal="Damaged" from="Armor" to="HitPlayer" method="Play"] -[connection signal="Damaged" from="Armor" to="Armor/FlashController" method="DamageFlash"] -[connection signal="HpChanged" from="Armor" to="." method="HPChangedMixedInvoker"] -[connection signal="timeout" from="GroanPlayer/Timer" to="GroanPlayer" method="Play"] -[connection signal="timeout" from="GroanPlayer/Timer/StartTimer" to="GroanPlayer/Timer" method="start"] diff --git a/scenes/entities/Zombies/cone_zombie.tscn b/scenes/entities/Zombies/cone_zombie.tscn deleted file mode 100644 index 26d0608..0000000 --- a/scenes/entities/Zombies/cone_zombie.tscn +++ /dev/null @@ -1,1267 +0,0 @@ -[gd_scene load_steps=69 format=3 uid="uid://hhjbqkjqpt7x"] - -[ext_resource type="Script" uid="uid://dildme6epx8l4" path="res://scripts/entities/zombies/RuntimeZombieData.cs" id="1_ffeg6"] -[ext_resource type="Material" uid="uid://jr0vpg030jqv" path="res://assets/ZombieMaterial.tres" id="2_ffeg6"] -[ext_resource type="Script" uid="uid://fd4im1fmwc5n" path="res://scripts/entities/Armor.cs" id="3_5s7in"] -[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="3_b8kja"] -[ext_resource type="Texture2D" uid="uid://dacgbwohpmeed" path="res://assets/sprites/zombies/basic.png" id="3_d7bfv"] -[ext_resource type="Script" uid="uid://dt5uj25u0g6y3" path="res://scripts/particles/FallParticle.cs" id="3_w70im"] -[ext_resource type="Texture2D" uid="uid://ceqvdmude7cgg" path="res://assets/sprites/cone1.tres" id="4_qdhik"] -[ext_resource type="Script" uid="uid://c3cfnrmnnuqms" path="res://addons/floatmodifiers/FloatModifiers.cs" id="4_qof5v"] -[ext_resource type="Script" uid="uid://dau0tfmlfiqmo" path="res://scripts/entities/EntityHPObserver.cs" id="5_25dv7"] -[ext_resource type="Script" uid="uid://bbw848msxb4re" path="res://scripts/entities/DegradingSprite.cs" id="5_ickyd"] -[ext_resource type="Texture2D" uid="uid://cl5ekw72wi75c" path="res://assets/sprites/cone2.tres" id="6_b6mal"] -[ext_resource type="AudioStream" uid="uid://bmupd3v3gvsca" path="res://assets/audio/sfx/plastichit_generic.tres" id="7_0amn8"] -[ext_resource type="Texture2D" uid="uid://cnn81r1y0xwod" path="res://assets/sprites/cone3.tres" id="7_011r0"] -[ext_resource type="AudioStream" uid="uid://w0qfwds4o3ti" path="res://assets/audio/sfx/hit_generic.tres" id="7_67t4t"] -[ext_resource type="Texture2D" uid="uid://dri70dxyks7xh" path="res://assets/sprites/zombies/hobo.png" id="11_a7ae5"] -[ext_resource type="AnimationLibrary" uid="uid://ceb3khu7rwgy8" path="res://assets/animations/zombies/basic.res" id="12_1gn3d"] -[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="13_7fceb"] -[ext_resource type="Script" uid="uid://dw7v3s4kbu7ma" path="res://scripts/entities/AnimationStatistics.cs" id="13_xh0ny"] -[ext_resource type="Script" uid="uid://dqyony6jxt2p0" path="res://scripts/entities/zombies/EatBox.cs" id="14_kx47n"] -[ext_resource type="AnimationNodeStateMachine" uid="uid://dj0blope85bg7" path="res://assets/animations/zombies/basic_zombie_tree.tres" id="16_q51xn"] -[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="17_tttgn"] -[ext_resource type="Script" uid="uid://7hdj2k14lfe4" path="res://scripts/entities/zombies/ZombieMover.cs" id="18_1pso5"] -[ext_resource type="Script" uid="uid://cnn0ymuhypdff" path="res://scripts/audio/ChannelPlaylist.cs" id="19_n3dlr"] -[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="24_v3jd8"] -[ext_resource type="AudioStream" uid="uid://bg76miyscfvhu" path="res://assets/audio/sfx/groan.tres" id="25_6yd48"] -[ext_resource type="Script" uid="uid://b8r6fxsfjdo3a" path="res://scripts/audio/EffectBasedPlayer.cs" id="26_myimu"] -[ext_resource type="Resource" uid="uid://dsg1vjx76ifgu" path="res://assets/effects/GarlicEffect.tres" id="27_dxxec"] -[ext_resource type="Resource" uid="uid://7uj0oe656jfx" path="res://assets/effects/SnowSlow.tres" id="28_wg63k"] -[ext_resource type="AudioStream" uid="uid://dt13iugnnx4op" path="res://assets/audio/sfx/yuck_generic.tres" id="29_fah3r"] -[ext_resource type="AudioStream" uid="uid://bjotp63arocci" path="res://assets/audio/sfx/frozen.mp3" id="30_p00wq"] -[ext_resource type="Script" uid="uid://c1x4n4nqyq72f" path="res://scripts/audio/ChannelSettings.cs" id="31_uyysk"] -[ext_resource type="Script" uid="uid://dk32ln8c2574d" path="res://scripts/entities/zombies/ZombieKillHandler.cs" id="32_1sywa"] - -[sub_resource type="SkeletonModification2DCCDIK" id="SkeletonModification2DCCDIK_wn68q"] -tip_nodepath = NodePath("Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand") -ccdik_data_chain_length = 2 -joint_data/0/bone_index = 17 -joint_data/0/bone2d_node = NodePath("Butt/Body/LeftUpperArm/LeftLowerArm") -joint_data/0/rotate_from_joint = false -joint_data/0/enable_constraint = true -joint_data/0/constraint_angle_min = 0.0 -joint_data/0/constraint_angle_max = 90.0 -joint_data/0/constraint_angle_invert = false -joint_data/0/constraint_in_localspace = true -joint_data/0/editor_draw_gizmo = true -joint_data/1/bone_index = 16 -joint_data/1/bone2d_node = NodePath("Butt/Body/LeftUpperArm") -joint_data/1/rotate_from_joint = false -joint_data/1/enable_constraint = false -joint_data/1/editor_draw_gizmo = true -editor/draw_gizmo = false - -[sub_resource type="SkeletonModification2DCCDIK" id="SkeletonModification2DCCDIK_x5uj2"] -tip_nodepath = NodePath("Butt/Body/RightUpperArm/RightLowerArm/RightHand") -ccdik_data_chain_length = 2 -joint_data/0/bone_index = 8 -joint_data/0/bone2d_node = NodePath("Butt/Body/RightUpperArm") -joint_data/0/rotate_from_joint = false -joint_data/0/enable_constraint = false -joint_data/0/editor_draw_gizmo = true -joint_data/1/bone_index = 9 -joint_data/1/bone2d_node = NodePath("Butt/Body/RightUpperArm/RightLowerArm") -joint_data/1/rotate_from_joint = false -joint_data/1/enable_constraint = true -joint_data/1/constraint_angle_min = 0.0 -joint_data/1/constraint_angle_max = 90.0 -joint_data/1/constraint_angle_invert = false -joint_data/1/constraint_in_localspace = true -joint_data/1/editor_draw_gizmo = true -editor/draw_gizmo = false - -[sub_resource type="SkeletonModification2DCCDIK" id="SkeletonModification2DCCDIK_vcc72"] -tip_nodepath = NodePath("Butt/RightUpperLeg/RightLowerLeg/RightFoot") -ccdik_data_chain_length = 2 -joint_data/0/bone_index = 1 -joint_data/0/bone2d_node = NodePath("Butt/RightUpperLeg") -joint_data/0/rotate_from_joint = false -joint_data/0/enable_constraint = true -joint_data/0/constraint_angle_min = -90.0 -joint_data/0/constraint_angle_max = 90.0 -joint_data/0/constraint_angle_invert = true -joint_data/0/constraint_in_localspace = true -joint_data/0/editor_draw_gizmo = true -joint_data/1/bone_index = 2 -joint_data/1/bone2d_node = NodePath("Butt/RightUpperLeg/RightLowerLeg") -joint_data/1/rotate_from_joint = false -joint_data/1/enable_constraint = true -joint_data/1/constraint_angle_min = 0.0 -joint_data/1/constraint_angle_max = 160.0 -joint_data/1/constraint_angle_invert = false -joint_data/1/constraint_in_localspace = true -joint_data/1/editor_draw_gizmo = true -editor/draw_gizmo = false - -[sub_resource type="SkeletonModification2DCCDIK" id="SkeletonModification2DCCDIK_kto0i"] -tip_nodepath = NodePath("Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot") -ccdik_data_chain_length = 2 -joint_data/0/bone_index = 4 -joint_data/0/bone2d_node = NodePath("Butt/LeftUpperLeg") -joint_data/0/rotate_from_joint = false -joint_data/0/enable_constraint = true -joint_data/0/constraint_angle_min = -90.0 -joint_data/0/constraint_angle_max = 90.0 -joint_data/0/constraint_angle_invert = true -joint_data/0/constraint_in_localspace = true -joint_data/0/editor_draw_gizmo = true -joint_data/1/bone_index = 5 -joint_data/1/bone2d_node = NodePath("Butt/LeftUpperLeg/LeftLowerLeg") -joint_data/1/rotate_from_joint = false -joint_data/1/enable_constraint = true -joint_data/1/constraint_angle_min = -90.0 -joint_data/1/constraint_angle_max = 0.0 -joint_data/1/constraint_angle_invert = true -joint_data/1/constraint_in_localspace = true -joint_data/1/editor_draw_gizmo = true -editor/draw_gizmo = false - -[sub_resource type="SkeletonModificationStack2D" id="SkeletonModificationStack2D_wn68q"] -modification_count = 4 -modifications/0 = SubResource("SkeletonModification2DCCDIK_wn68q") -modifications/1 = SubResource("SkeletonModification2DCCDIK_x5uj2") -modifications/2 = SubResource("SkeletonModification2DCCDIK_vcc72") -modifications/3 = SubResource("SkeletonModification2DCCDIK_kto0i") - -[sub_resource type="AtlasTexture" id="AtlasTexture_jvn5w"] -atlas = ExtResource("3_d7bfv") -region = Rect2(15, 30, 20, 8) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vmdbp"] -atlas = ExtResource("3_d7bfv") -region = Rect2(64, 44, 10, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_x1oyw"] -atlas = ExtResource("3_d7bfv") -region = Rect2(93, 50, 17, 9) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vjx3c"] -atlas = ExtResource("3_d7bfv") -region = Rect2(79, 44, 10, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_f31xd"] -atlas = ExtResource("3_d7bfv") -region = Rect2(47, 33, 8, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_od8jf"] -atlas = ExtResource("3_d7bfv") -region = Rect2(59, 33, 7, 10) - -[sub_resource type="AtlasTexture" id="AtlasTexture_p4711"] -atlas = ExtResource("3_d7bfv") -region = Rect2(71, 30, 19, 13) - -[sub_resource type="AtlasTexture" id="AtlasTexture_1bk2b"] -atlas = ExtResource("3_d7bfv") -region = Rect2(12, 43, 6, 18) - -[sub_resource type="AtlasTexture" id="AtlasTexture_y06yv"] -atlas = ExtResource("3_d7bfv") -region = Rect2(36, 50, 9, 11) - -[sub_resource type="AtlasTexture" id="AtlasTexture_lu8go"] -atlas = ExtResource("3_d7bfv") -region = Rect2(22, 45, 8, 15) - -[sub_resource type="AtlasTexture" id="AtlasTexture_cdq7v"] -atlas = ExtResource("3_d7bfv") -region = Rect2(93, 8, 29, 39) - -[sub_resource type="AtlasTexture" id="AtlasTexture_e7wc3"] -atlas = ExtResource("3_d7bfv") -region = Rect2(72, 2, 13, 26) - -[sub_resource type="AtlasTexture" id="AtlasTexture_wn68q"] -atlas = ExtResource("3_d7bfv") -region = Rect2(36, 0, 32, 29) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vcc72"] -atlas = ExtResource("3_d7bfv") -region = Rect2(93, 3, 2, 3) - -[sub_resource type="AtlasTexture" id="AtlasTexture_kto0i"] -atlas = ExtResource("3_d7bfv") -region = Rect2(105, 2, 3, 4) - -[sub_resource type="AtlasTexture" id="AtlasTexture_x5uj2"] -atlas = ExtResource("3_d7bfv") -region = Rect2(15, 17, 17, 6) - -[sub_resource type="CircleShape2D" id="CircleShape2D_dn8ha"] - -[sub_resource type="CircleShape2D" id="CircleShape2D_67t4t"] - -[sub_resource type="AtlasTexture" id="AtlasTexture_djocr"] -atlas = ExtResource("3_d7bfv") -region = Rect2(2, 7, 6, 19) - -[sub_resource type="AtlasTexture" id="AtlasTexture_auqeq"] -atlas = ExtResource("3_d7bfv") -region = Rect2(0, 32, 9, 15) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vlvtp"] -atlas = ExtResource("11_a7ae5") -region = Rect2(55, 0, 9, 10) - -[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_ccrjo"] -radius = 3.00026 -height = 16.007 - -[sub_resource type="Animation" id="Animation_vn3j1"] -resource_name = "RESET" -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Zombie/Butt/Body/LeftUpperArm/LeftLowerArm:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-2, 14)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Zombie/Butt/Body/LeftUpperArm/LeftLowerArm:rotation") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand:position") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-1, 13)] -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand:rotation") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/4/type = "value" -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/path = NodePath("Zombie/Butt/Body/LeftUpperArm:position") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-1, -20)] -} -tracks/5/type = "value" -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/path = NodePath("Zombie/Butt/Body/LeftUpperArm:rotation") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/6/type = "value" -tracks/6/imported = false -tracks/6/enabled = true -tracks/6/path = NodePath("Zombie/Butt/Body/Head/LeftEye:position") -tracks/6/interp = 1 -tracks/6/loop_wrap = true -tracks/6/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-4, -9)] -} -tracks/7/type = "value" -tracks/7/imported = false -tracks/7/enabled = true -tracks/7/path = NodePath("Zombie/Butt/Body/Head/LeftEye:rotation") -tracks/7/interp = 1 -tracks/7/loop_wrap = true -tracks/7/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/8/type = "value" -tracks/8/imported = false -tracks/8/enabled = true -tracks/8/path = NodePath("Zombie/Butt/Body/Head/RightEye:position") -tracks/8/interp = 1 -tracks/8/loop_wrap = true -tracks/8/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-16, -8)] -} -tracks/9/type = "value" -tracks/9/imported = false -tracks/9/enabled = true -tracks/9/path = NodePath("Zombie/Butt/Body/Head/RightEye:rotation") -tracks/9/interp = 1 -tracks/9/loop_wrap = true -tracks/9/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/10/type = "value" -tracks/10/imported = false -tracks/10/enabled = true -tracks/10/path = NodePath("Zombie/Butt/Body/Head/Jaw:position") -tracks/10/interp = 1 -tracks/10/loop_wrap = true -tracks/10/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-3, 3)] -} -tracks/11/type = "value" -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/path = NodePath("Zombie/Butt/Body/Head/Jaw:rotation") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/12/type = "value" -tracks/12/imported = false -tracks/12/enabled = true -tracks/12/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm/RightHand:position") -tracks/12/interp = 1 -tracks/12/loop_wrap = true -tracks/12/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-1, 13)] -} -tracks/13/type = "value" -tracks/13/imported = false -tracks/13/enabled = true -tracks/13/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm/RightHand:rotation") -tracks/13/interp = 1 -tracks/13/loop_wrap = true -tracks/13/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/14/type = "value" -tracks/14/imported = false -tracks/14/enabled = true -tracks/14/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm:position") -tracks/14/interp = 1 -tracks/14/loop_wrap = true -tracks/14/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-2, 15)] -} -tracks/15/type = "value" -tracks/15/imported = false -tracks/15/enabled = true -tracks/15/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm:rotation") -tracks/15/interp = 1 -tracks/15/loop_wrap = true -tracks/15/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/16/type = "value" -tracks/16/imported = false -tracks/16/enabled = true -tracks/16/path = NodePath("Zombie/Butt/Body/RightUpperArm:position") -tracks/16/interp = 1 -tracks/16/loop_wrap = true -tracks/16/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-14, -23)] -} -tracks/17/type = "value" -tracks/17/imported = false -tracks/17/enabled = true -tracks/17/path = NodePath("Zombie/Butt/Body/RightUpperArm:rotation") -tracks/17/interp = 1 -tracks/17/loop_wrap = true -tracks/17/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/18/type = "value" -tracks/18/imported = false -tracks/18/enabled = true -tracks/18/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot:position") -tracks/18/interp = 1 -tracks/18/loop_wrap = true -tracks/18/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(6, 10)] -} -tracks/19/type = "value" -tracks/19/imported = false -tracks/19/enabled = true -tracks/19/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot:rotation") -tracks/19/interp = 1 -tracks/19/loop_wrap = true -tracks/19/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/20/type = "value" -tracks/20/imported = false -tracks/20/enabled = true -tracks/20/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg:position") -tracks/20/interp = 1 -tracks/20/loop_wrap = true -tracks/20/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-1, 13)] -} -tracks/21/type = "value" -tracks/21/imported = false -tracks/21/enabled = true -tracks/21/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg:rotation") -tracks/21/interp = 1 -tracks/21/loop_wrap = true -tracks/21/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/22/type = "value" -tracks/22/imported = false -tracks/22/enabled = true -tracks/22/path = NodePath("Zombie/Butt/LeftUpperLeg:position") -tracks/22/interp = 1 -tracks/22/loop_wrap = true -tracks/22/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(6, 4)] -} -tracks/23/type = "value" -tracks/23/imported = false -tracks/23/enabled = true -tracks/23/path = NodePath("Zombie/Butt/LeftUpperLeg:rotation") -tracks/23/interp = 1 -tracks/23/loop_wrap = true -tracks/23/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/24/type = "value" -tracks/24/imported = false -tracks/24/enabled = true -tracks/24/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg/RightFoot:position") -tracks/24/interp = 1 -tracks/24/loop_wrap = true -tracks/24/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-2, 14)] -} -tracks/25/type = "value" -tracks/25/imported = false -tracks/25/enabled = true -tracks/25/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg/RightFoot:rotation") -tracks/25/interp = 1 -tracks/25/loop_wrap = true -tracks/25/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/26/type = "value" -tracks/26/imported = false -tracks/26/enabled = true -tracks/26/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg:position") -tracks/26/interp = 1 -tracks/26/loop_wrap = true -tracks/26/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-2, 12)] -} -tracks/27/type = "value" -tracks/27/imported = false -tracks/27/enabled = true -tracks/27/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg:rotation") -tracks/27/interp = 1 -tracks/27/loop_wrap = true -tracks/27/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/28/type = "value" -tracks/28/imported = false -tracks/28/enabled = true -tracks/28/path = NodePath("Zombie/Butt/RightUpperLeg:position") -tracks/28/interp = 1 -tracks/28/loop_wrap = true -tracks/28/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-6, 3)] -} -tracks/29/type = "value" -tracks/29/imported = false -tracks/29/enabled = true -tracks/29/path = NodePath("Zombie/Butt/RightUpperLeg:rotation") -tracks/29/interp = 1 -tracks/29/loop_wrap = true -tracks/29/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/30/type = "value" -tracks/30/imported = false -tracks/30/enabled = true -tracks/30/path = NodePath("Zombie/Butt:position") -tracks/30/interp = 1 -tracks/30/loop_wrap = true -tracks/30/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(5, -35)] -} -tracks/31/type = "value" -tracks/31/imported = false -tracks/31/enabled = true -tracks/31/path = NodePath("Zombie/Butt:rotation") -tracks/31/interp = 1 -tracks/31/loop_wrap = true -tracks/31/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/32/type = "value" -tracks/32/imported = false -tracks/32/enabled = true -tracks/32/path = NodePath("Zombie/Butt/Body:position") -tracks/32/interp = 1 -tracks/32/loop_wrap = true -tracks/32/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(1, -2)] -} -tracks/33/type = "value" -tracks/33/imported = false -tracks/33/enabled = true -tracks/33/path = NodePath("Zombie/Butt/Body:rotation") -tracks/33/interp = 1 -tracks/33/loop_wrap = true -tracks/33/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/34/type = "value" -tracks/34/imported = false -tracks/34/enabled = true -tracks/34/path = NodePath("Zombie:position") -tracks/34/interp = 1 -tracks/34/loop_wrap = true -tracks/34/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(0, 0)] -} -tracks/35/type = "value" -tracks/35/imported = false -tracks/35/enabled = true -tracks/35/path = NodePath("Zombie:rotation") -tracks/35/interp = 1 -tracks/35/loop_wrap = true -tracks/35/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/36/type = "value" -tracks/36/imported = false -tracks/36/enabled = true -tracks/36/path = NodePath("Zombie/Butt/Body/Head:position") -tracks/36/interp = 1 -tracks/36/loop_wrap = true -tracks/36/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-10, -25)] -} -tracks/37/type = "value" -tracks/37/imported = false -tracks/37/enabled = true -tracks/37/path = NodePath("Zombie/Butt/Body/Head:rotation") -tracks/37/interp = 1 -tracks/37/loop_wrap = true -tracks/37/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/38/type = "value" -tracks/38/imported = false -tracks/38/enabled = true -tracks/38/path = NodePath("Zombie/Butt/Body/Head:visible") -tracks/38/interp = 1 -tracks/38/loop_wrap = true -tracks/38/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] -} -tracks/39/type = "value" -tracks/39/imported = false -tracks/39/enabled = true -tracks/39/path = NodePath("Zombie/Butt/Body/Head/TrashcanLid:position") -tracks/39/interp = 1 -tracks/39/loop_wrap = true -tracks/39/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-0.0022974, -17.0131)] -} -tracks/40/type = "value" -tracks/40/imported = false -tracks/40/enabled = true -tracks/40/path = NodePath("Zombie/Butt/Body/Head/TrashcanLid:rotation") -tracks/40/interp = 1 -tracks/40/loop_wrap = true -tracks/40/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/41/type = "value" -tracks/41/imported = false -tracks/41/enabled = true -tracks/41/path = NodePath("Zombie/Butt/Body/Head/TrashcanLid:visible") -tracks/41/interp = 1 -tracks/41/loop_wrap = true -tracks/41/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} -tracks/42/type = "value" -tracks/42/imported = false -tracks/42/enabled = true -tracks/42/path = NodePath("Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm/Left_Hand:texture") -tracks/42/interp = 1 -tracks/42/loop_wrap = true -tracks/42/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [SubResource("AtlasTexture_vlvtp")] -} -tracks/43/type = "value" -tracks/43/imported = false -tracks/43/enabled = true -tracks/43/path = NodePath("Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm/Left_Hand:offset") -tracks/43/interp = 1 -tracks/43/loop_wrap = true -tracks/43/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-4, -1)] -} -tracks/44/type = "value" -tracks/44/imported = false -tracks/44/enabled = true -tracks/44/path = NodePath("Zombie/Butt/Body/Tie:scale") -tracks/44/interp = 1 -tracks/44/loop_wrap = true -tracks/44/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(1, 1)] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_x5uj2"] -_data = { -&"RESET": SubResource("Animation_vn3j1") -} - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_hxyad"] -size = Vector2(26, 48) - -[sub_resource type="Resource" id="Resource_011r0"] -resource_local_to_scene = true -script = ExtResource("4_qof5v") -flat_value = 5.0 -percentage_value = 0.0 -mult_value = 1.0 - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_r4ug6"] -size = Vector2(16, 48) - -[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_2q05d"] - -[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_ccrjo"] -nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_2q05d") -nodes/TimeScale/position = Vector2(60, 120) -nodes/Tree/node = ExtResource("16_q51xn") -nodes/Tree/position = Vector2(-240, 120) -node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"] - -[sub_resource type="Resource" id="Resource_b6mal"] -resource_local_to_scene = true -script = ExtResource("4_qof5v") -flat_value = 0.2 -percentage_value = 0.0 -mult_value = 1.0 - -[sub_resource type="Resource" id="Resource_dn8ha"] -script = ExtResource("31_uyysk") -restartTreshold = -1.0 -metadata/_custom_type_script = "uid://c1x4n4nqyq72f" - -[node name="ConeZombie" type="Node2D" node_paths=PackedStringArray("_armor", "_player", "_tree")] -y_sort_enabled = true -script = ExtResource("1_ffeg6") -_armor = NodePath("Armor") -MaxHP = 100.0 -_player = NodePath("CanvasGroup/basic_zombie_walk/AnimationPlayer") -_tree = NodePath("AnimationTree") -metadata/_edit_vertical_guides_ = [-159.0] - -[node name="CanvasGroup" type="CanvasGroup" parent="."] -material = ExtResource("2_ffeg6") - -[node name="basic_zombie_walk" type="Node2D" parent="CanvasGroup"] - -[node name="Zombie" type="Skeleton2D" parent="CanvasGroup/basic_zombie_walk"] -use_parent_material = true -modification_stack = SubResource("SkeletonModificationStack2D_wn68q") - -[node name="Butt" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie"] -use_parent_material = true -position = Vector2(5, -35) -scale = Vector2(0.999903, 0.999903) -rest = Transform2D(1, 0, 0, 1, 5, -35) -editor_settings/show_bone_gizmo = false - -[node name="Butt" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"] -use_parent_material = true -texture = SubResource("AtlasTexture_jvn5w") -centered = false -offset = Vector2(-10, -3) -metadata/_edit_lock_ = true - -[node name="RightUpperLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"] -use_parent_material = true -position = Vector2(-6, 3) -scale = Vector2(0.999834, 0.999834) -rest = Transform2D(1, 0, 0, 1, -6, 3) -editor_settings/show_bone_gizmo = false - -[node name="Right_Upper_Leg" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg"] -texture = SubResource("AtlasTexture_vmdbp") -centered = false -offset = Vector2(-6, -2) -metadata/_edit_lock_ = true - -[node name="RightLowerLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg"] -position = Vector2(-2, 12) -scale = Vector2(0.999834, 0.999834) -rest = Transform2D(1, 0, 0, 1, -2, 12) -editor_settings/show_bone_gizmo = false - -[node name="RightFoot" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg"] -position = Vector2(-2, 14) -scale = Vector2(0.999833, 0.999833) -rest = Transform2D(1, 0, 0, 1, -2, 14) -auto_calculate_length_and_angle = false -length = 12.0 -bone_angle = 0.0 -editor_settings/show_bone_gizmo = false - -[node name="Right_Foot" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg/RightFoot"] -texture = SubResource("AtlasTexture_x1oyw") -centered = false -offset = Vector2(-4, -3) -metadata/_edit_lock_ = true - -[node name="Right_Lower_Leg" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg"] -position = Vector2(-18, -2) -texture = SubResource("AtlasTexture_vjx3c") -centered = false -offset = Vector2(12, 1) -metadata/_edit_lock_ = true - -[node name="LeftUpperLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"] -use_parent_material = true -position = Vector2(6, 4) -scale = Vector2(0.999835, 0.999835) -rest = Transform2D(1, 0, 0, 1, 6, 4) -editor_settings/show_bone_gizmo = false - -[node name="Left_Upper_Leg" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg"] -texture = SubResource("AtlasTexture_f31xd") -centered = false -offset = Vector2(-4, -2) -metadata/_edit_lock_ = true - -[node name="LeftLowerLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg"] -position = Vector2(-1, 13) -scale = Vector2(0.999831, 0.999831) -rest = Transform2D(1, 0, 0, 1, -1, 13) -editor_settings/show_bone_gizmo = false - -[node name="Left_Lower_Leg" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg"] -texture = SubResource("AtlasTexture_od8jf") -centered = false -offset = Vector2(-1, 0) -metadata/_edit_lock_ = true - -[node name="LeftFoot" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg"] -position = Vector2(6, 10) -scale = Vector2(0.999829, 0.999829) -rest = Transform2D(1, 0, 0, 1, 6, 10) -auto_calculate_length_and_angle = false -length = 12.0 -bone_angle = 160.0 -editor_settings/show_bone_gizmo = false - -[node name="Left_Foot" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot"] -texture = SubResource("AtlasTexture_p4711") -centered = false -offset = Vector2(-14, -3) -metadata/_edit_lock_ = true - -[node name="Body" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"] -use_parent_material = true -position = Vector2(1, -2) -scale = Vector2(0.99983, 0.99983) -rest = Transform2D(1, 0, 0, 1, 1, -2) -editor_settings/show_bone_gizmo = false - -[node name="RightUpperArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"] -use_parent_material = true -position = Vector2(-14, -23) -scale = Vector2(0.999828, 0.999828) -rest = Transform2D(1, 0, 0, 1, -14, -23) -editor_settings/show_bone_gizmo = false - -[node name="Right_Upper_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm"] -texture = SubResource("AtlasTexture_1bk2b") -centered = false -offset = Vector2(-4, -2) -metadata/_edit_lock_ = true - -[node name="RightLowerArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm"] -position = Vector2(-2, 15) -scale = Vector2(0.999828, 0.999828) -rest = Transform2D(1, 0, 0, 1, -2, 15) -editor_settings/show_bone_gizmo = false - -[node name="RightHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm"] -position = Vector2(-1, 13) -scale = Vector2(0.999828, 0.999828) -rest = Transform2D(1, 0, 0, 1, -1, 13) -auto_calculate_length_and_angle = false -length = 8.0 -bone_angle = 90.0 -editor_settings/show_bone_gizmo = false - -[node name="Right_Hand" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm/RightHand"] -texture = SubResource("AtlasTexture_y06yv") -centered = false -offset = Vector2(-4, -2) -metadata/_edit_lock_ = true - -[node name="Right_Lower_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm"] -texture = SubResource("AtlasTexture_lu8go") -centered = false -offset = Vector2(-5, -1) -metadata/_edit_lock_ = true - -[node name="Body" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"] -rotation = 0.00163735 -texture = SubResource("AtlasTexture_cdq7v") -centered = false -offset = Vector2(-15, -27) -metadata/_edit_lock_ = true - -[node name="Tie" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"] -position = Vector2(-9, -21) -rotation = -0.128654 -skew = -0.000155091 -rest = Transform2D(1, 0, 0, 1, -9, -21) -auto_calculate_length_and_angle = false -length = 24.0 -bone_angle = 100.0 -editor_settings/show_bone_gizmo = false - -[node name="Tie" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Tie"] -texture = SubResource("AtlasTexture_e7wc3") -centered = false -offset = Vector2(-10, -1) -metadata/_edit_lock_ = true - -[node name="Head" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"] -position = Vector2(-10, -25) -scale = Vector2(0.999827, 0.999827) -rest = Transform2D(1, 0, 0, 1, -10, -25) -editor_settings/show_bone_gizmo = false - -[node name="HeadParticle" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head" node_paths=PackedStringArray("data")] -collision_layer = 128 -collision_mask = 64 -freeze = true -script = ExtResource("3_w70im") -data = NodePath("../../../../../../..") -maxAngle = 45.0 -minTorque = -45.0 -maxTorque = 45.0 -Impulse = 100.0 - -[node name="Head" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle"] -texture = SubResource("AtlasTexture_wn68q") -centered = false -offset = Vector2(-20, -24) -metadata/_edit_lock_ = true - -[node name="Right_Eye" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"] -position = Vector2(-16, -8) -texture = SubResource("AtlasTexture_vcc72") -centered = false -offset = Vector2(-2, -2) -metadata/_edit_lock_ = true - -[node name="Left_Eye" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"] -position = Vector2(-4, -9.00001) -texture = SubResource("AtlasTexture_kto0i") -centered = false -offset = Vector2(-2, -2) -metadata/_edit_lock_ = true - -[node name="Jaw" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"] -position = Vector2(-2.84023, 2.61439) -rotation = -0.0898652 -scale = Vector2(0.999827, 0.999827) -texture = SubResource("AtlasTexture_x5uj2") -centered = false -offset = Vector2(-12, -2) -metadata/_edit_lock_ = true - -[node name="CollisionShape2D" type="CollisionShape2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle"] -position = Vector2(-4.58496, -8.21035) -shape = SubResource("CircleShape2D_dn8ha") - -[node name="Observer" type="Node" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle" node_paths=PackedStringArray("_observedEntity")] -script = ExtResource("5_25dv7") -_threshold = 0.0 -_observedEntity = NodePath("../../../../../../../..") - -[node name="Jaw" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"] -position = Vector2(-3, 3) -scale = Vector2(0.999827, 0.999827) -rest = Transform2D(1, 0, 0, 1, -3, 3) -auto_calculate_length_and_angle = false -length = 11.0 -bone_angle = 180.0 -editor_settings/show_bone_gizmo = false - -[node name="RemoteTransform2D" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/Jaw"] -remote_path = NodePath("../../HeadParticle/Head/Jaw") - -[node name="RightEye" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"] -position = Vector2(-16, -8) -rest = Transform2D(1, 0, 0, 1, -16, -8) -auto_calculate_length_and_angle = false -length = 2.0 -bone_angle = 180.0 -editor_settings/show_bone_gizmo = false - -[node name="RemoteTransform2D" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/RightEye"] -remote_path = NodePath("../../HeadParticle/Head/Right_Eye") - -[node name="LeftEye" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"] -position = Vector2(-4, -9) -rest = Transform2D(1, 0, 0, 1, -4, -9) -auto_calculate_length_and_angle = false -length = 2.0 -bone_angle = 180.0 -editor_settings/show_bone_gizmo = false - -[node name="RemoteTransform2D" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/LeftEye"] -remote_path = NodePath("../../HeadParticle/Head/Left_Eye") - -[node name="Hat" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head" node_paths=PackedStringArray("data")] -position = Vector2(-2.5, -13.5) -collision_layer = 128 -collision_mask = 64 -mass = 0.5 -center_of_mass_mode = 1 -freeze = true -script = ExtResource("3_w70im") -data = NodePath("../../../../../../..") -maxAngle = 45.0 -minTorque = -45.0 -maxTorque = 45.0 -Impulse = 100.0 - -[node name="Sprite" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/Hat" node_paths=PackedStringArray("armor")] -material = ExtResource("3_b8kja") -position = Vector2(-1, -12) -texture = ExtResource("4_qdhik") -script = ExtResource("5_ickyd") -armor = NodePath("../../../../../../../../Armor") -degradationStages = Array[Texture]([ExtResource("4_qdhik"), ExtResource("6_b6mal"), ExtResource("7_011r0")]) -thresholdPercentage = Array[float]([1.0, 0.667, 0.333]) - -[node name="CollisionShape2D" type="CollisionShape2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/Hat"] -position = Vector2(1, -6) -shape = SubResource("CircleShape2D_67t4t") - -[node name="LeftUpperArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"] -position = Vector2(-1, -20) -scale = Vector2(0.999829, 0.999829) -rest = Transform2D(1, 0, 0, 1, -1, -20) -editor_settings/show_bone_gizmo = false - -[node name="Left_Upper_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm"] -position = Vector2(-37, 10) -texture = SubResource("AtlasTexture_djocr") -centered = false -offset = Vector2(33, -12) -metadata/_edit_lock_ = true - -[node name="HandProjectile" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm" node_paths=PackedStringArray("data")] -position = Vector2(-2, 14) -collision_layer = 128 -collision_mask = 64 -freeze = true -script = ExtResource("3_w70im") -data = NodePath("../../../../../../..") -minTorque = -45.0 -maxTorque = 45.0 - -[node name="Left_Lower_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile"] -rotation = -0.136361 -scale = Vector2(0.999995, 0.999995) -texture = SubResource("AtlasTexture_auqeq") -centered = false -offset = Vector2(-5, 0) -metadata/_edit_lock_ = true - -[node name="Left_Hand" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm"] -show_behind_parent = true -position = Vector2(-0.99983, 12.9978) -rotation = -0.112403 -scale = Vector2(0.999658, 0.999658) -texture = SubResource("AtlasTexture_vlvtp") -centered = false -offset = Vector2(-4, -1) -metadata/_edit_lock_ = true - -[node name="CollisionShape2D" type="CollisionShape2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile"] -position = Vector2(-0.00104554, 13.0063) -shape = SubResource("CapsuleShape2D_ccrjo") - -[node name="Observer" type="Node" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile" node_paths=PackedStringArray("_observedEntity")] -script = ExtResource("5_25dv7") -_observedEntity = NodePath("../../../../../../../..") - -[node name="LeftLowerArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm"] -position = Vector2(-2, 14) -scale = Vector2(0.999825, 0.999825) -rest = Transform2D(1, 0, 0, 1, -2, 14) -editor_settings/show_bone_gizmo = false - -[node name="LeftHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm"] -position = Vector2(-1, 13) -scale = Vector2(0.999828, 0.999828) -rest = Transform2D(1, 0, 0, 1, -1, 13) -auto_calculate_length_and_angle = false -length = 6.0 -bone_angle = 90.0 -editor_settings/show_bone_gizmo = false - -[node name="Left_Hand_Remote" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand"] -remote_path = NodePath("../../../HandProjectile/Left_Lower_Arm/Left_Hand") - -[node name="Left_Lower_Arm_Remote" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm"] -scale = Vector2(1.00017, 1.00017) -remote_path = NodePath("../../HandProjectile/Left_Lower_Arm") - -[node name="AnimationPlayer" type="AnimationPlayer" parent="CanvasGroup/basic_zombie_walk"] -libraries = { -&"": SubResource("AnimationLibrary_x5uj2"), -&"basic": ExtResource("12_1gn3d") -} - -[node name="EatingStatistics" type="Node" parent="CanvasGroup/basic_zombie_walk/AnimationPlayer"] -script = ExtResource("13_xh0ny") -animationName = "basic/eating" -trackToFind = "../../Eatbox" - -[node name="Hitbox" type="Area2D" parent="."] -collision_layer = 8 -collision_mask = 0 - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"] -position = Vector2(4, -24) -shape = SubResource("RectangleShape2D_hxyad") - -[node name="Eatbox" type="Area2D" parent="."] -collision_layer = 0 -collision_mask = 2 -script = ExtResource("14_kx47n") -_damage = SubResource("Resource_011r0") - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Eatbox"] -position = Vector2(-10, -24) -shape = SubResource("RectangleShape2D_r4ug6") - -[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")] -root_node = NodePath("../CanvasGroup/basic_zombie_walk") -tree_root = SubResource("AnimationNodeBlendTree_ccrjo") -advance_expression_base_node = NodePath("../Eatbox") -anim_player = NodePath("../CanvasGroup/basic_zombie_walk/AnimationPlayer") -parameters/TimeScale/scale = 1.0 -script = ExtResource("17_tttgn") -entity = NodePath("..") - -[node name="Mover" type="Node" parent="."] -script = ExtResource("18_1pso5") -_speed = SubResource("Resource_b6mal") -_speedControlMult = 0.706804 - -[node name="HitPlayer" type="Node" parent="."] -script = ExtResource("19_n3dlr") -playlist = Array[AudioStream]([ExtResource("7_0amn8"), ExtResource("7_67t4t")]) -channels = Array[String](["plastic_hit", "hit"]) -metadata/_custom_type_script = "uid://c36bj8u7jghc7" - -[node name="Armor" type="Node" parent="."] -script = ExtResource("3_5s7in") -MaxHP = 195.0 - -[node name="FlashController" type="Node" parent="Armor"] -script = ExtResource("13_7fceb") -shaderMaterial = ExtResource("3_b8kja") - -[node name="GroanPlayer" type="Node" parent="."] -script = ExtResource("24_v3jd8") -audioStream = ExtResource("25_6yd48") -channel = "groan" -metadata/_custom_type_script = "uid://c36bj8u7jghc7" - -[node name="Timer" type="Timer" parent="GroanPlayer"] -wait_time = 20.0 - -[node name="StartTimer" type="Timer" parent="GroanPlayer/Timer"] -wait_time = 5.0 -one_shot = true -autostart = true - -[node name="EffectPlayer" type="Node" parent="."] -script = ExtResource("26_myimu") -effectsToMap = Array[Resource]([ExtResource("27_dxxec"), ExtResource("28_wg63k")]) -streamsToMapTo = Array[AudioStream]([ExtResource("29_fah3r"), ExtResource("30_p00wq")]) -streamSettings = Array[Object]([null, SubResource("Resource_dn8ha")]) - -[node name="DeathHandler" type="Node" parent="." node_paths=PackedStringArray("_tree", "_collider")] -script = ExtResource("32_1sywa") -_tree = NodePath("../AnimationTree") -_collider = NodePath("../Hitbox/CollisionShape2D") - -[node name="FlashController" type="Node" parent="."] -script = ExtResource("13_7fceb") -shaderMaterial = ExtResource("2_ffeg6") - -[connection signal="HasBeenKilled" from="." to="DeathHandler" method="OnKilled"] -[connection signal="OnDamaged" from="." to="HitPlayer" method="Play"] -[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle" method="FallOff"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/Jaw/RemoteTransform2D" method="queue_free"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/RightEye/RemoteTransform2D" method="queue_free"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/LeftEye/RemoteTransform2D" method="queue_free"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile" method="FallOff"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand/Left_Hand_Remote" method="queue_free"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/Left_Lower_Arm_Remote" method="queue_free"] -[connection signal="area_entered" from="Eatbox" to="Eatbox" method="OnAreaEntered"] -[connection signal="area_exited" from="Eatbox" to="Eatbox" method="OnAreaExited"] -[connection signal="ArmorLost" from="Armor" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/Hat" method="FallOff"] -[connection signal="ArmorLost" from="Armor" to="HitPlayer" method="Next"] -[connection signal="Damaged" from="Armor" to="HitPlayer" method="Play"] -[connection signal="Damaged" from="Armor" to="Armor/FlashController" method="DamageFlash"] -[connection signal="HpChanged" from="Armor" to="." method="HPChangedMixedInvoker"] -[connection signal="timeout" from="GroanPlayer/Timer" to="GroanPlayer" method="Play"] -[connection signal="timeout" from="GroanPlayer/Timer/StartTimer" to="GroanPlayer/Timer" method="start"] diff --git a/scenes/entities/Zombies/hobo.tscn b/scenes/entities/Zombies/hobo.tscn deleted file mode 100644 index 58a43f1..0000000 --- a/scenes/entities/Zombies/hobo.tscn +++ /dev/null @@ -1,1429 +0,0 @@ -[gd_scene load_steps=94 format=3 uid="uid://bgqmwsb6ynm81"] - -[ext_resource type="Script" uid="uid://dildme6epx8l4" path="res://scripts/entities/zombies/RuntimeZombieData.cs" id="1_5h5we"] -[ext_resource type="Script" uid="uid://bcc7skl7ts6sh" path="res://scripts/systems/effects/Effect.cs" id="2_ssrsu"] -[ext_resource type="Resource" uid="uid://dsg1vjx76ifgu" path="res://assets/effects/GarlicEffect.tres" id="3_b583s"] -[ext_resource type="Script" uid="uid://dt5uj25u0g6y3" path="res://scripts/particles/FallParticle.cs" id="3_tu6af"] -[ext_resource type="Script" uid="uid://c5v2og85t7s6j" path="res://scripts/entities/zombies/behaviours/HoboBehaviour.cs" id="4_5selg"] -[ext_resource type="Script" uid="uid://c3cfnrmnnuqms" path="res://addons/floatmodifiers/FloatModifiers.cs" id="4_c1y3b"] -[ext_resource type="Material" uid="uid://jr0vpg030jqv" path="res://assets/ZombieMaterial.tres" id="4_ssrsu"] -[ext_resource type="Script" uid="uid://fd4im1fmwc5n" path="res://scripts/entities/Armor.cs" id="4_w8pya"] -[ext_resource type="Texture2D" uid="uid://dri70dxyks7xh" path="res://assets/sprites/zombies/hobo.png" id="5_b583s"] -[ext_resource type="Script" uid="uid://bbw848msxb4re" path="res://scripts/entities/DegradingSprite.cs" id="5_ndwp0"] -[ext_resource type="Texture2D" uid="uid://8h5vg1pk32b2" path="res://assets/sprites/garbage_can1.tres" id="6_i6nje"] -[ext_resource type="Texture2D" uid="uid://dacgbwohpmeed" path="res://assets/sprites/zombies/basic.png" id="6_ihedj"] -[ext_resource type="Material" uid="uid://cn7ac4meka1hc" path="res://assets/GenericFlashMaterial.tres" id="6_vn3j1"] -[ext_resource type="Texture2D" uid="uid://cogfbn4re3kob" path="res://assets/sprites/garbage_can2.tres" id="7_txjqc"] -[ext_resource type="AnimationLibrary" uid="uid://ceb3khu7rwgy8" path="res://assets/animations/zombies/basic.res" id="7_vn3j1"] -[ext_resource type="AudioStream" uid="uid://bu1egfsyplpx4" path="res://assets/audio/sfx/metalhit_generic.tres" id="8_4248q"] -[ext_resource type="Texture2D" uid="uid://n2j2k2aijr7j" path="res://assets/sprites/garbage_can3.tres" id="8_b583s"] -[ext_resource type="AnimationLibrary" uid="uid://c0tlm0ta4dgbk" path="res://assets/animations/zombies/hobo.res" id="8_yb81c"] -[ext_resource type="AudioStream" uid="uid://w0qfwds4o3ti" path="res://assets/audio/sfx/hit_generic.tres" id="9_tu6af"] -[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="11_7jlle"] -[ext_resource type="Script" uid="uid://d3l8e8ko5r5i3" path="res://scripts/entities/ArmorHPObserver.cs" id="12_vn3j1"] -[ext_resource type="AudioStream" uid="uid://ch55p7qbaawtp" path="res://assets/audio/sfx/argh.tres" id="12_w1b1s"] -[ext_resource type="Script" uid="uid://dau0tfmlfiqmo" path="res://scripts/entities/EntityHPObserver.cs" id="14_2awep"] -[ext_resource type="Script" uid="uid://dw7v3s4kbu7ma" path="res://scripts/entities/AnimationStatistics.cs" id="17_arnax"] -[ext_resource type="Script" uid="uid://dqyony6jxt2p0" path="res://scripts/entities/zombies/EatBox.cs" id="18_p6vn8"] -[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="19_8y6c0"] -[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="20_l220p"] -[ext_resource type="Script" uid="uid://7hdj2k14lfe4" path="res://scripts/entities/zombies/ZombieMover.cs" id="21_vuumd"] -[ext_resource type="Script" uid="uid://cnn0ymuhypdff" path="res://scripts/audio/ChannelPlaylist.cs" id="22_uxp8e"] -[ext_resource type="Shader" uid="uid://btf4xhu31ln6n" path="res://assets/shaders/canvas_group_flash.gdshader" id="23_nc6p3"] -[ext_resource type="AudioStream" uid="uid://bg76miyscfvhu" path="res://assets/audio/sfx/groan.tres" id="26_i0ku7"] -[ext_resource type="Script" uid="uid://b8r6fxsfjdo3a" path="res://scripts/audio/EffectBasedPlayer.cs" id="30_pilme"] -[ext_resource type="Resource" uid="uid://7uj0oe656jfx" path="res://assets/effects/SnowSlow.tres" id="31_y40pw"] -[ext_resource type="AudioStream" uid="uid://dt13iugnnx4op" path="res://assets/audio/sfx/yuck_generic.tres" id="32_xr8w3"] -[ext_resource type="AudioStream" uid="uid://bjotp63arocci" path="res://assets/audio/sfx/frozen.mp3" id="33_6wb5p"] -[ext_resource type="Script" uid="uid://c1x4n4nqyq72f" path="res://scripts/audio/ChannelSettings.cs" id="34_1p6mb"] -[ext_resource type="Script" uid="uid://dk32ln8c2574d" path="res://scripts/entities/zombies/ZombieKillHandler.cs" id="35_jg5ia"] - -[sub_resource type="SkeletonModification2DCCDIK" id="SkeletonModification2DCCDIK_wn68q"] -tip_nodepath = NodePath("Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand") -ccdik_data_chain_length = 2 -joint_data/0/bone_index = 17 -joint_data/0/bone2d_node = NodePath("Butt/Body/LeftUpperArm/LeftLowerArm") -joint_data/0/rotate_from_joint = false -joint_data/0/enable_constraint = true -joint_data/0/constraint_angle_min = 0.0 -joint_data/0/constraint_angle_max = 90.0 -joint_data/0/constraint_angle_invert = false -joint_data/0/constraint_in_localspace = true -joint_data/0/editor_draw_gizmo = true -joint_data/1/bone_index = 16 -joint_data/1/bone2d_node = NodePath("Butt/Body/LeftUpperArm") -joint_data/1/rotate_from_joint = false -joint_data/1/enable_constraint = false -joint_data/1/editor_draw_gizmo = true -editor/draw_gizmo = false - -[sub_resource type="SkeletonModification2DCCDIK" id="SkeletonModification2DCCDIK_x5uj2"] -tip_nodepath = NodePath("Butt/Body/RightUpperArm/RightLowerArm/RightHand") -ccdik_data_chain_length = 2 -joint_data/0/bone_index = 8 -joint_data/0/bone2d_node = NodePath("Butt/Body/RightUpperArm") -joint_data/0/rotate_from_joint = false -joint_data/0/enable_constraint = false -joint_data/0/editor_draw_gizmo = true -joint_data/1/bone_index = 9 -joint_data/1/bone2d_node = NodePath("Butt/Body/RightUpperArm/RightLowerArm") -joint_data/1/rotate_from_joint = false -joint_data/1/enable_constraint = true -joint_data/1/constraint_angle_min = 0.0 -joint_data/1/constraint_angle_max = 90.0 -joint_data/1/constraint_angle_invert = false -joint_data/1/constraint_in_localspace = true -joint_data/1/editor_draw_gizmo = true -editor/draw_gizmo = false - -[sub_resource type="SkeletonModification2DCCDIK" id="SkeletonModification2DCCDIK_vcc72"] -tip_nodepath = NodePath("Butt/RightUpperLeg/RightLowerLeg/RightFoot") -ccdik_data_chain_length = 2 -joint_data/0/bone_index = 1 -joint_data/0/bone2d_node = NodePath("Butt/RightUpperLeg") -joint_data/0/rotate_from_joint = false -joint_data/0/enable_constraint = true -joint_data/0/constraint_angle_min = -90.0 -joint_data/0/constraint_angle_max = 90.0 -joint_data/0/constraint_angle_invert = true -joint_data/0/constraint_in_localspace = true -joint_data/0/editor_draw_gizmo = true -joint_data/1/bone_index = 2 -joint_data/1/bone2d_node = NodePath("Butt/RightUpperLeg/RightLowerLeg") -joint_data/1/rotate_from_joint = false -joint_data/1/enable_constraint = true -joint_data/1/constraint_angle_min = 0.0 -joint_data/1/constraint_angle_max = 160.0 -joint_data/1/constraint_angle_invert = false -joint_data/1/constraint_in_localspace = true -joint_data/1/editor_draw_gizmo = true -editor/draw_gizmo = false - -[sub_resource type="SkeletonModification2DCCDIK" id="SkeletonModification2DCCDIK_kto0i"] -tip_nodepath = NodePath("Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot") -ccdik_data_chain_length = 2 -joint_data/0/bone_index = 4 -joint_data/0/bone2d_node = NodePath("Butt/LeftUpperLeg") -joint_data/0/rotate_from_joint = false -joint_data/0/enable_constraint = true -joint_data/0/constraint_angle_min = -90.0 -joint_data/0/constraint_angle_max = 90.0 -joint_data/0/constraint_angle_invert = true -joint_data/0/constraint_in_localspace = true -joint_data/0/editor_draw_gizmo = true -joint_data/1/bone_index = 5 -joint_data/1/bone2d_node = NodePath("Butt/LeftUpperLeg/LeftLowerLeg") -joint_data/1/rotate_from_joint = false -joint_data/1/enable_constraint = true -joint_data/1/constraint_angle_min = -90.0 -joint_data/1/constraint_angle_max = 0.0 -joint_data/1/constraint_angle_invert = true -joint_data/1/constraint_in_localspace = true -joint_data/1/editor_draw_gizmo = true -editor/draw_gizmo = false - -[sub_resource type="SkeletonModificationStack2D" id="SkeletonModificationStack2D_wn68q"] -modification_count = 4 -modifications/0 = SubResource("SkeletonModification2DCCDIK_wn68q") -modifications/1 = SubResource("SkeletonModification2DCCDIK_x5uj2") -modifications/2 = SubResource("SkeletonModification2DCCDIK_vcc72") -modifications/3 = SubResource("SkeletonModification2DCCDIK_kto0i") - -[sub_resource type="AtlasTexture" id="AtlasTexture_txjqc"] -atlas = ExtResource("5_b583s") -region = Rect2(115, 52, 17, 9) - -[sub_resource type="AtlasTexture" id="AtlasTexture_b583s"] -atlas = ExtResource("5_b583s") -region = Rect2(86, 50, 10, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_uoit3"] -atlas = ExtResource("5_b583s") -region = Rect2(115, 52, 17, 9) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vn3j1"] -atlas = ExtResource("5_b583s") -region = Rect2(101, 50, 10, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_yb81c"] -atlas = ExtResource("5_b583s") -region = Rect2(117, 1, 8, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_nlwsb"] -atlas = ExtResource("5_b583s") -region = Rect2(129, 4, 7, 10) - -[sub_resource type="AtlasTexture" id="AtlasTexture_8y6c0"] -atlas = ExtResource("5_b583s") -region = Rect2(113, 22, 19, 13) - -[sub_resource type="AtlasTexture" id="AtlasTexture_nc6p3"] -atlas = ExtResource("5_b583s") -region = Rect2(80, 30, 7, 18) - -[sub_resource type="AtlasTexture" id="AtlasTexture_y0p2l"] -atlas = ExtResource("5_b583s") -region = Rect2(101, 37, 9, 11) - -[sub_resource type="AtlasTexture" id="AtlasTexture_op0h6"] -atlas = ExtResource("5_b583s") -region = Rect2(91, 32, 9, 15) - -[sub_resource type="AtlasTexture" id="AtlasTexture_0s5wm"] -atlas = ExtResource("5_b583s") -region = Rect2(137, 19, 29, 39) - -[sub_resource type="AtlasTexture" id="AtlasTexture_e7wc3"] -atlas = ExtResource("6_ihedj") -region = Rect2(72, 2, 13, 26) - -[sub_resource type="AtlasTexture" id="AtlasTexture_5selg"] -atlas = ExtResource("5_b583s") -region = Rect2(0, 29, 35, 11) - -[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_4248q"] -radius = 17.0 -height = 48.0 - -[sub_resource type="AtlasTexture" id="AtlasTexture_n380g"] -atlas = ExtResource("5_b583s") -region = Rect2(34, 38, 45, 27) - -[sub_resource type="CircleShape2D" id="CircleShape2D_vn3j1"] - -[sub_resource type="AtlasTexture" id="AtlasTexture_pjhfy"] -atlas = ExtResource("5_b583s") -region = Rect2(80, 0, 32, 30) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vcc72"] -atlas = ExtResource("6_ihedj") -region = Rect2(93, 3, 2, 3) - -[sub_resource type="AtlasTexture" id="AtlasTexture_kto0i"] -atlas = ExtResource("6_ihedj") -region = Rect2(105, 2, 3, 4) - -[sub_resource type="AtlasTexture" id="AtlasTexture_7cvmi"] -atlas = ExtResource("5_b583s") -region = Rect2(38, 22, 22, 13) - -[sub_resource type="CircleShape2D" id="CircleShape2D_dn8ha"] - -[sub_resource type="AtlasTexture" id="AtlasTexture_tebih"] -atlas = ExtResource("5_b583s") -region = Rect2(34, 0, 6, 19) - -[sub_resource type="AtlasTexture" id="AtlasTexture_auxav"] -atlas = ExtResource("5_b583s") -region = Rect2(43, 0, 9, 15) - -[sub_resource type="AtlasTexture" id="AtlasTexture_dntsa"] -atlas = ExtResource("5_b583s") -region = Rect2(55, 0, 9, 10) - -[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_ccrjo"] -radius = 3.00026 -height = 16.007 - -[sub_resource type="Animation" id="Animation_vn3j1"] -resource_name = "RESET" -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Zombie/Butt/Body/LeftUpperArm/LeftLowerArm:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-2, 14)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Zombie/Butt/Body/LeftUpperArm/LeftLowerArm:rotation") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand:position") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-1, 13)] -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand:rotation") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/4/type = "value" -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/path = NodePath("Zombie/Butt/Body/LeftUpperArm:position") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-1, -20)] -} -tracks/5/type = "value" -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/path = NodePath("Zombie/Butt/Body/LeftUpperArm:rotation") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/6/type = "value" -tracks/6/imported = false -tracks/6/enabled = true -tracks/6/path = NodePath("Zombie/Butt/Body/Head/LeftEye:position") -tracks/6/interp = 1 -tracks/6/loop_wrap = true -tracks/6/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-4, -9)] -} -tracks/7/type = "value" -tracks/7/imported = false -tracks/7/enabled = true -tracks/7/path = NodePath("Zombie/Butt/Body/Head/LeftEye:rotation") -tracks/7/interp = 1 -tracks/7/loop_wrap = true -tracks/7/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/8/type = "value" -tracks/8/imported = false -tracks/8/enabled = true -tracks/8/path = NodePath("Zombie/Butt/Body/Head/RightEye:position") -tracks/8/interp = 1 -tracks/8/loop_wrap = true -tracks/8/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-16, -8)] -} -tracks/9/type = "value" -tracks/9/imported = false -tracks/9/enabled = true -tracks/9/path = NodePath("Zombie/Butt/Body/Head/RightEye:rotation") -tracks/9/interp = 1 -tracks/9/loop_wrap = true -tracks/9/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/10/type = "value" -tracks/10/imported = false -tracks/10/enabled = true -tracks/10/path = NodePath("Zombie/Butt/Body/Head/Jaw:position") -tracks/10/interp = 1 -tracks/10/loop_wrap = true -tracks/10/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-3, 3)] -} -tracks/11/type = "value" -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/path = NodePath("Zombie/Butt/Body/Head/Jaw:rotation") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/12/type = "value" -tracks/12/imported = false -tracks/12/enabled = true -tracks/12/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm/RightHand:position") -tracks/12/interp = 1 -tracks/12/loop_wrap = true -tracks/12/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-1, 13)] -} -tracks/13/type = "value" -tracks/13/imported = false -tracks/13/enabled = true -tracks/13/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm/RightHand:rotation") -tracks/13/interp = 1 -tracks/13/loop_wrap = true -tracks/13/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/14/type = "value" -tracks/14/imported = false -tracks/14/enabled = true -tracks/14/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm:position") -tracks/14/interp = 1 -tracks/14/loop_wrap = true -tracks/14/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-2, 15)] -} -tracks/15/type = "value" -tracks/15/imported = false -tracks/15/enabled = true -tracks/15/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm:rotation") -tracks/15/interp = 1 -tracks/15/loop_wrap = true -tracks/15/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/16/type = "value" -tracks/16/imported = false -tracks/16/enabled = true -tracks/16/path = NodePath("Zombie/Butt/Body/RightUpperArm:position") -tracks/16/interp = 1 -tracks/16/loop_wrap = true -tracks/16/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-14, -23)] -} -tracks/17/type = "value" -tracks/17/imported = false -tracks/17/enabled = true -tracks/17/path = NodePath("Zombie/Butt/Body/RightUpperArm:rotation") -tracks/17/interp = 1 -tracks/17/loop_wrap = true -tracks/17/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/18/type = "value" -tracks/18/imported = false -tracks/18/enabled = true -tracks/18/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot:position") -tracks/18/interp = 1 -tracks/18/loop_wrap = true -tracks/18/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(6, 10)] -} -tracks/19/type = "value" -tracks/19/imported = false -tracks/19/enabled = true -tracks/19/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot:rotation") -tracks/19/interp = 1 -tracks/19/loop_wrap = true -tracks/19/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/20/type = "value" -tracks/20/imported = false -tracks/20/enabled = true -tracks/20/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg:position") -tracks/20/interp = 1 -tracks/20/loop_wrap = true -tracks/20/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-1, 13)] -} -tracks/21/type = "value" -tracks/21/imported = false -tracks/21/enabled = true -tracks/21/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg:rotation") -tracks/21/interp = 1 -tracks/21/loop_wrap = true -tracks/21/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/22/type = "value" -tracks/22/imported = false -tracks/22/enabled = true -tracks/22/path = NodePath("Zombie/Butt/LeftUpperLeg:position") -tracks/22/interp = 1 -tracks/22/loop_wrap = true -tracks/22/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(6, 4)] -} -tracks/23/type = "value" -tracks/23/imported = false -tracks/23/enabled = true -tracks/23/path = NodePath("Zombie/Butt/LeftUpperLeg:rotation") -tracks/23/interp = 1 -tracks/23/loop_wrap = true -tracks/23/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/24/type = "value" -tracks/24/imported = false -tracks/24/enabled = true -tracks/24/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg/RightFoot:position") -tracks/24/interp = 1 -tracks/24/loop_wrap = true -tracks/24/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-2, 14)] -} -tracks/25/type = "value" -tracks/25/imported = false -tracks/25/enabled = true -tracks/25/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg/RightFoot:rotation") -tracks/25/interp = 1 -tracks/25/loop_wrap = true -tracks/25/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/26/type = "value" -tracks/26/imported = false -tracks/26/enabled = true -tracks/26/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg:position") -tracks/26/interp = 1 -tracks/26/loop_wrap = true -tracks/26/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-2, 12)] -} -tracks/27/type = "value" -tracks/27/imported = false -tracks/27/enabled = true -tracks/27/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg:rotation") -tracks/27/interp = 1 -tracks/27/loop_wrap = true -tracks/27/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/28/type = "value" -tracks/28/imported = false -tracks/28/enabled = true -tracks/28/path = NodePath("Zombie/Butt/RightUpperLeg:position") -tracks/28/interp = 1 -tracks/28/loop_wrap = true -tracks/28/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-6, 3)] -} -tracks/29/type = "value" -tracks/29/imported = false -tracks/29/enabled = true -tracks/29/path = NodePath("Zombie/Butt/RightUpperLeg:rotation") -tracks/29/interp = 1 -tracks/29/loop_wrap = true -tracks/29/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/30/type = "value" -tracks/30/imported = false -tracks/30/enabled = true -tracks/30/path = NodePath("Zombie/Butt:position") -tracks/30/interp = 1 -tracks/30/loop_wrap = true -tracks/30/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(5, -35)] -} -tracks/31/type = "value" -tracks/31/imported = false -tracks/31/enabled = true -tracks/31/path = NodePath("Zombie/Butt:rotation") -tracks/31/interp = 1 -tracks/31/loop_wrap = true -tracks/31/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/32/type = "value" -tracks/32/imported = false -tracks/32/enabled = true -tracks/32/path = NodePath("Zombie/Butt/Body:position") -tracks/32/interp = 1 -tracks/32/loop_wrap = true -tracks/32/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(1, -2)] -} -tracks/33/type = "value" -tracks/33/imported = false -tracks/33/enabled = true -tracks/33/path = NodePath("Zombie/Butt/Body:rotation") -tracks/33/interp = 1 -tracks/33/loop_wrap = true -tracks/33/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/34/type = "value" -tracks/34/imported = false -tracks/34/enabled = true -tracks/34/path = NodePath("Zombie:position") -tracks/34/interp = 1 -tracks/34/loop_wrap = true -tracks/34/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(0, 0)] -} -tracks/35/type = "value" -tracks/35/imported = false -tracks/35/enabled = true -tracks/35/path = NodePath("Zombie:rotation") -tracks/35/interp = 1 -tracks/35/loop_wrap = true -tracks/35/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/36/type = "value" -tracks/36/imported = false -tracks/36/enabled = true -tracks/36/path = NodePath("Zombie/Butt/Body/Head:position") -tracks/36/interp = 1 -tracks/36/loop_wrap = true -tracks/36/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-10, -25)] -} -tracks/37/type = "value" -tracks/37/imported = false -tracks/37/enabled = true -tracks/37/path = NodePath("Zombie/Butt/Body/Head:rotation") -tracks/37/interp = 1 -tracks/37/loop_wrap = true -tracks/37/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/38/type = "value" -tracks/38/imported = false -tracks/38/enabled = true -tracks/38/path = NodePath("Zombie/Butt/Body/Head:visible") -tracks/38/interp = 1 -tracks/38/loop_wrap = true -tracks/38/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] -} -tracks/39/type = "value" -tracks/39/imported = false -tracks/39/enabled = true -tracks/39/path = NodePath("Zombie/Butt/Body/Head/TrashcanLid:position") -tracks/39/interp = 1 -tracks/39/loop_wrap = true -tracks/39/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-0.0022974, -17.0131)] -} -tracks/40/type = "value" -tracks/40/imported = false -tracks/40/enabled = true -tracks/40/path = NodePath("Zombie/Butt/Body/Head/TrashcanLid:rotation") -tracks/40/interp = 1 -tracks/40/loop_wrap = true -tracks/40/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/41/type = "value" -tracks/41/imported = false -tracks/41/enabled = true -tracks/41/path = NodePath("Zombie/Butt/Body/Head/TrashcanLid:visible") -tracks/41/interp = 1 -tracks/41/loop_wrap = true -tracks/41/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] -} -tracks/42/type = "value" -tracks/42/imported = false -tracks/42/enabled = true -tracks/42/path = NodePath("Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm/Left_Hand:texture") -tracks/42/interp = 1 -tracks/42/loop_wrap = true -tracks/42/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [SubResource("AtlasTexture_dntsa")] -} -tracks/43/type = "value" -tracks/43/imported = false -tracks/43/enabled = true -tracks/43/path = NodePath("../../Mover:_speedControlMult") -tracks/43/interp = 1 -tracks/43/loop_wrap = true -tracks/43/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/44/type = "value" -tracks/44/imported = false -tracks/44/enabled = true -tracks/44/path = NodePath("Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm/Left_Hand:offset") -tracks/44/interp = 1 -tracks/44/loop_wrap = true -tracks/44/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(-4, -1)] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_x5uj2"] -_data = { -&"RESET": SubResource("Animation_vn3j1") -} - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_hxyad"] -size = Vector2(26, 48) - -[sub_resource type="Resource" id="Resource_n380g"] -resource_local_to_scene = true -script = ExtResource("4_c1y3b") -flat_value = 5.0 -percentage_value = 0.0 -mult_value = 1.0 - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_r4ug6"] -size = Vector2(16, 48) - -[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_2q05d"] - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vn3j1"] -animation = &"basic/death" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_02fim"] -animation = &"basic/stand" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_yb81c"] -animation = &"basic/eating" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_h0rfo"] -animation = &"hobo/eating_without_arms" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_nog33"] -animation = &"basic/stand" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_c1y3b"] -animation = &"basic/walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_g2uel"] -animation = &"hobo/Jump_walking" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vxhht"] -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_n380g"] -xfade_time = 0.5 -advance_mode = 2 -advance_expression = "get(\"isEating\")" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nlwsb"] -xfade_time = 0.5 -advance_mode = 2 -advance_expression = "get(\"isEating\") == false" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8y6c0"] -xfade_time = 0.5 -advance_mode = 2 -advance_expression = "get(\"isEating\")" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nc6p3"] -xfade_time = 0.5 -advance_mode = 2 -advance_expression = "get(\"isEating\") == false" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_y0p2l"] -break_loop_at_end = true -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_uoit3"] -xfade_time = 0.5 -advance_mode = 2 -advance_expression = "get(\"isEating\") == false and can_process()" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vn3j1"] -xfade_time = 0.5 -advance_mode = 2 -advance_expression = "get(\"isEating\") and can_process()" - -[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_xg3p6"] -states/Death/node = SubResource("AnimationNodeAnimation_vn3j1") -states/Death/position = Vector2(745, 220) -states/Destroy/node = SubResource("AnimationNodeAnimation_02fim") -states/Destroy/position = Vector2(773, 67) -states/Eat/node = SubResource("AnimationNodeAnimation_yb81c") -states/Eat/position = Vector2(942, 145) -states/Eat_with_can/node = SubResource("AnimationNodeAnimation_h0rfo") -states/Eat_with_can/position = Vector2(583, 145) -states/End/position = Vector2(1185, 100) -states/Idle/node = SubResource("AnimationNodeAnimation_nog33") -states/Idle/position = Vector2(368, 100) -states/Run/node = SubResource("AnimationNodeAnimation_c1y3b") -states/Run/position = Vector2(942, -3) -states/Walk/node = SubResource("AnimationNodeAnimation_g2uel") -states/Walk/position = Vector2(583, -3) -transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_vxhht"), "Walk", "Eat_with_can", SubResource("AnimationNodeStateMachineTransition_n380g"), "Eat_with_can", "Walk", SubResource("AnimationNodeStateMachineTransition_nlwsb"), "Run", "Eat", SubResource("AnimationNodeStateMachineTransition_8y6c0"), "Eat", "Run", SubResource("AnimationNodeStateMachineTransition_nc6p3"), "Destroy", "Run", SubResource("AnimationNodeStateMachineTransition_y0p2l"), "Idle", "Walk", SubResource("AnimationNodeStateMachineTransition_uoit3"), "Idle", "Eat_with_can", SubResource("AnimationNodeStateMachineTransition_vn3j1")] -graph_offset = Vector2(274, -18) - -[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_txjqc"] -nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_2q05d") -nodes/TimeScale/position = Vector2(60, 120) -nodes/Tree/node = SubResource("AnimationNodeStateMachine_xg3p6") -nodes/Tree/position = Vector2(-220, 120) -node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"] - -[sub_resource type="Resource" id="Resource_4248q"] -resource_local_to_scene = true -script = ExtResource("4_c1y3b") -flat_value = 0.4 -percentage_value = 0.0 -mult_value = 1.0 - -[sub_resource type="Resource" id="Resource_dn8ha"] -script = ExtResource("34_1p6mb") -restartTreshold = -1.0 -metadata/_custom_type_script = "uid://c1x4n4nqyq72f" - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_vn3j1"] -resource_local_to_scene = true -shader = ExtResource("23_nc6p3") -shader_parameter/FLASH_COLOR = Color(1, 0.709804, 0.439216, 0.5) -shader_parameter/HIGHLIGHT_COLOR = Color(1, 0.709804, 0.439216, 0.5) -shader_parameter/blend = 0.0 -shader_parameter/selected = false - -[node name="Hobo" type="Node2D" node_paths=PackedStringArray("_armor", "_player", "_tree")] -y_sort_enabled = true -script = ExtResource("1_5h5we") -_armor = NodePath("CanArmor") -MaxHP = 185.0 -_player = NodePath("CanvasGroup/basic_zombie_walk/AnimationPlayer") -_tree = NodePath("AnimationTree") -_effectImmunities = Array[ExtResource("2_ssrsu")]([ExtResource("3_b583s")]) -metadata/_edit_vertical_guides_ = [-159.0] - -[node name="CanvasGroup" type="CanvasGroup" parent="."] -material = ExtResource("4_ssrsu") - -[node name="basic_zombie_walk" type="Node2D" parent="CanvasGroup"] - -[node name="Zombie" type="Skeleton2D" parent="CanvasGroup/basic_zombie_walk"] -use_parent_material = true -modification_stack = SubResource("SkeletonModificationStack2D_wn68q") - -[node name="Butt" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie"] -use_parent_material = true -position = Vector2(5, -35) -scale = Vector2(0.999902, 0.999902) -rest = Transform2D(1, 0, 0, 1, 5, -35) -editor_settings/show_bone_gizmo = false - -[node name="Butt" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"] -use_parent_material = true -texture = SubResource("AtlasTexture_txjqc") -centered = false -offset = Vector2(-10, -3) -metadata/_edit_lock_ = true - -[node name="RightUpperLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"] -use_parent_material = true -position = Vector2(-6, 3) -scale = Vector2(0.99983, 0.99983) -rest = Transform2D(1, 0, 0, 1, -6, 3) -editor_settings/show_bone_gizmo = false - -[node name="Right_Upper_Leg" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg"] -texture = SubResource("AtlasTexture_b583s") -centered = false -offset = Vector2(-6, -2) -metadata/_edit_lock_ = true - -[node name="RightLowerLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg"] -position = Vector2(-2, 12) -scale = Vector2(0.99983, 0.99983) -rest = Transform2D(1, 0, 0, 1, -2, 12) -editor_settings/show_bone_gizmo = false - -[node name="RightFoot" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg"] -position = Vector2(-2, 14) -scale = Vector2(0.99983, 0.99983) -rest = Transform2D(1, 0, 0, 1, -2, 14) -auto_calculate_length_and_angle = false -length = 12.0 -bone_angle = 0.0 -editor_settings/show_bone_gizmo = false - -[node name="Right_Foot" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg/RightFoot"] -texture = SubResource("AtlasTexture_uoit3") -centered = false -offset = Vector2(-4, -3) -metadata/_edit_lock_ = true - -[node name="Right_Lower_Leg" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg"] -position = Vector2(-18, -2) -texture = SubResource("AtlasTexture_vn3j1") -centered = false -offset = Vector2(12, 1) -metadata/_edit_lock_ = true - -[node name="LeftUpperLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"] -use_parent_material = true -position = Vector2(6, 4) -scale = Vector2(0.999826, 0.999826) -rest = Transform2D(1, 0, 0, 1, 6, 4) -editor_settings/show_bone_gizmo = false - -[node name="Left_Upper_Leg" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg"] -texture = SubResource("AtlasTexture_yb81c") -centered = false -offset = Vector2(-4, -2) -metadata/_edit_lock_ = true - -[node name="LeftLowerLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg"] -position = Vector2(-1, 13) -scale = Vector2(0.999827, 0.999827) -rest = Transform2D(1, 0, 0, 1, -1, 13) -editor_settings/show_bone_gizmo = false - -[node name="Left_Lower_Leg" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg"] -texture = SubResource("AtlasTexture_nlwsb") -centered = false -offset = Vector2(-1, 0) -metadata/_edit_lock_ = true - -[node name="LeftFoot" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg"] -position = Vector2(6, 10) -scale = Vector2(0.999821, 0.999821) -rest = Transform2D(1, 0, 0, 1, 6, 10) -auto_calculate_length_and_angle = false -length = 12.0 -bone_angle = 160.0 -editor_settings/show_bone_gizmo = false - -[node name="Left_Foot" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot"] -texture = SubResource("AtlasTexture_8y6c0") -centered = false -offset = Vector2(-14, -3) -metadata/_edit_lock_ = true - -[node name="Body" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"] -use_parent_material = true -position = Vector2(1, -2) -scale = Vector2(0.999825, 0.999825) -rest = Transform2D(1, 0, 0, 1, 1, -2) -editor_settings/show_bone_gizmo = false - -[node name="RightUpperArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"] -use_parent_material = true -position = Vector2(-14, -23) -scale = Vector2(0.999827, 0.999827) -rest = Transform2D(1, 0, 0, 1, -14, -23) -editor_settings/show_bone_gizmo = false - -[node name="Right_Upper_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm"] -texture = SubResource("AtlasTexture_nc6p3") -centered = false -offset = Vector2(-4, -2) -metadata/_edit_lock_ = true - -[node name="RightLowerArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm"] -position = Vector2(-2, 15) -scale = Vector2(0.999816, 0.999816) -rest = Transform2D(1, 0, 0, 1, -2, 15) -editor_settings/show_bone_gizmo = false - -[node name="RightHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm"] -position = Vector2(-1, 13) -scale = Vector2(0.999828, 0.999828) -rest = Transform2D(1, 0, 0, 1, -1, 13) -auto_calculate_length_and_angle = false -length = 8.0 -bone_angle = 90.0 -editor_settings/show_bone_gizmo = false - -[node name="Right_Hand" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm/RightHand"] -texture = SubResource("AtlasTexture_y0p2l") -centered = false -offset = Vector2(-4, -2) -metadata/_edit_lock_ = true - -[node name="Right_Lower_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm"] -texture = SubResource("AtlasTexture_op0h6") -centered = false -offset = Vector2(-5, -1) -metadata/_edit_lock_ = true - -[node name="Body" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"] -rotation = 0.00163735 -texture = SubResource("AtlasTexture_0s5wm") -centered = false -offset = Vector2(-15, -27) -metadata/_edit_lock_ = true - -[node name="Tie" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"] -position = Vector2(-9, -21) -rotation = 0.00541537 -scale = Vector2(1e-05, 1e-05) -skew = -0.000476122 -rest = Transform2D(1, 0, 0, 1, -9, -21) -auto_calculate_length_and_angle = false -length = 24.0 -bone_angle = 100.0 -editor_settings/show_bone_gizmo = false - -[node name="Tie" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Tie"] -visible = false -texture = SubResource("AtlasTexture_e7wc3") -centered = false -offset = Vector2(-10, -1) -metadata/_edit_lock_ = true - -[node name="Can" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" node_paths=PackedStringArray("data")] -scale = Vector2(1.00027, 1.00027) -collision_layer = 128 -collision_mask = 64 -freeze = true -script = ExtResource("3_tu6af") -data = NodePath("../../../../../..") -maxAngle = 45.0 -minTorque = -45.0 -maxTorque = 45.0 -Impulse = 100.0 - -[node name="Sprite2D" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Can" node_paths=PackedStringArray("armor")] -material = ExtResource("6_vn3j1") -position = Vector2(-5.9999, -4.5002) -texture = ExtResource("6_i6nje") -script = ExtResource("5_ndwp0") -armor = NodePath("../../../../../../../CanArmor") -degradationStages = Array[Texture2D]([ExtResource("6_i6nje"), ExtResource("7_txjqc"), ExtResource("8_b583s")]) -thresholdPercentage = Array[float]([1.0, 0.667, 0.333]) - -[node name="Sprite2D2" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Can"] -material = ExtResource("6_vn3j1") -position = Vector2(-7.4999, -27.5002) -texture = SubResource("AtlasTexture_5selg") - -[node name="CollisionShape2D" type="CollisionShape2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Can"] -position = Vector2(-4.9999, -5.0002) -shape = SubResource("CapsuleShape2D_4248q") - -[node name="Head" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"] -position = Vector2(-10, -25) -scale = Vector2(0.999829, 0.999829) -rest = Transform2D(1, 0, 0, 1, -10, -25) -editor_settings/show_bone_gizmo = false - -[node name="HeadParticle" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head" node_paths=PackedStringArray("data")] -collision_layer = 128 -collision_mask = 64 -freeze = true -script = ExtResource("3_tu6af") -data = NodePath("../../../../../../..") -maxAngle = 45.0 -minTorque = -45.0 -maxTorque = 45.0 -Impulse = 100.0 - -[node name="TrashcanLid" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle" node_paths=PackedStringArray("data")] -position = Vector2(-3, 3.00001) -scale = Vector2(0.999826, 0.999826) -collision_layer = 128 -collision_mask = 64 -freeze = true -script = ExtResource("3_tu6af") -data = NodePath("../../../../../../../..") - -[node name="Trashcan_lid" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/TrashcanLid"] -material = ExtResource("6_vn3j1") -position = Vector2(2.99822, -20.0166) -scale = Vector2(1, 1) -texture = SubResource("AtlasTexture_n380g") -offset = Vector2(-0.5, -0.5) -metadata/_edit_lock_ = true - -[node name="CollisionShape2D" type="CollisionShape2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/TrashcanLid"] -position = Vector2(2.99791, -20.018) -shape = SubResource("CircleShape2D_vn3j1") - -[node name="Observer" type="Node" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/TrashcanLid" node_paths=PackedStringArray("_observedArmor")] -script = ExtResource("12_vn3j1") -_threshold = 0.333 -_observedArmor = NodePath("../../../../../../../../../CanArmor") - -[node name="Head" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle"] -texture = SubResource("AtlasTexture_pjhfy") -centered = false -offset = Vector2(-20, -24) -metadata/_edit_lock_ = true - -[node name="Right_Eye" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"] -position = Vector2(-16, -8) -scale = Vector2(1, 1) -texture = SubResource("AtlasTexture_vcc72") -centered = false -offset = Vector2(-2, -2) -metadata/_edit_lock_ = true - -[node name="Left_Eye" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"] -position = Vector2(-4, -9) -scale = Vector2(1, 1) -texture = SubResource("AtlasTexture_kto0i") -centered = false -offset = Vector2(-2, -2) -metadata/_edit_lock_ = true - -[node name="Jaw" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"] -position = Vector2(-3, 3) -rotation = -0.00880774 -scale = Vector2(0.999828, 0.999828) -texture = SubResource("AtlasTexture_7cvmi") -centered = false -offset = Vector2(-14, -2) -metadata/_edit_lock_ = true - -[node name="CollisionShape2D" type="CollisionShape2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle"] -position = Vector2(-4.58496, -8.21035) -shape = SubResource("CircleShape2D_dn8ha") - -[node name="Observer" type="Node" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle" node_paths=PackedStringArray("_observedEntity")] -script = ExtResource("14_2awep") -_threshold = 0.0 -_observedEntity = NodePath("../../../../../../../..") - -[node name="Jaw" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"] -position = Vector2(-3, 3) -scale = Vector2(0.999828, 0.999828) -rest = Transform2D(1, 0, 0, 1, -3, 3) -auto_calculate_length_and_angle = false -length = 11.0 -bone_angle = 180.0 -editor_settings/show_bone_gizmo = false - -[node name="RemoteTransform2D" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/Jaw"] -remote_path = NodePath("../../HeadParticle/Head/Jaw") - -[node name="RightEye" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"] -position = Vector2(-16, -8) -rest = Transform2D(1, 0, 0, 1, -16, -8) -auto_calculate_length_and_angle = false -length = 2.0 -bone_angle = 180.0 -editor_settings/show_bone_gizmo = false - -[node name="RemoteTransform2D" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/RightEye"] -remote_path = NodePath("../../HeadParticle/Head/Right_Eye") - -[node name="LeftEye" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"] -position = Vector2(-4, -9) -rest = Transform2D(1, 0, 0, 1, -4, -9) -auto_calculate_length_and_angle = false -length = 2.0 -bone_angle = 180.0 -editor_settings/show_bone_gizmo = false - -[node name="RemoteTransform2D" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/LeftEye"] -remote_path = NodePath("../../HeadParticle/Head/Left_Eye") - -[node name="TrashcanLid" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"] -position = Vector2(-0.0022974, -17.0131) -scale = Vector2(0.999828, 0.999828) -rest = Transform2D(1, 0, 0, 1, -0.0022974, -17.0131) -auto_calculate_length_and_angle = false -length = 12.0 -bone_angle = 180.0 -editor_settings/show_bone_gizmo = false - -[node name="RemoteTransform2D" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/TrashcanLid"] -remote_path = NodePath("../../HeadParticle/TrashcanLid/Trashcan_lid") - -[node name="LeftUpperArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"] -position = Vector2(-1, -20) -scale = Vector2(0.999826, 0.999826) -rest = Transform2D(1, 0, 0, 1, -1, -20) -editor_settings/show_bone_gizmo = false - -[node name="Left_Upper_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm"] -position = Vector2(-37, 10) -texture = SubResource("AtlasTexture_tebih") -centered = false -offset = Vector2(33, -12) -metadata/_edit_lock_ = true - -[node name="HandProjectile" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm" node_paths=PackedStringArray("data")] -position = Vector2(-2, 14) -collision_layer = 128 -collision_mask = 64 -freeze = true -script = ExtResource("3_tu6af") -data = NodePath("../../../../../../..") -minTorque = -45.0 -maxTorque = 45.0 - -[node name="Left_Lower_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile"] -rotation = 0.0048851 -scale = Vector2(0.999996, 0.999996) -texture = SubResource("AtlasTexture_auxav") -centered = false -offset = Vector2(-5, 0) -metadata/_edit_lock_ = true - -[node name="Left_Hand" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm"] -show_behind_parent = true -position = Vector2(-0.99983, 12.9978) -scale = Vector2(0.999652, 0.999652) -texture = SubResource("AtlasTexture_dntsa") -centered = false -offset = Vector2(-4, -1) -metadata/_edit_lock_ = true - -[node name="CollisionShape2D" type="CollisionShape2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile"] -position = Vector2(-0.00104554, 13.0063) -shape = SubResource("CapsuleShape2D_ccrjo") - -[node name="Observer" type="Node" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile" node_paths=PackedStringArray("_observedEntity")] -script = ExtResource("14_2awep") -_observedEntity = NodePath("../../../../../../../..") - -[node name="LeftLowerArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm"] -position = Vector2(-2, 14) -scale = Vector2(0.999826, 0.999826) -rest = Transform2D(1, 0, 0, 1, -2, 14) -editor_settings/show_bone_gizmo = false - -[node name="LeftHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm"] -position = Vector2(-1, 13) -scale = Vector2(0.999822, 0.999822) -rest = Transform2D(1, 0, 0, 1, -1, 13) -auto_calculate_length_and_angle = false -length = 6.0 -bone_angle = 90.0 -editor_settings/show_bone_gizmo = false - -[node name="Left_Hand_Remote" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand"] -remote_path = NodePath("../../../HandProjectile/Left_Lower_Arm/Left_Hand") - -[node name="Left_Lower_Arm_Remote" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm"] -scale = Vector2(1.00017, 1.00017) -remote_path = NodePath("../../HandProjectile/Left_Lower_Arm") - -[node name="AnimationPlayer" type="AnimationPlayer" parent="CanvasGroup/basic_zombie_walk"] -libraries = { -&"": SubResource("AnimationLibrary_x5uj2"), -&"basic": ExtResource("7_vn3j1"), -&"hobo": ExtResource("8_yb81c") -} - -[node name="EatingStatistics" type="Node" parent="CanvasGroup/basic_zombie_walk/AnimationPlayer"] -script = ExtResource("17_arnax") -animationName = "hobo/eating_without_arms" -trackToFind = "../../Eatbox" - -[node name="Hitbox" type="Area2D" parent="."] -collision_layer = 8 -collision_mask = 0 - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"] -position = Vector2(4, -24) -shape = SubResource("RectangleShape2D_hxyad") - -[node name="Eatbox" type="Area2D" parent="."] -collision_layer = 0 -collision_mask = 2 -script = ExtResource("18_p6vn8") -_damage = SubResource("Resource_n380g") - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Eatbox"] -position = Vector2(-10, -24) -shape = SubResource("RectangleShape2D_r4ug6") - -[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")] -root_node = NodePath("../CanvasGroup/basic_zombie_walk") -tree_root = SubResource("AnimationNodeBlendTree_txjqc") -advance_expression_base_node = NodePath("../Behaviour") -anim_player = NodePath("../CanvasGroup/basic_zombie_walk/AnimationPlayer") -parameters/TimeScale/scale = 1.0 -script = ExtResource("20_l220p") -entity = NodePath("..") - -[node name="Mover" type="Node" parent="."] -script = ExtResource("21_vuumd") -_speed = SubResource("Resource_4248q") - -[node name="HitPlayer" type="Node" parent="."] -script = ExtResource("22_uxp8e") -playlist = Array[AudioStream]([ExtResource("8_4248q"), ExtResource("9_tu6af")]) -channels = Array[String](["metal_hit", "hit"]) -metadata/_custom_type_script = "uid://c36bj8u7jghc7" - -[node name="GroanPlayer" type="Node" parent="."] -script = ExtResource("11_7jlle") -audioStream = ExtResource("26_i0ku7") -channel = "groan" -metadata/_custom_type_script = "uid://c36bj8u7jghc7" - -[node name="Timer" type="Timer" parent="GroanPlayer"] -wait_time = 20.0 - -[node name="StartTimer" type="Timer" parent="GroanPlayer/Timer"] -wait_time = 5.0 -one_shot = true -autostart = true - -[node name="CanArmor" type="Node" parent="."] -script = ExtResource("4_w8pya") -MaxHP = 550.0 -metadata/_custom_type_script = "uid://fd4im1fmwc5n" - -[node name="FlashController" type="Node" parent="CanArmor"] -script = ExtResource("19_8y6c0") -shaderMaterial = ExtResource("6_vn3j1") - -[node name="Behaviour" type="Node" parent="." node_paths=PackedStringArray("_eatBox", "_animationTree")] -script = ExtResource("4_5selg") -_eatBox = NodePath("../Eatbox") -_animationTree = NodePath("../AnimationTree") - -[node name="EffectPlayer" type="Node" parent="."] -script = ExtResource("30_pilme") -effectsToMap = Array[Resource]([ExtResource("3_b583s"), ExtResource("31_y40pw")]) -streamsToMapTo = Array[AudioStream]([ExtResource("32_xr8w3"), ExtResource("33_6wb5p")]) -streamSettings = Array[Object]([null, SubResource("Resource_dn8ha")]) - -[node name="DeathHandler" type="Node" parent="." node_paths=PackedStringArray("_tree", "_collider")] -script = ExtResource("35_jg5ia") -_tree = NodePath("../AnimationTree") -_collider = NodePath("../Hitbox/CollisionShape2D") - -[node name="RipPlayer" type="Node" parent="."] -script = ExtResource("11_7jlle") -audioStream = ExtResource("12_w1b1s") -channel = "anger" -metadata/_custom_type_script = "uid://c36bj8u7jghc7" - -[node name="FlashController" type="Node" parent="."] -script = ExtResource("19_8y6c0") -shaderMaterial = SubResource("ShaderMaterial_vn3j1") - -[connection signal="HasBeenKilled" from="." to="DeathHandler" method="OnKilled"] -[connection signal="OnDamaged" from="." to="HitPlayer" method="Play"] -[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/TrashcanLid/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/TrashcanLid" method="FallOff"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/TrashcanLid/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/TrashcanLid/RemoteTransform2D" method="queue_free"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle" method="FallOff"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/Jaw/RemoteTransform2D" method="queue_free"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/RightEye/RemoteTransform2D" method="queue_free"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/LeftEye/RemoteTransform2D" method="queue_free"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile" method="FallOff"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand/Left_Hand_Remote" method="queue_free"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/Left_Lower_Arm_Remote" method="queue_free"] -[connection signal="area_entered" from="Eatbox" to="Eatbox" method="OnAreaEntered"] -[connection signal="area_exited" from="Eatbox" to="Eatbox" method="OnAreaExited"] -[connection signal="timeout" from="GroanPlayer/Timer" to="GroanPlayer" method="Play"] -[connection signal="timeout" from="GroanPlayer/Timer/StartTimer" to="GroanPlayer/Timer" method="start"] -[connection signal="ArmorLost" from="CanArmor" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Can" method="FallOff"] -[connection signal="ArmorLost" from="CanArmor" to="HitPlayer" method="Next"] -[connection signal="ArmorLost" from="CanArmor" to="Behaviour" method="Trashed"] -[connection signal="Damaged" from="CanArmor" to="HitPlayer" method="Play"] -[connection signal="Damaged" from="CanArmor" to="CanArmor/FlashController" method="DamageFlash"] diff --git a/scenes/entities/plants/aloe.tscn b/scenes/entities/plants/aloe.tscn deleted file mode 100644 index 5215df8..0000000 --- a/scenes/entities/plants/aloe.tscn +++ /dev/null @@ -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"] diff --git a/scenes/entities/plants/cucumber.tscn b/scenes/entities/plants/cucumber.tscn deleted file mode 100644 index 3d8d930..0000000 --- a/scenes/entities/plants/cucumber.tscn +++ /dev/null @@ -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"] diff --git a/scenes/entities/plants/cucumber.tscn7041666357.tmp b/scenes/entities/plants/cucumber.tscn7041666357.tmp deleted file mode 100644 index 8b5d203..0000000 --- a/scenes/entities/plants/cucumber.tscn7041666357.tmp +++ /dev/null @@ -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") diff --git a/scenes/entities/plants/garlic.tscn b/scenes/entities/plants/garlic.tscn deleted file mode 100644 index 5ca32ca..0000000 --- a/scenes/entities/plants/garlic.tscn +++ /dev/null @@ -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"] diff --git a/scenes/entities/plants/nerdus.tscn b/scenes/entities/plants/nerdus.tscn deleted file mode 100644 index bb6393e..0000000 --- a/scenes/entities/plants/nerdus.tscn +++ /dev/null @@ -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"] diff --git a/scenes/entities/plants/peashooter.tscn b/scenes/entities/plants/peashooter.tscn deleted file mode 100644 index 11ed7f7..0000000 --- a/scenes/entities/plants/peashooter.tscn +++ /dev/null @@ -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"] diff --git a/scenes/entities/plants/potato_mine.tscn b/scenes/entities/plants/potato_mine.tscn deleted file mode 100644 index 6c08e76..0000000 --- a/scenes/entities/plants/potato_mine.tscn +++ /dev/null @@ -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"] diff --git a/scenes/entities/plants/repeater.tscn b/scenes/entities/plants/repeater.tscn deleted file mode 100644 index 7a5fba9..0000000 --- a/scenes/entities/plants/repeater.tscn +++ /dev/null @@ -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"] diff --git a/scenes/entities/plants/snipach.tscn b/scenes/entities/plants/snipach.tscn deleted file mode 100644 index f3387cd..0000000 --- a/scenes/entities/plants/snipach.tscn +++ /dev/null @@ -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"] diff --git a/scenes/entities/plants/snowpea.tscn b/scenes/entities/plants/snowpea.tscn deleted file mode 100644 index 45fc12f..0000000 --- a/scenes/entities/plants/snowpea.tscn +++ /dev/null @@ -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"] diff --git a/scenes/entities/plants/spikeweed.tscn b/scenes/entities/plants/spikeweed.tscn deleted file mode 100644 index b98941b..0000000 --- a/scenes/entities/plants/spikeweed.tscn +++ /dev/null @@ -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"] diff --git a/scenes/entities/plants/sunflower.tscn b/scenes/entities/plants/sunflower.tscn deleted file mode 100644 index 3d6d1b8..0000000 --- a/scenes/entities/plants/sunflower.tscn +++ /dev/null @@ -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"] diff --git a/scenes/entities/plants/threepeater.tscn b/scenes/entities/plants/threepeater.tscn deleted file mode 100644 index 73e6100..0000000 --- a/scenes/entities/plants/threepeater.tscn +++ /dev/null @@ -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"] diff --git a/scenes/entities/plants/wallnut.tscn b/scenes/entities/plants/wallnut.tscn deleted file mode 100644 index 86fc9ed..0000000 --- a/scenes/entities/plants/wallnut.tscn +++ /dev/null @@ -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"] diff --git a/scenes/entities/tiles/base_tile.tscn b/scenes/entities/tiles/base_tile.tscn deleted file mode 100644 index 58bac5a..0000000 --- a/scenes/entities/tiles/base_tile.tscn +++ /dev/null @@ -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") diff --git a/scenes/entities/tiles/redirect_down_tile.tscn b/scenes/entities/tiles/redirect_down_tile.tscn deleted file mode 100644 index b32fcd6..0000000 --- a/scenes/entities/tiles/redirect_down_tile.tscn +++ /dev/null @@ -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") diff --git a/scenes/entities/tiles/redirect_up_tile.tscn b/scenes/entities/tiles/redirect_up_tile.tscn deleted file mode 100644 index 1d719f6..0000000 --- a/scenes/entities/tiles/redirect_up_tile.tscn +++ /dev/null @@ -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") diff --git a/scenes/entities/tiles/slow_tile.tscn b/scenes/entities/tiles/slow_tile.tscn deleted file mode 100644 index f2d7b69..0000000 --- a/scenes/entities/tiles/slow_tile.tscn +++ /dev/null @@ -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") diff --git a/scenes/entities/tiles/speed_tile.tscn b/scenes/entities/tiles/speed_tile.tscn deleted file mode 100644 index be47bdf..0000000 --- a/scenes/entities/tiles/speed_tile.tscn +++ /dev/null @@ -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") diff --git a/scenes/gui/almanach.gd b/scenes/gui/almanach.gd deleted file mode 100644 index ae21e7d..0000000 --- a/scenes/gui/almanach.gd +++ /dev/null @@ -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 diff --git a/scenes/gui/almanach.gd.uid b/scenes/gui/almanach.gd.uid deleted file mode 100644 index 4a51bc8..0000000 --- a/scenes/gui/almanach.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bs1qywtqijyd2 diff --git a/scenes/gui/almanach.tscn b/scenes/gui/almanach.tscn deleted file mode 100644 index 3ab973a..0000000 --- a/scenes/gui/almanach.tscn +++ /dev/null @@ -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"] diff --git a/scenes/gui/choose_your_seeds.tscn b/scenes/gui/choose_your_seeds.tscn deleted file mode 100644 index 50f1fab..0000000 --- a/scenes/gui/choose_your_seeds.tscn +++ /dev/null @@ -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"] diff --git a/scenes/gui/cursor_canvas_layer.tscn b/scenes/gui/cursor_canvas_layer.tscn deleted file mode 100644 index 8cbf299..0000000 --- a/scenes/gui/cursor_canvas_layer.tscn +++ /dev/null @@ -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") diff --git a/scenes/gui/fast_forward_button.tscn b/scenes/gui/fast_forward_button.tscn deleted file mode 100644 index 3632a2f..0000000 --- a/scenes/gui/fast_forward_button.tscn +++ /dev/null @@ -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"] diff --git a/scenes/gui/flag.tscn b/scenes/gui/flag.tscn deleted file mode 100644 index 5a72cfa..0000000 --- a/scenes/gui/flag.tscn +++ /dev/null @@ -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 diff --git a/scenes/gui/frame.tscn b/scenes/gui/frame.tscn deleted file mode 100644 index 9c5365f..0000000 --- a/scenes/gui/frame.tscn +++ /dev/null @@ -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 diff --git a/scenes/gui/level_run_button.tscn b/scenes/gui/level_run_button.tscn deleted file mode 100644 index e894e36..0000000 --- a/scenes/gui/level_run_button.tscn +++ /dev/null @@ -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 diff --git a/scenes/gui/pause_button.tscn b/scenes/gui/pause_button.tscn deleted file mode 100644 index d65dc65..0000000 --- a/scenes/gui/pause_button.tscn +++ /dev/null @@ -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") diff --git a/scenes/gui/pause_menu.tscn b/scenes/gui/pause_menu.tscn deleted file mode 100644 index 069dfa5..0000000 --- a/scenes/gui/pause_menu.tscn +++ /dev/null @@ -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"] diff --git a/scenes/gui/reward_scene.tscn b/scenes/gui/reward_scene.tscn deleted file mode 100644 index cc99fa9..0000000 --- a/scenes/gui/reward_scene.tscn +++ /dev/null @@ -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" diff --git a/scenes/gui/runtime_gui.tscn b/scenes/gui/runtime_gui.tscn deleted file mode 100644 index b9d20f1..0000000 --- a/scenes/gui/runtime_gui.tscn +++ /dev/null @@ -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"] diff --git a/scenes/gui/seedpacket.tscn b/scenes/gui/seedpacket.tscn index aa1c80b..c0a72ab 100644 --- a/scenes/gui/seedpacket.tscn +++ b/scenes/gui/seedpacket.tscn @@ -1,123 +1,92 @@ -[gd_scene load_steps=12 format=3 uid="uid://e7vutg71l6f2"] +[gd_scene load_steps=12 format=3 uid="uid://bi4c34ii72y46"] -[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"] +[ext_resource type="Texture2D" uid="uid://dxyf557m4mq1p" path="res://assets/sprites/gui/EmptyPlantCard.png" id="1_4rm55"] +[ext_resource type="Script" uid="uid://cepaa3acqx70d" path="res://scripts/gui/seedpacket/seedpacket.gd" id="1_c8vxi"] +[ext_resource type="Texture2D" uid="uid://cabpf23ndlvx0" path="res://assets/sprites/gui/Selection.tres" id="3_fon4l"] +[ext_resource type="Script" uid="uid://bppehhpn0u7ep" path="res://scripts/gui/seedpacket/seedpacket_cost_label.gd" id="3_tntkr"] +[ext_resource type="Script" uid="uid://bx7k7g0ebkwef" path="res://scripts/gui/seedpacket/seedpacket_progressbar.gd" id="4_gr8e8"] +[ext_resource type="Texture2D" uid="uid://dvldjlg0nr355" path="res://assets/sprites/atlases/atlas1.png" id="5_2cmc5"] -[sub_resource type="LabelSettings" id="LabelSettings_js4li"] +[sub_resource type="LabelSettings" id="LabelSettings_c8vxi"] resource_local_to_scene = true -font_size = 13 +font_size = 10 font_color = Color(0, 0, 0, 1) -[sub_resource type="ShaderMaterial" id="ShaderMaterial_qxf0q"] -shader = ExtResource("5_s5861") -shader_parameter/mask = ExtResource("1_77bw1") +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_tntkr"] -[node name="Seedpacket" type="TextureButton"] +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_gr8e8"] +bg_color = Color(0.12, 0.12, 0.12, 0.490196) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fon4l"] +atlas = ExtResource("5_2cmc5") +region = Rect2(475, 68, 39, 51) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gtmhg"] +atlas = ExtResource("5_2cmc5") +region = Rect2(561, 78, 28, 33) + +[node name="Seedpacket" type="AspectRatioContainer"] 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 +anchor_right = 0.068 +anchor_bottom = 0.14 +offset_right = 0.199997 +ratio = 0.7321 +script = ExtResource("1_c8vxi") -[node name="Cost" type="Label" parent="."] +[node name="TextureButton" type="TextureButton" parent="."] +clip_children = 2 +layout_mode = 2 +texture_normal = ExtResource("1_4rm55") +texture_focused = ExtResource("3_fon4l") +stretch_mode = 0 + +[node name="Cost" type="Label" parent="TextureButton"] 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") +anchor_left = 0.122 +anchor_top = 0.714 +anchor_right = 0.878 +anchor_bottom = 0.911 +offset_left = -0.00200033 +offset_top = 0.0159988 +offset_right = 0.0019989 +offset_bottom = -0.0159988 +label_settings = SubResource("LabelSettings_c8vxi") horizontal_alignment = 1 vertical_alignment = 1 -text_overrun_behavior = 3 +text_overrun_behavior = 1 +visible_characters_behavior = 1 +script = ExtResource("3_tntkr") -[node name="PlantPreviewContainer" type="Control" parent="."] +[node name="PreviewContainer" type="Control" parent="TextureButton"] 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 +anchor_right = 0.976 +anchor_bottom = 0.714 +offset_left = -27.0 +offset_top = -26.0 +offset_right = 24.984 +offset_bottom = -2.984 mouse_filter = 2 -[node name="Preview" type="TextureRect" parent="PlantPreviewContainer"] +[node name="Preview" type="TextureRect" parent="TextureButton/PreviewContainer"] 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 +anchor_left = 0.297 +anchor_top = 0.412 +anchor_right = 0.74 +anchor_bottom = 1.302 +offset_left = -0.324001 +offset_top = 0.0439987 +offset_right = -0.0800018 +offset_bottom = -0.0259933 +grow_horizontal = 2 +grow_vertical = 2 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") +[node name="RechargeProgress" type="ProgressBar" parent="TextureButton"] layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 @@ -125,17 +94,49 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 mouse_filter = 2 +theme_override_styles/background = SubResource("StyleBoxEmpty_tntkr") +theme_override_styles/fill = SubResource("StyleBoxFlat_gr8e8") 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") +show_percentage = false +script = ExtResource("4_gr8e8") + +[node name="Availability" type="ColorRect" parent="TextureButton"] +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.247059) + +[node name="Forbidden" type="TextureRect" parent="TextureButton"] +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = SubResource("AtlasTexture_fon4l") + +[node name="Locked" type="TextureRect" parent="TextureButton"] +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 7.0 +offset_top = 12.0 +offset_right = -6.0 +offset_bottom = -11.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = SubResource("AtlasTexture_gtmhg") [node name="RechargeTimer" type="Timer" parent="."] -process_mode = 1 one_shot = true -[connection signal="focus_exited" from="." to="." method="OnUnfocused"] +[connection signal="pressed" from="TextureButton" to="." method="on_pressed"] diff --git a/scenes/gui/shovel_button.tscn b/scenes/gui/shovel_button.tscn deleted file mode 100644 index b9288ee..0000000 --- a/scenes/gui/shovel_button.tscn +++ /dev/null @@ -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 diff --git a/scenes/gui/sun_counter.tscn b/scenes/gui/sun_counter.tscn deleted file mode 100644 index 4d348b3..0000000 --- a/scenes/gui/sun_counter.tscn +++ /dev/null @@ -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 diff --git a/scenes/gui/wave_progress.tscn b/scenes/gui/wave_progress.tscn deleted file mode 100644 index a6ed04e..0000000 --- a/scenes/gui/wave_progress.tscn +++ /dev/null @@ -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 diff --git a/scenes/level components/field_controller.tscn b/scenes/level components/field_controller.tscn deleted file mode 100644 index 761ef55..0000000 --- a/scenes/level components/field_controller.tscn +++ /dev/null @@ -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" diff --git a/scenes/level components/invun_plant.tscn b/scenes/level components/invun_plant.tscn deleted file mode 100644 index 8ce2892..0000000 --- a/scenes/level components/invun_plant.tscn +++ /dev/null @@ -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") diff --git a/scenes/level components/left_boundary_marker.tscn b/scenes/level components/left_boundary_marker.tscn deleted file mode 100644 index a422037..0000000 --- a/scenes/level components/left_boundary_marker.tscn +++ /dev/null @@ -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") diff --git a/scenes/level components/pools.tscn b/scenes/level components/pools.tscn deleted file mode 100644 index 2bc2d59..0000000 --- a/scenes/level components/pools.tscn +++ /dev/null @@ -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="."] diff --git a/scenes/level components/right_boundary_marker.tscn b/scenes/level components/right_boundary_marker.tscn deleted file mode 100644 index ed4b5a8..0000000 --- a/scenes/level components/right_boundary_marker.tscn +++ /dev/null @@ -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") diff --git a/scenes/level_button.tscn b/scenes/level_button.tscn deleted file mode 100644 index c1b64a7..0000000 --- a/scenes/level_button.tscn +++ /dev/null @@ -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") diff --git a/scenes/levels/standard_level.tscn b/scenes/levels/standard_level.tscn new file mode 100644 index 0000000..e4af382 --- /dev/null +++ b/scenes/levels/standard_level.tscn @@ -0,0 +1,74 @@ +[gd_scene load_steps=9 format=3 uid="uid://bh1yiiv1fi0b8"] + +[ext_resource type="Texture2D" uid="uid://b0tb2hjum40aw" path="res://assets/sprites/background_summer.png" id="1_3bchh"] +[ext_resource type="Script" uid="uid://cj8mt02far5np" path="res://scripts/level/field_rect_offsetter.gd" id="1_4dbyi"] +[ext_resource type="Script" uid="uid://cyttjwv888cb4" path="res://scripts/level/layered_entity_container.gd" id="1_ia5ss"] +[ext_resource type="Script" uid="uid://co3yto3q7mnm7" path="res://scripts/level/level_data.gd" id="1_ssqyj"] +[ext_resource type="Script" uid="uid://sjnxv5q4yk2" path="res://scripts/level/seedpacket_placer.gd" id="4_5r585"] +[ext_resource type="Script" uid="uid://crlumefuo1biu" path="res://scripts/gui/plant_pick/seedpacket_generator.gd" id="6_2y6d3"] +[ext_resource type="Script" uid="uid://cbrhnb4tp4pem" path="res://scripts/gui/plant_pick/hotbar.gd" id="7_e4b3h"] +[ext_resource type="Script" uid="uid://60lwfjb634kd" path="res://scripts/gui/plant_pick/go_button.gd" id="8_e4b3h"] + +[node name="StandardLevel" type="Node"] + +[node name="Data" type="Node" parent="."] +script = ExtResource("1_ssqyj") +metadata/_custom_type_script = "uid://co3yto3q7mnm7" + +[node name="LayeredEntityContainer" type="Node" parent="."] +script = ExtResource("1_ia5ss") + +[node name="Game" type="Node2D" parent="."] + +[node name="Field Start" type="Marker2D" parent="Game"] +position = Vector2(305, 76) +script = ExtResource("1_4dbyi") +metadata/_edit_lock_ = true + +[node name="SeedpacketPlacer" type="Node2D" parent="Game" node_paths=PackedStringArray("entity_container")] +script = ExtResource("4_5r585") +entity_container = NodePath("../../LayeredEntityContainer") + +[node name="Plants" type="Node2D" parent="Game"] +unique_name_in_owner = true + +[node name="Projectiles" type="Node2D" parent="Game"] +unique_name_in_owner = true + +[node name="Background" type="CanvasLayer" parent="Game"] +layer = -10 +follow_viewport_enabled = true + +[node name="BackgroundSummer" type="Sprite2D" parent="Game/Background"] +texture = ExtResource("1_3bchh") +centered = false +metadata/_edit_lock_ = true + +[node name="Camera2D" type="Camera2D" parent="Game"] +position = Vector2(517, 206) + +[node name="User Interface" type="CanvasLayer" parent="."] +layer = 5 +metadata/_edit_lock_ = true + +[node name="GridContainer" type="GridContainer" parent="User Interface"] +offset_left = -1.0 +offset_top = 216.0 +offset_right = 257.0 +offset_bottom = 401.0 +columns = 5 +script = ExtResource("6_2y6d3") + +[node name="Hotbar" type="HBoxContainer" parent="User Interface"] +offset_left = -1.0 +offset_top = -2.0 +offset_right = 365.0 +offset_bottom = 65.0 +script = ExtResource("7_e4b3h") + +[node name="Button" type="Button" parent="User Interface"] +offset_top = 178.0 +offset_right = 124.0 +offset_bottom = 210.0 +text = "next state" +script = ExtResource("8_e4b3h") diff --git a/scenes/main_menu.tscn b/scenes/main_menu.tscn deleted file mode 100644 index 57e395f..0000000 --- a/scenes/main_menu.tscn +++ /dev/null @@ -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"] diff --git a/scenes/particles/aloe_effect.tscn b/scenes/particles/aloe_effect.tscn deleted file mode 100644 index 591a1ff..0000000 --- a/scenes/particles/aloe_effect.tscn +++ /dev/null @@ -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") diff --git a/scenes/particles/dirt_explosion.tscn b/scenes/particles/dirt_explosion.tscn deleted file mode 100644 index 15208c7..0000000 --- a/scenes/particles/dirt_explosion.tscn +++ /dev/null @@ -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") diff --git a/scenes/particles/pea_particles.tscn b/scenes/particles/pea_particles.tscn deleted file mode 100644 index 456b56d..0000000 --- a/scenes/particles/pea_particles.tscn +++ /dev/null @@ -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") diff --git a/scenes/particles/potato_explosion.tscn b/scenes/particles/potato_explosion.tscn deleted file mode 100644 index c2b63b8..0000000 --- a/scenes/particles/potato_explosion.tscn +++ /dev/null @@ -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") diff --git a/scenes/particles/snow_pea_particles.tscn b/scenes/particles/snow_pea_particles.tscn deleted file mode 100644 index 76e30a6..0000000 --- a/scenes/particles/snow_pea_particles.tscn +++ /dev/null @@ -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") diff --git a/scenes/plants/aloe.tscn b/scenes/plants/aloe.tscn new file mode 100644 index 0000000..db2640a --- /dev/null +++ b/scenes/plants/aloe.tscn @@ -0,0 +1,15 @@ +[gd_scene load_steps=3 format=3 uid="uid://dba4s3ke32u0l"] + +[ext_resource type="Texture2D" uid="uid://d4btl7vqi4v0q" path="res://assets/sprites/plants/aloe.tres" id="1_38l32"] +[ext_resource type="Script" uid="uid://bwdvaov8sse4k" path="res://scripts/entities/entity.gd" id="1_yhqjp"] + +[node name="Aloe" type="Node2D" groups=["Plants"]] + +[node name="Entity" type="Node" parent="."] +script = ExtResource("1_yhqjp") +max_hp = 30.0 +layer = &"base" +metadata/_custom_type_script = "uid://bwdvaov8sse4k" + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = ExtResource("1_38l32") diff --git a/scenes/plants/peashooter.tscn b/scenes/plants/peashooter.tscn new file mode 100644 index 0000000..2b153df --- /dev/null +++ b/scenes/plants/peashooter.tscn @@ -0,0 +1,187 @@ +[gd_scene load_steps=23 format=3 uid="uid://bxs34adppsh5e"] + +[ext_resource type="Texture2D" uid="uid://cksryh4w5dbbx" path="res://assets/sprites/atlases/plants/peashooter.png" id="2_4l0yo"] +[ext_resource type="Script" uid="uid://bwdvaov8sse4k" path="res://scripts/entities/entity.gd" id="2_pk084"] +[ext_resource type="Script" uid="uid://be5rfbbl5xgeh" path="res://scripts/components/generic_collider.gd" id="3_2lnl7"] +[ext_resource type="Script" uid="uid://cbmavbe4xd0j2" path="res://scripts/speed_controlled/speed_controlled_animation_tree.gd" id="3_gkdjr"] +[ext_resource type="Script" uid="uid://cbudgx741oxtc" path="res://scripts/components/generic_hurtbox.gd" id="5_gkdjr"] +[ext_resource type="Script" uid="uid://cjulv0bt6deps" path="res://scripts/components/field_segment_shape.gd" id="6_tf8ra"] +[ext_resource type="Script" uid="uid://b0ka8lb5kl1fd" path="res://scripts/components/controllers/plants/peashooter_controller.gd" id="8_0ridr"] +[ext_resource type="Script" uid="uid://d17rkta3k73jx" path="res://scripts/components/plant_death_handler.gd" id="8_6jrfv"] + +[sub_resource type="Animation" id="Animation_tf8ra"] +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="Animation" id="Animation_gkdjr"] +resource_name = "idle" +length = 0.833342 +loop_mode = 1 +step = 0.0833333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.0833333, 0.166667, 0.25, 0.333333, 0.416667, 0.5, 0.583333, 0.666667, 0.75), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1), +"update": 1, +"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] +} + +[sub_resource type="Animation" id="Animation_4l0yo"] +resource_name = "shoot" +length = 0.666675 +step = 0.0833333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.0833333, 0.166667, 0.25, 0.333333, 0.416667, 0.5, 0.583333), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1), +"update": 1, +"values": [10, 11, 12, 13, 14, 15, 16, 17] +} +tracks/1/type = "method" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Controller") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0.333333), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"shoot" +}] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_0ridr"] +_data = { +&"RESET": SubResource("Animation_tf8ra"), +&"idle": SubResource("Animation_gkdjr"), +&"shoot": SubResource("Animation_4l0yo") +} + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_0ridr"] +animation = &"idle" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_6jrfv"] +animation = &"shoot" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0l7qe"] +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3wvhk"] +advance_mode = 2 +advance_expression = "is_shooting()" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hlvcn"] +switch_mode = 2 +advance_mode = 2 +advance_expression = "is_shooting() == false" + +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_1h4ri"] +states/idle/node = SubResource("AnimationNodeAnimation_0ridr") +states/idle/position = Vector2(415, 106) +states/shoot/node = SubResource("AnimationNodeAnimation_6jrfv") +states/shoot/position = Vector2(649, 107) +transitions = ["Start", "idle", SubResource("AnimationNodeStateMachineTransition_0l7qe"), "idle", "shoot", SubResource("AnimationNodeStateMachineTransition_3wvhk"), "shoot", "idle", SubResource("AnimationNodeStateMachineTransition_hlvcn")] + +[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_0l7qe"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_3wvhk"] +graph_offset = Vector2(-541.787, 73.4125) +nodes/main/node = SubResource("AnimationNodeStateMachine_1h4ri") +nodes/main/position = Vector2(-140, 160) +nodes/speed/node = SubResource("AnimationNodeTimeScale_0l7qe") +nodes/speed/position = Vector2(140, 140) +node_connections = [&"output", 0, &"speed", &"speed", 0, &"main"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_6jrfv"] +size = Vector2(26, 40) + +[sub_resource type="SegmentShape2D" id="SegmentShape2D_gkdjr"] +b = Vector2(0, 0) + +[node name="Peashooter" type="Node2D" groups=["Plants"]] +script = ExtResource("2_pk084") +max_hp = 30.0 + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = ExtResource("2_4l0yo") +hframes = 10 +vframes = 2 + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +&"": SubResource("AnimationLibrary_0ridr") +} + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_3wvhk") +advance_expression_base_node = NodePath("../Controller") +anim_player = NodePath("../AnimationPlayer") +parameters/speed/scale = 1.0 +script = ExtResource("3_gkdjr") + +[node name="GenericCollider" type="Area2D" parent="."] +collision_layer = 2 +collision_mask = 0 +monitoring = false +script = ExtResource("3_2lnl7") +metadata/_custom_type_script = "uid://be5rfbbl5xgeh" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="GenericCollider"] +position = Vector2(0, 6) +shape = SubResource("RectangleShape2D_6jrfv") + +[node name="GenericHurtbox" type="Area2D" parent="."] +position = Vector2(17, -4) +collision_layer = 0 +collision_mask = 4 +monitorable = false +script = ExtResource("5_gkdjr") +lookup_layers = 1 +metadata/_custom_type_script = "uid://cbudgx741oxtc" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="GenericHurtbox"] +shape = SubResource("SegmentShape2D_gkdjr") +script = ExtResource("6_tf8ra") + +[node name="Controller" type="Node" parent="." node_paths=PackedStringArray("projectile_transform")] +script = ExtResource("8_0ridr") +projectile_transform = NodePath("../ShootMarker") + +[node name="Timer" type="Timer" parent="Controller"] +wait_time = 1.5 +one_shot = true + +[node name="ShootMarker" type="Marker2D" parent="."] +position = Vector2(17, -4) + +[node name="DeathHandler" type="Node" parent="."] +script = ExtResource("8_6jrfv") + +[connection signal="killed" from="." to="DeathHandler" method="_on_killed"] +[connection signal="toggled" from="." to="GenericCollider" method="toggle"] +[connection signal="collision_end" from="GenericHurtbox" to="Controller" method="_on_generic_hurtbox_collision_end"] +[connection signal="collision_start" from="GenericHurtbox" to="Controller" method="_on_generic_hurtbox_collision_start"] +[connection signal="timeout" from="Controller/Timer" to="Controller" method="_on_timer_timeout"] diff --git a/scenes/projectiles/cucumber_projectile.tscn b/scenes/projectiles/cucumber_projectile.tscn deleted file mode 100644 index e3e56af..0000000 --- a/scenes/projectiles/cucumber_projectile.tscn +++ /dev/null @@ -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") diff --git a/scenes/projectiles/cucumber_projectile.tscn7043679061.tmp b/scenes/projectiles/cucumber_projectile.tscn7043679061.tmp deleted file mode 100644 index 1e23782..0000000 --- a/scenes/projectiles/cucumber_projectile.tscn7043679061.tmp +++ /dev/null @@ -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 diff --git a/scenes/projectiles/cucumber_projectile_compound.tscn b/scenes/projectiles/cucumber_projectile_compound.tscn deleted file mode 100644 index cfa3618..0000000 --- a/scenes/projectiles/cucumber_projectile_compound.tscn +++ /dev/null @@ -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 diff --git a/scenes/projectiles/pea.tscn b/scenes/projectiles/pea.tscn index 38ac1ef..d647bc5 100644 --- a/scenes/projectiles/pea.tscn +++ b/scenes/projectiles/pea.tscn @@ -1,30 +1,20 @@ -[gd_scene load_steps=5 format=3 uid="uid://b2hrv0aqbui7u"] +[gd_scene load_steps=4 format=3 uid="uid://ciqhjwh4sfe3u"] -[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"] +[ext_resource type="Script" uid="uid://fgdhvaq4dek2" path="res://scripts/projectiles/linear_projectile.gd" id="1_qt432"] +[ext_resource type="Texture2D" uid="uid://dq0mul65hevtt" path="res://assets/sprites/plants/pea.tres" id="2_inkwd"] -[sub_resource type="CircleShape2D" id="CircleShape2D_ix1sk"] +[sub_resource type="CircleShape2D" id="CircleShape2D_osqrk"] 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") +collision_layer = 8 +collision_mask = 4 +script = ExtResource("1_qt432") +speed = 300.0 +damage = 10.0 -[node name="Sprite" type="Sprite2D" parent="."] -texture = ExtResource("2_26q5x") +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = ExtResource("2_inkwd") [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"] +shape = SubResource("CircleShape2D_osqrk") diff --git a/scenes/projectiles/repeater_projectile.tscn b/scenes/projectiles/repeater_projectile.tscn deleted file mode 100644 index e207ded..0000000 --- a/scenes/projectiles/repeater_projectile.tscn +++ /dev/null @@ -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) diff --git a/scenes/projectiles/snowpea_projectile.tscn b/scenes/projectiles/snowpea_projectile.tscn deleted file mode 100644 index 580fa0e..0000000 --- a/scenes/projectiles/snowpea_projectile.tscn +++ /dev/null @@ -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]] diff --git a/scenes/prototype_survival.tscn b/scenes/prototype_survival.tscn deleted file mode 100644 index 1424e30..0000000 --- a/scenes/prototype_survival.tscn +++ /dev/null @@ -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"] diff --git a/scenes/sacrifice.tscn b/scenes/sacrifice.tscn deleted file mode 100644 index 652cddc..0000000 --- a/scenes/sacrifice.tscn +++ /dev/null @@ -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" diff --git a/scenes/summer.tscn b/scenes/summer.tscn deleted file mode 100644 index b1aca74..0000000 --- a/scenes/summer.tscn +++ /dev/null @@ -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") diff --git a/scenes/sun.tscn b/scenes/sun.tscn deleted file mode 100644 index 9b1fa01..0000000 --- a/scenes/sun.tscn +++ /dev/null @@ -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"] diff --git a/scenes/templates/level_template.tscn b/scenes/templates/level_template.tscn deleted file mode 100644 index 60fa513..0000000 --- a/scenes/templates/level_template.tscn +++ /dev/null @@ -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"] diff --git a/scenes/templates/money_reward.tscn b/scenes/templates/money_reward.tscn deleted file mode 100644 index 51f3c1b..0000000 --- a/scenes/templates/money_reward.tscn +++ /dev/null @@ -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") diff --git a/scenes/templates/plant_reward.tscn b/scenes/templates/plant_reward.tscn deleted file mode 100644 index 7466e2c..0000000 --- a/scenes/templates/plant_reward.tscn +++ /dev/null @@ -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") diff --git a/scenes/templates/plant_template.tscn b/scenes/templates/plant_template.tscn deleted file mode 100644 index a259d5b..0000000 --- a/scenes/templates/plant_template.tscn +++ /dev/null @@ -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"] diff --git a/scenes/entities/Zombies/zombie.tscn b/scenes/zombies/basic.tscn similarity index 54% rename from scenes/entities/Zombies/zombie.tscn rename to scenes/zombies/basic.tscn index 7d18c53..92c66de 100644 --- a/scenes/entities/Zombies/zombie.tscn +++ b/scenes/zombies/basic.tscn @@ -1,30 +1,14 @@ -[gd_scene load_steps=61 format=3 uid="uid://co11v3w8hbwgf"] +[gd_scene load_steps=53 format=3 uid="uid://dunih4xhnupy5"] -[ext_resource type="Script" uid="uid://dildme6epx8l4" path="res://scripts/entities/zombies/RuntimeZombieData.cs" id="1_qq3f1"] -[ext_resource type="Material" uid="uid://jr0vpg030jqv" path="res://assets/ZombieMaterial.tres" id="2_b51fx"] -[ext_resource type="AudioStream" uid="uid://dt13iugnnx4op" path="res://assets/audio/sfx/yuck_generic.tres" id="2_hh4qh"] -[ext_resource type="Script" uid="uid://dqyony6jxt2p0" path="res://scripts/entities/zombies/EatBox.cs" id="3_2aulo"] -[ext_resource type="AudioStream" uid="uid://bjotp63arocci" path="res://assets/audio/sfx/frozen.mp3" id="3_ltj46"] -[ext_resource type="Script" uid="uid://7hdj2k14lfe4" path="res://scripts/entities/zombies/ZombieMover.cs" id="4_u5syx"] -[ext_resource type="Texture2D" uid="uid://dacgbwohpmeed" path="res://assets/sprites/zombies/basic.png" id="6_xnora"] -[ext_resource type="Script" uid="uid://c3cfnrmnnuqms" path="res://addons/floatmodifiers/FloatModifiers.cs" id="7_b3p4o"] -[ext_resource type="Script" uid="uid://dt5uj25u0g6y3" path="res://scripts/particles/FallParticle.cs" id="7_dn8ha"] -[ext_resource type="Script" uid="uid://dw7v3s4kbu7ma" path="res://scripts/entities/AnimationStatistics.cs" id="8_b51fx"] -[ext_resource type="AnimationNodeStateMachine" uid="uid://dj0blope85bg7" path="res://assets/animations/zombies/basic_zombie_tree.tres" id="8_ckb7n"] -[ext_resource type="Script" uid="uid://dau0tfmlfiqmo" path="res://scripts/entities/EntityHPObserver.cs" id="8_mc1kl"] -[ext_resource type="Texture2D" uid="uid://dri70dxyks7xh" path="res://assets/sprites/zombies/hobo.png" id="9_b51fx"] -[ext_resource type="AnimationLibrary" uid="uid://ceb3khu7rwgy8" path="res://assets/animations/zombies/basic.res" id="9_y6afe"] -[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="10_ruqsf"] -[ext_resource type="Script" uid="uid://dwlwi42smgxkb" path="res://scripts/TimeScalableAnimationTree.cs" id="11_ccrjo"] -[ext_resource type="AudioStream" uid="uid://bg76miyscfvhu" path="res://assets/audio/sfx/groan.tres" id="12_ad42i"] -[ext_resource type="Script" uid="uid://cnn0ymuhypdff" path="res://scripts/audio/ChannelPlaylist.cs" id="12_he8da"] -[ext_resource type="AudioStream" uid="uid://w0qfwds4o3ti" path="res://assets/audio/sfx/hit_generic.tres" id="12_vjrlo"] -[ext_resource type="Script" uid="uid://b8r6fxsfjdo3a" path="res://scripts/audio/EffectBasedPlayer.cs" id="17_ltj46"] -[ext_resource type="Resource" uid="uid://dsg1vjx76ifgu" path="res://assets/effects/GarlicEffect.tres" id="18_2q05d"] -[ext_resource type="Resource" uid="uid://7uj0oe656jfx" path="res://assets/effects/SnowSlow.tres" id="19_ccrjo"] -[ext_resource type="Script" uid="uid://c1x4n4nqyq72f" path="res://scripts/audio/ChannelSettings.cs" id="21_xnora"] -[ext_resource type="Script" uid="uid://dk32ln8c2574d" path="res://scripts/entities/zombies/ZombieKillHandler.cs" id="23_mc1kl"] -[ext_resource type="Script" uid="uid://30pbgasu64aw" path="res://scripts/entities/FlashShaderController.cs" id="24_b51fx"] +[ext_resource type="Texture2D" uid="uid://dacgbwohpmeed" path="res://assets/sprites/zombies/basic.png" id="1_jrplh"] +[ext_resource type="AnimationLibrary" uid="uid://ceb3khu7rwgy8" path="res://assets/animations/zombies/basic.res" id="2_yccea"] +[ext_resource type="Script" uid="uid://cbmavbe4xd0j2" path="res://scripts/speed_controlled/speed_controlled_animation_tree.gd" id="3_qnnv5"] +[ext_resource type="Script" uid="uid://be5rfbbl5xgeh" path="res://scripts/components/generic_collider.gd" id="3_qoqrk"] +[ext_resource type="Script" uid="uid://bdacurei5fp02" path="res://scripts/components/mover.gd" id="3_yccea"] +[ext_resource type="Script" uid="uid://cbudgx741oxtc" path="res://scripts/components/generic_hurtbox.gd" id="4_20equ"] +[ext_resource type="Script" uid="uid://bwdvaov8sse4k" path="res://scripts/entities/entity.gd" id="4_moyxp"] +[ext_resource type="Script" uid="uid://bg88vb74hinkj" path="res://scripts/components/controllers/zombies/basic_controller.gd" id="5_mc88i"] +[ext_resource type="Script" uid="uid://dfnyam1pvkb73" path="res://scripts/components/zombie_death_handler.gd" id="9_ap2hg"] [sub_resource type="SkeletonModification2DCCDIK" id="SkeletonModification2DCCDIK_wn68q"] tip_nodepath = NodePath("Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand") @@ -118,89 +102,82 @@ modifications/2 = SubResource("SkeletonModification2DCCDIK_vcc72") modifications/3 = SubResource("SkeletonModification2DCCDIK_kto0i") [sub_resource type="AtlasTexture" id="AtlasTexture_jvn5w"] -atlas = ExtResource("6_xnora") +atlas = ExtResource("1_jrplh") region = Rect2(15, 30, 20, 8) [sub_resource type="AtlasTexture" id="AtlasTexture_vmdbp"] -atlas = ExtResource("6_xnora") +atlas = ExtResource("1_jrplh") region = Rect2(64, 44, 10, 16) [sub_resource type="AtlasTexture" id="AtlasTexture_x1oyw"] -atlas = ExtResource("6_xnora") +atlas = ExtResource("1_jrplh") region = Rect2(93, 50, 17, 9) [sub_resource type="AtlasTexture" id="AtlasTexture_vjx3c"] -atlas = ExtResource("6_xnora") +atlas = ExtResource("1_jrplh") region = Rect2(79, 44, 10, 16) [sub_resource type="AtlasTexture" id="AtlasTexture_f31xd"] -atlas = ExtResource("6_xnora") +atlas = ExtResource("1_jrplh") region = Rect2(47, 33, 8, 16) [sub_resource type="AtlasTexture" id="AtlasTexture_od8jf"] -atlas = ExtResource("6_xnora") +atlas = ExtResource("1_jrplh") region = Rect2(59, 33, 7, 10) [sub_resource type="AtlasTexture" id="AtlasTexture_p4711"] -atlas = ExtResource("6_xnora") +atlas = ExtResource("1_jrplh") region = Rect2(71, 30, 19, 13) [sub_resource type="AtlasTexture" id="AtlasTexture_1bk2b"] -atlas = ExtResource("6_xnora") +atlas = ExtResource("1_jrplh") region = Rect2(12, 43, 6, 18) [sub_resource type="AtlasTexture" id="AtlasTexture_y06yv"] -atlas = ExtResource("6_xnora") +atlas = ExtResource("1_jrplh") region = Rect2(36, 50, 9, 11) [sub_resource type="AtlasTexture" id="AtlasTexture_lu8go"] -atlas = ExtResource("6_xnora") +atlas = ExtResource("1_jrplh") region = Rect2(22, 45, 8, 15) [sub_resource type="AtlasTexture" id="AtlasTexture_cdq7v"] -atlas = ExtResource("6_xnora") +atlas = ExtResource("1_jrplh") region = Rect2(93, 8, 29, 39) [sub_resource type="AtlasTexture" id="AtlasTexture_e7wc3"] -atlas = ExtResource("6_xnora") +atlas = ExtResource("1_jrplh") region = Rect2(72, 2, 13, 26) [sub_resource type="AtlasTexture" id="AtlasTexture_wn68q"] -atlas = ExtResource("6_xnora") -region = Rect2(36, 0, 32, 29) +atlas = ExtResource("1_jrplh") +region = Rect2(36, 0, 32, 30) + +[sub_resource type="AtlasTexture" id="AtlasTexture_x5uj2"] +atlas = ExtResource("1_jrplh") +region = Rect2(15, 17, 17, 6) [sub_resource type="AtlasTexture" id="AtlasTexture_vcc72"] -atlas = ExtResource("6_xnora") +atlas = ExtResource("1_jrplh") region = Rect2(93, 3, 2, 3) [sub_resource type="AtlasTexture" id="AtlasTexture_kto0i"] -atlas = ExtResource("6_xnora") +atlas = ExtResource("1_jrplh") region = Rect2(105, 2, 3, 4) -[sub_resource type="AtlasTexture" id="AtlasTexture_x5uj2"] -atlas = ExtResource("6_xnora") -region = Rect2(15, 17, 17, 6) - -[sub_resource type="CircleShape2D" id="CircleShape2D_dn8ha"] - [sub_resource type="AtlasTexture" id="AtlasTexture_djocr"] -atlas = ExtResource("6_xnora") +atlas = ExtResource("1_jrplh") region = Rect2(2, 7, 6, 19) +[sub_resource type="AtlasTexture" id="AtlasTexture_6y4ja"] +atlas = ExtResource("1_jrplh") +region = Rect2(13, 2, 9, 10) + [sub_resource type="AtlasTexture" id="AtlasTexture_auqeq"] -atlas = ExtResource("6_xnora") +atlas = ExtResource("1_jrplh") region = Rect2(0, 32, 9, 15) -[sub_resource type="AtlasTexture" id="AtlasTexture_vlvtp"] -atlas = ExtResource("9_b51fx") -region = Rect2(55, 0, 9, 10) - -[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_ccrjo"] -radius = 3.00026 -height = 16.007 - -[sub_resource type="Animation" id="Animation_vn3j1"] -resource_name = "RESET" +[sub_resource type="Animation" id="Animation_x5uj2"] tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -348,19 +325,19 @@ tracks/11/keys = { tracks/12/type = "value" tracks/12/imported = false tracks/12/enabled = true -tracks/12/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm/RightHand:position") +tracks/12/path = NodePath("Zombie/Butt/Body/Tie:position") tracks/12/interp = 1 tracks/12/loop_wrap = true tracks/12/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(-1, 13)] +"values": [Vector2(-9, -21)] } tracks/13/type = "value" tracks/13/imported = false tracks/13/enabled = true -tracks/13/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm/RightHand:rotation") +tracks/13/path = NodePath("Zombie/Butt/Body/Tie:rotation") tracks/13/interp = 1 tracks/13/loop_wrap = true tracks/13/keys = { @@ -372,19 +349,19 @@ tracks/13/keys = { tracks/14/type = "value" tracks/14/imported = false tracks/14/enabled = true -tracks/14/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm:position") +tracks/14/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm/RightHand:position") tracks/14/interp = 1 tracks/14/loop_wrap = true tracks/14/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(-2, 15)] +"values": [Vector2(-1, 13)] } tracks/15/type = "value" tracks/15/imported = false tracks/15/enabled = true -tracks/15/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm:rotation") +tracks/15/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm/RightHand:rotation") tracks/15/interp = 1 tracks/15/loop_wrap = true tracks/15/keys = { @@ -396,19 +373,19 @@ tracks/15/keys = { tracks/16/type = "value" tracks/16/imported = false tracks/16/enabled = true -tracks/16/path = NodePath("Zombie/Butt/Body/RightUpperArm:position") +tracks/16/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm:position") tracks/16/interp = 1 tracks/16/loop_wrap = true tracks/16/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(-14, -23)] +"values": [Vector2(-2, 15)] } tracks/17/type = "value" tracks/17/imported = false tracks/17/enabled = true -tracks/17/path = NodePath("Zombie/Butt/Body/RightUpperArm:rotation") +tracks/17/path = NodePath("Zombie/Butt/Body/RightUpperArm/RightLowerArm:rotation") tracks/17/interp = 1 tracks/17/loop_wrap = true tracks/17/keys = { @@ -420,19 +397,19 @@ tracks/17/keys = { tracks/18/type = "value" tracks/18/imported = false tracks/18/enabled = true -tracks/18/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot:position") +tracks/18/path = NodePath("Zombie/Butt/Body/RightUpperArm:position") tracks/18/interp = 1 tracks/18/loop_wrap = true tracks/18/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(6, 10)] +"values": [Vector2(-14, -23)] } tracks/19/type = "value" tracks/19/imported = false tracks/19/enabled = true -tracks/19/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot:rotation") +tracks/19/path = NodePath("Zombie/Butt/Body/RightUpperArm:rotation") tracks/19/interp = 1 tracks/19/loop_wrap = true tracks/19/keys = { @@ -444,19 +421,19 @@ tracks/19/keys = { tracks/20/type = "value" tracks/20/imported = false tracks/20/enabled = true -tracks/20/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg:position") +tracks/20/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot:position") tracks/20/interp = 1 tracks/20/loop_wrap = true tracks/20/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(-1, 13)] +"values": [Vector2(6, 10)] } tracks/21/type = "value" tracks/21/imported = false tracks/21/enabled = true -tracks/21/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg:rotation") +tracks/21/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot:rotation") tracks/21/interp = 1 tracks/21/loop_wrap = true tracks/21/keys = { @@ -468,19 +445,19 @@ tracks/21/keys = { tracks/22/type = "value" tracks/22/imported = false tracks/22/enabled = true -tracks/22/path = NodePath("Zombie/Butt/LeftUpperLeg:position") +tracks/22/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg:position") tracks/22/interp = 1 tracks/22/loop_wrap = true tracks/22/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(6, 4)] +"values": [Vector2(-1, 13)] } tracks/23/type = "value" tracks/23/imported = false tracks/23/enabled = true -tracks/23/path = NodePath("Zombie/Butt/LeftUpperLeg:rotation") +tracks/23/path = NodePath("Zombie/Butt/LeftUpperLeg/LeftLowerLeg:rotation") tracks/23/interp = 1 tracks/23/loop_wrap = true tracks/23/keys = { @@ -492,19 +469,19 @@ tracks/23/keys = { tracks/24/type = "value" tracks/24/imported = false tracks/24/enabled = true -tracks/24/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg/RightFoot:position") +tracks/24/path = NodePath("Zombie/Butt/LeftUpperLeg:position") tracks/24/interp = 1 tracks/24/loop_wrap = true tracks/24/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(-2, 14)] +"values": [Vector2(6, 4)] } tracks/25/type = "value" tracks/25/imported = false tracks/25/enabled = true -tracks/25/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg/RightFoot:rotation") +tracks/25/path = NodePath("Zombie/Butt/LeftUpperLeg:rotation") tracks/25/interp = 1 tracks/25/loop_wrap = true tracks/25/keys = { @@ -516,19 +493,19 @@ tracks/25/keys = { tracks/26/type = "value" tracks/26/imported = false tracks/26/enabled = true -tracks/26/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg:position") +tracks/26/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg/RightFoot:position") tracks/26/interp = 1 tracks/26/loop_wrap = true tracks/26/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(-2, 12)] +"values": [Vector2(-2, 14)] } tracks/27/type = "value" tracks/27/imported = false tracks/27/enabled = true -tracks/27/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg:rotation") +tracks/27/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg/RightFoot:rotation") tracks/27/interp = 1 tracks/27/loop_wrap = true tracks/27/keys = { @@ -540,19 +517,19 @@ tracks/27/keys = { tracks/28/type = "value" tracks/28/imported = false tracks/28/enabled = true -tracks/28/path = NodePath("Zombie/Butt/RightUpperLeg:position") +tracks/28/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg:position") tracks/28/interp = 1 tracks/28/loop_wrap = true tracks/28/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(-6, 3)] +"values": [Vector2(-2, 12)] } tracks/29/type = "value" tracks/29/imported = false tracks/29/enabled = true -tracks/29/path = NodePath("Zombie/Butt/RightUpperLeg:rotation") +tracks/29/path = NodePath("Zombie/Butt/RightUpperLeg/RightLowerLeg:rotation") tracks/29/interp = 1 tracks/29/loop_wrap = true tracks/29/keys = { @@ -564,19 +541,19 @@ tracks/29/keys = { tracks/30/type = "value" tracks/30/imported = false tracks/30/enabled = true -tracks/30/path = NodePath("Zombie/Butt:position") +tracks/30/path = NodePath("Zombie/Butt/RightUpperLeg:position") tracks/30/interp = 1 tracks/30/loop_wrap = true tracks/30/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(5, -35)] +"values": [Vector2(-6, 3)] } tracks/31/type = "value" tracks/31/imported = false tracks/31/enabled = true -tracks/31/path = NodePath("Zombie/Butt:rotation") +tracks/31/path = NodePath("Zombie/Butt/RightUpperLeg:rotation") tracks/31/interp = 1 tracks/31/loop_wrap = true tracks/31/keys = { @@ -588,19 +565,19 @@ tracks/31/keys = { tracks/32/type = "value" tracks/32/imported = false tracks/32/enabled = true -tracks/32/path = NodePath("Zombie/Butt/Body:position") +tracks/32/path = NodePath("Zombie/Butt:position") tracks/32/interp = 1 tracks/32/loop_wrap = true tracks/32/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(1, -2)] +"values": [Vector2(5, -35)] } tracks/33/type = "value" tracks/33/imported = false tracks/33/enabled = true -tracks/33/path = NodePath("Zombie/Butt/Body:rotation") +tracks/33/path = NodePath("Zombie/Butt:rotation") tracks/33/interp = 1 tracks/33/loop_wrap = true tracks/33/keys = { @@ -612,19 +589,19 @@ tracks/33/keys = { tracks/34/type = "value" tracks/34/imported = false tracks/34/enabled = true -tracks/34/path = NodePath("Zombie:position") +tracks/34/path = NodePath("Zombie/Butt/Body:position") tracks/34/interp = 1 tracks/34/loop_wrap = true tracks/34/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(0, 0)] +"values": [Vector2(1, -2)] } tracks/35/type = "value" tracks/35/imported = false tracks/35/enabled = true -tracks/35/path = NodePath("Zombie:rotation") +tracks/35/path = NodePath("Zombie/Butt/Body:rotation") tracks/35/interp = 1 tracks/35/loop_wrap = true tracks/35/keys = { @@ -636,19 +613,19 @@ tracks/35/keys = { tracks/36/type = "value" tracks/36/imported = false tracks/36/enabled = true -tracks/36/path = NodePath("Zombie/Butt/Body/Head:position") +tracks/36/path = NodePath("Zombie:position") tracks/36/interp = 1 tracks/36/loop_wrap = true tracks/36/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(-10, -25)] +"values": [Vector2(0, 0)] } tracks/37/type = "value" tracks/37/imported = false tracks/37/enabled = true -tracks/37/path = NodePath("Zombie/Butt/Body/Head:rotation") +tracks/37/path = NodePath("Zombie:rotation") tracks/37/interp = 1 tracks/37/loop_wrap = true tracks/37/keys = { @@ -660,67 +637,67 @@ tracks/37/keys = { tracks/38/type = "value" tracks/38/imported = false tracks/38/enabled = true -tracks/38/path = NodePath("Zombie/Butt/Body/Head:visible") +tracks/38/path = NodePath("Zombie/Butt/Body/Head:position") tracks/38/interp = 1 tracks/38/loop_wrap = true tracks/38/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] +"update": 0, +"values": [Vector2(-10, -25)] } tracks/39/type = "value" tracks/39/imported = false tracks/39/enabled = true -tracks/39/path = NodePath("Zombie/Butt/Body/Head/TrashcanLid:position") +tracks/39/path = NodePath("Zombie/Butt/Body/Head:rotation") tracks/39/interp = 1 tracks/39/loop_wrap = true tracks/39/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(-0.0022974, -17.0131)] +"values": [0.0] } tracks/40/type = "value" tracks/40/imported = false tracks/40/enabled = true -tracks/40/path = NodePath("Zombie/Butt/Body/Head/TrashcanLid:rotation") +tracks/40/path = NodePath("Zombie/Butt/Body/Head:visible") tracks/40/interp = 1 tracks/40/loop_wrap = true tracks/40/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] +"update": 1, +"values": [true] } tracks/41/type = "value" tracks/41/imported = false tracks/41/enabled = true -tracks/41/path = NodePath("Zombie/Butt/Body/Head/TrashcanLid:visible") +tracks/41/path = NodePath("Zombie/Butt/Body/Tie:scale") tracks/41/interp = 1 tracks/41/loop_wrap = true tracks/41/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] +"update": 0, +"values": [Vector2(1, 1)] } tracks/42/type = "value" tracks/42/imported = false tracks/42/enabled = true -tracks/42/path = NodePath("Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm/Left_Hand:texture") +tracks/42/path = NodePath("Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand/Left_Hand:texture") tracks/42/interp = 1 tracks/42/loop_wrap = true tracks/42/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [SubResource("AtlasTexture_vlvtp")] +"values": [SubResource("AtlasTexture_6y4ja")] } tracks/43/type = "value" tracks/43/imported = false tracks/43/enabled = true -tracks/43/path = NodePath("Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm/Left_Hand:offset") +tracks/43/path = NodePath("Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand/Left_Hand:offset") tracks/43/interp = 1 tracks/43/loop_wrap = true tracks/43/keys = { @@ -732,194 +709,223 @@ tracks/43/keys = { tracks/44/type = "value" tracks/44/imported = false tracks/44/enabled = true -tracks/44/path = NodePath("Zombie/Butt/Body/Tie:scale") +tracks/44/path = NodePath("../../Mover:speed_control") tracks/44/interp = 1 tracks/44/loop_wrap = true tracks/44/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(1, 1)] +"values": [0.0] } -[sub_resource type="AnimationLibrary" id="AnimationLibrary_x5uj2"] +[sub_resource type="AnimationLibrary" id="AnimationLibrary_qnnv5"] _data = { -&"RESET": SubResource("Animation_vn3j1") +&"RESET": SubResource("Animation_x5uj2") } -[sub_resource type="RectangleShape2D" id="RectangleShape2D_hxyad"] -size = Vector2(26, 48) +[sub_resource type="RectangleShape2D" id="RectangleShape2D_20equ"] +size = Vector2(27, 44) -[sub_resource type="Resource" id="Resource_ruqsf"] -resource_local_to_scene = true -script = ExtResource("7_b3p4o") -flat_value = 5.0 -percentage_value = 0.0 -mult_value = 1.0 +[sub_resource type="RectangleShape2D" id="RectangleShape2D_ap2hg"] +size = Vector2(20, 44) -[sub_resource type="RectangleShape2D" id="RectangleShape2D_r4ug6"] -size = Vector2(16, 48) +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_moyxp"] +animation = &"basic/death" -[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_2q05d"] +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_qoqrk"] +animation = &"basic/eating" -[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_ccrjo"] -nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_2q05d") -nodes/TimeScale/position = Vector2(60, 120) -nodes/Tree/node = ExtResource("8_ckb7n") -nodes/Tree/position = Vector2(-240, 120) -node_connections = [&"TimeScale", 0, &"Tree", &"output", 0, &"TimeScale"] +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_20equ"] +animation = &"basic/stand" -[sub_resource type="Resource" id="Resource_ckb7n"] -resource_local_to_scene = true -script = ExtResource("7_b3p4o") -flat_value = 0.2 -percentage_value = 0.0 -mult_value = 1.0 +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ap2hg"] +animation = &"basic/walk" -[sub_resource type="Resource" id="Resource_dn8ha"] -script = ExtResource("21_xnora") -restartTreshold = -1.0 -metadata/_custom_type_script = "uid://c1x4n4nqyq72f" +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_b2rti"] +switch_mode = 2 +advance_mode = 2 -[node name="Zombie" type="Node2D" node_paths=PackedStringArray("_player", "_tree")] -y_sort_enabled = true -script = ExtResource("1_qq3f1") -MaxHP = 100.0 -_player = NodePath("CanvasGroup/basic_zombie_walk/AnimationPlayer") -_tree = NodePath("AnimationTree") -metadata/_edit_vertical_guides_ = [-159.0] +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_culaa"] +advance_mode = 2 -[node name="CanvasGroup" type="CanvasGroup" parent="."] -material = ExtResource("2_b51fx") +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mc88i"] +advance_mode = 2 +advance_expression = "eating" -[node name="basic_zombie_walk" type="Node2D" parent="CanvasGroup"] +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_moyxp"] +xfade_time = 0.5 +advance_mode = 2 +advance_expression = "eating == false and walking" -[node name="Zombie" type="Skeleton2D" parent="CanvasGroup/basic_zombie_walk"] -use_parent_material = true +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qoqrk"] +xfade_time = 0.5 +advance_mode = 2 +advance_expression = "eating and walking" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_20equ"] +advance_mode = 2 +advance_expression = "(eating or walking) == false" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ap2hg"] +advance_mode = 2 +advance_expression = "eating == false and walking" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2naru"] +advance_mode = 2 +advance_expression = "(eating or walking) == false" + +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_mc88i"] +states/death/node = SubResource("AnimationNodeAnimation_moyxp") +states/death/position = Vector2(739, 100) +states/eating/node = SubResource("AnimationNodeAnimation_qoqrk") +states/eating/position = Vector2(407, 40) +states/idle/node = SubResource("AnimationNodeAnimation_20equ") +states/idle/position = Vector2(297, 100) +states/walk/node = SubResource("AnimationNodeAnimation_ap2hg") +states/walk/position = Vector2(407, 161) +transitions = ["death", "End", SubResource("AnimationNodeStateMachineTransition_b2rti"), "Start", "idle", SubResource("AnimationNodeStateMachineTransition_culaa"), "idle", "eating", SubResource("AnimationNodeStateMachineTransition_mc88i"), "eating", "walk", SubResource("AnimationNodeStateMachineTransition_moyxp"), "walk", "eating", SubResource("AnimationNodeStateMachineTransition_qoqrk"), "walk", "idle", SubResource("AnimationNodeStateMachineTransition_20equ"), "idle", "walk", SubResource("AnimationNodeStateMachineTransition_ap2hg"), "eating", "idle", SubResource("AnimationNodeStateMachineTransition_2naru")] +graph_offset = Vector2(28, -31) + +[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_moyxp"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_qoqrk"] +nodes/main/node = SubResource("AnimationNodeStateMachine_mc88i") +nodes/main/position = Vector2(-140, 180) +nodes/output/position = Vector2(260, 140) +nodes/speed/node = SubResource("AnimationNodeTimeScale_moyxp") +nodes/speed/position = Vector2(100, 140) +node_connections = [&"output", 0, &"speed", &"speed", 0, &"main"] + +[node name="Basic" type="Node2D" groups=["Zombies"]] +script = ExtResource("4_moyxp") +max_hp = 100.0 +layer = &"base" + +[node name="Visual" type="CanvasGroup" parent="."] +position = Vector2(0, 30) + +[node name="basic_zombie_walk" type="Node2D" parent="Visual"] + +[node name="Zombie" type="Skeleton2D" parent="Visual/basic_zombie_walk"] modification_stack = SubResource("SkeletonModificationStack2D_wn68q") -[node name="Butt" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie"] -use_parent_material = true +[node name="Butt" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie"] position = Vector2(5, -35) -scale = Vector2(0.999903, 0.999903) +scale = Vector2(0.999912, 0.999912) rest = Transform2D(1, 0, 0, 1, 5, -35) editor_settings/show_bone_gizmo = false -[node name="Butt" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"] -use_parent_material = true +[node name="Butt" type="Sprite2D" parent="Visual/basic_zombie_walk/Zombie/Butt"] texture = SubResource("AtlasTexture_jvn5w") centered = false offset = Vector2(-10, -3) metadata/_edit_lock_ = true -[node name="RightUpperLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"] -use_parent_material = true +[node name="RightUpperLeg" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt"] position = Vector2(-6, 3) -scale = Vector2(0.999834, 0.999834) +scale = Vector2(0.999827, 0.999827) rest = Transform2D(1, 0, 0, 1, -6, 3) editor_settings/show_bone_gizmo = false -[node name="Right_Upper_Leg" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg"] +[node name="Right_Upper_Leg" type="Sprite2D" parent="Visual/basic_zombie_walk/Zombie/Butt/RightUpperLeg"] texture = SubResource("AtlasTexture_vmdbp") centered = false offset = Vector2(-6, -2) metadata/_edit_lock_ = true -[node name="RightLowerLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg"] +[node name="RightLowerLeg" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/RightUpperLeg"] position = Vector2(-2, 12) -scale = Vector2(0.999832, 0.999832) +scale = Vector2(0.999831, 0.999831) rest = Transform2D(1, 0, 0, 1, -2, 12) editor_settings/show_bone_gizmo = false -[node name="RightFoot" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg"] +[node name="RightFoot" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg"] position = Vector2(-2, 14) -scale = Vector2(0.999831, 0.999831) +scale = Vector2(0.999827, 0.999827) rest = Transform2D(1, 0, 0, 1, -2, 14) auto_calculate_length_and_angle = false length = 12.0 bone_angle = 0.0 editor_settings/show_bone_gizmo = false -[node name="Right_Foot" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg/RightFoot"] +[node name="Right_Foot" type="Sprite2D" parent="Visual/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg/RightFoot"] texture = SubResource("AtlasTexture_x1oyw") centered = false offset = Vector2(-4, -3) metadata/_edit_lock_ = true -[node name="Right_Lower_Leg" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg"] +[node name="Right_Lower_Leg" type="Sprite2D" parent="Visual/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg"] position = Vector2(-18, -2) texture = SubResource("AtlasTexture_vjx3c") centered = false offset = Vector2(12, 1) metadata/_edit_lock_ = true -[node name="LeftUpperLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"] -use_parent_material = true +[node name="LeftUpperLeg" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt"] position = Vector2(6, 4) -scale = Vector2(0.999836, 0.999836) +scale = Vector2(0.999827, 0.999827) rest = Transform2D(1, 0, 0, 1, 6, 4) editor_settings/show_bone_gizmo = false -[node name="Left_Upper_Leg" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg"] +[node name="Left_Upper_Leg" type="Sprite2D" parent="Visual/basic_zombie_walk/Zombie/Butt/LeftUpperLeg"] texture = SubResource("AtlasTexture_f31xd") centered = false offset = Vector2(-4, -2) metadata/_edit_lock_ = true -[node name="LeftLowerLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg"] +[node name="LeftLowerLeg" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/LeftUpperLeg"] position = Vector2(-1, 13) -scale = Vector2(0.999832, 0.999832) +scale = Vector2(0.999828, 0.999828) rest = Transform2D(1, 0, 0, 1, -1, 13) editor_settings/show_bone_gizmo = false -[node name="Left_Lower_Leg" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg"] +[node name="Left_Lower_Leg" type="Sprite2D" parent="Visual/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg"] texture = SubResource("AtlasTexture_od8jf") centered = false offset = Vector2(-1, 0) metadata/_edit_lock_ = true -[node name="LeftFoot" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg"] +[node name="LeftFoot" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg"] position = Vector2(6, 10) -scale = Vector2(0.99983, 0.99983) +scale = Vector2(0.999823, 0.999823) rest = Transform2D(1, 0, 0, 1, 6, 10) auto_calculate_length_and_angle = false length = 12.0 bone_angle = 160.0 editor_settings/show_bone_gizmo = false -[node name="Left_Foot" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot"] +[node name="Left_Foot" type="Sprite2D" parent="Visual/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot"] texture = SubResource("AtlasTexture_p4711") centered = false offset = Vector2(-14, -3) metadata/_edit_lock_ = true -[node name="Body" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"] -use_parent_material = true +[node name="Body" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt"] position = Vector2(1, -2) scale = Vector2(0.999827, 0.999827) rest = Transform2D(1, 0, 0, 1, 1, -2) editor_settings/show_bone_gizmo = false -[node name="RightUpperArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"] -use_parent_material = true +[node name="RightUpperArm" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body"] position = Vector2(-14, -23) -scale = Vector2(0.999829, 0.999829) +scale = Vector2(0.999828, 0.999828) rest = Transform2D(1, 0, 0, 1, -14, -23) editor_settings/show_bone_gizmo = false -[node name="Right_Upper_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm"] +[node name="Right_Upper_Arm" type="Sprite2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm"] texture = SubResource("AtlasTexture_1bk2b") centered = false offset = Vector2(-4, -2) metadata/_edit_lock_ = true -[node name="RightLowerArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm"] +[node name="RightLowerArm" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm"] position = Vector2(-2, 15) -scale = Vector2(0.999827, 0.999827) +scale = Vector2(0.999811, 0.999811) rest = Transform2D(1, 0, 0, 1, -2, 15) editor_settings/show_bone_gizmo = false -[node name="RightHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm"] +[node name="RightHand" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm"] position = Vector2(-1, 13) scale = Vector2(0.99983, 0.99983) rest = Transform2D(1, 0, 0, 1, -1, 13) @@ -928,97 +934,53 @@ length = 8.0 bone_angle = 90.0 editor_settings/show_bone_gizmo = false -[node name="Right_Hand" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm/RightHand"] +[node name="Right_Hand" type="Sprite2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm/RightHand"] texture = SubResource("AtlasTexture_y06yv") centered = false offset = Vector2(-4, -2) metadata/_edit_lock_ = true -[node name="Right_Lower_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm"] +[node name="Right_Lower_Arm" type="Sprite2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm"] texture = SubResource("AtlasTexture_lu8go") centered = false offset = Vector2(-5, -1) metadata/_edit_lock_ = true -[node name="Body" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"] +[node name="Body" type="Sprite2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body"] rotation = 0.00163735 texture = SubResource("AtlasTexture_cdq7v") centered = false offset = Vector2(-15, -27) metadata/_edit_lock_ = true -[node name="Tie" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"] +[node name="Tie" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body"] position = Vector2(-9, -21) -rotation = -0.0127525 -skew = -0.000478387 +skew = -9.59635e-05 rest = Transform2D(1, 0, 0, 1, -9, -21) auto_calculate_length_and_angle = false length = 24.0 bone_angle = 100.0 editor_settings/show_bone_gizmo = false -[node name="Tie" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Tie"] +[node name="Tie" type="Sprite2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body/Tie"] texture = SubResource("AtlasTexture_e7wc3") centered = false offset = Vector2(-10, -1) metadata/_edit_lock_ = true -[node name="Head" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"] +[node name="Head" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body"] position = Vector2(-10, -25) scale = Vector2(0.999829, 0.999829) rest = Transform2D(1, 0, 0, 1, -10, -25) editor_settings/show_bone_gizmo = false -[node name="HeadParticle" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head" node_paths=PackedStringArray("data")] -collision_layer = 128 -collision_mask = 64 -freeze = true -script = ExtResource("7_dn8ha") -data = NodePath("../../../../../../..") -maxAngle = 45.0 -minTorque = -45.0 -maxTorque = 45.0 -Impulse = 100.0 - -[node name="Head" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle"] +[node name="Head" type="Sprite2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body/Head"] texture = SubResource("AtlasTexture_wn68q") centered = false offset = Vector2(-20, -24) metadata/_edit_lock_ = true -[node name="Right_Eye" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"] -position = Vector2(-16, -8.00001) -texture = SubResource("AtlasTexture_vcc72") -centered = false -offset = Vector2(-2, -2) -metadata/_edit_lock_ = true - -[node name="Left_Eye" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"] -position = Vector2(-4, -9.00001) -texture = SubResource("AtlasTexture_kto0i") -centered = false -offset = Vector2(-2, -2) -metadata/_edit_lock_ = true - -[node name="Jaw" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"] -position = Vector2(-2.98416, 2.96178) -rotation = -0.0089077 -scale = Vector2(0.999826, 0.999826) -texture = SubResource("AtlasTexture_x5uj2") -centered = false -offset = Vector2(-12, -2) -metadata/_edit_lock_ = true - -[node name="CollisionShape2D" type="CollisionShape2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle"] -position = Vector2(-4.58496, -8.21035) -shape = SubResource("CircleShape2D_dn8ha") - -[node name="Observer" type="Node" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle" node_paths=PackedStringArray("_observedEntity")] -script = ExtResource("8_mc1kl") -_threshold = 0.0 -_observedEntity = NodePath("../../../../../../../..") - -[node name="Jaw" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"] +[node name="Jaw" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body/Head"] position = Vector2(-3, 3) scale = Vector2(0.999826, 0.999826) rest = Transform2D(1, 0, 0, 1, -3, 3) @@ -1027,10 +989,13 @@ length = 11.0 bone_angle = 180.0 editor_settings/show_bone_gizmo = false -[node name="RemoteTransform2D" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/Jaw"] -remote_path = NodePath("../../HeadParticle/Head/Jaw") +[node name="Jaw" type="Sprite2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body/Head/Jaw"] +texture = SubResource("AtlasTexture_x5uj2") +centered = false +offset = Vector2(-12, -2) +metadata/_edit_lock_ = true -[node name="RightEye" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"] +[node name="RightEye" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body/Head"] position = Vector2(-16, -8) rest = Transform2D(1, 0, 0, 1, -16, -8) auto_calculate_length_and_angle = false @@ -1038,10 +1003,13 @@ length = 2.0 bone_angle = 180.0 editor_settings/show_bone_gizmo = false -[node name="RemoteTransform2D" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/RightEye"] -remote_path = NodePath("../../HeadParticle/Head/Right_Eye") +[node name="Right_Eye" type="Sprite2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body/Head/RightEye"] +texture = SubResource("AtlasTexture_vcc72") +centered = false +offset = Vector2(-2, -2) +metadata/_edit_lock_ = true -[node name="LeftEye" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"] +[node name="LeftEye" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body/Head"] position = Vector2(-4, -9) rest = Transform2D(1, 0, 0, 1, -4, -9) auto_calculate_length_and_angle = false @@ -1049,168 +1017,98 @@ length = 2.0 bone_angle = 180.0 editor_settings/show_bone_gizmo = false -[node name="RemoteTransform2D" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/LeftEye"] -remote_path = NodePath("../../HeadParticle/Head/Left_Eye") +[node name="Left_Eye" type="Sprite2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body/Head/LeftEye"] +texture = SubResource("AtlasTexture_kto0i") +centered = false +offset = Vector2(-2, -2) +metadata/_edit_lock_ = true -[node name="LeftUpperArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"] +[node name="LeftUpperArm" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body"] position = Vector2(-1, -20) scale = Vector2(0.99983, 0.99983) rest = Transform2D(1, 0, 0, 1, -1, -20) editor_settings/show_bone_gizmo = false -[node name="Left_Upper_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm"] +[node name="Left_Upper_Arm" type="Sprite2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm"] position = Vector2(-37, 10) texture = SubResource("AtlasTexture_djocr") centered = false offset = Vector2(33, -12) metadata/_edit_lock_ = true -[node name="HandProjectile" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm" node_paths=PackedStringArray("data")] +[node name="LeftLowerArm" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm"] position = Vector2(-2, 14) -collision_layer = 128 -collision_mask = 64 -freeze = true -script = ExtResource("7_dn8ha") -data = NodePath("../../../../../../..") -minTorque = -45.0 -maxTorque = 45.0 - -[node name="Left_Lower_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile"] -rotation = -0.0135165 -scale = Vector2(0.999999, 0.999999) -texture = SubResource("AtlasTexture_auqeq") -centered = false -offset = Vector2(-5, 0) -metadata/_edit_lock_ = true - -[node name="Left_Hand" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm"] -show_behind_parent = true -position = Vector2(-0.99983, 12.9978) -rotation = -0.0111417 -scale = Vector2(0.99966, 0.99966) -texture = SubResource("AtlasTexture_vlvtp") -centered = false -offset = Vector2(-4, -1) -metadata/_edit_lock_ = true - -[node name="CollisionShape2D" type="CollisionShape2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile"] -position = Vector2(-0.00104554, 13.0063) -shape = SubResource("CapsuleShape2D_ccrjo") - -[node name="Observer" type="Node" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile" node_paths=PackedStringArray("_observedEntity")] -script = ExtResource("8_mc1kl") -_observedEntity = NodePath("../../../../../../../..") - -[node name="LeftLowerArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm"] -position = Vector2(-2, 14) -scale = Vector2(0.999829, 0.999829) +scale = Vector2(0.999828, 0.999828) rest = Transform2D(1, 0, 0, 1, -2, 14) editor_settings/show_bone_gizmo = false -[node name="LeftHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm"] +[node name="LeftHand" type="Bone2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm"] position = Vector2(-1, 13) -scale = Vector2(0.999829, 0.999829) +scale = Vector2(0.999828, 0.999828) rest = Transform2D(1, 0, 0, 1, -1, 13) auto_calculate_length_and_angle = false length = 6.0 bone_angle = 90.0 editor_settings/show_bone_gizmo = false -[node name="Left_Hand_Remote" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand"] -remote_path = NodePath("../../../HandProjectile/Left_Lower_Arm/Left_Hand") +[node name="Left_Hand" type="Sprite2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand"] +texture = SubResource("AtlasTexture_6y4ja") +centered = false +offset = Vector2(-4, -1) +metadata/_edit_lock_ = true -[node name="Left_Lower_Arm_Remote" type="RemoteTransform2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm"] -scale = Vector2(1.00017, 1.00017) -remote_path = NodePath("../../HandProjectile/Left_Lower_Arm") +[node name="Left_Lower_Arm" type="Sprite2D" parent="Visual/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm"] +texture = SubResource("AtlasTexture_auqeq") +centered = false +offset = Vector2(-5, 0) +metadata/_edit_lock_ = true -[node name="AnimationPlayer" type="AnimationPlayer" parent="CanvasGroup/basic_zombie_walk"] +[node name="AnimationPlayer" type="AnimationPlayer" parent="Visual/basic_zombie_walk"] libraries = { -&"": SubResource("AnimationLibrary_x5uj2"), -&"basic": ExtResource("9_y6afe") +&"": SubResource("AnimationLibrary_qnnv5"), +&"basic": ExtResource("2_yccea") } -[node name="EatingStatistics" type="Node" parent="CanvasGroup/basic_zombie_walk/AnimationPlayer"] -script = ExtResource("8_b51fx") -animationName = "basic/eating" -trackToFind = "../../Eatbox" - -[node name="Hitbox" type="Area2D" parent="."] -collision_layer = 8 +[node name="Collider" type="Area2D" parent="."] +collision_layer = 4 collision_mask = 0 +monitoring = false +script = ExtResource("3_qoqrk") -[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"] -position = Vector2(4, -24) -shape = SubResource("RectangleShape2D_hxyad") +[node name="CollisionShape2D" type="CollisionShape2D" parent="Collider"] +position = Vector2(1.5, 8) +shape = SubResource("RectangleShape2D_20equ") -[node name="Eatbox" type="Area2D" parent="."] +[node name="Hurtbox" type="Area2D" parent="."] collision_layer = 0 collision_mask = 2 -script = ExtResource("3_2aulo") -_damage = SubResource("Resource_ruqsf") +monitorable = false +script = ExtResource("4_20equ") +lookup_layers = 1 -[node name="CollisionShape2D" type="CollisionShape2D" parent="Eatbox"] -position = Vector2(-10, -24) -shape = SubResource("RectangleShape2D_r4ug6") +[node name="CollisionShape2D" type="CollisionShape2D" parent="Hurtbox"] +position = Vector2(-10, 8) +shape = SubResource("RectangleShape2D_ap2hg") -[node name="AnimationTree" type="AnimationTree" parent="." node_paths=PackedStringArray("entity")] -root_node = NodePath("../CanvasGroup/basic_zombie_walk") -tree_root = SubResource("AnimationNodeBlendTree_ccrjo") -advance_expression_base_node = NodePath("../Eatbox") -anim_player = NodePath("../CanvasGroup/basic_zombie_walk/AnimationPlayer") -parameters/TimeScale/scale = 1.0 -script = ExtResource("11_ccrjo") -entity = NodePath("..") +[node name="AnimationTree" type="AnimationTree" parent="."] +root_node = NodePath("../Visual/basic_zombie_walk") +tree_root = SubResource("AnimationNodeBlendTree_qoqrk") +advance_expression_base_node = NodePath("../Controller") +anim_player = NodePath("../Visual/basic_zombie_walk/AnimationPlayer") +parameters/speed/scale = 1.0 +script = ExtResource("3_qnnv5") [node name="Mover" type="Node" parent="."] -script = ExtResource("4_u5syx") -_speed = SubResource("Resource_ckb7n") +script = ExtResource("3_yccea") -[node name="HitPlayer" type="Node" parent="."] -script = ExtResource("12_he8da") -playlist = Array[AudioStream]([ExtResource("12_vjrlo")]) -channels = Array[String](["hit"]) -metadata/_custom_type_script = "uid://c36bj8u7jghc7" +[node name="Controller" type="Node" parent="." node_paths=PackedStringArray("hurtbox")] +script = ExtResource("5_mc88i") +hurtbox = NodePath("../Hurtbox") +damage = 5.0 -[node name="GroanPlayer" type="Node" parent="."] -script = ExtResource("10_ruqsf") -audioStream = ExtResource("12_ad42i") -channel = "groan" -metadata/_custom_type_script = "uid://c36bj8u7jghc7" +[node name="DeathHandler" type="Node" parent="."] +script = ExtResource("9_ap2hg") -[node name="Timer" type="Timer" parent="GroanPlayer"] -wait_time = 20.0 - -[node name="StartTimer" type="Timer" parent="GroanPlayer/Timer"] -wait_time = 5.0 -one_shot = true -autostart = true - -[node name="EffectPlayer" type="Node" parent="."] -script = ExtResource("17_ltj46") -effectsToMap = Array[Resource]([ExtResource("18_2q05d"), ExtResource("19_ccrjo")]) -streamsToMapTo = Array[AudioStream]([ExtResource("2_hh4qh"), ExtResource("3_ltj46")]) -streamSettings = Array[Object]([null, SubResource("Resource_dn8ha")]) - -[node name="DeathHandler" type="Node" parent="." node_paths=PackedStringArray("_tree", "_collider")] -script = ExtResource("23_mc1kl") -_tree = NodePath("../AnimationTree") -_collider = NodePath("../Hitbox/CollisionShape2D") - -[node name="FlashController" type="Node" parent="."] -script = ExtResource("24_b51fx") -shaderMaterial = ExtResource("2_b51fx") - -[connection signal="HasBeenKilled" from="." to="DeathHandler" method="OnKilled"] -[connection signal="OnDamaged" from="." to="HitPlayer" method="Play"] -[connection signal="OnDamaged" from="." to="FlashController" method="DamageFlash"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle" method="FallOff"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/Jaw/RemoteTransform2D" method="queue_free"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/RightEye/RemoteTransform2D" method="queue_free"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/LeftEye/RemoteTransform2D" method="queue_free"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile" method="FallOff"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand/Left_Hand_Remote" method="queue_free"] -[connection signal="ThresholdReached" from="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Observer" to="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/Left_Lower_Arm_Remote" method="queue_free"] -[connection signal="area_entered" from="Eatbox" to="Eatbox" method="OnAreaEntered"] -[connection signal="area_exited" from="Eatbox" to="Eatbox" method="OnAreaExited"] -[connection signal="timeout" from="GroanPlayer/Timer" to="GroanPlayer" method="Play"] -[connection signal="timeout" from="GroanPlayer/Timer/StartTimer" to="GroanPlayer/Timer" method="start"] +[connection signal="killed" from="." to="Controller" method="_on_entity_killed"] +[connection signal="toggled" from="." to="Collider" method="toggle"] +[connection signal="animation_finished" from="AnimationTree" to="DeathHandler" method="_on_animation_tree_animation_finished"] diff --git a/scripts/Cursor.cs b/scripts/Cursor.cs deleted file mode 100644 index 274543c..0000000 --- a/scripts/Cursor.cs +++ /dev/null @@ -1,56 +0,0 @@ -using Godot; -using Newlon.Components.Level; - -namespace Newlon; - -public partial class Cursor : Node2D -{ - #region Textures - private readonly Texture2D defaultArrow = ResourceLoader.Load("uid://c20dwjohaljdk"); - private readonly Texture2D defaultPoint = ResourceLoader.Load("uid://cw0rqtl8ulndd"); - private readonly Texture2D shovelArrow = ResourceLoader.Load("uid://dq375kjjo17g2"); - private readonly Texture2D plantArrow = ResourceLoader.Load("uid://dx123mhv4oee"); - #endregion - - public static Cursor Instance { get; private set; } - public bool shovel = false; - public bool plant = false; - public static CursorMode Mode = CursorMode.Mouse; - private float sensitivity = 200.0f; - - public enum CursorMode - { - Mouse, - Gamepad - } - public override void _EnterTree() - { - Instance = this; - } - - public override void _Process(double delta) - { - switch (Mode) - { - case CursorMode.Mouse: - break; - case CursorMode.Gamepad: - if (GamepadHandler.Instance.IsGamepadControlled == false) return; - - var vector = Input.GetVector("cursor_left", "cursor_right", "cursor_up", "cursor_down"); - - if (vector == Vector2.Zero) return; - - var set_position = GetGlobalMousePosition() + vector * (float)delta * sensitivity / (float)Engine.TimeScale; - - GetViewport().WarpMouse(GetGlobalTransformWithCanvas() * set_position); - break; - - } - -} - public static Vector2 GetCursorPosition() - { - return Instance.GetGlobalMousePosition(); - } -} diff --git a/scripts/Cursor.cs.uid b/scripts/Cursor.cs.uid deleted file mode 100644 index a321807..0000000 --- a/scripts/Cursor.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://c6ucy48qwaxuc diff --git a/scripts/Newlon.cs b/scripts/Newlon.cs deleted file mode 100644 index aa01d14..0000000 --- a/scripts/Newlon.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Godot; - -namespace Newlon; - -public static class LON -{ - public static void ForceFinishTween(Tween tween) - { - if (tween == null) return; - - tween.Pause(); - tween.CustomStep(Mathf.Inf); - } -} \ No newline at end of file diff --git a/scripts/Newlon.cs.uid b/scripts/Newlon.cs.uid deleted file mode 100644 index 968f5e7..0000000 --- a/scripts/Newlon.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bkr8vxejk4n2u diff --git a/scripts/SaveSerializer.cs b/scripts/SaveSerializer.cs deleted file mode 100644 index 3a8ee44..0000000 --- a/scripts/SaveSerializer.cs +++ /dev/null @@ -1,101 +0,0 @@ -using Godot; - -using Newlon.Resources; -using System.Text.Json; -using System.Collections.Generic; - -namespace Newlon; - -public partial class SaveSerializer : Node -{ - const string SAVE_PATH = "user://save.json"; - public override void _Ready() - { - GetTree().AutoAcceptQuit = false; - LoadGame(); - } - - public override void _Notification(int what) - { - if (what == NotificationWMCloseRequest) - { - SaveGame(); - GetTree().Quit(); - } - } - public static void SaveGame() - { - var access = FileAccess.Open(SAVE_PATH, FileAccess.ModeFlags.Write); - var playerProgress = PlayerProgress.Instance; - var save = new SaveData - { - - SFXVolume = (float)Settings.SFX, - MusicVolume = (float)Settings.Music, - SplashSeen = Settings.Splash, - Money = playerProgress.Money, - SeedpacketSlots = playerProgress.MaxSeedpackets, - PlayerPlants = [], - - SaveGameVersion = (string)ProjectSettings.GetSetting("application/config/version") - }; - - foreach (var plant in playerProgress.PlayerPlants) - { - save.PlayerPlants.Add(plant.GetInternalID()); - } - - access.StoreString(JsonSerializer.Serialize(save)); - - access.Close(); - } - public static void LoadGame() - { - if (FileAccess.FileExists(SAVE_PATH) == false) - { - InitiateCleanSave(); - return; - } - - var access = FileAccess.Open(SAVE_PATH, FileAccess.ModeFlags.Read); - - var parsed = JsonSerializer.Deserialize(access.GetAsText()); - - Settings.SFX = parsed.SFXVolume; - Settings.Music = parsed.MusicVolume; - Settings.Splash = parsed.SplashSeen; - - AudioServer.SetBusVolumeDb(2, Mathf.LinearToDb(Mathf.Exp((float)Settings.SFX) - 1)); - AudioServer.SetBusVolumeDb(1, Mathf.LinearToDb(Mathf.Exp((float)Settings.Music) - 1)); - - var playerProgress = PlayerProgress.Instance; - playerProgress.MaxSeedpackets = parsed.SeedpacketSlots; - playerProgress.PlayerPlants = []; - - foreach (var plantId in parsed.PlayerPlants) - { - playerProgress.PlayerPlants.Add((PlantResource)GameRegistry.GetEntityByName(plantId)); - } - - - access.Close(); - } - private static void InitiateCleanSave() - { - PlayerProgress.Instance.PlayerPlants = new List([(PlantResource)GameRegistry.GetEntityByName("peashooter")]); - PlayerProgress.Instance.Money = 0; - - SaveGame(); - } - private partial class SaveData - { - public float SFXVolume { get; set; } - public float MusicVolume { get; set; } - public string SaveGameVersion { get; set; } - public bool SplashSeen { get; set; } - public List PlayerPlants { get; set; } - public int Money { get; set; } = 0; - public int SeedpacketSlots { get; set; } = 6; - public List FinishedLevels { get; set; } = new(); - } -} diff --git a/scripts/SaveSerializer.cs.uid b/scripts/SaveSerializer.cs.uid deleted file mode 100644 index 2b68752..0000000 --- a/scripts/SaveSerializer.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bflvotmed7jfy diff --git a/scripts/TimeScalableAnimationTree.cs b/scripts/TimeScalableAnimationTree.cs deleted file mode 100644 index e7206cd..0000000 --- a/scripts/TimeScalableAnimationTree.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Godot; - -namespace Newlon.Components; - -public partial class TimeScalableAnimationTree : AnimationTree -{ - [Export] private Entity entity; - public override void _Ready() - { - entity.OnLocalTimescaleChanged += OnTimescaleChanged; - } - - private void OnTimescaleChanged(float timescale) - { - Set("parameters/TimeScale/scale", timescale); - } -} diff --git a/scripts/TimeScalableAnimationTree.cs.uid b/scripts/TimeScalableAnimationTree.cs.uid deleted file mode 100644 index f44c2c0..0000000 --- a/scripts/TimeScalableAnimationTree.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dwlwi42smgxkb diff --git a/scripts/TimeScalableTimer.cs b/scripts/TimeScalableTimer.cs deleted file mode 100644 index a6e5c51..0000000 --- a/scripts/TimeScalableTimer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Godot; - -namespace Newlon.Components; - -public partial class TimeScalableTimer : Timer -{ - [Export] private Entity entity; - - private float internal_timescale; - public override void _Ready() - { - internal_timescale = entity.LocalTimescale; - entity.OnLocalTimescaleChanged += OnTimescaleChanged; - } - - private void OnTimescaleChanged(float timescale) - { - WaitTime *= internal_timescale / timescale; - internal_timescale = timescale; - } -} diff --git a/scripts/TimeScalableTimer.cs.uid b/scripts/TimeScalableTimer.cs.uid deleted file mode 100644 index 5e713e2..0000000 --- a/scripts/TimeScalableTimer.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://c4jy0cnbnx33h diff --git a/scripts/audio/AudioSequencer.cs b/scripts/audio/AudioSequencer.cs deleted file mode 100644 index 292cda1..0000000 --- a/scripts/audio/AudioSequencer.cs +++ /dev/null @@ -1,94 +0,0 @@ -using Godot; -using Godot.Collections; - -public partial class AudioSequencer : Node -{ - private static AudioSequencer instance; - [Export]private Dictionary channels = []; - [Export]private Dictionary channelProcess = []; - [Export]private Dictionary channelSettings = []; - - [Export] - private ChannelSettings standardSettings; - - public override void _Ready() - { - instance = this; - } - - public static bool IsChannelPlaying(string id) - { - if (instance.channels.ContainsKey(id) == false) - { - instance.InitiateChannel(id); - return false; - } - - if (instance.channelSettings[id].restartTreshold == 0) - return false; - if (instance.channelSettings[id].restartTreshold < 0) - return instance.channelProcess[id]; - - return instance.channelProcess[id] && instance.channels[id].GetPlaybackPosition() < instance.channelSettings[id].restartTreshold / Engine.TimeScale; - } - - public static void Play(string id, AudioStream what, ChannelSettings settings = null) - { - if (IsChannelPlaying(id)) return; - if (settings != null) ChangeSettings(id, settings); - instance.PlayAtChannel(id, what); - } - - public static void ChangeSettings(string id, ChannelSettings settings) - { - - if (instance.channels.ContainsKey(id) == false) - { - instance.InitiateChannel(id, settings); - return; - } - if (settings == null) - { - instance.channelSettings[id] = instance.standardSettings; - return; - } - instance.channelSettings[id] = settings; - } - - private AudioStreamPlayer InitiateChannel(string id, ChannelSettings settings = null) - { - AudioStreamPlayer player = new(); - - AddChild(player); - channels.Add(id, player); - channelProcess.Add(id, false); - player.Name = id; - player.MaxPolyphony = 5; - player.Bus = "SFXBus"; - - player.Finished += () => { MarkChannel(id, false); }; - - if (settings != null) - { - channelSettings.Add(id, settings); - } - else - { - channelSettings.Add(id, standardSettings); - } - - return player; - } - - private void PlayAtChannel(string id, AudioStream what) - { - channels[id].Stream = what; - channels[id].Play(); - MarkChannel(id, true); - } - - private void MarkChannel(string id, bool how) - { - channelProcess[id] = how; - } -} diff --git a/scripts/audio/AudioSequencer.cs.uid b/scripts/audio/AudioSequencer.cs.uid deleted file mode 100644 index f37a1ea..0000000 --- a/scripts/audio/AudioSequencer.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cauc1ieq84fwg diff --git a/scripts/audio/AudioSlider.cs b/scripts/audio/AudioSlider.cs deleted file mode 100644 index f5c54d5..0000000 --- a/scripts/audio/AudioSlider.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Godot; -using Newlon; - -public partial class AudioSlider : HSlider -{ - enum TYPE - { - SFX, - MUSIC - } - - [Export] private TYPE affects; - public override void _Ready() - { - ValueChanged += OnValueChanged; - if (affects == TYPE.SFX) - { - SetValueNoSignal(Settings.SFX); - } - else - { - SetValueNoSignal(Settings.Music); - } - } - - private void OnValueChanged(double value) - { - if (affects == TYPE.SFX) - { - var volume = Mathf.LinearToDb(Mathf.Exp((float)value) - 1); ; - Settings.SFX = value; - AudioServer.SetBusVolumeDb(2, volume); - } - else - { - var volume = Mathf.LinearToDb(Mathf.Exp((float)value) - 1); ; - Settings.Music = value; - AudioServer.SetBusVolumeDb(1, volume); - } - } - -} diff --git a/scripts/audio/AudioSlider.cs.uid b/scripts/audio/AudioSlider.cs.uid deleted file mode 100644 index 687d2b0..0000000 --- a/scripts/audio/AudioSlider.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://ciccaxqo70s13 diff --git a/scripts/audio/ChannelPlayer.cs b/scripts/audio/ChannelPlayer.cs deleted file mode 100644 index 59e9e43..0000000 --- a/scripts/audio/ChannelPlayer.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Godot; - -[GlobalClass] -public partial class ChannelPlayer : Node -{ - [Export] private ChannelSettings settings; - [Export] private AudioStream audioStream; - [Export] private string channel; - - public void Play() - { - AudioSequencer.Play(channel, audioStream); - if (settings != null) - AudioSequencer.ChangeSettings(channel, settings); - } -} diff --git a/scripts/audio/ChannelPlayer.cs.uid b/scripts/audio/ChannelPlayer.cs.uid deleted file mode 100644 index 0a64644..0000000 --- a/scripts/audio/ChannelPlayer.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://c36bj8u7jghc7 diff --git a/scripts/audio/ChannelPlaylist.cs b/scripts/audio/ChannelPlaylist.cs deleted file mode 100644 index 382ae2c..0000000 --- a/scripts/audio/ChannelPlaylist.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Godot; -using Godot.Collections; - -[GlobalClass] -public partial class ChannelPlaylist : Node -{ - [Export] private Array playlist; - [Export] private Array channels; - [Export] private ChannelSettings channelSettings; - private int internal_index = 0; - - public void Play() - { - AudioSequencer.Play(channels[internal_index], playlist[internal_index]); - } - - public void SetIndex(int index) - { - internal_index = index; - if (internal_index >= playlist.Count) - { - internal_index = 0; - } - else if (internal_index < 0) - { - internal_index = playlist.Count - 1; - } - } - - public void Next() - { - SetIndex(internal_index + 1); - } - -} diff --git a/scripts/audio/ChannelPlaylist.cs.uid b/scripts/audio/ChannelPlaylist.cs.uid deleted file mode 100644 index ae20b9e..0000000 --- a/scripts/audio/ChannelPlaylist.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cnn0ymuhypdff diff --git a/scripts/audio/ChannelSettings.cs b/scripts/audio/ChannelSettings.cs deleted file mode 100644 index a302942..0000000 --- a/scripts/audio/ChannelSettings.cs +++ /dev/null @@ -1,7 +0,0 @@ -using Godot; - -[GlobalClass] -public partial class ChannelSettings : Resource -{ - [Export] public float restartTreshold; -} diff --git a/scripts/audio/ChannelSettings.cs.uid b/scripts/audio/ChannelSettings.cs.uid deleted file mode 100644 index d45c898..0000000 --- a/scripts/audio/ChannelSettings.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://c1x4n4nqyq72f diff --git a/scripts/audio/ChooseYourSeedsMusic.cs b/scripts/audio/ChooseYourSeedsMusic.cs deleted file mode 100644 index bfc10d2..0000000 --- a/scripts/audio/ChooseYourSeedsMusic.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Godot; -using Newlon.Components.Level; - -public partial class ChooseYourSeedsMusic : AudioStreamPlayer -{ - public override void _Ready() - { - RuntimeLevelData.Instance.OnLevelStateChanged += OnLevelStateChanged; - } - - private void OnLevelStateChanged(RuntimeLevelData.LevelStates state) - { - if (state == RuntimeLevelData.LevelStates.ChooseYourSeeds) - { - Play(); - } - else - { - var tween = CreateTween(); - tween.TweenProperty(this, "volume_linear", 0, 1); - tween.TweenCallback(Callable.From(Stop)); - } - } -} diff --git a/scripts/audio/ChooseYourSeedsMusic.cs.uid b/scripts/audio/ChooseYourSeedsMusic.cs.uid deleted file mode 100644 index 5fd32b6..0000000 --- a/scripts/audio/ChooseYourSeedsMusic.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://b4ysi1iutmju3 diff --git a/scripts/audio/EffectBasedPlayer.cs b/scripts/audio/EffectBasedPlayer.cs deleted file mode 100644 index 786d853..0000000 --- a/scripts/audio/EffectBasedPlayer.cs +++ /dev/null @@ -1,29 +0,0 @@ -using Godot; -using Godot.Collections; -using System.Collections.Generic; -using Newlon.Components; -using Newlon.Systems.Effects; - -public partial class EffectBasedPlayer : Node -{ - [Export] public Array effectsToMap; - [Export] public Array streamsToMapTo; - [Export] public Array streamSettings; - private System.Collections.Generic.Dictionary effectToAudioMap = new(); - public override void _Ready() - { - GetParent().EffectStarted += OnEffectStarted; - - for (int i = 0; i < effectsToMap.Count; i++) - { - effectToAudioMap.Add(effectsToMap[i], (streamsToMapTo[i],streamSettings[i])); - } - } - - public void OnEffectStarted(Effect what) - { - if (effectToAudioMap.ContainsKey(what) == false) return; - AudioSequencer.Play(what.Slot, effectToAudioMap[what].Item1); - AudioSequencer.ChangeSettings(what.Slot, effectToAudioMap[what].Item2); - } -} diff --git a/scripts/audio/EffectBasedPlayer.cs.uid b/scripts/audio/EffectBasedPlayer.cs.uid deleted file mode 100644 index ed55549..0000000 --- a/scripts/audio/EffectBasedPlayer.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://b8r6fxsfjdo3a diff --git a/scripts/audio/MusicTransitioner.cs b/scripts/audio/MusicTransitioner.cs deleted file mode 100644 index 7dc61dc..0000000 --- a/scripts/audio/MusicTransitioner.cs +++ /dev/null @@ -1,41 +0,0 @@ -using Godot; -using Newlon.Components.Level; -using System; - -public partial class MusicTransitioner : AudioStreamPlayer -{ - private AudioStreamPlaybackInteractive playback; - private Timer timer; - - public override void _Ready() - { - RuntimeLevelData.Instance.OnLevelStateChanged += OnLevelStateChanged; - timer = GetNode("Timer"); - } - - private void OnLevelStateChanged(RuntimeLevelData.LevelStates state) - { - if (state == RuntimeLevelData.LevelStates.Game) - { - Play(); - playback = (AudioStreamPlaybackInteractive)GetStreamPlayback(); - VolumeLinear = 1; - } - else - { - var tween = CreateTween(); - tween.TweenProperty(this, "volume_linear", 0, 1); - tween.TweenCallback(Callable.From(Stop)); - } - } - - public void OnHugeWaveApproaching() - { - playback.SwitchToClip(1); - timer.Start(); - } - public void OnTimerTimeout() - { - playback.SwitchToClip(0); - } -} diff --git a/scripts/audio/MusicTransitioner.cs.uid b/scripts/audio/MusicTransitioner.cs.uid deleted file mode 100644 index 78c5825..0000000 --- a/scripts/audio/MusicTransitioner.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bnj5tlcpmep2o diff --git a/scripts/autoloads/game_registry.gd b/scripts/autoloads/game_registry.gd new file mode 100644 index 0000000..2f29032 --- /dev/null +++ b/scripts/autoloads/game_registry.gd @@ -0,0 +1,23 @@ +extends Node + +class_name GameRegistry + +static func load_resources(directory : String, recursion : bool = true) -> Array[Resource]: + var result : Array[Resource] = [] + var dir = DirAccess.open(directory) + if dir == null: + return result + # Used to ignore last slash if it was provided in _path + var path = dir.get_current_dir() + if recursion: + for subdir in dir.get_directories(): + var subdir_path = "%s/%s" % [ path, subdir ] + result.append_array(load_resources(subdir_path,true)) + + for filename in dir.get_files(): + if !filename.ends_with('.tres'): + continue + var filepath = "%s/%s" % [ path, filename ] + var res = ResourceLoader.load(filepath) + result.append(res) + return result diff --git a/scripts/autoloads/game_registry.gd.uid b/scripts/autoloads/game_registry.gd.uid new file mode 100644 index 0000000..8fba163 --- /dev/null +++ b/scripts/autoloads/game_registry.gd.uid @@ -0,0 +1 @@ +uid://cu3cfhesth2np diff --git a/scripts/autoloads/level_event_bus.gd b/scripts/autoloads/level_event_bus.gd new file mode 100644 index 0000000..77f3166 --- /dev/null +++ b/scripts/autoloads/level_event_bus.gd @@ -0,0 +1,59 @@ +extends Node + +@warning_ignore_start("unused_signal") +## Event bus for levels in Liberation Of Neighborville + + +#region Field + +## Emitted when entity is placed by player via seedpacket +signal packet_placed(resource : SeedpacketResource) + +#endregion + +#region Entity + +## Called for every entity that enters game +signal entity_created(entity : Entity) +## Called for every entity that exits game +signal entity_killed(context : Entity.KilledContext) +## Called for every entity that gets damage +signal entity_hp_changed(context : Entity.HPChangedContext) + +## Called for every entity that has layer set that enters game +signal layer_entity_created(entity : Entity) +## Called for every entity that has layer set that exits game +signal layer_entity_killed(entity : Entity.KilledContext) + +#endregion + +#region Seedpacket manipulation + +## Called when player selects SeedpacketResource +signal packet_selected(resource : SeedpacketResource) + +## Called when player deselects (usually loses focus) SeedpacketResource +signal packet_deselected(resource : SeedpacketResource) + +## Called when selected packets are updated +signal hotbar_packets_update(selected : Array[SeedpacketResource]) +#endregion + +#region Level Running +## Called when huge wave is incoming, yet has not come +signal huge_wave_coming + +## Called when huge wave has come +signal huge_wave + +## Called when final wave has come +signal final_wave + +## Called when game is progressing through level stages +signal state_changed(state : LevelData.LevelStates) + +## Called when something requests state to advance +signal state_advance_requested +## Called when sun counter updates to value [code]to[/code] +signal sun_count_updated(to : float) +#endregion diff --git a/scripts/autoloads/level_event_bus.gd.uid b/scripts/autoloads/level_event_bus.gd.uid new file mode 100644 index 0000000..0408ec3 --- /dev/null +++ b/scripts/autoloads/level_event_bus.gd.uid @@ -0,0 +1 @@ +uid://dmc03tudqcqj0 diff --git a/scripts/autoloads/player_progress.gd b/scripts/autoloads/player_progress.gd new file mode 100644 index 0000000..c6b6a00 --- /dev/null +++ b/scripts/autoloads/player_progress.gd @@ -0,0 +1,4 @@ +extends Node + +var seedpacket_count : int +var owned_plants : Array[SeedpacketResource] diff --git a/scripts/autoloads/player_progress.gd.uid b/scripts/autoloads/player_progress.gd.uid new file mode 100644 index 0000000..46584fb --- /dev/null +++ b/scripts/autoloads/player_progress.gd.uid @@ -0,0 +1 @@ +uid://cjxsn8khrawb4 diff --git a/scripts/components/controllers/plants/peashooter_controller.gd b/scripts/components/controllers/plants/peashooter_controller.gd new file mode 100644 index 0000000..5908b83 --- /dev/null +++ b/scripts/components/controllers/plants/peashooter_controller.gd @@ -0,0 +1,33 @@ +extends Node + +const projectile := preload("uid://ciqhjwh4sfe3u") + +@export var projectile_transform : Marker2D + +var detected : bool = false +var can_shoot : bool = true + +@onready var timer := $Timer +@onready var entity : Entity = get_parent() + +func is_shooting(): + return detected and can_shoot and entity.disabled == false + +func _on_generic_hurtbox_collision_start() -> void: + detected = true + +func _on_generic_hurtbox_collision_end() -> void: + detected = false + +func shoot(): + if can_shoot == false: + return + can_shoot = false + timer.start() + var proj = projectile.instantiate() + get_tree().current_scene.get_node("%Projectiles").add_child(proj) + proj.global_transform = projectile_transform.global_transform + proj.source = entity + +func _on_timer_timeout() -> void: + can_shoot = true diff --git a/scripts/components/controllers/plants/peashooter_controller.gd.uid b/scripts/components/controllers/plants/peashooter_controller.gd.uid new file mode 100644 index 0000000..5f6acbe --- /dev/null +++ b/scripts/components/controllers/plants/peashooter_controller.gd.uid @@ -0,0 +1 @@ +uid://b0ka8lb5kl1fd diff --git a/scripts/components/controllers/zombies/basic_controller.gd b/scripts/components/controllers/zombies/basic_controller.gd new file mode 100644 index 0000000..2a656ad --- /dev/null +++ b/scripts/components/controllers/zombies/basic_controller.gd @@ -0,0 +1,31 @@ +extends Node + +var eating: + get: + return is_eating() +var walking: + get: + return is_walking() + +var disabled = false + +@export var hurtbox : GenericHurtbox +@export var damage : float +@onready var disablable := get_parent() + +var killed := false + +func _on_entity_killed(_context: RefCounted) -> void: + if killed: return + $"../AnimationTree"["parameters/main/playback"].travel("death") + killed = true + +func is_eating() -> bool: + return hurtbox.is_colliding() and disablable.disabled == false + +func is_walking() -> bool: + return disablable.disabled == false + +func bite() -> void: + if hurtbox.is_colliding() == false: return + hurtbox.get_colliding_entity().deal_damage(damage,get_parent()) diff --git a/scripts/components/controllers/zombies/basic_controller.gd.uid b/scripts/components/controllers/zombies/basic_controller.gd.uid new file mode 100644 index 0000000..a3c82d9 --- /dev/null +++ b/scripts/components/controllers/zombies/basic_controller.gd.uid @@ -0,0 +1 @@ +uid://bg88vb74hinkj diff --git a/scripts/components/field_segment_shape.gd b/scripts/components/field_segment_shape.gd new file mode 100644 index 0000000..ba8e43e --- /dev/null +++ b/scripts/components/field_segment_shape.gd @@ -0,0 +1,4 @@ +extends CollisionShape2D + +func _process(_delta: float) -> void: + shape.b = Vector2(FieldParams.field_rect.end.x-global_position.x+FieldParams.TILE.x,0) diff --git a/scripts/components/field_segment_shape.gd.uid b/scripts/components/field_segment_shape.gd.uid new file mode 100644 index 0000000..0242864 --- /dev/null +++ b/scripts/components/field_segment_shape.gd.uid @@ -0,0 +1 @@ +uid://cjulv0bt6deps diff --git a/scripts/components/generic_collider.gd b/scripts/components/generic_collider.gd new file mode 100644 index 0000000..c8bd1d3 --- /dev/null +++ b/scripts/components/generic_collider.gd @@ -0,0 +1,18 @@ +extends Area2D + +## Base class for generic colliders. + +class_name GenericCollider + +## Contact layer. Used to check +enum Layers +{ + NORMAL = 1, + LOW = 2, + HIGH = 4 +} + +@export var layer : Layers = Layers.NORMAL + +func toggle(value : bool) -> void: + monitorable = value diff --git a/scripts/components/generic_collider.gd.uid b/scripts/components/generic_collider.gd.uid new file mode 100644 index 0000000..9f2d11a --- /dev/null +++ b/scripts/components/generic_collider.gd.uid @@ -0,0 +1 @@ +uid://be5rfbbl5xgeh diff --git a/scripts/components/generic_hurtbox.gd b/scripts/components/generic_hurtbox.gd new file mode 100644 index 0000000..7200353 --- /dev/null +++ b/scripts/components/generic_hurtbox.gd @@ -0,0 +1,45 @@ +extends Area2D + +class_name GenericHurtbox + +@export_flags("NORMAL:1","LOW:2","HIGH:4") var lookup_layers : int = 0 +var entities : Array[Entity] = [] + +signal entity_added(entity : Entity) +signal entity_removed(entity : Entity) +signal collision_start +signal collision_end + +func _ready() -> void: + area_entered.connect(on_area_entered) + area_exited.connect(on_area_exited) + +func on_area_entered(area: Area2D): + if area is GenericCollider: + if lookup_layers & area.layer != 0: + add_entity(area.get_parent()) + +func on_area_exited(area: Area2D): + if area is GenericCollider: + if lookup_layers & area.layer != 0: + remove_entity(area.get_parent()) + +func add_entity(entity : Entity): + entities.append(entity) + entity_added.emit(entity) + if entities.size() == 1: + collision_start.emit() + +func remove_entity(entity : Entity): + entities.erase(entity) + entity_removed.emit(entity) + if entities.size() == 0: + collision_end.emit() + +func get_colliding_entity() -> Entity: + if entities.size() == 0: + return null + return entities[0] + +func is_colliding() -> bool: + return entities.size() > 0 diff --git a/scripts/components/generic_hurtbox.gd.uid b/scripts/components/generic_hurtbox.gd.uid new file mode 100644 index 0000000..7f6f36b --- /dev/null +++ b/scripts/components/generic_hurtbox.gd.uid @@ -0,0 +1 @@ +uid://cbudgx741oxtc diff --git a/scripts/components/mover.gd b/scripts/components/mover.gd new file mode 100644 index 0000000..6d9d4ad --- /dev/null +++ b/scripts/components/mover.gd @@ -0,0 +1,10 @@ +extends Node + +@export_range(0,2,0.001,"or_greater","hide_slider","suffix:tiles/second") var speed : float = 0.2 +# Used by animation players to control zombie's movement +@export var speed_control : float = 0.0 + +@onready var parent : Node2D = get_parent() + +func _physics_process(delta: float) -> void: + parent.global_position += -parent.global_transform.x * speed_control * speed * delta * FieldParams.TILE.x diff --git a/scripts/components/mover.gd.uid b/scripts/components/mover.gd.uid new file mode 100644 index 0000000..59ed131 --- /dev/null +++ b/scripts/components/mover.gd.uid @@ -0,0 +1 @@ +uid://bdacurei5fp02 diff --git a/scripts/components/plant_death_handler.gd b/scripts/components/plant_death_handler.gd new file mode 100644 index 0000000..ff221fb --- /dev/null +++ b/scripts/components/plant_death_handler.gd @@ -0,0 +1,5 @@ +extends Node + + +func _on_killed(context: RefCounted) -> void: + get_parent().deconstruct() diff --git a/scripts/components/plant_death_handler.gd.uid b/scripts/components/plant_death_handler.gd.uid new file mode 100644 index 0000000..1b81a66 --- /dev/null +++ b/scripts/components/plant_death_handler.gd.uid @@ -0,0 +1 @@ +uid://d17rkta3k73jx diff --git a/scripts/components/zombie_death_handler.gd b/scripts/components/zombie_death_handler.gd new file mode 100644 index 0000000..8aa4325 --- /dev/null +++ b/scripts/components/zombie_death_handler.gd @@ -0,0 +1,5 @@ +extends Node + +func _on_animation_tree_animation_finished(anim_name: StringName) -> void: + if anim_name.split("/")[1] == "death": + get_parent().deconstruct() diff --git a/scripts/components/zombie_death_handler.gd.uid b/scripts/components/zombie_death_handler.gd.uid new file mode 100644 index 0000000..f9cb8a8 --- /dev/null +++ b/scripts/components/zombie_death_handler.gd.uid @@ -0,0 +1 @@ +uid://dfnyam1pvkb73 diff --git a/scripts/debug/Cheats.cs b/scripts/debug/Cheats.cs deleted file mode 100644 index 46c9654..0000000 --- a/scripts/debug/Cheats.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Godot; -using Newlon.Components.Level; - -namespace Newlon.Debug; - -public partial class Cheats : Node -{ - public override void _Input(InputEvent @event) - { - if (OS.IsDebugBuild() == false) return; - if (@event.IsActionPressed("cheat_add_sun")) - { - RuntimeLevelData.Instance.AddSun(50); - } - if (@event.IsActionPressed("cheat_unlock_all")) - { - PlayerProgress.Instance.PlayerPlants = GameRegistry.GetPlants(); - } - } -} diff --git a/scripts/debug/Cheats.cs.uid b/scripts/debug/Cheats.cs.uid deleted file mode 100644 index a53b15b..0000000 --- a/scripts/debug/Cheats.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cb8n22kkqa8ig diff --git a/scripts/debug/Clock.cs b/scripts/debug/Clock.cs deleted file mode 100644 index bc8eb10..0000000 --- a/scripts/debug/Clock.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Godot; -using System; - -namespace Newlon.Debug; - -// -// Debug tool to check time since clock loaded -// - -public partial class Clock : Label -{ - private ulong _time = 0; - public override void _Process(double delta) - { - _time += (ulong)(delta*1000); - ulong seconds = _time / 1000 % 60; - ulong minutes = seconds / 60 % 60; - Text = minutes.ToString()+":"+seconds.ToString(); - } -} diff --git a/scripts/debug/Clock.cs.uid b/scripts/debug/Clock.cs.uid deleted file mode 100644 index 259b59a..0000000 --- a/scripts/debug/Clock.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://d2aq2wjq0gt7x diff --git a/scripts/droppable-items/DropMover.cs b/scripts/droppable-items/DropMover.cs deleted file mode 100644 index 3b3d426..0000000 --- a/scripts/droppable-items/DropMover.cs +++ /dev/null @@ -1,32 +0,0 @@ -using Godot; - -namespace Newlon.Components.Droppables; - -public partial class DropMover : Node -{ - public float ySpeed = -200.0f; - public float xSpeed = 150.0f; - - - private float stop_y; - private Node2D parent; - private Vector2 velocity; - private float gravity; - public override void _Ready() - { - parent = GetParent(); - stop_y = ((parent.GlobalPosition / FieldParams.Tile).Ceil() * FieldParams.Tile).Y; - gravity = (float)ProjectSettings.GetSetting("physics/2d/default_gravity"); - - velocity = new Vector2((GD.Randf() - 0.5f) * xSpeed, ySpeed); - } - public override void _Process(double delta) - { - if (parent.GlobalPosition.Y >= stop_y) QueueFree(); - - velocity += Vector2.Down * gravity * (float)delta; - - parent.GlobalPosition += velocity * (float)delta; - } - -} diff --git a/scripts/droppable-items/DropMover.cs.uid b/scripts/droppable-items/DropMover.cs.uid deleted file mode 100644 index 0e124fb..0000000 --- a/scripts/droppable-items/DropMover.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://b2j41pq6cmpgm diff --git a/scripts/droppable-items/DroppableItem.cs b/scripts/droppable-items/DroppableItem.cs deleted file mode 100644 index afbd5ef..0000000 --- a/scripts/droppable-items/DroppableItem.cs +++ /dev/null @@ -1,30 +0,0 @@ -using Godot; - -namespace Newlon.Components.Droppables; - -[GlobalClass] -public partial class DroppableItem : Area2D -{ - [Signal] public delegate void PickedUpEventHandler(); - public override void _MouseEnter() - { - if (GamepadHandler.Instance.IsGamepadControlled) - { - GetViewport().SetInputAsHandled(); - PickUp(); - EmitSignal(SignalName.PickedUp); - } - } - - public override void _InputEvent(Viewport viewport, InputEvent @event, int shapeIdx) - { - if (@event.IsActionPressed("primary_action")) - { - GetViewport().SetInputAsHandled(); - PickUp(); - EmitSignal(SignalName.PickedUp); - } - } - public virtual void PickUp() {} - -} diff --git a/scripts/droppable-items/DroppableItem.cs.uid b/scripts/droppable-items/DroppableItem.cs.uid deleted file mode 100644 index e8d5865..0000000 --- a/scripts/droppable-items/DroppableItem.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cwf2y3pxi6psc diff --git a/scripts/droppable-items/DroppableSeedpacket.cs b/scripts/droppable-items/DroppableSeedpacket.cs deleted file mode 100644 index 03f4938..0000000 --- a/scripts/droppable-items/DroppableSeedpacket.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Godot; -using Newlon.Resources; - -namespace Newlon.Components.Droppables; - -public partial class DroppableSeedpacket : DroppableItem -{ - public PlantResource plant; - [Export] private Label _cost; - [Export] private TextureRect _icon; - [Export] private TextureRect _packet; - public override void _Ready() - { - _cost.Text = plant.Cost.ToString(); - _icon.Texture = plant.Preview; - if (plant.CustomFrame != null) - { - _packet.Texture = plant.CustomFrame.frame; - _cost.LabelSettings = plant.CustomFrame.font; - } - } -} diff --git a/scripts/droppable-items/DroppableSeedpacket.cs.uid b/scripts/droppable-items/DroppableSeedpacket.cs.uid deleted file mode 100644 index a3ccb44..0000000 --- a/scripts/droppable-items/DroppableSeedpacket.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://gymo10tjruj2 diff --git a/scripts/entities/AnimationStatistics.cs b/scripts/entities/AnimationStatistics.cs deleted file mode 100644 index 1db029e..0000000 --- a/scripts/entities/AnimationStatistics.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Godot; - -public partial class AnimationStatistics : Node -{ - [Export] - private string animationName; - [Export] - private string trackToFind; - private float invokationsPerSecond; - public override void _Ready() - { - var animation = GetParent().GetAnimation(animationName); - - var track_id = animation.FindTrack(trackToFind,Animation.TrackType.Method); - invokationsPerSecond = animation.TrackGetKeyCount(track_id)/ animation.Length; - } -} diff --git a/scripts/entities/AnimationStatistics.cs.uid b/scripts/entities/AnimationStatistics.cs.uid deleted file mode 100644 index 35b26bf..0000000 --- a/scripts/entities/AnimationStatistics.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dw7v3s4kbu7ma diff --git a/scripts/entities/AreaOfEffect.cs b/scripts/entities/AreaOfEffect.cs deleted file mode 100644 index 153ae33..0000000 --- a/scripts/entities/AreaOfEffect.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Godot; -using Newlon.Systems.Effects; - -namespace Newlon.Components; - -public partial class AreaOfEffect : Area2D -{ - [Export] public Effect givenEffect; - public override void _Ready() - { - AreaEntered += OnAreaEntered; - } - - public void OnAreaEntered(Area2D what) - { - if (what.GetParent() is Entity entity) - { - entity.GiveEffect(givenEffect); - } - } -} diff --git a/scripts/entities/AreaOfEffect.cs.uid b/scripts/entities/AreaOfEffect.cs.uid deleted file mode 100644 index 6bbb667..0000000 --- a/scripts/entities/AreaOfEffect.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bd1f7x1nin0i0 diff --git a/scripts/entities/Armor.cs b/scripts/entities/Armor.cs deleted file mode 100644 index 96b4a89..0000000 --- a/scripts/entities/Armor.cs +++ /dev/null @@ -1,65 +0,0 @@ -using Godot; - -namespace Newlon.Components; - -[GlobalClass] -public partial class Armor : Node -{ - [Signal] - public delegate void DamagedEventHandler(); - [Signal] - public delegate void HpChangedEventHandler(float hp); - [Signal] - public delegate void ArmorLostEventHandler(); - - [Export] - public float MaxHP { get; private set; } - public float _hp; - private bool _lost = false; - - public override void _Ready() - { - _hp = MaxHP; - } - - public float RecieveDamage(float damage) - { - if(_lost) - return damage; - - float returnAmount = damage - _hp; - if (returnAmount < 0) - returnAmount = 0; - if (_hp - damage <= 0) - { - var delta = _hp; - _hp = 0; - EmitSignal(SignalName.HpChanged, -delta); - EmitSignal(SignalName.Damaged); - EmitSignal(SignalName.ArmorLost); - _lost = true; - } - else - { - _hp -= damage; - EmitSignal(SignalName.HpChanged, -damage); - EmitSignal(SignalName.Damaged); - } - return returnAmount; - } - - public float Heal(float amount) - { - if(_lost) - return amount; - float returnAmount = 0; - _hp += amount; - if (_hp >= MaxHP) - { - returnAmount = _hp-MaxHP; - _hp = MaxHP; - } - EmitSignal(SignalName.HpChanged,_hp); - return returnAmount; - } -} diff --git a/scripts/entities/Armor.cs.uid b/scripts/entities/Armor.cs.uid deleted file mode 100644 index ae22cc3..0000000 --- a/scripts/entities/Armor.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://fd4im1fmwc5n diff --git a/scripts/entities/ArmorHPObserver.cs b/scripts/entities/ArmorHPObserver.cs deleted file mode 100644 index c5de7ef..0000000 --- a/scripts/entities/ArmorHPObserver.cs +++ /dev/null @@ -1,32 +0,0 @@ -using Godot; - -namespace Newlon.Components; - -public partial class ArmorHPObserver : Node -{ - [Export] private float _threshold = 0.5f; - [Export] private bool _setGreater = false; - [Export] private Armor _observedArmor; - [Signal] public delegate void ThresholdReachedEventHandler(); - - public override void _Ready() - { - _observedArmor.Damaged += OnDamaged; - } - - private void OnDamaged() - { - if (_setGreater == false && _observedArmor._hp / _observedArmor.MaxHP < _threshold) - { - EmitSignal(SignalName.ThresholdReached); - _observedArmor.Damaged -= OnDamaged; - QueueFree(); - } - else if (_setGreater && _observedArmor._hp / _observedArmor.MaxHP > _threshold) - { - EmitSignal(SignalName.ThresholdReached); - _observedArmor.Damaged -= OnDamaged; - QueueFree(); - } - } -} diff --git a/scripts/entities/ArmorHPObserver.cs.uid b/scripts/entities/ArmorHPObserver.cs.uid deleted file mode 100644 index c1f6b50..0000000 --- a/scripts/entities/ArmorHPObserver.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://d3l8e8ko5r5i3 diff --git a/scripts/entities/DegradingSprite.cs b/scripts/entities/DegradingSprite.cs deleted file mode 100644 index a32a97c..0000000 --- a/scripts/entities/DegradingSprite.cs +++ /dev/null @@ -1,33 +0,0 @@ -using Godot; -using Godot.Collections; - -namespace Newlon.Components.Zombies; - -public partial class DegradingSprite : Sprite2D -{ - [Export] private Armor armor; - [Export] private Array degradationStages; - [Export] private Array thresholdPercentage; - - public override void _Ready() - { - armor.Damaged += OnDamaged; - } - - private void OnDamaged() - { - float percent = armor._hp / armor.MaxHP; - for (int i = 0; i < degradationStages.Count; i++) - { - if (percent <= thresholdPercentage[i]) - { - Texture = degradationStages[i]; - } - else - { - break; - } - } - } - -} diff --git a/scripts/entities/DegradingSprite.cs.uid b/scripts/entities/DegradingSprite.cs.uid deleted file mode 100644 index a6ffb07..0000000 --- a/scripts/entities/DegradingSprite.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bbw848msxb4re diff --git a/scripts/entities/Entity.cs b/scripts/entities/Entity.cs deleted file mode 100644 index 8720ca5..0000000 --- a/scripts/entities/Entity.cs +++ /dev/null @@ -1,218 +0,0 @@ -using Godot; -using Godot.Collections; -using Newlon.Components.Level; -using Newlon.Systems.Effects; - -namespace Newlon.Components; - -[GlobalClass] -public partial class Entity : Node2D -{ - #region Health points - [Export] public float MaxHP; - [Export]public float HP; - [Signal] public delegate void OnHPChangedEventHandler(EntitySignalContext context); - [Signal] public delegate void OnDamagedEventHandler(); - [Signal] public delegate void HasBeenKilledEventHandler(Entity who); - - - public virtual void TakeDamage(float amount, Node origin) - { - if (amount > 0) - EmitSignal(SignalName.OnDamaged); - - var context = new EntitySignalContext() - { - target = this, - source = (Entity)origin, - actionAmount = amount - }; - if (HP - amount <= 0) - { - context.deltaHP = -HP; - EmitSignal(SignalName.OnHPChanged, context); - HP = 0; - KillByDamage(); - } - else - { - context.deltaHP = -amount; - HP -= amount; - EmitSignal(SignalName.OnHPChanged, context); - } - } - - public virtual void Heal(float amount, Node origin) - { - var context = new EntitySignalContext() - { - target = this, - source = (Entity)origin, - actionAmount = amount - }; - if (HP + amount > MaxHP) - { - context.deltaHP = MaxHP - HP; - EmitSignal(SignalName.OnHPChanged, context); - HP = MaxHP; - } - else - { - context.deltaHP = amount; - HP += amount; - EmitSignal(SignalName.OnHPChanged, context); - } - } - - public bool Killed = false; - public virtual void KillByDamage() - { - if (Killed) return; - Killed = true; - EmitSignal(SignalName.HasBeenKilled,this); - ClearEffects(); - Kill(); - } - - public virtual void Kill() - { - QueueFree(); - } - - - #endregion - #region Brain - [Export] private AnimationPlayer _player; - [Export] private AnimationTree _tree; - private bool forceToggledBrain = false; - private bool brainEnabled = true; - public virtual void DisableBrain(bool force = true) - { - if (brainEnabled == false) return; - if (_player != null) - _player.ProcessMode = ProcessModeEnum.Pausable; - if (_tree != null) - _tree.ProcessMode = ProcessModeEnum.Pausable; - ProcessMode = ProcessModeEnum.Disabled; - forceToggledBrain = force; - brainEnabled = false; - } - - public virtual void EnableBrain(bool force = true) - { - if (brainEnabled) return; - if (_player != null) - _player.ProcessMode = ProcessModeEnum.Inherit; - if (_tree != null) - _tree.ProcessMode = ProcessModeEnum.Inherit; - ProcessMode = ProcessModeEnum.Inherit; - forceToggledBrain = force; - brainEnabled = true; - } - #endregion - #region Effects - [Export] private Array _effectImmunities = new(); - [Export] private bool completeInvulnerability = false; - private readonly Dictionary effectHandlers = new(); - - [Signal] public delegate void EffectStartedEventHandler(Effect what); - [Signal] public delegate void EffectEndedEventHandler(Effect what); - [Signal] public delegate void EffectContinuedEventHandler(Effect what); - - - public virtual void GiveEffect(Effect what) - { - if (what == null || - Killed || - completeInvulnerability || _effectImmunities.Contains(what)) - return; - - var slot = what.Slot; - if (effectHandlers.ContainsKey(slot) == false) - InitSlot(slot); - - if (effectHandlers[slot].HandledEffect == what) - { - effectHandlers[slot].Restart(); - } - else - { - effectHandlers[slot].HandledEffect = what; - effectHandlers[slot].Start(); - } - - } - - public void EndEffect(Effect what) - { - EndEffectAtSlot(what.Slot); - } - - public Tween CreateTweenEffect(Effect effect) - { - Tween tween = CreateTween(); - - effectHandlers[effect.Slot].EffectTween = tween; - - return tween; - } - - protected void ClearEffects() - { - foreach (var slot in effectHandlers.Keys) - { - effectHandlers[slot].End(); - } - } - private void InitSlot(string key) - { - effectHandlers.Add(key, new EffectHandler()); - effectHandlers[key].handler = this; - effectHandlers[key].EffectTimer = new(); - - AddChild(effectHandlers[key].EffectTimer); - effectHandlers[key].EffectTimer.Name = key + "Timer"; - - effectHandlers[key].EffectTimer.Timeout += () => { EndEffectAtSlot(key); }; - } - - public void ProcessEffects() - { - foreach (var slot in effectHandlers.Keys) - { - effectHandlers[slot].Process(); - } - } - - private void EndEffectAtSlot(string slot) - { - EmitSignal(SignalName.EffectEnded, effectHandlers[slot].HandledEffect); - effectHandlers[slot].End(); - } - - #endregion - #region LocalTimescale - private float _localTimescale = 1.0f; - [Signal] public delegate void OnLocalTimescaleChangedEventHandler(float scale); - public float LocalTimescale - { - get => _localTimescale; - set - { - _localTimescale = value; - EmitSignal(SignalName.OnLocalTimescaleChanged, _localTimescale); - } - } - #endregion - #region Godot overrides - public override void _Ready() - { - HP = MaxHP; - if (RuntimeLevelData.Instance != null) - { - if (RuntimeLevelData.Instance.GetLevelState() != RuntimeLevelData.LevelStates.Game) DisableBrain(false); - } - } - - #endregion -} diff --git a/scripts/entities/Entity.cs.uid b/scripts/entities/Entity.cs.uid deleted file mode 100644 index c9ca417..0000000 --- a/scripts/entities/Entity.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://3tw88wj1nrj1 diff --git a/scripts/entities/EntityHPObserver.cs b/scripts/entities/EntityHPObserver.cs deleted file mode 100644 index 1427694..0000000 --- a/scripts/entities/EntityHPObserver.cs +++ /dev/null @@ -1,32 +0,0 @@ -using Godot; - -namespace Newlon.Components; - -public partial class EntityHPObserver : Node -{ - [Export] private float _threshold = 0.5f; - [Export] private bool _setGreater = false; - [Export] private Entity _observedEntity; - [Signal] public delegate void ThresholdReachedEventHandler(); - - public override void _Ready() - { - _observedEntity.OnHPChanged += OnHPChanged; - } - - private void OnHPChanged(EntitySignalContext context) - { - if (_setGreater == false && _observedEntity.HP / _observedEntity.MaxHP <= _threshold) - { - EmitSignal(SignalName.ThresholdReached); - _observedEntity.OnHPChanged -= OnHPChanged; - QueueFree(); - } - else if (_setGreater && _observedEntity.HP / _observedEntity.MaxHP >= _threshold) - { - EmitSignal(SignalName.ThresholdReached); - _observedEntity.OnHPChanged -= OnHPChanged; - QueueFree(); - } - } -} diff --git a/scripts/entities/EntityHPObserver.cs.uid b/scripts/entities/EntityHPObserver.cs.uid deleted file mode 100644 index 11c1d76..0000000 --- a/scripts/entities/EntityHPObserver.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dau0tfmlfiqmo diff --git a/scripts/entities/EntitySignalContext.cs b/scripts/entities/EntitySignalContext.cs deleted file mode 100644 index a938f09..0000000 --- a/scripts/entities/EntitySignalContext.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Godot; - -namespace Newlon.Components; - -public partial class EntitySignalContext : RefCounted -{ - public Node source; - public Entity target; - public float actionAmount; - public float deltaHP; -} diff --git a/scripts/entities/EntitySignalContext.cs.uid b/scripts/entities/EntitySignalContext.cs.uid deleted file mode 100644 index b1f3329..0000000 --- a/scripts/entities/EntitySignalContext.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cbdvo20dhiadw diff --git a/scripts/entities/FlashShaderController.cs b/scripts/entities/FlashShaderController.cs deleted file mode 100644 index cf06d73..0000000 --- a/scripts/entities/FlashShaderController.cs +++ /dev/null @@ -1,51 +0,0 @@ -using Godot; -using Newlon.Components; - -public partial class FlashShaderController : Node -{ - [Export] public float flashTime = 0.5f; - [Export] - private ShaderMaterial shaderMaterial; - private uint toggleStack = 0; - private Tween flashTween; - public void DamageFlash() - { - Flash(); - } - public void Flash(float customFlashTime = 0) - { - if (flashTween != null) - flashTween.Kill(); - var time = flashTime; - if (customFlashTime > 0) - time = customFlashTime; - - flashTween = CreateTween(); - flashTween.TweenMethod(Callable.From(SetBlend), 1.0, 0.0, time); - } - public void Select() - { - toggleStack++; - UpdateSelected(); - } - public void Deselect() - { - toggleStack--; - UpdateSelected(); - } - private void SetBlend(float blend) - { - shaderMaterial.SetShaderParameter("blend", blend); - } - private void UpdateSelected() - { - if (toggleStack > 0) - { - shaderMaterial.SetShaderParameter("selected", true); - } - else - { - shaderMaterial.SetShaderParameter("selected", false); - } - } -} diff --git a/scripts/entities/FlashShaderController.cs.uid b/scripts/entities/FlashShaderController.cs.uid deleted file mode 100644 index 0e43889..0000000 --- a/scripts/entities/FlashShaderController.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://30pbgasu64aw diff --git a/scripts/entities/InvulnerableEntity.cs b/scripts/entities/InvulnerableEntity.cs deleted file mode 100644 index dc41ac7..0000000 --- a/scripts/entities/InvulnerableEntity.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Godot; - -namespace Newlon.Components; - -public partial class InvulnerableEntity : Entity -{ - public override void TakeDamage(float amount, Node origin) - { - } - public override void Heal(float amount, Node origin) - { - } - -} diff --git a/scripts/entities/InvulnerableEntity.cs.uid b/scripts/entities/InvulnerableEntity.cs.uid deleted file mode 100644 index 4462658..0000000 --- a/scripts/entities/InvulnerableEntity.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cq1dl578rbvrj diff --git a/scripts/entities/entity.gd b/scripts/entities/entity.gd new file mode 100644 index 0000000..8f61a59 --- /dev/null +++ b/scripts/entities/entity.gd @@ -0,0 +1,108 @@ +extends Node + +## Base class for all hp-based objects +class_name Entity + +## Maximum health points of an entity. Any heal cannot exceed this value +@export var max_hp : float +## Optional spawn layer for grid interactions +@export var layer : StringName = "" +## Current amount of health points of an entity. Cannot be below 0 or [code]max_hp[/code] +@onready var hp : float = max_hp +## +var disabled : bool = false + +signal damaged +## Emitted when damage is taken +signal damage_taken(context : DamageTakenContext) +## Emitted when entity is healed +signal healed(context : HealedContext) +## Emitted on every health points change +signal hp_changed(context : HPChangedContext) +## Emitted when kill is requested +signal killed(context : KilledContext) +## +signal toggled(disabled : bool) + + +## +func disable(): + if disabled: return + disabled = true + toggled.emit(not disabled) + +## +func enable(): + if disabled == false: return + disabled = false + toggled.emit(not disabled) + +## Properly deal damage to entity +func deal_damage(amount : float, source : Entity): + var context = DamageTakenContext.new() + context.source = source + context.target = self + context.amount = amount + damage_taken.emit(context) + + var delta_context = HPChangedContext.new() + delta_context.source = source + delta_context.target = self + delta_context.delta = -amount + hp_changed.emit(delta_context) + + damaged.emit() + + hp -= amount + if hp <= 0: + hp = 0 + kill(source) + +## Properly heal entity +func heal(amount : float, source : Entity): + var context = HealedContext.new() + context.source = source + context.target = self + context.amount = amount + healed.emit(context) + + var delta_context = HPChangedContext.new() + delta_context.source = source + delta_context.target = self + delta_context.delta = amount + hp_changed.emit(delta_context) + + hp += amount + if hp > max_hp: + hp = max_hp + +## Invoked when an entity is killed by damage. +func kill(source : Entity): + var context = KilledContext.new() + context.source = source + context.target = self + killed.emit(context) + + LevelEventBus.entity_killed.emit(context) + if not layer.is_empty(): + LevelEventBus.layer_entity_killed.emit(context) + +## Method used to properly deconstruct entity +func deconstruct(): + queue_free() + +class DamageTakenContext: + var target : Entity + var source : Entity + var amount : float +class HealedContext: + var target : Entity + var source : Entity + var amount : float +class KilledContext: + var target : Entity + var source : Entity +class HPChangedContext: + var target : Entity + var source : Entity + var delta : float diff --git a/scripts/entities/entity.gd.uid b/scripts/entities/entity.gd.uid new file mode 100644 index 0000000..2a63e14 --- /dev/null +++ b/scripts/entities/entity.gd.uid @@ -0,0 +1 @@ +uid://bwdvaov8sse4k diff --git a/scripts/entities/plants/AreaAttack.cs b/scripts/entities/plants/AreaAttack.cs deleted file mode 100644 index 2def47d..0000000 --- a/scripts/entities/plants/AreaAttack.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Godot; -using Newlon.Components.Zombies; - -namespace Newlon.Components.Plants; - -public partial class AreaAttack : Area2D -{ - [Export] private int _damage; - - public void Attack() - { - foreach (var zombie in GetOverlappingAreas()) - { - var zombieData = zombie.GetParent(); - zombieData?.TakeDamage(_damage,GetParent()); - } - } -} diff --git a/scripts/entities/plants/AreaAttack.cs.uid b/scripts/entities/plants/AreaAttack.cs.uid deleted file mode 100644 index 2c8cfca..0000000 --- a/scripts/entities/plants/AreaAttack.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://co7ttejdo2qot diff --git a/scripts/entities/plants/DragAction.cs b/scripts/entities/plants/DragAction.cs deleted file mode 100644 index d18f271..0000000 --- a/scripts/entities/plants/DragAction.cs +++ /dev/null @@ -1,60 +0,0 @@ -using Godot; - -namespace Newlon.Components.Plants; - -public partial class DragAction : Node -{ - [Signal] public delegate void DragBeginEventHandler(); - [Signal] public delegate void DragEndEventHandler(bool aborted); - private bool dragging = false; - private bool toggle = false; - private bool can_end = false; - private bool mouseIn = false; - public override void _Ready() - { - GetParent().MouseEntered += OnMouseEntered; - GetParent().MouseExited += OnMouseExited; - } - public void OnMouseEntered() - { - mouseIn = true; - } - public void OnMouseExited() - { - mouseIn = false; - } - - public override void _Input(InputEvent @event) - { - if (mouseIn && @event.IsActionPressed("primary_action")) - { - dragging = true; - toggle = false; - can_end = false; - EmitSignal(SignalName.DragBegin); - GetTree().CreateTimer(0.2, ignoreTimeScale: true).Timeout += OnToggleTimeout; - GetViewport().SetInputAsHandled(); - } - if (dragging && can_end && (toggle == false && @event.IsActionReleased("primary_action") || (toggle == true && @event.IsActionPressed("primary_action")))) - { - dragging = false; - EmitSignal(SignalName.DragEnd,false); - GetViewport().SetInputAsHandled(); - } - if (dragging && @event.IsActionPressed("cancel_action")) - { - dragging = false; - EmitSignal(SignalName.DragEnd,true); - } - } - public void OnToggleTimeout() - { - can_end = true; - if (Input.IsActionPressed("primary_action") == false) - { - toggle = true; - } - - } - -} diff --git a/scripts/entities/plants/DragAction.cs.uid b/scripts/entities/plants/DragAction.cs.uid deleted file mode 100644 index 1a68ba3..0000000 --- a/scripts/entities/plants/DragAction.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cu63aiowp5bqd diff --git a/scripts/entities/plants/ExplosionComponent.cs b/scripts/entities/plants/ExplosionComponent.cs deleted file mode 100644 index 51641d8..0000000 --- a/scripts/entities/plants/ExplosionComponent.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Godot; -using Newlon.Components.Level; -using Newlon.Components.Zombies; - -namespace Newlon.Components.Plants; - -public partial class ExplosionComponent : Area2D -{ - [Export] private int damage; - [Export] private PackedScene particles; - - public void Explode() - { - foreach (var zombie in GetOverlappingAreas()) - { - var zombieData = zombie.GetParent(); - zombieData?.TakeDamage(damage, GetParent()); - } - - PoolContainer.Instance.SpawnParticles(particles, GetParent().GlobalPosition); - - GetNode("ExplosionPlayer").Play(); - GetParent().Kill(); - - } -} diff --git a/scripts/entities/plants/ExplosionComponent.cs.uid b/scripts/entities/plants/ExplosionComponent.cs.uid deleted file mode 100644 index 81501a4..0000000 --- a/scripts/entities/plants/ExplosionComponent.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bhl6o2m3fn4xg diff --git a/scripts/entities/plants/Eyesight.cs b/scripts/entities/plants/Eyesight.cs deleted file mode 100644 index 2480476..0000000 --- a/scripts/entities/plants/Eyesight.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Godot; -using System.Collections.Generic; - -namespace Newlon.Components.Plants; - -public partial class Eyesight : Area2D -{ - private bool _enemyDetected; - public bool EnemyDetected => _enemyDetected; - private readonly List _detectedEntities = new List(); - private RuntimePlantData _plantData; - - public override void _Ready() - { - _plantData = GetParent(); - AreaEntered += OnAreaEntered; - AreaExited += OnAreaExited; - } - - public void OnAreaEntered(Area2D area) - { - var entity = area.GetParent(); - if (entity != null) - { - _detectedEntities.Add(entity); - } - - _enemyDetected = _detectedEntities.Count > 0; - } - - public void OnAreaExited(Area2D area) - { - var entity = area.GetParent(); - if (entity != null) - { - if (_detectedEntities.Contains(entity)) - { - _detectedEntities.Remove(entity); - } - } - - _enemyDetected = _detectedEntities.Count > 0; - } -} diff --git a/scripts/entities/plants/Eyesight.cs.uid b/scripts/entities/plants/Eyesight.cs.uid deleted file mode 100644 index 7933517..0000000 --- a/scripts/entities/plants/Eyesight.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dn53jvpjyg63l diff --git a/scripts/entities/plants/LoseZone.cs b/scripts/entities/plants/LoseZone.cs deleted file mode 100644 index 18ab886..0000000 --- a/scripts/entities/plants/LoseZone.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Godot; - -namespace Newlon.Components.Plants; - -public partial class LoseZone : RuntimePlantData -{ - public override void TakeDamage(float amount, Node origin) - { - - } - - - public override void Kill() - { - - } - -} diff --git a/scripts/entities/plants/LoseZone.cs.uid b/scripts/entities/plants/LoseZone.cs.uid deleted file mode 100644 index a185f15..0000000 --- a/scripts/entities/plants/LoseZone.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://c0ov2bq5er0gh diff --git a/scripts/entities/plants/NerdusReturnAttack.cs b/scripts/entities/plants/NerdusReturnAttack.cs deleted file mode 100644 index 7941a49..0000000 --- a/scripts/entities/plants/NerdusReturnAttack.cs +++ /dev/null @@ -1,48 +0,0 @@ -using Godot; -using Newlon.Systems.Effects; -using System.Collections.Generic; -namespace Newlon.Components.Plants; - -public partial class NerdusReturnAttack : Area2D -{ - private float returnAmount; - [Export] private Effect returnEffect; - [Export] private float bitesToPeas = 1; - public bool triggered = false; - private List entities = new(); - public override void _Ready() - { - AreaEntered += OnAreaEntered; - AreaExited += OnAreaExited; - } - private void OnAreaEntered(Area2D area) - { - if (area.GetParent() is Entity entity) - { - entities.Add(entity); - } - } - private void OnAreaExited(Area2D area) - { - if (area.GetParent() is Entity entity && entities.Contains(entity)) - { - entities.Remove(entity); - } - } - private void OnHPChanged(EntitySignalContext context) - { - if (context.deltaHP >= 0) return; - returnAmount -= context.deltaHP; - triggered = true; - } - public void ReturnAllDamage() - { - foreach (var entity in entities) - { - entity.TakeDamage(returnAmount * bitesToPeas, GetParent()); - entity.GiveEffect(returnEffect); - } - returnAmount = 0; - triggered = false; - } -} diff --git a/scripts/entities/plants/NerdusReturnAttack.cs.uid b/scripts/entities/plants/NerdusReturnAttack.cs.uid deleted file mode 100644 index 32190f5..0000000 --- a/scripts/entities/plants/NerdusReturnAttack.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dcokqes5wwo3k diff --git a/scripts/entities/plants/PlantEyesightLimiter.cs b/scripts/entities/plants/PlantEyesightLimiter.cs deleted file mode 100644 index 43cc59c..0000000 --- a/scripts/entities/plants/PlantEyesightLimiter.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Godot; - -namespace Newlon.Components.Plants; - -public partial class PlantEyesightLimiter : CollisionShape2D -{ - public override void _Process(double delta) - { - if (Shape is SegmentShape2D segment) - { - segment.B = new Vector2(FieldParams.RightFieldBoundary.X - GlobalPosition.X+FieldParams.TileWidth/2.0f, 0); - } - } -} \ No newline at end of file diff --git a/scripts/entities/plants/PlantEyesightLimiter.cs.uid b/scripts/entities/plants/PlantEyesightLimiter.cs.uid deleted file mode 100644 index 21a60a3..0000000 --- a/scripts/entities/plants/PlantEyesightLimiter.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://hccb0aee0x0o diff --git a/scripts/entities/plants/PlantSunSpawner.cs b/scripts/entities/plants/PlantSunSpawner.cs deleted file mode 100644 index 76ea9b3..0000000 --- a/scripts/entities/plants/PlantSunSpawner.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Godot; -using Newlon.Projectiles; -using Newlon.Components.Level; -using Newlon.Components.Droppables; - -namespace Newlon.Components.Plants; - -public partial class PlantSunSpawner : Node2D -{ - [Export] - private PackedScene _sunScene; - [Export] - private int _amountPerSun; - - public void Spawn() - { - var sun = _sunScene.Instantiate(); - - sun.amount = _amountPerSun; - - PoolContainer.Instance.Projectiles.AddChild(sun); - sun.GlobalPosition = GlobalPosition; - - var mover = new DropMover(); - sun.AddChild(mover); - } -} diff --git a/scripts/entities/plants/PlantSunSpawner.cs.uid b/scripts/entities/plants/PlantSunSpawner.cs.uid deleted file mode 100644 index 55d10dc..0000000 --- a/scripts/entities/plants/PlantSunSpawner.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://b71gebny84s81 diff --git a/scripts/entities/plants/ReturnEffect.cs b/scripts/entities/plants/ReturnEffect.cs deleted file mode 100644 index e375645..0000000 --- a/scripts/entities/plants/ReturnEffect.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Godot; -using Newlon.Components.Zombies; -using Newlon.Systems.Effects; - -namespace Newlon.Components.Plants; - -public partial class ReturnEffect : Node -{ - [Export] - private Effect _effectToReturn; - - public void OnDamageRecieved(EntitySignalContext context) - { - if (context.deltaHP >= 0) return; - if (context.source is RuntimeZombieData zombie) - { - zombie.GiveEffect(_effectToReturn); - } - } -} diff --git a/scripts/entities/plants/ReturnEffect.cs.uid b/scripts/entities/plants/ReturnEffect.cs.uid deleted file mode 100644 index 7a02632..0000000 --- a/scripts/entities/plants/ReturnEffect.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bmtukcq10m8wo diff --git a/scripts/entities/plants/RuntimePlantData.cs b/scripts/entities/plants/RuntimePlantData.cs deleted file mode 100644 index a6ddd56..0000000 --- a/scripts/entities/plants/RuntimePlantData.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Godot; -using Newlon.Components.Level; -using Newlon.Resources; - -namespace Newlon.Components.Plants; - -// -// Data that plant stores during runtime -// - -public partial class RuntimePlantData : Entity -{ - public int Line { get; set; } - public PlantResource Resource; - private AudioStream eatenSound = ResourceLoader.Load("res://assets/audio/sfx/gulp.mp3"); - public override void KillByDamage() - { - AudioSequencer.Play("plant_eaten", eatenSound); - base.KillByDamage(); - } - public override void Kill() - { - PoolContainer.Instance.RemoveEntity(GlobalPosition, Resource.Layer); - QueueFree(); - } -} diff --git a/scripts/entities/plants/RuntimePlantData.cs.uid b/scripts/entities/plants/RuntimePlantData.cs.uid deleted file mode 100644 index 07d0448..0000000 --- a/scripts/entities/plants/RuntimePlantData.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dli2i6albvugt diff --git a/scripts/entities/plants/Shooter.cs b/scripts/entities/plants/Shooter.cs deleted file mode 100644 index 6587254..0000000 --- a/scripts/entities/plants/Shooter.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Godot; -using Newlon.Components.Level; - -namespace Newlon.Components.Plants; - -// Shoot component of some plants -public partial class Shooter : Node2D -{ - [Export] public PackedScene _projectile { get; protected set;} - [Export] protected Timer _timer; - - protected RuntimePlantData _plantData; - - public override void _Ready() - { - _plantData = GetParent(); - } - - - public void Shoot() - { - if (_timer.TimeLeft > 0) return; - - _timer.Start(); - SpawnProjectile(); - } - - public virtual void SpawnProjectile() - { - var instance = _projectile.Instantiate(); - PoolContainer.Instance.Projectiles.AddChild(instance); - instance.GlobalTransform = GlobalTransform; - } -} diff --git a/scripts/entities/plants/Shooter.cs.uid b/scripts/entities/plants/Shooter.cs.uid deleted file mode 100644 index 43979d1..0000000 --- a/scripts/entities/plants/Shooter.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://ceprqkraw3v6m diff --git a/scripts/entities/plants/ThreepeaterShooter.cs b/scripts/entities/plants/ThreepeaterShooter.cs deleted file mode 100644 index 0b74f24..0000000 --- a/scripts/entities/plants/ThreepeaterShooter.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Godot; -using Newlon.Components.Level; - -namespace Newlon.Components.Plants; - -public partial class ThreepeaterShooter : Shooter -{ - public override void SpawnProjectile() - { - for(int i = -1; i <= 1; i++) - { - if (GetParent().GlobalPosition.Y+i*FieldParams.TileHeight >= FieldParams.RightFieldBoundary.Y || GetParent().GlobalPosition.Y+i*FieldParams.TileHeight <= FieldParams.LeftFieldBoundary.Y) - continue; - - var instance = _projectile.Instantiate(); - PoolContainer.Instance.Projectiles.AddChild(instance); - instance.GlobalTransform = GlobalTransform; - - if(i != 0) - { - var tween = CreateTween().SetEase(Tween.EaseType.Out).SetTrans(Tween.TransitionType.Sine); - tween.TweenProperty(instance,"position:y",instance.Position.Y+i*FieldParams.TileHeight,0.5); - } - } - } -} diff --git a/scripts/entities/plants/ThreepeaterShooter.cs.uid b/scripts/entities/plants/ThreepeaterShooter.cs.uid deleted file mode 100644 index 9314942..0000000 --- a/scripts/entities/plants/ThreepeaterShooter.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://djpc0kvagpadv diff --git a/scripts/entities/plants/behaviours/AloeBehaviour.cs b/scripts/entities/plants/behaviours/AloeBehaviour.cs deleted file mode 100644 index 9286900..0000000 --- a/scripts/entities/plants/behaviours/AloeBehaviour.cs +++ /dev/null @@ -1,51 +0,0 @@ -using Godot; -using Newlon.Components.Level; - -namespace Newlon.Components.Plants.Behaviours; - -public partial class AloeBehaviour : BaseBehaviour -{ - [Export] private float _hpTreshold = 0.25f; - private Timer _timer; - private bool _charge = true; - private PackedScene particlesPacked = ResourceLoader.Load("uid://b3na62o5pu1gt"); - - public override void _Ready() - { - base._Ready(); - _timer = GetNode("Timer"); - } - - public override void _Process(double delta) - { - _tree.Set("parameters/Tree/conditions/charged",_charge); - - var checkPos = GetParent().GlobalPosition + Vector2.Right * FieldParams.TileWidth; - if(_charge && PoolContainer.Instance.TryGetEntity(checkPos, out RuntimePlantData plantData)) - { - if((float)plantData.HP / (float)plantData.MaxHP < _hpTreshold) - { - _charge = false; - _tree.Set("parameters/Tree/conditions/heal",true); - _timer.Start(); - } - } - } - - public void Heal() - { - var checkPos = GetParent().GlobalPosition + Vector2.Right * FieldParams.TileWidth; - if (PoolContainer.Instance.TryGetEntity(checkPos, out RuntimePlantData plantData)) - { - plantData.Heal(300, GetParent()); - var particles = particlesPacked.Instantiate(); - PoolContainer.Instance.Particles.AddChild(particles); - particles.GlobalPosition = plantData.GlobalPosition; - } - } - - public void OnTimeout() - { - _charge = true; - } -} diff --git a/scripts/entities/plants/behaviours/AloeBehaviour.cs.uid b/scripts/entities/plants/behaviours/AloeBehaviour.cs.uid deleted file mode 100644 index 9eb6922..0000000 --- a/scripts/entities/plants/behaviours/AloeBehaviour.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cljytsmqac0w7 diff --git a/scripts/entities/plants/behaviours/BaseBehaviour.cs b/scripts/entities/plants/behaviours/BaseBehaviour.cs deleted file mode 100644 index a99a7a9..0000000 --- a/scripts/entities/plants/behaviours/BaseBehaviour.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Godot; - -namespace Newlon.Components; - -public abstract partial class BaseBehaviour : Node -{ - protected AnimationTree _tree; - public override void _Ready() - { - _tree = GetNode("../AnimationTree"); - } -} diff --git a/scripts/entities/plants/behaviours/BaseBehaviour.cs.uid b/scripts/entities/plants/behaviours/BaseBehaviour.cs.uid deleted file mode 100644 index d23f061..0000000 --- a/scripts/entities/plants/behaviours/BaseBehaviour.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://3dbmgnr7qxee diff --git a/scripts/entities/plants/behaviours/HpBasedBehaviour.cs b/scripts/entities/plants/behaviours/HpBasedBehaviour.cs deleted file mode 100644 index c63af58..0000000 --- a/scripts/entities/plants/behaviours/HpBasedBehaviour.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Godot; -using Godot.Collections; - -namespace Newlon.Components.Plants.Behaviours; - -public partial class HpBasedBehaviour : BaseBehaviour -{ - [Export] private Array parameters; - - public void OnHPChanged(EntitySignalContext context) - { - var calc = context.target.HP / context.target.MaxHP; - foreach (var par in parameters) - { - _tree.Set(par, calc); - } - } -} diff --git a/scripts/entities/plants/behaviours/HpBasedBehaviour.cs.uid b/scripts/entities/plants/behaviours/HpBasedBehaviour.cs.uid deleted file mode 100644 index b3a7b81..0000000 --- a/scripts/entities/plants/behaviours/HpBasedBehaviour.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://btkmd86pn828y diff --git a/scripts/entities/plants/behaviours/PeashooterBehaviour.cs b/scripts/entities/plants/behaviours/PeashooterBehaviour.cs deleted file mode 100644 index 71d0568..0000000 --- a/scripts/entities/plants/behaviours/PeashooterBehaviour.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Godot; - -namespace Newlon.Components.Plants.Behaviours; - -public partial class PeashooterBehaviour : BaseBehaviour -{ - [Export] private Timer _shootTimer; - [Export] private Eyesight _sight; - - public override void _Process(double delta) - { - bool readyToShoot = _sight.EnemyDetected && _shootTimer.TimeLeft <= 0; - - _tree.Set("parameters/Tree/conditions/ready",readyToShoot); - } -} diff --git a/scripts/entities/plants/behaviours/PeashooterBehaviour.cs.uid b/scripts/entities/plants/behaviours/PeashooterBehaviour.cs.uid deleted file mode 100644 index c83a83b..0000000 --- a/scripts/entities/plants/behaviours/PeashooterBehaviour.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bdk5iqtw4xbkl diff --git a/scripts/entities/plants/behaviours/PotatomineBehaviour.cs b/scripts/entities/plants/behaviours/PotatomineBehaviour.cs deleted file mode 100644 index fd28cc8..0000000 --- a/scripts/entities/plants/behaviours/PotatomineBehaviour.cs +++ /dev/null @@ -1,38 +0,0 @@ -using Godot; - -namespace Newlon.Components.Plants.Behaviours; - -public partial class PotatomineBehaviour : BaseBehaviour -{ - [Export] private Area2D _hitbox; - [Export] private Area2D detectionBox; - [Export] private CollisionShape2D _unprimedShape; - [Export] private CollisionShape2D _primedShape; - private bool _primed = false; - public void Prime() - { - _tree.Set("parameters/Tree/conditions/primed", true); - - _hitbox.Monitorable = false; - - _primed = true; - _unprimedShape.Disabled = true; - _primedShape.Disabled = false; - - if (detectionBox.HasOverlappingAreas()) - { - SetupExplosion(); - } - } - - public void OnAreaEntered(Area2D area) - { - if (_primed == false) return; - SetupExplosion(); - } - private void SetupExplosion() - { - _tree.Set("parameters/Tree/conditions/explode", true); - _primed = false; - } -} diff --git a/scripts/entities/plants/behaviours/PotatomineBehaviour.cs.uid b/scripts/entities/plants/behaviours/PotatomineBehaviour.cs.uid deleted file mode 100644 index 5e9971d..0000000 --- a/scripts/entities/plants/behaviours/PotatomineBehaviour.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://c7qfh4py0uulo diff --git a/scripts/entities/plants/behaviours/SnipachBehaviour.cs b/scripts/entities/plants/behaviours/SnipachBehaviour.cs deleted file mode 100644 index a3fe28e..0000000 --- a/scripts/entities/plants/behaviours/SnipachBehaviour.cs +++ /dev/null @@ -1,45 +0,0 @@ -using Godot; - -namespace Newlon.Components.Plants; - -public partial class SnipachBehaviour : BaseBehaviour -{ - [Export] public AreaAttack attackBox; - [Export] public Timer timer; - [Export] public Timer guardTimer; - private bool dragging = false; - - public void OnDragBegin() - { - if (timer.TimeLeft > 0 || guardTimer.TimeLeft > 0) return; - dragging = true; - attackBox.Visible = dragging; - } - - public void OnDragEnd(bool aborted) - { - if (dragging == false) return; - dragging = false; - attackBox.Visible = dragging; - if (aborted) return; - attackBox.Attack(); - timer.Start(); - } - - public override void _PhysicsProcess(double delta) - { - if (dragging) - { - attackBox.GlobalPosition = (Cursor.GetCursorPosition() / FieldParams.Tile).Ceil() * FieldParams.Tile - new Vector2(20, 14); - } - if (timer.TimeLeft > 0) - { - GetParent().Modulate = Colors.DeepSkyBlue; - } - else - { - GetParent().Modulate = Colors.White; - } - } - -} diff --git a/scripts/entities/plants/behaviours/SnipachBehaviour.cs.uid b/scripts/entities/plants/behaviours/SnipachBehaviour.cs.uid deleted file mode 100644 index 08f907f..0000000 --- a/scripts/entities/plants/behaviours/SnipachBehaviour.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://csgksiyma0h4t diff --git a/scripts/entities/plants/behaviours/SpikeweedBehaviour.cs b/scripts/entities/plants/behaviours/SpikeweedBehaviour.cs deleted file mode 100644 index 2569966..0000000 --- a/scripts/entities/plants/behaviours/SpikeweedBehaviour.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Godot; - -namespace Newlon.Components.Plants.Behaviours; - -public partial class SpikeweedBehaviour : BaseBehaviour -{ - private int _inCount = 0; - public void OnHitboxEntered(Area2D _area) - { - if (_inCount++ == 0) - _tree.Set("parameters/Tree/blend_position",1); - } - - public void OnHitboxExited(Area2D _area) - { - if (--_inCount == 0) - _tree.Set("parameters/Tree/blend_position",0); - } -} diff --git a/scripts/entities/plants/behaviours/SpikeweedBehaviour.cs.uid b/scripts/entities/plants/behaviours/SpikeweedBehaviour.cs.uid deleted file mode 100644 index e035e12..0000000 --- a/scripts/entities/plants/behaviours/SpikeweedBehaviour.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dqquodxaijmem diff --git a/scripts/entities/plants/behaviours/SunflowerBehaviour.cs b/scripts/entities/plants/behaviours/SunflowerBehaviour.cs deleted file mode 100644 index b01d703..0000000 --- a/scripts/entities/plants/behaviours/SunflowerBehaviour.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Godot; - -namespace Newlon.Components.Plants.Behaviours; - -public partial class SunflowerBehaviour : BaseBehaviour -{ - public void Timeout() - { - _tree.Set("parameters/Tree/conditions/produce", true); - } - -} diff --git a/scripts/entities/plants/behaviours/SunflowerBehaviour.cs.uid b/scripts/entities/plants/behaviours/SunflowerBehaviour.cs.uid deleted file mode 100644 index 3e1957d..0000000 --- a/scripts/entities/plants/behaviours/SunflowerBehaviour.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bth7gah4tn7uj diff --git a/scripts/entities/zombies/AudioDamage.cs b/scripts/entities/zombies/AudioDamage.cs deleted file mode 100644 index 5c9bac3..0000000 --- a/scripts/entities/zombies/AudioDamage.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Godot; - -namespace Newlon.Components.Zombies; - -public partial class AudioDamage : AudioStreamPlayer2D -{ - public void OnDamaged(int amount, Node origin) - { - Play(); - } -} diff --git a/scripts/entities/zombies/AudioDamage.cs.uid b/scripts/entities/zombies/AudioDamage.cs.uid deleted file mode 100644 index 958b64c..0000000 --- a/scripts/entities/zombies/AudioDamage.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bsg4utgc0u0vo diff --git a/scripts/entities/zombies/EatBox.cs b/scripts/entities/zombies/EatBox.cs deleted file mode 100644 index 8892037..0000000 --- a/scripts/entities/zombies/EatBox.cs +++ /dev/null @@ -1,51 +0,0 @@ -using Godot; -using Newlon.Components.Plants; - - -namespace Newlon.Components.Zombies; - -public partial class EatBox : Area2D -{ - // Rewrite this class completely when field system will be introduced. - - [Export] public FloatModifiers _damage; - [Export] - private AudioStream biteSound = ResourceLoader.Load("uid://dyid55nhflwyn"); - private RuntimePlantData plant; - public float Damage => _damage.GetValue(); - - public bool isEating = false; - - public void Bite() - { - if (GetParent().AbleToEat) - { - plant?.TakeDamage(Damage, GetParent()); - AudioSequencer.Play("bite", biteSound); - } - - } - - public void OnAreaEntered(Area2D area) - { - var parent = area.GetParent(); - - if (parent != null && parent is RuntimePlantData plantData) - { - plant = plantData; - isEating = true; - - } - } - - public void OnAreaExited(Area2D area) - { - var parent = area.GetParent(); - - if (parent == plant) - { - plant = null; - isEating = false; - } - } -} diff --git a/scripts/entities/zombies/EatBox.cs.uid b/scripts/entities/zombies/EatBox.cs.uid deleted file mode 100644 index 6bf3c25..0000000 --- a/scripts/entities/zombies/EatBox.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dqyony6jxt2p0 diff --git a/scripts/entities/zombies/RuntimeZombieData.cs b/scripts/entities/zombies/RuntimeZombieData.cs deleted file mode 100644 index 63ae199..0000000 --- a/scripts/entities/zombies/RuntimeZombieData.cs +++ /dev/null @@ -1,115 +0,0 @@ -using Godot; - -namespace Newlon.Components.Zombies; - -public partial class RuntimeZombieData : Entity -{ - [Export] - private Armor _armor; - [Signal] public delegate void HPChangedMixedEventHandler(EntitySignalContext context); - public bool AbleToEat = true; - - public override void _Ready() - { - base._Ready(); - - OnHPChanged += HPChangedMixedInvokerSource; - LocalTimescale -= (float)GD.Randf() / 100.0f; - } - - public override void Heal(float amount, Node origin) - { - var context = new EntitySignalContext() - { - source = (Entity)origin, - target = this, - actionAmount = amount, - deltaHP = Mathf.Clamp(HP+amount,0,MaxHP-amount) - }; - - if (_armor != null) - { - HP += _armor.Heal(amount); - } - else - HP += amount; - EmitSignal(SignalName.OnHPChanged, amount, origin); - - if (HP > MaxHP) - { - HP = MaxHP; - } - } - public override void TakeDamage(float amount, Node origin) - { - var damage = amount; - if (_armor != null) - { - damage = _armor.RecieveDamage(amount); - } - - var context = new EntitySignalContext() - { - source = origin, - target = this, - actionAmount = amount - }; - if(damage > 0) - EmitSignal(SignalName.OnDamaged); - - if (HP - damage <= 0) - { - - var delta = -HP; - HP = 0; - EmitSignal(SignalName.OnHPChanged, context); - context.deltaHP = delta; - KillByDamage(); - } - else - { - HP -= damage; - context.deltaHP = -damage; - EmitSignal(SignalName.OnHPChanged, context); - } - } - public void HPChangedMixedInvokerSource(EntitySignalContext context) - { - EmitSignal(SignalName.HPChangedMixed, context); - } - public void HPChangedMixedInvoker(float delta) - { - - EmitSignal(SignalName.HPChangedMixed, new EntitySignalContext() - { - deltaHP = delta, - source = null, - target = this, - actionAmount = delta - }); - } - public float GetMaxHPMixed() - { - if (_armor != null) - return MaxHP + _armor.MaxHP; - return MaxHP; - } - public float GetHPMixed() - { - if (_armor != null) - return HP + _armor._hp; - return HP; - } - #region Death sequence - public override void KillByDamage() - { - if (Killed) return; - Killed = true; - AbleToEat = false; - ClearEffects(); - EmitSignal(SignalName.HasBeenKilled,this); - } - - - #endregion -} diff --git a/scripts/entities/zombies/RuntimeZombieData.cs.uid b/scripts/entities/zombies/RuntimeZombieData.cs.uid deleted file mode 100644 index a532fda..0000000 --- a/scripts/entities/zombies/RuntimeZombieData.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dildme6epx8l4 diff --git a/scripts/entities/zombies/ZombieKillHandler.cs b/scripts/entities/zombies/ZombieKillHandler.cs deleted file mode 100644 index a0c2351..0000000 --- a/scripts/entities/zombies/ZombieKillHandler.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Godot; -using Newlon.Components.Zombies; - -public partial class ZombieKillHandler : Node -{ - [Export] private AnimationTree _tree; - [Export] private CollisionShape2D _collider; - private void OnKilled(RuntimeZombieData who) - { - var tween = CreateTween(); - tween.TweenInterval(4.0); - tween.TweenCallback(Callable.From(() => - { - ((AnimationNodeStateMachinePlayback)_tree.Get("parameters/Tree/playback")).Travel("Death"); - _collider.Disabled = true; - })); - tween.TweenInterval(3.0); - tween.TweenProperty(who, "modulate",new Color(1, 1, 1, 0),1.0); - tween.TweenCallback(Callable.From(() => - { - who.Kill(); - })); - } -} diff --git a/scripts/entities/zombies/ZombieKillHandler.cs.uid b/scripts/entities/zombies/ZombieKillHandler.cs.uid deleted file mode 100644 index a47f9b0..0000000 --- a/scripts/entities/zombies/ZombieKillHandler.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dk32ln8c2574d diff --git a/scripts/entities/zombies/ZombieMover.cs b/scripts/entities/zombies/ZombieMover.cs deleted file mode 100644 index 6693d5f..0000000 --- a/scripts/entities/zombies/ZombieMover.cs +++ /dev/null @@ -1,45 +0,0 @@ -using Godot; - -namespace Newlon.Components.Zombies; - -public partial class ZombieMover : Node -{ - [Export] - private FloatModifiers _speed; - public float Speed => _speed.GetValue(); - [Export] - private float _speedControlMult; - private Node2D _zombie; - - public override void _Ready() - { - _zombie = GetParent(); - } - - public override void _PhysicsProcess(double delta) - { - _zombie.Position -= _zombie.Transform.X - * (float)delta - * FieldParams.TileWidth - * GetParent().LocalTimescale - * Speed - * _speedControlMult; - } - - public void SetSpeedFlat(float speed) - { - _speed.SetFlat(speed); - } - public void SetSpeedPercentage(float speed) - { - _speed.SetPercentage(speed); - } - public void SetSpeedMult(float speed) - { - _speed.SetMult(speed); - } - public void AddMult(float amount) - { - _speed.ChangeMult(amount); - } -} diff --git a/scripts/entities/zombies/ZombieMover.cs.uid b/scripts/entities/zombies/ZombieMover.cs.uid deleted file mode 100644 index 9ed6584..0000000 --- a/scripts/entities/zombies/ZombieMover.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://7hdj2k14lfe4 diff --git a/scripts/entities/zombies/behaviours/HoboBehaviour.cs b/scripts/entities/zombies/behaviours/HoboBehaviour.cs deleted file mode 100644 index 44ca487..0000000 --- a/scripts/entities/zombies/behaviours/HoboBehaviour.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Godot; - -namespace Newlon.Components.Zombies.Behaviours; - -public partial class HoboBehaviour : Node -{ - [Export] private EatBox _eatBox; - [Export] private AnimationTree _animationTree; - public bool isEating => _eatBox.isEating; - public bool canDestroyed = false; - public void Trashed() - { - canDestroyed = true; - ((AnimationNodeStateMachinePlayback)_animationTree.Get("parameters/Tree/playback")).Travel("Destroy"); - GetParent().LocalTimescale *= 3; - } -} diff --git a/scripts/entities/zombies/behaviours/HoboBehaviour.cs.uid b/scripts/entities/zombies/behaviours/HoboBehaviour.cs.uid deleted file mode 100644 index 2e1b8ab..0000000 --- a/scripts/entities/zombies/behaviours/HoboBehaviour.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://c5v2og85t7s6j diff --git a/scripts/gamepad/ExplosionVibration.cs b/scripts/gamepad/ExplosionVibration.cs deleted file mode 100644 index 39b2507..0000000 --- a/scripts/gamepad/ExplosionVibration.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Godot; -using System; - -public partial class ExplosionVibration : Node -{ - public override void _EnterTree() - { - Input.StartJoyVibration(GamepadHandler.Instance.CurrentDevice, 0, 1,0.25f); - } -} diff --git a/scripts/gamepad/ExplosionVibration.cs.uid b/scripts/gamepad/ExplosionVibration.cs.uid deleted file mode 100644 index 4baefc4..0000000 --- a/scripts/gamepad/ExplosionVibration.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://b8v8xrsyswmg4 diff --git a/scripts/gamepad/GamepadHandler.cs b/scripts/gamepad/GamepadHandler.cs deleted file mode 100644 index 9689029..0000000 --- a/scripts/gamepad/GamepadHandler.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Godot; -using Newlon; -using System; - -public partial class GamepadHandler : Node -{ - [Signal] public delegate void GamepadControlledEventHandler(bool isControlled); - public static GamepadHandler Instance { get; private set; } - public int CurrentDevice { get; private set; } = 0; - public bool IsGamepadControlled => controlled; - private bool controlled; - public override void _EnterTree() - { - Instance = this; - } - public override void _Input(InputEvent @event) - { - if (@event is InputEventJoypadButton || @event is InputEventJoypadMotion) - { - SetControlled(true); - } - else if (@event is InputEventMouseButton || @event is InputEventKey) - { - SetControlled(false); - } - } - private void SetControlled(bool to) - { - if (controlled == to) return; - controlled = to; - if (controlled) - { - Cursor.Mode = Cursor.CursorMode.Gamepad; - EmitSignal(SignalName.GamepadControlled, true); - } - else - { - Cursor.Mode = Cursor.CursorMode.Mouse; - EmitSignal(SignalName.GamepadControlled, false); - } - } - -} diff --git a/scripts/gamepad/GamepadHandler.cs.uid b/scripts/gamepad/GamepadHandler.cs.uid deleted file mode 100644 index 6de2a37..0000000 --- a/scripts/gamepad/GamepadHandler.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cyw4fh4x0fdjg diff --git a/scripts/gui/ExitButton.cs b/scripts/gui/ExitButton.cs deleted file mode 100644 index 8e25670..0000000 --- a/scripts/gui/ExitButton.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Godot; -using Newlon; - -public partial class ExitButton : Button -{ - public override void _Pressed() - { - LevelController.Instance.EndLevel(); - } -} diff --git a/scripts/gui/ExitButton.cs.uid b/scripts/gui/ExitButton.cs.uid deleted file mode 100644 index 1b08775..0000000 --- a/scripts/gui/ExitButton.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dpdpv2oyxdna7 diff --git a/scripts/gui/FastForwardButton.cs b/scripts/gui/FastForwardButton.cs deleted file mode 100644 index 1d2f4e0..0000000 --- a/scripts/gui/FastForwardButton.cs +++ /dev/null @@ -1,58 +0,0 @@ -using Godot; -using Newlon.Components.Level; - -namespace Newlon.Components.GUI; - -public partial class FastForwardButton : Button -{ - [Export] private Texture2D firstSpeed; - [Export] private Texture2D secondSpeed; - [Export] private Texture2D thirdSpeed; - - [Export] private AnimationPlayer flashAnimator; - - private int speed = 1; - - public override void _Ready() - { - RuntimeLevelData.Instance.OnLevelStateChanged += OnLevelStateChanged; - } - - private void OnLevelStateChanged(RuntimeLevelData.LevelStates state) - { - if (state == RuntimeLevelData.LevelStates.Game) return; - - speed = 1; - Update(); - } - - public void OnPressed() - { - if (RuntimeLevelData.Instance.GetLevelState() != RuntimeLevelData.LevelStates.Game) return; - - speed = Mathf.Wrap(speed + 1, 1, 4); - - flashAnimator.Play("flash"); - - Update(); - } - - private void Update() - { - switch (speed) - { - case 1: - Icon = firstSpeed; - break; - case 2: - Icon = secondSpeed; - break; - case 3: - Icon = thirdSpeed; - break; - } - - Engine.TimeScale = speed; - - } -} diff --git a/scripts/gui/FastForwardButton.cs.uid b/scripts/gui/FastForwardButton.cs.uid deleted file mode 100644 index ac44d85..0000000 --- a/scripts/gui/FastForwardButton.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cwn3bd2k7mdq6 diff --git a/scripts/gui/LevelButton.cs b/scripts/gui/LevelButton.cs deleted file mode 100644 index b93198d..0000000 --- a/scripts/gui/LevelButton.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Godot; -using System; - -namespace Newlon; - -// -// Button that contains level to load -// - -public partial class LevelButton : TextureButton -{ - [Export] private Script _levelScript; - [Export] private PackedScene _levelTileset; -} diff --git a/scripts/gui/LevelButton.cs.uid b/scripts/gui/LevelButton.cs.uid deleted file mode 100644 index fc3fe99..0000000 --- a/scripts/gui/LevelButton.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cn3q18jh2rej7 diff --git a/scripts/gui/LevelGUIElements.cs b/scripts/gui/LevelGUIElements.cs deleted file mode 100644 index 62e567d..0000000 --- a/scripts/gui/LevelGUIElements.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Godot; -using Newlon.Components.GUI; - -namespace Newlon.Components; - -public partial class LevelGUIElements : Control -{ - public static LevelGUIElements Instance; - - [Export] - public HBoxContainer SeedpacketsHotbar; - [Export] - public SunCounter SunCounter; - public override void _EnterTree() - { - Instance = this; - } - -} diff --git a/scripts/gui/LevelGUIElements.cs.uid b/scripts/gui/LevelGUIElements.cs.uid deleted file mode 100644 index 5bc1a3c..0000000 --- a/scripts/gui/LevelGUIElements.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cwa1eydeiy3y4 diff --git a/scripts/gui/PlantHotbarSize.cs b/scripts/gui/PlantHotbarSize.cs deleted file mode 100644 index d3ec72e..0000000 --- a/scripts/gui/PlantHotbarSize.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Godot; -using Newlon.Components.Level; -using Newlon; - -public partial class PlantHotbarSize : PanelContainer -{ - const int MARGIN = 4; - const int PACKET_WIDTH = 41; - const int MINIMUM_Y = 64; - public override void _Ready() - { - CustomMinimumSize = new Vector2(MARGIN * 2 + PACKET_WIDTH * PlayerProgress.Instance.MaxSeedpackets, MINIMUM_Y); - - RuntimeLevelData.Instance.OnLevelStateChanged += OnLevelStateChanged; - } - - public void OnLevelStateChanged(RuntimeLevelData.LevelStates state) - { - if (state != RuntimeLevelData.LevelStates.ChooseYourSeeds) - { - CustomMinimumSize = new Vector2(0, MINIMUM_Y); - } - } -} diff --git a/scripts/gui/PlantHotbarSize.cs.uid b/scripts/gui/PlantHotbarSize.cs.uid deleted file mode 100644 index d7986fa..0000000 --- a/scripts/gui/PlantHotbarSize.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bygqu13os20wi diff --git a/scripts/gui/PrototypeWindow.cs b/scripts/gui/PrototypeWindow.cs deleted file mode 100644 index 95d5e64..0000000 --- a/scripts/gui/PrototypeWindow.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Godot; -using Newlon; - -public partial class PrototypeWindow : AcceptDialog -{ - public override void _Ready() - { - if (Settings.Splash) return; - Settings.Splash = true; - PopupCentered(); - } -} diff --git a/scripts/gui/PrototypeWindow.cs.uid b/scripts/gui/PrototypeWindow.cs.uid deleted file mode 100644 index 3b3182a..0000000 --- a/scripts/gui/PrototypeWindow.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cghu4i3bnyavg diff --git a/scripts/gui/RestartButton.cs b/scripts/gui/RestartButton.cs deleted file mode 100644 index b90034e..0000000 --- a/scripts/gui/RestartButton.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Godot; -using Newlon; - -public partial class RestartButton : Button -{ - public override void _Pressed() - { - GetTree().Paused = false; - LevelController.Instance.RestartLevel(); - } - -} diff --git a/scripts/gui/RestartButton.cs.uid b/scripts/gui/RestartButton.cs.uid deleted file mode 100644 index 062cc44..0000000 --- a/scripts/gui/RestartButton.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://btqwxelqxheh3 diff --git a/scripts/gui/RewardScene.cs b/scripts/gui/RewardScene.cs deleted file mode 100644 index d6856a5..0000000 --- a/scripts/gui/RewardScene.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Godot; -using Newlon; -using Newlon.Components; -using Newlon.Resources; - -public partial class RewardScene : Node -{ - public override void _Ready() - { - var reward = LevelController.Instance.Reward; - var subviewport = GetNode("%SubViewport"); - var nameLabel = GetNode