summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorbd <bdunahu@operationnull.com>2025-05-23 18:23:54 -0400
committerbd <bdunahu@operationnull.com>2025-05-23 18:23:54 -0400
commit5eb70873a34bdb0f20a5a4518115c73e957731ca (patch)
tree65c24b4ff15f2ace361dc38f2fa809448dbbe130 /scripts
parent39acc5aff9c7ac75b34364ed4d389d7a6bcfc53d (diff)
Refactor crawlers to define sprites in game_stats_config
Diffstat (limited to 'scripts')
-rw-r--r--scripts/base_crawler.gd3
-rw-r--r--scripts/fodder.gd9
-rw-r--r--scripts/game_stats_config.gd37
-rw-r--r--scripts/gnome.gd9
-rw-r--r--scripts/soldier.gd10
5 files changed, 42 insertions, 26 deletions
diff --git a/scripts/base_crawler.gd b/scripts/base_crawler.gd
index ffc726c..7a961fc 100644
--- a/scripts/base_crawler.gd
+++ b/scripts/base_crawler.gd
@@ -1,17 +1,20 @@
extends CharacterBody2D
@onready var sprite_node = $Sprite2D
+@onready var util = preload("res://scripts/util.gd")
var damage : int
var speed : float
var max_health : float
var worth : int
+var sprite_atlas : Vector2i
var _health : float
var _timer : Timer
func _ready() -> void:
_health = max_health
+ sprite_node.texture = util.get_tile_texture(sprite_atlas)
_timer = Timer.new()
_timer.wait_time = speed / 60
diff --git a/scripts/fodder.gd b/scripts/fodder.gd
index 3c1dd22..b9ee8f0 100644
--- a/scripts/fodder.gd
+++ b/scripts/fodder.gd
@@ -3,9 +3,10 @@ extends "res://scripts/base_crawler.gd"
var game_stats_config = preload("res://resources/game_stats_config.tres")
func _ready() -> void:
- damage = game_stats_config.fodder_damage
- speed = game_stats_config.fodder_speed
- max_health = game_stats_config.fodder_health
- worth = game_stats_config.fodder_worth
+ damage = game_stats_config.crawlers["fodder"]["damage"]
+ speed = game_stats_config.crawlers["fodder"]["speed"]
+ max_health = game_stats_config.crawlers["fodder"]["health"]
+ worth = game_stats_config.crawlers["fodder"]["worth"]
+ sprite_atlas = game_stats_config.crawlers["fodder"]["sprite"]
super()
diff --git a/scripts/game_stats_config.gd b/scripts/game_stats_config.gd
index 82ddbd1..1710dbc 100644
--- a/scripts/game_stats_config.gd
+++ b/scripts/game_stats_config.gd
@@ -55,17 +55,26 @@ class_name GameStatsConfig
}
# crawlers
-@export var fodder_damage : float = 1.0
-@export var fodder_speed : float = 40.0
-@export var fodder_health : float = 10.0
-@export var fodder_worth : float = 2.0
-
-@export var soldier_damage : float = 1.0
-@export var soldier_speed : float = 30.0
-@export var soldier_health : float = 35.0
-@export var soldier_worth : float = 5.0
-
-@export var gnome_damage : float = 1.0
-@export var gnome_speed : float = 90
-@export var gnome_health : float = 8.0
-@export var gnome_worth : float = 3.0
+@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),
+ },
+}
diff --git a/scripts/gnome.gd b/scripts/gnome.gd
index 308e5fc..c5f7777 100644
--- a/scripts/gnome.gd
+++ b/scripts/gnome.gd
@@ -3,9 +3,10 @@ extends "res://scripts/base_crawler.gd"
var game_stats_config = preload("res://resources/game_stats_config.tres")
func _ready() -> void:
- damage = game_stats_config.gnome_damage
- speed = game_stats_config.gnome_speed
- max_health = game_stats_config.gnome_health
- worth = game_stats_config.gnome_worth
+ damage = game_stats_config.crawlers["gnome"]["damage"]
+ speed = game_stats_config.crawlers["gnome"]["speed"]
+ max_health = game_stats_config.crawlers["gnome"]["health"]
+ worth = game_stats_config.crawlers["gnome"]["worth"]
+ sprite_atlas = game_stats_config.crawlers["gnome"]["sprite"]
super()
diff --git a/scripts/soldier.gd b/scripts/soldier.gd
index 39f9350..85a1276 100644
--- a/scripts/soldier.gd
+++ b/scripts/soldier.gd
@@ -3,8 +3,10 @@ extends "res://scripts/base_crawler.gd"
var game_stats_config = preload("res://resources/game_stats_config.tres")
func _ready() -> void:
- damage = game_stats_config.soldier_damage
- speed = game_stats_config.soldier_speed
- max_health = game_stats_config.soldier_health
- worth = game_stats_config.soldier_worth
+ damage = game_stats_config.crawlers["soldier"]["damage"]
+ speed = game_stats_config.crawlers["soldier"]["speed"]
+ max_health = game_stats_config.crawlers["soldier"]["health"]
+ worth = game_stats_config.crawlers["soldier"]["worth"]
+ sprite_atlas = game_stats_config.crawlers["soldier"]["sprite"]
+
super()