
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
