soon as they're placed, allowing them to drop items and corpses and protecting them from abjuration and timing out. (Still doesn't let summoned monster be created with throwing nets, though)
The arena tag "no_chain_summons" strips summoning spells from summoned monsters (even in conjunction with "real_summons"), while not stripping such spells from the original arena monsters. (Though for some reason it doesn't prevent summoned Lom Lobon from summoning ball lightning)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8243 c06c8d41-db1a-0410-9941-cceddc491573
AAHHHRIYK53GIYQOZIGCBFI6ZM3SKN7OBRNLHQ5WVKV73MPK2H5QC
bool allow_summons = true;
bool allow_zero_xp = false;
bool allow_immobile = true;
bool name_monsters = false;
bool random_uniques = false;
bool allow_summons = true;
bool allow_chain_summons = true;
bool allow_zero_xp = false;
bool allow_immobile = true;
bool name_monsters = false;
bool random_uniques = false;
bool real_summons = false;
allow_summons = !strip_tag(spec, "no_summons");
allow_immobile = !strip_tag(spec, "no_immobile");
allow_zero_xp = strip_tag(spec, "allow_zero_xp");
allow_summons = !strip_tag(spec, "no_summons");
allow_immobile = !strip_tag(spec, "no_immobile");
allow_zero_xp = strip_tag(spec, "allow_zero_xp");
real_summons = strip_tag(spec, "real_summons");
if (monster->is_summoned())
{
// Real summons drop corpses and items.
if (arena::real_summons)
{
monster->del_ench(ENCH_ABJ, true, false);
for (int i = 0; i < NUM_MONSTER_SLOTS; i++)
{
short it = monster->inv[i];
if (it != NON_ITEM)
mitm[it].flags &= ~ISFLAG_SUMMONED;
}
}
if (!arena::allow_chain_summons)
arena::zap_summons(monster);
}