summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/terrain.h
Commit message (Collapse)AuthorAgeFilesLines
* Save old colour in terrain-change markers (#8806)Neil Moore2014-07-201-1/+2
| | | | | | 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.
* Simplify. (Grunt)Nicholas Feinberg2014-07-101-1/+1
|
* Rename nuke_wall() destroy_wall()reaverb2014-06-051-1/+1
| | | | and also change a temporary variable name to avoid overshadowing
* Don't carry over sealed featured into the Abyss (#8601)Neil Moore2014-05-281-0/+1
|
* Remove scrambling.Shmuale Mark2014-04-061-2/+1
| | | | | | | 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.
* Don't crash on debug scan when an exit feature is covered.Neil Moore2014-01-311-0/+1
| | | | | See !lm EightySix fofi crash -log for an example. Now we also check the terrain change markers for the desired feature.
* Reduce strange interactions between Shoals tides and temp waterDracoOmega2014-01-281-0/+1
| | | | | | | | | | | | | 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.
* Start using -Wredundant-decls; fix all the instances I getSamuel Bronson2013-12-121-1/+0
| | | | | That is, unless you count the ones in ncurses' headers, which I can't do anything except suppress.
* Remove "convenience" function connected_doors.blackcustard2013-11-221-3/+1
| | | | | | | | | | | | 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]
* Move set_terrain_changed() away from map_knowledge.ccAdam Borowski2013-11-031-0/+1
| | | | It hardly deals with remembered map.
* Get rid of grid_appearance().Adam Borowski2013-10-111-1/+0
|
* Revert "Bye bye clinging."Raphael Langella2013-08-121-0/+2
| | | | | | | | | | | | | 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.
* Bye bye clinging.Adam Borowski2013-07-101-2/+0
| | | | | | | | | | | 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.
* Make the Lair plant placement connectivity checks public and relocateDracoOmega2013-06-241-0/+2
| | | | The next commit will be making use of them.
* Make a function static.Adam Borowski2013-05-291-1/+0
|
* Add routines for temporary terrain manipulationDracoOmega2013-05-261-0/+6
| | | | | | | | | | | | | | | | 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).
* Refactor some direct uses of dungeon feature enum orderingDracoOmega2013-02-211-0/+1
| | | | | | 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.
* Make iron grates ground electricity as metal walls do.David Lawrence Ramsey2013-02-191-0/+1
| | | | The previous inconsistency was mentioned in Mantis 6667.
* Merge branch 'master' into glasnostAdam Borowski2012-08-311-8/+8
|\ | | | | | | Yay for conflicts galore (wax removal, std:: purge, tileidx changes).
| * Use std namespace.Raphael Langella2012-08-261-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Runed doors.Adam Borowski2012-08-311-0/+1
| | | | | | | | | | | | 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.
* | Drop the code for displaying/handling/etc secret doors.Adam Borowski2012-07-111-9/+0
|/
* Merge branch 'master' into portal_branchesAdam Borowski2012-04-251-1/+0
|\
| * Axe several unused functions.Adam Borowski2012-04-221-1/+0
| |
* | Merge branch 'master' into portal_branchesAdam Borowski2012-04-121-3/+1
|\|
| * Make another bunch of functions static or gone.Adam Borowski2012-04-051-2/+0
| |
| * Add feat_is_reachable_past to handle trees correctly.elliptic2012-04-041-0/+1
| |
| * Clean up after long-removed floor placeholders hackery.Adam Borowski2012-04-011-1/+0
| |
* | Simplify closing portals during the Orb run; handle portals in Pan.Adam Borowski2012-04-071-1/+0
|/ | | | | 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.
* Add explore_stop = portals, branchesNeil Moore2012-03-191-0/+1
| | | | | | | | | | | | | 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.
* Whitespace fixes.Adam Borowski2011-12-301-4/+4
|
* An bunch of missspelings.Adam Borowski2011-12-011-1/+1
|
* Make sure we never create floor mimic or other silly type.Raphael Langella2011-09-231-0/+1
|
* Merge all the feature mimics into a single monster type.Raphael Langella2011-09-051-0/+1
| | | | It's now possible to create any kind of feature mimic using &M.
* Take note when revealing a feature mimic which has been noted before.Raphael Langella2011-09-051-0/+1
|
* Apply the new feature mimic implementation to all types.Raphael Langella2011-09-051-0/+1
| | | | | | | | | | 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.
* Gut and parcel out most of stuff.ccAdam Borowski2011-06-041-0/+1
|
* Simplify dungeon.cc's altar picking to use random_god(); remove random_altar().David Lawrence Ramsey2011-05-301-2/+0
|
* Add wrapper functions for random gods and altars.David Lawrence Ramsey2011-05-281-0/+3
| | | | | | 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.
* Name the feature type you're trying to target in the fail message.Adam Borowski2011-05-081-0/+2
| | | | | | 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.
* Assert that no passable feature is placed on map border.Adam Borowski2011-04-241-0/+1
| | | | | | 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.
* Make file headers doxygen-friendly, drop useless fields.Adam Borowski2011-03-281-5/+4
| | | | | | | "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.
* Allow wall clinging when on liquefied ground.Raphael Langella2011-02-241-1/+1
| | | | Preventing it isn't very interseting, and allowing it makes the code much simpler.
* Move the clinging code from coord_def to terrain.ccRaphael Langella2011-02-221-0/+2
|
* Don't destroy the orb by apporting it into deep water/lavaMarvintheParanoidAndroid2011-02-041-0/+1
| | | | It just won't move, instead of destroying itself or becoming inaccessible.
* Move a function from dungeon.cc.Adam Borowski2011-01-111-0/+1
| | | | It doesn't have anything to do with dungeon generation.
* Split trees into trees-on-land and trees-on-water.Adam Borowski2011-01-051-0/+1
| | | | | | 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.
* Normalise cast_malign_gateway into several functions.Jude Brown2010-12-251-0/+3
| | | | | | | 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).
* Staticalize, remove cruft.Adam Borowski2010-10-271-3/+0
|
* Massive spacing fixes: "( spaces after parentheses )".Adam Borowski2010-10-151-2/+2
| | | | | | 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.