git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10356 c06c8d41-db1a-0410-9941-cceddc491573
UU5JLKAKZSTWFQJLUTPQZJ3ZQY7BEU2KROZETUNSKC6LFG6XVSZQC
VR4I4EIMBG7SUFP24TQOP64OUUKQXY6BU6VLGWHN67FJ6GTA6YTQC
ZL4S2AICGMIH5DCHUXH6GJHSGELIONW6DOMFWB5PE62BVS7QZZEAC
DKISJVKAJJK2SVZSXGJ37K5SOVTDARVX6RPK3MAKVNGC36Z4YAZQC
25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC
Q3B3UVMYEVC4YJUPYVSNTR4DJH4E6J4JJDHZNT5LNOCHCPPMEMXAC
4SUUJM2DQUEWHDG3UKJUDZABLHFVF2CFUX5GVAWKT7BBBGR2ISTQC
HBXWZNXAJ7LUX7FYUIHQYBTRMWVJC6CAQQL3NNZHK5ETLIFEZJ7QC
5WVUTEZLEZEML54CKPR6GACQBYY3EMVNXMLJOREN6SSEUZGC47AQC
TPZWAV3USKO7RX4IGHLZKVPRN36K33PJPSZYL6FZMX4XBHTYOQYAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
YF6CE2VBFK6K4V34PKBVYVQUTJRDDDCF2M5RMUGW6V6N2M4SUPLAC
SA36K3OJ75PNVR2F4QAPNU2LUGFTVHNIAZVSXCBXBT2NLW2RTUPAC
U3KGUJJQWQORJIIFH3ADVNIEEX5HOX6KEOXO7DJSL7L3Z6GG3PAQC
UZ6N6HOUPGVSPC5NQROEEDWMEGJA5XUWUY2AKH5QG65AZ25PVXDAC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
5TG5LXU4DX65KMWCZ7YJHOB3VAETQAVBUHEUSQTPMA327XV2HQWAC
GJBUM2B6VECYVSAWUQAG64MDJ4MUHTACSTDDVPEKRDBGBX4HPQLQC
KZWOHH536QBWAPWROR32EOXEK5LRY6I5VHVL7HHI7GOFKCMQTCSQC
WT66JDIRTLLP37SHTV4GI3V64JFJ4D25LNRLGCHFG6CLEFKJ3QGQC
HRBCN6CYP36HGNB3IDETM2UXWSANJM3QZA2HAM4P4B62QB4KBKXAC
// we obviously saw some corpses since we only processed squares in LOS
if(seen_corpses>1)
{
mprf("%s grow from nearby corpses.", base.c_str());
}
else
mprf("%s grow from a nearby corpse.", base.c_str());
mprf("%s grow%s from %snearby corpse%s.",
(seen_mushrooms > 1 ? "Some toadstools"
: "A toadstool"),
(seen_mushrooms > 1 ? "s" : ""),
(seen_corpses > 1) ? "" : "a ",
(seen_corpses > 1) ? "s" : "");
// uncomfortable level of code duplication here but the explosion code in
// bolt subjects the input radius to r*(r+1) for the threshold and
// since r is an integer we can never get just the 4-connected neighbors.
// FIXME: Uncomfortable level of code duplication here but the explosion
// code in bolt subjects the input radius to r*(r+1) for the threshold and
// since r is an integer we can never get just the 4-connected neighbours.
// create a plant.
int plant=create_monster(mgen_data
(MONS_PLANT,
BEH_HOSTILE,
0,
0,
target,
MHITNOT,
MG_FORCE_PLACE, GOD_FEAWN));
// Create a plant.
const int plant = create_monster(mgen_data(MONS_PLANT,
BEH_HOSTILE,
0,
0,
target,
MHITNOT,
MG_FORCE_PLACE,
GOD_FEAWN));
idx=adj_it->x+adj_it->y*X_WIDTH;
if(see_grid(*adj_it)
&& !grid_is_solid(env.grid(*adj_it))
&& exclusion.insert(idx).second)
{
monsters * temp = monster_at(*adj_it);
if(!temp || (temp->attitude==ATT_HOSTILE
&& temp->mons_species()!=MONS_PLANT
&& temp->mons_species()!=MONS_TOADSTOOL
&& temp->mons_species()!=MONS_FUNGUS))
{
fringe.push(point_distance(*adj_it, current.second+1));
}
}
idx = adj_it->x + adj_it->y * X_WIDTH;
if (see_grid(*adj_it)
&& !grid_is_solid(env.grid(*adj_it))
&& exclusion.insert(idx).second)
{
monsters * temp = monster_at(*adj_it);
if (!temp || (temp->attitude == ATT_HOSTILE
&& temp->mons_species() != MONS_PLANT
&& temp->mons_species() != MONS_TOADSTOOL
&& temp->mons_species() != MONS_FUNGUS))
{
fringe.push(point_distance(*adj_it, current.second+1));
}
}
// the minimum of current_distances is points(i)
int min_dist=current_distances[0];
for(unsigned j=1;i<current_distances.size();i++)
{
if(current_distances[j] < min_dist)
// The minimum of current_distances is points(i)
int min_dist = current_distances[0];
for (unsigned j = 1; i < current_distances.size(); ++i)
if (current_distances[j] < min_dist)
if(i==0)
distances[j]=current_distances[j];
else
{
if(current_distances[j] < distances[j])
distances[j] = current_distances[j];
}
if (i == 0)
distances[j] = current_distances[j];
else if (current_distances[j] < distances[j])
distances[j] = current_distances[j];
bool plural = toadstools_evolved > 1;
std::string plural_s = toadstools_evolved > 1 ? "s" : "";
mprf("%s toadstool%s gain%s stability.", (plural ? "Some" : "A"),
plural_s.c_str(), plural_s.c_str() );
const bool plural = toadstools_evolved > 1;
mprf("%s toadstool%s gain%s stability.",
(plural ? "Some" : "A"),
(plural ? "s" : ""),
(plural ? "" : "s"));
piety_change = -level;
penance = level;
retval = true;
}
else
{
simple_god_message(" forgives your blasphemy, just this once.");
if (known)
{
piety_change = -level;
penance = level;
retval = true;
}
else
{
simple_god_message(" forgives your blasphemy, just this once.");
}
if(visited_indices.find(idx) == visited_indices.end()
&& in_bounds(temp.first)
&& mons_class_can_pass(MONS_TOADSTOOL, grd(temp.first)))
if (visited_indices.find(idx) == visited_indices.end()
&& in_bounds(temp.first)
&& mons_class_can_pass(MONS_TOADSTOOL, grd(temp.first)))
{