*move_special() [#u10a5384]

**書式 [#pa033893]
priest.c, 関数
 int
 move_special(
   struct monst *mtmp;         // 移動させる怪物のポインタ
   boolean       in_his_shop;  // mtmp が自分の店の中にいる
   schar         appr;         // 移動の種類
   boolean       uondoor;      // プレイヤーが店の扉の上にいる
   boolean       avoid;        // プレイヤーとの直線上に並ぶことを避ける
   xchar         omx, omy;     // 現在位置
   xchar         gx, gy;       // 目標位置
 );

**パラメータ [#ce0c0b5d]
:mtmp|移動させる怪物のポインタ
:in_his_shop|mtmp が自分の店の中にいるにいるならTRUE。僧侶の場合は無視される
:appr|移動の種類~
|0|ランダムに移動|
|1|(gx, gy)に近づく|
:uondoor|プレイヤーが店の扉の上にいるならTRUE。僧侶の場合は無視される
:avoid|TRUEなら、プレイヤーとの直線上に並ぶことを(できるだけ)避ける
:omx, omy|現在位置
:gx, gy|目標位置

**戻り値 [#wa8f619b]
|1|動いた|
|0|動かなかった|
|-1|m_move()に任せる|
|-2|死んだ|
現在は 0, 1 のみ返る可能性がある。

**解説 [#xdb10f4a]
店主および僧侶を移動させる。プレイヤーとの直線上に並ばないようにしながら (gx, gy) に近づこうとする。

**対応情報 [#n9ee1edd]
-NetHack 3.4.3

**関連項目 [#oe182406]
shk_move(), pri_move()

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS