*w_blocks() [#v5f205aa]

**書式 [#e7f4ee82]
worn.c, マクロ
 int
 w_blocks(
   struct obj *o; // 判定するオブジェクトへのポインタ
   long        m; // 着脱する箇所のマスク
 );

**パラメータ [#e2c0c62a]
:o|判定するオブジェクトへのポインタ
:m|着脱する箇所のマスク

**戻り値 [#kb2dcc07]
o が耐性・能力を阻害する機能を持つ場合、該当するプロパティの番号を返す。~
vanillaでは、mummy wrapping が INVIS を、cornuthaum が条件付きで CLAIRVOYANT を返している。

**解説 [#lb64e191]
u.uprops[].blocked に適切な値を設定するために、setworn(), setnotworn() から呼ばれる。w_blocks() が0以外を返すと、setworn()/setnotworn() によって objects[].oc_oprop のプロパティを u.uprops[].extrinsic に設定するのに加え、u.uprops[].blocked にも戻り値に対応した設定がなされる。(ただし、blockedが機能するのは現状でCLAIRVOYANT, INVIS, STEALTHのみ)

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

**関連項目 [#d7d3c6f1]
[[setworn]](), [[setnotworn]](), [[update_mon_intrinsic]]()
トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS