Difference between revisions of "Source:NetHack 3.6.0/include/monflag.h"

From NetHackWiki
Jump to navigation Jump to search
(Created page with "__MIXEDSYNTAXHIGHLIGHT__ Below is the full text to '''monflag.h''' from the source code of NetHack 3.6.0. To link to a particular line, write...")
 
 
Line 3: Line 3:
  
 
{{NGPL}}
 
{{NGPL}}
  <span id="line1">1.   /* NetHack 3.6 monflag.h $NHDT-Date: 1432512778 2015/05/25 00:12:58 $  $NHDT-Branch: master $:$NHDT-Revision: 1.14 $ */</span>
+
  <span id="line1">1. /* NetHack 3.6 monflag.h $NHDT-Date: 1432512778 2015/05/25 00:12:58 $  $NHDT-Branch: master $:$NHDT-Revision: 1.14 $ */</span>
  <span id="line2">2.   /* Copyright (c) 1989 Mike Threepoint   */</span>
+
  <span id="line2">2. /* Copyright (c) 1989 Mike Threepoint   */</span>
  <span id="line3">3.   /* NetHack may be freely redistributed.  See license for details. */</span>
+
  <span id="line3">3. /* NetHack may be freely redistributed.  See license for details. */</span>
  <span id="line4">4.   </span>
+
  <span id="line4">4. </span>
  <span id="line5">5.   #ifndef MONFLAG_H</span>
+
  <span id="line5">5. #ifndef MONFLAG_H</span>
  <span id="line6">6.   #define MONFLAG_H</span>
+
  <span id="line6">6. #define MONFLAG_H</span>
  <span id="line7">7.   </span>
+
  <span id="line7">7. </span>
  <span id="line8">8.   #define MS_SILENT 0    /* makes no sound */</span>
+
  <span id="line8">8. #define MS_SILENT 0    /* makes no sound */</span>
  <span id="line9">9.   #define MS_BARK 1      /* if full moon, may howl */</span>
+
  <span id="line9">9. #define MS_BARK 1      /* if full moon, may howl */</span>
  <span id="line10">10.   #define MS_MEW 2        /* mews or hisses */</span>
+
  <span id="line10">10. #define MS_MEW 2        /* mews or hisses */</span>
  <span id="line11">11.   #define MS_ROAR 3      /* roars */</span>
+
  <span id="line11">11. #define MS_ROAR 3      /* roars */</span>
  <span id="line12">12.   #define MS_GROWL 4      /* growls */</span>
+
  <span id="line12">12. #define MS_GROWL 4      /* growls */</span>
  <span id="line13">13.   #define MS_SQEEK 5      /* squeaks, as a rodent */</span>
+
  <span id="line13">13. #define MS_SQEEK 5      /* squeaks, as a rodent */</span>
  <span id="line14">14.   #define MS_SQAWK 6      /* squawks, as a bird */</span>
+
  <span id="line14">14. #define MS_SQAWK 6      /* squawks, as a bird */</span>
  <span id="line15">15.   #define MS_HISS 7      /* hisses */</span>
+
  <span id="line15">15. #define MS_HISS 7      /* hisses */</span>
  <span id="line16">16.   #define MS_BUZZ 8      /* buzzes (killer bee) */</span>
+
  <span id="line16">16. #define MS_BUZZ 8      /* buzzes (killer bee) */</span>
  <span id="line17">17.   #define MS_GRUNT 9      /* grunts (or speaks own language) */</span>
+
  <span id="line17">17. #define MS_GRUNT 9      /* grunts (or speaks own language) */</span>
  <span id="line18">18.   #define MS_NEIGH 10    /* neighs, as an equine */</span>
+
  <span id="line18">18. #define MS_NEIGH 10    /* neighs, as an equine */</span>
  <span id="line19">19.   #define MS_WAIL 11      /* wails, as a tortured soul */</span>
+
  <span id="line19">19. #define MS_WAIL 11      /* wails, as a tortured soul */</span>
  <span id="line20">20.   #define MS_GURGLE 12    /* gurgles, as liquid or through saliva */</span>
+
  <span id="line20">20. #define MS_GURGLE 12    /* gurgles, as liquid or through saliva */</span>
  <span id="line21">21.   #define MS_BURBLE 13    /* burbles (jabberwock) */</span>
+
  <span id="line21">21. #define MS_BURBLE 13    /* burbles (jabberwock) */</span>
  <span id="line22">22.   #define MS_ANIMAL 13    /* up to here are animal noises */</span>
+
  <span id="line22">22. #define MS_ANIMAL 13    /* up to here are animal noises */</span>
  <span id="line23">23.   #define MS_SHRIEK 15    /* wakes up others */</span>
+
  <span id="line23">23. #define MS_SHRIEK 15    /* wakes up others */</span>
  <span id="line24">24.   #define MS_BONES 16    /* rattles bones (skeleton) */</span>
+
  <span id="line24">24. #define MS_BONES 16    /* rattles bones (skeleton) */</span>
  <span id="line25">25.   #define MS_LAUGH 17    /* grins, smiles, giggles, and laughs */</span>
+
  <span id="line25">25. #define MS_LAUGH 17    /* grins, smiles, giggles, and laughs */</span>
  <span id="line26">26.   #define MS_MUMBLE 18    /* says something or other */</span>
+
  <span id="line26">26. #define MS_MUMBLE 18    /* says something or other */</span>
  <span id="line27">27.   #define MS_IMITATE 19  /* imitates others (leocrotta) */</span>
+
  <span id="line27">27. #define MS_IMITATE 19  /* imitates others (leocrotta) */</span>
  <span id="line28">28.   #define MS_ORC MS_GRUNT /* intelligent brutes */</span>
+
  <span id="line28">28. #define MS_ORC MS_GRUNT /* intelligent brutes */</span>
  <span id="line29">29.   #define MS_HUMANOID 20  /* generic traveling companion */</span>
+
  <span id="line29">29. #define MS_HUMANOID 20  /* generic traveling companion */</span>
  <span id="line30">30.   #define MS_ARREST 21    /* "Stop in the name of the law!" (Kops) */</span>
+
  <span id="line30">30. #define MS_ARREST 21    /* "Stop in the name of the law!" (Kops) */</span>
  <span id="line31">31.   #define MS_SOLDIER 22  /* army and watchmen expressions */</span>
