- バックアップ一覧
- m_move は削除されています。
- 1 (2010-03-10 (水) 20:49:36)
*m_move() [#e9936c2e]
**書式 [#r86aaec8]
monmove.c, 関数
int
m_move(
struct monst *mtmp; // 移動させる怪物
int after; // 未使用?
);
**パラメータ [#bdd9e4bc]
:mtmp|移動させる怪物
:after|未使用? dog_move() に渡されるパラメータだが、m_move() が呼ばれるときには 0 が渡されている
**戻り値 [#nddecbe6]
|戻り値|意味|h
|0|移動せず。まだ攻撃など他の行動が可能|
|1|移動した。攻撃など他の行動が可能(※近接攻撃以外)|
|2|死亡した|
|3|移動せず。他の行動は不可|
**解説 [#tfeea7d4]
マップ上の怪物を移動させる。
m_move()
├ mintrap() 罠を起動
├ set_apparxy() 怪物がプレイヤーをどこに居ると思っているか決める
├ dog_move() (ペット)
├ shk_move() (店主)
├ gd_move() (vault guard)
├ mattackm() (怪物同士のアーティファクト争奪)
├ pri_move() (priest)
├ プレイヤーに近づく/遠ざかる/ランダム移動 のどれにするか決める
│ ├ can_track() プレイヤーが怪物の視界内にいない場合、
│ └ get_track() プレイヤーの移動軌跡(新しい座標優先)が隣接するマスにあればそこに移動
├ 物を拾うかどうか決める
├ 拾うものを探す
├ mfndpos() 移動できる場所を探す
├ mattackm() 偶然による怪物の同士討ち
├ remove_monster() 位置更新
├ place_monster() 位置更新
├ worm_move()
├ mintrap() 罠を起動(移動後)
├ meatmetal() (rock mole, xorn)
├ mpickgold()
├ meatobj() (gelatinous cube)
├ mpickstuff() 物を拾う
├ 移動後の処理 掘る・ドア開ける・ドア壊す・ドア/格子を通り抜けたメッセージ
└ after_shk_move() (店主)
**対応情報 [#ba5cb2fe]
-NetHack 3.4.3
**関連項目 [#s7e1e8d6]
[[dochug]](), [[dog_move]](), [[shk_move]](), [[gd_move]](), [[pri_move]](), [[worm_move]](), [[after_shk_move]]()