diff options
Diffstat (limited to 'scripts/base_defender.gd')
-rw-r--r-- | scripts/base_defender.gd | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/scripts/base_defender.gd b/scripts/base_defender.gd index 06ac34f..088f235 100644 --- a/scripts/base_defender.gd +++ b/scripts/base_defender.gd @@ -12,9 +12,9 @@ var target : CharacterBody2D var _idle_texture : Texture var _attack_texture : Texture -func set_tower_stats(tower_name : String): - tower_key = tower_name - tower_data = game_stats_config.defenders[tower_key] +func set_tower_stats(tower_index : int): + tower_data = game_stats_config.defenders[tower_index].duplicate() + tower_key = tower_data["desc"] func reset_tower_range(): $Tower/CollisionShape2D.shape.radius = tower_data["range"] @@ -24,9 +24,6 @@ func reset_tower_sprite(): _attack_texture = util.get_tile_texture(tower_data["sprite_attacking"]) _idle_state() -func get_tower_key() -> String: - return tower_key - func select_target() -> void: var targets : Array = _find_targets() @@ -73,7 +70,9 @@ func _idle_state(): func apply_upgrade(effects: Dictionary): for key in effects.keys(): if key in tower_data: - tower_data[key] += effects[key] + tower_data[key] = effects[key] + reset_tower_range() + reset_tower_sprite() # extending classes should override below func _on_fire_timer_timeout() -> void: |