<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://nethackwiki.com/index.php?action=history&amp;feed=atom&amp;title=Source%3ANetHack_3.4.3%2Finclude%2Fobjclass.h</id>
	<title>Source:NetHack 3.4.3/include/objclass.h - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://nethackwiki.com/index.php?action=history&amp;feed=atom&amp;title=Source%3ANetHack_3.4.3%2Finclude%2Fobjclass.h"/>
	<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Source:NetHack_3.4.3/include/objclass.h&amp;action=history"/>
	<updated>2026-06-04T02:28:34Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.32.5</generator>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Source:NetHack_3.4.3/include/objclass.h&amp;diff=76648&amp;oldid=prev</id>
		<title>Corundum: Added note linking material type #defines to foodwords in eat.c</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Source:NetHack_3.4.3/include/objclass.h&amp;diff=76648&amp;oldid=prev"/>
		<updated>2012-03-12T20:40:22Z</updated>

		<summary type="html">&lt;p&gt;Added note linking material type #defines to foodwords in eat.c&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 20:40, 12 March 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l75&quot; &gt;Line 75:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 75:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#define GEMSTONE        20&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#define GEMSTONE        20&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#define MINERAL         21&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#define MINERAL         21&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Note that the order of #defines here needs to match the &amp;quot;foodwords&amp;quot; array defined in [[eat.c#line1655|eat.c#line1655]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#define is_organic(otmp)        (objects[otmp-&amp;gt;otyp].oc_material &amp;lt;= WOOD)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#define is_organic(otmp)        (objects[otmp-&amp;gt;otyp].oc_material &amp;lt;= WOOD)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Corundum</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Source:NetHack_3.4.3/include/objclass.h&amp;diff=64545&amp;oldid=prev</id>
		<title>Paxedbot: moved Source:Objclass.h to Source:NetHack 3.4.3/include/objclass.h: Moving src to subdirs</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Source:NetHack_3.4.3/include/objclass.h&amp;diff=64545&amp;oldid=prev"/>
		<updated>2011-01-31T19:19:02Z</updated>

		<summary type="html">&lt;p&gt;moved &lt;a href=&quot;/wiki/Source:Objclass.h&quot; class=&quot;mw-redirect&quot; title=&quot;Source:Objclass.h&quot;&gt;Source:Objclass.h&lt;/a&gt; to &lt;a href=&quot;/wiki/Source:NetHack_3.4.3/include/objclass.h&quot; title=&quot;Source:NetHack 3.4.3/include/objclass.h&quot;&gt;Source:NetHack 3.4.3/include/objclass.h&lt;/a&gt;: Moving src to subdirs&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 19:19, 31 January 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Paxedbot</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Source:NetHack_3.4.3/include/objclass.h&amp;diff=60316&amp;oldid=prev</id>
		<title>Paxedbot: Adding __MIXEDSYNTAXHIGHLIGHT__</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Source:NetHack_3.4.3/include/objclass.h&amp;diff=60316&amp;oldid=prev"/>
		<updated>2010-11-28T13:44:22Z</updated>

		<summary type="html">&lt;p&gt;Adding __MIXEDSYNTAXHIGHLIGHT__&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 13:44, 28 November 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;__MIXEDSYNTAXHIGHLIGHT__&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The '''objclass.h''' file contains C-language declarations for [[object]]s. It is a header file and part of the [[source code]] for NetHack 3.4.3.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The '''objclass.h''' file contains C-language declarations for [[object]]s. It is a header file and part of the [[source code]] for NetHack 3.4.3.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Paxedbot</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Source:NetHack_3.4.3/include/objclass.h&amp;diff=29576&amp;oldid=prev</id>
		<title>Kernigh bot: Objclass.h moved to Source:Objclass.h: Robot: moved page</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Source:NetHack_3.4.3/include/objclass.h&amp;diff=29576&amp;oldid=prev"/>
		<updated>2008-03-04T14:39:26Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/wiki/Objclass.h&quot; class=&quot;mw-redirect&quot; title=&quot;Objclass.h&quot;&gt;Objclass.h&lt;/a&gt; moved to &lt;a href=&quot;/wiki/Source:Objclass.h&quot; class=&quot;mw-redirect&quot; title=&quot;Source:Objclass.h&quot;&gt;Source:Objclass.h&lt;/a&gt;: Robot: moved page&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 14:39, 4 March 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Kernigh bot</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Source:NetHack_3.4.3/include/objclass.h&amp;diff=2622&amp;oldid=prev</id>
		<title>ZeroOne: Category:Source code</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Source:NetHack_3.4.3/include/objclass.h&amp;diff=2622&amp;oldid=prev"/>
		<updated>2006-05-01T19:55:42Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/wiki/Category:Source_code&quot; title=&quot;Category:Source code&quot;&gt;Category:Source code&lt;/a&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 19:55, 1 May 2006&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l208&quot; &gt;Line 208:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 208:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#define OBJ_DESCR(obj) (obj_descr[(obj).oc_descr_idx].oc_descr)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#define OBJ_DESCR(obj) (obj_descr[(obj).oc_descr_idx].oc_descr)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Source code]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>ZeroOne</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Source:NetHack_3.4.3/include/objclass.h&amp;diff=2594&amp;oldid=prev</id>
		<title>62.240.71.4: first import</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Source:NetHack_3.4.3/include/objclass.h&amp;diff=2594&amp;oldid=prev"/>
		<updated>2006-05-01T09:47:56Z</updated>

		<summary type="html">&lt;p&gt;first import&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The '''objclass.h''' file contains C-language declarations for [[object]]s. It is a header file and part of the [[source code]] for NetHack 3.4.3.&lt;br /&gt;
