P_MATERIAL_KNOWLEDGE
********************


NAME
====

   P_MATERIAL_KNOWLEDGE                               "material_knowledge"


DEFINIERT IN
============

   <thing/material.h>


BESCHREIBUNG
============

   Mapping, Closure oder Integer mit Regeln zur Materialienerkennung. Die
   Regeln sind in "man materialerkennung" zu lesen.

   Diese werden bei Angabe eines Spielerobjektes in MaterialList() oder
   MaterialName() an diesem abgefragt und hat Einfluss darauf, ob ein
   Material genau, generell oder gar nicht erkannt wird.

   In den einzelnen Rassenshells sind Defaultwerte dafuer angegeben.


BEISPIELE
=========

   // Erkennungsbonus auf diverse Materialgruppen und
   // Erkennungsbonus/-malus auf biologische/nichtbiologische Materialien
   SetProp(P_MATERIAL_KNOWLEDGE,
      ([MATGROUP_WOOD:20,
        MATGROUP_METAL:20,
        MATGROUP_ELEMENTAL:20,
        MATGROUP_CLOTH:20,
        MATERIAL_SYMMETRIC_RECOGNIZABILITY: ({MATGROUP_BIO,5})]));


SIEHE AUCH
==========

   Konzepte:    material, materialerkennung
   Grundlegend: P_MATERIAL, /sys/thing/material.h
   Methoden:    QueryMaterial(), QueryMaterialGroup(), MaterialList(),
   Listen:      AllMaterials(), AllGroups(), Dump()
                materialliste, materialgruppen
   Master:      AddMaterial(), ConvMaterialList(), MaterialGroup(),
                GroupName(), MaterialName(),
                GetGroupMembers(), GetMatMembership()

7. Mai 2004 Gloinson
