the existing fountains: change their order and remove all those superfluous dry fountain types.
I couldn't find any place for random generation of fountains, so if that is possible it will have to be disabled for blood fountains outside the hells. I've added a shortcut (Y) for vault creation, though. :) Drinking from such a fountain has a 33% chance of leaving it dry. I think that's it… for now.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3886 c06c8d41-db1a-0410-9941-cceddc491573
TPZWAV3USKO7RX4IGHLZKVPRN36K33PJPSZYL6FZMX4XBHTYOQYAC
BTZ3QR6G7FV4DJCEG2CTDFH6YSUM4Y7NXM7NTAKBRLBOUIPKZM4QC
4QKMTZSWYJYJ46HW2TXO6KBPJV4NPBXA4T3ZRRRDYZSAA77ULVZQC
OEISFRW2B7E4YRJSWXNXBH2IAJO4O3LHNYFPFD3MBY57LYVRHMZQC
WHY6LRRJ5T2NSBE3IUCR4X3TOAH7TTK5NPUPUIFT7TPNJ6J4HBDAC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
CQ24AVAI6SW3AHTIDMLPSTRRBEU6FHRF5I5FD6G5QIYE6PO4BQMQC
2TECJQA3PK7OYSSTOWZSQFWMTATJRHHA6JV3IGRHFGS3R7U27RZAC
LOJYD6QZRNLNDDZJKVBMKQIBPTKSRN2ETCYGNVV47M7L3QLUJUJAC
SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC
4SUUJM2DQUEWHDG3UKJUDZABLHFVF2CFUX5GVAWKT7BBBGR2ISTQC
25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC
SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC
PM65H4V4GNPVIJFUQW57DC3VDB7TRUUNXKVZONQKEFZSK3AXX5GQC
J6APXOT4QOGQFONWB7G546VTVF6QG42HVOROMHF7YBDJPR4K26OAC
MJWFTUS66PTCNEYXEJA3CUJFXNWXIKDD6H3V24PW7HK64NSVOFSAC
AFE345BJ7IX2YYYX3I5I6RYLXNWJCFE4WMH6F5JMIR6X7WUP75CAC
AUXHSGS4EFOPZ6TVZYWNVOUDO7NYKUKE3HBKGQQWTALSVFOE3HAAC
TLO257LZSB6ZO36STDUEWJBO2LETXFKTFGXELA6Y4BZBVAEIIINAC
IVVTHLTTLOP5TSULXJWUSSXHOKYWVU3OWKYVK45A7RIB6V34MYQAC
JK3HFJG76OOQHJMXJUSZRTR5CX5ZMS52LRVBLOR7E2NBI6PRSHHAC
5ZG33P3GHTV45HM5STF23BNSV7T4Z6MGCLPRGCNHIVCQUTHDPOTQC
KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC
ED62QWGKBPORWVKDFOQRKJXEIWZVNGR3O4KWQBDSRNPT36AYOQYAC
JM7UAK777RAVDAVLQLEOBRTGNW2B47S5G55XITJXO243IUNZHVYQC
GQL5SIGBHLU3FMCE54XVGLRY5AZHRM6DUEB722REA2DPLGJSN6EQC
HIRKGUMNJPWKSVTR6TVBPD3MWNA63CEHCLCIPWEMGDFHVB3NPLDQC
OYTCBRC7LE44EUVRZVYTOOVKQWJ6P6YE3FXTOGUTNKEMLNWPHKSQC
R6XS2HO5QX2FJUGL5UQQRNETKCMYWTUFPHPPS5SYWK3OQA4UDUQQC
ILN2K6ASDZSMEHOPJ22IZLZJUO6DDGZTKAKXM3YXG6JZZHJNLX4AC
QGVAQCCFRYVEIGKL4KIQVDXA3U5TWO6EJJDHLD56ZPLOEGBUGBMQC
traversable_terrain[DNGN_BLUE_FOUNTAIN] =
traversable_terrain[DNGN_DRY_FOUNTAIN_I] =
traversable_terrain[DNGN_SPARKLING_FOUNTAIN] =
traversable_terrain[DNGN_DRY_FOUNTAIN_II] =
traversable_terrain[DNGN_DRY_FOUNTAIN_III] =
traversable_terrain[DNGN_DRY_FOUNTAIN_IV] =
traversable_terrain[DNGN_DRY_FOUNTAIN_V] =
traversable_terrain[DNGN_DRY_FOUNTAIN_VI] =
traversable_terrain[DNGN_DRY_FOUNTAIN_VII] =
traversable_terrain[DNGN_DRY_FOUNTAIN_VIII] =
traversable_terrain[DNGN_FOUNTAIN_BLUE] =
traversable_terrain[DNGN_FOUNTAIN_SPARKLING] =
traversable_terrain[DNGN_FOUNTAIN_BLOOD] =
traversable_terrain[DNGN_DRY_FOUNTAIN_BLUE] =
traversable_terrain[DNGN_DRY_FOUNTAIN_SPARKLING] =
traversable_terrain[DNGN_DRY_FOUNTAIN_BLOOD] =
case DNGN_DRY_FOUNTAIN_I:
case DNGN_DRY_FOUNTAIN_II:
case DNGN_DRY_FOUNTAIN_III:
case DNGN_DRY_FOUNTAIN_IV:
case DNGN_DRY_FOUNTAIN_V:
case DNGN_DRY_FOUNTAIN_VI:
case DNGN_DRY_FOUNTAIN_VII:
case DNGN_DRY_FOUNTAIN_VIII:
case DNGN_PERMADRY_FOUNTAIN :
case DNGN_FOUNTAIN_SPARKLING:
return TILE_DNGN_SPARKLING_FOUNTAIN;
case DNGN_FOUNTAIN_BLOOD:
return TILE_DNGN_BLOOD_FOUNTAIN;
case DNGN_DRY_FOUNTAIN_BLUE:
case DNGN_DRY_FOUNTAIN_SPARKLING:
case DNGN_DRY_FOUNTAIN_BLOOD:
case DNGN_PERMADRY_FOUNTAIN:
#858 DNGN_DRY_FOUNTAIN_II
#858 DNGN_DRY_FOUNTAIN_III
#858 DNGN_DRY_FOUNTAIN_IV
#858 DNGN_DRY_FOUNTAIN_V
#858 DNGN_DRY_FOUNTAIN_VI
#858 DNGN_DRY_FOUNTAIN_VII
#858 DNGN_DRY_FOUNTAIN_VIII
dngn_blood_fountain DNGN_BLOOD_FOUNTAIN
dngn_dry_fountain DNGN_DRY_FOUNTAIN
"altar_beogh", "", "", "", "", "", "", "blue_fountain",
"dry_fountain_i", "sparkling_fountain", "dry_fountain_ii",
"dry_fountain_iii", "dry_fountain_iv", "dry_fountain_v",
"dry_fountain_vi", "dry_fountain_vii", "dry_fountain_viii",
"permadry_fountain"
"altar_beogh", "", "", "", "", "", "", "fountain_blue",
"fountain_sparkling", "fountain_blood", "dry_fountain_blue",
"dry_fountain_sparkling", "dry_fountain_blood", "permadry_fountain"
if (feat == DNGN_BLUE_FOUNTAIN)
grd[you.x_pos][you.y_pos] = DNGN_DRY_FOUNTAIN_I;
else
grd[you.x_pos][you.y_pos] = DNGN_DRY_FOUNTAIN_II;
grd[you.x_pos][you.y_pos] = static_cast<dungeon_feature_type>(feat
+ DNGN_DRY_FOUNTAIN_BLUE - DNGN_FOUNTAIN_BLUE);
DNGN_BLUE_FOUNTAIN = 200, // 200
DNGN_DRY_FOUNTAIN_I,
DNGN_SPARKLING_FOUNTAIN, // aka 'Magic Fountain' {dlb}
DNGN_DRY_FOUNTAIN_II,
DNGN_DRY_FOUNTAIN_III,
DNGN_DRY_FOUNTAIN_IV, // 205
DNGN_DRY_FOUNTAIN_V,
DNGN_DRY_FOUNTAIN_VI,
DNGN_DRY_FOUNTAIN_VII,
DNGN_DRY_FOUNTAIN_VIII,
DNGN_PERMADRY_FOUNTAIN = 210, // added (from dungeon.cc/maps.cc) 22jan2000 {dlb}
DNGN_FOUNTAIN_BLUE = 200, // 200
DNGN_FOUNTAIN_SPARKLING, // aka 'Magic Fountain' {dlb}
DNGN_FOUNTAIN_BLOOD,
// same order as above!
DNGN_DRY_FOUNTAIN_BLUE,
DNGN_DRY_FOUNTAIN_SPARKLING,
DNGN_DRY_FOUNTAIN_BLOOD, // 205
DNGN_PERMADRY_FOUNTAIN,
if (grd[x][y] > DNGN_SPARKLING_FOUNTAIN)
grd[x][y] = static_cast<dungeon_feature_type>(grd[x][y] - 1);
else // grid == DNGN_DRY_FOUNTAIN_I
grd[x][y] = DNGN_BLUE_FOUNTAIN;
// make it start flowing again
grd[x][y] = static_cast<dungeon_feature_type> (grid
- (DNGN_DRY_FOUNTAIN_BLUE - DNGN_FOUNTAIN_BLUE));
if ( is_terrain_seen(coord_def(x,y)) )
set_envmap_obj(x, y, grd[x][y]);
case DNGN_DRY_FOUNTAIN_I:
case DNGN_DRY_FOUNTAIN_II:
case DNGN_DRY_FOUNTAIN_III:
case DNGN_DRY_FOUNTAIN_IV:
case DNGN_DRY_FOUNTAIN_V:
case DNGN_DRY_FOUNTAIN_VI:
case DNGN_DRY_FOUNTAIN_VIII:
case DNGN_FOUNTAIN_BLOOD:
return ("fountain of blood");
case DNGN_DRY_FOUNTAIN_BLUE:
case DNGN_DRY_FOUNTAIN_SPARKLING:
case DNGN_DRY_FOUNTAIN_BLOOD:
altar_elyvilon, altar_lugonu, altar_beogh, blue_fountain,
dry_fountain_i, sparkling_fountain, dry_fountain_ii, dry_fountain_iii,
dry_fountain_iv, dry_fountain_v, dry_fountain_vi, dry_fountain_vii,
dry_fountain_viii, permadry_fountain
altar_elyvilon, altar_lugonu, altar_beogh, fountain_blue,
fountain_sparkling, fountain_blood, dry_fountain_blue,
dry_fountain_sparkling, dry_fountain_blood, permadry_fountain