MF_GOD_GIFT. When a non-god gift priestly monster is first created it will be given a god: orcs Beogh, mummies Kikubaaqudgha or Yredelemnul, and deep elves Kikubaaqudgha, Yredelemnul or Makhleb.
Monster spell announcments/messages for priestly monsters now uses the name of their god.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8008 c06c8d41-db1a-0410-9941-cceddc491573
2BJFHMLTZXNPVJYS7Q4CS2PRFXPV7TJEQKKOQW6QHFJPFF35R76QC
HM6NOS7BN5665KWIFGBXOHZIDMRSVCESN72GMGI6NVBFZGCF3L6QC
774O5HM4CU5QYP4MPKKLHIVZQ5JLLZETYIDZZYBAPOJSO6ILC5RAC
NNQPJEMQAJC6V45OOHEX7OA54DE5IEQI73SJTS5O6PPU3KMHF4WQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
BNRY5YIXLFE2TDNU2JQHWWXJQVWNSEWQ52DU7XUWIT5DZWKGBDDAC
GPEJOT73KMACP33IPAKFR5ROGHCOIP22VXZMQNYTGLEA2OSZUM2AC
4SWAT5KCKQV527NKELAXFQ5XA4Q5HONQXD4VBXMUZNPVPQKPCPNAC
UWI3ZNJDRQRL7CXFNFEG46TA6SAK24XUFY5YOKVOTJA3VG3OBNFAC
J6APXOT4QOGQFONWB7G546VTVF6QG42HVOROMHF7YBDJPR4K26OAC
ZEFGFQHN6J2S6EIPX7EPDG22C5YXTI6DMKQHHRCLWN5MQC44KY3AC
const god_type acting_god =
(crawl_state.is_god_acting()) ? crawl_state.which_god_acting()
: GOD_NO_GOD;
if (god == GOD_NO_GOD && acting_god == GOD_NO_GOD)
return;
if (god == GOD_NO_GOD)
god = acting_god;
ASSERT(acting_god == GOD_NO_GOD || god == acting_god);
ASSERT(mon->god == GOD_NO_GOD || mon->god == god);
// What god the monster worships, if any. This is currently only
// used for monsters that are god gifts, to indicate which god sent
// them.
// What god the monster worships, if any. Used for monsters that are god
// gifts, to indicate which god sent them, and by priest monsters, to
// indicate whose priest they are.
// Give priestly monsters a god (unless the monster is a god gift, in
// which case its god will be set elsewhere).
if (mg.god == GOD_NO_GOD &&
mons_class_flag(mg.cls, M_PRIEST))
{
switch(mons_genus(mg.cls))
{
case MONS_ORC:
menv[id].god = GOD_BEOGH;
break;
case MONS_MUMMY:
menv[id].god = coinflip() ? GOD_KIKUBAAQUDGHA : GOD_YREDELEMNUL;
break;
case MONS_ELF:
{
god_type gods[] = {GOD_KIKUBAAQUDGHA, GOD_YREDELEMNUL,
GOD_MAKHLEB};
menv[id].god = RANDOM_ELEMENT(gods);
break;
}
default:
mprf(MSGCH_ERROR, "ERROR: Invalid monster priest '%s'",
menv[id].name(DESC_PLAIN, true).c_str());
ASSERT(false);
break;
}
}