- 追加された行はこの色です。
- 削除された行はこの色です。
*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 が自分の店の中にいる
: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()