*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]]()

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