mine to begin with, I thought I had a way to fix it but it turns out I didn't, so I was researching it again). Checked into CVS.
854 lines
35 KiB
Plaintext
854 lines
35 KiB
Plaintext
-----------------------------------------------------------------------------
|
|
Buglist: actual bugs that may get fixed someday
|
|
-----------------------------------------------------------------------------
|
|
|
|
=============================================================================
|
|
A funny thing happened at the portal to Rodney's tower. Wearing
|
|
levitation boots, I floated onto the portal, and was ported to the
|
|
tower. Then I took off my boots, and got "You activated the magic
|
|
portal!", but no immediate teleport. I was able to make one more
|
|
move, stepping off the portal, and _then_ the teleport happened.
|
|
I reproduced this in wizard mode - only levitation boots work that
|
|
way, the ring doesn't. It turns out that after landing on the portal
|
|
it is possible to take one action (which could be a time-taking move,
|
|
but also checking the inventory or somesuch) before the teleport
|
|
actually takes place. [mhed@nym.alias.net]
|
|
|
|
Moving when strained or overtaxed was supposedly intended to cause
|
|
HP loss. allmain.c. But it looks like the flags.mv is set (in cmd.c)
|
|
only for multiple movement commands, not when walking step by step.
|
|
A wizmode test confirmed that HP loss happened only when multi-running;
|
|
simple walking resulted in HP regeneration. The same reason (flags.mv)
|
|
is probably responsible for the steed being affected by the character's
|
|
speed boots when walking step by step.
|
|
> if (wtcap > MOD_ENCUMBER && flags.mv) {
|
|
> if(!(wtcap < EXT_ENCUMBER ? moves%30 : moves%10)) {
|
|
> if (Upolyd && u.mh > 1) {
|
|
> u.mh--;
|
|
> } else if (!Upolyd && u.uhp > 1) {
|
|
> u.uhp--;
|
|
> } else {
|
|
> You("pass out from exertion!");
|
|
> exercise(A_CON, FALSE);
|
|
> fall_asleep(-10, FALSE);
|
|
> }
|
|
> }
|
|
> }
|
|
[mhed@nym.alias.net]
|
|
|
|
Yanked towards water with grappling hook but don't fall in?
|
|
[psmith@spod-central.org]
|
|
|
|
Orc monsters should be given poison res? [psmith@spod-central.org]
|
|
|
|
stone-to-flesh monsters' inventory? [psmith@spod-central.org]
|
|
|
|
Releasing your pet from a bear trap by displacing is silly.
|
|
[eino.keskitalo@purkki.mbnet.fi]
|
|
|
|
Recoil from throwing while levitating won't trigger every type of trap.
|
|
Some were checked for and added in 3.3.2 (magic_portal, fire, pits et al on
|
|
Sokoban), but there are others that you can bypass just by throwing
|
|
something in the opposite direction.
|
|
|
|
When a wand of striking hits a boulder or statue sitting on the down
|
|
staircase, the resulting rubble/contents should have a chance of
|
|
falling down the stairs. (Possibly the same situation for trapdoors/holes).
|
|
|
|
Individually scattering objects that fall down stairs and holes is
|
|
inefficient when multiple objects are migrating. It might be better to place
|
|
all of the migrating objects that are being scattered onto a special obj
|
|
chain which scatter() could easily be changed to accomodate.
|
|
|
|
For "traditional" menu style, pickup and #loot/apply can't accept an 'm'
|
|
response to bring up a menu upon request when all items involved are of
|
|
the same class, because the prompt where that response is allowed only
|
|
gets issued when multiple classes are present.
|
|
|
|
Slower decay for corpses on ice has been re-implemented, but slowing down
|
|
the rate at which they become unfit for consumption has to be looked at.
|
|
|
|
Several special levels exhibit lit-wall anomalies.
|
|
|
|
float_down() messages conflict with drown() and lava_effects() messages.
|
|
There's a kludge in place to keep drown() messages from causing duplicate and
|
|
out-or-order float_down() messages, but lava_effects() has cases where you can
|
|
float_down w/o any messages being printed at all. These should be very rare,
|
|
but it should still get fixed in a less kludgy way.
|
|
|
|
The resistance delays are very slow on some machines and fine on others, with
|
|
no apparent pattern. There is a proposal to do timing in a different manner.
|
|
|
|
Monsters do not get affected by special properties of many types of armor,
|
|
like levitation boots.
|
|
|
|
Corpses buried under ice ought to be handled as if they were inside an
|
|
ice box.
|
|
|
|
If you dig through the walls of two shops at the same time, only one shk
|
|
will come seeking payment for damage. If you then beat him back into his
|
|
shop, leaving the other shop behind, the angry shopkeeper suddenly calms
|
|
down and welcomes you to his shop.
|
|
|
|
Throwing, dropping, or kicking a land mine object ought to have a chance
|
|
of setting it off. Ditto for hitting it with striking magic or rolling
|
|
a boulder over it. Likewise for armed land mine traps.
|
|
|
|
There are several TODOs and one fixme still in the code. They tend to stay
|
|
around for a long time.
|
|
|
|
Teleporting while using tiles may place you one tile beyond the edge of
|
|
the display screen, and place the crosshair on empty space.
|
|
|
|
Engraving requiring multiple turns ought to be recoded as an occupation
|
|
so that it could become interruptable.
|
|
|
|
Being punished on the Plane of Water does not work correctly. The ball
|
|
& chain always remain at your current location whether you're dragging
|
|
them around or whether you're just floating along with an air bubble.
|
|
(This is bad, but better than the previous behavior of panicking when
|
|
an air bubble tried to move them.)
|
|
|
|
Monster extinction is now a little better, but some cases are not covered
|
|
which would logically not "use up" the supply of wild monsters. Monster
|
|
cloning is explicitly such a case; there are some cases that have been
|
|
missed for now.
|
|
|
|
Some of the new monsters (especially water monsters) never appear at random.
|
|
|
|
"The combat suddenly awakens you" printed when player was asleep from a
|
|
sleeping gas trap and woke up. No combat was present.
|
|
|
|
The region code displays a fog cloud glyph for clouds, but '/' identifies it
|
|
as a vortex.
|
|
|
|
Reported but unconfirmed bugs:
|
|
-- Strange things happen to items in chests pets carry downstairs.
|
|
-- Several reports of core dumps when monsters resist an effect.
|
|
-- There seem to be more reports of death by trickery than can be accounted
|
|
for by misset NETWORKs.
|
|
-- newexplevel() called rnd(-1). I seem to remember this being a Xenix
|
|
compiler bug, but I'm not sure.
|
|
-- Reports of minor terminal weirdnesses especially after NetHack dies after
|
|
catching a signal.
|
|
-- Reported problem with loss of hit points for no apparent reason until
|
|
player was left with 1 out of 1 hit points.
|
|
-- Walking around in the Gnomish Town, when I suddenly noticed my cat
|
|
wasn't following me around anymore. It appeared to be hanging around
|
|
somewhere near an outer wall of a food shop, on the other side of which
|
|
was lying a tripe ration and would not move. [Boudewijn Waijers]
|
|
-- Monsters were displayed as 'I' (unseen monster) but were referred to by
|
|
name. [Irina]
|
|
-- A wand of secret door detection self-identified while engraving even
|
|
though it didn't find anything. [Irina]
|
|
|
|
Riding bugs:
|
|
-- If you have see invisible and your invisible steed becomes truly
|
|
invisible (potion timeout or ring removal) we need to revert to
|
|
showing the player in that situation. The u.usteed check in the
|
|
display_self() macro could become u.usteed && !u.usteed.minvis
|
|
to accomodate that.
|
|
-- Wielding Stormbringer while riding should result in it attacking
|
|
your steed on occasion.
|
|
-- The steed might want to wander about when you are paralyzed (of course the
|
|
knight's well-trained pony wouldn't)
|
|
[eino.keskitalo@purkki.mbnet.fi]
|
|
|
|
|
|
Platform specific bugs:
|
|
-----------------------
|
|
MAC
|
|
- Doesn't work well when switching between foreground and background.
|
|
- Gives a "type 1" error for some people on startup (unconfirmed --
|
|
may be due to MW compiler bug).
|
|
MSDOS
|
|
- The Rogue level is unable to use the proper characters for armor or
|
|
rings, since they would get interpreted as control characters.
|
|
- "RAMDISK" feature in defaults.nh hasn't worked for some time
|
|
and is past much of its usefulness. A temp directory would be
|
|
more appropriate.
|
|
- The MSC7 compile results in "stack plus data exceeds 640k" messages.
|
|
- Clearing the screen doesn't necessarily work. For instance, a bad
|
|
options line can leave "Hit <Enter> to continue." on the bottom of the
|
|
screen, which ^R will not redraw.
|
|
- Compiling without DLB using DJGPP does not work with the supplied
|
|
Makefile.
|
|
- On the djgpp version, a large number of arguments to "nethack -s"
|
|
can crash the program. "nethack -s *" in a directory with a lot of
|
|
filenames can trigger this problem.
|
|
- set_bonestemp_name() needs to be fixed for the #if MICRO configuration.
|
|
It currently uses the device+directory path for level files, but bones
|
|
can be placed elsewhere so renaming from the temp name to the final
|
|
bones file name isn't reliable.
|
|
NT
|
|
- With console window larger than 80x25 (80x43) some commands that
|
|
display text underneath the map don't clear to eol, so you get
|
|
stray chars left there (?a, ?b, ?c, ?g and ?i, but not others).
|
|
- When a game is started on a console larger than 80x25, the game
|
|
only occupies the first 25 lines, leaving whatever junk happened
|
|
to be on the screen prior to starting NetHack still there.
|
|
Unix
|
|
|
|
X11
|
|
- It is possible to get a prompt which does not vanish from the screen.
|
|
- Anything which gives two prompts in a row at which one may type a single
|
|
character, has a several second delay between when the single character is
|
|
read for the first prompt and the first prompt is erased, and the second prompt
|
|
is printed.
|
|
|
|
tty
|
|
|
|
Guidebook
|
|
- various mentions of spellcasting are all based on the old system
|
|
rather than the present wizard patch implementation.
|
|
|
|
------------------------------------------------------------------------------
|
|
Problems/tradeoffs which are probably not going to get fixed
|
|
------------------------------------------------------------------------------
|
|
Some quest messages get delivered when they no longer make sense, such as
|
|
the dying threat of a quest nemesis being given after it's been beheaded,
|
|
petrified, or disintegrated. Likewise, at least one of the quests gives
|
|
"you sense the presence of the {quest artifact}" message upon return to
|
|
the goal level, even when it happens to already be in your possession.
|
|
|
|
If a quest leader gets polymorphed and then killed before quest completion,
|
|
the code which suppresses the call for assistance when he's dead doesn't
|
|
notice.
|
|
|
|
Energy monsters, like yellow lights, ghosts, and wraiths, are treated like
|
|
solid monsters inappropriately in several ways.
|
|
|
|
Because there is no record of which squares a leash is in, leashed
|
|
pets can follow you through a different door than you left a room
|
|
from, or teleport through a door you closed between yourself and it.
|
|
|
|
"baby red dragon", &c. is a kludge. The "correct" way to do it would be to
|
|
use monsters with a small mlevel for baby monsters, but this has several
|
|
problems such as name_to_mon() not working, random generation being unable to
|
|
create them earlier, and inability to create them with worse armor classes or
|
|
attacks which do less damage.
|
|
|
|
The "/" command, when used on areas outside of rooms, guesses (dark part of
|
|
a room) incorrectly. Correcting will require a new glyph type (ie, unknown
|
|
or unexplored area).
|
|
|
|
There are hooks for invisible objects, but they're not really implemented. It
|
|
has complicated ramifications involving which monsters can see and pick them
|
|
up (and whether the player notices), ensuring snakes cannot hide under them,
|
|
and whether they can be taken out of containers.
|
|
|
|
Missile weapons not hitting their targets always drop to the floor where
|
|
the targets are. What should happen is that it sometimes drops and sometimes
|
|
whizzes by (possibly to hit a monster behind it) depending on several factors:
|
|
Is the monster's AC because of scales, hide, etc... (so missiles which "miss"
|
|
actually hit and dropped but didn't injure) or is it because the monster is
|
|
small and quick (so the missile whizzed by)? Is the monster flying or on the
|
|
ground? Is the player levitating? Is the player unusually short or tall
|
|
(i.e., if the player is polymorphed), etc....
|
|
|
|
Monsters don't change either peacefulness or malign when the player changes
|
|
alignment. This can't be fixed because it would be impossible to ensure that
|
|
two alignment switches put the monsters back the way they were. For one thing,
|
|
monster peacefulness is based on the player's alignment record as well as his
|
|
type (and we don't want to change peacefulness every time the record changes!),
|
|
and for another, the monster's peacefulness might have changed from its initial
|
|
value and two switches wouldn't bring it back to normal.
|
|
|
|
You can open/close doors diagonally, but cannot enter them diagonally. This
|
|
seems inconsistent. [Comment: The main reason why this is blocked is
|
|
because of shop behavior. Allowing diagonal entry will nullify the body
|
|
block by the shk, when you carry unpaid items. If diagonal moves are
|
|
allowed, shopkeepers should close the door when you're inside. IM]
|
|
|
|
Monsters cannot use AD_STCK or AD_WRAP on other monsters. The complications
|
|
are too great, and would add little to the game.
|
|
|
|
Polymorphed players, as well as monsters, who swallow monsters either totally
|
|
digest them or immediately regurgitate them; unlike monsters who swallow
|
|
players, they cannot have their victim inside them for several moves.
|
|
|
|
You cannot stop eating, transcribing, or removing armor, save the game, restore
|
|
it, then expect to continue. These use static data structures which aren't
|
|
saved.
|
|
|
|
Problems can arise when your movement is being stopped by two different
|
|
things, both of which use nomul() and/or nomovemsg. (Still possible, though
|
|
much less likely.)
|
|
|
|
There is no option to not hit certain monsters such as floating eyes. This
|
|
is not likely to be "fixed" as the resulting risk is inherited directly from
|
|
rogue's floating eyes and ice monsters.
|
|
|
|
If you're blind, or the swallower is invisible, you still see the interior
|
|
of a monster when swallowed. [I think that the monster should show up when
|
|
blind. After all, you can feel it around you. For invisible swallowers,
|
|
it depends on what is meant by invisible. If invisible means "bend light
|
|
around you" then the interior _should_ show up. If invisible means "you
|
|
are transparent" then the interior should not be displayed, and, in fact,
|
|
the dungeon should be displayed around the hero. -Dean]
|
|
|
|
The color display on color screens is not really integrated into object
|
|
visibility. Seeing the color does not cause dknown to be set even for a
|
|
colored object. Similarly, if dknown is not set (i.e. when blind) the object
|
|
shows up in color anyway.
|
|
|
|
The monster movement rate is also used to decide when the monster attacks.
|
|
Therefore, a monster with half normal movement rate (6") also attacks only
|
|
half the time. This gets ridiculous in some cases (mimics, puddings), as
|
|
well as making soldiers less tough than they probably were meant to be.
|
|
The monster difficulty level calculation doesn't take into account infrequent
|
|
attacks due to a low movement rate, either, and many monsters are obvious
|
|
ports from AD&D where the rate does _not_ reduce the number of attacks.
|
|
The fix itself is fairly simple, but some balance testing will be needed.
|
|
|
|
The Amulet of Yendor and artifacts are not allowed in containers; it becomes
|
|
harder to check if you are carrying one, harder for monsters to steal one,
|
|
and a pain to handle if the container gets destroyed.
|
|
|
|
Polymorphed players who end up in doors or walls upon rehumanization, and have
|
|
2 places to go to, can go to either of them.
|
|
|
|
The !verbose option has not been tested for a long time. A quick test shows
|
|
that most messages except for hitting a monster are unaffected by it. It
|
|
should be either removed, or modified to do something useful.
|
|
|
|
Invisible monster markers ('I') use the hero's memory (levl[x][y].glyph).
|
|
So does remembering what objects are on the ground. This means that the
|
|
presence of an unseen monster causes the player to forget what was on the
|
|
ground.
|
|
|
|
Kicked objects which hit other objects give a message when the other objects
|
|
are on a hole and don't fall, but not when there is no hole, even though the
|
|
exact same thing happens. This is intentional.
|
|
|
|
If someone identifies a ring by wearing it, while blind, dknown is not set.
|
|
This means that they can put on, say, a ring of levitation, levitate, and know
|
|
what other rings of levitation are without knowing this one, until they become
|
|
unblinded and recognize the type. There is no real way to fix this because
|
|
there is no way to say "they don't know that this type is associated with this
|
|
material now, but they'll know it as soon as they can see".
|
|
|
|
Shades cannot be attacked by players unless they have silver or blessed
|
|
weapons. Monsters who attack shades are not subject to similar restrictions.
|
|
|
|
The idea of giants carrying boulders, and the idea of boulders being huge
|
|
objects that block passages, really don't mesh very well. At worst, a boulder
|
|
fills the full height of a passage and for a giant to carry one is the
|
|
equivalent of a human carrying a boulder his own height in a passage no higher
|
|
than the boulder is tall. At best, the grid squares are taller than they are
|
|
wide, and it is still the equivalent of a human carrying a rock that is at
|
|
least two feet wide, not to mention that you can't fly or levitate over the
|
|
boulder and giants that carry them don't block light.
|
|
-------------------------------------------------------------------------
|
|
3.'s Doomed Agenda (which doesn't mean they're reserved!)
|
|
-------------------------------------------------------------------------
|
|
Integration:
|
|
Allow crystal balls to detect furniture types.
|
|
|
|
#offer items to shopkeeper in shops for price quotes.
|
|
|
|
#force doors.
|
|
|
|
open (#force, #loot) boxes next to you, bags in inventory.
|
|
|
|
Integrate cans of grease more. Fumbling with greased objects.
|
|
Towels degreasing objects. Greased shields of reflection and mirrors
|
|
don't reflect well. Greasy paper and cloth are especially combustible.
|
|
|
|
Non-swimmers move extra slow underwater. Being underwater reduces
|
|
AC. Lighting works differently underwater.
|
|
|
|
Mark food dipped in potions of sickness as poisoned, and cause
|
|
players/monsters that eat it to take damage accordingly. (Here,
|
|
Spot! I have this nice tripe ration for you!)
|
|
|
|
Artifacts:
|
|
Magicbane drains magic.
|
|
|
|
Make Stormbringer willfully steer you toward monters when you're
|
|
stunned, on some occasions curse itself when it doesn't want to be
|
|
unwielded, and turn on you if you still wield it at the end of the
|
|
astral level or summon brethren to the chaotic minions. "Blood and
|
|
souls for my lord Arioch!" Perhaps mark Stormbringer kills as
|
|
unsacrificible, and give Stormy some of the XP.
|
|
|
|
Excalibur breaks when used for evil or after being stolen from a
|
|
shop, but can be repaired by dipping in an appropiate place if your
|
|
alignment is good. And/or refuses to attack peaceful creatures.
|
|
|
|
Perhaps replace Dragonbane with Dragonslicer.
|
|
|
|
Consider unique, less useful Saberhagen swords like the healing
|
|
sword or the one that only touches your opponent's weapon.
|
|
|
|
Religion:
|
|
Using a non-aligned artifact is bad religion.
|
|
|
|
Greater alignment adjustments for killing very tame monsters (such
|
|
as your children), and adjustments for killing angels.
|
|
|
|
Lower or remove alignment bonus for killing monsters much weaker
|
|
than you that don't pose much challenge.
|
|
|
|
Moloch's wrath is nastier than your gods'.
|
|
|
|
Sacrificing temple priests should be more than the ordinary human
|
|
sacrifice. Sacrificing angels should be special too. Sacrificing
|
|
the Wizard of Yendor should be extraordinary. Perhaps just a lesser
|
|
demon for sacrificing some humans, and demon lords for sacrificing
|
|
priests. The Wizard, hmm...
|
|
|
|
At same level where gods would give you a passtune, have gods help you
|
|
find an unfound portal on the level.
|
|
|
|
Consider tameness of corpses when eating. Fix tameness reset by cloning.
|
|
|
|
Special levels:
|
|
Install homeless demon lords in their own distinct lairs, with
|
|
appropriate monsters surrounding them. Add support for the Styx
|
|
level.
|
|
|
|
Level compiler wishlist:
|
|
monster inventory
|
|
desecrated altars
|
|
special level filler lit option
|
|
wall on left edge bug when non-rock filler used
|
|
|
|
Special levels of special sizes. Small tower levels only stored as
|
|
a small region. Perhaps the bigroom level is larger than the normal
|
|
screen size, so with clipping you only see one or two walls at once.
|
|
|
|
Balance:
|
|
Adjust object creation probabilities and monster equipment by level,
|
|
so there is a progression from "low level" objects up near the
|
|
entrance and "higher level" objects the deeper you go. Don't
|
|
generate figurines on high levels for the same reason as not making
|
|
statue traps; who needs a figurine of a newt? [No to the first!
|
|
I've played Moria. Waiting for those two rings of speed at 2500
|
|
feet was a *pain*. --KAA]
|
|
|
|
Balance fountain/sink effects on low levels (restrict them to deeper
|
|
ones?) like preventing water moccasins and water demons from
|
|
happening, as with exploding doors.
|
|
|
|
Make quest leaders and nemeses less prone to instant deaths, and/or
|
|
tone down instant deaths in the game (beheading/bisecting, stoning,
|
|
eating, crushing, burying, drowning).
|
|
|
|
Monsters:
|
|
Make intelligent monsters use wands of teleport on you if you're at
|
|
where they're going (like demon lords to up stairs, or if you're
|
|
standing on a quest artifact).
|
|
|
|
Lawful pets don't attack lawful creatures.
|
|
|
|
Keraunophobic pets. Photophobic monsters.
|
|
|
|
Give Wizard of Yendor magic resistance, and make quest monsters and
|
|
demon lords less prone to instant death. (Perhaps give some quest
|
|
monsters reflection objects. Perhaps make the Amulet of Yendor turn
|
|
weapons like the vorpal blade.)
|
|
|
|
mfloat/mlevit for levitated monsters, make monsters wearing levitation
|
|
boots levitate (extend floating monster checks for traps, picking up
|
|
objects, &c.).
|
|
|
|
Separate monster sleep from paralysis.
|
|
|
|
Jellocubes can eat doors.
|
|
|
|
Allow shamans to animate corpses into zombies.
|
|
|
|
Orcus animates the dead.
|
|
|
|
Perhaps shopkeepers could fill in pits too. Players who vandalize
|
|
the store while shopkeepers are repairing other vandalism makes 'em
|
|
angry.
|
|
|
|
Killing shopkeepers/priests makes watchmen angry.
|
|
|
|
Make shopkeepers smarter in general, using their weapons and armor
|
|
when angry, lowering their awesome strength and AC commensurate to their
|
|
initial equipment, picking up their stock in trade (and perhaps gold) when
|
|
they leave their shop (dropping it when they return), and making them
|
|
attack monsters looting their shops (ones carrying unpaid objects).
|
|
|
|
Make shopkeepers catch their wares when thrown. (And throw credit cards
|
|
back.) Make guards catch gold and put it back in the vault.
|
|
|
|
Make vampires change to bats and vice versa.
|
|
|
|
Perhaps give Kops a distance bonus when throwing pies.
|
|
|
|
Lizards hide.
|
|
|
|
Give orcs something to #chat about.
|
|
|
|
Monsters shy away if you're too tough.
|
|
|
|
Correct marilith weapon attacks.
|
|
|
|
Smart monsters loot containers. Dwarves could force containers with
|
|
their pick-axes.
|
|
|
|
Some monsters have natural enemies, that they will avoid/be attacked
|
|
by (rat -> cat -> dog). Your rat and cat may be tame, but they
|
|
would chase and fight.
|
|
|
|
Set real destinations for monsters instead of aimless wandering,
|
|
especially dwarves, so their tunnels have direction.
|
|
|
|
Allow zombies/mummies/skeletons/etc. of many types with a monster
|
|
number field like objects.
|
|
|
|
Make Nazgul the heavies they should be.
|
|
|
|
Monster wishes. [Are you mad? --KAA]
|
|
|
|
Kops attach iron balls.
|
|
|
|
When grid bugs grow up, they split into clones.
|
|
|
|
Objects:
|
|
ocan field for general object cancellation.
|
|
|
|
Perhaps allow low-damage bullwhips to strike two positions away.
|
|
|
|
Game play:
|
|
Make starting under MS-DOS initialize IBMgraphics and lit_corridor
|
|
TRUE, and maybe video:autodetect, when appropriate.
|
|
|
|
Display a helpful message pointing you to the right command if you
|
|
try to remove armor instead of take off, or take off rings instead
|
|
of remove. Or apply wands, books, scrolls, etc. (Or just do what
|
|
you meant.)
|
|
|
|
Divide score by # times killed.
|
|
|
|
"A" to select among all for Drop, identify, and other ggetobj() calls.
|
|
|
|
Commands from inventory menu.
|
|
|
|
Highlight low HP
|
|
|
|
Command to wait until you are healed up. ("g."?)
|
|
|
|
Touch type mode to shift [hjkl] to [jkl;].
|
|
|
|
Null options unset.
|
|
|
|
Separate put-in and take-out commands. Or open . on chests.
|
|
|
|
Break some of the object classes into separate groups, like
|
|
containers to "]", ammo to "\", cadavers from other food, gems from
|
|
other rocks.
|
|
|
|
Perhaps use special background colors (or outline tiles) for glyphs
|
|
of tame or seen invisible monsters.
|
|
|
|
Let cave dwellers detect rotten food for another class difference.
|
|
|
|
Name objects on ground, for all those kicked loadstones.
|
|
|
|
"Feel apprehensive..." warning adjectives
|
|
|
|
Realism:
|
|
Prevent snakes/giant spiders from hiding under gems or other too-small
|
|
objects.
|
|
|
|
Limit large mimics to large objects and small mimics to smaller ones
|
|
and from doors.
|
|
|
|
Limit the merging of food so that very fresh and very spoiled food
|
|
don't mix.
|
|
|
|
Eating zombies and mummies should likely make you sick.
|
|
|
|
Make exploding drawbridges do explosion damage, not instant kills.
|
|
Perhaps be pinned by drawbridges (and boulders) that fall on you.
|
|
Perhaps add junk objects like broken doors/drawbridges.
|
|
|
|
Make certain wild animals like jackals eat corpses left lying around,
|
|
and perhaps only aggressive when hungry (but hunger is only measured
|
|
for pets now).
|
|
|
|
An acid blob should corrode what it picks up, and maybe what it
|
|
passes over on the floor.
|
|
|
|
Trap doors ought to go to consistent places in the next level, but
|
|
what about branching dungeons? Make holes in the floor and holes in
|
|
the ceiling deterministic dungeon features.
|
|
|
|
Weapon traps (dart, arrow) should have a finite supply of missiles.
|
|
(Perhaps darts buried in the floor? Or in the wall if we prevent
|
|
such traps in the middle of the floor.)
|
|
|
|
Open tins that rot like corpses and that pets can eat. Partly-eaten
|
|
tins are open.
|
|
|
|
Damp swamps that damage scrolls and books and maybe rust items left
|
|
there a long time.
|
|
|
|
Damp scrolls that can't be written on until they dry.
|
|
|
|
Embedded gems in rings and jeweled items left behind by eating.
|
|
|
|
Use pick-axes on iron chains.
|
|
|
|
Use axe as an axe to chop up doors, chests, etc.
|
|
|
|
Split AC into evasion AC and damage AC, so that dragons are easy to
|
|
hit (low evasion AC) but hard to hurt (high damage AC), to make
|
|
combat seem more realistic, with some indication of ineffectual
|
|
blows.
|
|
|
|
Split encumbrance into weight and bulk (which affects how much you
|
|
can put in containers, and a direct limit on carrying capacity).
|
|
|
|
Atmosphere:
|
|
Perhaps make all class-specific anachronisms like credit cards,
|
|
Hawaiian shirts, expensive cameras, fedoras, stethoscopes all 0
|
|
random creation probability.
|
|
|
|
Change fake mail on micros to a note from the Wizard or a bill from
|
|
a shopkeeper triggered in the appropriate circumstances.
|
|
|
|
Put in a special message for huge special-level shops.
|
|
|
|
Draw out poison effects with a Poisoned timeout.
|
|
|
|
Have awakened monsters in special rooms growl() to wake other nearby
|
|
monsters.
|
|
|
|
Some newly-generated monsters tend to appear on stairways, others to
|
|
appear in pools, etc.
|
|
|
|
Put a chest of sunken treasure underwater, now that we can specify chest
|
|
contents (there are other treasure chests that need this already).
|
|
|
|
Creaky doors which wake monsters. Graveyards should usually have
|
|
creaky doors.
|
|
|
|
Players killed and eaten leave bones or partially-eaten corpses.
|
|
|
|
Greedy killers snarf your gold. Nymphs should take everything.
|
|
Shopkeepers pick up gold dropped in their shops.
|
|
|
|
Make general "Wow!" function for pline hallucination interjections
|
|
for variety.
|
|
|
|
Make A.S. -> engravings that point to stairs
|
|
|
|
Spell casting enhancements:
|
|
|
|
Add something like bracers of defense so that spell casters do not have
|
|
to wear armor.
|
|
|
|
Add some sort of a "mute" spell to silence monster's cursing abilities,
|
|
and players spell casting abilities.
|
|
|
|
Make a detect magic spell. There are hooks marking magic items in
|
|
objects[] for this.
|
|
|
|
Silly:
|
|
Cute hallucination message about bowling when throwing an iron ball.
|
|
|
|
"alligator shoes".
|
|
|
|
If you quit in the Wizard of Yendor's presence, he calls you a wimp.
|
|
|
|
Hallucinated fist fights have sound effects. Pow! Wham! Biff!
|
|
Sock! Krak! Boom! Zap! [Blame Kibo, it was his idea!]
|
|
|
|
Glyphs:
|
|
Redraw mail daemon, grid bug
|
|
|
|
Moat different from pool
|
|
|
|
Object classes
|
|
|
|
Floor engravings
|
|
|
|
Use in discovery list?
|
|
|
|
A couple hallucinated monsters
|
|
|
|
Directed objects (missiles pointing each direction like boomerangs,
|
|
could flip three horizontal/vertical/diagonal tiles as appropriate).
|
|
|
|
Quantities of objects -- ex. 1 dart, (few darts,) many darts
|
|
|
|
General large pile glyph
|
|
|
|
Individual monster statues & corpses (& tins?)
|
|
|
|
Glowing?
|
|
|
|
Pillars for Delphi temple
|
|
|
|
New:
|
|
Use flint stone with metal object to light candles.
|
|
|
|
Beholders with gaze attacks and anti-magic line of sight (or wimp
|
|
out and just create them by beholder zaps). Sleep and slow eyes
|
|
aren't beams. Blinding would probably only work on the center eye,
|
|
Anti-magic is the difficult part. The right way is to have anti-
|
|
magic field bits for each square on the level. Players and monsters
|
|
standing in the area would be temporarily cancelled. Spells and
|
|
zaps in or through the square fizzle and magic scrolls and potions
|
|
don't work. Plusses don't add. Also unpoly a la protection from
|
|
shape changers. Perhaps Wizards can recognize them. Antimagic
|
|
traps could be replaced with anti-magic squares. Magical monsters
|
|
should avoid.
|
|
|
|
Add a wooden sword (bokken/bokutou?) to the game, naturally safe
|
|
from rust or corrosion (but maybe digested when used against a
|
|
jellocube).
|
|
|
|
Magic mouth engraving/trap for special levels. Either
|
|
engraving-like messages, or just standard discouragements like "Go
|
|
away.", "Scram.", "Beat it.", "Get out.", "None shall pass.", etc.
|
|
Perhaps even putting one on a statue.
|
|
|
|
Diablo tribute:
|
|
New monster that throws balls of molten lava (that they generate
|
|
out of thin air) which would at least be different from anything
|
|
we've presently got. There are some others which act as hiders
|
|
(in Diablo, rather than really hide they rely on just being hard
|
|
to see when stationary against the murky background display) which
|
|
become active if you get too close or hit them with a ranged attack
|
|
and become dormant again when you move away. The difference from
|
|
our existing hiders is that they act more like bats once they're
|
|
active, instead of being really slow moving engulfers or mimics.
|
|
The venom code may allow for this. A new lava "venom" sharing the
|
|
same class for generated-on-demand-liquid seems like the right
|
|
place anyway.
|
|
|
|
|
|
Rename #ifdef SOUNDS -> NOISES
|
|
|
|
Disintegrate object after it becomes completely corroded?
|
|
|
|
Don't put food in statues of stoned creatures.
|
|
|
|
Cancel intrinsics.
|
|
|
|
Zapping a wand wields it like a pick-axe.
|
|
|
|
Glowing Orcrist as a light source.
|
|
|
|
Make statue traps trapped objects, triggered after you step on their
|
|
position. Perhaps bear traps too, but make them turn invisible.
|
|
|
|
Use oerosion for rings/gems damaged by engraving. [Perhaps also damp
|
|
scrolls? goopy towels?]
|
|
|
|
Tourist search for lost Luggage.
|
|
|
|
Eating wood/iron golems whole, should iron golems really be poisonous?
|
|
|
|
Put -DWIZARD -DHACKDIR comments in makefiles.
|
|
|
|
Perhaps allow different poisoned weapon effects for different potions.
|
|
Change "Interesting..." since it suggests something happens when nothing
|
|
does.
|
|
|
|
Allow you, by #chat, to have shopkeepers identify objects in their specialty
|
|
for you, for a fee. (500zm?)
|
|
|
|
Dallying with seducers unsets your u.uvirgin bit, which would cause unicorns
|
|
to more actively avoid your company.
|
|
|
|
Hallucinate objects (on floor with /, swung/thrown at you...).
|
|
|
|
Horn of Geryon summons minotaurs.
|
|
|
|
Beheading Medusa with vorpal blade.
|
|
|
|
-------------------------------------------------------------------------
|
|
Ken's Doomed Agenda (see, I can have one too...)
|
|
-------------------------------------------------------------------------
|
|
Add a wand of wonder (like the AD&D item).
|
|
|
|
Shopkeepers angered when you break their door should be calmable by repairing
|
|
the door (using a wand of locking or a spell of wizard lock).
|
|
|
|
Add SCR_ENCHANT_WEAPON, SCR_REMOVE_CURSE, SCR_ENCHANT_ARMOR, SCR_DESTROY_ARMOR
|
|
to items usable by monsters.
|
|
|
|
Add one (or more) magic items that are mostly useful for monsters against
|
|
players (though players _could_ use them).
|
|
|
|
The code contains several sections which were necessary when removing a
|
|
fire resistance item (weapon, armor, ring) was instant death in Hell. These
|
|
could use removal.
|
|
|
|
Effects for the blessed scrolls/potions with effects that are absent:
|
|
-- destroy armor: (see controversial item section)
|
|
|
|
"Welcome to Experience Level ___" for pets.
|
|
|
|
What are all those pieces of glass doing in the dungeon? Possibly replace
|
|
with "worthless colored rock" or specific worthless rock type (quartz,
|
|
feldspar, etc.)
|
|
|
|
Container capacity limits (say, didn't we already have these once?)
|
|
|
|
Potions should, logically, not suddenly have their flasks disappear when you
|
|
drink them. The main challenge in doing this is to make sure this does not
|
|
produce infinite supplies of polymorph fodder and holy water fodder.
|
|
-----------------------------------------------------
|
|
controversial items
|
|
-----------------------------------------------------
|
|
Allow scrolls of destroy armor to enable the player to select the (worn)
|
|
item to be destroyed if they are blessed.
|
|
|
|
Wild carnivores should eat corpses.
|
|
|
|
If all '#' commands are to be typed with a single letter, hitting backspace
|
|
should erase the entire command, instead of requiring the player to hit several
|
|
backspaces to do so.
|
|
|
|
When you wear things which get identified by putting them on, they get
|
|
identified before being put on, so the on-message prints out the identified
|
|
type. Whether this is reasonable can be argued either way.
|
|
|
|
Monsters with AT_WEAP attacks do damage equal to the sum of their non-weapon
|
|
damage and the damage done by the weapon. Players polymorphed into such
|
|
monsters only do the weapon damage, with no additions. This is arguably
|
|
necessary for game balance.
|
|
|
|
Very_small non-flyers should have a penalty to hit levitated creatures. But
|
|
this is a lot of work, causes no apparent difference (unless the penalty is
|
|
really large), requires too much extra code and special cases (i.e. a
|
|
monster with long tentacles or jumping ability shouldn't get the penalty),
|
|
and adds nothing to the game, so why put it in?
|
|
|
|
Charged rings should be priced by their charge.
|
|
Wands should be marked down when at 0 charges.
|
|
Maybe mark down diluted potions as well.
|
|
|
|
A hit that misses due to AC should be taken by the armor. The armor should
|
|
turn the blade, absorb the blow, or whatever, with various messages for each
|
|
circumstance. In addition, it would be nice if armor accumulated damage,
|
|
and after enough of it, became degraded or useless (or just destroyed).
|
|
I imagine an object "hit point" (entropy?) field, which might also be a logical
|
|
place to mark wet scrolls, diluted potions, and rotten corpses.
|
|
|
|
Various food items: mushroom, sandwich, tortilla, cheese, asian pear, pill,
|
|
and holy wafer. Most of them because they are not needed and the latter
|
|
because of it's potential to offend.
|
|
|
|
"Wallet of Perseus" bag of holding may be found in statue of Perseus on
|
|
Medusa level.
|
|
|
|
Any addition of firearms met with strong opposition.
|
|
|
|
Flyswatters and paddles; designed to be effective against insects.
|
|
|
|
Fishing pole; added grapple hook instead.
|
|
|
|
|
|
|
|
|