Commit Graph

4444 Commits

Author SHA1 Message Date
nhmall
2fb68024fe Revert "Moved potion.c globals to instance_globals."
This reverts commit d3c192e5a8.
2018-11-23 22:16:54 -05:00
nhmall
9db124f650 Revert "Fix compiler warnings in macos build."
This reverts commit 0d59f1a22b.
2018-11-23 22:16:49 -05:00
nhmall
7f023c99fb Revert "Moved sex_change_ok to instance_globals."
This reverts commit ee22210a68.
2018-11-23 22:16:47 -05:00
nhmall
44af1c78f3 Revert "topl.c globals moved to instance_globals."
This reverts commit b384223e1b.
2018-11-23 22:16:45 -05:00
nhmall
01bc4ab5e2 Revert "Fix g.restoring comments."
This reverts commit ad725c0f0f.
2018-11-23 22:16:42 -05:00
nhmall
61a35d4ac0 Revert "Moved pickup globals to instance_globals."
This reverts commit 01596f1660.
2018-11-23 22:16:40 -05:00
nhmall
734a6c2ddb Revert "objnam.c globals moved to instance globals."
This reverts commit 041e55467a.
2018-11-23 22:16:35 -05:00
nhmall
3cbc6d4cf5 Revert "Modified objects initialization to support re-entry."
This reverts commit c3eefefc99.
2018-11-23 22:16:24 -05:00
Bart House
c3eefefc99 Modified objects initialization to support re-entry. 2018-11-23 15:22:55 -08:00
Bart House
041e55467a objnam.c globals moved to instance globals. 2018-11-23 15:22:55 -08:00
Bart House
01596f1660 Moved pickup globals to instance_globals. 2018-11-23 15:22:55 -08:00
Bart House
ad725c0f0f Fix g.restoring comments. 2018-11-23 15:22:54 -08:00
Bart House
b384223e1b topl.c globals moved to instance_globals. 2018-11-23 15:22:54 -08:00
Bart House
ee22210a68 Moved sex_change_ok to instance_globals. 2018-11-23 15:22:54 -08:00
Bart House
0d59f1a22b Fix compiler warnings in macos build. 2018-11-23 15:22:54 -08:00
Bart House
d3c192e5a8 Moved potion.c globals to instance_globals. 2018-11-23 15:22:54 -08:00
Bart House
d37a91a6b8 Moved read.c globals to instance_globals. 2018-11-23 15:22:54 -08:00
Bart House
865c4d5a7d restore.c globals moved to instance_globals. 2018-11-23 15:22:54 -08:00
Bart House
cee4933c24 Renamed UNDEFINED to UNDEFINED_VALUE. 2018-11-23 15:22:54 -08:00
Bart House
716c2ceccf rfilter initialized to UNDEFINED. 2018-11-23 15:22:54 -08:00
Bart House
6a78b203e4 rumors.c static globals moved to instance_globals. 2018-11-23 15:22:53 -08:00
Bart House
f9a0db6c44 Renamed instance_variables to global_variables and iv to g. 2018-11-23 15:22:53 -08:00
Bart House
14bf74c862 Instance variable work. 2018-11-23 15:22:53 -08:00
Bart House
8e316df117 Instance variable work check-point. 2018-11-23 15:22:53 -08:00
Bart House
244a473a19 Fixed nocreate. 2018-11-23 15:22:52 -08:00
Bart House
7814d9097a check. 2018-11-23 15:22:52 -08:00
Bart House
5bbe3cd6bb Initial check in of icontext. 2018-11-23 15:22:51 -08:00
Bart House
6272c37035 Moved petname_used to decl.c 2018-11-23 15:22:51 -08:00
Bart House
4e774197a6 Previous encumberance state moved to decl.c. 2018-11-23 15:22:51 -08:00
Bart House
acbe4d9242 Added decl_early_init() which is called when PLAYAGAIN is supported.
decl_early_init() is called when we are starting a game.  On first
start, it validates that global state is in the expected state.
When called on subsequent starts, it initializes global state to
expected state.
2018-11-23 15:22:51 -08:00
Bart House
05c9ccc035 Revert "Modified how we initialize save file info."
This reverts commit 250ca464bc.
2018-11-23 15:22:51 -08:00
Bart House
44b002c9f3 Modified how we initialize save file info.
There should be no net change other then improving code maintenance.
2018-11-23 15:22:50 -08:00
Bart House
74fc1403e3 Removed unnecessary use of static for nocreate values.
If multiple games are played without exiting the process, on the second
new player creation the nocreate values will already be set based
on the first player creation.
2018-11-23 15:22:50 -08:00
Pasi Kallinen
02749b7621 Fix guard shoving monsters away coordinate logic
The logic required both x and y coordinates of the guard location and
the new location the guard wanted to move to be different. This is
obviously wrong, as the guard may move horizontally or vertically.
2018-11-22 20:25:03 +02:00
PatR
ac9bdc8aa7 fix #H7585 - can't untrap from edge of pit
Attempting to untrap an adjacent location failed if you had escaped a
pit, claiming that you couldn't reach.  You can't reach the bottom of
the pit if you're not in it, but you should be able to reach adjacent
spots normally.
2018-11-21 19:16:23 -08:00
PatR
55ad316079 more Schroedinger's Cat
Prevent food detection--scroll or crystal ball--from noticing the cat
corpse inside SchroedingersBox since its presence is tentative and
resolving its status during detection is a huge can of worms (live cat
placement on map from inside locked box, parallel resolution required
for monster detection/warning/telepathy that would render the box
fairly useless since it would probably end up getting resolved by ESP
before hero gains access).