+
  <span id="line31">31. #define MS_SOLDIER 22  /* army and watchmen expressions */</span>
  <span id="line32">32.   #define MS_GUARD 23    /* "Please drop that gold and follow me." */</span>
+
  <span id="line32">32. #define MS_GUARD 23    /* "Please drop that gold and follow me." */</span>
  <span id="line33">33.   #define MS_DJINNI 24    /* "Thank you for freeing me!" */</span>
+
  <span id="line33">33. #define MS_DJINNI 24    /* "Thank you for freeing me!" */</span>
  <span id="line34">34.   #define MS_NURSE 25    /* "Take off your shirt, please." */</span>
+
  <span id="line34">34. #define MS_NURSE 25    /* "Take off your shirt, please." */</span>
  <span id="line35">35.   #define MS_SEDUCE 26    /* "Hello, sailor." (Nymphs) */</span>
+
  <span id="line35">35. #define MS_SEDUCE 26    /* "Hello, sailor." (Nymphs) */</span>
  <span id="line36">36.   #define MS_VAMPIRE 27  /* vampiric seduction, Vlad's exclamations */</span>
+
  <span id="line36">36. #define MS_VAMPIRE 27  /* vampiric seduction, Vlad's exclamations */</span>
  <span id="line37">37.   #define MS_BRIBE 28    /* asks for money, or berates you */</span>
+
  <span id="line37">37. #define MS_BRIBE 28    /* asks for money, or berates you */</span>
  <span id="line38">38.   #define MS_CUSS 29      /* berates (demons) or intimidates (Wiz) */</span>
+
  <span id="line38">38. #define MS_CUSS 29      /* berates (demons) or intimidates (Wiz) */</span>
  <span id="line39">39.   #define MS_RIDER 30    /* astral level special monsters */</span>
+
  <span id="line39">39. #define MS_RIDER 30    /* astral level special monsters */</span>
  <span id="line40">40.   #define MS_LEADER 31    /* your class leader */</span>
+
  <span id="line40">40. #define MS_LEADER 31    /* your class leader */</span>
  <span id="line41">41.   #define MS_NEMESIS 32  /* your nemesis */</span>
+
  <span id="line41">41. #define MS_NEMESIS 32  /* your nemesis */</span>
  <span id="line42">42.   #define MS_GUARDIAN 33  /* your leader's guards */</span>
+
  <span id="line42">42. #define MS_GUARDIAN 33  /* your leader's guards */</span>
  <span id="line43">43.   #define MS_SELL 34      /* demand payment, complain about shoplifters */</span>
+
  <span id="line43">43. #define MS_SELL 34      /* demand payment, complain about shoplifters */</span>
  <span id="line44">44.   #define MS_ORACLE 35    /* do a consultation */</span>
+
  <span id="line44">44. #define MS_ORACLE 35    /* do a consultation */</span>
  <span id="line45">45.   #define MS_PRIEST 36    /* ask for contribution; do cleansing */</span>
+
  <span id="line45">45. #define MS_PRIEST 36    /* ask for contribution; do cleansing */</span>
  <span id="line46">46.   #define MS_SPELL 37    /* spellcaster not matching any of the above */</span>
+
  <span id="line46">46. #define MS_SPELL 37    /* spellcaster not matching any of the above */</span>
  <span id="line47">47.   #define MS_WERE 38      /* lycanthrope in human form */</span>
+
  <span id="line47">47. #define MS_WERE 38      /* lycanthrope in human form */</span>
  <span id="line48">48.   #define MS_BOAST 39    /* giants */</span>
+
  <span id="line48">48. #define MS_BOAST 39    /* giants */</span>
  <span id="line49">49.   </span>
+
  <span id="line49">49. </span>
  <span id="line50">50.   #define MR_FIRE 0x01  /* resists fire */</span>
+
  <span id="line50">50. #define MR_FIRE 0x01  /* resists fire */</span>
  <span id="line51">51.   #define MR_COLD 0x02  /* resists cold */</span>
+
  <span id="line51">51. #define MR_COLD 0x02  /* resists cold */</span>
  <span id="line52">52.   #define MR_SLEEP 0x04  /* resists sleep */</span>
+
  <span id="line52">52. #define MR_SLEEP 0x04  /* resists sleep */</span>
  <span id="line53">53.   #define MR_DISINT 0x08 /* resists disintegration */</span>
+
  <span id="line53">53. #define MR_DISINT 0x08 /* resists disintegration */</span>
  <span id="line54">54.   #define MR_ELEC 0x10  /* resists electricity */</span>
+
  <span id="line54">54. #define MR_ELEC 0x10  /* resists electricity */</span>
  <span id="line55">55.   #define MR_POISON 0x20 /* resists poison */</span>
+
  <span id="line55">55. #define MR_POISON 0x20 /* resists poison */</span>
  <span id="line56">56.   #define MR_ACID 0x40  /* resists acid */</span>
+
  <span id="line56">56. #define MR_ACID 0x40  /* resists acid */</span>
  <span id="line57">57.   #define MR_STONE 0x80  /* resists petrification */</span>
+
  <span id="line57">57. #define MR_STONE 0x80  /* resists petrification */</span>
  <span id="line58">58.   /* other resistances: magic, sickness */</span>
+
  <span id="line58">58. /* other resistances: magic, sickness */</span>
  <span id="line59">59.   /* other conveyances: teleport, teleport control, telepathy */</span>
+
  <span id="line59">59. /* other conveyances: teleport, teleport control, telepathy */</span>
  <span id="line60">60.   </span>
+
  <span id="line60">60. </span>
  <span id="line61">61.   /* individual resistances */</span>
+
  <span id="line61">61. /* individual resistances */</span>
  <span id="line62">62.   #define MR2_SEE_INVIS 0x0100 /* see invisible */</span>
+
  <span id="line62">62. #define MR2_SEE_INVIS 0x0100 /* see invisible */</span>
  <span id="line63">63.   #define MR2_LEVITATE 0x0200  /* levitation */</span>
+
  <span id="line63">63. #define MR2_LEVITATE 0x0200  /* levitation */</span>
  <span id="line64">64.   #define MR2_WATERWALK 0x0400 /* water walking */</span>
+
  <span id="line64">64. #define MR2_WATERWALK 0x0400 /* water walking */</span>
  <span id="line65">65.   #define MR2_MAGBREATH 0x0800 /* magical breathing */</span>