&lt;br /&gt;
=== Top of file ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*      SCCS Id: @(#)objclass.h 3.4     1996/06/16      */&lt;br /&gt;
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */&lt;br /&gt;
/* NetHack may be freely redistributed.  See license for details. */&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{NGPL}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef OBJCLASS_H&lt;br /&gt;
#define OBJCLASS_H&lt;br /&gt;
&lt;br /&gt;
/* definition of a class of objects */&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== struct objclass ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
struct objclass {&lt;br /&gt;
        short   oc_name_idx;            /* index of actual name */&lt;br /&gt;
        short   oc_descr_idx;           /* description when name unknown */&lt;br /&gt;
        char *  oc_uname;               /* called by user */&lt;br /&gt;
        Bitfield(oc_name_known,1);&lt;br /&gt;
        Bitfield(oc_merge,1);   /* merge otherwise equal objects */&lt;br /&gt;
        Bitfield(oc_uses_known,1); /* obj-&amp;gt;known affects full decription */&lt;br /&gt;
                                /* otherwise, obj-&amp;gt;dknown and obj-&amp;gt;bknown */&lt;br /&gt;
                                /* tell all, and obj-&amp;gt;known should always */&lt;br /&gt;
                                /* be set for proper merging behavior */&lt;br /&gt;
        Bitfield(oc_pre_discovered,1);  /* Already known at start of game; */&lt;br /&gt;
                                        /* won't be listed as a discovery. */&lt;br /&gt;
        Bitfield(oc_magic,1);   /* inherently magical object */&lt;br /&gt;
        Bitfield(oc_charged,1); /* may have +n or (n) charges */&lt;br /&gt;
        Bitfield(oc_unique,1);  /* special one-of-a-kind object */&lt;br /&gt;
        Bitfield(oc_nowish,1);  /* cannot wish for this object */&lt;br /&gt;
&lt;br /&gt;
        Bitfield(oc_big,1);&lt;br /&gt;
#define oc_bimanual     oc_big  /* for weapons &amp;amp; tools used as weapons */&lt;br /&gt;
#define oc_bulky        oc_big  /* for armor */&lt;br /&gt;
        Bitfield(oc_tough,1);   /* hard gems/rings */&lt;br /&gt;
&lt;br /&gt;
        Bitfield(oc_dir,2);&lt;br /&gt;
#define NODIR           1       /* for wands/spells: non-directional */&lt;br /&gt;
#define IMMEDIATE       2       /*                   directional */&lt;br /&gt;
#define RAY             3       /*                   zap beams */&lt;br /&gt;
&lt;br /&gt;
#define PIERCE          1       /* for weapons &amp;amp; tools used as weapons */&lt;br /&gt;
#define SLASH           2       /* (latter includes iron ball &amp;amp; chain) */&lt;br /&gt;
#define WHACK           0&lt;br /&gt;
&lt;br /&gt;
        /*Bitfield(oc_subtyp,3);*/      /* Now too big for a bitfield... see below */&lt;br /&gt;
&lt;br /&gt;
        Bitfield(oc_material,5);&lt;br /&gt;
#define LIQUID          1       /* currently only for venom */&lt;br /&gt;
#define WAX             2&lt;br /&gt;
#define VEGGY           3       /* foodstuffs */&lt;br /&gt;
#define FLESH           4       /*   ditto    */&lt;br /&gt;
#define PAPER           5&lt;br /&gt;
#define CLOTH           6&lt;br /&gt;
#define LEATHER         7&lt;br /&gt;
#define WOOD            8&lt;br /&gt;
#define BONE            9&lt;br /&gt;
#define DRAGON_HIDE     10      /* not leather! */&lt;br /&gt;
#define IRON            11      /* Fe - includes steel */&lt;br /&gt;
#define METAL           12      /* Sn, &amp;amp;c. */&lt;br /&gt;
#define COPPER          13      /* Cu - includes brass */&lt;br /&gt;
#define SILVER          14      /* Ag */&lt;br /&gt;
#define GOLD            15      /* Au */&lt;br /&gt;
#define PLATINUM        16      /* Pt */&lt;br /&gt;
#define MITHRIL         17&lt;br /&gt;
#define PLASTIC         18&lt;br /&gt;
#define GLASS           19&lt;br /&gt;
#define GEMSTONE        20&lt;br /&gt;
#define MINERAL         21&lt;br /&gt;
&lt;br /&gt;
#define is_organic(otmp)        (objects[otmp-&amp;gt;otyp].oc_material &amp;lt;= WOOD)&lt;br /&gt;
#define is_metallic(otmp)       (objects[otmp-&amp;gt;otyp].oc_material &amp;gt;= IRON &amp;amp;&amp;amp; \&lt;br /&gt;
                                 objects[otmp-&amp;gt;otyp].oc_material &amp;lt;= MITHRIL)&lt;br /&gt;
&lt;br /&gt;
/* primary damage: fire/rust/--- */&lt;br /&gt;
/* is_flammable(otmp), is_rottable(otmp) in mkobj.c */&lt;br /&gt;
#define is_rustprone(otmp)      (objects[otmp-&amp;gt;otyp].oc_material == IRON)&lt;br /&gt;
&lt;br /&gt;
/* secondary damage: rot/acid/acid */&lt;br /&gt;
#define is_corrodeable(otmp)    (objects[otmp-&amp;gt;otyp].oc_material == COPPER || objects[otmp-&amp;gt;otyp].oc_material == IRON)&lt;br /&gt;
&lt;br /&gt;
#define is_damageable(otmp) (is_rustprone(otmp) || is_flammable(otmp) || \&lt;br /&gt;
                                is_rottable(otmp) || is_corrodeable(otmp))&lt;br /&gt;