Prevent cat corpse in the Box from being added to shop bill if unpaid
Box is picked up.  That prevents it from being listed as a bought item
if the player buys the box (instead of being described as unknown
contents; an older, more general bug which still hasn't been fixed).

As far as I'm aware, off the revised handling of Schroedingers Cat is
finished.
2018-11-21 18:32:04 -08:00
Pasi Kallinen
030efe84fa Map column 0 is not a valid location 2018-11-21 19:17:08 +02:00
PatR
2beb36fc61 Schroedinger's Cat
If hero was carrying Schroedinger's Box at end of game, disclosing
inventory converted it into an ordinary box.  That interferred with
subsequent disclosure when writing DUMPLOG, which saw an empty box
if inventory had been shown or the special box with newly-determined
contents if not.  I tried a couple of ways to fix it and decided
that redoing it was better in the long run.

Schroedinger's box is still flagged with box->spe = 1, but instead
of having that affect the box's weight, now there is always a cat
corpse in the box.  When opened, that will already be in place for
a dead cat or be discarded for a live one, but the weight will be
standard for container+contents and when box->cknown is set it will
always be "containing 1 item" (which might turn out to be a monster).

Some temporary code fixes up old save/bones files to stay compatible.

TODO:  food detection used to skip Schroedinger's Box; now it will
always find a corpse, so some fixup like the ridiculous probing code
is needed.
2018-11-21 03:10:49 -08:00
nhmall
03ef9da591 Merge branch 'macosx-curses-fall2018' into NetHack-3.6.2-beta01 2018-11-20 21:01:48 -05:00
PatR
50cb52ab31 sentence spacing
Use two spaces between sentences.  This only fixes the instances of
one-space that were fairly easy to find.
2018-11-20 17:56:16 -08:00
PatR
d15dacc44c fix #H7530 - corpse from corpseless monster
Migrating monster attempting to arrive on a level which is already
full of monsters gets killed off.  It was leaving a corpse without
regard for whether it was a type of of monster which should never
leave corpses.

I'd prefer that it be put back on the migrating_mons list rather
than be killed off, but this just suppresses impossible corpses.
2018-11-20 13:13:23 -08:00
Bart House
c987a3dc2f Added initialization of locals in create_room() to quite compiler warnings. 2018-11-20 10:30:11 -08:00
Bart House
a19b05d262 Added initialization of cc in do_look() to quite compiler warnings. 2018-11-20 10:29:05 -08:00
Bart House
d1cd20998f Added initialization if ilet to quite compiler warnings. 2018-11-20 10:27:35 -08:00
Bart House
7f4a4188a0 Added initialization of newlevel to quite compiler warnings. 2018-11-20 10:27:09 -08:00
PatR
ffac5f1a65 life-saving vs sickness
Replace an old instance of direct manipulation of an intrinsic.
If life-saving occurs 1 turn before sickness will kill the hero,
the sickness if cured.  But it was leaving delated_killer for SICK
allocated.  Harmless but a bug none the less.
2018-11-19 16:24:10 -08:00
PatR
46184c06af \#stats - delayed_killer
Include memory allocated to delayed killer(s) in #stats feedback.
2018-11-19 16:22:10 -08:00
Pasi Kallinen
b54dda5624 More monster location sanity checks
Placing a monster over already existing one will now complain.
Define EXTRA_SANITY_CHECKS to check monster removal too.
2018-11-19 22:38:16 +02:00
Pasi Kallinen
5acddebb3c Init long worm even if it does not have a tail
Long worms with no tail parts still apparently need to have
the zero-length tail placed.
2018-11-19 22:09:18 +02:00
Pasi Kallinen
20b47b5bbd Replace long worm on map after removing tail with wormgone
Calling wormgone will also remove the long worm monster from
the map, not just the worm tail. Put the monster back on map
so relmon can actually remove it properly.
2018-11-19 22:04:36 +02:00