+
  <span id="line65">65. #define MR2_MAGBREATH 0x0800 /* magical breathing */</span>
  <span id="line66">66.   #define MR2_DISPLACED 0x1000 /* displaced */</span>
+
  <span id="line66">66. #define MR2_DISPLACED 0x1000 /* displaced */</span>
  <span id="line67">67.   #define MR2_STRENGTH 0x2000  /* gauntlets of power */</span>
+
  <span id="line67">67. #define MR2_STRENGTH 0x2000  /* gauntlets of power */</span>
  <span id="line68">68.   #define MR2_FUMBLING 0x4000  /* clumsy */</span>
+
  <span id="line68">68. #define MR2_FUMBLING 0x4000  /* clumsy */</span>
  <span id="line69">69.   </span>
+
  <span id="line69">69. </span>
  <span id="line70">70.   #define M1_FLY 0x00000001L        /* can fly or float */</span>
+
  <span id="line70">70. #define M1_FLY 0x00000001L        /* can fly or float */</span>
  <span id="line71">71.   #define M1_SWIM 0x00000002L        /* can traverse water */</span>
+
  <span id="line71">71. #define M1_SWIM 0x00000002L        /* can traverse water */</span>
  <span id="line72">72.   #define M1_AMORPHOUS 0x00000004L  /* can flow under doors */</span>
+
  <span id="line72">72. #define M1_AMORPHOUS 0x00000004L  /* can flow under doors */</span>
  <span id="line73">73.   #define M1_WALLWALK 0x00000008L    /* can phase thru rock */</span>
+
  <span id="line73">73. #define M1_WALLWALK 0x00000008L    /* can phase thru rock */</span>
  <span id="line74">74.   #define M1_CLING 0x00000010L      /* can cling to ceiling */</span>
+
  <span id="line74">74. #define M1_CLING 0x00000010L      /* can cling to ceiling */</span>
  <span id="line75">75.   #define M1_TUNNEL 0x00000020L      /* can tunnel thru rock */</span>
+
  <span id="line75">75. #define M1_TUNNEL 0x00000020L      /* can tunnel thru rock */</span>
  <span id="line76">76.   #define M1_NEEDPICK 0x00000040L    /* needs pick to tunnel */</span>
+
  <span id="line76">76. #define M1_NEEDPICK 0x00000040L    /* needs pick to tunnel */</span>
  <span id="line77">77.   #define M1_CONCEAL 0x00000080L    /* hides under objects */</span>
+
  <span id="line77">77. #define M1_CONCEAL 0x00000080L    /* hides under objects */</span>
  <span id="line78">78.   #define M1_HIDE 0x00000100L        /* mimics, blends in with ceiling */</span>
+
  <span id="line78">78. #define M1_HIDE 0x00000100L        /* mimics, blends in with ceiling */</span>
  <span id="line79">79.   #define M1_AMPHIBIOUS 0x00000200L  /* can survive underwater */</span>
+
  <span id="line79">79. #define M1_AMPHIBIOUS 0x00000200L  /* can survive underwater */</span>
  <span id="line80">80.   #define M1_BREATHLESS 0x00000400L  /* doesn't need to breathe */</span>
+
  <span id="line80">80. #define M1_BREATHLESS 0x00000400L  /* doesn't need to breathe */</span>
  <span id="line81">81.   #define M1_NOTAKE 0x00000800L      /* cannot pick up objects */</span>
+
  <span id="line81">81. #define M1_NOTAKE 0x00000800L      /* cannot pick up objects */</span>
  <span id="line82">82.   #define M1_NOEYES 0x00001000L      /* no eyes to gaze into or blind */</span>
+
  <span id="line82">82. #define M1_NOEYES 0x00001000L      /* no eyes to gaze into or blind */</span>
  <span id="line83">83.   #define M1_NOHANDS 0x00002000L    /* no hands to handle things */</span>
+
  <span id="line83">83. #define M1_NOHANDS 0x00002000L    /* no hands to handle things */</span>
  <span id="line84">84.   #define M1_NOLIMBS 0x00006000L    /* no arms/legs to kick/wear on */</span>
+
  <span id="line84">84. #define M1_NOLIMBS 0x00006000L    /* no arms/legs to kick/wear on */</span>
  <span id="line85">85.   #define M1_NOHEAD 0x00008000L      /* no head to behead */</span>
+
  <span id="line85">85. #define M1_NOHEAD 0x00008000L      /* no head to behead */</span>
  <span id="line86">86.   #define M1_MINDLESS 0x00010000L    /* has no mind--golem, zombie, mold */</span>
+
  <span id="line86">86. #define M1_MINDLESS 0x00010000L    /* has no mind--golem, zombie, mold */</span>
  <span id="line87">87.   #define M1_HUMANOID 0x00020000L    /* has humanoid head/arms/torso */</span>
+
  <span id="line87">87. #define M1_HUMANOID 0x00020000L    /* has humanoid head/arms/torso */</span>
  <span id="line88">88.   #define M1_ANIMAL 0x00040000L      /* has animal body */</span>
+
  <span id="line88">88. #define M1_ANIMAL 0x00040000L      /* has animal body */</span>
  <span id="line89">89.   #define M1_SLITHY 0x00080000L      /* has serpent body */</span>
+
  <span id="line89">89. #define M1_SLITHY 0x00080000L      /* has serpent body */</span>
  <span id="line90">90.   #define M1_UNSOLID 0x00100000L    /* has no solid or liquid body */</span>
+
  <span id="line90">90. #define M1_UNSOLID 0x00100000L    /* has no solid or liquid body */</span>
  <span id="line91">91.   #define M1_THICK_HIDE 0x00200000L  /* has thick hide or scales */</span>
+
  <span id="line91">91. #define M1_THICK_HIDE 0x00200000L  /* has thick hide or scales */</span>
  <span id="line92">92.   #define M1_OVIPAROUS 0x00400000L  /* can lay eggs */</span>
+
  <span id="line92">92. #define M1_OVIPAROUS 0x00400000L  /* can lay eggs */</span>
  <span id="line93">93.   #define M1_REGEN 0x00800000L      /* regenerates hit points */</span>
+
  <span id="line93">93. #define M1_REGEN 0x00800000L      /* regenerates hit points */</span>
  <span id="line94">94.   #define M1_SEE_INVIS 0x01000000L  /* can see invisible creatures */</span>
