diff --git a/doc/fixes34.1 b/doc/fixes34.1 index 47d1fbf81..cb6541603 100644 --- a/doc/fixes34.1 +++ b/doc/fixes34.1 @@ -271,7 +271,9 @@ class genocide that killed polymorphed self while `Unchanging' reported class genocide of @ by human or elf character polymorphed into non-@ gave "you feel dead inside" message twice unskilled rider who can't reach items on floor also can't dip into moat or - pool from flying steed + pool from flying steed +when summoning nasty monsters, use new monster's type to decide if they can + be placed on boulders, et al, not the summoning monster's type Platform- and/or Interface-Specific Fixes diff --git a/src/wizard.c b/src/wizard.c index a49d7a247..698eaa76e 100644 --- a/src/wizard.c +++ b/src/wizard.c @@ -439,9 +439,6 @@ nasty(mcast) for(j=0; j<20; j++) { int makeindex; - if (mcast && - !enexto(&bypos, mcast->mux, mcast->muy, mcast->data)) - continue; /* Don't create more spellcasters of the monsters' level or * higher--avoids chain summoners filling up the level. */ @@ -449,6 +446,10 @@ nasty(mcast) makeindex = pick_nasty(); } while(mcast && attacktype(&mons[makeindex], AT_MAGC) && monstr[makeindex] >= monstr[mcast->mnum]); + /* do this after picking the monster to place */ + if (mcast && + !enexto(&bypos, mcast->mux, mcast->muy, &mons[makeindex])) + continue; if ((mtmp = makemon(&mons[makeindex], bypos.x, bypos.y, NO_MM_FLAGS)) != 0) { mtmp->msleeping = mtmp->mpeaceful = mtmp->mtame = 0;