polymorphing into placeholder monsters
"human", "dwarf", "elf", "gnome", and "orc" are all flagged M2_NOPOLY; so is "giant". But dwarf and gnome are ordinary monsters and should be eligible to be polymorph targets, so take the no-poly flag off of them. The others are used for corpses and not intended to be distinct monsters. But they are reasonable polymorph targets, so if player with control picks any of them, choose a substitute. The exception is human, which already has special poly-self handling.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.7 mondata.h $NHDT-Date: 1606473485 2020/11/27 10:38:05 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.45 $ */
|
||||
/* NetHack 3.7 mondata.h $NHDT-Date: 1703845738 2023/12/29 10:28:58 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.63 $ */
|
||||
/* Copyright (c) 1989 Mike Threepoint */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -161,6 +161,8 @@
|
||||
#define is_rider(ptr) \
|
||||
((ptr) == &mons[PM_DEATH] || (ptr) == &mons[PM_FAMINE] \
|
||||
|| (ptr) == &mons[PM_PESTILENCE])
|
||||
/* note: placeholder monsters are used for corposes of zombies and mummies;
|
||||
PM_DWARF and PM_GNOME are normal monsters, not placeholders */
|
||||
#define is_placeholder(ptr) \
|
||||
((ptr) == &mons[PM_ORC] || (ptr) == &mons[PM_GIANT] \
|
||||
|| (ptr) == &mons[PM_ELF] || (ptr) == &mons[PM_HUMAN])
|
||||
|
||||
Reference in New Issue
Block a user