approximations of the frequency they did in 0.4 (see end of dat/rooms.des for the 0.4 frequencies). Only bee-hives and jelly pits appear in the Lair, and only morgues appear in the Crypt.
The depths at which special rooms appear is now entirely controlled by the DEPTH lines in dat/rooms.des, so they can appear at any depth except for D:1, since D:1 is constructed by differnt code than the other levels. With the current set of depths this means that special rooms on roguey levels can start appearing 3 levels earlier than in crawl 0.4
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7643 c06c8d41-db1a-0410-9941-cceddc491573
43NBC6HJOFQQTASUMC5W7MWLS355ASIUS7SEFRO6PJWQDY7MRZZQC FKRLQJYHK3GB6HHSNNFQ7L57ZAR52LSTBG5B6SNJBYZ2LQ36P67AC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC B7MSPF6X2RLGWN4M6ZZF3WSOPKGYPTTD7LIJVST7DXN27DG6JHNAC 2EUWVLBXTKBIYLS7HVCIL6R7EERHRAIVFAXQPBRKDEMH5BGFEDQQC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC SIDH2P7NBIG5KEOE27XHD3ZT2NQ2OJZFN6VZXWNWYFFY5YVXSSVQC 3UKFCWWS5BLFQWZRB5FUA46CE2XGX5VRCEWC3K3XH5RCGQK64N2AC 74LQ7JXVLAFSHLI7LCBKFX47CNTYSKGUQSXNX5FCIUIGCC2JTR3QC if (!sr.created && level_number > 5 && one_chance_in(5))_special_room(level_number, sr);
if (!sr.created && one_chance_in(5)){const map_def *sroom = random_map_for_tag("special_room", true, true);// Might not be any special room definitions appropriate for// this branch and depth.if (sroom != NULL)_special_room(level_number, sr, sroom);}
if (level_number < 7)spec_room_type = SROOM_LAIR_KOBOLD;else{spec_room_type = random2(NUM_SPECIAL_ROOMS);if (level_number < 23 && one_chance_in(4))spec_room_type = SROOM_BEEHIVE;// Replace overly dangerous special rooms with a room full of orcs.if (level_number > 13 && spec_room_type == SROOM_LAIR_KOBOLD|| level_number < 16 && spec_room_type == SROOM_MORGUE|| level_number < 14 && spec_room_type == SROOM_JELLY_PIT|| level_number < 17 && one_chance_in(4)){spec_room_type = SROOM_LAIR_ORC;}if (level_number > 19 && coinflip())spec_room_type = SROOM_MORGUE;if (level_number > 13 &&one_chance_in(6 - (level_number > 23) - (level_number > 18))){spec_room_type = SROOM_JELLY_PIT;}}
##########################NAME: special_room_koboldDEPTH: 6-14, !Lair, !CryptTAGS: special_room allow_dupWEIGHT: 11: fill_special_room("kobold")MAPENDMAPNAME: special_room_orc_aDEPTH: 8-14, !Lair, !CryptTAGS: special_room allow_dupWEIGHT: 59: fill_special_room("orc")MAPENDMAPNAME: special_room_bee_aDEPTH: 8-14, !CryptTAGS: special_room allow_dupWEIGHT: 30: fill_special_room("killer bee")MAPENDMAP################################NAME: special_room_orc_bDEPTH: 15-16, !Lair, !CryptTAGS: special_room allow_dupWEIGHT: 50: fill_special_room("orc")MAPENDMAPNAME: special_room_bee_bDEPTH: 15-16, !CryptTAGS: special_room allow_dupWEIGHT: 25: fill_special_room("killer bee")MAPENDMAPNAME: special_room_morgue_bDEPTH: 15-16, !LairTAGS: special_room allow_dupWEIGHT: 25: fill_special_room("rat zombie")MAPENDMAP#################################NAME: special_room_orc_cDEPTH: 17, !Lair, !CryptTAGS: special_room allow_dupWEIGHT: 40: fill_special_room("orc")MAPENDMAPNAME: special_room_bee_cDEPTH: 17, !CryptTAGS: special_room allow_dupWEIGHT: 25: fill_special_room("killer bee")MAPENDMAPNAME: special_room_morgue_cDEPTH: 17, !LairTAGS: special_room allow_dupWEIGHT: 27: fill_special_room("rat zombie")MAPENDMAPNAME: special_room_jelly_cDEPTH: 17, !CryptTAGS: special_room allow_dupWEIGHT: 9: fill_special_room("jelly")MAPENDMAP#################################NAME: special_room_orc_dDEPTH: 18-20, !Lair, !CryptTAGS: special_room allow_dupWEIGHT: 25: fill_special_room("orc")MAPENDMAPNAME: special_room_bee_dDEPTH: 18-20, !CryptTAGS: special_room allow_dupWEIGHT: 33: fill_special_room("killer bee")MAPENDMAPNAME: special_room_morgue_dDEPTH: 18-20, !LairTAGS: special_room allow_dupWEIGHT: 29: fill_special_room("rat zombie")MAPENDMAPNAME: special_room_jelly_dDEPTH: 18-20, !CryptTAGS: special_room allow_dupWEIGHT: 13: fill_special_room("jelly")MAPENDMAP#################################NAME: special_room_orc_eDEPTH: 21-, !Lair, !CryptTAGS: special_room allow_dupWEIGHT: 15: fill_special_room("orc")MAPENDMAPNAME: special_room_bee_eDEPTH: 21-, !CryptTAGS: special_room allow_dupWEIGHT: 8: fill_special_room("killer bee")MAPENDMAPNAME: special_room_morgue_eDEPTH: 21-, !LairTAGS: special_room allow_dupWEIGHT: 32: fill_special_room("rat zombie")
NAME: special_room_jelly_eDEPTH: 21-, !CryptTAGS: special_room allow_dupWEIGHT: 45: fill_special_room("jelly")MAPENDMAP################################################################################################################################################### 0.4 crawl C code for randomly determining which special room type to# use# if (level_number < 7)# spec_room_type = SROOM_LAIR_KOBOLD;# else# {# spec_room_type = random2(NUM_SPECIAL_ROOMS);## if (level_number < 23 && one_chance_in(4))# spec_room_type = SROOM_BEEHIVE;## // Replace overly dangerous special rooms with a room full of orcs.# if (level_number > 13 && spec_room_type == SROOM_LAIR_KOBOLD# || level_number < 16 && spec_room_type == SROOM_MORGUE# || level_number < 14 && spec_room_type == SROOM_JELLY_PIT# || level_number < 17 && one_chance_in(4))# {# spec_room_type = SROOM_LAIR_ORC;# }## if (level_number > 19 && coinflip())# spec_room_type = SROOM_MORGUE;## if (level_number > 13 &&# one_chance_in(6 - (level_number > 23) - (level_number > 18)))# {# spec_room_type = SROOM_JELLY_PIT;# }# }###################################### 0.4 crawl percentages for each room type generated per level (for 10,000# randomly generated vaults per level)# | K | O | B | M | J |#-----------------------------------------------# 0| 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |# 1| 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |# 2| 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |# 3| 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |# 4| 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |# 5| 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |# 6|100.00 | 0.00 | 0.00 | 0.00 | 0.00 |# 7| 11.39 | 59.25 | 29.36 | 0.00 | 0.00 |# 8| 11.07 | 58.43 | 30.50 | 0.00 | 0.00 |# 9| 11.23 | 57.98 | 30.79 | 0.00 | 0.00 |#10| 11.46 | 58.39 | 30.15 | 0.00 | 0.00 |#11| 11.30 | 58.78 | 29.92 | 0.00 | 0.00 |#12| 11.21 | 58.65 | 30.14 | 0.00 | 0.00 |#13| 10.92 | 58.96 | 30.12 | 0.00 | 0.00 |#14| 0.00 | 49.58 | 24.99 | 25.43 | 0.00 |#15| 0.00 | 49.74 | 24.56 | 25.70 | 0.00 |#16| 0.00 | 39.51 | 24.77 | 27.04 | 8.68 |#17| 0.00 | 24.23 | 33.07 | 29.57 | 13.13 |#18| 0.00 | 25.31 | 32.99 | 29.06 | 12.64 |#19| 0.00 | 24.52 | 32.53 | 31.09 | 11.86 |#20| 0.00 | 11.63 | 15.84 | 25.52 | 47.01 |#21| 0.00 | 12.06 | 17.33 | 25.60 | 45.01 |#22| 0.00 | 12.12 | 15.97 | 25.50 | 46.41 |#23| 0.00 | 14.94 | 8.64 | 27.63 | 48.79 |#24| 0.00 | 15.20 | 7.29 | 32.14 | 45.37 |#25| 0.00 | 14.82 | 7.88 | 33.04 | 44.26 |#26| 0.00 | 14.99 | 7.91 | 31.94 | 45.16 |#27| 0.00 | 14.96 | 7.28 | 32.06 | 45.70 |#28| 0.00 | 15.12 | 7.88 | 32.11 | 44.89 |#29| 0.00 | 15.48 | 7.40 | 33.17 | 43.95 |#30| 0.00 | 15.08 | 7.84 | 31.97 | 45.11 |