… | |
… | |
507 | } /* If not scared */ |
507 | } /* If not scared */ |
508 | |
508 | |
509 | part = rv.part; |
509 | part = rv.part; |
510 | dir = rv.direction; |
510 | dir = rv.direction; |
511 | |
511 | |
|
|
512 | #if DEVEL |
|
|
513 | for (int sdir = 1; sdir <= 8; ++sdir) |
|
|
514 | { |
|
|
515 | mapxy pos (op); pos.move (sdir); |
|
|
516 | if (pos.normalise ()) |
|
|
517 | { |
|
|
518 | mapspace &ms = pos.ms (); |
|
|
519 | |
|
|
520 | if (ms.smell > op->ms ().smell) |
|
|
521 | { |
|
|
522 | printf ("%s: found smell, following it, apparently (%d, %d)\n",& op->name,op->ms().smell,ms.smell);//D |
|
|
523 | op->ms ().smell = ms.smell - 1; |
|
|
524 | dir = sdir; |
|
|
525 | } |
|
|
526 | } |
|
|
527 | } |
|
|
528 | #endif |
|
|
529 | |
512 | if (QUERY_FLAG (op, FLAG_SCARED) || QUERY_FLAG (op, FLAG_RUN_AWAY)) |
530 | if (QUERY_FLAG (op, FLAG_SCARED) || QUERY_FLAG (op, FLAG_RUN_AWAY)) |
513 | dir = absdir (dir + 4); |
531 | dir = absdir (dir + 4); |
514 | |
532 | |
515 | if (QUERY_FLAG (op, FLAG_CONFUSED)) |
533 | if (QUERY_FLAG (op, FLAG_CONFUSED)) |
516 | dir = absdir (dir + rndm (3) + rndm (3) - 2); |
534 | dir = absdir (dir + rndm (3) + rndm (3) - 2); |