Report complained about multiple Archons causing his character to be swarmed by monsters on the Plane of Fire. I don't think that the behavior has changed significantly from how it worked in 3.4.3. Nobody can summon an Archon directly because they're excluded from the nasties[] list. But whenever summoning picks a genocided 'nasty', the result gets replaced by random monster of appropriate difficulty for the level (which could be an Archon for a high level character in the endgame). [Note that that won't pick an Archon in Gehennom or at arch-lich outside of there because the random monster creation honors the only-in-hell and never-in-hell flags; picking from the nasties[] list doesn't.] This prevents that for any creature (except arch-lich or the Wizard) casting the summon nasties spell. If a replacement creature is a spellcaster it now has to have lower difficulty than the summoner. If not, it will be discarded even though its difficulty is classified as appropriate. So to summon an Archon, the summoner has to have higher difficulty than an Archon; arch-lich and the Wizard are the only ones meeting that criterium. When summoner is an arch-lich, it can't summon another arch-lich (since that wouldn't have lower difficulty than the summoner) and can summon (via replacement for genocided type, and only if outside of Gehennom) at most one Archon. When summoner is the Wizard, he could summon an arch-lich (when in Gehennom; demoted to master lich elsewhere--see below) or an Archon (outside Gehennom only), but at most one per summoning. For post-Wizard harassment, which effectively has infinite difficulty level, it could still happen. However, each instance of harassment is only allowed to create at most one Archon or arch-lich now, so chain summoning should be lessoned. Also if it tries to pick an arch-lich when outside of Gehennom it will switch to master lich instead (which won't be allowed to summon an Archon or an arch- lich or even another master lich). (The monmove.c bit is unrelated, just some comment formatting that I had laying around that got mixed in.)
117 KiB
117 KiB