Files
2026-07-06 22:59:47 -07:00

25 lines
629 B
GDScript

class_name JudgementPolicy
extends Resource
@export var entries: Dictionary = {}
func multiplier(label: StringName, channel: StringName, fallback := 1.0) -> float:
var entry := _entry_for(label)
if entry.is_empty():
return fallback
if entry.has(str(channel)):
return float(entry[str(channel)])
if entry.has(channel):
return float(entry[channel])
return fallback
func _entry_for(label: StringName) -> Dictionary:
var key := str(label).to_lower()
if entries.has(key) and entries[key] is Dictionary:
return entries[key]
if entries.has(label) and entries[label] is Dictionary:
return entries[label]
return {}