diff options
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/game_data.gd | 2 | ||||
-rw-r--r-- | scripts/game_stats_config.gd | 39 | ||||
-rw-r--r-- | scripts/wave_spawner.gd | 2 |
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() |