+
  <span id="line94">94. #define M1_SEE_INVIS 0x01000000L  /* can see invisible creatures */</span>
  <span id="line95">95.   #define M1_TPORT 0x02000000L      /* can teleport */</span>
+
  <span id="line95">95. #define M1_TPORT 0x02000000L      /* can teleport */</span>
  <span id="line96">96.   #define M1_TPORT_CNTRL 0x04000000L /* controls where it teleports to */</span>
+
  <span id="line96">96. #define M1_TPORT_CNTRL 0x04000000L /* controls where it teleports to */</span>
  <span id="line97">97.   #define M1_ACID 0x08000000L        /* acidic to eat */</span>
+
  <span id="line97">97. #define M1_ACID 0x08000000L        /* acidic to eat */</span>
  <span id="line98">98.   #define M1_POIS 0x10000000L        /* poisonous to eat */</span>
+
  <span id="line98">98. #define M1_POIS 0x10000000L        /* poisonous to eat */</span>
  <span id="line99">99.   #define M1_CARNIVORE 0x20000000L  /* eats corpses */</span>
+
  <span id="line99">99. #define M1_CARNIVORE 0x20000000L  /* eats corpses */</span>
  <span id="line100">100. #define M1_HERBIVORE 0x40000000L  /* eats fruits */</span>
+
  <span id="line100">100. #define M1_HERBIVORE 0x40000000L  /* eats fruits */</span>
  <span id="line101">101. #define M1_OMNIVORE 0x60000000L    /* eats both */</span>
+
  <span id="line101">101. #define M1_OMNIVORE 0x60000000L    /* eats both */</span>
  <span id="line102">102. #ifdef NHSTDC</span>
+
  <span id="line102">102. #ifdef NHSTDC</span>
  <span id="line103">103. #define M1_METALLIVORE 0x80000000UL /* eats metal */</span>
+
  <span id="line103">103. #define M1_METALLIVORE 0x80000000UL /* eats metal */</span>
  <span id="line104">104. #else</span>
+
  <span id="line104">104. #else</span>
  <span id="line105">105. #define M1_METALLIVORE 0x80000000L /* eats metal */</span>
+
  <span id="line105">105. #define M1_METALLIVORE 0x80000000L /* eats metal */</span>
  <span id="line106">106. #endif</span>
+
  <span id="line106">106. #endif</span>
  <span id="line107">107. </span>
+
  <span id="line107">107. </span>
  <span id="line108">108. #define M2_NOPOLY 0x00000001L      /* players mayn't poly into one */</span>
+
  <span id="line108">108. #define M2_NOPOLY 0x00000001L      /* players mayn't poly into one */</span>
  <span id="line109">109. #define M2_UNDEAD 0x00000002L      /* is walking dead */</span>
+
  <span id="line109">109. #define M2_UNDEAD 0x00000002L      /* is walking dead */</span>
  <span id="line110">110. #define M2_WERE 0x00000004L        /* is a lycanthrope */</span>
+
  <span id="line110">110. #define M2_WERE 0x00000004L        /* is a lycanthrope */</span>
  <span id="line111">111. #define M2_HUMAN 0x00000008L        /* is a human */</span>
+
  <span id="line111">111. #define M2_HUMAN 0x00000008L        /* is a human */</span>
  <span id="line112">112. #define M2_ELF 0x00000010L          /* is an elf */</span>
+
  <span id="line112">112. #define M2_ELF 0x00000010L          /* is an elf */</span>
  <span id="line113">113. #define M2_DWARF 0x00000020L        /* is a dwarf */</span>
+
  <span id="line113">113. #define M2_DWARF 0x00000020L        /* is a dwarf */</span>
  <span id="line114">114. #define M2_GNOME 0x00000040L        /* is a gnome */</span>
+
  <span id="line114">114. #define M2_GNOME 0x00000040L        /* is a gnome */</span>
  <span id="line115">115. #define M2_ORC 0x00000080L          /* is an orc */</span>
+
  <span id="line115">115. #define M2_ORC 0x00000080L          /* is an orc */</span>
  <span id="line116">116. #define M2_DEMON 0x00000100L        /* is a demon */</span>
+
  <span id="line116">116. #define M2_DEMON 0x00000100L        /* is a demon */</span>
  <span id="line117">117. #define M2_MERC 0x00000200L        /* is a guard or soldier */</span>
+
  <span id="line117">117. #define M2_MERC 0x00000200L        /* is a guard or soldier */</span>
  <span id="line118">118. #define M2_LORD 0x00000400L        /* is a lord to its kind */</span>
+
  <span id="line118">118. #define M2_LORD 0x00000400L        /* is a lord to its kind */</span>
  <span id="line119">119. #define M2_PRINCE 0x00000800L      /* is an overlord to its kind */</span>
+
  <span id="line119">119. #define M2_PRINCE 0x00000800L      /* is an overlord to its kind */</span>
  <span id="line120">120. #define M2_MINION 0x00001000L      /* is a minion of a deity */</span>
+
  <span id="line120">120. #define M2_MINION 0x00001000L      /* is a minion of a deity */</span>
  <span id="line121">121. #define M2_GIANT 0x00002000L        /* is a giant */</span>
+
  <span id="line121">121. #define M2_GIANT 0x00002000L        /* is a giant */</span>
  <span id="line122">122. #define M2_SHAPESHIFTER 0x00004000L /* is a shapeshifting species */</span>
+
  <span id="line122">122. #define M2_SHAPESHIFTER 0x00004000L /* is a shapeshifting species */</span>
  <span id="line123">123. #define M2_MALE 0x00010000L        /* always male */</span>
+
  <span id="line123">123. #define M2_MALE 0x00010000L        /* always male */</span>
  <span id="line124">124. #define M2_FEMALE 0x00020000L      /* always female */</span>
+
  <span id="line124">124. #define M2_FEMALE 0x00020000L      /* always female */</span>
  <span id="line125">125. #define M2_NEUTER 0x00040000L      /* neither male nor female */</span>
+
  <span id="line125">125. #define M2_NEUTER 0x00040000L      /* neither male nor female */</span>
  <span id="line126">126. #define M2_PNAME 0x00080000L        /* monster name is a proper name */</span>
+
  <span id="line126">126. #define M2_PNAME 0x00080000L        /* monster name is a proper name */</span>
  <span id="line127">127. #define M2_HOSTILE 0x00100000L      /* always starts hostile */</span>
