/**************************************************************** * Demigod ****************************************************************/ static void _gain_power(int which) { if (p_ptr->demigod_power[which] < 0) { int idx = mut_gain_choice(mut_demigod_pred); mut_lock(idx); p_ptr->demigod_power[which] = idx; } else if (!mut_present(p_ptr->demigod_power[which])) { mut_gain(p_ptr->demigod_power[which]); mut_lock(p_ptr->demigod_power[which]); } }
/**************************************************************** * Human ****************************************************************/ static void _human_gain_level(int new_level) { if (new_level >= 30) { if (p_ptr->demigod_power[0] < 0) { int idx = mut_gain_choice(mut_demigod_pred/*mut_human_pred*/); mut_lock(idx); p_ptr->demigod_power[0] = idx; } else if (!mut_present(p_ptr->demigod_power[0])) { mut_gain(p_ptr->demigod_power[0]); mut_lock(p_ptr->demigod_power[0]); } } }