class_name PlayerSkillBindings extends Resource @export var charge_entries: Array[Dictionary] = [] @export var burst_action_id: StringName = &"" @export var counter_action_id: StringName = &"" @export var blade_chain_action_id: StringName = &"" func charge_entry_for_symbol(symbol: StringName) -> Dictionary: for entry: Dictionary in charge_entries: if StringName(str(entry.get("symbol", &""))) == symbol: return entry.duplicate(true) return {} func cast_action_id(entry: Dictionary, level: int) -> StringName: var cast_ids: Dictionary = entry.get("cast_action_ids", {}) if cast_ids.has(level): return StringName(str(cast_ids[level])) var level_key := str(level) if cast_ids.has(level_key): return StringName(str(cast_ids[level_key])) return &""