summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/travel.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-06-13 14:19:42 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-06-13 14:19:42 +0000
commit1572e9c9223b1b45eada6fec2e1a82eb6950ebfd (patch)
tree722a3bd7d205b8ade2d81b39e5c68ddf77c7c099 /crawl-ref/source/travel.cc
parent71c47c6d4e6a0b05f439f08dfabf6a83f481fa2f (diff)
downloadcrawl-ref-1572e9c9223b1b45eada6fec2e1a82eb6950ebfd.tar.gz
crawl-ref-1572e9c9223b1b45eada6fec2e1a82eb6950ebfd.zip
Added several new tutorial triggers including information on being caught
in a net, specific skills, magic resistance, and which stat to choose. In a given game you'll only ever see a small fraction of all tutorial events (we're at 71 now, and some of them are exclusive). In fact, a lot of the information is so generally useful (esp. on gods, skills and items) that I'm seriously considering opening up the general information (How do I use item x? What does Spellcasting do?) to a wider selection of characters. I don't think we'll want to explain the intricacies of Mummies, Ghouls, or Vampires, but a lot of this stuff even applies to them... (If we overhaul the tutorial, it's certainly not a 0.4 target, though.) Resetting the tutorial version to 8 as we somehow switched from digital version to binary and back to digital. It will take some time until we actually reach 110, and by then, I am sure the base files won't be save compatible anymore. :) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5777 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/travel.cc')
-rw-r--r--crawl-ref/source/travel.cc21
1 files changed, 11 insertions, 10 deletions
diff --git a/crawl-ref/source/travel.cc b/crawl-ref/source/travel.cc
index 08abb41ec7..27a21f3010 100644
--- a/crawl-ref/source/travel.cc
+++ b/crawl-ref/source/travel.cc
@@ -1437,17 +1437,18 @@ coord_def travel_pathfind::pathfind(run_mode_type rmode)
ignore_hostile = false;
- // Set the seed point.
// For each round, circumference will store all points that were discovered
- // in the previous round of a given distance. We use an array of size 2,
- // so we can comfortably switch between the list of points to be
- // investigated this round and the slowly growing list of points to be
- // inspected next round. Once we've finished with the current round, i.e.
- // there are no more points to be looked at in the current array, we switch
- // circ_index over to !circ_index (between 0 and 1), so the "next round"
- // becomes the current one, and the old points can be overwritten with
- // newer ones. Since we count the number of points for next round in
- // next_iter_points, we don't even need to reset the array.
+ // in the previous round of a given distance. Because we check all grids of
+ // a certain distance from the starting point in one round, and move
+ // outwards in concentric circles, this is an implementation of Dijkstra.
+ // We use an array of size 2, so we can comfortably switch between the list
+ // of points to be investigated this round and the slowly growing list of
+ // points to be inspected next round. Once we've finished with the current
+ // round, i.e. there are no more points to be looked at in the current
+ // array, we switch circ_index over to !circ_index (between 0 and 1), so
+ // the "next round" becomes the current one, and the old points can be
+ // overwritten with newer ones. Since we count the number of points for
+ // next round in next_iter_points, we don't even need to reset the array.
circumference[circ_index][0] = start;
// Zap out previous distances array