+
  <span id="line127">127. #define M2_HOSTILE 0x00100000L      /* always starts hostile */</span>
  <span id="line128">128. #define M2_PEACEFUL 0x00200000L    /* always starts peaceful */</span>
+
  <span id="line128">128. #define M2_PEACEFUL 0x00200000L    /* always starts peaceful */</span>
  <span id="line129">129. #define M2_DOMESTIC 0x00400000L    /* can be tamed by feeding */</span>
+
  <span id="line129">129. #define M2_DOMESTIC 0x00400000L    /* can be tamed by feeding */</span>
  <span id="line130">130. #define M2_WANDER 0x00800000L      /* wanders randomly */</span>
+
  <span id="line130">130. #define M2_WANDER 0x00800000L      /* wanders randomly */</span>
  <span id="line131">131. #define M2_STALK 0x01000000L        /* follows you to other levels */</span>
+
  <span id="line131">131. #define M2_STALK 0x01000000L        /* follows you to other levels */</span>
  <span id="line132">132. #define M2_NASTY 0x02000000L        /* extra-nasty monster (more xp) */</span>
+
  <span id="line132">132. #define M2_NASTY 0x02000000L        /* extra-nasty monster (more xp) */</span>
  <span id="line133">133. #define M2_STRONG 0x04000000L      /* strong (or big) monster */</span>
+
  <span id="line133">133. #define M2_STRONG 0x04000000L      /* strong (or big) monster */</span>
  <span id="line134">134. #define M2_ROCKTHROW 0x08000000L    /* throws boulders */</span>
+
  <span id="line134">134. #define M2_ROCKTHROW 0x08000000L    /* throws boulders */</span>
  <span id="line135">135. #define M2_GREEDY 0x10000000L      /* likes gold */</span>
+
  <span id="line135">135. #define M2_GREEDY 0x10000000L      /* likes gold */</span>
  <span id="line136">136. #define M2_JEWELS 0x20000000L      /* likes gems */</span>
+
  <span id="line136">136. #define M2_JEWELS 0x20000000L      /* likes gems */</span>
  <span id="line137">137. #define M2_COLLECT 0x40000000L      /* picks up weapons and food */</span>
+
  <span id="line137">137. #define M2_COLLECT 0x40000000L      /* picks up weapons and food */</span>
  <span id="line138">138. #ifdef NHSTDC</span>
+
  <span id="line138">138. #ifdef NHSTDC</span>
  <span id="line139">139. #define M2_MAGIC 0x80000000UL /* picks up magic items */</span>
+
  <span id="line139">139. #define M2_MAGIC 0x80000000UL /* picks up magic items */</span>
  <span id="line140">140. #else</span>
+
  <span id="line140">140. #else</span>
  <span id="line141">141. #define M2_MAGIC 0x80000000L /* picks up magic items */</span>
+
  <span id="line141">141. #define M2_MAGIC 0x80000000L /* picks up magic items */</span>
  <span id="line142">142. #endif</span>
+
  <span id="line142">142. #endif</span>
  <span id="line143">143. </span>
+
  <span id="line143">143. </span>
  <span id="line144">144. #define M3_WANTSAMUL 0x0001 /* would like to steal the amulet */</span>
+
  <span id="line144">144. #define M3_WANTSAMUL 0x0001 /* would like to steal the amulet */</span>
  <span id="line145">145. #define M3_WANTSBELL 0x0002 /* wants the bell */</span>
+
  <span id="line145">145. #define M3_WANTSBELL 0x0002 /* wants the bell */</span>
  <span id="line146">146. #define M3_WANTSBOOK 0x0004 /* wants the book */</span>
+
  <span id="line146">146. #define M3_WANTSBOOK 0x0004 /* wants the book */</span>
  <span id="line147">147. #define M3_WANTSCAND 0x0008 /* wants the candelabrum */</span>
+
  <span id="line147">147. #define M3_WANTSCAND 0x0008 /* wants the candelabrum */</span>
  <span id="line148">148. #define M3_WANTSARTI 0x0010 /* wants the quest artifact */</span>
+
  <span id="line148">148. #define M3_WANTSARTI 0x0010 /* wants the quest artifact */</span>
  <span id="line149">149. #define M3_WANTSALL 0x001f  /* wants any major artifact */</span>
+
  <span id="line149">149. #define M3_WANTSALL 0x001f  /* wants any major artifact */</span>
  <span id="line150">150. #define M3_WAITFORU 0x0040  /* waits to see you or get attacked */</span>
+
  <span id="line150">150. #define M3_WAITFORU 0x0040  /* waits to see you or get attacked */</span>
  <span id="line151">151. #define M3_CLOSE 0x0080    /* lets you close unless attacked */</span>
+
  <span id="line151">151. #define M3_CLOSE 0x0080    /* lets you close unless attacked */</span>
  <span id="line152">152. </span>
+
  <span id="line152">152. </span>
  <span id="line153">153. #define M3_COVETOUS 0x001f /* wants something */</span>
+
  <span id="line153">153. #define M3_COVETOUS 0x001f /* wants something */</span>
  <span id="line154">154. #define M3_WAITMASK 0x00c0 /* waiting... */</span>
+
  <span id="line154">154. #define M3_WAITMASK 0x00c0 /* waiting... */</span>
  <span id="line155">155. </span>
+
  <span id="line155">155. </span>
  <span id="line156">156. /* Infravision is currently implemented for players only */</span>
+
  <span id="line156">156. /* Infravision is currently implemented for players only */</span>
  <span id="line157">157. #define M3_INFRAVISION 0x0100  /* has infravision */</span>
+
  <span id="line157">157. #define M3_INFRAVISION 0x0100  /* has infravision */</span>
  <span id="line158">158. #define M3_INFRAVISIBLE 0x0200 /* visible by infravision */</span>
+
  <span id="line158">158. #define M3_INFRAVISIBLE 0x0200 /* visible by infravision */</span>
  <span id="line159">159. </span>
+
  <span id="line159">159. </span>
  <span id="line160">160. #define M3_DISPLACES 0x0400 /* moves monsters out of its way */</span>
+
  <span id="line160">160. #define M3_DISPLACES 0x0400 /* moves monsters out of its way */</span>
  <span id="line161">161. </span>
+
  <span id="line161">161. </span>
  <span id="line162">162. #define MZ_TINY 0          /* < 2' */</span>
