• 追加された行はこの色です。
  • 削除された行はこの色です。
  • makemon は削除されています。
  • makemon の差分を削除

*makemon() [#tbaeec07]

**書式 [#p788eb60]
makemon.c
 struct monst *
 makemon(
   struct permonst *ptr;    // 生成する怪物の種類
   int    x, y;             // 怪物を生成する位置
   int    mmflags;          // コントロールフラグ
 );

**パラメータ [#c4da8740]
:ptr|生成する怪物の種類を指定する。0を指定した場合は rndmonst() を使用してランダムに選ばれる。
:x, y|怪物を生成する位置を指定する。(0, 0) を指定した場合はランダムな位置に生成する。(u.ux, u.uy) を指定した場合はプレイヤーの近くに生成する。
:mmflags|生成時の様々な挙動を指定する。(→hack.h)~
|NO_MM_FLAGS|何も指定しない|
|NO_MINVENT|所持品を持たせない|
|MM_NOWAIT|M3_WAITMASKを持っている怪物であってもSTRAT_WAITMASKを設定しない|
|MM_EDOG|生成時にEDOG構造体を持たせる(ペット)|
|MM_EMIN|生成時にEMIN構造体を持たせる|
|MM_ANGRY|敵対的な状態で生成する|
|MM_NONAME|名前をつけない(ghostを生成するときにのみ有効)|
|MM_NOCOUNTBIRTH|生成カウントを増加させない(蘇生時など)|
|MM_IGNOREWATER|水地形上への生成を許可する|
|MM_ADJACENTOK|生成地点にすでに怪物が存在する場合、その付近に生成する|
|MM_MONSTEEDOK|騎乗する怪物を生成する際、騎馬を同時に生成することを許可する(※brassのみ)|

**戻り値 [#rfc02950]
生成した怪物へのポインタを返す。生成できなかった場合には0を返す。

**解説 [#c308b41f]
怪物を生成し、各種初期設定を行ったうえでマップ上に配置する。怪物が虐殺または絶滅されていたり、生成地点に空きがない場合には生成できない。ptrに0を指定してランダムに生成した場合、複数の怪物が生成される可能性がある。

グローバル変数 in_mklev が TRUE のときには多少挙動が変わる。
-生成位置が視界内であっても許可する
-プレイヤーの位置を避けない
-蛇類(S_SNAKE)を生成する際、同位置にランダムなオブジェクトを生成する
-大悪魔, wumpus, long worm, giant eel は4/5の確率で眠った状態で生成する
-生成地点を再描画しない

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

**関連項目 [#r38b9d38]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS