*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 が自分の店の中にいる :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()