diff --git a/scripts/Perk.gd b/scripts/Perk.gd index 849db65..169999c 100644 --- a/scripts/Perk.gd +++ b/scripts/Perk.gd @@ -6,4 +6,6 @@ class_name Perk @export var stats: String = "" @export var spell: String = SpellLibrary.NONE @export var icon: Texture2D = null +@export var archetype_slot: String = "" +@export var requires_mode: String = "" var effect: Callable diff --git a/scripts/perk_effects.gd b/scripts/perk_effects.gd index f165fb5..fc0318f 100644 --- a/scripts/perk_effects.gd +++ b/scripts/perk_effects.gd @@ -6,6 +6,7 @@ var fireball = preload("res://scenes/fireball.tscn") var throwing_knife = preload("res://scenes/throwing_knive.tscn") var cauldron var available_perks: Array[Perk] = [] +var spell_modes: Dictionary = {} var fireball_aoe_enabled = false var laser_retarget_enabled = false var throwing_knife_enabled = false @@ -39,6 +40,12 @@ func _stat_new(label: String, val: String) -> String: func _stat_toggle(label: String) -> String: return "[color=#aaaaaa]" + label + "[/color]\n[color=#888888]OFF[/color] → [color=#77dd77]ON[/color]" +func get_mode(slot: String) -> String: + return spell_modes.get(slot, "base") + +func set_mode(slot: String, mode: String) -> void: + spell_modes[slot] = mode + func _ready() -> void: cauldron = witch.get_node("CauldronBar")