extends Resource class_name GameStatsConfig # game stats @export var starting_life : int = 20 @export var starting_morale : int = 10 # waves @export var max_wave : int = 3 @export var wave_time : float = 30.0 @export var wave_targets = [ 15, 40, 120 ] # defenders @export var defenders : Array[Dictionary] = [ { "desc": "Warlock", "damage" : 4.0, "fire_rate" : 1.2, "range": 75.0, "sprite_panel": Vector2i(32, 4), "sprite_attacking": Vector2i(28, 1), "sprite_idle": Vector2i(29, 1), "cost": 10, "projectile_speed" : 100, "upgrades": [ { "desc": "Phoenix (DMG)", "sprite_panel": Vector2i(32, 5), "cost": 12, "effects": { "damage": 9.0, }, }, { "desc": "Sparrow (DUP)", "sprite_panel": Vector2i(35, 5), "cost": 7, "effects": { "fire_rate": 1.7 } }, { "desc": "Falcon (RNGE)", "sprite_panel": Vector2i(34, 4), "cost": 20, "effects": { "projectile_speed": 200.0, "range": 275.0, "sprite_attacking": Vector2i(31, 2), "sprite_idle": Vector2i(31, 1), } }, ], }, { "desc": "Wyvern", "damage" : 1.0, "fire_rate" : 1.0, "range": 35.0, "sprite_panel": Vector2i(28, 11), "sprite_attacking": Vector2i(25, 10), "sprite_idle": Vector2i(24, 10), "cost": 15, "damage_tick_rate": 0.25, # TODO "upgrades": [], }, # TODO { "desc": "Werewolf", "damage": 1.0, "fire_rate": 1.0, "range": 1.0, "sprite_panel": Vector2i(26, 11), "sprite_attacking": Vector2i(26, 11), "sprite_idle": Vector2i(26, 11), "cost": 1, "upgrades": [], }, { "desc": "Wellspring", "damage": 1.0, "fire_rate": 1.0, "range": 1.0, "sprite_panel": Vector2i(38, 11), "sprite_attacking": Vector2i(38, 11), "sprite_idle": Vector2i(38, 11), "cost": 1, "upgrades": [], } ] # crawlers @export var crawlers : Dictionary[String, Dictionary] = { "fodder": { "damage" : 1.0, "speed" : 40.0, "health": 10.0, "worth": 2.0, "sprite": Vector2i(25, 4), }, "soldier": { "damage" : 1.0, "speed" : 30.0, "health": 35.0, "worth": 5.0, "sprite": Vector2i(28, 0), }, "gnome": { "damage": 1.0, "speed" : 90.0, "health": 8.0, "worth": 3.0, "sprite": Vector2i(26, 9), }, }