remove prescient travel command behavior
Addresses reports R718, R772.1, <Someone> P's extra move bug - when there is a previously seen path or a straight path, always take it - incorporate fix to ensure no extra "." turn at the end of traveling, but still avoid stepping into traps/pools, et al - include a general "G"-command (and travel) fix to avoid stepping in known pools/lava while blind - when there is no such path, "guess" at a path by finding an intermediate location that the hero couldsee that is closest to the actual goal, the intermediate goal is re-determined at each step - when Blind, don't use couldsee for determining straight paths, just direction - do not consider doors or most boulders obstacles for picking travel paths, test_move has a new mode to differentiate this case from the regular test case - don't include known trap locations in the travel path, avoids unnecessary stops along the way, and usually doesn't affect the path length - reformatted the code a bit so I could follow it
This commit is contained in:
@@ -178,6 +178,11 @@ NEARDATA extern coord bhitpos; /* place where throw or zap hits or stops */
|
||||
/* Flags to control dotrap() in trap.c */
|
||||
#define NOWEBMSG 0x01 /* suppress stumble into web message */
|
||||
|
||||
/* Flags to control test_move in hack.c */
|
||||
#define DO_MOVE 0 /* really doing the move */
|
||||
#define TEST_MOVE 1 /* test a normal move (move there next) */
|
||||
#define TEST_TRAV 2 /* test a future travel location */
|
||||
|
||||
/*** some utility macros ***/
|
||||
#define yn(query) yn_function(query,ynchars, 'n')
|
||||
#define ynq(query) yn_function(query,ynqchars, 'q')
|
||||
|
||||
Reference in New Issue
Block a user