diff options
author | bd <bdunahu@operationnull.com> | 2025-05-23 18:23:54 -0400 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2025-05-23 18:23:54 -0400 |
commit | 5eb70873a34bdb0f20a5a4518115c73e957731ca (patch) | |
tree | 65c24b4ff15f2ace361dc38f2fa809448dbbe130 /scripts | |
parent | 39acc5aff9c7ac75b34364ed4d389d7a6bcfc53d (diff) |
Refactor crawlers to define sprites in game_stats_config
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/base_crawler.gd | 3 | ||||
-rw-r--r-- | scripts/fodder.gd | 9 | ||||
-rw-r--r-- | scripts/game_stats_config.gd | 37 | ||||
-rw-r--r-- | scripts/gnome.gd | 9 | ||||
-rw-r--r-- | scripts/soldier.gd | 10 |
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() |