+
  <span id="line162">162. #define MZ_TINY 0          /* < 2' */</span>
  <span id="line163">163. #define MZ_SMALL 1        /* 2-4' */</span>
+
  <span id="line163">163. #define MZ_SMALL 1        /* 2-4' */</span>
  <span id="line164">164. #define MZ_MEDIUM 2        /* 4-7' */</span>
+
  <span id="line164">164. #define MZ_MEDIUM 2        /* 4-7' */</span>
  <span id="line165">165. #define MZ_HUMAN MZ_MEDIUM /* human-sized */</span>
+
  <span id="line165">165. #define MZ_HUMAN MZ_MEDIUM /* human-sized */</span>
  <span id="line166">166. #define MZ_LARGE 3        /* 7-12' */</span>
+
  <span id="line166">166. #define MZ_LARGE 3        /* 7-12' */</span>
  <span id="line167">167. #define MZ_HUGE 4          /* 12-25' */</span>
+
  <span id="line167">167. #define MZ_HUGE 4          /* 12-25' */</span>
  <span id="line168">168. #define MZ_GIGANTIC 7      /* off the scale */</span>
+
  <span id="line168">168. #define MZ_GIGANTIC 7      /* off the scale */</span>
  <span id="line169">169. </span>
+
  <span id="line169">169. </span>
  <span id="line170">170. /* Monster races -- must stay within ROLE_RACEMASK */</span>
+
  <span id="line170">170. /* Monster races -- must stay within ROLE_RACEMASK */</span>
  <span id="line171">171. /* Eventually this may become its own field */</span>
+
  <span id="line171">171. /* Eventually this may become its own field */</span>
  <span id="line172">172. #define MH_HUMAN M2_HUMAN</span>
+
  <span id="line172">172. #define MH_HUMAN M2_HUMAN</span>
  <span id="line173">173. #define MH_ELF M2_ELF</span>
+
  <span id="line173">173. #define MH_ELF M2_ELF</span>
  <span id="line174">174. #define MH_DWARF M2_DWARF</span>
+
  <span id="line174">174. #define MH_DWARF M2_DWARF</span>
  <span id="line175">175. #define MH_GNOME M2_GNOME</span>
+
  <span id="line175">175. #define MH_GNOME M2_GNOME</span>
  <span id="line176">176. #define MH_ORC M2_ORC</span>
+
  <span id="line176">176. #define MH_ORC M2_ORC</span>
  <span id="line177">177. </span>
+
  <span id="line177">177. </span>
  <span id="line178">178. /* for mons[].geno (constant during game) */</span>
+
  <span id="line178">178. /* for mons[].geno (constant during game) */</span>
  <span id="line179">179. #define G_UNIQ 0x1000    /* generated only once */</span>
+
  <span id="line179">179. #define G_UNIQ 0x1000    /* generated only once */</span>
  <span id="line180">180. #define G_NOHELL 0x0800  /* not generated in "hell" */</span>
+
  <span id="line180">180. #define G_NOHELL 0x0800  /* not generated in "hell" */</span>
  <span id="line181">181. #define G_HELL 0x0400    /* generated only in "hell" */</span>
+
  <span id="line181">181. #define G_HELL 0x0400    /* generated only in "hell" */</span>
  <span id="line182">182. #define G_NOGEN 0x0200    /* generated only specially */</span>
+
  <span id="line182">182. #define G_NOGEN 0x0200    /* generated only specially */</span>
  <span id="line183">183. #define G_SGROUP 0x0080  /* appear in small groups normally */</span>
+
  <span id="line183">183. #define G_SGROUP 0x0080  /* appear in small groups normally */</span>
  <span id="line184">184. #define G_LGROUP 0x0040  /* appear in large groups normally */</span>
+
  <span id="line184">184. #define G_LGROUP 0x0040  /* appear in large groups normally */</span>
  <span id="line185">185. #define G_GENO 0x0020    /* can be genocided */</span>
+
  <span id="line185">185. #define G_GENO 0x0020    /* can be genocided */</span>
  <span id="line186">186. #define G_NOCORPSE 0x0010 /* no corpse left ever */</span>
+
  <span id="line186">186. #define G_NOCORPSE 0x0010 /* no corpse left ever */</span>
  <span id="line187">187. #define G_FREQ 0x0007    /* creation frequency mask */</span>
+
  <span id="line187">187. #define G_FREQ 0x0007    /* creation frequency mask */</span>
  <span id="line188">188. </span>
+
  <span id="line188">188. </span>
  <span id="line189">189. /* for mvitals[].mvflags (variant during game), along with G_NOCORPSE */</span>
+
  <span id="line189">189. /* for mvitals[].mvflags (variant during game), along with G_NOCORPSE */</span>
  <span id="line190">190. #define G_KNOWN 0x0004 /* have been encountered */</span>
+
  <span id="line190">190. #define G_KNOWN 0x0004 /* have been encountered */</span>
  <span id="line191">191. #define G_GONE (G_GENOD | G_EXTINCT)</span>
+
  <span id="line191">191. #define G_GONE (G_GENOD | G_EXTINCT)</span>
  <span id="line192">192. #define G_GENOD 0x0002 /* have been genocided */</span>
+
  <span id="line192">192. #define G_GENOD 0x0002 /* have been genocided */</span>
  <span id="line193">193. #define G_EXTINCT                      \</span>
+
  <span id="line193">193. #define G_EXTINCT                      \</span>
  <span id="line194">194.     0x0001 /* have been extinguished as \</span>
+
  <span id="line194">194.     0x0001 /* have been extinguished as \</span>
  <span id="line195">195.               population control */</span>
+
  <span id="line195">195.               population control */</span>
  <span id="line196">196. #define MV_KNOWS_EGG                        \</span>
+
  <span id="line196">196. #define MV_KNOWS_EGG                        \</span>
  <span id="line197">197.     0x0008 /* player recognizes egg of this \</span>
+
  <span id="line197">197.     0x0008 /* player recognizes egg of this \</span>
  <span id="line198">198.               monster type */</span>
+
  <span id="line198">198.               monster type */</span>
  <span id="line199">199. </span>
+
  <span id="line199">199. </span>
  <span id="line200">200. #endif /* MONFLAG_H */</span>
+
  <span id="line200">200. #endif /* MONFLAG_H */</span>
 
[[Category:NetHack 3.6.0 source code|include/monflag.h]]
 
