fn school_and_weapon_requirements(
program: &CombatProgram,
state: &CombatInstance,
candidate: CastCandidate,
now: SimTime,
) -> Result<(), CastReject>fn school_and_weapon_requirements(
program: &CombatProgram,
state: &CombatInstance,
candidate: CastCandidate,
now: SimTime,
) -> Result<(), CastReject>