aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--assets/turrets.json233
-rw-r--r--docs/bugs.md4
-rw-r--r--docs/turret/modules.md9
-rw-r--r--docs/turret/turret.md27
-rw-r--r--docs/turret/turrets/T generator.md11
-rw-r--r--docs/turret/turrets/cannon.md21
-rw-r--r--docs/turret/turrets/final slower.md16
-rw-r--r--docs/turret/turrets/heavy laser.md20
-rw-r--r--docs/turret/turrets/heavy plastic.md21
-rw-r--r--docs/turret/turrets/heavy slower.md20
-rw-r--r--docs/turret/turrets/heavy stopper.md15
-rw-r--r--docs/turret/turrets/kad generator.md14
-rw-r--r--docs/turret/turrets/laser.md18
-rw-r--r--docs/turret/turrets/minigun.md17
-rw-r--r--docs/turret/turrets/plasma plastic.md18
-rw-r--r--docs/turret/turrets/plastic.md18
-rw-r--r--docs/turret/turrets/railgun.md16
-rw-r--r--docs/turret/turrets/s generator.md11
-rw-r--r--docs/turret/turrets/shotgun.md20
-rw-r--r--docs/turret/turrets/slower.md24
-rw-r--r--docs/turret/turrets/sniper.md19
-rw-r--r--docs/turret/turrets/stopper.md18
-rw-r--r--docs/turret/turrets/struct I.md6
-rw-r--r--docs/turret/turrets/struct T.md6
-rw-r--r--docs/turret/turrets/struct X.md6
-rw-r--r--docs/turret/turrets/tesla.md17
-rw-r--r--scripts/load_turrets.gd1
27 files changed, 596 insertions, 30 deletions
diff --git a/assets/turrets.json b/assets/turrets.json
index 2c13028..4e115a7 100644
--- a/assets/turrets.json
+++ b/assets/turrets.json
@@ -4,27 +4,43 @@
"cost": { "T": 100 },
"cooldown": 1.0,
"damage": 1,
- "turn_speed": 2,
+ "turn_speed": 3,
"range": 5,
- "upgrades": [ "dual laser", "sniper" ],
- "modules_max": 2,
+ "upgrades": [ "heavy laser", "sniper" ],
+ "modules_max": 6,
"model_name": "laser.glb",
"projectile": {
"type": "bullet",
- "speed": 10,
+ "speed": 5,
"model_name": "laser_shot.glb",
"amount": 1
}
},
{
- "name": "dual laser",
- "cost": { "T": 100 },
- "cooldown": 1.0,
- "damage": 1,
- "turn_speed": 2,
+ "name": "heavy laser",
+ "cost": { "T": 250 },
+ "cooldown": 0.9,
+ "damage": 2,
+ "turn_speed": 3,
+ "range": 5,
+ "upgrades": [ "minigun" ],
+ "modules_max": 6,
+ "model_name": "laser.glb",
+ "projectile": {
+ "type": "bullet",
+ "speed": 5,
+ "model_name": "laser_shot.glb",
+ "amount": 1
+ }
+ },
+ {
+ "name": "minigun",
+ "cost": { "T": 1000 },
+ "cooldown": 0.2,
+ "damage": 2,
+ "turn_speed": 10,
"range": 5,
- "upgrades": [ "dual laser", "sniper" ],
- "modules_max": 2,
+ "modules_max": 6,
"model_name": "laser.glb",
"projectile": {
"type": "bullet",
@@ -36,16 +52,31 @@
{
"name": "sniper",
"cost": { "T": 300 },
- "cooldown": 1.5,
+ "cooldown": 2,
"damage": 3,
"turn_speed": 1,
"range": 7,
"upgrades": [ "railgun" ],
- "modules_max": 3,
+ "modules_max": 4,
+ "model_name": "sniper.glb",
+ "projectile": {
+ "type": "ray",
+ "model_name": "ray_laser.glb",
+ "amount": 1
+ }
+ },
+ {
+ "name": "railgun",
+ "cost": { "T": 1200 },
+ "cooldown": 5,
+ "damage": 10,
+ "turn_speed": 1,
+ "range": 8,
+ "modules_max": 4,
"model_name": "sniper.glb",
"projectile": {
"type": "ray",
- "model_name": "laser_ray.glb",
+ "model_name": "ray_laser.glb",
"amount": 1
}
},
@@ -54,25 +85,56 @@
"cost": { "T": 250 },
"cooldown": 2.0,
"damage": 1,
- "turn_speed": 1.2,
- "range": 5,
+ "turn_speed": 1,
+ "range": 4,
"upgrades": [ "cannon" ],
"modules_max": 3,
"model_name": "shotgun.glb",
"projectile": {
"type": "bullet",
- "speed": 10,
+ "speed": 5,
"model_name": "bullet_shot.glb",
"amount": 5,
"spread": 10
}
},
{
+ "name": "cannon",
+ "cost": { "T": 400 },
+ "cooldown": 2.0,
+ "damage": 5,
+ "turn_speed": 1,
+ "range": 4,
+ "upgrades": [ "tesla" ],
+ "modules_max": 3,
+ "model_name": "shotgun.glb",
+ "projectile": {
+ "type": "bomb",
+ "speed": 3,
+ "model_name": "bullet_shot.glb"
+ }
+ },
+ {
+ "name": "tesla",
+ "cost": { "T": 800 },
+ "cooldown": 1.0,
+ "damage": 2,
+ "turn_speed": 1,
+ "range": 4,
+ "modules_max": 5,
+ "model_name": "shotgun.glb",
+ "projectile": {
+ "type": "shock",
+ "jumps": 5,
+ "model_name": "bullet_shot.glb"
+ }
+ },
+ {
"name": "plastic",
"cost": { "T": 400 },
- "cooldown": 1.2,
+ "cooldown": 1.5,
"damage": 1,
- "turn_speed": 1,
+ "turn_speed": 0.5,
"range": 6,
"upgrades": [ "heavy plastic" ],
"modules_max": 3,
@@ -80,6 +142,43 @@
"projectile": {
"type": "bounce",
"model_name": "bullet_bounce.glb",
+ "speed": 5,
+ "max bounces": 2,
+ "amount": 1
+ }
+ },
+ {
+ "name": "heavy plastic",
+ "cost": { "T": 400 },
+ "cooldown": 1.5,
+ "damage": 2,
+ "turn_speed": 0.5,
+ "range": 6,
+ "upgrades": [ "plasma plastic" ],
+ "modules_max": 3,
+ "model_name": "plastic.glb",
+ "projectile": {
+ "type": "bounce",
+ "model_name": "bullet_bounce.glb",
+ "speed": 7.5,
+ "max bounces": 4,
+ "amount": 1
+ }
+ },
+ {
+ "name": "plasma plastic",
+ "cost": { "T": 800 },
+ "cooldown": 1,
+ "damage": 2,
+ "turn_speed": 0.5,
+ "range": 6,
+ "upgrades": [ "plasma plastic" ],
+ "modules_max": 4,
+ "model_name": "plastic.glb",
+ "projectile": {
+ "type": "bounce",
+ "lifetime": 5,
+ "model_name": "bullet_bounce.glb",
"speed": 10,
"amount": 1
}
@@ -87,13 +186,30 @@
{
"name": "slower",
"cost": { "T": 350 },
- "cooldown": 2,
- "damage": 0,
- "turn_speed": 1,
+ "cooldown": 1,
+ "turn_speed": 5,
"range": 5,
"upgrades": [ "heavy slower" ],
"modules_max": 4,
"model_name": "slower.glb",
+ "slowness": 5,
+ "projectile": {
+ "type": "bullet",
+ "model_name": "bullet_slow.glb",
+ "speed": 10,
+ "amount": 1
+ }
+ },
+ {
+ "name": "heavy slower",
+ "cost": { "T": 500 },
+ "cooldown": 0.7,
+ "turn_speed": 5,
+ "range": 6,
+ "upgrades": [ "final slower" ],
+ "modules_max": 5,
+ "model_name": "slower.glb",
+ "slowness": 7,
"projectile": {
"type": "bullet",
"model_name": "bullet_slow.glb",
@@ -102,6 +218,73 @@
}
},
{
+ "name": "final slower",
+ "cost": { "T": 1000 },
+ "cooldown": 2,
+ "turn_speed": 5,
+ "range": 7,
+ "modules_max": 5,
+ "model_name": "slower.glb",
+ "slowness": 10,
+ "projectile": {
+ "type": "ray",
+ "model_name": "ray_slow.glb",
+ "amount": 1
+ }
+ },
+ {
+ "name": "stopper",
+ "cost": { "t": 750 },
+ "cooldown": 5,
+ "range": 2,
+ "upgrades": [ "heavy stopper" ],
+ "modules_max": 4,
+ "model_name": "slower.glb",
+ "stop": 3,
+ "projectile": {
+ "type": "area",
+ "model_name": "ray_slow.glb",
+ "amount": 1
+ }
+ },
+ {
+ "name": "heavy stopper",
+ "cost": { "t": 1000 },
+ "cooldown": 3,
+ "range": 3,
+ "modules_max": 5,
+ "model_name": "slower.glb",
+ "stop": 5,
+ "projectile": {
+ "type": "area",
+ "model_name": "ray_slow.glb",
+ "amount": 1
+ }
+ },
+ {
+ "name": "T generator",
+ "cost": { "T": 800 },
+ "resource_per_wave": { "T": 100 },
+ "upgrades": [ "kad generator" ],
+ "max_modules": 2,
+ "model_name": "finance.glb"
+ },
+ {
+ "name": "kad generator",
+ "cost": { "T": 400 },
+ "resource_per_wave": { "k": 30, "a": 30, "d": 30 },
+ "upgrades": [ "s generator" ],
+ "max_modules": 2,
+ "model_name": "finance.glb"
+ },
+ {
+ "name": "s generator",
+ "cost": { "T": 800 },
+ "resource_per_wave": { "s": 30 },
+ "max_modules": 3,
+ "model_name": "finance.glb"
+ },
+ {
"name": "struct I",
"cost": { "T": 50 },
"model_name": "structI.glb"
@@ -116,11 +299,5 @@
"name": "struct X",
"cost": { "T": 150 },
"model_name": "structX.glb"
- },
- {
- "name": "T generator",
- "cost": { "T": 800 },
- "resource_per_wave": { "T": 100 },
- "model_name": "finance.glb"
}
]
diff --git a/docs/bugs.md b/docs/bugs.md
index 9be8289..96a81d1 100644
--- a/docs/bugs.md
+++ b/docs/bugs.md
@@ -1,4 +1,8 @@
# bugs
+- voxel pick not switch
- attach points on structs error
- plastic projectiles do too much damage
+
+---
+### solved
diff --git a/docs/turret/modules.md b/docs/turret/modules.md
index 8cc46f6..8367a9f 100644
--- a/docs/turret/modules.md
+++ b/docs/turret/modules.md
@@ -1,7 +1,9 @@
## modules
### documentation
-Modules are power ups for turrets. They cost kads, not T, and are the main sink for those resources. Each turret defines how many module can be installed to it max. Multiple modules sum their contributions.
+Modules are power ups for turrets. They cost kads, not T, and are the main sink for those resources. Each turret defines how many module can be installed to it max. Multiple modules sum their contributions. Each module using the same resources costs more (doubling each time).
+
+Modules are shown in the game as attached boxes to the gun.
Module list:
- k
@@ -10,13 +12,18 @@ Module list:
- projectile speed +10%
- a
- double damage when hitting a new enemy
+ - _a new enemy is an enemy never hit by the turret_
- +1 damage
+ - range +15%
- d
- double resources when killing an enemy
- double shot after killing an enemy
- s
- slowness time +20%
- slowness effectiveness +10%
+ - _works both for slower and stopper_
- if enemy has >50% hp, +1 damage
- T
- +1 resource production
+ - advanced targeting
+ - _unlocks more targeting options_
diff --git a/docs/turret/turret.md b/docs/turret/turret.md
index befe76a..8c3fff8 100644
--- a/docs/turret/turret.md
+++ b/docs/turret/turret.md
@@ -10,7 +10,32 @@ slower -> (heavy slower -> final slower) or (stopper -> heavy stopper)
T generator -> kad generator -> s generator
```
-- [modules](modules.md)
+### turret list
+- [laser](./turrets/laser.md)
+- [heavy laser](./turrets/heavy%20laser.md)
+- [minigun](./turrets/minigun.md)
+- [sniper](./turrets/sniper.md)
+- [railgun](./turrets/railgun.md)
+- [shotgun](./turrets/shotgun.md)
+- [cannon](./turrets/cannon.md)
+- [tesla](./turrets/tesla.md)
+- [plastic](./turrets/plastic.md)
+- [heavy plastic](./turrets/heavy%20plastic.md)
+- [plasma plastic](./turrets/plasma%20plastic/md)
+- [slower](./turrets/slower.md)
+- [heavy slower](./turrets/heavy%20slower.md)
+- [final slower](./turrets/final%20slower.md)
+- [stopper](./turrets/stopper.md)
+- [heavy stopper](./turrets/heavy%20stopper.md)
+- [struct I](./turrets/struct%20I.md)
+- [struct T](./turrets/struct%20T.md)
+- [struct X](./turrets/struct%20X.md)
+- [T generator](./turrets/T%20generator.md)
+- [kad generator](./turrets/kad%20generator.md)
+- [s generator](./turrets/s%20generator.md)
+
+
+### [modules](modules.md)
---
diff --git a/docs/turret/turrets/T generator.md b/docs/turret/turrets/T generator.md
new file mode 100644
index 0000000..1648451
--- /dev/null
+++ b/docs/turret/turrets/T generator.md
@@ -0,0 +1,11 @@
+# T generator
+
+Generates T at the end of the wave.
+
+upgrades:
+- [kad generator](kad%20generator.md)
+
+stats:
+- cost: 800T
+- max modules: 2
+- resources per wave: 100T
diff --git a/docs/turret/turrets/cannon.md b/docs/turret/turrets/cannon.md
new file mode 100644
index 0000000..3a26197
--- /dev/null
+++ b/docs/turret/turrets/cannon.md
@@ -0,0 +1,21 @@
+# cannon
+
+Explosive rounds
+
+upgrades from:
+- [shotgun](shotgun.md)
+
+upgrades:
+- [tesla](tesla.md)
+
+stats:
+- cost: 400T
+- damage: 5
+- cooldown: 2
+- turn speed: 1
+- range: 4
+- max modules: 3
+- projectile:
+ - type: bomb
+ - speed: 3
+
diff --git a/docs/turret/turrets/final slower.md b/docs/turret/turrets/final slower.md
new file mode 100644
index 0000000..5df0525
--- /dev/null
+++ b/docs/turret/turrets/final slower.md
@@ -0,0 +1,16 @@
+# final slower
+
+Apply slowness to hit enemies, but ray.
+
+upgrades from:
+- [heavy slower](heavy%20slower.md)
+
+stats:
+- cost: 1000T
+- cooldown: 2
+- turn speed: 5
+- range: 7
+- max modules: 5
+- slowness: 15 (seconds)
+- projectile:
+ - type: ray
diff --git a/docs/turret/turrets/heavy laser.md b/docs/turret/turrets/heavy laser.md
new file mode 100644
index 0000000..2b12043
--- /dev/null
+++ b/docs/turret/turrets/heavy laser.md
@@ -0,0 +1,20 @@
+# heavy laser
+
+Just a better laser, shoots faster and hits harder.
+
+upgrades from:
+- [laser](laser.md)
+
+upgrades:
+- [minigun](minigun.md)
+
+stats:
+- cost: 250T
+- damage: 2
+- cooldown: 0.9
+- turn speed: 3
+- range: 5
+- max modules: 6
+- projectile:
+ - type: bullet
+ - speed: 5
diff --git a/docs/turret/turrets/heavy plastic.md b/docs/turret/turrets/heavy plastic.md
new file mode 100644
index 0000000..4569f08
--- /dev/null
+++ b/docs/turret/turrets/heavy plastic.md
@@ -0,0 +1,21 @@
+# heavy plastic
+
+Bouncing bullets, but they hit harder and bounce more.
+
+upgrades from:
+- [plastic](plastic.md)
+
+upgrades:
+- [plasma plastic](plasma%20plastic.md)
+
+stats:
+- cost: 400T
+- damage: 2
+- cooldown: 1.5
+- turn speed: 0.5
+- range: 6
+- max modules: 3
+- projectile:
+ - type: bounce
+ - speed: 7.5
+ - max bounces: 4
diff --git a/docs/turret/turrets/heavy slower.md b/docs/turret/turrets/heavy slower.md
new file mode 100644
index 0000000..75e6e2e
--- /dev/null
+++ b/docs/turret/turrets/heavy slower.md
@@ -0,0 +1,20 @@
+# heavy slower
+
+Apply slowness to hit enemies, but more.
+
+upgrades from:
+- [slower](slower.md)
+
+upgrades:
+- [final slower](final%20slower.md)
+
+stats:
+- cost: 500T
+- cooldown: 0.7
+- turn speed: 5
+- range: 6
+- max modules: 5
+- slowness: 15 (seconds)
+- projectile:
+ - type: bullet
+ - speed: 10
diff --git a/docs/turret/turrets/heavy stopper.md b/docs/turret/turrets/heavy stopper.md
new file mode 100644
index 0000000..90cddab
--- /dev/null
+++ b/docs/turret/turrets/heavy stopper.md
@@ -0,0 +1,15 @@
+# heavy stopper
+
+Stops enemy in area, more.
+
+upgrades from:
+- [stopper](stopper.md)
+
+stats:
+- cost: 1000T
+- cooldown: 3
+- range: 3
+- max modules: 5
+- stop: 3 (seconds)
+- projectile:
+ - type: area
diff --git a/docs/turret/turrets/kad generator.md b/docs/turret/turrets/kad generator.md
new file mode 100644
index 0000000..3e7b216
--- /dev/null
+++ b/docs/turret/turrets/kad generator.md
@@ -0,0 +1,14 @@
+# kad generator
+
+Generates k, a, d at the end of the wave.
+
+upgrades from:
+- [T generator](T%20generator.md)
+
+upgrades:
+- [s generator](s%20generator.md)
+
+stats:
+- cost: 400T
+- max modules: 2
+- resources per wave: 30k, 30a, 30d
diff --git a/docs/turret/turrets/laser.md b/docs/turret/turrets/laser.md
new file mode 100644
index 0000000..7adaa80
--- /dev/null
+++ b/docs/turret/turrets/laser.md
@@ -0,0 +1,18 @@
+# laser
+
+The base turret, most customizable with modules and upgrade paths.
+
+upgrades:
+- [heavy laser](heavy%20laser.md)
+- [sniper](sniper.md)
+
+stats:
+- cost: 100T
+- damage: 1
+- cooldown: 1
+- turn speed: 3
+- range: 5
+- max modules: 6
+- projectile:
+ - type: bullet
+ - speed: 5
diff --git a/docs/turret/turrets/minigun.md b/docs/turret/turrets/minigun.md
new file mode 100644
index 0000000..d13c20f
--- /dev/null
+++ b/docs/turret/turrets/minigun.md
@@ -0,0 +1,17 @@
+# minigun
+
+Shoots many bullets.
+
+upgrades from:
+- [heavy laser](heavy%20laser.md)
+
+stats:
+- cost: 1000T
+- damage: 2
+- cooldown: 0.2
+- turn speed: 10
+- range: 5
+- max modules: 6
+- projectile:
+ - type: bullet
+ - speed: 10
diff --git a/docs/turret/turrets/plasma plastic.md b/docs/turret/turrets/plasma plastic.md
new file mode 100644
index 0000000..4e0b6eb
--- /dev/null
+++ b/docs/turret/turrets/plasma plastic.md
@@ -0,0 +1,18 @@
+# plasma plastic
+
+Bouncing bullets, forever.
+
+upgrades from:
+- [heavy plastic](heavy%20plastic.md)
+
+stats:
+- cost: 800T
+- damage: 2
+- cooldown: 1
+- turn speed: 0.5
+- range: 6
+- max modules: 4
+- projectile:
+ - type: bounce
+ - speed: 10
+ - lifetime: 5
diff --git a/docs/turret/turrets/plastic.md b/docs/turret/turrets/plastic.md
new file mode 100644
index 0000000..e42da17
--- /dev/null
+++ b/docs/turret/turrets/plastic.md
@@ -0,0 +1,18 @@
+# plastic
+
+Bouncing bullets.
+
+upgrades:
+- [heavy plastic](heavy%20plastic.md)
+
+stats:
+- cost: 400T
+- damage: 1
+- cooldown: 1.5
+- turn speed: 0.5
+- range: 6
+- max modules: 3
+- projectile:
+ - type: bounce
+ - speed: 5
+ - max bounces: 2
diff --git a/docs/turret/turrets/railgun.md b/docs/turret/turrets/railgun.md
new file mode 100644
index 0000000..df09bdd
--- /dev/null
+++ b/docs/turret/turrets/railgun.md
@@ -0,0 +1,16 @@
+# railgun
+
+Extremely high alpha damage.
+
+upgrades from:
+- [sniper](sniper.md)
+
+stats:
+- cost: 1200T
+- damage: 10
+- cooldown: 5
+- turn speed: 1
+- range: 8
+- max modules: 4
+- projectile:
+ - type: ray
diff --git a/docs/turret/turrets/s generator.md b/docs/turret/turrets/s generator.md
new file mode 100644
index 0000000..427e543
--- /dev/null
+++ b/docs/turret/turrets/s generator.md
@@ -0,0 +1,11 @@
+# s generator
+
+Generates s at the end of the wave.
+
+upgrades from:
+- [kad generator](kad%20generator.md)
+
+stats:
+- cost: 800T
+- max modules: 3
+- resources per wave: 30s
diff --git a/docs/turret/turrets/shotgun.md b/docs/turret/turrets/shotgun.md
new file mode 100644
index 0000000..ad2174c
--- /dev/null
+++ b/docs/turret/turrets/shotgun.md
@@ -0,0 +1,20 @@
+# shotgun
+
+Precursor to the cannon.
+
+upgrades:
+- [cannon](cannon.md)
+
+stats:
+- cost: 100T
+- damage: 1
+- cooldown: 2
+- turn speed: 1
+- range: 4
+- max modules: 3
+- projectile:
+ - type: bullet
+ - speed: 5
+ - amount 10
+ - spread 10
+
diff --git a/docs/turret/turrets/slower.md b/docs/turret/turrets/slower.md
new file mode 100644
index 0000000..fa9218a
--- /dev/null
+++ b/docs/turret/turrets/slower.md
@@ -0,0 +1,24 @@
+# slower
+
+Apply slowness to hit enemies.
+
+The name is not good, other names:
+- frost
+- ice
+- rubber
+- friction
+
+upgrades:
+- [heavy slower](heavy%20slower.md)
+- [stopper](stopper.md)
+
+stats:
+- cost: 350T
+- cooldown: 1
+- turn speed: 5
+- range: 5
+- max modules: 4
+- slowness: 10 (seconds)
+- projectile:
+ - type: bullet
+ - speed: 10
diff --git a/docs/turret/turrets/sniper.md b/docs/turret/turrets/sniper.md
new file mode 100644
index 0000000..50dab25
--- /dev/null
+++ b/docs/turret/turrets/sniper.md
@@ -0,0 +1,19 @@
+# sniper
+
+High alpha damage, ray weapon.
+
+upgrades from:
+- [laser](laser.md)
+
+upgrades:
+- [railgun](railgun.md)
+
+stats:
+- cost: 300T
+- damage: 3
+- cooldown: 2
+- turn speed: 1
+- range: 7
+- max modules: 4
+- projectile:
+ - type: ray
diff --git a/docs/turret/turrets/stopper.md b/docs/turret/turrets/stopper.md
new file mode 100644
index 0000000..76d4d9a
--- /dev/null
+++ b/docs/turret/turrets/stopper.md
@@ -0,0 +1,18 @@
+# stopper
+
+Stops enemy in area.
+
+upgrades from:
+- [slower](slower.md)
+
+upgrades:
+- [heavy stopper](heavy%20stopper.md)
+
+stats:
+- cost: 750T
+- cooldown: 5
+- range: 2
+- max modules: 4
+- stop: 3 (seconds)
+- projectile:
+ - type: area
diff --git a/docs/turret/turrets/struct I.md b/docs/turret/turrets/struct I.md
new file mode 100644
index 0000000..5ba878e
--- /dev/null
+++ b/docs/turret/turrets/struct I.md
@@ -0,0 +1,6 @@
+# struct I
+
+Provides one attachment point one unit higher.
+
+stats:
+- cost: 50T
diff --git a/docs/turret/turrets/struct T.md b/docs/turret/turrets/struct T.md
new file mode 100644
index 0000000..63549c3
--- /dev/null
+++ b/docs/turret/turrets/struct T.md
@@ -0,0 +1,6 @@
+# struct T
+
+Provides three attachment points.
+
+stats:
+- cost: 100T
diff --git a/docs/turret/turrets/struct X.md b/docs/turret/turrets/struct X.md
new file mode 100644
index 0000000..2973f89
--- /dev/null
+++ b/docs/turret/turrets/struct X.md
@@ -0,0 +1,6 @@
+# struct X
+
+Provides five attachment points.
+
+stats:
+- cost: 150T
diff --git a/docs/turret/turrets/tesla.md b/docs/turret/turrets/tesla.md
new file mode 100644
index 0000000..2946ab9
--- /dev/null
+++ b/docs/turret/turrets/tesla.md
@@ -0,0 +1,17 @@
+# tesla
+
+Shots jump to multiple enemies.
+
+upgrades from:
+- [cannon](cannon.md)
+
+stats:
+- cost: 800T
+- damage: 2
+- cooldown: 1
+- turn speed: 1
+- range: 4
+- max modules: 5
+- projectile:
+ - type: shock
+ - jumps: 5
diff --git a/scripts/load_turrets.gd b/scripts/load_turrets.gd
index ddb7800..194525c 100644
--- a/scripts/load_turrets.gd
+++ b/scripts/load_turrets.gd
@@ -21,6 +21,7 @@ func get_saveload():
func get_upg_turrets(turret_name):
var results = []
+ return results # otherwise everything breaks
for turr in info[turret_name].get("upgrades", []):
results += [info[turr]]
return results