polymorphed quest leader
From the newsgroup: player chatted with leader and was ejected for not being high enough level, then when he came back later there was no leader to be found, but there was a polymorph trap on quest home level. This makes quest leaders and nemesis be aware of all trap types--rather than just having leaders be aware of magic portals--so they'll be able to avoid polymorph traps. It also makes chatting with a polymorphed leader work as long as the new form is able to speak (use same criteria as with poly'd shopkeepers: can't be in a form that's limited to animal sounds).
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* SCCS Id: @(#)makemon.c 3.5 2007/01/19 */
|
||||
/* SCCS Id: @(#)makemon.c 3.5 2007/03/23 */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -964,8 +964,7 @@ register int mmflags;
|
||||
mtmp->m_id = context.ident++;
|
||||
if (!mtmp->m_id) mtmp->m_id = context.ident++; /* ident overflowed */
|
||||
set_mon_data(mtmp, ptr, 0);
|
||||
if (mtmp->data->msound == MS_LEADER &&
|
||||
quest_info(MS_LEADER) == mndx)
|
||||
if (ptr->msound == MS_LEADER && quest_info(MS_LEADER) == mndx)
|
||||
quest_status.leader_m_id = mtmp->m_id;
|
||||
mtmp->mnum = mndx;
|
||||
|
||||
@@ -978,8 +977,9 @@ register int mmflags;
|
||||
|
||||
if (In_sokoban(&u.uz) && !mindless(ptr)) /* know about traps here */
|
||||
mtmp->mtrapseen = (1L << (PIT - 1)) | (1L << (HOLE - 1));
|
||||
if (ptr->msound == MS_LEADER) /* leader knows about portal */
|
||||
mtmp->mtrapseen |= (1L << (MAGIC_PORTAL-1));
|
||||
/* quest leader and nemesis both know about all trap types */
|
||||
if (ptr->msound == MS_LEADER || ptr->msound == MS_NEMESIS)
|
||||
mtmp->mtrapseen = ~0;
|
||||
|
||||
place_monster(mtmp, x, y);
|
||||
mtmp->mcansee = mtmp->mcanmove = TRUE;
|
||||
|
||||
Reference in New Issue
Block a user