git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9368 c06c8d41-db1a-0410-9941-cceddc491573
U35AIEBK6N3OG2BS6ZHI6L7VPBX562FZTH7CWSLFH6NMRXNSVC6QC
RHIWQH62QN2VJJJ36YX3YOKYKIBUBOZOP4AHDRR4VJI5CNOMKFIQC
S7Y7E2KDAFMTLDIXUTR673SYL5N35VXYGLRU67L42WHVYG5SEPBQC
Z5ORIVPW6DXOP3G37OTMP4CY4JYUYS4PGNJ4BTZQ3L2ZTWU67RWAC
WIYENVRLH4W37ZOZWJX2BDQHX7LPWCYGO2WVZDPBO5IE2A4I7RPAC
BTHEX36BHZOAGTT5SNO6OPWDAZJQSUUNDXSJ77FBEFZE3NGJ7CAQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
QO5ZJWQ3JK3PEGBPTQSAYIPEJEHG2M2KTD74227G5VG7DVXUL3BQC
MT6WFYUIJ2MA3GIQ2MEHHKIQ6QT6IECFGO4BV4SB3GCGQUIWEYNAC
6F6OFJCUOBUP7QTVWSMSQPW25RLVRYVXO3VO5GLMFRY6K5RMOWFAC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC
SIDH2P7NBIG5KEOE27XHD3ZT2NQ2OJZFN6VZXWNWYFFY5YVXSSVQC
ED62QWGKBPORWVKDFOQRKJXEIWZVNGR3O4KWQBDSRNPT36AYOQYAC
52XHD5LKS6UVLXBYUXMPTMVMTXQ6FBUFXJ2TAW6R7CSJY7OXWVJAC
CCRQESB4ADT4WA7FGLNZZXAJ6G5QMCTYCZIWORBN45P6ZPILC34AC
C73MBEJBOJRMEUQKV5MBFKQXMFFRH3XB6XVVSKIORUYJUB7GS3NAC
TQOJIJP5MUILKWSEC3Q6BNGVFZJOYSCUR3DR4WPJQ4GGDEVQHEMQC
FWNNTOEERPUKXPE4OC52UABFZLKIU3O5GRNNLDK4QI4HR2IOU36QC
ASLW3Z5PAVZSWJEMMMVZT226P44EKSAD47QS72JIFJESAI3RPN3AC
ABLV37FMURRJPEZV2VRKOUYAKEMLI7E6RA4PDAII2EJ5L7WBHKZQC
PSE2BGMI3WPJ5HLD7S6KBRMESZYOLNOUSJWFRVAT2XR5JG3AEJPQC
L254F6ZIU2HWGLFFGPIORTN4C3TDQ3E5JZ7Z7GQA5AEDIKL6PKDAC
const int rarity = book_rarity(i);
// Manuals, books of destruction, books only created as gifts
// from specific gods, and the unused Book of Healing.
if (rarity >= 20)
// Manuals and books of destruction are not even part of this loop.
if (i >= MIN_GOD_ONLY_BOOK && i <= MAX_GOD_ONLY_BOOK)
for (int i = 0; i < NUM_SPELLS; i++)
// For randarts handed out by Sif Muna, spells contained in the
// Vehumet/Kiku specials are fair game.
// We store them in an extra vector that (once sorted) can later
// be checked for each spell with a rarity -1 (i.e. not normally
// appearing randomly).
std::vector<spell_type> special_spells;
if (god == GOD_SIF_MUNA)
{
for (int i = MIN_GOD_ONLY_BOOK; i <= MAX_GOD_ONLY_BOOK; ++i)
for (int j = 0; j < SPELLBOOK_SIZE; ++j)
{
spell_type spell = which_spell_in_book(i, j);
if (spell == SPELL_NO_SPELL)
continue;
if (spell_rarity(spell) != -1)
continue;
special_spells.push_back(spell);
}
std::sort(special_spells.begin(), special_spells.end());
}
int specnum = 0;
for (int i = 0; i < NUM_SPELLS; ++i)