Difference between revisions of "Source:NetHack 3.6.0/include/trap.h"
Jump to navigation
Jump to search
(Created page with "__MIXEDSYNTAXHIGHLIGHT__ Below is the full text to '''trap.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. | + | <span id="line1">1. /* NetHack 3.6 trap.h $NHDT-Date: 1432512776 2015/05/25 00:12:56 $ $NHDT-Branch: master $:$NHDT-Revision: 1.12 $ */</span> |
− | <span id="line2">2. | + | <span id="line2">2. /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */</span> |
− | <span id="line3">3. | + | <span id="line3">3. /* NetHack may be freely redistributed. See license for details. */</span> |
− | <span id="line4">4. | + | <span id="line4">4. </span> |
− | <span id="line5">5. | + | <span id="line5">5. /* note for 3.1.0 and later: no longer manipulated by 'makedefs' */</span> |
− | <span id="line6">6. | + | <span id="line6">6. </span> |
− | <span id="line7">7. | + | <span id="line7">7. #ifndef TRAP_H</span> |
− | <span id="line8">8. | + | <span id="line8">8. #define TRAP_H</span> |
− | <span id="line9">9. | + | <span id="line9">9. </span> |
− | <span id="line10">10. | + | <span id="line10">10. union vlaunchinfo {</span> |
− | <span id="line11">11. | + | <span id="line11">11. short v_launch_otyp; /* type of object to be triggered */</span> |
− | <span id="line12">12. | + | <span id="line12">12. coord v_launch2; /* secondary launch point (for boulders) */</span> |
− | <span id="line13">13. | + | <span id="line13">13. uchar v_conjoined; /* conjoined pit locations */</span> |
− | <span id="line14">14. | + | <span id="line14">14. short v_tnote; /* boards: 12 notes */</span> |
− | <span id="line15">15. | + | <span id="line15">15. };</span> |
− | <span id="line16">16. | + | <span id="line16">16. </span> |
− | <span id="line17">17. | + | <span id="line17">17. struct trap {</span> |
− | <span id="line18">18. | + | <span id="line18">18. struct trap *ntrap;</span> |
− | <span id="line19">19. | + | <span id="line19">19. xchar tx, ty;</span> |
− | <span id="line20">20. | + | <span id="line20">20. d_level dst; /* destination for portals */</span> |
− | <span id="line21">21. | + | <span id="line21">21. coord launch;</span> |
− | <span id="line22">22. | + | <span id="line22">22. Bitfield(ttyp, 5);</span> |
− | <span id="line23">23. | + | <span id="line23">23. Bitfield(tseen, 1);</span> |
− | <span id="line24">24. | + | <span id="line24">24. Bitfield(once, 1);</span> |
− | <span id="line25">25. | + | <span id="line25">25. Bitfield(madeby_u, 1); /* So monsters may take offence when you trap</span> |
− | <span id="line26">26. | + | <span id="line26">26. them. Recognizing who made the trap isn't</span> |
− | <span id="line27">27. | + | <span id="line27">27. completely unreasonable, everybody has</span> |
− | <span id="line28">28. | + | <span id="line28">28. their own style. This flag is also needed</span> |
− | <span id="line29">29. | + | <span id="line29">29. when you untrap a monster. It would be too</span> |
− | <span id="line30">30. | + | <span id="line30">30. easy to make a monster peaceful if you could</span> |
− | <span id="line31">31. | + | <span id="line31">31. set a trap for it and then untrap it. */</span> |
− | <span id="line32">32. | + | <span id="line32">32. union vlaunchinfo vl;</span> |
− | <span id="line33">33. | + | <span id="line33">33. #define launch_otyp vl.v_launch_otyp</span> |
− | <span id="line34">34. | + | <span id="line34">34. #define launch2 vl.v_launch2</span> |
− | <span id="line35">35. | + | <span id="line35">35. #define conjoined vl.v_conjoined</span> |
− | <span id="line36">36. | + | <span id="line36">36. #define tnote vl.v_tnote</span> |
− | <span id="line37">37. | + | <span id="line37">37. };</span> |
− | <span id="line38">38. | + | <span id="line38">38. </span> |
− | <span id="line39">39. | + | <span id="line39">39. extern struct trap *ftrap;</span> |
− | <span id="line40">40. | + | <span id="line40">40. #define newtrap() (struct trap *) alloc(sizeof(struct trap))</span> |
− | <span id="line41">41. | + | <span id="line41">41. #define dealloc_trap(trap) free((genericptr_t)(trap))</span> |
− | <span id="line42">42. | + | <span id="line42">42. </span> |
− | <span id="line43">43. | + | <span id="line43">43. /* reasons for statue animation */</span> |
− | <span id="line44">44. | + | <span id="line44">44. #define ANIMATE_NORMAL 0</span> |
− | <span id="line45">45. | + | <span id="line45">45. #define ANIMATE_SHATTER 1</span> |
− | <span id="line46">46. | + | <span id="line46">46. #define ANIMATE_SPELL 2</span> |
− | <span id="line47">47. | + | <span id="line47">47. </span> |
− | <span id="line48">48. | + | <span id="line48">48. /* reasons for animate_statue's failure */</span> |
− | <span id="line49">49. | + | <span id="line49">49. #define AS_OK 0 /* didn't fail */</span> |
− | <span id="line50">50. | + | <span id="line50">50. #define AS_NO_MON 1 /* makemon failed */</span> |
− | <span id="line51">51. | + | <span id="line51">51. #define AS_MON_IS_UNIQUE 2 /* statue monster is unique */</span> |
− | <span id="line52">52. | + | <span id="line52">52. </span> |
− | <span id="line53">53. | + | <span id="line53">53. /* Note: if adding/removing a trap, adjust trap_engravings[] in mklev.c */</span> |
− | <span id="line54">54. | + | <span id="line54">54. </span> |
− | <span id="line55">55. | + | <span id="line55">55. /* unconditional traps */</span> |
− | <span id="line56">56. | + | <span id="line56">56. #define NO_TRAP 0</span> |
− | <span id="line57">57. | + | <span id="line57">57. #define ARROW_TRAP 1</span> |
− | <span id="line58">58. | + | <span id="line58">58. #define DART_TRAP 2</span> |
− | <span id="line59">59. | + | <span id="line59">59. #define ROCKTRAP 3</span> |
− | <span id="line60">60. | + | <span id="line60">60. #define SQKY_BOARD 4</span> |
− | <span id="line61">61. | + | <span id="line61">61. #define BEAR_TRAP 5</span> |
− | <span id="line62">62. | + | <span id="line62">62. #define LANDMINE 6</span> |
− | <span id="line63">63. | + | <span id="line63">63. #define ROLLING_BOULDER_TRAP 7</span> |
− | <span id="line64">64. | + | <span id="line64">64. #define SLP_GAS_TRAP 8</span> |
− | <span id="line65">65. | + | <span id="line65">65. #define RUST_TRAP 9</span> |
− | <span id="line66">66. | + | <span id="line66">66. #define FIRE_TRAP 10</span> |
− | <span id="line67">67. | + | <span id="line67">67. #define PIT 11</span> |
− | <span id="line68">68. | + | <span id="line68">68. #define SPIKED_PIT 12</span> |
− | <span id="line69">69. | + | <span id="line69">69. #define HOLE 13</span> |
− | <span id="line70">70. | + | <span id="line70">70. #define TRAPDOOR 14</span> |
− | <span id="line71">71. | + | <span id="line71">71. #define TELEP_TRAP 15</span> |
− | <span id="line72">72. | + | <span id="line72">72. #define LEVEL_TELEP 16</span> |
− | <span id="line73">73. | + | <span id="line73">73. #define MAGIC_PORTAL 17</span> |
− | <span id="line74">74. | + | <span id="line74">74. #define WEB 18</span> |
− | <span id="line75">75. | + | <span id="line75">75. #define STATUE_TRAP 19</span> |
− | <span id="line76">76. | + | <span id="line76">76. #define MAGIC_TRAP 20</span> |
− | <span id="line77">77. | + | <span id="line77">77. #define ANTI_MAGIC 21</span> |
− | <span id="line78">78. | + | <span id="line78">78. #define POLY_TRAP 22</span> |
− | <span id="line79">79. | + | <span id="line79">79. #define VIBRATING_SQUARE 23</span> |
− | <span id="line80">80. | + | <span id="line80">80. #define TRAPNUM 24</span> |
− | <span id="line81">81. | + | <span id="line81">81. </span> |
− | <span id="line82">82. | + | <span id="line82">82. #endif /* TRAP_H */</span> |
[[Category:NetHack 3.6.0 source code|include/trap.h]] | [[Category:NetHack 3.6.0 source code|include/trap.h]] |
Latest revision as of 13:44, 15 December 2015
Below is the full text to trap.h from the source code of NetHack 3.6.0. To link to a particular line, write [[Source:NetHack 3.6.0/include/trap.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 trap.h $NHDT-Date: 1432512776 2015/05/25 00:12:56 $ $NHDT-Branch: master $:$NHDT-Revision: 1.12 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
/* note for 3.1.0 and later: no longer manipulated by 'makedefs' */
#ifndef TRAP_H
#define TRAP_H
union vlaunchinfo {
short v_launch_otyp; /* type of object to be triggered */
coord v_launch2; /* secondary launch point (for boulders) */
uchar v_conjoined; /* conjoined pit locations */
short v_tnote; /* boards: 12 notes */
};
struct trap {
struct trap *ntrap;
xchar tx, ty;
d_level dst; /* destination for portals */
coord launch;
Bitfield(ttyp, 5);
Bitfield(tseen, 1);
Bitfield(once, 1);
Bitfield(madeby_u, 1); /* So monsters may take offence when you trap
them. Recognizing who made the trap isn't
completely unreasonable, everybody has
their own style. This flag is also needed
when you untrap a monster. It would be too
easy to make a monster peaceful if you could
set a trap for it and then untrap it. */
union vlaunchinfo vl;
#define launch_otyp vl.v_launch_otyp
#define launch2 vl.v_launch2
#define conjoined vl.v_conjoined
#define tnote vl.v_tnote
};
extern struct trap *ftrap;
#define newtrap() (struct trap *) alloc(sizeof(struct trap))
#define dealloc_trap(trap) free((genericptr_t)(trap))
/* reasons for statue animation */
#define ANIMATE_NORMAL 0
#define ANIMATE_SHATTER 1
#define ANIMATE_SPELL 2
/* reasons for animate_statue's failure */
#define AS_OK 0 /* didn't fail */
#define AS_NO_MON 1 /* makemon failed */
#define AS_MON_IS_UNIQUE 2 /* statue monster is unique */
/* Note: if adding/removing a trap, adjust trap_engravings[] in mklev.c */
/* unconditional traps */
#define NO_TRAP 0
#define ARROW_TRAP 1
#define DART_TRAP 2
#define ROCKTRAP 3
#define SQKY_BOARD 4
#define BEAR_TRAP 5
#define LANDMINE 6
#define ROLLING_BOULDER_TRAP 7
#define SLP_GAS_TRAP 8
#define RUST_TRAP 9
#define FIRE_TRAP 10
#define PIT 11
#define SPIKED_PIT 12
#define HOLE 13
#define TRAPDOOR 14
#define TELEP_TRAP 15
#define LEVEL_TELEP 16
#define MAGIC_PORTAL 17
#define WEB 18
#define STATUE_TRAP 19
#define MAGIC_TRAP 20
#define ANTI_MAGIC 21
#define POLY_TRAP 22
#define VIBRATING_SQUARE 23
#define TRAPNUM 24
#endif /* TRAP_H */