extends Resource class_name GameStatsConfig # game stats @export var starting_life : int = 20 @export var starting_morale : int = 10 # waves @export var wave_data = [ { 15: {"fodder": 5}, 27: {"fodder": 8}, 30: {"fodder": 1, "soldier": 2}, }, { 5: {"fodder": 6}, 10: {"soldier": 2}, 20: {"fodder": 5, "soldier": 6}, 30: {"fodder": 5}, }, { 7: {"gnome": 10}, 14: {"soldier": 4}, 30: {"gnome": 6, "soldier": 8} } ] # defenders enum defenders_index {WARLOCK, WYVERN, WEREWOLF, WELLSPRING} @export var defenders : Array[Dictionary] = [ { "desc": "Warlock", "is_valid": true, "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" : 125, "chaos_factor": 35.0, "max_projectile_lifetime": 7.5, "upgrades": [ { "desc": "Phoenix (DMG)", "is_valid": false, "sprite_panel": Vector2i(32, 5), "cost": 9999, "effects": { }, }, { "desc": "Falcon (RNGE)", "is_valid": true, "sprite_panel": Vector2i(34, 4), "cost": 15, "effects": { "projectile_speed": 300.0, "range": 275.0, "chaos_factor": 0.0, "sprite_attacking": Vector2i(31, 2), "sprite_idle": Vector2i(31, 1), } }, { "desc": "Sparrow (DUP)", "is_valid": false, "sprite_panel": Vector2i(35, 5), "cost": 9999, "effects": { } }, ], }, { "desc": "Wyvern", "is_valid": true, "damage" : 1.0, "fire_delay" : 1.0, "range": 40.0, "projectile_range": 45.0, "sprite_panel": Vector2i(28, 11), "sprite_attacking": Vector2i(25, 10), "sprite_idle": Vector2i(24, 10), "cost": 15, "damage_tick_rate": 0.25, "chaos_factor": 10, # TODO "upgrades": [ { "desc": "Skittles (SPD)", "is_valid": true, "sprite_panel": Vector2i(28, 12), "cost": 7, "effects": { "fire_delay": 0.1 } }, { "desc": "Pop Rocks (RNGE)", "is_valid": true, "sprite_panel": Vector2i(31, 12), "cost": 30.0, "effects": { "damage": 4.0, "damage_tick_rate": 0.75, "chaos_factor": 7.5, "range": 55.0, "projectile_range": 70.0, } }, { "desc": "Twizzlers (DUP)", "is_valid": false, "sprite_panel": Vector2i(27, 12), "cost": 9999, "effects": { } }, ], }, # TODO { "desc": "Werewolf", "is_valid": false, "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": 9999, "upgrades": [], }, { "desc": "Wellspring", "is_valid": false, "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": 9999, "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), }, }