pub(crate) fn divine_purpose_cycle(ctx: &mut HookCtx<'_>) -> bool
Consumes the live Divine Purpose charge, then rolls a fresh one.