| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Removed inclusion of travel.h from most .h files to reduce the number
of .cc files dependant on it. This involved moving the level_pos
declaration to externs.h, moving the flood_find template to it's own
header file, and moving two typedefs from travel.h to travel_defs.h
because typedefs can't be forward declared (argh).
|
|
|
|
| |
This hopefully fixes recent disconnected level problems.
|
|
|
|
|
|
|
|
|
|
| |
All translevel travel now goes through start_translevel_travel(pos),
which in particular makes sure destination stair distances are
determined, fixing travel failure to waypoints.
This was not failing earlier because prompt_translevel_target used
to call start_translevel_travel(pos) through the now-unused
TravelCache::travel_to_waypoint.
|
|
|
|
|
|
|
| |
explore_stop condition greedy_pickup_smart no longer stops for items
which were thrown by the player. The new condition greedy_pickup_thrown
can be used by those who wish to stop auto-explore when thrown items are
auto-pickup'd.
|
|
|
|
| |
They are no longer passed a "remembered feature" as parameter.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Added the explore_stop option "greedy_pickup_smart", which is like
greedy_pickup, but only stops for thrown items and items different than
any in your inventory (and for fruit if you worship Fedhas).
* Added the option explore_stop_pickup_ignore. Any items matching any
of the regexes in the list will *not* cause
"explore_stop = greedy_pickup" (or greedy_pickup_smart) to stop
auto-explore.
* "explore_stop = greedy_pickup" no longer stops when picking up gold.
* "explore_stop = greedy_pickup" (or greedy_pickup_smart) now stops
auto-explore after auto-pickup has happened, rather than right before
it happens.
* Removed obsolete ES_PICKUP.
|
|
|
|
|
|
| |
This removes a couple of unnecessary includes from header files.
I may have missed adding some tiles includes.
|
|
|
|
|
|
|
|
|
|
| |
Speed up is_excluded() by making the class exclude_set, which caches the
set of excluded points, calculating the set only when exclusions are
added or removed (or when an old level is loaded).
NOTE: This recomputes the set of excluded points once upon entering
level-map mode and once upon exiting it. If this takes to long on slow
machines, this can be improved.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
env.show is now a class show_def that stores tagged
unions of type show_type. For the moment, there's also
env.show_los for use in LOS determination, but that
should become an array of boolean at some point.
This breaks save compatibility.
Tiles and console version build and appear to work
fine, but this kind of change is likely to have
some side-effects.
|
|
|
|
|
|
| |
These were of questionable use and freshness.
Signed-off-by: Robert Vollmert <rvollmert@gmx.net>
|
| |
|
|
|
|
|
|
|
| |
There are three new commands described on the X? screen. Interlevel
travel works. Other levels are not currently highlighted by reachability;
let me know if you want this. Interface stolen from TAEB :). dpeg's
stair view is not yet in.
|
|
|
|
|
|
| |
Added to level_pos the static method current(), similar to
level_id::current(), and is_on(level_id lev), which returns true if the
level_pos is on the given level_id.
|
| |
|
|
|
|
|
|
|
|
|
| |
There's a whole lot of places that pass monster_type as int, often
with varying meanings for the value -1. This moves some of these
to monster_type, introducing MONS_NO_MONSTER and MONS_PLAYER as
new invalid special values.
Also improve on the autoexclude descriptions.
|
|
|
|
|
| |
Should fix the segmentation fault reported by steve in
monsters.push_back(get_monster_data(curr_excludes[i].mon)->name);
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, it was holding on to pointers to objects it
didn't own, causing various bugs.
los_def now copies the opacity_func and bounds_func
parameters. Making them copyable required introducing
opacity_func::clone(). Also implement los_def
copy constructor and copy assignment operator.
Finally, update travel exclusions and monster
patrolling to these changes.
|
|
|
|
|
|
|
| |
This reverts commit 7afa089db8b01b1810c5903309f7302545638550.
los_def is currently buggy, leading to weird behaviour when
deleting exclusions.
|
|
|
|
|
| |
Markers can be placed on statues or orcish idols to cause auto-explore
to stop when those statues/idols are first found.
|
|
|
|
|
|
|
|
|
| |
FPROP_FORCE_EXCLUDE now sets an actual travel exclusion rather than
bypassing the travel exclusion system. Exclusions are single
squares.
Signed-off-by: Jude Brown <bookofjude@users.sourceforge.net>
Signed-off-by: Robert Vollmert <rvollmert@gmx.net>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
There were a couple of functions is_something(dgn_feature_type feat)
defined in travel.cc that were otherwise independent of travel. For
consistency, move these to terrain.cc and rename to feat_is_something.
One might also consider renaming the various feat_is_whatever functions
to just is_whatever.
|
|
|
|
|
| |
Mostly rename functions from terrain.h that accept features of typ
dgn_feature_type from grid_is_* to feat_is_*.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Exclusion radius 0 no longer encodes "no exclusion".
* toggle_exclusion split into set_exclusion and del_exclusion: It was
never used as a toggle.
* Exclusion updates for changed cells unified in
void update_exclusion_los(std::vector coord_def changed). Now doesn't
leave invalidly non-uptodate exclusions laying around.
Still need to find out why off-level exclusions aren't updated after
restore.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Exclusions are now treated similarly to annotations and automatically
added to the overmap (with the monster name if centered on a monster).
* Exclusions remember whether they were placed automatically and if so,
what monster triggered it.
* If a grid that was previously autoexcluded comes back into sight and no
longer contains the monster that triggered the autoexclusion (dead,
moved away or invisible), the autoexclusion is removed again.
I updated the tags, so it should be save compatible but I'm not making
any promises.
Also fix the Wild magic card not being documented correctly.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10679 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
| |
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10353 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
|
|
| |
penalty is doubled in deep water.
* Change "zombified ally" -> "mindless thrall" (and only count friendly
monsters).
* Call trackers_init_new_level() earlier, in load(), so that TileNewLevel()
can use the correct travel information when drawing exclusions on the
minimap.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9566 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
|
| |
* Store index of last cell clicked on in inventory and suppress item
description if you just clicked on it, so you can see the messages
describing whatever you just did (should fix 2660578).
* Allow right-click as a synonym for '!' when toggling ^, A, m.
* Let shift left-click on avatar standing on altar = prayer.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9343 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
| |
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9084 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the player leaves the ziggurat. Breaks saves.
Cleaned up up_stairs() and down_stairs() to remove spurious depth changes when changing you.level_type - depth (you.your_level) now changes only for stairs with both ends in LEVEL_DUNGEON.
All levels are now saved on exit, including non LEVEL_DUNGEON levels. Re-entering non-dungeon levels from down_stairs will still delete the old level. Re-entering non-dungeon levels from up_stairs (i.e. returning to a non-dungeon level from some other place, like a ziggurat) will reload the old level.
Fixed bogus marker trashing when player attempts to use a Zot entrance with insufficient runes.
Delete .msg files when game ends.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7598 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
| |
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7564 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
| |
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7553 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
| |
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7475 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
| |
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7223 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Improve exclusion los behaviour.
* now takes into account what the player knows of the map
* don't autoremove exclusions if you don't know the monster died
* the los gets updated as the player explores the area
For some reason this doesn't work when you dig into an excluded area.
FR 2006559: Sort monsters in description menu (?\) using the same
measure as the monster list does.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7132 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
| |
This was done by adding env_show_grid as a property to all exclusions.
losight() is currently called if an exclusion is set, when changing
levels/restarting the game and at a vitrification event (in all of the
latter cases for all exclusions on the level).
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7121 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
| |
into a file crawlhistory.txt in docs/obsolete.
I used a perl script to do this under the assumption that all these
change logs used the same system following the keyword "Change History".
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6930 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
| |
outside the range [src,dest] (rax, doy).
Add ^G as an alias for Escape in yesno and yesnoquit.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6764 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
| |
This might have introduced some bugs: I now get intermittent crashes
on startup (this might have to do with the changes to special_room.)
Sorry about that - committing before I need to do any more big conflict
resolutions. Fixes coming later.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6732 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
| |
that going up stairs wasn't updating the correct stair on the previous level. Secondly, sync_branch_stairs was destroying that update anyway. Added a "clear_branch_stairs" function to clear stair info when leaving the vestibule. I am nearly sure this should fix all of the hellish travel issues, but it probably deserves some testing.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6500 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
| |
determine if a level_id is (not) in BRANCH_FOO; takes care of comparing
level_type to LEVEL_DUNGEON.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6034 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
| |
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6013 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
|
|
| |
items come into view and "greedy_items" stops when autopickup items come
into view.
Also added the new explore_stop conditions "glowing_items", "artefacts"
and "runes", which stops greedy explore when non-autopickup items which
are glowing/rune/etc, artefacts and runes (respectively) come into view.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5352 c06c8d41-db1a-0410-9941-cceddc491573
|