pub(crate) fn base_optional_primary_spell_cost(
program: &CombatProgram,
state: &CombatInstance,
spell: &SpellData,
) -> f64pub(crate) fn base_optional_primary_spell_cost(
program: &CombatProgram,
state: &CombatInstance,
spell: &SpellData,
) -> f64