26 lines
768 B
GDScript
26 lines
768 B
GDScript
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 &""
|
|
|