Several flags added since 3.4.0 were destined for flags
(to be saved with the game) but were placed in iflags for
savefile compatibility. These include:
boolean lootabc; /* use "a/b/c" rather than "o/i/b" when looting */
boolean showrace; /* show hero glyph by race rather than by role */
boolean travelcmd; /* allow travel command */
int runmode; /* update screen display during run moves */
This patch has no effect unless you define this in your port's
XXconf.h file.
#define SAVEFILE_340_CONVERT /* allow moving of some iflags fields to flags
without destroying savefile compatibility */
Without it, the new flags remain in "iflags." With it, the flags are moved to
"flags" and the structures are converted when the save file is read. There
is no reverse compatibility. If you save the game after conversion, you
can't load the savefile on 3.4.0, only 3.4.1.
Provide user control over screen updating for multi-step movement
(run via shift, control, &c and also travel). [See cvs history for
fixes34.1 for more details.]
<Someone>'s submittal of his `showrun' option has goaded
me to finally finish something I tried to implement some time back.
This adds a new run-time option called "runmode" which gives the
user control over how much screen udpating takes place during run
and travel movement. It has four settings:
teleport - update the map after movement has finished (this is
the old behavior and also <Someone>'s !showrun behavior);
run - update the map periodically (this is the new default);
it uses (`moves' mod 7) to control the updating; it may
need to have its own counter so that the updates are
sync'd with the start of current movement rather than
with `moves', but perhaps that won't matter;
walk - update the map after each step (this is the behavior
when <Someone>'s showrun is enabled);
crawl - like walk, but with a longer delay after each step.
This option won't work well on configurations where delay_output()
doesn't produce a pause of reasonable duration, but I don't think
there's much we can do about that.
The option setting ought to be stored in struct flags so that
it's maintained across save/restore cycles, but I put it into the
iflags structure with the other new options so that it won't cause
3.4.0 save files to be invalidated.
I can't test the changes to Guidebook.mn; the corresponding
changes to Guidebook.tex process ok and don't show any obvious
glitches when viewed with xdvi.
"It was hidden under a green mold corpse! It bites!"
Never seen corpse from a never seen monster can be
revealed by the hider.
-problem is that the corpse of the monster is
always created with dknown set to 1 when make_corpse() finishes,
even in the case where you never knew what it was while alive.
can't just blind yourself with a cream pie in your inventory
directly by applying it or by throwing it.
On 27 Jul 2002 14:11:06 GMT, <Someone> wrote:
> <email deleted> wrote:
>> <email deleted> (<Someone>) hypothesised:
>>
>> [cream pie]
>>> So I a)pply the pie. What I want to do is to hit MYSELF in the
>>> face with the pie, thereby blinding me and giving me T-P for
>>> just a few turns.
>>
>> Not a bad TTDTDTO ("Thing The DevTeam Didn't Think Of," which is
>> subtly different to a YANI, and not a bug; sorry, I seem to be
>> on a neologismathon today.)
> I tried throwing a cream pie upwards, hoping it would blind me,
> but no luck:
>
> "A cream pie hits the ceiling. What a mess!"
>
Change the message for paying off consumed items to
"You paid for a xxxx at a cost of nnn gold pieces."
to distinguish it from objects that you still have in your inventory which is
"You bought a xxx for nnn gold pieces."
<email deleted>
<email deleted>
Subject: patch: missing amiga bits
Hi,
here are some missing bits from the amigafiles.
Current source compiles fine, seems to work ok (launches, runs, opens windows
and quits as usual). I haven't had much time to test it rigorously (or play
at all), but I don't remember there having been any major changes that would've
affected the amigaport, so it probably should be okay as it is.
-jhsa
Kicking a monster as a monk or samurai or while wearing kicking
boots might make it "reel from the blow" and be knocked back a step.
If that knock back put it into a trap which killed it, the kicking
code would kill it an extra time, then the player would get a warning
about dmonsfree finding the wrong number of dead monsters.
[ I didn't keep a copy of the message which reported this
so don't have any reference number for it. ]
If you used '/' to look at multiple items one after another,
then looking at floor or other item represented by the same '.' as
venom could result in subsequent things being falsely categorized as
possibly venom. The subsequent items needed to have less than two
possible descriptions, and the triggering item needed to be a plain
dot rather than the graphic dot used for floor with IBMgraphics and
DECgraphics.
Suggested by <Someone>: when examining an `@' monster, only include
"or you" in the description if you might reasonably expect to be seen
as something else. So if you're playing as a human or an elf, or if
you're polymorphed regardless of race, the ordinary description of
"human or elf" doesn't need to add "or you". And the setting of the
`showrace' option only matters if the `@' comes from prompting the
user instead of picking a symbol from the map.
Paper golems destroyed by fire traps won't leave any scrolls
of blank paper behind. (There's still no handling of other forms
of fire attack against such critters.)
Don't suppress hallucination on/off messages when blind.
This fixes the case where you might be observing hallucinatory
monsters via telepathy yet not be told that perception was back
to normal when hallucination timed out. It does not fix the
case where temporary hallucination times out while the effect is
being blocked (in which case successful application of a unicorn
horn yields no feedback), nor the hypothetical cases where timed
hallucination starts or ends while also hallucinating for some
other reason (which could happen via polymorph someday if a
monster which is always hallucinating--the way that bats are
always stunned--ever gets introduced).
Make throwing things through iron bars by the player and
by monsters behave consistently with each other. Also prevent
stone-to-flesh'd boulders and wands from passing through.
Warwick's plname files.c addition broke the
build on both win32 and CE because NAMES_MAX
wasn't defined.
In win32 it was defined in limits.h, but only
when _POSIX_ was defined.
In CE it just didn't exist in any of the
header files. Since it was also complaining
about strdup(), I #ifdef'd Warwick's code out
under CE.
Move get_saved_games() functionality to files.c
Use moved get_saved_games() functionality in Qt windowport.
[also some non-enabled perminv code in Qt windowport]
Allow single character variations in player names
to remain unique in file names by encoding rather
than substituting.
"plnam one", "plnam_one", and "plnam~one" at the
"Who are you?" prompt get unique filenames after this patch.
> It's probably best to empty
> mswin_update_inventory() in win\win32\. If I
> remember correctly there is some code in there now
> which probably behaves badly if perm_invent is
> switched on
Implement a suggestion by <Someone> that turns spent in
"hungry" state exercise wisdom for monk characters; also make
turns spent in "satiated" state abuse it instead.
for now at least, until there is more time to look into it.
<email deleted>
> Yet more nitpicking about potions of oil being lit by sparks from axed
> statues, I'm afraid.
>
> Konosja's potions of oil catch light!
> "That will cost you 66 zorkmids (Yendorian Fuel Tax)."
> "That's in addition to the cost of Konosja's potions of oil themselves, of
> course."
> You snuff the lit potion.
>
> a) why is the Fuel Tax on (in this case) six potions the same as on one?
>
> b) if you a)pply-light a potion, it's just "in addition to the cost of
> the potion". Is Yname2() the right name-function for catch_lit() to
> be using? It's odd for Konosja to be talking about herself in the
> third person.
>
> c) Grammar on the snuffing message is wrong for multiple potions.