summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/game_data.gd2
-rw-r--r--scripts/game_stats_config.gd39
-rw-r--r--scripts/wave_spawner.gd2
3 files changed, 26 insertions, 17 deletions
diff --git a/scripts/game_data.gd b/scripts/game_data.gd
index cc20c13..8890eff 100644
--- a/scripts/game_data.gd
+++ b/scripts/game_data.gd
@@ -56,7 +56,7 @@ func start_spawning():
func stop_spawning():
_is_spawning = false
- if (_current_wave > game_stats_config.wave_data.size()):
+ if (_current_wave >= game_stats_config.wave_data.size()):
# TODO
print("win!")
else:
diff --git a/scripts/game_stats_config.gd b/scripts/game_stats_config.gd
index 3b19b69..94d2ecc 100644
--- a/scripts/game_stats_config.gd
+++ b/scripts/game_stats_config.gd
@@ -2,26 +2,26 @@ extends Resource
class_name GameStatsConfig
# game stats
-@export var starting_life : int = 20
+@export var starting_life : int = 15
@export var starting_morale : int = 10
# waves
@export var wave_data = [
{
- 15: {"fodder": 5},
+ 15: {"fodder": 4},
27: {"fodder": 8},
- 30: {"fodder": 1, "soldier": 2},
+ 30: {"soldier": 1},
},
{
5: {"fodder": 6},
10: {"soldier": 2},
20: {"fodder": 5, "soldier": 6},
- 30: {"fodder": 5},
+ 30: {"fodder": 6},
},
{
- 7: {"gnome": 10},
- 14: {"soldier": 4},
- 30: {"gnome": 6, "soldier": 8}
+ 7: {"gnome": 6},
+ 14: {"knight": 4},
+ 30: {"gnome": 4, "soldier": 8}
}
]
@@ -32,7 +32,7 @@ enum defenders_index {WARLOCK, WYVERN, WEREWOLF, WELLSPRING}
"desc": "Warlock",
"is_valid": true,
"damage" : 4.0,
- "fire_rate" : 1.2,
+ "fire_rate" : 1.1,
"range": 75.0,
"sprite_panel": Vector2i(32, 4),
"sprite_attacking": Vector2i(28, 1),
@@ -76,7 +76,7 @@ enum defenders_index {WARLOCK, WYVERN, WEREWOLF, WELLSPRING}
{
"desc": "Wyvern",
"is_valid": true,
- "damage" : 1.0,
+ "damage" : 1.5,
"fire_delay" : 1.0,
"range": 40.0,
"projectile_range": 45.0,
@@ -153,21 +153,28 @@ enum defenders_index {WARLOCK, WYVERN, WEREWOLF, WELLSPRING}
"damage" : 1.0,
"speed" : 40.0,
"health": 10.0,
- "worth": 2.0,
+ "worth": 1.0,
"sprite": Vector2i(25, 4),
},
"soldier": {
"damage" : 1.0,
- "speed" : 30.0,
- "health": 35.0,
- "worth": 5.0,
- "sprite": Vector2i(28, 0),
+ "speed" : 35.0,
+ "health": 25.0,
+ "worth": 1.0,
+ "sprite": Vector2i(27, 0),
},
"gnome": {
"damage": 1.0,
- "speed" : 90.0,
- "health": 8.0,
+ "speed" : 80.0,
+ "health": 20.0,
"worth": 3.0,
"sprite": Vector2i(26, 9),
},
+ "knight": {
+ "damage" : 1.0,
+ "speed" : 25.0,
+ "health": 55.0,
+ "worth": 6.0,
+ "sprite": Vector2i(28, 0),
+ },
}
diff --git a/scripts/wave_spawner.gd b/scripts/wave_spawner.gd
index 653fe92..dfbd265 100644
--- a/scripts/wave_spawner.gd
+++ b/scripts/wave_spawner.gd
@@ -5,6 +5,7 @@ extends Node2D
@onready var fodder_enemy = preload("res://scenes/fodder.tscn")
@onready var soldier_enemy = preload("res://scenes/soldier.tscn")
@onready var gnome_enemy = preload("res://scenes/gnome.tscn")
+@onready var knight_enemy = preload("res://scenes/gnome.tscn")
@onready var map = get_node("../Map")
@onready var _path : Path2D
@@ -16,6 +17,7 @@ func _ready() -> void:
"fodder": fodder_enemy,
"soldier": soldier_enemy,
"gnome": gnome_enemy,
+ "knight": knight_enemy,
}
var curve : Curve2D = Curve2D.new()