&lt;br /&gt;
        schar   oc_subtyp;&lt;br /&gt;
#define oc_skill        oc_subtyp   /* Skills of weapons, spellbooks, tools, gems */&lt;br /&gt;
#define oc_armcat       oc_subtyp   /* for armor */&lt;br /&gt;
#define ARM_SHIELD      1       /* needed for special wear function */&lt;br /&gt;
#define ARM_HELM        2&lt;br /&gt;
#define ARM_GLOVES      3&lt;br /&gt;
#define ARM_BOOTS       4&lt;br /&gt;
#define ARM_CLOAK       5&lt;br /&gt;
#define ARM_SHIRT       6&lt;br /&gt;
#define ARM_SUIT        0&lt;br /&gt;
&lt;br /&gt;
        uchar   oc_oprop;               /* property (invis, &amp;amp;c.) conveyed */&lt;br /&gt;
        char    oc_class;               /* object class */&lt;br /&gt;
        schar   oc_delay;               /* delay when using such an object */&lt;br /&gt;
        uchar   oc_color;               /* color of the object */&lt;br /&gt;
&lt;br /&gt;
        short   oc_prob;                /* probability, used in mkobj() */&lt;br /&gt;
        unsigned short  oc_weight;      /* encumbrance (1 cn = 0.1 lb.) */&lt;br /&gt;
        short   oc_cost;                /* base cost in shops */&lt;br /&gt;
/* Check the AD&amp;amp;D rules!  The FIRST is small monster damage. */&lt;br /&gt;
/* for weapons, and tools, rocks, and gems useful as weapons */&lt;br /&gt;
        schar   oc_wsdam, oc_wldam;     /* max small/large monster damage */&lt;br /&gt;
        schar   oc_oc1, oc_oc2;&lt;br /&gt;
#define oc_hitbon       oc_oc1          /* weapons: &amp;quot;to hit&amp;quot; bonus */&lt;br /&gt;
&lt;br /&gt;
#define a_ac            oc_oc1  /* armor class, used in ARM_BONUS in do.c */&lt;br /&gt;
#define a_can           oc_oc2          /* armor: used in mhitu.c */&lt;br /&gt;
#define oc_level        oc_oc2          /* books: spell level */&lt;br /&gt;
&lt;br /&gt;
        unsigned short  oc_nutrition;   /* food value */&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== object descriptions ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
