| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
| |
The special casing for drowning monsters appears to have been
obsoloted by checking ENCH_SUBMERGED instead of calling
mons_is_submerged.
|
| |
|
|
|
|
| |
auto-travel across a single square.
|
| |
|
|
|
|
| |
Signed-off-by: Steven Noonan <steven@uplinklabs.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_*.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The nicer interface to losight is now
void losight(env_show_grid& sh, const coord_def& center,
const opacity_func &opc = opc_default,
const bounds_func &bds = bds_default);
bounds_func provides the LOS boundary (usually just a circle with
radius the current LOS radius). opacity_func is a mapping of grid
coordinates to opacity values.
|
|
|
|
|
|
|
|
|
| |
This fixes a bug related to BR 2849608: If you created an exclusion on a
level, left that level, saved and restored off-level, and returned to
the level, the exclusion filled the complete LOS radius.
I'm not sure why it was even restricted to LOS radius, though, and
didn't fill an entire ENV_SHOW_OFFSET-size square.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
moves be different than the delay between the moves of other types of
travel. By default (explore_delay == -1) the auto-explore delay is the
same as travel_delay, preserving the old behaviour.
|
|
|
|
| |
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
|
|
|
|
| |
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
|
|
|
|
| |
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
|
| |
|
|
|
|
|
|
|
|
|
| |
los.cc: basic raycasting algorithm; losight(), see_grid() etc.
ray.cc: ray_def implementation.
mon-los.cc: monster_los
This includes adding a bunch of #includes; there's probably some
obsolete includes of view.h now.
|
|
|
|
|
| |
LOS actually goes to LOS_RADIUS * LOS_RADIUS + 1. None of the
occurrences are likely to have had a big effect, however.
|
| |
|
|
|
|
|
|
|
| |
This prevented the diagonal check from working, so autoexplore would
occasionally hang in front of closed doors.
Signed-off-by: evktalo <evktalo@users.sourceforge.net>
|
|
|
|
|
|
| |
consistency
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
|
| |
|
|
|
|
| |
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10761 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
| |
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10760 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
grids where monsters might be lurking waiting to instakill you, as
suggested by Kenneth Boyd. Tested in wizard mode (though not in a test
game) and it works really well.
The code currently uses a #define flag, in case anyone wants to try both
versions and compare, but I think it should either be replaced with a
proper option or removed entirely. Either way, the new behaviour should
be the default.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10759 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
exclusion (elliptic).
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10625 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
| |
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10403 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
| |
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10353 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the border (so they're not cut off anymore).
Also add a new feature type DNGN_OPEN_SEA that is an impassible feature only
intended for the Shoals border. Will need special handling for confusion, I
guess.
I've also tweaked the level generation, so Shoals vaults don't need to be
connected anymore (the algorithm just adds superfluous floor corridors), but
I still get loads of corridors on the bottom level - frustratingly enough
only inside the map border, and they (usually) don't even contain any stairs
or other features. It's maddening!
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10213 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
|
|
| |
that stupid monsters will continue to ignore them as long as they've
never been opened.
Shifts wall and door types of existing save files.
Also apply patch by one the "nobodies" to make bloody tiles show up again.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10167 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
| |
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9874 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* don't load the ghost(s)
* print an error message mentioning the bones file
* don't delete the bones file, so players can attach it to a bug report
The last point means that the player (or admin, in the case of the
servers) has to delete a buggy bones file themselves, but the benefits
of making tracking down bugs easier should outweigh that inconvenience.
Add a new wizmode command that calls debug_stethoscope even if the game
is not compiled in debugging mode.
Also, Stone Soup 0.5 bones files are now officially incompatible with 0.4.
(The changes to the spell ids cause ghosts casting spells to crash the
game.)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9832 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
| |
Fix 2792782: vaults not initialising blood potions properly
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9790 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
| |
* Rename KeymapContext KC_* -> KMC_* to avoid overlap with
kill_category KC_*.
* Increase odds for chaos brands mimicking brands that hurt the defender.
* Tweak chaos_affects_attacker().
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9595 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
|
|
| |
and the like.
* Fix 'V' if there are more than 52 monsters/items in the list.
* Make Xom act more often, with the probability depending strongly on
tension. Also tweak a few action probabilities according to tension,
so that e.g. summons are more likely for high tension.
* Fix monsters being created with large quantities of curare needles.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9546 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
| |
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9542 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
| |
* Sort items in 'V' screen according to pickup menu sort order.
* Name Xom's randart book gifts more randomly.
* Colour items seen by 'x' with message colour tags and same for pickup
messages.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9541 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
| |
(Incidentally, if you walk into a mimic by accident, the stash won't go
away until the next turn. Technically a bug, but a minor one.)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9118 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
| |
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9086 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
| |
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9084 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
| |
on travel, so in those cases travel *should* know everything about the level.
Fixes [2596125] and unbreaks cdo. Sorry about that.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9071 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
|
| |
of monster_at().
The hope is to eventually remove mgrd completely (in favour of scanning
through the monster list, or a different datastructure which gets updated
automatically when monsters move), and thus fix all the mgrd-out-of-sync
bugs in one fell swoop.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9056 c06c8d41-db1a-0410-9941-cceddc491573
|