- splash_screen (boolean for whether to display splash screen at startup)
- player_selection:dialog|prompts
Also moves the font and window manipulation stuff in defaults.nh
further down the file, so that a tty users doesn't have to wade
through it all to find the character adjustment samples.
It's possible to leashed a saddled pet and them ride it,
but it wasn't possible to remove the leash while mounted. This
fixes that; it also lets you put the leash on your steed while
mounted, but there's nothing wrong with that.
part 1 touches core files
ntconf.h changes differ slightly from Yitzhak's original.
Makes Borland happy with current sources.
Hides "rawio" on Graphical Port which doesn't do anything with rawio
This fixes the wizkit so that if someone wishes for a non-object such as
a trap, not only is no message printed, but we don't try to create anything.
Incidentally, if you have two bad wizkit items in a row, you get told to hit
space to continue, then you can hit space, then the error message for the
second bad item is printed on the same line as the first hit space message.
(I haven't tried to fix that.)
- candles, et al, light via catch_lit
- non-weapons can be damaged
- only flammable items can be damaged, previously SILVER objects, for example,
would get a message, but add_erosion_words wouldn't display a damage word
- can't track burnt food, put this in the "seems" case too
- PLASTIC items are is_flammable, which is appropriate for all current uses
- paper gets destroyed (special artifacts excepted by earlier check)
- a cursed potion now spills even if not dipping weapons
- charge for damaging unpaid objects this way
- still very hard to destroy PYEC this way
- a case missed by the earlier lava patch, if you enter the lava while
mounted, your steed would be unaffected if you were lifesaved
- fix by making more code shared with the is_pool case
> Greetings! <Someone> suggested I report this bug to you:
> in 3.3.1, riding a horse while blind, I ate a bad carrot (to
> unblind myself) and got the message, "Blecch! Rotten food! The
> world spins and you slap against the floor." Upon regaining
> consciousness, I found I was still safely mounted on my steed,
> raising the question of what part of me could have "slapped
> against the floor." I thought I would have fallen off my
> horse, or at least have slumped against it. <Someone> said in his
> reply to me on rgrn: "Looks like Yet Another message that
> fails to take riding into account; should be easy enough for
> the DevTeam to fix, though, since it's one that's already
> being modified for levitation and the like." Hope this helps.
> Thanks very much! <email deleted>
>
(and panic() which calls done())
This uses the flag that <Someone> recently added.
At least one crash in the past was caused by
? -> panic() -> done(11) -> * vision_recalc(2) -> newsym() -> crash!
if u.ux and u.uy are 0
- switch aobjnam() to use cxname, not xname
- update Tobjnam() comment, since it can still use xname w/o confusion
A specific case that's fixed: You begin bashing monsters with your corpse.
The Kop Kaptain's rubber hose shatters from the force of your blow!
Rubber hoses are an individual exception that would need to be dealt
with explicitly, since the PLASTIC they're made of is floppy rather
than rigid as for other PLASTIC items.
> Should a potion of polymorph autoidentify if the item dipped into it
> polymorphs into (as far as you know) the same item? It just seemed
> odd, choosing "Z - a wand of light" to dip into a potion, to get
> "Z - a wand of light" returned, and the potion identified.
>
> (Ideally, I'd like to see it be "Nothing seems to happen.", as for
> a failed-this-time unicorn horn.)
- use uwep's oc_wldam value, not chest's oc_wldam value, for computing chance.
oc_wldam has always been 0 for all containers
- the code was broken for a long time, but was masked by the off-by-1 error
in checking the chance, allowing a 1% chance of forcing
- the result is that forcing locks is a lot easier
Add option windowcolors to control foreground/background
color of menu, message, status, and text windows.
(foreground color is the text color).
The value of the colors is window port specific, the
core code handles the storing of the strings only.
Most NetHack players have picked up on the fact that you can
easily distinguish between a fake amulet and the real thing
simply by trying to put it into a container. That's too easy.
The message was adjusted too, to make it seem less
like the objects have their own special will to resist, something
that a hunk of plastic is unlikely to have.
Devteam: message has been modified from what was previously
circulated.
Note: actual option setting code in parseoptions already does this correctly
- avoid testing the same options values vs multiple boolopts entries
- apply similar change for complex option testing
- remove some dead code
This prevents wizkit items that aren't objects from having their names
printed on the screen if they are gold pieces, traps, or similar.
(Note that the only one of those that actually works is gold. For some reason
if you put "a hole" (for instance) in the wizkit, the hole will not get
created, even though it will, even on the stairs, if the wizard wishes for it
in-game.)
Don't report that undead monsters are "turning to flee"
when they're about to be made peaceful or killed outright,
and add a missing alignment fixup for the case where they do
get made peaceful.
Also, a trivial bit that only matters when using wizard
mode to wish for altars. To #offer the Amulet you need to be
on the Astral level rather than just anywhere in the endgame.
- if !GOLDOBJ, putting gold in the WIZKIT would add zerobj to the inventory.
This shows up when you "Da" and get a message like "you drop 0 glorkum 0 0 0"
- new cxname() to simplify doing the right thing in increasingly common cases
- use for bullwhip snagging
- in shopkeeper offer code
- in a couple other existing places rather than duplicating CORPSE checks
- use singular(...) in "swings" cases, since only one can hit. Singular uses
corpse_xname automatically when appropriate
This fixes beta bug 3020. It was hard to notice because the presence of a
monster in the room stops your occupation anyway, so it wasn't triggered unless
you were blind.
- remove special case code from getobj for touchstone
- remove other hacks from getobj that resulted from earlier hack, solves
the "rub on the gold stone" problem completely
- pass correct letter list to getobj from use_stone, like other callers