[[Category:NetHack 3.6.0 source code|include/monflag.h]]

Latest revision as of 13:31, 15 December 2015

Below is the full text to monflag.h from the source code of NetHack 3.6.0. To link to a particular line, write [[Source:NetHack 3.6.0/include/monflag.h#line123]], for example.

The NetHack General Public License applies to screenshots, source code and other content from NetHack.

This content was modified from the original NetHack source code distribution (by splitting up NetHack content between wiki pages, and possibly further editing). See the page history for a list of who changed it, and on what dates.

 /* NetHack 3.6	monflag.h	$NHDT-Date: 1432512778 2015/05/25 00:12:58 $  $NHDT-Branch: master $:$NHDT-Revision: 1.14 $ */
 /* Copyright (c) 1989 Mike Threepoint				  */
 /* NetHack may be freely redistributed.  See license for details. */
 
 #ifndef MONFLAG_H
 #define MONFLAG_H
 
 #define MS_SILENT 0     /* makes no sound */
 #define MS_BARK 1       /* if full moon, may howl */
 #define MS_MEW 2        /* mews or hisses */
 #define MS_ROAR 3       /* roars */
 #define MS_GROWL 4      /* growls */
 #define MS_SQEEK 5      /* squeaks, as a rodent */
 #define MS_SQAWK 6      /* squawks, as a bird */
 #define MS_HISS 7       /* hisses */
 #define MS_BUZZ 8       /* buzzes (killer bee) */
 #define MS_GRUNT 9      /* grunts (or speaks own language) */
 #define MS_NEIGH 10     /* neighs, as an equine */
 #define MS_WAIL 11      /* wails, as a tortured soul */
 #define MS_GURGLE 12    /* gurgles, as liquid or through saliva */
 #define MS_BURBLE 13    /* burbles (jabberwock) */
 #define MS_ANIMAL 13    /* up to here are animal noises */
 #define MS_SHRIEK 15    /* wakes up others */
 #define MS_BONES 16     /* rattles bones (skeleton) */
 #define MS_LAUGH 17     /* grins, smiles, giggles, and laughs */
 #define MS_MUMBLE 18    /* says something or other */
 #define MS_IMITATE 19   /* imitates others (leocrotta) */
 #define MS_ORC MS_GRUNT /* intelligent brutes */
 #define MS_HUMANOID 20  /* generic traveling companion */
 #define MS_ARREST 21    /* "Stop in the name of the law!" (Kops) */
 #define MS_SOLDIER 22   /* army and watchmen expressions */
 #define MS_GUARD 23     /* "Please drop that gold and follow me." */
 #define MS_DJINNI 24    /* "Thank you for freeing me!" */
 #define MS_NURSE 25     /* "Take off your shirt, please." */
 #define MS_SEDUCE 26    /* "Hello, sailor." (Nymphs) */
 #define MS_VAMPIRE 27   /* vampiric seduction, Vlad's exclamations */
 #define MS_BRIBE 28     /* asks for money, or berates you */
 #define MS_CUSS 29      /* berates (demons) or intimidates (Wiz) */
 #define MS_RIDER 30     /* astral level special monsters */
 #define MS_LEADER 31    /* your class leader */
 #define MS_NEMESIS 32   /* your nemesis */
 #define MS_GUARDIAN 33  /* your leader's guards */
 #define MS_SELL 34      /* demand payment, complain about shoplifters */
 #define MS_ORACLE 35    /* do a consultation */
 #define MS_PRIEST 36    /* ask for contribution; do cleansing */
 #define MS_SPELL 37     /* spellcaster not matching any of the above */
 #define MS_WERE 38      /* lycanthrope in human form */
 #define MS_BOAST 39     /* giants */
 
 #define MR_FIRE 0x01   /* resists fire */
 #define MR_COLD 0x02   /* resists cold */
 #define MR_SLEEP 0x04  /* resists sleep */
 #define MR_DISINT 0x08 /* resists disintegration */
 #define MR_ELEC 0x10   /* resists electricity */
 #define MR_POISON 0x20 /* resists poison */
 #define MR_ACID 0x40   /* resists acid */
 #define MR_STONE 0x80  /* resists petrification */
 /* other resistances: magic, sickness */
 /* other conveyances: teleport, teleport control, telepathy */
 
 /* individual resistances */
 #define MR2_SEE_INVIS 0x0100 /* see invisible */
 #define MR2_LEVITATE 0x0200  /* levitation */
 #define MR2_WATERWALK 0x0400 /* water walking */
 #define MR2_MAGBREATH 0x0800 /* magical breathing */
 #define MR2_DISPLACED 0x1000 /* displaced */
 #define MR2_STRENGTH 0x2000  /* gauntlets of power */
 #define MR2_FUMBLING 0x4000  /* clumsy */
 
 #define M1_FLY 0x00000001L         /* can fly or float */
 #define M1_SWIM 0x00000002L        /* can traverse water */
 #define M1_AMORPHOUS 0x00000004L   /* can flow under doors */
 #define M1_WALLWALK 0x00000008L    /* can phase thru rock */
 #define M1_CLING 0x00000010L       /* can cling to ceiling */
 #define M1_TUNNEL 0x00000020L      /* can tunnel thru rock */
 #define M1_NEEDPICK 0x00000040L    /* needs pick to tunnel */
 #define M1_CONCEAL 0x00000080L     /* hides under objects */
 #define M1_HIDE 0x00000100L        /* mimics, blends in with ceiling */
 #define M1_AMPHIBIOUS 0x00000200L  /* can survive underwater */
 #define M1_BREATHLESS 0x00000400L  /* doesn't need to breathe */
 #define M1_NOTAKE 0x00000800L      /* cannot pick up objects */
 #define M1_NOEYES 0x00001000L      /* no eyes to gaze into or blind */
 #define M1_NOHANDS 0x00002000L     /* no hands to handle things */
 #define M1_NOLIMBS 0x00006000L     /* no arms/legs to kick/wear on */
 #define M1_NOHEAD 0x00008000L      /* no head to behead */
 #define M1_MINDLESS 0x00010000L    /* has no mind--golem, zombie, mold */
 #define M1_HUMANOID 0x00020000L    /* has humanoid head/arms/torso */
 #define M1_ANIMAL 0x00040000L      /* has animal body */
 #define M1_SLITHY 0x00080000L      /* has serpent body */
 #define M1_UNSOLID 0x00100000L     /* has no solid or liquid body */
 #define M1_THICK_HIDE 0x00200000L  /* has thick hide or scales */
 #define M1_OVIPAROUS 0x00400000L   /* can lay eggs */
 #define M1_REGEN 0x00800000L       /* regenerates hit points */
 #define M1_SEE_INVIS 0x01000000L   /* can see invisible creatures */
 #define M1_TPORT 0x02000000L       /* can teleport */
 #define M1_TPORT_CNTRL 0x04000000L /* controls where it teleports to */
 #define M1_ACID 0x08000000L        /* acidic to eat */
 #define M1_POIS 0x10000000L        /* poisonous to eat */
 #define M1_CARNIVORE 0x20000000L   /* eats corpses */
 #define M1_HERBIVORE 0x40000000L   /* eats fruits */
 #define M1_OMNIVORE 0x60000000L    /* eats both */
 #ifdef NHSTDC
 #define M1_METALLIVORE 0x80000000UL /* eats metal */
 #else
 #define M1_METALLIVORE 0x80000000L /* eats metal */
 #endif
 
 #define M2_NOPOLY 0x00000001L       /* players mayn't poly into one */
 #define M2_UNDEAD 0x00000002L       /* is walking dead */
 #define M2_WERE 0x00000004L         /* is a lycanthrope */
 #define M2_HUMAN 0x00000008L        /* is a human */
 #define M2_ELF 0x00000010L          /* is an elf */
 #define M2_DWARF 0x00000020L        /* is a dwarf */
 #define M2_GNOME 0x00000040L        /* is a gnome */
 #define M2_ORC 0x00000080L          /* is an orc */
 #define M2_DEMON 0x00000100L        /* is a demon */
 #define M2_MERC 0x00000200L         /* is a guard or soldier */
 #define M2_LORD 0x00000400L         /* is a lord to its kind */
 #define M2_PRINCE 0x00000800L       /* is an overlord to its kind */
 #define M2_MINION 0x00001000L       /* is a minion of a deity */
 #define M2_GIANT 0x00002000L        /* is a giant */
 #define M2_SHAPESHIFTER 0x00004000L /* is a shapeshifting species */
 #define M2_MALE 0x00010000L         /* always male */
 #define M2_FEMALE 0x00020000L       /* always female */
 #define M2_NEUTER 0x00040000L       /* neither male nor female */
 #define M2_PNAME 0x00080000L        /* monster name is a proper name */
 #define M2_HOSTILE 0x00100000L      /* always starts hostile */
 #define M2_PEACEFUL 0x00200000L     /* always starts peaceful */
 #define M2_DOMESTIC 0x00400000L     /* can be tamed by feeding */
 #define M2_WANDER 0x00800000L       /* wanders randomly */
 #define M2_STALK 0x01000000L        /* follows you to other levels */
 #define M2_NASTY 0x02000000L        /* extra-nasty monster (more xp) */
 #define M2_STRONG 0x04000000L       /* strong (or big) monster */
 #define M2_ROCKTHROW 0x08000000L    /* throws boulders */
 #define M2_GREEDY 0x10000000L       /* likes gold */
 #define M2_JEWELS 0x20000000L       /* likes gems */
 #define M2_COLLECT 0x40000000L      /* picks up weapons and food */
 #ifdef NHSTDC
 #define M2_MAGIC 0x80000000UL /* picks up magic items */
 #else
 #define M2_MAGIC 0x80000000L /* picks up magic items */
 #endif
 
 #define M3_WANTSAMUL 0x0001 /* would like to steal the amulet */
 #define M3_WANTSBELL 0x0002 /* wants the bell */
 #define M3_WANTSBOOK 0x0004 /* wants the book */
 #define M3_WANTSCAND 0x0008 /* wants the candelabrum */
 #define M3_WANTSARTI 0x0010 /* wants the quest artifact */
 #define M3_WANTSALL 0x001f  /* wants any major artifact */
 #define M3_WAITFORU 0x0040  /* waits to see you or get attacked */
 #define M3_CLOSE 0x0080     /* lets you close unless attacked */
 
 #define M3_COVETOUS 0x001f /* wants something */
 #define M3_WAITMASK 0x00c0 /* waiting... */
 
 /* Infravision is currently implemented for players only */
 #define M3_INFRAVISION 0x0100  /* has infravision */
 #define M3_INFRAVISIBLE 0x0200 /* visible by infravision */
 
 #define M3_DISPLACES 0x0400 /* moves monsters out of its way */
 
 #define MZ_TINY 0          /* < 2' */
 #define MZ_SMALL 1         /* 2-4' */
 #define MZ_MEDIUM 2        /* 4-7' */
 #define MZ_HUMAN MZ_MEDIUM /* human-sized */
 #define MZ_LARGE 3         /* 7-12' */
 #define MZ_HUGE 4          /* 12-25' */
 #define MZ_GIGANTIC 7      /* off the scale */
 
 /* Monster races -- must stay within ROLE_RACEMASK */
 /* Eventually this may become its own field */
 #define MH_HUMAN M2_HUMAN
 #define MH_ELF M2_ELF
 #define MH_DWARF M2_DWARF
 #define MH_GNOME M2_GNOME
 #define MH_ORC M2_ORC
 
 /* for mons[].geno (constant during game) */
 #define G_UNIQ 0x1000     /* generated only once */
 #define G_NOHELL 0x0800   /* not generated in "hell" */
 #define G_HELL 0x0400     /* generated only in "hell" */
 #define G_NOGEN 0x0200    /* generated only specially */
 #define G_SGROUP 0x0080   /* appear in small groups normally */
 #define G_LGROUP 0x0040   /* appear in large groups normally */
 #define G_GENO 0x0020     /* can be genocided */
 #define G_NOCORPSE 0x0010 /* no corpse left ever */
 #define G_FREQ 0x0007     /* creation frequency mask */
 
 /* for mvitals[].mvflags (variant during game), along with G_NOCORPSE */
 #define G_KNOWN 0x0004 /* have been encountered */
 #define G_GONE (G_GENOD | G_EXTINCT)
 #define G_GENOD 0x0002 /* have been genocided */
 #define G_EXTINCT                       \
     0x0001 /* have been extinguished as \
               population control */
 #define MV_KNOWS_EGG                        \
     0x0008 /* player recognizes egg of this \
               monster type */
 
 #endif /* MONFLAG_H */