desert you, as opposed to just the ones around you.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3227 c06c8d41-db1a-0410-9941-cceddc491573
BWHU47MJ7KAVKMKMRBVYLOHUCASSNVCGPC3SPMNBAC7DLI6XX2YQC
KNY4AMMB6GVRAOV57TS7Z34VJMTQFTW7VTB25IVXJ2V72WQ6YWOAC
6PAG7GHXHIYXJPPTEK4KZQZT4CL2SJDAGTVIUDB4KK66PVSTWUMAC
5PNVRKZFGGUKPYADIXIJSBTBGX26NDGSNGYS6WGSBP3JGT5NCCKAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
SS6MUIJYTGIVBYU356Z563QJWLJ47QNHSJWS7GJTS7EATZH2ESJQC
SWOYPTHJAWFEDBMB3ROT33VQZIXGZD5UOXEV456DDUENW2HGA66QC
GUXTGUEMZYBRGV5QUAQSJHG3AOIQDWWCDIMOX4LASFJAZVGL2WQAC
CQ24AVAI6SW3AHTIDMLPSTRRBEU6FHRF5I5FD6G5QIYE6PO4BQMQC
RCLZVH5IZLUUJU3XDIW4GUDJ5G73DOI3EEMRKNMCNPSSEDBU5YFAC
4HATGRJJE7Q6LXHJ3ZGYTNBLG542KAUEK6ERKARIYRKRWY6VTDKQC
Y3TBP4UVQ6GM53J64HGTLPC3WKN3EAJEW2L7XBRBUHYAP6POBQUAC
XMX2Y7QSEXGV2SPDOFDNM2BQJH3S3WTMYLJYUREYV72NWTURHMSQC
V4DWL5WBO2JCODVS5QQNWXDH4DAYZN3D5V3UDCHM2KKOMADOTEDQC
WTUFDJICW653ERO6FH63XYGOZQRVY3DVLPIPFN4BMA4NJH5UD3LAC
int ystart = you.y_pos - 9, xstart = you.x_pos - 9;
int yend = you.y_pos + 9, xend = you.x_pos + 9;
if ( xstart < 0 ) xstart = 0;
if ( ystart < 0 ) ystart = 0;
if ( xend >= GXM ) xend = GXM;
if ( ystart >= GYM ) yend = GYM;
for ( int i = 0; i < MAX_MONSTERS; ++i )
{
monsters *monster = &menv[i];
if (monster->type != -1
&& mons_species(monster->type) == MONS_ORC
&& monster->attitude == ATT_FRIENDLY
&& (monster->flags & MF_CONVERT_ATTEMPT))
{
#ifdef DEBUG_DIAGNOSTICS
mprf(MSGCH_DIAGNOSTICS, "Abandoning: %s on level %d, branch %d",
monster->name(DESC_PLAIN).c_str(),
static_cast<int>(you.your_level),
static_cast<int>(you.where_are_you));
#endif
monster->attitude = ATT_HOSTILE;
monster->behaviour = BEH_HOSTILE;
// for now CREATED_FRIENDLY stays
}
}
}
for ( int x = xstart; x < xend; ++x )
int ystart = you.y_pos - 9, xstart = you.x_pos - 9;
int yend = you.y_pos + 9, xend = you.x_pos + 9;
if ( xstart < 0 ) xstart = 0;
if ( ystart < 0 ) ystart = 0;
if ( xend >= GXM ) xend = GXM;
if ( ystart >= GYM ) yend = GYM;
// monster check
for ( int y = ystart; y < yend; ++y )
num_followers++;
if (mons_player_visible(monster)
&& !mons_is_confused(monster)
&& !mons_is_paralysed(monster))
monsters *monster = &menv[targ_monst];
if (mons_species(monster->type) == MONS_ORC
&& monster->attitude == ATT_FRIENDLY
&& (monster->flags & MF_CONVERT_ATTEMPT))
// during penance followers get a saving throw
if (you.religion == GOD_BEOGH &&
random2((you.piety-you.penance[GOD_BEOGH])/18) +
random2(you.skills[SK_INVOCATIONS]-6)
> random2(hd) + hd + random2(5))
if (mons_player_visible(monster)
&& !mons_is_confused(monster)
&& !mons_is_paralysed(monster)
&& !mons_is_caught(monster))
continue;
}
const int hd = monster->hit_dice;
// during penance followers get a saving throw
if (random2((you.piety-you.penance[GOD_BEOGH])/18) +
random2(you.skills[SK_INVOCATIONS]-6)
> random2(hd) + hd + random2(5))
{
continue;
}
monster->attitude = ATT_HOSTILE;
monster->behaviour = BEH_HOSTILE;
// for now CREATED_FRIENDLY stays