struct objdescr {&lt;br /&gt;
        const char *oc_name;            /* actual name */&lt;br /&gt;
        const char *oc_descr;           /* description when name unknown */&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
extern NEARDATA struct objclass objects[];&lt;br /&gt;
extern NEARDATA struct objdescr obj_descr[];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== object classes ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * All objects have a class. Make sure that all classes have a corresponding&lt;br /&gt;
 * symbol below.&lt;br /&gt;
 */&lt;br /&gt;
#define RANDOM_CLASS     0      /* used for generating random objects */&lt;br /&gt;
#define ILLOBJ_CLASS     1&lt;br /&gt;
#define WEAPON_CLASS     2&lt;br /&gt;
#define ARMOR_CLASS      3&lt;br /&gt;
#define RING_CLASS       4&lt;br /&gt;
#define AMULET_CLASS     5&lt;br /&gt;
#define TOOL_CLASS       6&lt;br /&gt;
#define FOOD_CLASS       7&lt;br /&gt;
#define POTION_CLASS     8&lt;br /&gt;
#define SCROLL_CLASS     9&lt;br /&gt;
#define SPBOOK_CLASS    10      /* actually SPELL-book */&lt;br /&gt;
#define WAND_CLASS      11&lt;br /&gt;
#define COIN_CLASS      12&lt;br /&gt;
#define GEM_CLASS       13&lt;br /&gt;
#define ROCK_CLASS      14&lt;br /&gt;
#define BALL_CLASS      15&lt;br /&gt;
#define CHAIN_CLASS     16&lt;br /&gt;
#define VENOM_CLASS     17&lt;br /&gt;
#define MAXOCLASSES     18&lt;br /&gt;
&lt;br /&gt;
#define ALLOW_COUNT     (MAXOCLASSES+1) /* Can be used in the object class */&lt;br /&gt;
#define ALL_CLASSES     (MAXOCLASSES+2) /* input to getobj().              */&lt;br /&gt;
#define ALLOW_NONE      (MAXOCLASSES+3) /*                                 */&lt;br /&gt;
&lt;br /&gt;
#define BURNING_OIL     (MAXOCLASSES+1) /* Can be used as input to explode. */&lt;br /&gt;
#define MON_EXPLODE     (MAXOCLASSES+2) /* Exploding monster (e.g. gas spore) */&lt;br /&gt;
&lt;br /&gt;
#if 0   /* moved to decl.h so that makedefs.c won't see them */&lt;br /&gt;
extern const char def_oc_syms[MAXOCLASSES];     /* default class symbols */&lt;br /&gt;
extern uchar oc_syms[MAXOCLASSES];              /* current class symbols */&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
/* Default definitions of all object-symbols (must match classes above). */&lt;br /&gt;
&lt;br /&gt;
#define ILLOBJ_SYM      ']'     /* also used for mimics */&lt;br /&gt;
#define WEAPON_SYM      ')'&lt;br /&gt;
#define ARMOR_SYM       '['&lt;br /&gt;
#define RING_SYM        '='&lt;br /&gt;
#define AMULET_SYM      '&amp;quot;'&lt;br /&gt;
#define TOOL_SYM        '('&lt;br /&gt;
#define FOOD_SYM        '%'&lt;br /&gt;
#define POTION_SYM      '!'&lt;br /&gt;
#define SCROLL_SYM      '?'&lt;br /&gt;
#define SPBOOK_SYM      '+'&lt;br /&gt;
#define WAND_SYM        '/'&lt;br /&gt;
#define GOLD_SYM        '$'&lt;br /&gt;
#define GEM_SYM         '*'&lt;br /&gt;
#define ROCK_SYM        '`'&lt;br /&gt;
#define BALL_SYM        '0'&lt;br /&gt;
#define CHAIN_SYM       '_'&lt;br /&gt;
#define VENOM_SYM       '.'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== user-defineable fruit data ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
struct fruit {&lt;br /&gt;
        char fname[PL_FSIZ];&lt;br /&gt;
        int fid;&lt;br /&gt;
        struct fruit *nextf;&lt;br /&gt;
};&lt;br /&gt;
#define newfruit() (struct fruit *)alloc(sizeof(struct fruit))&lt;br /&gt;
#define dealloc_fruit(rind) free((genericptr_t) (rind))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== object name and description macros ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define OBJ_NAME(obj)  (obj_descr[(obj).oc_name_idx].oc_name)&lt;br /&gt;
#define OBJ_DESCR(obj) (obj_descr[(obj).oc_descr_idx].oc_descr)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>62.240.71.4</name></author>
		
	</entry>
</feed>