diff options
author | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-08-11 20:56:55 +0000 |
---|---|---|
committer | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-08-11 20:56:55 +0000 |
commit | e9e1be789c12cdbaaaeb048251dae0dc22a320ba (patch) | |
tree | f62f547aba1d78f1bcbf4b6d09b5c9a1bbc2913b /crawl-ref/source/travel.cc | |
parent | 4c51cdab684e245dd8f050171294dcbc5c471bfe (diff) | |
download | crawl-ref-e9e1be789c12cdbaaaeb048251dae0dc22a320ba.tar.gz crawl-ref-e9e1be789c12cdbaaaeb048251dae0dc22a320ba.zip |
Give Lugonu Banishment and Corruption. I've left the old Bend Space in, because
there needs to be an invocation that can train Invocations, and Banishment is
too costly to use for everyday training.
Corruption is still a first-cut, needs more work and playtesting:
- Terrain modification is one-time only. Creeping modification requires too
much savegame magic.
- The monsters gated in during the corruption effect are occasionally hostile,
but mostly neutral. Neutrals will attack hostile monsters and also pets,
but will leave other neutrals and the player alone (in general). A neutral
that wants to go somewhere, but finds the player in the way will still take
a swing at the player.
- Beams are still not fixed to handle neutrals correctly (so neutrals do not
target and shoot right yet), will fix soon.
Breaks save compatibility.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1990 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/travel.cc')
-rw-r--r-- | crawl-ref/source/travel.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/crawl-ref/source/travel.cc b/crawl-ref/source/travel.cc index 71c674355f..3ef549ec0e 100644 --- a/crawl-ref/source/travel.cc +++ b/crawl-ref/source/travel.cc @@ -37,6 +37,7 @@ #include <cstdarg> #include <cctype> #include <cstdio> +#include <memory> #include <sstream> #ifdef DOS @@ -2487,11 +2488,11 @@ static int find_transtravel_stair( const level_id &cur, static bool loadlev_populate_stair_distances(const level_pos &target) { - crawl_environment tmp = env; + std::auto_ptr<crawl_environment> tmp(new crawl_environment(env)); if (!travel_load_map(target.id.branch, absdungeon_depth(target.id.branch, target.id.depth))) { - env = tmp; + env = *tmp; return false; } @@ -2503,7 +2504,7 @@ static bool loadlev_populate_stair_distances(const level_pos &target) populate_stair_distances(target); - env = tmp; + env = *tmp; curr_excludes = old_excludes; return !curr_stairs.empty(); } |