Win and loose conditions
This commit is contained in:
parent
804122a3bd
commit
b551c7f012
15 changed files with 193 additions and 122 deletions
|
|
@ -4,7 +4,7 @@ using Godot;
|
||||||
[Tool]
|
[Tool]
|
||||||
public partial class ZE_AssetBrowser : HBoxContainer
|
public partial class ZE_AssetBrowser : HBoxContainer
|
||||||
{
|
{
|
||||||
const string ZOMBIE_PATH = "res://resources/zombies/";
|
const string ZOMBIE_PATH = "res://assets/zombies/";
|
||||||
private PackedScene scene = ResourceLoader.Load<PackedScene>("uid://iwnklc62rni8");
|
private PackedScene scene = ResourceLoader.Load<PackedScene>("uid://iwnklc62rni8");
|
||||||
public override void _Ready()
|
public override void _Ready()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,123 +1,124 @@
|
||||||
[gd_resource type="Resource" script_class="AdventureLevelResource" load_steps=29 format=3 uid="uid://ctbue7dex4umy"]
|
[gd_resource type="Resource" script_class="AdventureLevelResource" load_steps=30 format=3 uid="uid://ctbue7dex4umy"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://bximdujbkj2n4" path="res://addons/pvzadventure/AdventureLevelResource.cs" id="1_46lr8"]
|
[ext_resource type="Script" uid="uid://bximdujbkj2n4" path="res://addons/pvzadventure/AdventureLevelResource.cs" id="1_46lr8"]
|
||||||
[ext_resource type="Script" uid="uid://cw7yc3i2lgcja" path="res://addons/pvzadventure/WaveEvent.cs" id="2_otfbt"]
|
[ext_resource type="Script" uid="uid://cw7yc3i2lgcja" path="res://addons/pvzadventure/WaveEvent.cs" id="2_otfbt"]
|
||||||
[ext_resource type="Script" uid="uid://7rptlb5qr3b6" path="res://addons/pvzadventure/WaveData.cs" id="3_cugtx"]
|
[ext_resource type="Script" uid="uid://7rptlb5qr3b6" path="res://addons/pvzadventure/WaveData.cs" id="3_cugtx"]
|
||||||
[ext_resource type="Script" uid="uid://dl12rj75tk2qi" path="res://addons/pvzadventure/RowSpawn.cs" id="4_y1e37"]
|
[ext_resource type="Script" uid="uid://dl12rj75tk2qi" path="res://addons/pvzadventure/RowSpawn.cs" id="4_y1e37"]
|
||||||
|
[ext_resource type="Script" uid="uid://cqxj7o8hdm82n" path="res://scripts/resources/ZombieResource.cs" id="5_uatri"]
|
||||||
[ext_resource type="Resource" uid="uid://buvacn56kyy2p" path="res://assets/zombies/basic.tres" id="6_qsvr4"]
|
[ext_resource type="Resource" uid="uid://buvacn56kyy2p" path="res://assets/zombies/basic.tres" id="6_qsvr4"]
|
||||||
[ext_resource type="Resource" uid="uid://nceohd32fkxk" path="res://assets/zombies/conehead.tres" id="7_qsvr4"]
|
[ext_resource type="Resource" uid="uid://nceohd32fkxk" path="res://assets/zombies/conehead.tres" id="7_qsvr4"]
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_5e1dl"]
|
[sub_resource type="Resource" id="Resource_5e1dl"]
|
||||||
script = ExtResource("4_y1e37")
|
script = ExtResource("4_y1e37")
|
||||||
zombies = [null, null, null, ExtResource("6_qsvr4"), null]
|
zombies = Array[ExtResource("5_uatri")]([null, null, null, ExtResource("6_qsvr4"), null])
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_qsvr4"]
|
[sub_resource type="Resource" id="Resource_qsvr4"]
|
||||||
script = ExtResource("3_cugtx")
|
script = ExtResource("3_cugtx")
|
||||||
zombiesOrdered = [SubResource("Resource_5e1dl")]
|
zombiesOrdered = Array[ExtResource("4_y1e37")]([SubResource("Resource_5e1dl")])
|
||||||
events = Array[ExtResource("2_otfbt")]([])
|
events = Array[ExtResource("2_otfbt")]([])
|
||||||
customWaveDelay = 0.0
|
customWaveDelay = 0.0
|
||||||
isHugeWave = false
|
isHugeWave = false
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_y1e37"]
|
[sub_resource type="Resource" id="Resource_y1e37"]
|
||||||
script = ExtResource("4_y1e37")
|
script = ExtResource("4_y1e37")
|
||||||
zombies = [null, ExtResource("6_qsvr4"), null, null, null]
|
zombies = Array[ExtResource("5_uatri")]([null, ExtResource("6_qsvr4"), null, null, null])
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_otfbt"]
|
[sub_resource type="Resource" id="Resource_otfbt"]
|
||||||
script = ExtResource("3_cugtx")
|
script = ExtResource("3_cugtx")
|
||||||
zombiesOrdered = [SubResource("Resource_y1e37")]
|
zombiesOrdered = Array[ExtResource("4_y1e37")]([SubResource("Resource_y1e37")])
|
||||||
events = Array[ExtResource("2_otfbt")]([])
|
events = Array[ExtResource("2_otfbt")]([])
|
||||||
customWaveDelay = 0.0
|
customWaveDelay = 0.0
|
||||||
isHugeWave = false
|
isHugeWave = false
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_ciic2"]
|
[sub_resource type="Resource" id="Resource_ciic2"]
|
||||||
script = ExtResource("4_y1e37")
|
script = ExtResource("4_y1e37")
|
||||||
zombies = [ExtResource("6_qsvr4"), null, null, ExtResource("6_qsvr4"), null]
|
zombies = Array[ExtResource("5_uatri")]([ExtResource("6_qsvr4"), null, null, ExtResource("6_qsvr4"), null])
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_nv3y4"]
|
[sub_resource type="Resource" id="Resource_nv3y4"]
|
||||||
script = ExtResource("3_cugtx")
|
script = ExtResource("3_cugtx")
|
||||||
zombiesOrdered = [SubResource("Resource_ciic2")]
|
zombiesOrdered = Array[ExtResource("4_y1e37")]([SubResource("Resource_ciic2")])
|
||||||
events = Array[ExtResource("2_otfbt")]([])
|
events = Array[ExtResource("2_otfbt")]([])
|
||||||
customWaveDelay = 0.0
|
customWaveDelay = 0.0
|
||||||
isHugeWave = false
|
isHugeWave = false
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_1ut7p"]
|
[sub_resource type="Resource" id="Resource_1ut7p"]
|
||||||
script = ExtResource("4_y1e37")
|
script = ExtResource("4_y1e37")
|
||||||
zombies = [null, null, ExtResource("7_qsvr4"), null, null]
|
zombies = Array[ExtResource("5_uatri")]([null, null, ExtResource("7_qsvr4"), null, null])
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_mt5r8"]
|
[sub_resource type="Resource" id="Resource_mt5r8"]
|
||||||
script = ExtResource("3_cugtx")
|
script = ExtResource("3_cugtx")
|
||||||
zombiesOrdered = [SubResource("Resource_1ut7p")]
|
zombiesOrdered = Array[ExtResource("4_y1e37")]([SubResource("Resource_1ut7p")])
|
||||||
events = Array[ExtResource("2_otfbt")]([])
|
events = Array[ExtResource("2_otfbt")]([])
|
||||||
customWaveDelay = 0.0
|
customWaveDelay = 0.0
|
||||||
isHugeWave = false
|
isHugeWave = false
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_he3sm"]
|
[sub_resource type="Resource" id="Resource_he3sm"]
|
||||||
script = ExtResource("4_y1e37")
|
script = ExtResource("4_y1e37")
|
||||||
zombies = [ExtResource("6_qsvr4"), ExtResource("6_qsvr4"), ExtResource("6_qsvr4"), null, null]
|
zombies = Array[ExtResource("5_uatri")]([ExtResource("6_qsvr4"), ExtResource("6_qsvr4"), ExtResource("6_qsvr4"), null, null])
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_kugcf"]
|
[sub_resource type="Resource" id="Resource_kugcf"]
|
||||||
script = ExtResource("3_cugtx")
|
script = ExtResource("3_cugtx")
|
||||||
zombiesOrdered = [SubResource("Resource_he3sm")]
|
zombiesOrdered = Array[ExtResource("4_y1e37")]([SubResource("Resource_he3sm")])
|
||||||
events = Array[ExtResource("2_otfbt")]([])
|
events = Array[ExtResource("2_otfbt")]([])
|
||||||
customWaveDelay = 0.0
|
customWaveDelay = 0.0
|
||||||
isHugeWave = false
|
isHugeWave = false
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_sadu8"]
|
[sub_resource type="Resource" id="Resource_sadu8"]
|
||||||
script = ExtResource("4_y1e37")
|
script = ExtResource("4_y1e37")
|
||||||
zombies = [null, ExtResource("6_qsvr4"), ExtResource("6_qsvr4"), null, ExtResource("6_qsvr4")]
|
zombies = Array[ExtResource("5_uatri")]([null, ExtResource("6_qsvr4"), ExtResource("6_qsvr4"), null, ExtResource("6_qsvr4")])
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_p5aki"]
|
[sub_resource type="Resource" id="Resource_p5aki"]
|
||||||
script = ExtResource("4_y1e37")
|
script = ExtResource("4_y1e37")
|
||||||
zombies = [null, null, ExtResource("7_qsvr4"), null, null]
|
zombies = Array[ExtResource("5_uatri")]([null, null, ExtResource("7_qsvr4"), null, null])
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_oyvhx"]
|
[sub_resource type="Resource" id="Resource_oyvhx"]
|
||||||
script = ExtResource("3_cugtx")
|
script = ExtResource("3_cugtx")
|
||||||
zombiesOrdered = [SubResource("Resource_sadu8"), SubResource("Resource_p5aki")]
|
zombiesOrdered = Array[ExtResource("4_y1e37")]([SubResource("Resource_sadu8"), SubResource("Resource_p5aki")])
|
||||||
events = Array[ExtResource("2_otfbt")]([])
|
events = Array[ExtResource("2_otfbt")]([])
|
||||||
customWaveDelay = 0.0
|
customWaveDelay = 0.0
|
||||||
isHugeWave = false
|
isHugeWave = false
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_vikxa"]
|
[sub_resource type="Resource" id="Resource_vikxa"]
|
||||||
script = ExtResource("4_y1e37")
|
script = ExtResource("4_y1e37")
|
||||||
zombies = [ExtResource("7_qsvr4"), null, null, null, ExtResource("7_qsvr4")]
|
zombies = Array[ExtResource("5_uatri")]([ExtResource("7_qsvr4"), null, null, null, ExtResource("7_qsvr4")])
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_k4k25"]
|
[sub_resource type="Resource" id="Resource_k4k25"]
|
||||||
script = ExtResource("3_cugtx")
|
script = ExtResource("3_cugtx")
|
||||||
zombiesOrdered = [SubResource("Resource_vikxa")]
|
zombiesOrdered = Array[ExtResource("4_y1e37")]([SubResource("Resource_vikxa")])
|
||||||
events = Array[ExtResource("2_otfbt")]([])
|
events = Array[ExtResource("2_otfbt")]([])
|
||||||
customWaveDelay = 0.0
|
customWaveDelay = 0.0
|
||||||
isHugeWave = false
|
isHugeWave = false
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_gp8ns"]
|
[sub_resource type="Resource" id="Resource_gp8ns"]
|
||||||
script = ExtResource("4_y1e37")
|
script = ExtResource("4_y1e37")
|
||||||
zombies = [null, null, ExtResource("7_qsvr4"), ExtResource("7_qsvr4"), null]
|
zombies = Array[ExtResource("5_uatri")]([null, null, ExtResource("7_qsvr4"), ExtResource("7_qsvr4"), null])
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_ki4sn"]
|
[sub_resource type="Resource" id="Resource_ki4sn"]
|
||||||
script = ExtResource("4_y1e37")
|
script = ExtResource("4_y1e37")
|
||||||
zombies = [null, ExtResource("6_qsvr4"), ExtResource("6_qsvr4"), null, ExtResource("6_qsvr4")]
|
zombies = Array[ExtResource("5_uatri")]([null, ExtResource("6_qsvr4"), ExtResource("6_qsvr4"), null, ExtResource("6_qsvr4")])
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_oxbea"]
|
[sub_resource type="Resource" id="Resource_oxbea"]
|
||||||
script = ExtResource("3_cugtx")
|
script = ExtResource("3_cugtx")
|
||||||
zombiesOrdered = [SubResource("Resource_gp8ns"), SubResource("Resource_ki4sn")]
|
zombiesOrdered = Array[ExtResource("4_y1e37")]([SubResource("Resource_gp8ns"), SubResource("Resource_ki4sn")])
|
||||||
events = Array[ExtResource("2_otfbt")]([])
|
events = Array[ExtResource("2_otfbt")]([])
|
||||||
customWaveDelay = 0.0
|
customWaveDelay = 0.0
|
||||||
isHugeWave = false
|
isHugeWave = false
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_2irq2"]
|
[sub_resource type="Resource" id="Resource_2irq2"]
|
||||||
script = ExtResource("4_y1e37")
|
script = ExtResource("4_y1e37")
|
||||||
zombies = [ExtResource("6_qsvr4"), null, ExtResource("6_qsvr4"), ExtResource("6_qsvr4"), null]
|
zombies = Array[ExtResource("5_uatri")]([ExtResource("6_qsvr4"), null, ExtResource("6_qsvr4"), ExtResource("6_qsvr4"), null])
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_ipu8d"]
|
[sub_resource type="Resource" id="Resource_ipu8d"]
|
||||||
script = ExtResource("4_y1e37")
|
script = ExtResource("4_y1e37")
|
||||||
zombies = [null, ExtResource("6_qsvr4"), ExtResource("6_qsvr4"), null, ExtResource("6_qsvr4")]
|
zombies = Array[ExtResource("5_uatri")]([null, ExtResource("6_qsvr4"), ExtResource("6_qsvr4"), null, ExtResource("6_qsvr4")])
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_vu1ng"]
|
[sub_resource type="Resource" id="Resource_vu1ng"]
|
||||||
script = ExtResource("4_y1e37")
|
script = ExtResource("4_y1e37")
|
||||||
zombies = [null, ExtResource("7_qsvr4"), ExtResource("7_qsvr4"), ExtResource("7_qsvr4"), null]
|
zombies = Array[ExtResource("5_uatri")]([null, ExtResource("7_qsvr4"), ExtResource("7_qsvr4"), ExtResource("7_qsvr4"), null])
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_5cdj6"]
|
[sub_resource type="Resource" id="Resource_5cdj6"]
|
||||||
script = ExtResource("3_cugtx")
|
script = ExtResource("3_cugtx")
|
||||||
zombiesOrdered = [SubResource("Resource_2irq2"), SubResource("Resource_ipu8d"), SubResource("Resource_vu1ng")]
|
zombiesOrdered = Array[ExtResource("4_y1e37")]([SubResource("Resource_2irq2"), SubResource("Resource_ipu8d"), SubResource("Resource_vu1ng")])
|
||||||
events = Array[ExtResource("2_otfbt")]([])
|
events = Array[ExtResource("2_otfbt")]([])
|
||||||
customWaveDelay = 20.0
|
customWaveDelay = 20.0
|
||||||
isHugeWave = true
|
isHugeWave = true
|
||||||
|
|
@ -126,7 +127,7 @@ isHugeWave = true
|
||||||
script = ExtResource("1_46lr8")
|
script = ExtResource("1_46lr8")
|
||||||
startSun = 50
|
startSun = 50
|
||||||
wavePercentage = 0.5
|
wavePercentage = 0.5
|
||||||
standardWaveDelay = 15.0
|
standardWaveDelay = 30.0
|
||||||
initialWaveDelay = 20.0
|
initialWaveDelay = 20.0
|
||||||
waves = [SubResource("Resource_qsvr4"), SubResource("Resource_otfbt"), SubResource("Resource_nv3y4"), SubResource("Resource_mt5r8"), SubResource("Resource_kugcf"), SubResource("Resource_oyvhx"), SubResource("Resource_k4k25"), SubResource("Resource_oxbea"), SubResource("Resource_5cdj6")]
|
waves = [SubResource("Resource_qsvr4"), SubResource("Resource_otfbt"), SubResource("Resource_nv3y4"), SubResource("Resource_mt5r8"), SubResource("Resource_kugcf"), SubResource("Resource_oyvhx"), SubResource("Resource_k4k25"), SubResource("Resource_oxbea"), SubResource("Resource_5cdj6")]
|
||||||
initialScenes = Array[PackedScene]([null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null])
|
initialScenes = Array[PackedScene]([null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null])
|
||||||
|
|
|
||||||
40
assets/levels/win_test.tres
Normal file
40
assets/levels/win_test.tres
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
[gd_resource type="Resource" script_class="AdventureLevelResource" load_steps=12 format=3 uid="uid://ds2js2vylygvy"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://bximdujbkj2n4" path="res://addons/pvzadventure/AdventureLevelResource.cs" id="1_gpqmh"]
|
||||||
|
[ext_resource type="Script" uid="uid://cw7yc3i2lgcja" path="res://addons/pvzadventure/WaveEvent.cs" id="2_pkoaj"]
|
||||||
|
[ext_resource type="Script" uid="uid://7rptlb5qr3b6" path="res://addons/pvzadventure/WaveData.cs" id="3_mtsmf"]
|
||||||
|
[ext_resource type="Script" uid="uid://dl12rj75tk2qi" path="res://addons/pvzadventure/RowSpawn.cs" id="4_tpjav"]
|
||||||
|
[ext_resource type="Script" uid="uid://cqxj7o8hdm82n" path="res://scripts/resources/ZombieResource.cs" id="5_tpjav"]
|
||||||
|
[ext_resource type="Resource" uid="uid://buvacn56kyy2p" path="res://assets/zombies/basic.tres" id="6_swlbc"]
|
||||||
|
[ext_resource type="Resource" uid="uid://nceohd32fkxk" path="res://assets/zombies/conehead.tres" id="7_swlbc"]
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_sw8bw"]
|
||||||
|
script = ExtResource("4_tpjav")
|
||||||
|
zombies = Array[ExtResource("5_tpjav")]([null, null, ExtResource("6_swlbc"), null, null])
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_swlbc"]
|
||||||
|
script = ExtResource("3_mtsmf")
|
||||||
|
zombiesOrdered = Array[ExtResource("4_tpjav")]([SubResource("Resource_sw8bw")])
|
||||||
|
events = Array[ExtResource("2_pkoaj")]([])
|
||||||
|
customWaveDelay = 0.0
|
||||||
|
isHugeWave = false
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_5gmed"]
|
||||||
|
script = ExtResource("4_tpjav")
|
||||||
|
zombies = Array[ExtResource("5_tpjav")]([null, null, ExtResource("7_swlbc"), null, null])
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_pkoaj"]
|
||||||
|
script = ExtResource("3_mtsmf")
|
||||||
|
zombiesOrdered = Array[ExtResource("4_tpjav")]([SubResource("Resource_5gmed")])
|
||||||
|
events = Array[ExtResource("2_pkoaj")]([])
|
||||||
|
customWaveDelay = 0.0
|
||||||
|
isHugeWave = false
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_gpqmh")
|
||||||
|
startSun = 50
|
||||||
|
wavePercentage = 0.0
|
||||||
|
standardWaveDelay = 20.0
|
||||||
|
initialWaveDelay = 10.0
|
||||||
|
waves = [SubResource("Resource_swlbc"), SubResource("Resource_pkoaj")]
|
||||||
|
initialScenes = Array[PackedScene]([null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null])
|
||||||
|
|
@ -41,41 +41,41 @@ _armor = NodePath("Armor")
|
||||||
material = SubResource("ShaderMaterial_sat5k")
|
material = SubResource("ShaderMaterial_sat5k")
|
||||||
|
|
||||||
[node name="RightUpperLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="1"]
|
[node name="RightUpperLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="1"]
|
||||||
scale = Vector2(0.999833, 0.999833)
|
scale = Vector2(0.999832, 0.999832)
|
||||||
|
|
||||||
[node name="RightLowerLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg" index="1"]
|
[node name="RightLowerLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg" index="1"]
|
||||||
scale = Vector2(0.999834, 0.999834)
|
scale = Vector2(0.999839, 0.999839)
|
||||||
|
|
||||||
[node name="RightFoot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg" index="0"]
|
[node name="RightFoot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg" index="0"]
|
||||||
scale = Vector2(0.999834, 0.999834)
|
scale = Vector2(0.999833, 0.999833)
|
||||||
|
|
||||||
[node name="LeftUpperLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="2"]
|
[node name="LeftUpperLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="2"]
|
||||||
scale = Vector2(0.999834, 0.999834)
|
scale = Vector2(0.999836, 0.999836)
|
||||||
|
|
||||||
[node name="LeftLowerLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg" index="1"]
|
[node name="LeftLowerLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg" index="1"]
|
||||||
scale = Vector2(0.999834, 0.999834)
|
scale = Vector2(0.999833, 0.999833)
|
||||||
|
|
||||||
[node name="LeftFoot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg" index="1"]
|
[node name="LeftFoot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg" index="1"]
|
||||||
scale = Vector2(0.999829, 0.999829)
|
scale = Vector2(0.999823, 0.999823)
|
||||||
|
|
||||||
[node name="Body" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="3"]
|
[node name="Body" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="3"]
|
||||||
scale = Vector2(0.999829, 0.999829)
|
scale = Vector2(0.999828, 0.999828)
|
||||||
|
|
||||||
[node name="RightUpperArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="0"]
|
[node name="RightUpperArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="0"]
|
||||||
scale = Vector2(0.999829, 0.999829)
|
|
||||||
|
|
||||||
[node name="RightLowerArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm" index="1"]
|
|
||||||
scale = Vector2(0.999827, 0.999827)
|
scale = Vector2(0.999827, 0.999827)
|
||||||
|
|
||||||
[node name="RightHand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm" index="0"]
|
[node name="RightLowerArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm" index="1"]
|
||||||
scale = Vector2(0.999829, 0.999829)
|
scale = Vector2(0.999829, 0.999829)
|
||||||
|
|
||||||
|
[node name="RightHand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm" index="0"]
|
||||||
|
scale = Vector2(0.999832, 0.999832)
|
||||||
|
|
||||||
[node name="Tie" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="2"]
|
[node name="Tie" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="2"]
|
||||||
rotation = -0.0303385
|
rotation = 0.13159
|
||||||
skew = -0.000100613
|
skew = -0.000126362
|
||||||
|
|
||||||
[node name="Head" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="3"]
|
[node name="Head" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="3"]
|
||||||
scale = Vector2(0.999828, 0.999828)
|
scale = Vector2(0.99983, 0.99983)
|
||||||
|
|
||||||
[node name="Right_Eye" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="0"]
|
[node name="Right_Eye" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="0"]
|
||||||
position = Vector2(-16, -8)
|
position = Vector2(-16, -8)
|
||||||
|
|
@ -86,16 +86,15 @@ position = Vector2(-4, -9)
|
||||||
scale = Vector2(1, 1)
|
scale = Vector2(1, 1)
|
||||||
|
|
||||||
[node name="Jaw" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="2"]
|
[node name="Jaw" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="2"]
|
||||||
position = Vector2(-2.96232, 2.90907)
|
position = Vector2(-2.93758, 2.84233)
|
||||||
rotation = -0.0211916
|
rotation = 0.0189273
|
||||||
scale = Vector2(0.999829, 0.999829)
|
scale = Vector2(0.999823, 0.999823)
|
||||||
|
|
||||||
[node name="Jaw" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head" index="1"]
|
[node name="Jaw" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head" index="1"]
|
||||||
scale = Vector2(0.999829, 0.999829)
|
scale = Vector2(0.999824, 0.999824)
|
||||||
|
|
||||||
[node name="Hat" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head" index="4" node_paths=PackedStringArray("data")]
|
[node name="Hat" type="RigidBody2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head" index="4" node_paths=PackedStringArray("data")]
|
||||||
position = Vector2(-2.5, -13.5)
|
position = Vector2(-2.5, -13.5)
|
||||||
scale = Vector2(1.00086, 1.00086)
|
|
||||||
collision_layer = 128
|
collision_layer = 128
|
||||||
collision_mask = 64
|
collision_mask = 64
|
||||||
mass = 0.5
|
mass = 0.5
|
||||||
|
|
@ -121,29 +120,29 @@ position = Vector2(1, -6)
|
||||||
shape = SubResource("CircleShape2D_67t4t")
|
shape = SubResource("CircleShape2D_67t4t")
|
||||||
|
|
||||||
[node name="LeftUpperArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="4"]
|
[node name="LeftUpperArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="4"]
|
||||||
scale = Vector2(0.999827, 0.999827)
|
scale = Vector2(0.999828, 0.999828)
|
||||||
|
|
||||||
[node name="Left_Lower_Arm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile" index="0"]
|
[node name="Left_Lower_Arm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile" index="0"]
|
||||||
rotation = -0.0321562
|
rotation = 0.151384
|
||||||
scale = Vector2(1, 1)
|
scale = Vector2(0.999994, 0.999994)
|
||||||
|
|
||||||
[node name="Left_Hand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm" index="0"]
|
[node name="Left_Hand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm" index="0"]
|
||||||
position = Vector2(-0.99983, 12.9978)
|
position = Vector2(-0.99983, 12.9978)
|
||||||
rotation = -0.0265063
|
rotation = -0.08093
|
||||||
scale = Vector2(0.999658, 0.999658)
|
scale = Vector2(0.999659, 0.999659)
|
||||||
|
|
||||||
[node name="LeftLowerArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm" index="2"]
|
[node name="LeftLowerArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm" index="2"]
|
||||||
scale = Vector2(0.999831, 0.999831)
|
scale = Vector2(0.999824, 0.999824)
|
||||||
|
|
||||||
[node name="LeftHand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm" index="0"]
|
[node name="LeftHand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm" index="0"]
|
||||||
scale = Vector2(0.999828, 0.999828)
|
scale = Vector2(0.999829, 0.999829)
|
||||||
|
|
||||||
[node name="Eatbox" parent="." index="2"]
|
[node name="Eatbox" parent="." index="2"]
|
||||||
_damage = SubResource("Resource_011r0")
|
_damage = SubResource("Resource_011r0")
|
||||||
|
|
||||||
[node name="Mover" parent="." index="4"]
|
[node name="Mover" parent="." index="4"]
|
||||||
_speed = SubResource("Resource_b6mal")
|
_speed = SubResource("Resource_b6mal")
|
||||||
_speedControlMult = 0.0
|
_speedControlMult = 1.73312
|
||||||
|
|
||||||
[node name="HitPlayer" parent="." index="5"]
|
[node name="HitPlayer" parent="." index="5"]
|
||||||
playlist = Array[AudioStream]([ExtResource("7_0amn8"), ExtResource("7_67t4t")])
|
playlist = Array[AudioStream]([ExtResource("7_0amn8"), ExtResource("7_67t4t")])
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
[gd_scene load_steps=64 format=3 uid="uid://bgqmwsb6ynm81"]
|
[gd_scene load_steps=63 format=3 uid="uid://bgqmwsb6ynm81"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://co11v3w8hbwgf" path="res://scenes/entities/Zombies/zombie.tscn" id="1_fnu7s"]
|
[ext_resource type="PackedScene" uid="uid://co11v3w8hbwgf" path="res://scenes/entities/Zombies/zombie.tscn" id="1_fnu7s"]
|
||||||
[ext_resource type="Shader" uid="uid://d0eo5uuj222c4" path="res://assets/shaders/CG_color_blender.gdshader" id="2_6qr4h"]
|
[ext_resource type="Shader" uid="uid://d0eo5uuj222c4" path="res://assets/shaders/CG_color_blender.gdshader" id="2_6qr4h"]
|
||||||
[ext_resource type="Script" uid="uid://bcc7skl7ts6sh" path="res://scripts/systems/effects/Effect.cs" id="2_vn3j1"]
|
|
||||||
[ext_resource type="Resource" uid="uid://dsg1vjx76ifgu" path="res://assets/effects/GarlicEffect.tres" id="3_b583s"]
|
[ext_resource type="Resource" uid="uid://dsg1vjx76ifgu" path="res://assets/effects/GarlicEffect.tres" id="3_b583s"]
|
||||||
[ext_resource type="Script" uid="uid://dt5uj25u0g6y3" path="res://scripts/particles/FallParticle.cs" id="3_tu6af"]
|
[ext_resource type="Script" uid="uid://dt5uj25u0g6y3" path="res://scripts/particles/FallParticle.cs" id="3_tu6af"]
|
||||||
[ext_resource type="Script" uid="uid://c5v2og85t7s6j" path="res://scripts/entities/zombies/behaviours/HoboBehaviour.cs" id="4_5selg"]
|
[ext_resource type="Script" uid="uid://c5v2og85t7s6j" path="res://scripts/entities/zombies/behaviours/HoboBehaviour.cs" id="4_5selg"]
|
||||||
|
|
@ -757,7 +756,7 @@ mult_value = 1.0
|
||||||
[node name="Hobo" node_paths=PackedStringArray("_armor") instance=ExtResource("1_fnu7s")]
|
[node name="Hobo" node_paths=PackedStringArray("_armor") instance=ExtResource("1_fnu7s")]
|
||||||
_armor = NodePath("CanArmor")
|
_armor = NodePath("CanArmor")
|
||||||
MaxHP = 130.0
|
MaxHP = 130.0
|
||||||
_effectImmunities = Array[ExtResource("2_vn3j1")]([ExtResource("3_b583s")])
|
_effectImmunities = [ExtResource("3_b583s")]
|
||||||
|
|
||||||
[node name="CanvasGroup" parent="." index="0"]
|
[node name="CanvasGroup" parent="." index="0"]
|
||||||
material = SubResource("ShaderMaterial_w8pya")
|
material = SubResource("ShaderMaterial_w8pya")
|
||||||
|
|
@ -804,9 +803,6 @@ scale = Vector2(0.999816, 0.999816)
|
||||||
[node name="Left_Foot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot" index="0"]
|
[node name="Left_Foot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot" index="0"]
|
||||||
texture = SubResource("AtlasTexture_8y6c0")
|
texture = SubResource("AtlasTexture_8y6c0")
|
||||||
|
|
||||||
[node name="Body" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="3"]
|
|
||||||
scale = Vector2(0.999826, 0.999826)
|
|
||||||
|
|
||||||
[node name="RightUpperArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="0"]
|
[node name="RightUpperArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="0"]
|
||||||
scale = Vector2(0.999829, 0.999829)
|
scale = Vector2(0.999829, 0.999829)
|
||||||
|
|
||||||
|
|
@ -867,14 +863,6 @@ scale = Vector2(0.999827, 0.999827)
|
||||||
[node name="Head" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle" index="0"]
|
[node name="Head" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle" index="0"]
|
||||||
texture = SubResource("AtlasTexture_pjhfy")
|
texture = SubResource("AtlasTexture_pjhfy")
|
||||||
|
|
||||||
[node name="Right_Eye" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="0"]
|
|
||||||
position = Vector2(-16, -8)
|
|
||||||
scale = Vector2(1, 1)
|
|
||||||
|
|
||||||
[node name="Left_Eye" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="1"]
|
|
||||||
position = Vector2(-4, -9)
|
|
||||||
scale = Vector2(1, 1)
|
|
||||||
|
|
||||||
[node name="Jaw" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="2"]
|
[node name="Jaw" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="2"]
|
||||||
position = Vector2(-3, 3)
|
position = Vector2(-3, 3)
|
||||||
rotation = -0.082875
|
rotation = -0.082875
|
||||||
|
|
@ -894,7 +882,6 @@ data = NodePath("../../../../../../../../..")
|
||||||
[node name="Trashcan_lid" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head/TrashcanLid" index="0"]
|
[node name="Trashcan_lid" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head/TrashcanLid" index="0"]
|
||||||
z_index = -1
|
z_index = -1
|
||||||
position = Vector2(2.99822, -20.0166)
|
position = Vector2(2.99822, -20.0166)
|
||||||
scale = Vector2(1, 1)
|
|
||||||
texture = SubResource("AtlasTexture_n380g")
|
texture = SubResource("AtlasTexture_n380g")
|
||||||
offset = Vector2(-0.5, -0.5)
|
offset = Vector2(-0.5, -0.5)
|
||||||
metadata/_edit_lock_ = true
|
metadata/_edit_lock_ = true
|
||||||
|
|
@ -935,7 +922,6 @@ scale = Vector2(0.999997, 0.999997)
|
||||||
texture = SubResource("AtlasTexture_auxav")
|
texture = SubResource("AtlasTexture_auxav")
|
||||||
|
|
||||||
[node name="Left_Hand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm" index="0"]
|
[node name="Left_Hand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm" index="0"]
|
||||||
position = Vector2(-0.99983, 12.9978)
|
|
||||||
rotation = -3.72659e-09
|
rotation = -3.72659e-09
|
||||||
scale = Vector2(0.999652, 0.999652)
|
scale = Vector2(0.999652, 0.999652)
|
||||||
texture = SubResource("AtlasTexture_dntsa")
|
texture = SubResource("AtlasTexture_dntsa")
|
||||||
|
|
|
||||||
|
|
@ -821,7 +821,7 @@ metadata/_edit_lock_ = true
|
||||||
[node name="RightUpperLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"]
|
[node name="RightUpperLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"]
|
||||||
use_parent_material = true
|
use_parent_material = true
|
||||||
position = Vector2(-6, 3)
|
position = Vector2(-6, 3)
|
||||||
scale = Vector2(0.999832, 0.999832)
|
scale = Vector2(0.999834, 0.999834)
|
||||||
rest = Transform2D(1, 0, 0, 1, -6, 3)
|
rest = Transform2D(1, 0, 0, 1, -6, 3)
|
||||||
editor_settings/show_bone_gizmo = false
|
editor_settings/show_bone_gizmo = false
|
||||||
|
|
||||||
|
|
@ -833,13 +833,13 @@ metadata/_edit_lock_ = true
|
||||||
|
|
||||||
[node name="RightLowerLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg"]
|
[node name="RightLowerLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg"]
|
||||||
position = Vector2(-2, 12)
|
position = Vector2(-2, 12)
|
||||||
scale = Vector2(0.999835, 0.999835)
|
scale = Vector2(0.999832, 0.999832)
|
||||||
rest = Transform2D(1, 0, 0, 1, -2, 12)
|
rest = Transform2D(1, 0, 0, 1, -2, 12)
|
||||||
editor_settings/show_bone_gizmo = false
|
editor_settings/show_bone_gizmo = false
|
||||||
|
|
||||||
[node name="RightFoot" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg"]
|
[node name="RightFoot" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg"]
|
||||||
position = Vector2(-2, 14)
|
position = Vector2(-2, 14)
|
||||||
scale = Vector2(0.999831, 0.999831)
|
scale = Vector2(0.999832, 0.999832)
|
||||||
rest = Transform2D(1, 0, 0, 1, -2, 14)
|
rest = Transform2D(1, 0, 0, 1, -2, 14)
|
||||||
auto_calculate_length_and_angle = false
|
auto_calculate_length_and_angle = false
|
||||||
length = 12.0
|
length = 12.0
|
||||||
|
|
@ -862,7 +862,7 @@ metadata/_edit_lock_ = true
|
||||||
[node name="LeftUpperLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"]
|
[node name="LeftUpperLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt"]
|
||||||
use_parent_material = true
|
use_parent_material = true
|
||||||
position = Vector2(6, 4)
|
position = Vector2(6, 4)
|
||||||
scale = Vector2(0.999831, 0.999831)
|
scale = Vector2(0.999832, 0.999832)
|
||||||
rest = Transform2D(1, 0, 0, 1, 6, 4)
|
rest = Transform2D(1, 0, 0, 1, 6, 4)
|
||||||
editor_settings/show_bone_gizmo = false
|
editor_settings/show_bone_gizmo = false
|
||||||
|
|
||||||
|
|
@ -874,7 +874,7 @@ metadata/_edit_lock_ = true
|
||||||
|
|
||||||
[node name="LeftLowerLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg"]
|
[node name="LeftLowerLeg" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg"]
|
||||||
position = Vector2(-1, 13)
|
position = Vector2(-1, 13)
|
||||||
scale = Vector2(0.999834, 0.999834)
|
scale = Vector2(0.999836, 0.999836)
|
||||||
rest = Transform2D(1, 0, 0, 1, -1, 13)
|
rest = Transform2D(1, 0, 0, 1, -1, 13)
|
||||||
editor_settings/show_bone_gizmo = false
|
editor_settings/show_bone_gizmo = false
|
||||||
|
|
||||||
|
|
@ -910,7 +910,7 @@ editor_settings/show_bone_gizmo = false
|
||||||
z_index = -1
|
z_index = -1
|
||||||
use_parent_material = true
|
use_parent_material = true
|
||||||
position = Vector2(-14, -23)
|
position = Vector2(-14, -23)
|
||||||
scale = Vector2(0.999833, 0.999833)
|
scale = Vector2(0.999827, 0.999827)
|
||||||
rest = Transform2D(1, 0, 0, 1, -14, -23)
|
rest = Transform2D(1, 0, 0, 1, -14, -23)
|
||||||
editor_settings/show_bone_gizmo = false
|
editor_settings/show_bone_gizmo = false
|
||||||
|
|
||||||
|
|
@ -922,13 +922,13 @@ metadata/_edit_lock_ = true
|
||||||
|
|
||||||
[node name="RightLowerArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm"]
|
[node name="RightLowerArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm"]
|
||||||
position = Vector2(-2, 15)
|
position = Vector2(-2, 15)
|
||||||
scale = Vector2(0.999828, 0.999828)
|
scale = Vector2(0.999829, 0.999829)
|
||||||
rest = Transform2D(1, 0, 0, 1, -2, 15)
|
rest = Transform2D(1, 0, 0, 1, -2, 15)
|
||||||
editor_settings/show_bone_gizmo = false
|
editor_settings/show_bone_gizmo = false
|
||||||
|
|
||||||
[node name="RightHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm"]
|
[node name="RightHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm"]
|
||||||
position = Vector2(-1, 13)
|
position = Vector2(-1, 13)
|
||||||
scale = Vector2(0.999834, 0.999834)
|
scale = Vector2(0.999827, 0.999827)
|
||||||
rest = Transform2D(1, 0, 0, 1, -1, 13)
|
rest = Transform2D(1, 0, 0, 1, -1, 13)
|
||||||
auto_calculate_length_and_angle = false
|
auto_calculate_length_and_angle = false
|
||||||
length = 8.0
|
length = 8.0
|
||||||
|
|
@ -956,8 +956,8 @@ metadata/_edit_lock_ = true
|
||||||
|
|
||||||
[node name="Tie" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"]
|
[node name="Tie" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"]
|
||||||
position = Vector2(-9, -21)
|
position = Vector2(-9, -21)
|
||||||
rotation = -0.0224817
|
rotation = 0.0770157
|
||||||
skew = -0.000424862
|
skew = -0.000432968
|
||||||
rest = Transform2D(1, 0, 0, 1, -9, -21)
|
rest = Transform2D(1, 0, 0, 1, -9, -21)
|
||||||
auto_calculate_length_and_angle = false
|
auto_calculate_length_and_angle = false
|
||||||
length = 24.0
|
length = 24.0
|
||||||
|
|
@ -972,7 +972,7 @@ metadata/_edit_lock_ = true
|
||||||
|
|
||||||
[node name="Head" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"]
|
[node name="Head" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"]
|
||||||
position = Vector2(-10, -25)
|
position = Vector2(-10, -25)
|
||||||
scale = Vector2(0.999832, 0.999832)
|
scale = Vector2(0.999825, 0.999825)
|
||||||
rest = Transform2D(1, 0, 0, 1, -10, -25)
|
rest = Transform2D(1, 0, 0, 1, -10, -25)
|
||||||
editor_settings/show_bone_gizmo = false
|
editor_settings/show_bone_gizmo = false
|
||||||
|
|
||||||
|
|
@ -995,6 +995,7 @@ metadata/_edit_lock_ = true
|
||||||
|
|
||||||
[node name="Right_Eye" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"]
|
[node name="Right_Eye" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"]
|
||||||
position = Vector2(-16, -8)
|
position = Vector2(-16, -8)
|
||||||
|
scale = Vector2(1, 1)
|
||||||
texture = SubResource("AtlasTexture_vcc72")
|
texture = SubResource("AtlasTexture_vcc72")
|
||||||
centered = false
|
centered = false
|
||||||
offset = Vector2(-2, -2)
|
offset = Vector2(-2, -2)
|
||||||
|
|
@ -1002,15 +1003,16 @@ metadata/_edit_lock_ = true
|
||||||
|
|
||||||
[node name="Left_Eye" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"]
|
[node name="Left_Eye" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"]
|
||||||
position = Vector2(-4, -9)
|
position = Vector2(-4, -9)
|
||||||
|
scale = Vector2(1, 1)
|
||||||
texture = SubResource("AtlasTexture_kto0i")
|
texture = SubResource("AtlasTexture_kto0i")
|
||||||
centered = false
|
centered = false
|
||||||
offset = Vector2(-2, -2)
|
offset = Vector2(-2, -2)
|
||||||
metadata/_edit_lock_ = true
|
metadata/_edit_lock_ = true
|
||||||
|
|
||||||
[node name="Jaw" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"]
|
[node name="Jaw" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"]
|
||||||
position = Vector2(-2.69548, 2.26436)
|
position = Vector2(-3.00095, 2.9984)
|
||||||
rotation = 0.0270693
|
rotation = 0.00747412
|
||||||
scale = Vector2(0.999831, 0.999831)
|
scale = Vector2(0.999827, 0.999827)
|
||||||
texture = SubResource("AtlasTexture_x5uj2")
|
texture = SubResource("AtlasTexture_x5uj2")
|
||||||
centered = false
|
centered = false
|
||||||
offset = Vector2(-12, -2)
|
offset = Vector2(-12, -2)
|
||||||
|
|
@ -1027,7 +1029,7 @@ _observedEntity = NodePath("../../../../../../../..")
|
||||||
|
|
||||||
[node name="Jaw" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"]
|
[node name="Jaw" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head"]
|
||||||
position = Vector2(-3, 3)
|
position = Vector2(-3, 3)
|
||||||
scale = Vector2(0.999831, 0.999831)
|
scale = Vector2(0.999827, 0.999827)
|
||||||
rest = Transform2D(1, 0, 0, 1, -3, 3)
|
rest = Transform2D(1, 0, 0, 1, -3, 3)
|
||||||
auto_calculate_length_and_angle = false
|
auto_calculate_length_and_angle = false
|
||||||
length = 11.0
|
length = 11.0
|
||||||
|
|
@ -1061,7 +1063,7 @@ remote_path = NodePath("../../HeadParticle/Head/Left_Eye")
|
||||||
|
|
||||||
[node name="LeftUpperArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"]
|
[node name="LeftUpperArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"]
|
||||||
position = Vector2(-1, -20)
|
position = Vector2(-1, -20)
|
||||||
scale = Vector2(0.999834, 0.999834)
|
scale = Vector2(0.999828, 0.999828)
|
||||||
rest = Transform2D(1, 0, 0, 1, -1, -20)
|
rest = Transform2D(1, 0, 0, 1, -1, -20)
|
||||||
editor_settings/show_bone_gizmo = false
|
editor_settings/show_bone_gizmo = false
|
||||||
|
|
||||||
|
|
@ -1083,8 +1085,8 @@ minTorque = -45.0
|
||||||
maxTorque = 45.0
|
maxTorque = 45.0
|
||||||
|
|
||||||
[node name="Left_Lower_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile"]
|
[node name="Left_Lower_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile"]
|
||||||
rotation = 0.110272
|
rotation = 0.0724117
|
||||||
scale = Vector2(0.999998, 0.999998)
|
scale = Vector2(0.999999, 0.999999)
|
||||||
texture = SubResource("AtlasTexture_auqeq")
|
texture = SubResource("AtlasTexture_auqeq")
|
||||||
centered = false
|
centered = false
|
||||||
offset = Vector2(-5, 0)
|
offset = Vector2(-5, 0)
|
||||||
|
|
@ -1093,7 +1095,7 @@ metadata/_edit_lock_ = true
|
||||||
[node name="Left_Hand" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm"]
|
[node name="Left_Hand" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm"]
|
||||||
show_behind_parent = true
|
show_behind_parent = true
|
||||||
position = Vector2(-0.99983, 12.9978)
|
position = Vector2(-0.99983, 12.9978)
|
||||||
rotation = -0.115743
|
rotation = -0.0319581
|
||||||
scale = Vector2(0.999658, 0.999658)
|
scale = Vector2(0.999658, 0.999658)
|
||||||
texture = SubResource("AtlasTexture_vlvtp")
|
texture = SubResource("AtlasTexture_vlvtp")
|
||||||
centered = false
|
centered = false
|
||||||
|
|
@ -1110,13 +1112,13 @@ _observedEntity = NodePath("../../../../../../../..")
|
||||||
|
|
||||||
[node name="LeftLowerArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm"]
|
[node name="LeftLowerArm" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm"]
|
||||||
position = Vector2(-2, 14)
|
position = Vector2(-2, 14)
|
||||||
scale = Vector2(0.999828, 0.999828)
|
scale = Vector2(0.999829, 0.999829)
|
||||||
rest = Transform2D(1, 0, 0, 1, -2, 14)
|
rest = Transform2D(1, 0, 0, 1, -2, 14)
|
||||||
editor_settings/show_bone_gizmo = false
|
editor_settings/show_bone_gizmo = false
|
||||||
|
|
||||||
[node name="LeftHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm"]
|
[node name="LeftHand" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm"]
|
||||||
position = Vector2(-1, 13)
|
position = Vector2(-1, 13)
|
||||||
scale = Vector2(0.999828, 0.999828)
|
scale = Vector2(0.999827, 0.999827)
|
||||||
rest = Transform2D(1, 0, 0, 1, -1, 13)
|
rest = Transform2D(1, 0, 0, 1, -1, 13)
|
||||||
auto_calculate_length_and_angle = false
|
auto_calculate_length_and_angle = false
|
||||||
length = 6.0
|
length = 6.0
|
||||||
|
|
@ -1166,7 +1168,7 @@ entity = NodePath("..")
|
||||||
[node name="Mover" type="Node" parent="."]
|
[node name="Mover" type="Node" parent="."]
|
||||||
script = ExtResource("4_u5syx")
|
script = ExtResource("4_u5syx")
|
||||||
_speed = SubResource("Resource_ckb7n")
|
_speed = SubResource("Resource_ckb7n")
|
||||||
_speedControlMult = 2.31566
|
_speedControlMult = 0.133731
|
||||||
|
|
||||||
[node name="HitPlayer" type="Node" parent="."]
|
[node name="HitPlayer" type="Node" parent="."]
|
||||||
script = ExtResource("12_he8da")
|
script = ExtResource("12_he8da")
|
||||||
|
|
|
||||||
|
|
@ -24,16 +24,23 @@ public partial class Armor : Node
|
||||||
{
|
{
|
||||||
if(_lost)
|
if(_lost)
|
||||||
return damage;
|
return damage;
|
||||||
float returnAmount = 0;
|
|
||||||
_hp -= damage;
|
float returnAmount = damage - _hp;
|
||||||
if(_hp <= 0)
|
if (returnAmount < 0)
|
||||||
{
|
returnAmount = 0;
|
||||||
returnAmount = -_hp;
|
if (_hp - damage <= 0)
|
||||||
_hp = 0;
|
{
|
||||||
EmitSignal(SignalName.ArmorLost);
|
var delta = _hp;
|
||||||
_lost = true;
|
_hp = 0;
|
||||||
}
|
EmitSignal(SignalName.ArmorDamaged, delta);
|
||||||
EmitSignal(SignalName.ArmorDamaged,_hp);
|
EmitSignal(SignalName.ArmorLost);
|
||||||
|
_lost = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_hp -= damage;
|
||||||
|
EmitSignal(SignalName.ArmorDamaged, damage);
|
||||||
|
}
|
||||||
return returnAmount;
|
return returnAmount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,12 +11,12 @@ public partial class DegradingSprite : Sprite2D
|
||||||
|
|
||||||
public override void _Ready()
|
public override void _Ready()
|
||||||
{
|
{
|
||||||
armor.ArmorDamaged += OnZombieHPChanged;
|
armor.ArmorDamaged += OnArmorHPChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnZombieHPChanged(float hp)
|
private void OnArmorHPChanged(float hp)
|
||||||
{
|
{
|
||||||
float percent = hp / armor.MaxHP;
|
float percent = armor._hp / armor.MaxHP;
|
||||||
for (int i = 0; i < degradationStages.Count; i++)
|
for (int i = 0; i < degradationStages.Count; i++)
|
||||||
{
|
{
|
||||||
if (percent <= thresholdPercentage[i])
|
if (percent <= thresholdPercentage[i])
|
||||||
|
|
|
||||||
|
|
@ -15,20 +15,32 @@ public partial class Entity : Node2D
|
||||||
|
|
||||||
public virtual void TakeDamage(float amount, Node origin)
|
public virtual void TakeDamage(float amount, Node origin)
|
||||||
{
|
{
|
||||||
HP -= amount;
|
|
||||||
EmitSignal(SignalName.OnHPChanged, -amount, origin);
|
|
||||||
EmitSignal(SignalName.OnDamaged);
|
EmitSignal(SignalName.OnDamaged);
|
||||||
if (HP <= 0)
|
if (HP - amount <= 0)
|
||||||
{
|
{
|
||||||
|
EmitSignal(SignalName.OnHPChanged, -HP, origin);
|
||||||
|
HP = 0;
|
||||||
KillByDamage();
|
KillByDamage();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
HP -= amount;
|
||||||
|
EmitSignal(SignalName.OnHPChanged, -amount, origin);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void Heal(float amount, Node origin)
|
public virtual void Heal(float amount, Node origin)
|
||||||
{
|
{
|
||||||
EmitSignal(SignalName.OnHPChanged, amount, origin);
|
if (HP + amount > MaxHP)
|
||||||
HP += amount;
|
{
|
||||||
if (HP > MaxHP) HP = MaxHP;
|
EmitSignal(SignalName.OnHPChanged, MaxHP - HP, origin);
|
||||||
|
HP = MaxHP;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
HP += amount;
|
||||||
|
EmitSignal(SignalName.OnHPChanged, amount, origin);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void KillByDamage()
|
public virtual void KillByDamage()
|
||||||
|
|
|
||||||
|
|
@ -16,13 +16,13 @@ public partial class EntityHPObserver : Node
|
||||||
|
|
||||||
private void OnHPChanged(float delta, Node origin)
|
private void OnHPChanged(float delta, Node origin)
|
||||||
{
|
{
|
||||||
if (_setGreater == false && _observedEntity.HP / _observedEntity.MaxHP < _threshold)
|
if (_setGreater == false && _observedEntity.HP / _observedEntity.MaxHP <= _threshold)
|
||||||
{
|
{
|
||||||
EmitSignal(SignalName.ThresholdReached);
|
EmitSignal(SignalName.ThresholdReached);
|
||||||
_observedEntity.OnHPChanged -= OnHPChanged;
|
_observedEntity.OnHPChanged -= OnHPChanged;
|
||||||
QueueFree();
|
QueueFree();
|
||||||
}
|
}
|
||||||
else if (_setGreater && _observedEntity.HP / _observedEntity.MaxHP > _threshold)
|
else if (_setGreater && _observedEntity.HP / _observedEntity.MaxHP >= _threshold)
|
||||||
{
|
{
|
||||||
EmitSignal(SignalName.ThresholdReached);
|
EmitSignal(SignalName.ThresholdReached);
|
||||||
_observedEntity.OnHPChanged -= OnHPChanged;
|
_observedEntity.OnHPChanged -= OnHPChanged;
|
||||||
|
|
|
||||||
|
|
@ -35,18 +35,24 @@ public partial class RuntimeZombieData : Entity
|
||||||
}
|
}
|
||||||
public override void TakeDamage(float amount, Node origin)
|
public override void TakeDamage(float amount, Node origin)
|
||||||
{
|
{
|
||||||
|
var damage = amount;
|
||||||
if (_armor != null)
|
if (_armor != null)
|
||||||
{
|
{
|
||||||
HP -= _armor.RecieveDamage(amount);
|
damage = _armor.RecieveDamage(amount);
|
||||||
|
}
|
||||||
|
|
||||||
|
EmitSignal(SignalName.OnDamaged);
|
||||||
|
if (HP - damage <= 0)
|
||||||
|
{
|
||||||
|
var delta = -HP;
|
||||||
|
HP = 0;
|
||||||
|
EmitSignal(SignalName.OnHPChanged, delta, origin);
|
||||||
|
KillByDamage();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
HP -= amount;
|
|
||||||
EmitSignal(SignalName.OnHPChanged, -amount, origin);
|
|
||||||
EmitSignal(SignalName.OnDamaged);
|
|
||||||
|
|
||||||
if (HP <= 0)
|
|
||||||
{
|
{
|
||||||
KillByDamage();
|
HP -= damage;
|
||||||
|
EmitSignal(SignalName.OnHPChanged, -damage, origin);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void HPChangedMixedInvokerSource(float delta, Node source)
|
public void HPChangedMixedInvokerSource(float delta, Node source)
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ extends Node
|
||||||
|
|
||||||
|
|
||||||
func _on_play_button_pressed() -> void:
|
func _on_play_button_pressed() -> void:
|
||||||
LevelController.call("StartLevel",preload("uid://dd3yegl1xo44m"),preload("uid://ctbue7dex4umy"))
|
LevelController.call("StartLevel",preload("uid://dd3yegl1xo44m"),preload("uid://ds2js2vylygvy"))
|
||||||
$ChannelPlayer.call("Play")
|
$ChannelPlayer.call("Play")
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
using Godot;
|
||||||
using Newlon.Components.Level;
|
using Newlon.Components.Level;
|
||||||
|
|
||||||
namespace Newlon.Components.GUI.Seedpackets;
|
namespace Newlon.Components.GUI.Seedpackets;
|
||||||
|
|
@ -16,7 +17,7 @@ public class HotbarHandler : SeedpacketHandler, ISeedpacketPress, ISeedpacketPro
|
||||||
|
|
||||||
public void Process()
|
public void Process()
|
||||||
{
|
{
|
||||||
_owner.disablePacket = RuntimeLevelData.Instance.SunCount < _owner.GetResource().Cost;
|
_owner.disablePacket = RuntimeLevelData.Instance.SunCount < _owner.GetResource().Cost || RuntimeLevelData.Instance.GetLevelState() != RuntimeLevelData.LevelStates.Game;
|
||||||
}
|
}
|
||||||
public void OnUnfocused()
|
public void OnUnfocused()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ public partial class LevelRunner : Node
|
||||||
[Signal] public delegate void HugeWaveInitiatedEventHandler(int waveNumber);
|
[Signal] public delegate void HugeWaveInitiatedEventHandler(int waveNumber);
|
||||||
[Signal] public delegate void FinalWaveInitiatedEventHandler();
|
[Signal] public delegate void FinalWaveInitiatedEventHandler();
|
||||||
|
|
||||||
|
|
||||||
public override void _Ready()
|
public override void _Ready()
|
||||||
{
|
{
|
||||||
waveTimer.Timeout += SummonWave;
|
waveTimer.Timeout += SummonWave;
|
||||||
|
|
@ -51,6 +52,7 @@ public partial class LevelRunner : Node
|
||||||
private void SummonWave()
|
private void SummonWave()
|
||||||
{
|
{
|
||||||
waveIndex += 1;
|
waveIndex += 1;
|
||||||
|
|
||||||
hugeWaveApproaching = false;
|
hugeWaveApproaching = false;
|
||||||
EmitSignal(SignalName.WaveChanged, waveIndex);
|
EmitSignal(SignalName.WaveChanged, waveIndex);
|
||||||
if (resource.waves[waveIndex].isHugeWave) EmitSignal(SignalName.HugeWaveInitiated, waveIndex);
|
if (resource.waves[waveIndex].isHugeWave) EmitSignal(SignalName.HugeWaveInitiated, waveIndex);
|
||||||
|
|
@ -69,9 +71,10 @@ public partial class LevelRunner : Node
|
||||||
}
|
}
|
||||||
private void OnHPChanged(float delta)
|
private void OnHPChanged(float delta)
|
||||||
{
|
{
|
||||||
if (waveIndex == resource.waves.Count - 1) return;
|
|
||||||
|
|
||||||
waveHealth += delta;
|
waveHealth += delta;
|
||||||
|
|
||||||
|
|
||||||
|
if (waveIndex == resource.waves.Count - 1) return;
|
||||||
if (waveHealth / waveHealthMax <= resource.wavePercentage)
|
if (waveHealth / waveHealthMax <= resource.wavePercentage)
|
||||||
{
|
{
|
||||||
if (resource.waves[waveIndex + 1].isHugeWave && waveTimer.TimeLeft > 6)
|
if (resource.waves[waveIndex + 1].isHugeWave && waveTimer.TimeLeft > 6)
|
||||||
|
|
@ -107,5 +110,18 @@ public partial class LevelRunner : Node
|
||||||
waveHealthMax += zombie.GetMaxHPMixed();
|
waveHealthMax += zombie.GetMaxHPMixed();
|
||||||
waveHealth = waveHealthMax;
|
waveHealth = waveHealthMax;
|
||||||
zombie.HPChangedMixed += OnHPChanged;
|
zombie.HPChangedMixed += OnHPChanged;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (waveIndex == resource.waves.Count - 1)
|
||||||
|
{
|
||||||
|
zombie.HasBeenKilled += (who) =>
|
||||||
|
{
|
||||||
|
if (waveHealth <= 0)
|
||||||
|
{
|
||||||
|
RuntimeLevelData.Instance.SetLevelState(RuntimeLevelData.LevelStates.Win);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ public partial class LoseCheckbox : Area2D
|
||||||
if (parent != null && parent is RuntimeZombieData zombieData)
|
if (parent != null && parent is RuntimeZombieData zombieData)
|
||||||
{
|
{
|
||||||
if (zombieData.HP <= 0) return;
|
if (zombieData.HP <= 0) return;
|
||||||
|
RuntimeLevelData.Instance.SetLevelState(RuntimeLevelData.LevelStates.Loose);
|
||||||
Engine.TimeScale = 1.0;
|
Engine.TimeScale = 1.0;
|
||||||
fadeAnimation.Play("fade");
|
fadeAnimation.Play("fade");
|
||||||
GetTree().Paused = true;
|
GetTree().Paused = true;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue