aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjacopograndi <jacopo.grandi@outlook.it>2022-01-19 20:08:32 +0100
committerjacopograndi <jacopo.grandi@outlook.it>2022-01-19 20:08:32 +0100
commitc930eb8a0cabaeb3651e2dc7f94a26310fb2dcf3 (patch)
tree5256261a9510a9ac8e1150c8902ffefbec32ddac
parent10d700152deeea4a8c6acea1124b9f9ea4905486 (diff)
turrets implementation finished
-rw-r--r--assets/blender/turrets.blendbin1362944 -> 1363584 bytes
-rw-r--r--assets/blender/turrets.blend1bin1362944 -> 1363584 bytes
-rw-r--r--assets/json/turrets.json115
-rw-r--r--assets/models/turrets/frost.glbbin0 -> 47712 bytes
-rw-r--r--assets/models/turrets/frost.glb.import1065
-rw-r--r--assets/textures/thumbnails/turrets/finance.pngbin10253 -> 10253 bytes
-rw-r--r--assets/textures/thumbnails/turrets/frost.png (renamed from assets/textures/thumbnails/turrets/slower.png)bin10748 -> 10748 bytes
-rw-r--r--assets/textures/thumbnails/turrets/frost.png.import (renamed from assets/textures/thumbnails/turrets/slower.png.import)6
-rw-r--r--assets/textures/thumbnails/turrets/laser.pngbin13309 -> 13309 bytes
-rw-r--r--assets/textures/thumbnails/turrets/plastic.pngbin10532 -> 10532 bytes
-rw-r--r--assets/textures/thumbnails/turrets/shotgun.pngbin10783 -> 10783 bytes
-rw-r--r--assets/textures/thumbnails/turrets/sniper.pngbin10209 -> 10208 bytes
-rw-r--r--assets/textures/thumbnails/turrets/structI.pngbin10217 -> 10217 bytes
-rw-r--r--assets/textures/thumbnails/turrets/structT.pngbin12177 -> 12177 bytes
-rw-r--r--assets/textures/thumbnails/turrets/structX.pngbin12422 -> 12425 bytes
-rw-r--r--docs/turret/turrets/cannon.md1
-rw-r--r--docs/turret/turrets/final slower.md3
-rw-r--r--docs/turret/turrets/heavy slower.md3
-rw-r--r--docs/turret/turrets/heavy stopper.md4
-rw-r--r--docs/turret/turrets/slower.md3
-rw-r--r--docs/turret/turrets/stopper.md5
-rw-r--r--scenes/fx/fx_explosion.tscn16
-rw-r--r--scenes/gui/gui_button.tscn15
-rw-r--r--scenes/projectiles/ray.tscn2
-rw-r--r--scripts/bullet.gd94
-rw-r--r--scripts/control.gd17
-rw-r--r--scripts/enemies.gd27
-rw-r--r--scripts/fx/selfdestruct.gd8
-rw-r--r--scripts/gui_picker.gd2
-rw-r--r--scripts/load_scenes.gd2
-rw-r--r--scripts/placer.gd2
-rw-r--r--scripts/resources.gd5
-rw-r--r--scripts/turret.gd29
-rw-r--r--scripts/wave.gd1
34 files changed, 1309 insertions, 116 deletions
diff --git a/assets/blender/turrets.blend b/assets/blender/turrets.blend
index ad8a28f..92b96f4 100644
--- a/assets/blender/turrets.blend
+++ b/assets/blender/turrets.blend
Binary files differ
diff --git a/assets/blender/turrets.blend1 b/assets/blender/turrets.blend1
index 3c763d2..96d3dfe 100644
--- a/assets/blender/turrets.blend1
+++ b/assets/blender/turrets.blend1
Binary files differ
diff --git a/assets/json/turrets.json b/assets/json/turrets.json
index 65cd271..846300f 100644
--- a/assets/json/turrets.json
+++ b/assets/json/turrets.json
@@ -3,7 +3,6 @@
"name": "laser",
"cost": { "T": 100 },
"cooldown": 1.0,
- "damage": 1,
"turn_speed": 3,
"range": 5,
"upgrades": [ "heavy laser", "sniper" ],
@@ -11,6 +10,7 @@
"model_name": "laser.glb",
"thumbnail_name": "laser.png",
"projectile": {
+ "damage": 1,
"type": "bullet",
"speed": 5,
"model_name": "laser_shot.glb",
@@ -21,7 +21,6 @@
"name": "heavy laser",
"cost": { "T": 250 },
"cooldown": 0.9,
- "damage": 2,
"turn_speed": 3,
"range": 5,
"upgrades": [ "minigun" ],
@@ -29,6 +28,7 @@
"model_name": "laser.glb",
"thumbnail_name": "laser.png",
"projectile": {
+ "damage": 2,
"type": "bullet",
"speed": 5,
"model_name": "laser_shot.glb",
@@ -37,15 +37,15 @@
},
{
"name": "minigun",
- "cost": { "T": 1000 },
+ "cost": { "T": 1000, "k": 1000 },
"cooldown": 0.2,
- "damage": 2,
"turn_speed": 10,
"range": 5,
"modules_max": 6,
"model_name": "laser.glb",
"thumbnail_name": "laser.png",
"projectile": {
+ "damage": 2,
"type": "bullet",
"speed": 10,
"model_name": "laser_shot.glb",
@@ -56,7 +56,6 @@
"name": "sniper",
"cost": { "T": 300 },
"cooldown": 2,
- "damage": 3,
"turn_speed": 1,
"range": 7,
"upgrades": [ "railgun" ],
@@ -64,6 +63,7 @@
"model_name": "sniper.glb",
"thumbnail_name": "sniper.png",
"projectile": {
+ "damage": 3,
"type": "ray",
"model_name": "ray_laser.glb",
"amount": 1
@@ -71,15 +71,15 @@
},
{
"name": "railgun",
- "cost": { "T": 1200 },
+ "cost": { "T": 1200, "a": 1000 },
"cooldown": 5,
- "damage": 10,
"turn_speed": 1,
"range": 8,
"modules_max": 4,
"model_name": "sniper.glb",
"thumbnail_name": "laser.png",
"projectile": {
+ "damage": 10,
"type": "ray",
"model_name": "ray_laser.glb",
"amount": 1
@@ -89,7 +89,6 @@
"name": "shotgun",
"cost": { "T": 250 },
"cooldown": 2.0,
- "damage": 1,
"turn_speed": 1,
"range": 4,
"upgrades": [ "cannon" ],
@@ -97,6 +96,7 @@
"model_name": "shotgun.glb",
"thumbnail_name": "shotgun.png",
"projectile": {
+ "damage": 1,
"type": "bullet",
"speed": 5,
"model_name": "bullet_shot.glb",
@@ -108,32 +108,36 @@
"name": "cannon",
"cost": { "T": 400 },
"cooldown": 2.0,
- "damage": 5,
"turn_speed": 1,
"range": 4,
- "upgrades": [ "tesla" ],
+ "upgrades": [ "triple cannon" ],
"modules_max": 3,
"model_name": "shotgun.glb",
"thumbnail_name": "shotgun.png",
"projectile": {
- "type": "bomb",
+ "damage": 5,
+ "type": "bullet",
+ "area_of_effect": 1,
"speed": 3,
"model_name": "bullet_shot.glb"
}
},
{
- "name": "tesla",
- "cost": { "T": 800 },
+ "name": "triple cannon",
+ "cost": { "T": 800, "d": 800 },
"cooldown": 1.0,
- "damage": 2,
"turn_speed": 1,
"range": 4,
"modules_max": 5,
"model_name": "shotgun.glb",
"thumbnail_name": "shotgun.png",
"projectile": {
- "type": "shock",
- "jumps": 5,
+ "damage": 5,
+ "type": "bullet",
+ "area_of_effect": 1,
+ "spread": 45,
+ "speed": 3,
+ "amount": 3,
"model_name": "bullet_shot.glb"
}
},
@@ -141,7 +145,6 @@
"name": "plastic",
"cost": { "T": 400 },
"cooldown": 1.5,
- "damage": 1,
"turn_speed": 0.5,
"range": 6,
"upgrades": [ "heavy plastic" ],
@@ -149,6 +152,7 @@
"model_name": "plastic.glb",
"thumbnail_name": "plastic.png",
"projectile": {
+ "damage": 1,
"type": "bounce",
"model_name": "bullet_bounce.glb",
"speed": 5,
@@ -160,7 +164,6 @@
"name": "heavy plastic",
"cost": { "T": 400 },
"cooldown": 1.5,
- "damage": 2,
"turn_speed": 0.5,
"range": 6,
"upgrades": [ "plasma plastic" ],
@@ -168,6 +171,7 @@
"model_name": "plastic.glb",
"thumbnail_name": "plastic.png",
"projectile": {
+ "damage": 2,
"type": "bounce",
"model_name": "bullet_bounce.glb",
"speed": 7.5,
@@ -177,15 +181,15 @@
},
{
"name": "plasma plastic",
- "cost": { "T": 800 },
+ "cost": { "T": 1500 },
"cooldown": 1,
- "damage": 2,
"turn_speed": 0.5,
"range": 6,
"modules_max": 4,
"model_name": "plastic.glb",
"thumbnail_name": "plastic.png",
"projectile": {
+ "damage": 2,
"type": "bounce",
"lifetime": 5,
"model_name": "bullet_bounce.glb",
@@ -194,53 +198,57 @@
}
},
{
- "name": "slower",
+ "name": "frost",
"cost": { "T": 350 },
"cooldown": 1,
"turn_speed": 5,
"range": 5,
- "upgrades": [ "heavy slower", "stopper" ],
+ "upgrades": [ "heavy frost", "stopper" ],
"modules_max": 4,
- "model_name": "slower.glb",
- "thumbnail_name": "slower.png",
- "slowness": 5,
+ "model_name": "frost.glb",
+ "thumbnail_name": "frost.png",
"projectile": {
"type": "bullet",
+ "slowness_time": 3,
+ "slowness_effect": 0.5,
"model_name": "bullet_slow.glb",
"speed": 10,
"amount": 1
}
},
{
- "name": "heavy slower",
+ "name": "heavy frost",
"cost": { "T": 500 },
"cooldown": 0.7,
"turn_speed": 5,
"range": 6,
- "upgrades": [ "final slower" ],
+ "upgrades": [ "blizzard" ],
"modules_max": 5,
- "model_name": "slower.glb",
- "thumbnail_name": "slower.png",
- "slowness": 7,
+ "model_name": "frost.glb",
+ "thumbnail_name": "frost.png",
"projectile": {
"type": "bullet",
+ "slowness_time": 5,
+ "slowness_effect": 0.5,
"model_name": "bullet_slow.glb",
"speed": 10,
"amount": 1
}
},
{
- "name": "final slower",
- "cost": { "T": 1000 },
- "cooldown": 2,
- "turn_speed": 5,
+ "name": "blizzard",
+ "cost": { "T": 1000, "s": 3000 },
+ "cooldown": 0.5,
+ "turn_speed": 10,
"range": 7,
"modules_max": 5,
- "model_name": "slower.glb",
- "thumbnail_name": "slower.png",
+ "model_name": "frost.glb",
+ "thumbnail_name": "frost.png",
"slowness": 10,
"projectile": {
"type": "ray",
+ "slowness_time": 5,
+ "slowness_effect": 0.7,
"model_name": "ray_slow.glb",
"amount": 1
}
@@ -252,28 +260,35 @@
"range": 2,
"upgrades": [ "heavy stopper" ],
"modules_max": 4,
- "model_name": "slower.glb",
- "thumbnail_name": "slower.png",
- "stop": 3,
+ "model_name": "frost.glb",
+ "thumbnail_name": "frost.png",
"projectile": {
- "type": "area",
+ "type": "bullet",
+ "area_of_effect": 2,
+ "slowness_time": 1,
+ "slowness_effect": 1,
"model_name": "ray_slow.glb",
- "amount": 1
+ "amount": 1,
+ "lifetime": 0
}
},
{
"name": "heavy stopper",
- "cost": { "T": 1000 },
+ "cost": { "T": 1000, "s": 2000 },
"cooldown": 3,
"range": 3,
"modules_max": 5,
- "model_name": "slower.glb",
- "thumbnail_name": "slower.png",
- "stop": 5,
+ "model_name": "frost.glb",
+ "thumbnail_name": "frost.png",
"projectile": {
- "type": "area",
+ "type": "bullet",
+ "area_of_effect": 3,
+ "slowness_time": 2,
+ "slowness_effect": 1,
"model_name": "ray_slow.glb",
- "amount": 1
+ "amount": 1,
+ "lifetime": 0,
+ "damage": 5
}
},
{
@@ -287,7 +302,7 @@
},
{
"name": "kad generator",
- "cost": { "T": 400 },
+ "cost": { "k": 400, "a": 400, "d": 400 },
"resource_per_wave": { "k": 30, "a": 30, "d": 30 },
"upgrades": [ "s generator" ],
"max_modules": 2,
@@ -296,8 +311,8 @@
},
{
"name": "s generator",
- "cost": { "T": 800 },
- "resource_per_wave": { "s": 30 },
+ "cost": { "s": 2000 },
+ "resource_per_wave": { "s": 100 },
"max_modules": 3,
"model_name": "finance.glb",
"thumbnail_name": "finance.png"
diff --git a/assets/models/turrets/frost.glb b/assets/models/turrets/frost.glb
new file mode 100644
index 0000000..85934a7
--- /dev/null
+++ b/assets/models/turrets/frost.glb
Binary files differ
diff --git a/assets/models/turrets/frost.glb.import b/assets/models/turrets/frost.glb.import
new file mode 100644
index 0000000..595dc7b
--- /dev/null
+++ b/assets/models/turrets/frost.glb.import
@@ -0,0 +1,1065 @@
+[remap]
+
+importer="scene"
+type="PackedScene"
+path="res://.import/frost.glb-815af56ed5a3eb04cf6fd14589a32414.scn"
+
+[deps]
+
+source_file="res://assets/models/turrets/frost.glb"
+dest_files=[ "res://.import/frost.glb-815af56ed5a3eb04cf6fd14589a32414.scn" ]
+
+[params]
+
+nodes/root_type="Spatial"
+nodes/root_name="Scene Root"
+nodes/root_scale=1.0
+nodes/custom_script=""
+nodes/storage=0
+nodes/use_legacy_names=false
+materials/location=1
+materials/storage=1
+materials/keep_on_reimport=true
+meshes/octahedral_compression=true
+meshes/compress=4286
+meshes/ensure_tangents=true
+meshes/storage=0
+meshes/light_baking=0
+meshes/lightmap_texel_size=0.1
+skins/use_named_skins=true
+external_files/store_in_subdir=false
+animation/import=true
+animation/fps=15
+animation/filter_script=""
+animation/storage=false
+animation/keep_custom_tracks=false
+animation/optimizer/enabled=true
+animation/optimizer/max_linear_error=0.05
+animation/optimizer/max_angular_error=0.01
+animation/optimizer/max_angle=22
+animation/optimizer/remove_unused_tracks=true
+animation/clips/amount=0
+animation/clip_1/name=""
+animation/clip_1/start_frame=0
+animation/clip_1/end_frame=0
+animation/clip_1/loops=false
+animation/clip_2/name=""
+animation/clip_2/start_frame=0
+animation/clip_2/end_frame=0
+animation/clip_2/loops=false
+animation/clip_3/name=""
+animation/clip_3/start_frame=0
+animation/clip_3/end_frame=0
+animation/clip_3/loops=false
+animation/clip_4/name=""
+animation/clip_4/start_frame=0
+animation/clip_4/end_frame=0
+animation/clip_4/loops=false
+animation/clip_5/name=""
+animation/clip_5/start_frame=0
+animation/clip_5/end_frame=0
+animation/clip_5/loops=false
+animation/clip_6/name=""
+animation/clip_6/start_frame=0
+animation/clip_6/end_frame=0
+animation/clip_6/loops=false
+animation/clip_7/name=""
+animation/clip_7/start_frame=0
+animation/clip_7/end_frame=0
+animation/clip_7/loops=false
+animation/clip_8/name=""
+animation/clip_8/start_frame=0
+animation/clip_8/end_frame=0
+animation/clip_8/loops=false
+animation/clip_9/name=""
+animation/clip_9/start_frame=0
+animation/clip_9/end_frame=0
+animation/clip_9/loops=false
+animation/clip_10/name=""
+animation/clip_10/start_frame=0
+animation/clip_10/end_frame=0
+animation/clip_10/loops=false
+animation/clip_11/name=""
+animation/clip_11/start_frame=0
+animation/clip_11/end_frame=0
+animation/clip_11/loops=false
+animation/clip_12/name=""
+animation/clip_12/start_frame=0
+animation/clip_12/end_frame=0
+animation/clip_12/loops=false
+animation/clip_13/name=""
+animation/clip_13/start_frame=0
+animation/clip_13/end_frame=0
+animation/clip_13/loops=false
+animation/clip_14/name=""
+animation/clip_14/start_frame=0
+animation/clip_14/end_frame=0
+animation/clip_14/loops=false
+animation/clip_15/name=""
+animation/clip_15/start_frame=0
+animation/clip_15/end_frame=0
+animation/clip_15/loops=false
+animation/clip_16/name=""
+animation/clip_16/start_frame=0
+animation/clip_16/end_frame=0
+animation/clip_16/loops=false
+animation/clip_17/name=""
+animation/clip_17/start_frame=0
+animation/clip_17/end_frame=0
+animation/clip_17/loops=false
+animation/clip_18/name=""
+animation/clip_18/start_frame=0
+animation/clip_18/end_frame=0
+animation/clip_18/loops=false
+animation/clip_19/name=""
+animation/clip_19/start_frame=0
+animation/clip_19/end_frame=0
+animation/clip_19/loops=false
+animation/clip_20/name=""
+animation/clip_20/start_frame=0
+animation/clip_20/end_frame=0
+animation/clip_20/loops=false
+animation/clip_21/name=""
+animation/clip_21/start_frame=0
+animation/clip_21/end_frame=0
+animation/clip_21/loops=false
+animation/clip_22/name=""
+animation/clip_22/start_frame=0
+animation/clip_22/end_frame=0
+animation/clip_22/loops=false
+animation/clip_23/name=""
+animation/clip_23/start_frame=0
+animation/clip_23/end_frame=0
+animation/clip_23/loops=false
+animation/clip_24/name=""
+animation/clip_24/start_frame=0
+animation/clip_24/end_frame=0
+animation/clip_24/loops=false
+animation/clip_25/name=""
+animation/clip_25/start_frame=0
+animation/clip_25/end_frame=0
+animation/clip_25/loops=false
+animation/clip_26/name=""
+animation/clip_26/start_frame=0
+animation/clip_26/end_frame=0
+animation/clip_26/loops=false
+animation/clip_27/name=""
+animation/clip_27/start_frame=0
+animation/clip_27/end_frame=0
+animation/clip_27/loops=false
+animation/clip_28/name=""
+animation/clip_28/start_frame=0
+animation/clip_28/end_frame=0
+animation/clip_28/loops=false
+animation/clip_29/name=""
+animation/clip_29/start_frame=0
+animation/clip_29/end_frame=0
+animation/clip_29/loops=false
+animation/clip_30/name=""
+animation/clip_30/start_frame=0
+animation/clip_30/end_frame=0
+animation/clip_30/loops=false
+animation/clip_31/name=""
+animation/clip_31/start_frame=0
+animation/clip_31/end_frame=0
+animation/clip_31/loops=false
+animation/clip_32/name=""
+animation/clip_32/start_frame=0
+animation/clip_32/end_frame=0
+animation/clip_32/loops=false
+animation/clip_33/name=""
+animation/clip_33/start_frame=0
+animation/clip_33/end_frame=0
+animation/clip_33/loops=false
+animation/clip_34/name=""
+animation/clip_34/start_frame=0
+animation/clip_34/end_frame=0
+animation/clip_34/loops=false
+animation/clip_35/name=""
+animation/clip_35/start_frame=0
+animation/clip_35/end_frame=0
+animation/clip_35/loops=false
+animation/clip_36/name=""
+animation/clip_36/start_frame=0
+animation/clip_36/end_frame=0
+animation/clip_36/loops=false
+animation/clip_37/name=""
+animation/clip_37/start_frame=0
+animation/clip_37/end_frame=0
+animation/clip_37/loops=false
+animation/clip_38/name=""
+animation/clip_38/start_frame=0
+animation/clip_38/end_frame=0
+animation/clip_38/loops=false
+animation/clip_39/name=""
+animation/clip_39/start_frame=0
+animation/clip_39/end_frame=0
+animation/clip_39/loops=false
+animation/clip_40/name=""
+animation/clip_40/start_frame=0
+animation/clip_40/end_frame=0
+animation/clip_40/loops=false
+animation/clip_41/name=""
+animation/clip_41/start_frame=0
+animation/clip_41/end_frame=0
+animation/clip_41/loops=false
+animation/clip_42/name=""
+animation/clip_42/start_frame=0
+animation/clip_42/end_frame=0
+animation/clip_42/loops=false
+animation/clip_43/name=""
+animation/clip_43/start_frame=0
+animation/clip_43/end_frame=0
+animation/clip_43/loops=false
+animation/clip_44/name=""
+animation/clip_44/start_frame=0
+animation/clip_44/end_frame=0
+animation/clip_44/loops=false
+animation/clip_45/name=""
+animation/clip_45/start_frame=0
+animation/clip_45/end_frame=0
+animation/clip_45/loops=false
+animation/clip_46/name=""
+animation/clip_46/start_frame=0
+animation/clip_46/end_frame=0
+animation/clip_46/loops=false
+animation/clip_47/name=""
+animation/clip_47/start_frame=0
+animation/clip_47/end_frame=0
+animation/clip_47/loops=false
+animation/clip_48/name=""
+animation/clip_48/start_frame=0
+animation/clip_48/end_frame=0
+animation/clip_48/loops=false
+animation/clip_49/name=""
+animation/clip_49/start_frame=0
+animation/clip_49/end_frame=0
+animation/clip_49/loops=false
+animation/clip_50/name=""
+animation/clip_50/start_frame=0
+animation/clip_50/end_frame=0
+animation/clip_50/loops=false
+animation/clip_51/name=""
+animation/clip_51/start_frame=0
+animation/clip_51/end_frame=0
+animation/clip_51/loops=false
+animation/clip_52/name=""
+animation/clip_52/start_frame=0
+animation/clip_52/end_frame=0
+animation/clip_52/loops=false
+animation/clip_53/name=""
+animation/clip_53/start_frame=0
+animation/clip_53/end_frame=0
+animation/clip_53/loops=false
+animation/clip_54/name=""
+animation/clip_54/start_frame=0
+animation/clip_54/end_frame=0
+animation/clip_54/loops=false
+animation/clip_55/name=""
+animation/clip_55/start_frame=0
+animation/clip_55/end_frame=0
+animation/clip_55/loops=false
+animation/clip_56/name=""
+animation/clip_56/start_frame=0
+animation/clip_56/end_frame=0
+animation/clip_56/loops=false
+animation/clip_57/name=""
+animation/clip_57/start_frame=0
+animation/clip_57/end_frame=0
+animation/clip_57/loops=false
+animation/clip_58/name=""
+animation/clip_58/start_frame=0
+animation/clip_58/end_frame=0
+animation/clip_58/loops=false
+animation/clip_59/name=""
+animation/clip_59/start_frame=0
+animation/clip_59/end_frame=0
+animation/clip_59/loops=false
+animation/clip_60/name=""
+animation/clip_60/start_frame=0
+animation/clip_60/end_frame=0
+animation/clip_60/loops=false
+animation/clip_61/name=""
+animation/clip_61/start_frame=0
+animation/clip_61/end_frame=0
+animation/clip_61/loops=false
+animation/clip_62/name=""
+animation/clip_62/start_frame=0
+animation/clip_62/end_frame=0
+animation/clip_62/loops=false
+animation/clip_63/name=""
+animation/clip_63/start_frame=0
+animation/clip_63/end_frame=0
+animation/clip_63/loops=false
+animation/clip_64/name=""
+animation/clip_64/start_frame=0
+animation/clip_64/end_frame=0
+animation/clip_64/loops=false
+animation/clip_65/name=""
+animation/clip_65/start_frame=0
+animation/clip_65/end_frame=0
+animation/clip_65/loops=false
+animation/clip_66/name=""
+animation/clip_66/start_frame=0
+animation/clip_66/end_frame=0
+animation/clip_66/loops=false
+animation/clip_67/name=""
+animation/clip_67/start_frame=0
+animation/clip_67/end_frame=0
+animation/clip_67/loops=false
+animation/clip_68/name=""
+animation/clip_68/start_frame=0
+animation/clip_68/end_frame=0
+animation/clip_68/loops=false
+animation/clip_69/name=""
+animation/clip_69/start_frame=0
+animation/clip_69/end_frame=0
+animation/clip_69/loops=false
+animation/clip_70/name=""
+animation/clip_70/start_frame=0
+animation/clip_70/end_frame=0
+animation/clip_70/loops=false
+animation/clip_71/name=""
+animation/clip_71/start_frame=0
+animation/clip_71/end_frame=0
+animation/clip_71/loops=false
+animation/clip_72/name=""
+animation/clip_72/start_frame=0
+animation/clip_72/end_frame=0
+animation/clip_72/loops=false
+animation/clip_73/name=""
+animation/clip_73/start_frame=0
+animation/clip_73/end_frame=0
+animation/clip_73/loops=false
+animation/clip_74/name=""
+animation/clip_74/start_frame=0
+animation/clip_74/end_frame=0
+animation/clip_74/loops=false
+animation/clip_75/name=""
+animation/clip_75/start_frame=0
+animation/clip_75/end_frame=0
+animation/clip_75/loops=false
+animation/clip_76/name=""
+animation/clip_76/start_frame=0
+animation/clip_76/end_frame=0
+animation/clip_76/loops=false
+animation/clip_77/name=""
+animation/clip_77/start_frame=0
+animation/clip_77/end_frame=0
+animation/clip_77/loops=false
+animation/clip_78/name=""
+animation/clip_78/start_frame=0
+animation/clip_78/end_frame=0
+animation/clip_78/loops=false
+animation/clip_79/name=""
+animation/clip_79/start_frame=0
+animation/clip_79/end_frame=0
+animation/clip_79/loops=false
+animation/clip_80/name=""
+animation/clip_80/start_frame=0
+animation/clip_80/end_frame=0
+animation/clip_80/loops=false
+animation/clip_81/name=""
+animation/clip_81/start_frame=0
+animation/clip_81/end_frame=0
+animation/clip_81/loops=false
+animation/clip_82/name=""
+animation/clip_82/start_frame=0
+animation/clip_82/end_frame=0
+animation/clip_82/loops=false
+animation/clip_83/name=""
+animation/clip_83/start_frame=0
+animation/clip_83/end_frame=0
+animation/clip_83/loops=false
+animation/clip_84/name=""
+animation/clip_84/start_frame=0
+animation/clip_84/end_frame=0
+animation/clip_84/loops=false
+animation/clip_85/name=""
+animation/clip_85/start_frame=0
+animation/clip_85/end_frame=0
+animation/clip_85/loops=false
+animation/clip_86/name=""
+animation/clip_86/start_frame=0
+animation/clip_86/end_frame=0
+animation/clip_86/loops=false
+animation/clip_87/name=""
+animation/clip_87/start_frame=0
+animation/clip_87/end_frame=0
+animation/clip_87/loops=false
+animation/clip_88/name=""
+animation/clip_88/start_frame=0
+animation/clip_88/end_frame=0
+animation/clip_88/loops=false
+animation/clip_89/name=""
+animation/clip_89/start_frame=0
+animation/clip_89/end_frame=0
+animation/clip_89/loops=false
+animation/clip_90/name=""
+animation/clip_90/start_frame=0
+animation/clip_90/end_frame=0
+animation/clip_90/loops=false
+animation/clip_91/name=""
+animation/clip_91/start_frame=0
+animation/clip_91/end_frame=0
+animation/clip_91/loops=false
+animation/clip_92/name=""
+animation/clip_92/start_frame=0
+animation/clip_92/end_frame=0
+animation/clip_92/loops=false
+animation/clip_93/name=""
+animation/clip_93/start_frame=0
+animation/clip_93/end_frame=0
+animation/clip_93/loops=false
+animation/clip_94/name=""
+animation/clip_94/start_frame=0
+animation/clip_94/end_frame=0
+animation/clip_94/loops=false
+animation/clip_95/name=""
+animation/clip_95/start_frame=0
+animation/clip_95/end_frame=0
+animation/clip_95/loops=false
+animation/clip_96/name=""
+animation/clip_96/start_frame=0
+animation/clip_96/end_frame=0
+animation/clip_96/loops=false
+animation/clip_97/name=""
+animation/clip_97/start_frame=0
+animation/clip_97/end_frame=0
+animation/clip_97/loops=false
+animation/clip_98/name=""
+animation/clip_98/start_frame=0
+animation/clip_98/end_frame=0
+animation/clip_98/loops=false
+animation/clip_99/name=""
+animation/clip_99/start_frame=0
+animation/clip_99/end_frame=0
+animation/clip_99/loops=false
+animation/clip_100/name=""
+animation/clip_100/start_frame=0
+animation/clip_100/end_frame=0
+animation/clip_100/loops=false
+animation/clip_101/name=""
+animation/clip_101/start_frame=0
+animation/clip_101/end_frame=0
+animation/clip_101/loops=false
+animation/clip_102/name=""
+animation/clip_102/start_frame=0
+animation/clip_102/end_frame=0
+animation/clip_102/loops=false
+animation/clip_103/name=""
+animation/clip_103/start_frame=0
+animation/clip_103/end_frame=0
+animation/clip_103/loops=false
+animation/clip_104/name=""
+animation/clip_104/start_frame=0
+animation/clip_104/end_frame=0
+animation/clip_104/loops=false
+animation/clip_105/name=""
+animation/clip_105/start_frame=0
+animation/clip_105/end_frame=0
+animation/clip_105/loops=false
+animation/clip_106/name=""
+animation/clip_106/start_frame=0
+animation/clip_106/end_frame=0
+animation/clip_106/loops=false
+animation/clip_107/name=""
+animation/clip_107/start_frame=0
+animation/clip_107/end_frame=0
+animation/clip_107/loops=false
+animation/clip_108/name=""
+animation/clip_108/start_frame=0
+animation/clip_108/end_frame=0
+animation/clip_108/loops=false
+animation/clip_109/name=""
+animation/clip_109/start_frame=0
+animation/clip_109/end_frame=0
+animation/clip_109/loops=false
+animation/clip_110/name=""
+animation/clip_110/start_frame=0
+animation/clip_110/end_frame=0
+animation/clip_110/loops=false
+animation/clip_111/name=""
+animation/clip_111/start_frame=0
+animation/clip_111/end_frame=0
+animation/clip_111/loops=false
+animation/clip_112/name=""
+animation/clip_112/start_frame=0
+animation/clip_112/end_frame=0
+animation/clip_112/loops=false
+animation/clip_113/name=""
+animation/clip_113/start_frame=0
+animation/clip_113/end_frame=0
+animation/clip_113/loops=false
+animation/clip_114/name=""
+animation/clip_114/start_frame=0
+animation/clip_114/end_frame=0
+animation/clip_114/loops=false
+animation/clip_115/name=""
+animation/clip_115/start_frame=0
+animation/clip_115/end_frame=0
+animation/clip_115/loops=false
+animation/clip_116/name=""
+animation/clip_116/start_frame=0
+animation/clip_116/end_frame=0
+animation/clip_116/loops=false
+animation/clip_117/name=""
+animation/clip_117/start_frame=0
+animation/clip_117/end_frame=0
+animation/clip_117/loops=false
+animation/clip_118/name=""
+animation/clip_118/start_frame=0
+animation/clip_118/end_frame=0
+animation/clip_118/loops=false
+animation/clip_119/name=""
+animation/clip_119/start_frame=0
+animation/clip_119/end_frame=0
+animation/clip_119/loops=false
+animation/clip_120/name=""
+animation/clip_120/start_frame=0
+animation/clip_120/end_frame=0
+animation/clip_120/loops=false
+animation/clip_121/name=""
+animation/clip_121/start_frame=0
+animation/clip_121/end_frame=0
+animation/clip_121/loops=false
+animation/clip_122/name=""
+animation/clip_122/start_frame=0
+animation/clip_122/end_frame=0
+animation/clip_122/loops=false
+animation/clip_123/name=""
+animation/clip_123/start_frame=0
+animation/clip_123/end_frame=0
+animation/clip_123/loops=false
+animation/clip_124/name=""
+animation/clip_124/start_frame=0
+animation/clip_124/end_frame=0
+animation/clip_124/loops=false
+animation/clip_125/name=""
+animation/clip_125/start_frame=0
+animation/clip_125/end_frame=0
+animation/clip_125/loops=false
+animation/clip_126/name=""
+animation/clip_126/start_frame=0
+animation/clip_126/end_frame=0
+animation/clip_126/loops=false
+animation/clip_127/name=""
+animation/clip_127/start_frame=0
+animation/clip_127/end_frame=0
+animation/clip_127/loops=false
+animation/clip_128/name=""
+animation/clip_128/start_frame=0
+animation/clip_128/end_frame=0
+animation/clip_128/loops=false
+animation/clip_129/name=""
+animation/clip_129/start_frame=0
+animation/clip_129/end_frame=0
+animation/clip_129/loops=false
+animation/clip_130/name=""
+animation/clip_130/start_frame=0
+animation/clip_130/end_frame=0
+animation/clip_130/loops=false
+animation/clip_131/name=""
+animation/clip_131/start_frame=0
+animation/clip_131/end_frame=0
+animation/clip_131/loops=false
+animation/clip_132/name=""
+animation/clip_132/start_frame=0
+animation/clip_132/end_frame=0
+animation/clip_132/loops=false
+animation/clip_133/name=""
+animation/clip_133/start_frame=0
+animation/clip_133/end_frame=0
+animation/clip_133/loops=false
+animation/clip_134/name=""
+animation/clip_134/start_frame=0
+animation/clip_134/end_frame=0
+animation/clip_134/loops=false
+animation/clip_135/name=""
+animation/clip_135/start_frame=0
+animation/clip_135/end_frame=0
+animation/clip_135/loops=false
+animation/clip_136/name=""
+animation/clip_136/start_frame=0
+animation/clip_136/end_frame=0
+animation/clip_136/loops=false
+animation/clip_137/name=""
+animation/clip_137/start_frame=0
+animation/clip_137/end_frame=0
+animation/clip_137/loops=false
+animation/clip_138/name=""
+animation/clip_138/start_frame=0
+animation/clip_138/end_frame=0
+animation/clip_138/loops=false
+animation/clip_139/name=""
+animation/clip_139/start_frame=0
+animation/clip_139/end_frame=0
+animation/clip_139/loops=false
+animation/clip_140/name=""
+animation/clip_140/start_frame=0
+animation/clip_140/end_frame=0
+animation/clip_140/loops=false
+animation/clip_141/name=""
+animation/clip_141/start_frame=0
+animation/clip_141/end_frame=0
+animation/clip_141/loops=false
+animation/clip_142/name=""
+animation/clip_142/start_frame=0
+animation/clip_142/end_frame=0
+animation/clip_142/loops=false
+animation/clip_143/name=""
+animation/clip_143/start_frame=0
+animation/clip_143/end_frame=0
+animation/clip_143/loops=false
+animation/clip_144/name=""
+animation/clip_144/start_frame=0
+animation/clip_144/end_frame=0
+animation/clip_144/loops=false
+animation/clip_145/name=""
+animation/clip_145/start_frame=0
+animation/clip_145/end_frame=0
+animation/clip_145/loops=false
+animation/clip_146/name=""
+animation/clip_146/start_frame=0
+animation/clip_146/end_frame=0
+animation/clip_146/loops=false
+animation/clip_147/name=""
+animation/clip_147/start_frame=0
+animation/clip_147/end_frame=0
+animation/clip_147/loops=false
+animation/clip_148/name=""
+animation/clip_148/start_frame=0
+animation/clip_148/end_frame=0
+animation/clip_148/loops=false
+animation/clip_149/name=""
+animation/clip_149/start_frame=0
+animation/clip_149/end_frame=0
+animation/clip_149/loops=false
+animation/clip_150/name=""
+animation/clip_150/start_frame=0
+animation/clip_150/end_frame=0
+animation/clip_150/loops=false
+animation/clip_151/name=""
+animation/clip_151/start_frame=0
+animation/clip_151/end_frame=0
+animation/clip_151/loops=false
+animation/clip_152/name=""
+animation/clip_152/start_frame=0
+animation/clip_152/end_frame=0
+animation/clip_152/loops=false
+animation/clip_153/name=""
+animation/clip_153/start_frame=0
+animation/clip_153/end_frame=0
+animation/clip_153/loops=false
+animation/clip_154/name=""
+animation/clip_154/start_frame=0
+animation/clip_154/end_frame=0
+animation/clip_154/loops=false
+animation/clip_155/name=""
+animation/clip_155/start_frame=0
+animation/clip_155/end_frame=0
+animation/clip_155/loops=false
+animation/clip_156/name=""
+animation/clip_156/start_frame=0
+animation/clip_156/end_frame=0
+animation/clip_156/loops=false
+animation/clip_157/name=""
+animation/clip_157/start_frame=0
+animation/clip_157/end_frame=0
+animation/clip_157/loops=false
+animation/clip_158/name=""
+animation/clip_158/start_frame=0
+animation/clip_158/end_frame=0
+animation/clip_158/loops=false
+animation/clip_159/name=""
+animation/clip_159/start_frame=0
+animation/clip_159/end_frame=0
+animation/clip_159/loops=false
+animation/clip_160/name=""
+animation/clip_160/start_frame=0
+animation/clip_160/end_frame=0
+animation/clip_160/loops=false
+animation/clip_161/name=""
+animation/clip_161/start_frame=0
+animation/clip_161/end_frame=0
+animation/clip_161/loops=false
+animation/clip_162/name=""
+animation/clip_162/start_frame=0
+animation/clip_162/end_frame=0
+animation/clip_162/loops=false
+animation/clip_163/name=""
+animation/clip_163/start_frame=0
+animation/clip_163/end_frame=0
+animation/clip_163/loops=false
+animation/clip_164/name=""
+animation/clip_164/start_frame=0
+animation/clip_164/end_frame=0
+animation/clip_164/loops=false
+animation/clip_165/name=""
+animation/clip_165/start_frame=0
+animation/clip_165/end_frame=0
+animation/clip_165/loops=false
+animation/clip_166/name=""
+animation/clip_166/start_frame=0
+animation/clip_166/end_frame=0
+animation/clip_166/loops=false
+animation/clip_167/name=""
+animation/clip_167/start_frame=0
+animation/clip_167/end_frame=0
+animation/clip_167/loops=false
+animation/clip_168/name=""
+animation/clip_168/start_frame=0
+animation/clip_168/end_frame=0
+animation/clip_168/loops=false
+animation/clip_169/name=""
+animation/clip_169/start_frame=0
+animation/clip_169/end_frame=0
+animation/clip_169/loops=false
+animation/clip_170/name=""
+animation/clip_170/start_frame=0
+animation/clip_170/end_frame=0
+animation/clip_170/loops=false
+animation/clip_171/name=""
+animation/clip_171/start_frame=0
+animation/clip_171/end_frame=0
+animation/clip_171/loops=false
+animation/clip_172/name=""
+animation/clip_172/start_frame=0
+animation/clip_172/end_frame=0
+animation/clip_172/loops=false
+animation/clip_173/name=""
+animation/clip_173/start_frame=0
+animation/clip_173/end_frame=0
+animation/clip_173/loops=false
+animation/clip_174/name=""
+animation/clip_174/start_frame=0
+animation/clip_174/end_frame=0
+animation/clip_174/loops=false
+animation/clip_175/name=""
+animation/clip_175/start_frame=0
+animation/clip_175/end_frame=0
+animation/clip_175/loops=false
+animation/clip_176/name=""
+animation/clip_176/start_frame=0
+animation/clip_176/end_frame=0
+animation/clip_176/loops=false
+animation/clip_177/name=""
+animation/clip_177/start_frame=0
+animation/clip_177/end_frame=0
+animation/clip_177/loops=false
+animation/clip_178/name=""
+animation/clip_178/start_frame=0
+animation/clip_178/end_frame=0
+animation/clip_178/loops=false
+animation/clip_179/name=""
+animation/clip_179/start_frame=0
+animation/clip_179/end_frame=0
+animation/clip_179/loops=false
+animation/clip_180/name=""
+animation/clip_180/start_frame=0
+animation/clip_180/end_frame=0
+animation/clip_180/loops=false
+animation/clip_181/name=""
+animation/clip_181/start_frame=0
+animation/clip_181/end_frame=0
+animation/clip_181/loops=false
+animation/clip_182/name=""
+animation/clip_182/start_frame=0
+animation/clip_182/end_frame=0
+animation/clip_182/loops=false
+animation/clip_183/name=""
+animation/clip_183/start_frame=0
+animation/clip_183/end_frame=0
+animation/clip_183/loops=false
+animation/clip_184/name=""
+animation/clip_184/start_frame=0
+animation/clip_184/end_frame=0
+animation/clip_184/loops=false
+animation/clip_185/name=""
+animation/clip_185/start_frame=0
+animation/clip_185/end_frame=0
+animation/clip_185/loops=false
+animation/clip_186/name=""
+animation/clip_186/start_frame=0
+animation/clip_186/end_frame=0
+animation/clip_186/loops=false
+animation/clip_187/name=""
+animation/clip_187/start_frame=0
+animation/clip_187/end_frame=0
+animation/clip_187/loops=false
+animation/clip_188/name=""
+animation/clip_188/start_frame=0
+animation/clip_188/end_frame=0
+animation/clip_188/loops=false
+animation/clip_189/name=""
+animation/clip_189/start_frame=0
+animation/clip_189/end_frame=0
+animation/clip_189/loops=false
+animation/clip_190/name=""
+animation/clip_190/start_frame=0
+animation/clip_190/end_frame=0
+animation/clip_190/loops=false
+animation/clip_191/name=""
+animation/clip_191/start_frame=0
+animation/clip_191/end_frame=0
+animation/clip_191/loops=false
+animation/clip_192/name=""
+animation/clip_192/start_frame=0
+animation/clip_192/end_frame=0
+animation/clip_192/loops=false
+animation/clip_193/name=""
+animation/clip_193/start_frame=0
+animation/clip_193/end_frame=0
+animation/clip_193/loops=false
+animation/clip_194/name=""
+animation/clip_194/start_frame=0
+animation/clip_194/end_frame=0
+animation/clip_194/loops=false
+animation/clip_195/name=""
+animation/clip_195/start_frame=0
+animation/clip_195/end_frame=0
+animation/clip_195/loops=false
+animation/clip_196/name=""
+animation/clip_196/start_frame=0
+animation/clip_196/end_frame=0
+animation/clip_196/loops=false
+animation/clip_197/name=""
+animation/clip_197/start_frame=0
+animation/clip_197/end_frame=0
+animation/clip_197/loops=false
+animation/clip_198/name=""
+animation/clip_198/start_frame=0
+animation/clip_198/end_frame=0
+animation/clip_198/loops=false
+animation/clip_199/name=""
+animation/clip_199/start_frame=0
+animation/clip_199/end_frame=0
+animation/clip_199/loops=false
+animation/clip_200/name=""
+animation/clip_200/start_frame=0
+animation/clip_200/end_frame=0
+animation/clip_200/loops=false
+animation/clip_201/name=""
+animation/clip_201/start_frame=0
+animation/clip_201/end_frame=0
+animation/clip_201/loops=false
+animation/clip_202/name=""
+animation/clip_202/start_frame=0
+animation/clip_202/end_frame=0
+animation/clip_202/loops=false
+animation/clip_203/name=""
+animation/clip_203/start_frame=0
+animation/clip_203/end_frame=0
+animation/clip_203/loops=false
+animation/clip_204/name=""
+animation/clip_204/start_frame=0
+animation/clip_204/end_frame=0
+animation/clip_204/loops=false
+animation/clip_205/name=""
+animation/clip_205/start_frame=0
+animation/clip_205/end_frame=0
+animation/clip_205/loops=false
+animation/clip_206/name=""
+animation/clip_206/start_frame=0
+animation/clip_206/end_frame=0
+animation/clip_206/loops=false
+animation/clip_207/name=""
+animation/clip_207/start_frame=0
+animation/clip_207/end_frame=0
+animation/clip_207/loops=false
+animation/clip_208/name=""
+animation/clip_208/start_frame=0
+animation/clip_208/end_frame=0
+animation/clip_208/loops=false
+animation/clip_209/name=""
+animation/clip_209/start_frame=0
+animation/clip_209/end_frame=0
+animation/clip_209/loops=false
+animation/clip_210/name=""
+animation/clip_210/start_frame=0
+animation/clip_210/end_frame=0
+animation/clip_210/loops=false
+animation/clip_211/name=""
+animation/clip_211/start_frame=0
+animation/clip_211/end_frame=0
+animation/clip_211/loops=false
+animation/clip_212/name=""
+animation/clip_212/start_frame=0
+animation/clip_212/end_frame=0
+animation/clip_212/loops=false
+animation/clip_213/name=""
+animation/clip_213/start_frame=0
+animation/clip_213/end_frame=0
+animation/clip_213/loops=false
+animation/clip_214/name=""
+animation/clip_214/start_frame=0
+animation/clip_214/end_frame=0
+animation/clip_214/loops=false
+animation/clip_215/name=""
+animation/clip_215/start_frame=0
+animation/clip_215/end_frame=0
+animation/clip_215/loops=false
+animation/clip_216/name=""
+animation/clip_216/start_frame=0
+animation/clip_216/end_frame=0
+animation/clip_216/loops=false
+animation/clip_217/name=""
+animation/clip_217/start_frame=0
+animation/clip_217/end_frame=0
+animation/clip_217/loops=false
+animation/clip_218/name=""
+animation/clip_218/start_frame=0
+animation/clip_218/end_frame=0
+animation/clip_218/loops=false
+animation/clip_219/name=""
+animation/clip_219/start_frame=0
+animation/clip_219/end_frame=0
+animation/clip_219/loops=false
+animation/clip_220/name=""
+animation/clip_220/start_frame=0
+animation/clip_220/end_frame=0
+animation/clip_220/loops=false
+animation/clip_221/name=""
+animation/clip_221/start_frame=0
+animation/clip_221/end_frame=0
+animation/clip_221/loops=false
+animation/clip_222/name=""
+animation/clip_222/start_frame=0
+animation/clip_222/end_frame=0
+animation/clip_222/loops=false
+animation/clip_223/name=""
+animation/clip_223/start_frame=0
+animation/clip_223/end_frame=0
+animation/clip_223/loops=false
+animation/clip_224/name=""
+animation/clip_224/start_frame=0
+animation/clip_224/end_frame=0
+animation/clip_224/loops=false
+animation/clip_225/name=""
+animation/clip_225/start_frame=0
+animation/clip_225/end_frame=0
+animation/clip_225/loops=false
+animation/clip_226/name=""
+animation/clip_226/start_frame=0
+animation/clip_226/end_frame=0
+animation/clip_226/loops=false
+animation/clip_227/name=""
+animation/clip_227/start_frame=0
+animation/clip_227/end_frame=0
+animation/clip_227/loops=false
+animation/clip_228/name=""
+animation/clip_228/start_frame=0
+animation/clip_228/end_frame=0
+animation/clip_228/loops=false
+animation/clip_229/name=""
+animation/clip_229/start_frame=0
+animation/clip_229/end_frame=0
+animation/clip_229/loops=false
+animation/clip_230/name=""
+animation/clip_230/start_frame=0
+animation/clip_230/end_frame=0
+animation/clip_230/loops=false
+animation/clip_231/name=""
+animation/clip_231/start_frame=0
+animation/clip_231/end_frame=0
+animation/clip_231/loops=false
+animation/clip_232/name=""
+animation/clip_232/start_frame=0
+animation/clip_232/end_frame=0
+animation/clip_232/loops=false
+animation/clip_233/name=""
+animation/clip_233/start_frame=0
+animation/clip_233/end_frame=0
+animation/clip_233/loops=false
+animation/clip_234/name=""
+animation/clip_234/start_frame=0
+animation/clip_234/end_frame=0
+animation/clip_234/loops=false
+animation/clip_235/name=""
+animation/clip_235/start_frame=0
+animation/clip_235/end_frame=0
+animation/clip_235/loops=false
+animation/clip_236/name=""
+animation/clip_236/start_frame=0
+animation/clip_236/end_frame=0
+animation/clip_236/loops=false
+animation/clip_237/name=""
+animation/clip_237/start_frame=0
+animation/clip_237/end_frame=0
+animation/clip_237/loops=false
+animation/clip_238/name=""
+animation/clip_238/start_frame=0
+animation/clip_238/end_frame=0
+animation/clip_238/loops=false
+animation/clip_239/name=""
+animation/clip_239/start_frame=0
+animation/clip_239/end_frame=0
+animation/clip_239/loops=false
+animation/clip_240/name=""
+animation/clip_240/start_frame=0
+animation/clip_240/end_frame=0
+animation/clip_240/loops=false
+animation/clip_241/name=""
+animation/clip_241/start_frame=0
+animation/clip_241/end_frame=0
+animation/clip_241/loops=false
+animation/clip_242/name=""
+animation/clip_242/start_frame=0
+animation/clip_242/end_frame=0
+animation/clip_242/loops=false
+animation/clip_243/name=""
+animation/clip_243/start_frame=0
+animation/clip_243/end_frame=0
+animation/clip_243/loops=false
+animation/clip_244/name=""
+animation/clip_244/start_frame=0
+animation/clip_244/end_frame=0
+animation/clip_244/loops=false
+animation/clip_245/name=""
+animation/clip_245/start_frame=0
+animation/clip_245/end_frame=0
+animation/clip_245/loops=false
+animation/clip_246/name=""
+animation/clip_246/start_frame=0
+animation/clip_246/end_frame=0
+animation/clip_246/loops=false
+animation/clip_247/name=""
+animation/clip_247/start_frame=0
+animation/clip_247/end_frame=0
+animation/clip_247/loops=false
+animation/clip_248/name=""
+animation/clip_248/start_frame=0
+animation/clip_248/end_frame=0
+animation/clip_248/loops=false
+animation/clip_249/name=""
+animation/clip_249/start_frame=0
+animation/clip_249/end_frame=0
+animation/clip_249/loops=false
+animation/clip_250/name=""
+animation/clip_250/start_frame=0
+animation/clip_250/end_frame=0
+animation/clip_250/loops=false
+animation/clip_251/name=""
+animation/clip_251/start_frame=0
+animation/clip_251/end_frame=0
+animation/clip_251/loops=false
+animation/clip_252/name=""
+animation/clip_252/start_frame=0
+animation/clip_252/end_frame=0
+animation/clip_252/loops=false
+animation/clip_253/name=""
+animation/clip_253/start_frame=0
+animation/clip_253/end_frame=0
+animation/clip_253/loops=false
+animation/clip_254/name=""
+animation/clip_254/start_frame=0
+animation/clip_254/end_frame=0
+animation/clip_254/loops=false
+animation/clip_255/name=""
+animation/clip_255/start_frame=0
+animation/clip_255/end_frame=0
+animation/clip_255/loops=false
+animation/clip_256/name=""
+animation/clip_256/start_frame=0
+animation/clip_256/end_frame=0
+animation/clip_256/loops=false
diff --git a/assets/textures/thumbnails/turrets/finance.png b/assets/textures/thumbnails/turrets/finance.png
index d42b900..0053f79 100644
--- a/assets/textures/thumbnails/turrets/finance.png
+++ b/assets/textures/thumbnails/turrets/finance.png
Binary files differ
diff --git a/assets/textures/thumbnails/turrets/slower.png b/assets/textures/thumbnails/turrets/frost.png
index 7355a40..762a831 100644
--- a/assets/textures/thumbnails/turrets/slower.png
+++ b/assets/textures/thumbnails/turrets/frost.png
Binary files differ
diff --git a/assets/textures/thumbnails/turrets/slower.png.import b/assets/textures/thumbnails/turrets/frost.png.import
index 42775a8..0b61c57 100644
--- a/assets/textures/thumbnails/turrets/slower.png.import
+++ b/assets/textures/thumbnails/turrets/frost.png.import
@@ -2,15 +2,15 @@
importer="texture"
type="StreamTexture"
-path="res://.import/slower.png-564311ab0a6b2d42a68471a253272d1a.stex"
+path="res://.import/frost.png-98680390741fd56be15b564785e45f35.stex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://assets/textures/thumbnails/turrets/slower.png"
-dest_files=[ "res://.import/slower.png-564311ab0a6b2d42a68471a253272d1a.stex" ]
+source_file="res://assets/textures/thumbnails/turrets/frost.png"
+dest_files=[ "res://.import/frost.png-98680390741fd56be15b564785e45f35.stex" ]
[params]
diff --git a/assets/textures/thumbnails/turrets/laser.png b/assets/textures/thumbnails/turrets/laser.png
index a34c207..e2dba80 100644
--- a/assets/textures/thumbnails/turrets/laser.png
+++ b/assets/textures/thumbnails/turrets/laser.png
Binary files differ
diff --git a/assets/textures/thumbnails/turrets/plastic.png b/assets/textures/thumbnails/turrets/plastic.png
index 67cbc5c..f29f892 100644
--- a/assets/textures/thumbnails/turrets/plastic.png
+++ b/assets/textures/thumbnails/turrets/plastic.png
Binary files differ
diff --git a/assets/textures/thumbnails/turrets/shotgun.png b/assets/textures/thumbnails/turrets/shotgun.png
index be8ff61..a409543 100644
--- a/assets/textures/thumbnails/turrets/shotgun.png
+++ b/assets/textures/thumbnails/turrets/shotgun.png
Binary files differ
diff --git a/assets/textures/thumbnails/turrets/sniper.png b/assets/textures/thumbnails/turrets/sniper.png
index 0c88f91..bc13cc9 100644
--- a/assets/textures/thumbnails/turrets/sniper.png
+++ b/assets/textures/thumbnails/turrets/sniper.png
Binary files differ
diff --git a/assets/textures/thumbnails/turrets/structI.png b/assets/textures/thumbnails/turrets/structI.png
index 481f259..b6199e0 100644
--- a/assets/textures/thumbnails/turrets/structI.png
+++ b/assets/textures/thumbnails/turrets/structI.png
Binary files differ
diff --git a/assets/textures/thumbnails/turrets/structT.png b/assets/textures/thumbnails/turrets/structT.png
index 834fdc4..b318449 100644
--- a/assets/textures/thumbnails/turrets/structT.png
+++ b/assets/textures/thumbnails/turrets/structT.png
Binary files differ
diff --git a/assets/textures/thumbnails/turrets/structX.png b/assets/textures/thumbnails/turrets/structX.png
index 14ca95e..668629d 100644
--- a/assets/textures/thumbnails/turrets/structX.png
+++ b/assets/textures/thumbnails/turrets/structX.png
Binary files differ
diff --git a/docs/turret/turrets/cannon.md b/docs/turret/turrets/cannon.md
index 3da758f..6910dcf 100644
--- a/docs/turret/turrets/cannon.md
+++ b/docs/turret/turrets/cannon.md
@@ -17,5 +17,6 @@ stats:
- max modules: 3
- projectile:
- type: splash
+ - area of effect: 1
- speed: 3
diff --git a/docs/turret/turrets/final slower.md b/docs/turret/turrets/final slower.md
index 5df0525..dd13407 100644
--- a/docs/turret/turrets/final slower.md
+++ b/docs/turret/turrets/final slower.md
@@ -11,6 +11,7 @@ stats:
- turn speed: 5
- range: 7
- max modules: 5
-- slowness: 15 (seconds)
- projectile:
- type: ray
+ - slowness time: 5 (seconds)
+ - slowness effect: 0.7
diff --git a/docs/turret/turrets/heavy slower.md b/docs/turret/turrets/heavy slower.md
index 75e6e2e..9266c5c 100644
--- a/docs/turret/turrets/heavy slower.md
+++ b/docs/turret/turrets/heavy slower.md
@@ -14,7 +14,8 @@ stats:
- turn speed: 5
- range: 6
- max modules: 5
-- slowness: 15 (seconds)
- projectile:
+ - slowness time: 5 (seconds)
+ - slowness effect: 0.5
- type: bullet
- speed: 10
diff --git a/docs/turret/turrets/heavy stopper.md b/docs/turret/turrets/heavy stopper.md
index 90cddab..af53b8a 100644
--- a/docs/turret/turrets/heavy stopper.md
+++ b/docs/turret/turrets/heavy stopper.md
@@ -10,6 +10,8 @@ stats:
- cooldown: 3
- range: 3
- max modules: 5
-- stop: 3 (seconds)
- projectile:
- type: area
+ - area of effect: 3
+ - slowness time: 2 (seconds)
+ - slowness effect: 1
diff --git a/docs/turret/turrets/slower.md b/docs/turret/turrets/slower.md
index fa9218a..101aefc 100644
--- a/docs/turret/turrets/slower.md
+++ b/docs/turret/turrets/slower.md
@@ -18,7 +18,8 @@ stats:
- turn speed: 5
- range: 5
- max modules: 4
-- slowness: 10 (seconds)
- projectile:
+ - slowness time: 3 (seconds)
+ - slowness effect: 0.5 (half speed)
- type: bullet
- speed: 10
diff --git a/docs/turret/turrets/stopper.md b/docs/turret/turrets/stopper.md
index 76d4d9a..90496d4 100644
--- a/docs/turret/turrets/stopper.md
+++ b/docs/turret/turrets/stopper.md
@@ -13,6 +13,9 @@ stats:
- cooldown: 5
- range: 2
- max modules: 4
-- stop: 3 (seconds)
- projectile:
- type: area
+ - area of effect: 2
+ - slowness time: 1 (seconds)
+ - slowness effect: 1
+
diff --git a/scenes/fx/fx_explosion.tscn b/scenes/fx/fx_explosion.tscn
new file mode 100644
index 0000000..ca68adb
--- /dev/null
+++ b/scenes/fx/fx_explosion.tscn
@@ -0,0 +1,16 @@
+[gd_scene load_steps=4 format=2]
+
+[ext_resource path="res://scripts/fx/selfdestruct.gd" type="Script" id=1]
+
+[sub_resource type="SphereMesh" id=1]
+
+[sub_resource type="SpatialMaterial" id=2]
+flags_transparent = true
+albedo_color = Color( 1, 1, 1, 0.337255 )
+
+[node name="fx_explosion" type="Spatial"]
+script = ExtResource( 1 )
+
+[node name="MeshInstance" type="MeshInstance" parent="."]
+mesh = SubResource( 1 )
+material/0 = SubResource( 2 )
diff --git a/scenes/gui/gui_button.tscn b/scenes/gui/gui_button.tscn
index 1922583..f5c69c0 100644
--- a/scenes/gui/gui_button.tscn
+++ b/scenes/gui/gui_button.tscn
@@ -1,8 +1,11 @@
-[gd_scene load_steps=4 format=2]
+[gd_scene load_steps=5 format=2]
[ext_resource path="res://scripts/gui_button.gd" type="Script" id=1]
[ext_resource path="res://themes/snub_theme.tres" type="Theme" id=2]
+[sub_resource type="StyleBoxFlat" id=4]
+bg_color = Color( 0, 0, 0, 0.305882 )
+
[sub_resource type="StyleBoxFlat" id=3]
bg_color = Color( 0.6, 0.6, 0.6, 0 )
border_width_left = 1
@@ -59,6 +62,16 @@ __meta__ = {
"_edit_use_anchors_": false
}
+[node name="panel_cash" type="Panel" parent="."]
+visible = false
+anchor_right = 1.0
+margin_bottom = 20.0
+theme = ExtResource( 2 )
+custom_styles/panel = SubResource( 4 )
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
[node name="name" type="Label" parent="."]
anchor_right = 1.0
margin_top = 101.0
diff --git a/scenes/projectiles/ray.tscn b/scenes/projectiles/ray.tscn
index c537ebd..37c520d 100644
--- a/scenes/projectiles/ray.tscn
+++ b/scenes/projectiles/ray.tscn
@@ -1,6 +1,6 @@
[gd_scene load_steps=3 format=2]
-[ext_resource path="res://scripts/bullet.gd" type="Script" id=1]
+[ext_resource path="res://scripts/fx/selfdestruct.gd" type="Script" id=1]
[sub_resource type="CubeMesh" id=1]
size = Vector3( 1, 1, 1 )
diff --git a/scripts/bullet.gd b/scripts/bullet.gd
index 3a50a12..86319bb 100644
--- a/scripts/bullet.gd
+++ b/scripts/bullet.gd
@@ -1,9 +1,14 @@
extends Spatial
var _enemies_holder
+var _fx_holder
+var load_scenes
var shooter
var damage = 0
+var aoe = 0
+var slowness_effect = 0
+var slowness_time = 0
var timer = 0
var time_life = 3
@@ -15,60 +20,89 @@ var hitlist = []
var ignore_collisions = false
func _ready():
- if ignore_collisions: return
- _enemies_holder = get_tree().root.get_node("world").find_node("enemies")
+ var root = get_tree().root.get_node("world")
+ _enemies_holder = root.get_node("enemies")
+ _fx_holder = root.get_node("fx")
var _err = $Area.connect("body_entered", self, "collided")
+ var saveload = root.get_node("saveload")
+ load_scenes = saveload.get_node("load_scenes")
+
+func bounce_physics (delta):
+ var forward_dir = -global_transform.basis.z.normalized()
+ var space: PhysicsDirectSpaceState = get_world().direct_space_state
+ var from = transform.origin
+ var to = transform.origin + forward_dir * speed * delta
+ var mask = 0b0101
+ var result = space.intersect_ray(from, to, [], mask)
+ if result.size() > 0:
+ hitlist.clear()
+ var bounced = forward_dir.bounce(result.normal).normalized()
+ var z = -bounced;
+ var x = bounced.cross(result.normal).normalized();
+ var y = x.cross(z).normalized();
+ var basis = Basis(x, y, z);
+ global_transform.basis = basis
+ forward_dir = -global_transform.basis.z.normalized()
+ var dist = transform.origin.distance_to(result.position)
+ transform.origin = result.position
+ var amt = speed * delta - dist
+ global_translate(forward_dir * amt)
+ else:
+ global_translate(forward_dir * speed * delta)
func _physics_process(delta):
timer += delta
if timer >= time_life:
+ if aoe > 0: explode()
queue_free()
return
-
- if ignore_collisions: return
- var forward_dir = -global_transform.basis.z.normalized()
if bounce:
- var space: PhysicsDirectSpaceState = get_world().direct_space_state
- var from = transform.origin
- var to = transform.origin + forward_dir * speed * delta
- var mask = 0b0101
- var result = space.intersect_ray(from, to, [], mask)
- if result.size() > 0:
- hitlist.clear()
- var bounced = forward_dir.bounce(result.normal).normalized()
- var z = -bounced;
- var x = bounced.cross(result.normal).normalized();
- var y = x.cross(z).normalized();
- var basis = Basis(x, y, z);
- global_transform.basis = basis
- forward_dir = -global_transform.basis.z.normalized()
- var dist = transform.origin.distance_to(result.position)
- transform.origin = result.position
- var amt = speed * delta - dist
- global_translate(forward_dir * amt)
- else:
- global_translate(forward_dir * speed * delta)
+ bounce_physics(delta)
else:
+ var forward_dir = -global_transform.basis.z.normalized()
global_translate(forward_dir * speed * delta)
+func explode ():
+ var space = get_world().direct_space_state
+
+ var shape = SphereShape.new()
+ shape.radius = aoe
+
+ var params: = PhysicsShapeQueryParameters.new()
+ params.set_shape(shape)
+ params.collision_mask = 0b1000
+ params.transform = transform
+
+ var result = space.intersect_shape(params)
+ for body in result:
+ apply_damage(body.collider.get_parent().name)
+
+ var fx_ex = load_scenes.fx_explosion.instance()
+ fx_ex.transform = transform
+ fx_ex.transform.basis = fx_ex.transform.basis.scaled(Vector3.ONE * aoe)
+ fx_ex.time_life = 0.2
+ _fx_holder.add_child(fx_ex)
+
func collided(body):
- if ignore_collisions: return
var parent = body.get_parent()
if parent == shooter: return
if parent in hitlist: return
if hit_something == false:
var groups = parent.get_groups()
- if "enemies" in groups:
- _enemies_holder.damage(parent.name, damage)
+ ## TODO design? aoe damages twice: on hit and aoe
+ if "enemies" in groups: apply_damage(parent.name)
+ if aoe > 0: explode()
-
if !bounce:
hit_something = true
+ if aoe > 0: explode()
queue_free()
else:
hitlist.append(parent)
- print(hitlist)
+func apply_damage (enemyname):
+ _enemies_holder.damage(enemyname, damage, slowness_effect, slowness_time)
+
diff --git a/scripts/control.gd b/scripts/control.gd
index 7c8b95d..68b0bb4 100644
--- a/scripts/control.gd
+++ b/scripts/control.gd
@@ -88,8 +88,8 @@ func build_option (st, sttype):
func buy (pos, rot, turr_name):
var info = load_turrets.info[turr_name]
- if resources.greater_than(info.cost):
- resources.sub(info.cost)
+ if ineditor or resources.greater_than(info.cost):
+ if !ineditor: resources.sub(info.cost)
var obj = placer.inst_turret(pos, rot, turr_name)
editing_turret = obj.name
state = Globals.PlayerState.EDIT
@@ -100,8 +100,8 @@ func buy (pos, rot, turr_name):
func upgrade (turr_inst_name, upg_name):
var info = load_turrets.info[upg_name]
- if resources.greater_than(info.cost):
- resources.sub(info.cost)
+ if ineditor or resources.greater_than(info.cost):
+ if !ineditor: resources.sub(info.cost)
var prv = turret_holder.get_node(turr_inst_name)
var pos = prv.transform.origin
var rot = prv.transform.basis.get_rotation_quat()
@@ -254,6 +254,15 @@ func gui_start_wave_event ():
wave.start()
gui.refresh()
+func end_wave_event ():
+ wave.end()
+
+ for turr in turret_holder.get_children():
+ if turr.info.has("resource_per_wave"):
+ resources.add(turr.info.resource_per_wave)
+
+ _refresh()
+
func gui_save_map_event (): saveload_map.map_save()
func gui_save_as_map_event (mapname : String):
diff --git a/scripts/enemies.gd b/scripts/enemies.gd
index fe5ae14..a0f4416 100644
--- a/scripts/enemies.gd
+++ b/scripts/enemies.gd
@@ -7,7 +7,7 @@ var _enemy_blue
var _dissolve_mat : ShaderMaterial
var _enemy_mat : Material
-var wave
+var control
var _fx_holder
var _fx_enemy_damage
@@ -33,7 +33,7 @@ var colors = [
func _ready():
var root = get_tree().root.get_node("world")
_fx_holder = root.get_node("fx")
- wave = root.get_node("wave")
+ control = root.get_node("player").get_node("control")
_path = root.get_node("path")
_resources = root.get_node("player").get_node("resources")
_dissolve_mat = load("res://shaders/dissolve_mat.tres")
@@ -61,8 +61,8 @@ func spawn(name, node_cur=0, rel_pos=0):
enemies[serial_enemy] = {
"name": name,
"hp": info.lives,
- "slowed_effect": 0,
- "slowed_time": 0,
+ "slow_effect": 0,
+ "slow_time": 0,
"cur": node_cur,
"rel": rel_pos,
"axis": [axis.x, axis.y, axis.z]
@@ -93,8 +93,11 @@ func _physics_process(delta):
# todo rel +- epslion
spawn(info.spawn_on_death, enemy.cur, enemy.rel - n/10)
continue
+
+ enemy.slow_time -= delta
+ if enemy.slow_time < 0: enemy.slow_effect = 0
- var speed = info.speed
+ var speed = info.speed * (1-enemy.slow_effect)
enemy.rel += speed * delta
while enemy.rel > 1:
enemy.rel -= 1
@@ -120,18 +123,22 @@ func _physics_process(delta):
enemies.erase(id)
if enemies.size() == 0:
- wave.end()
+ control.end_wave_event()
-func damage(name, amt):
+func damage(name, dam, slow_effect=0, slow_time=0):
var id = int(name)
var enemy = enemies[id]
var info = load_shapes.info[enemy.name]
if enemy.hp > 0:
- enemy.hp -= amt
- _resources.add({ info.resource: amt })
- fx_damage(name)
+ if dam > 0:
+ enemy.hp -= dam
+ _resources.add({ info.resource: dam })
+ fx_damage(name)
+ if slow_effect > 0:
+ enemy.slow_effect = max(slow_effect, enemy.slow_effect)
+ enemy.slow_time = slow_time
func fx_damage(name):
var id = int(name)
diff --git a/scripts/fx/selfdestruct.gd b/scripts/fx/selfdestruct.gd
new file mode 100644
index 0000000..14f941f
--- /dev/null
+++ b/scripts/fx/selfdestruct.gd
@@ -0,0 +1,8 @@
+extends Node
+
+var timer = 0
+var time_life = 3
+
+func _physics_process(delta):
+ timer += delta
+ if timer >= time_life: queue_free()
diff --git a/scripts/gui_picker.gd b/scripts/gui_picker.gd
index b888572..85909ec 100644
--- a/scripts/gui_picker.gd
+++ b/scripts/gui_picker.gd
@@ -52,11 +52,13 @@ func build (options : Array = []):
if opt.type == "turret buy":
var tinfo = load_turrets.info[opt.name]
button.get_node("name").text = tinfo.name
+ button.get_node("panel_cash").visible = true
button.get_node("cash").text = resources.dict_to_str(tinfo.cost)
button.get_node("texture").texture = load_turrets.thumbnails[tinfo.thumbnail_name]
if opt.type == "turret upg":
var tinfo = load_turrets.info[opt.name]
button.get_node("name").text = tinfo.name
+ button.get_node("panel_cash").visible = true
button.get_node("cash").text = resources.dict_to_str(tinfo.cost)
button.get_node("texture").texture = load_turrets.thumbnails[tinfo.thumbnail_name]
tback.texture = thumbs_generic["upgrade.svg"]
diff --git a/scripts/load_scenes.gd b/scripts/load_scenes.gd
index fe237a4..0c28061 100644
--- a/scripts/load_scenes.gd
+++ b/scripts/load_scenes.gd
@@ -5,3 +5,5 @@ var path_start : PackedScene = load("res://scenes/path_start.tscn")
var path : PackedScene = load("res://scenes/path.tscn")
var path_end : PackedScene= load("res://scenes/path_end.tscn")
var attach_point : PackedScene = load("res://scenes/attach_point.tscn")
+
+var fx_explosion : PackedScene = load("res://scenes/fx/fx_explosion.tscn")
diff --git a/scripts/placer.gd b/scripts/placer.gd
index 991f333..18e72e8 100644
--- a/scripts/placer.gd
+++ b/scripts/placer.gd
@@ -132,7 +132,7 @@ func inst_path (pos, rot):
instance.transform.origin = pos + normal * 0.25;
instance.transform.basis = Basis(rot);
instance.set_name("path")
- # remove collision depencency
+ # TODO multiplayer remove collision depencency
colliding_node.transform.basis = Basis(rot);
return instance
diff --git a/scripts/resources.gd b/scripts/resources.gd
index 2575cb3..53462a6 100644
--- a/scripts/resources.gd
+++ b/scripts/resources.gd
@@ -12,8 +12,11 @@ func get_names(): return "Tkads"
func dict_to_str (cost):
var st = ""
+ var i = 0
for n in cost.keys():
- st += str(cost[n]) + n
+ st += str(cost[n]) + n
+ if i <= cost.keys().size()-2: st += " "
+ i += 1
return st
func add (cost):
diff --git a/scripts/turret.gd b/scripts/turret.gd
index a9dfb74..fd44ce0 100644
--- a/scripts/turret.gd
+++ b/scripts/turret.gd
@@ -2,6 +2,7 @@ extends Spatial
var _path : Node
var _enemies : Node
+var _fx_holder : Node
var _projectiles_holder : Node
var _enemies_holder : Node
@@ -27,6 +28,7 @@ func _ready():
_enemies = root.get_node("enemies")
_projectiles_holder = root.get_node("projectiles")
_enemies_holder = root.find_node("enemies")
+ _fx_holder = root.find_node("fx")
projectile = load("res://scenes/projectiles/bullet.tscn")
ray = load("res://scenes/projectiles/ray.tscn")
@@ -81,7 +83,7 @@ func get_target():
else: return null
func _physics_process(delta):
- if !info.has("damage"): return
+ if !info.has("projectile"): return
if !_enemies.enemies.has(_target):
_target = null
@@ -93,6 +95,8 @@ func _physics_process(delta):
_target = get_target()
_target = get_target()
+
+ var turn_speed = info.get("turn_speed", 0)
if _target != null:
var enemy = _enemies.node_from_id(_target)
@@ -112,14 +116,14 @@ func _physics_process(delta):
var base_basis = base.global_transform.basis.get_rotation_quat()
var base_angle = base_basis.angle_to(base_rot)
if base_angle > 0.01:
- var base_amt = (info.turn_speed * delta) / base_angle
+ var base_amt = (turn_speed * delta) / base_angle
base_amt = min(1, base_amt)
base.global_transform.basis = Basis(base_basis.slerp(Basis(base_rot), base_amt))
var gun_basis = gun.transform.basis.get_rotation_quat()
var gun_angle = gun_basis.angle_to(gun_rot)
if gun_angle > 0.01:
- var gun_amt = (info.turn_speed * delta) / gun_angle
+ var gun_amt = (turn_speed * delta) / gun_angle
gun_amt = min(1, gun_amt)
gun.transform.basis = Basis(gun_basis.slerp(Basis(gun_rot), gun_amt))
@@ -142,7 +146,7 @@ func spread (amt : int) -> Array:
return dirs
func shoot ():
- if info.projectile.amount > 1:
+ if info.projectile.get("amount", 1) > 1:
for dir in spread(info.projectile.amount):
shoot_switch(dir)
else:
@@ -160,9 +164,13 @@ func shoot_bullet (dir : Basis, bounce = false):
instance.transform.basis = dir
instance.transform.origin = _shooting_point - dir.z*0.3;
instance.shooter = self
- instance.damage = info.damage
- instance.speed = info.projectile.speed
+ instance.damage = info.projectile.get("damage", 0)
+ instance.speed = info.projectile.get("speed", 0)
instance.bounce = bounce
+ instance.aoe = info.projectile.get("area_of_effect", 0)
+ instance.slowness_effect = info.projectile.get("slowness_effect", 0)
+ instance.slowness_time = info.projectile.get("slowness_time", 0)
+ instance.time_life = info.projectile.get("lifetime", 3)
func shoot_ray (dir : Basis):
var space: PhysicsDirectSpaceState = get_world().direct_space_state
@@ -175,14 +183,17 @@ func shoot_ray (dir : Basis):
var parent = result.collider.get_parent()
var groups = parent.get_groups()
if "enemies" in groups:
- _enemies_holder.damage(parent.name, info.damage)
+ var dam = info.projectile.get("damage", 0)
+ var eff = info.projectile.get("slowness_effect", 0)
+ var tim = info.projectile.get("slowness_time", 0)
+ _enemies_holder.damage(parent.name, dam, eff, tim)
var distance = result.position.distance_to(from)
var instance = ray.instance()
- instance.ignore_collisions = true
- _projectiles_holder.add_child(instance)
+ _fx_holder.add_child(instance)
instance.transform.origin = _shooting_point - dir.z*0.3;
instance.transform.basis = dir
instance.transform.basis.z *= distance
instance.time_life = 0.05
+
diff --git a/scripts/wave.gd b/scripts/wave.gd
index c4c43c7..e61dfef 100644
--- a/scripts/wave.gd
+++ b/scripts/wave.gd
@@ -91,4 +91,3 @@ func start():
func end():
ongoing = false
wave_num += 1
- gui.refresh()