/* Aux function */
-void get_random_virtue(int which)
+static void get_random_virtue(int which)
{
int type = 0;
{
switch (randint1(29))
{
- case 1: case 2: case 3:
- type = V_SACRIFICE;
- break;
- case 4: case 5: case 6:
- type = V_COMPASSION;
- break;
- case 7: case 8: case 9: case 10: case 11: case 12:
- type = V_VALOUR;
- break;
- case 13: case 14: case 15: case 16: case 17:
- type = V_HONOUR;
- break;
- case 18: case 19: case 20: case 21:
- type = V_JUSTICE;
- break;
- case 22: case 23:
- type = V_TEMPERANCE;
- break;
- case 24: case 25:
- type = V_HARMONY;
- break;
- case 26: case 27: case 28:
- type = V_PATIENCE;
- break;
- default:
- type = V_DILIGENCE;
+ case 1: case 2: case 3:
+ type = V_SACRIFICE;
+ break;
+ case 4: case 5: case 6:
+ type = V_COMPASSION;
+ break;
+ case 7: case 8: case 9: case 10: case 11: case 12:
+ type = V_VALOUR;
+ break;
+ case 13: case 14: case 15: case 16: case 17:
+ type = V_HONOUR;
+ break;
+ case 18: case 19: case 20: case 21:
+ type = V_JUSTICE;
+ break;
+ case 22: case 23:
+ type = V_TEMPERANCE;
+ break;
+ case 24: case 25:
+ type = V_HARMONY;
+ break;
+ case 26: case 27: case 28:
+ type = V_PATIENCE;
+ break;
+ default:
+ type = V_DILIGENCE;
}
}
/* Select virtues & reset values for a new character */
-void get_virtues()
+void get_virtues(void)
{
int i = 0, j = 0;
{
switch(p_ptr->realm1)
{
- case REALM_LIFE:
- if (virtue_number(V_VITALITY))
- p_ptr->vir_types[i++] = V_TEMPERANCE;
- else p_ptr->vir_types[i++] = V_VITALITY;
- break;
- case REALM_SORCERY:
- if (virtue_number(V_KNOWLEDGE))
- p_ptr->vir_types[i++] = V_ENCHANT;
- else p_ptr->vir_types[i++] = V_KNOWLEDGE;
- break;
- case REALM_NATURE:
- if (virtue_number(V_NATURE))
- p_ptr->vir_types[i++] = V_HARMONY;
- else p_ptr->vir_types[i++] = V_NATURE;
- break;
- case REALM_CHAOS:
- if (virtue_number(V_CHANCE))
- p_ptr->vir_types[i++] = V_INDIVIDUALISM;
- else p_ptr->vir_types[i++] = V_CHANCE;
- break;
- case REALM_DEATH:
- p_ptr->vir_types[i++] = V_UNLIFE;
- break;
- case REALM_TRUMP:
- p_ptr->vir_types[i++] = V_KNOWLEDGE;
- break;
- case REALM_ARCANE:
- break;
- case REALM_ENCHANT:
- if (virtue_number(V_ENCHANT))
- p_ptr->vir_types[i++] = V_INDIVIDUALISM;
- else p_ptr->vir_types[i++] = V_ENCHANT;
- break;
- case REALM_DAEMON:
- if (virtue_number(V_JUSTICE))
- p_ptr->vir_types[i++] = V_FAITH;
- else p_ptr->vir_types[i++] = V_JUSTICE;
- break;
- case REALM_CRUSADE:
- if (virtue_number(V_JUSTICE))
- p_ptr->vir_types[i++] = V_HONOUR;
- else p_ptr->vir_types[i++] = V_JUSTICE;
- break;
+ case REALM_LIFE:
+ if (virtue_number(V_VITALITY))
+ p_ptr->vir_types[i++] = V_TEMPERANCE;
+ else p_ptr->vir_types[i++] = V_VITALITY;
+ break;
+ case REALM_SORCERY:
+ if (virtue_number(V_KNOWLEDGE))
+ p_ptr->vir_types[i++] = V_ENCHANT;
+ else p_ptr->vir_types[i++] = V_KNOWLEDGE;
+ break;
+ case REALM_NATURE:
+ if (virtue_number(V_NATURE))
+ p_ptr->vir_types[i++] = V_HARMONY;
+ else p_ptr->vir_types[i++] = V_NATURE;
+ break;
+ case REALM_CHAOS:
+ if (virtue_number(V_CHANCE))
+ p_ptr->vir_types[i++] = V_INDIVIDUALISM;
+ else p_ptr->vir_types[i++] = V_CHANCE;
+ break;
+ case REALM_DEATH:
+ p_ptr->vir_types[i++] = V_UNLIFE;
+ break;
+ case REALM_TRUMP:
+ p_ptr->vir_types[i++] = V_KNOWLEDGE;
+ break;
+ case REALM_ARCANE:
+ break;
+ case REALM_ENCHANT:
+ if (virtue_number(V_ENCHANT))
+ p_ptr->vir_types[i++] = V_INDIVIDUALISM;
+ else p_ptr->vir_types[i++] = V_ENCHANT;
+ break;
+ case REALM_DAEMON:
+ if (virtue_number(V_JUSTICE))
+ p_ptr->vir_types[i++] = V_FAITH;
+ else p_ptr->vir_types[i++] = V_JUSTICE;
+ break;
+ case REALM_CRUSADE:
+ if (virtue_number(V_JUSTICE))
+ p_ptr->vir_types[i++] = V_HONOUR;
+ else p_ptr->vir_types[i++] = V_JUSTICE;
+ break;
};
}
{
switch(p_ptr->realm2)
{
- case REALM_LIFE:
- if (virtue_number(V_VITALITY))
- p_ptr->vir_types[i++] = V_TEMPERANCE;
- else p_ptr->vir_types[i++] = V_VITALITY;
- break;
- case REALM_SORCERY:
- if (virtue_number(V_ENCHANT))
- p_ptr->vir_types[i++] = V_KNOWLEDGE;
- else p_ptr->vir_types[i++] = V_ENCHANT;
- break;
- case REALM_NATURE:
- if (virtue_number(V_NATURE))
- p_ptr->vir_types[i++] = V_HARMONY;
- else p_ptr->vir_types[i++] = V_NATURE;
- break;
- case REALM_CHAOS:
- if (virtue_number(V_CHANCE))
- p_ptr->vir_types[i++] = V_INDIVIDUALISM;
- else p_ptr->vir_types[i++] = V_CHANCE;
- break;
- case REALM_DEATH:
- p_ptr->vir_types[i++] = V_UNLIFE;
- break;
- case REALM_TRUMP:
- p_ptr->vir_types[i++] = V_KNOWLEDGE;
- break;
- case REALM_ARCANE:
- break;
- case REALM_ENCHANT:
- if (virtue_number(V_ENCHANT))
+ case REALM_LIFE:
+ if (virtue_number(V_VITALITY))
+ p_ptr->vir_types[i++] = V_TEMPERANCE;
+ else p_ptr->vir_types[i++] = V_VITALITY;
+ break;
+ case REALM_SORCERY:
+ if (virtue_number(V_ENCHANT))
+ p_ptr->vir_types[i++] = V_KNOWLEDGE;
+ else p_ptr->vir_types[i++] = V_ENCHANT;
+ break;
+ case REALM_NATURE:
+ if (virtue_number(V_NATURE))
+ p_ptr->vir_types[i++] = V_HARMONY;
+ else p_ptr->vir_types[i++] = V_NATURE;
+ break;
+ case REALM_CHAOS:
+ if (virtue_number(V_CHANCE))
+ p_ptr->vir_types[i++] = V_INDIVIDUALISM;
+ else p_ptr->vir_types[i++] = V_CHANCE;
+ break;
+ case REALM_DEATH:
+ p_ptr->vir_types[i++] = V_UNLIFE;
+ break;
+ case REALM_TRUMP:
+ p_ptr->vir_types[i++] = V_KNOWLEDGE;
+ break;
+ case REALM_ARCANE:
+ break;
+ case REALM_ENCHANT:
+ if (virtue_number(V_ENCHANT))
p_ptr->vir_types[i++] = V_INDIVIDUALISM;
- else p_ptr->vir_types[i++] = V_ENCHANT;
- break;
- case REALM_DAEMON:
- if (virtue_number(V_JUSTICE))
- p_ptr->vir_types[i++] = V_FAITH;
- else p_ptr->vir_types[i++] = V_JUSTICE;
- break;
- case REALM_CRUSADE:
- if (virtue_number(V_JUSTICE))
- p_ptr->vir_types[i++] = V_HONOUR;
- else p_ptr->vir_types[i++] = V_JUSTICE;
- break;
+ else p_ptr->vir_types[i++] = V_ENCHANT;
+ break;
+ case REALM_DAEMON:
+ if (virtue_number(V_JUSTICE))
+ p_ptr->vir_types[i++] = V_FAITH;
+ else p_ptr->vir_types[i++] = V_JUSTICE;
+ break;
+ case REALM_CRUSADE:
+ if (virtue_number(V_JUSTICE))
+ p_ptr->vir_types[i++] = V_HONOUR;
+ else p_ptr->vir_types[i++] = V_JUSTICE;
+ break;
};
}
for (i = 0; i < 8; i++)
{
- if (p_ptr->vir_types[i] == virtue)
- {
- if (amount > 0)
- {
- if ((amount + p_ptr->virtues[i] > 50) && one_in_(2))
+ if (p_ptr->vir_types[i] == virtue)
+ {
+ if (amount > 0)
+ {
+ if ((amount + p_ptr->virtues[i] > 50) && one_in_(2))
{
p_ptr->virtues[i] = MAX(p_ptr->virtues[i], 50);
return;
}
- if ((amount + p_ptr->virtues[i] > 80) && one_in_(2))
+ if ((amount + p_ptr->virtues[i] > 80) && one_in_(2))
{
p_ptr->virtues[i] = MAX(p_ptr->virtues[i], 80);
return;
}
- if ((amount + p_ptr->virtues[i] > 100) && one_in_(2))
+ if ((amount + p_ptr->virtues[i] > 100) && one_in_(2))
{
p_ptr->virtues[i] = MAX(p_ptr->virtues[i], 100);
return;
}
- if (amount + p_ptr->virtues[i] > 125)
- p_ptr->virtues[i] = 125;
- else
- p_ptr->virtues[i] = p_ptr->virtues[i] + amount;
- }
- else
- {
- if ((amount + p_ptr->virtues[i] < -50) && one_in_(2))
+ if (amount + p_ptr->virtues[i] > 125)
+ p_ptr->virtues[i] = 125;
+ else
+ p_ptr->virtues[i] = p_ptr->virtues[i] + amount;
+ }
+ else
+ {
+ if ((amount + p_ptr->virtues[i] < -50) && one_in_(2))
{
p_ptr->virtues[i] = MIN(p_ptr->virtues[i], -50);
return;
}
- if ((amount + p_ptr->virtues[i] < -80) && one_in_(2))
+ if ((amount + p_ptr->virtues[i] < -80) && one_in_(2))
{
p_ptr->virtues[i] = MIN(p_ptr->virtues[i], -80);
return;
}
- if ((amount + p_ptr->virtues[i] < -100) && one_in_(2))
+ if ((amount + p_ptr->virtues[i] < -100) && one_in_(2))
{
p_ptr->virtues[i] = MIN(p_ptr->virtues[i], -100);
return;
}
- if (amount + p_ptr->virtues[i] < -125)
- p_ptr->virtues[i] = -125;
- else
- p_ptr->virtues[i] = p_ptr->virtues[i] + amount;
- }
+ if (amount + p_ptr->virtues[i] < -125)
+ p_ptr->virtues[i] = -125;
+ else
+ p_ptr->virtues[i] = p_ptr->virtues[i] + amount;
+ }
p_ptr->update |= (PU_BONUS);
- return;
- }
+ return;
+ }
}
}
for (i = 0; i < 8; i++)
{
- if (p_ptr->vir_types[i] == virtue)
- {
+ if (p_ptr->vir_types[i] == virtue)
+ {
p_ptr->virtues[i] = amount;
return;
}
if (!OutFile) return;
- for (v_nr = 0; v_nr < 8; v_nr++)
- {
- char v_name [20];
+ for (v_nr = 0; v_nr < 8; v_nr++)
+ {
+ char v_name [20];
- int tester = p_ptr->virtues[v_nr];
+ int tester = p_ptr->virtues[v_nr];
- strcpy(v_name, virtue[(p_ptr->vir_types[v_nr])-1]);
+ strcpy(v_name, virtue[(p_ptr->vir_types[v_nr])-1]);
- if (p_ptr->vir_types[v_nr] == 0 || p_ptr->vir_types[v_nr] >
- MAX_VIRTUE)
+ if (p_ptr->vir_types[v_nr] == 0 || p_ptr->vir_types[v_nr] >
+ MAX_VIRTUE)
#ifdef JP
- fprintf(OutFile, "¤ª¤Ã¤È¡£%s¤Î¾ðÊó¤Ê¤·¡£", v_name);
+ fprintf(OutFile, "¤ª¤Ã¤È¡£%s¤Î¾ðÊó¤Ê¤·¡£", v_name);
#else
- fprintf(OutFile, "Oops. No info about %s.", v_name);
+ fprintf(OutFile, "Oops. No info about %s.", v_name);
#endif
- else if (tester < -100)
+ else if (tester < -100)
#ifdef JP
- fprintf(OutFile, "[%s]¤ÎÂжË",
+ fprintf(OutFile, "[%s]¤ÎÂжË",
#else
- fprintf(OutFile, "You are the polar opposite of %s.",
+ fprintf(OutFile, "You are the polar opposite of %s.",
#endif
- v_name);
- else if (tester < -80)
+ v_name);
+ else if (tester < -80)
#ifdef JP
- fprintf(OutFile, "[%s]¤ÎÂçŨ",
+ fprintf(OutFile, "[%s]¤ÎÂçŨ",
#else
- fprintf(OutFile, "You are an arch-enemy of %s.",
+ fprintf(OutFile, "You are an arch-enemy of %s.",
#endif
- v_name);
- else if (tester < -60)
+ v_name);
+ else if (tester < -60)
#ifdef JP
- fprintf(OutFile, "[%s]¤Î¶¯Å¨",
+ fprintf(OutFile, "[%s]¤Î¶¯Å¨",
#else
- fprintf(OutFile, "You are a bitter enemy of %s.",
+ fprintf(OutFile, "You are a bitter enemy of %s.",
#endif
- v_name);
- else if (tester < -40)
+ v_name);
+ else if (tester < -40)
#ifdef JP
- fprintf(OutFile, "[%s]¤ÎŨ",
+ fprintf(OutFile, "[%s]¤ÎŨ",
#else
- fprintf(OutFile, "You are an enemy of %s.",
+ fprintf(OutFile, "You are an enemy of %s.",
#endif
- v_name);
- else if (tester < -20)
+ v_name);
+ else if (tester < -20)
#ifdef JP
- fprintf(OutFile, "[%s]¤Îºá¼Ô",
+ fprintf(OutFile, "[%s]¤Îºá¼Ô",
#else
- fprintf(OutFile, "You have sinned against %s.",
+ fprintf(OutFile, "You have sinned against %s.",
#endif
- v_name);
- else if (tester < 0)
+ v_name);
+ else if (tester < 0)
#ifdef JP
- fprintf(OutFile, "[%s]¤ÎÌÂÆ»¼Ô",
+ fprintf(OutFile, "[%s]¤ÎÌÂÆ»¼Ô",
#else
- fprintf(OutFile, "You have strayed from the path of %s.",
+ fprintf(OutFile, "You have strayed from the path of %s.",
#endif
- v_name);
- else if (tester == 0)
+ v_name);
+ else if (tester == 0)
#ifdef JP
- fprintf(OutFile,"[%s]¤ÎÃæΩ¼Ô",
+ fprintf(OutFile,"[%s]¤ÎÃæΩ¼Ô",
#else
- fprintf(OutFile,"You are neutral to %s.",
+ fprintf(OutFile,"You are neutral to %s.",
#endif
- v_name);
- else if (tester < 20)
+ v_name);
+ else if (tester < 20)
#ifdef JP
- fprintf(OutFile,"[%s]¤Î¾®ÆÁ¼Ô",
+ fprintf(OutFile,"[%s]¤Î¾®ÆÁ¼Ô",
#else
- fprintf(OutFile,"You are somewhat virtuous in %s.",
+ fprintf(OutFile,"You are somewhat virtuous in %s.",
#endif
- v_name);
- else if (tester < 40)
+ v_name);
+ else if (tester < 40)
#ifdef JP
- fprintf(OutFile,"[%s]¤ÎÃæÆÁ¼Ô",
+ fprintf(OutFile,"[%s]¤ÎÃæÆÁ¼Ô",
#else
- fprintf(OutFile,"You are virtuous in %s.",
+ fprintf(OutFile,"You are virtuous in %s.",
#endif
- v_name);
- else if (tester < 60)
+ v_name);
+ else if (tester < 60)
#ifdef JP
- fprintf(OutFile,"[%s]¤Î¹âÆÁ¼Ô",
+ fprintf(OutFile,"[%s]¤Î¹âÆÁ¼Ô",
#else
- fprintf(OutFile,"You are very virtuous in %s.",
+ fprintf(OutFile,"You are very virtuous in %s.",
#endif
- v_name);
- else if (tester < 80)
+ v_name);
+ else if (tester < 80)
#ifdef JP
- fprintf(OutFile,"[%s]¤ÎÇƼÔ",
+ fprintf(OutFile,"[%s]¤ÎÇƼÔ",
#else
- fprintf(OutFile,"You are a champion of %s.",
+ fprintf(OutFile,"You are a champion of %s.",
#endif
- v_name);
- else if (tester < 100)
+ v_name);
+ else if (tester < 100)
#ifdef JP
- fprintf(OutFile,"[%s]¤Î°ÎÂç¤ÊÇƼÔ",
+ fprintf(OutFile,"[%s]¤Î°ÎÂç¤ÊÇƼÔ",
#else
- fprintf(OutFile,"You are a great champion of %s.",
+ fprintf(OutFile,"You are a great champion of %s.",
#endif
- v_name);
- else
+ v_name);
+ else
#ifdef JP
- fprintf(OutFile,"[%s]¤Î¶ñ¸½¼Ô",
+ fprintf(OutFile,"[%s]¤Î¶ñ¸½¼Ô",
#else
- fprintf(OutFile,"You are the living embodiment of %s.",
+ fprintf(OutFile,"You are the living embodiment of %s.",
#endif
- v_name);
+ v_name);
- fprintf(OutFile, "\n");
- }
+ fprintf(OutFile, "\n");
+ }
}