| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
It is still possible to lose the colour if the cell is permanently
reverted to its original type: for example, using Tomb on coloured
floor then digging out.
|
| |
|
|
|
|
| |
and also change a temporary variable name to avoid overshadowing
|
| |
|
|
|
|
|
|
|
| |
It was something that was almost never relevant but that cluttered
up the code regardless. If it were to be more relevant that would
not really be a good thing since a chance for instadeath is rather
bad design.
|
|
|
|
|
| |
See !lm EightySix fofi crash -log for an example. Now we also check
the terrain change markers for the desired feature.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a tidal change happened, sometimes large chunks of temp water
would be outright removed (even when they were far from the shoreline),
and without actually removing the terrain change marker (which caused
bits of land that were curiously immune to being flooded again).
I have to admit that I don't entirely understand all the tidal code
so it's possible this fix doesn't do exactly what I think it does, but it
does seem to address the visible issue - temp water is preserved
regardless of tidal movement, which continues to operate normally around
it.
|
|
|
|
|
| |
That is, unless you count the ones in ncurses' headers, which I can't
do anything except suppress.
|
|
|
|
|
|
|
|
|
|
|
|
| |
At one time, before runed doors were added, connected_doors was almost
nice shorthand for find_connected_identical(position, DNGN_CLOSED_DOOR,
all_door). Now its just a pointless and inconsistently applied layer of
indirection.
Also refactor find_connected_identical a bit.
[Also updated the remaining f_c_i calls to the new parameter list,
and made the _f_c_i helper static. -neil]
|
|
|
|
| |
It hardly deals with remembered map.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clinging might be a minor feature, but it's a distinguishing one, it's thematic
and it's working quite well.
Player/monster symmetry has never been a goal, so it seems dubious to invoke it
as the reason to throw away all the work that has been put into clinging. We
can always say that the player turns into a different kind of spider which is
unable to cling for some reason.
This reverts commit bdc56382eacf7af1b2330dc6444916d368741fec.
This reverts commit d689486464fcaaac025a6f469ab69674a2f4d173.
This reverts commit 1addaaf8ee92de5060fdb436f93251843abd2035.
|
|
|
|
|
|
|
|
|
|
|
| |
With player clinging removed, monster doesn't make much sense.
Note that I personally somehow like clinging -- even if it's rarely useful
except early on, it was quite harmless. However, I'm strongly against
having players and monsters inconsistent when there's no very good reason.
Thus, reverting this and MarvinPA's change is an option. Just please keep
or revert them together.
|
|
|
|
| |
The next commit will be making use of them.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Each terrain change specifies a desired feature, a duration (which may
be INFINITE_DURATION), a terrain change type (used for reference and
stacking at the moment), and optionally a source monster (if one is
specified, the terrain change is undone upon the monster's death)
A temporary terrain change will automatically revert to the original
underlying feature when it times out, or the source monster is killed.
There can only be one terrain change of a given type at a single
location. A new change of the same type will overwrite the old one
if it either changes the terrain to a different feature type than the
old one, or has a greater duration than remains of the old one (this
will change the associated source monster, if appropriate).
|
|
|
|
|
|
| |
Rather than relying on feat >= DNGN_FLOOR having the same semantics
as 'open space', wrap this in boolean functions (which already largely
exist). This is also more robust if the backend ever changes.
|
|
|
|
| |
The previous inconsistency was mentioned in Mantis 6667.
|
|\
| |
| |
| | |
Yay for conflicts galore (wax removal, std:: purge, tileidx changes).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I had to rename distance() (in coord.h) to distance2() because it conflicts
with the STL function to compare 2 iterators. Not a bad change given how it
returns the square of the distance anyway.
I also had to rename the message global variable (in message.cc) to buffer.
I tried to fix and improve the coding style has much as I could, but I
probably missed a few given how huge and tedious it is.
I also didn't touch crawl-gdb.py, and the stuff in prebuilt, rltiles/tool
and util/levcomp.*, because I have no clue about those.
|
| |
| |
| |
| |
| |
| | |
They're meant to stop autoexplore, and maybe request a confirmation for
being opened. This is not yet implemented, but we can use them for
converting secret doors that were used for marking a place as interesting.
|
|/ |
|
|\ |
|
| | |
|
|\| |
|
| | |
|
| | |
|
| | |
|
|/
|
|
|
| |
How can you get into Pan with the orb, is another question... the old code
did try to handle them but assumed only portals there are exits through Pan.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The former was already implemented, but could not be specified
in the init file (and thus could not be turned off with -=).
Fix that, and also make Lab entrances count as portals.
The "branches" setting includes branch entrances as well as the
entrances to Hell, Abyss, and Pandemonium. It does not include
portal vaults.
This is a regression for those who use "explore_stop -= stairs"
and expect it not to stop at branch entrances.
|
| |
|
| |
|
| |
|
|
|
|
| |
It's now possible to create any kind of feature mimic using &M.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Starting from D:10, any door, stairs, escape hatch, shop fountain and
portal has one chance in 100 of being a mimic.
Branch entry vaults can be placed with a branch entry mimic.
No mimics in the temple and the vestibule. For now, those are the only
excluded places.
|
| |
|
| |
|
|
|
|
|
|
| |
This simplifies checks for them. Also, these have parameters indicating
whether no god/altar is an acceptable return value, as control over that
is useful.
|
|
|
|
|
|
| |
Using long names like "transparent stone wall" or "a wall of the weird stuff
that makes up Pandemonium" is unacceptable, so this code introduces wall type
names: "wall", "tree", "statue", etc.
|
|
|
|
|
|
| |
layout_cross could put water or lava there, which crashed in a number of
cases: patrolling monsters, wandering monsters, throwing an item, possibly
many more.
|
|
|
|
|
|
|
| |
"File:" is shown in your editor's status bar.
"Written by:" was used only for the first person who changed a file. We got
git for that now, and pre-DCSS history is so woefully inaccurate it doesn't
really matter.
|
|
|
|
| |
Preventing it isn't very interseting, and allowing it makes the code much simpler.
|
| |
|
|
|
|
| |
It just won't move, instead of destroying itself or becoming inaccessible.
|
|
|
|
| |
It doesn't have anything to do with dungeon generation.
|
|
|
|
|
|
| |
This gets rid of the hacks where the same tree would turn to either floor or
shallow water depending on the branch it is in. Also, only a few methods of
destroying trees obeyed the water rule.
|
|
|
|
|
|
|
| |
This refactors the gateway locating code into its own function (for
future use in other "massive gateway" spells), accepting a environment
testing function (defaults to feat_is_malign_gateway_suitable found
in terrain.cc).
|
| |
|
|
|
|
|
|
| |
I did review it manually to find places where they made sense (like some
tables), but for a massive sed job like this there might be places that
I missed.
|