[an error occurred while processing this directive]
[<a href="index.shtml">Package Index</a></code> | <a href="index_std.shtml">Mudlib Index</a></code> | <a href="index_eff.shtml">Effect Index</a></code>]<br><h2>File /obj/handlers/reaction.c</h2>
 reaction handler - Handles reactions between substances that have
     been mixed together.

 A few notes of what I have planned:

 the substance mapping will have as its keys the substance names
 (as returned by query_medium_alias()).
 The value will be another mapping (one for each substance).  This
 second-level mapping will have as its keys the substances with
 which it reacts.  To save space, the names of the two substances
 will be compared, and the alphanumerically lower one will be the
 index into the top-level mapping.

 The value of the second-level mapping is the tricky part.
 It is currently a class that contains all the relevant information.
 See the definition of the class for more info.

 The following pseudo-objects may be used in the message strings and
 function call strings; process_string is explicitly called in both
 cases:
   #env# - replaced by the filename of the environment
   #env2# - replaced by the filename of the environment of the enviroment
   #obj_a# - The object being added to the container
   #obj_b# - The object with which 'a' is reacting
   #obj_x# - The transient object, or the result object if no transient

 Various debugging messages will be printed if this_player() has a
 property call "debug_rh" with a non-zero value.

 To Do:
   Handle concentrations.

<h2>Includes</h2>
This class includes the following files /include/reaction.h and /include/move_failures.h<h2>Method index</h2>
<ul>
<li><a href="#check_reaction">check_reaction</a>(object)<li><a href="#dest_substance">dest_substance</a>(object)<li><a href="#is_present">is_present</a>(object, object)<li><a href="#merge_cont_medium">merge_cont_medium</a>(object, string)<li><a href="#merge_effects">merge_effects</a>(mapping, mapping, int, int)<li><a href="#move_substance">move_substance</a>(object *)<li><a href="#query_reaction">query_reaction</a>(string, string)<li><a href="#query_reactions">query_reactions</a>()<li><a href="#restore_from_files">restore_from_files</a>()<li><a href="#update_from_files">update_from_files</a>(string)<li><a href="#write_dbg">write_dbg</a>(string, mixed args)</ul>
<h2>Public Functions</h2>
These are functions that everyone can access.<p>
<dl>
<dt class="autodocfuncname"><a name="check_reaction">
check_reaction</a><pre class="autodocfuncdef">
void check_reaction(object a)
</pre>
<dt class="autodocfuncname"><a name="dest_substance">
dest_substance</a><pre class="autodocfuncdef">
void dest_substance(object ob)
</pre>
<dt class="autodocfuncname"><a name="is_present">
is_present</a><pre class="autodocfuncdef">
object is_present(object ob,
                  object env)
</pre>
<dt class="autodocfuncname"><a name="merge_cont_medium">
merge_cont_medium</a><pre class="autodocfuncdef">
object merge_cont_medium(object a,
                         string medium_alias)
</pre>
<dt class="autodocfuncname"><a name="merge_effects">
merge_effects</a><pre class="autodocfuncdef">
mapping merge_effects(mapping effects_a,
                      mapping effects_m,
                      int q_a,
                      int q_m)
</pre>
<dt class="autodocfuncname"><a name="move_substance">
move_substance</a><pre class="autodocfuncdef">
void move_substance(object * ob)
</pre>
<dt class="autodocfuncname"><a name="query_reaction">
query_reaction</a><pre class="autodocfuncdef">
mixed * query_reaction(string name_a,
                       string name_b)
</pre>
<dt class="autodocfuncname"><a name="query_reactions">
query_reactions</a><pre class="autodocfuncdef">
mapping query_reactions()
</pre>
<dt class="autodocfuncname"><a name="restore_from_files">
restore_from_files</a><pre class="autodocfuncdef">
void restore_from_files()
</pre>
<dt class="autodocfuncname"><a name="update_from_files">
update_from_files</a><pre class="autodocfuncdef">
void update_from_files(string fn)
</pre>
<dt class="autodocfuncname"><a name="write_dbg">
write_dbg</a><pre class="autodocfuncdef">
void write_dbg(string str,
               mixed args ...)
</pre>
</dl>
[an error occurred while processing this directive]

