- 追加された行はこの色です。
- 削除された行はこの色です。
*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|生成時の様々な挙動を指定する。~
: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_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]