summaryrefslogtreecommitdiff
path: root/scripts/game_stats_config.gd
blob: 38d9cd874eadc1ec99bdf190c5672c9d7ad77bc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
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
enum defenders_index {WARLOCK, WYVERN, WEREWOLF, WELLSPRING}
@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),
	},
}