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