Start Info Community Spielen
 
 

Morgengrauner Dokumentation

Dateipfad: /home/mud/mudlib/doc/wiz/materialerkennung

Materialerkennung
=================

     Bei MaterialName(mat,casus,idinf) und MaterialList(casus,idinf) id der 
     Parameter  als Angabe dafuer gedacht, wie gut Materialien 
     erkannt werden sollen. Es sind folgende Arten von Angaben moeglich:

      - Ein Array
	Die einzelnen Arrayelemente werden nach untenstehenden Regeln 
	behandelt und deren Ergebnisse addiert.
      - Ein Objekt
	In diesem Fall wird
	ob->QueryProp(P_MATERIAL_KNOWLEDGE)
	nach untenstehenden Regeln behandelt.
	Diese Property ist fuer rassenabhaengige Faehigkeiten gedacht.
      - Eine Zahl
	In diesem Fall wird der Wert direkt als Faehigkeit angesehen, das 
	Material erkennen zu koennen.
      - Eine Closure
	In diesem Fall wird der Returnwert von
	funcall(closure,material,gruppen_in_denen_diese_material_ist)
	genommen.
      - Ein Mapping
	In einem Mapping sind 3 Arten von Eintraegen moeglich:
	- Ist im Mapping unter  eine Zahl eingetragen, wird diese 
	  genommen und die weiteren Eintraege nicht weiter ausgewertet.
        - Die Werte von allen Gruppen im Mapping, zu denen das Material
          gehoert, werden addiert.
        - Falls das Mapping einen Eintrag MATERIAL_SYMMETRIC_RECOGNIZABILITY 
          hat, der ein Array von der 	  Form
		({gruppe1, wert1, gruppe2, wert2, ...})
	  ist, wird fuer jede dieser Gruppen der zugehoerige Wert 
	  addiert, falls das Material in der Gruppe ist, und sonst 
	  abgezogen.
          Im Beispiel: ({MATGROUP_BIO: 5}) gibt einen Erkennbonus von 5% auf 
          alle biologischen Materialien, aber einen Malus von -5% auf alle 
          nichtbiologischen Materialien.

     Schwer erkennbare Materialien haben in der Materialdatenbank eine 
     zusaetzliche Angabe der Form
	({mat1, wert2, mat3, wert4, mat5, ... wert(n-1), mat(n)})
     wobei mat(n) das Material selber ist.

     Das erkannte Material ist das Material mat(k), bei dem die
	wert(k-1) <= Erkennungsfaehigkeit < wert(k+1)
     ist. Bei Erkennungsfaehigkeit 100 oder mehr wird das Material auf jeden 
     Fall erkannt.

     Der Wert fuer Durchschnittsspieler ist 0.

BEISPIEL:
     Angenommen, bei Platin waere die Angabe in der Datenbank
	({Metall, -20, Silber, 20, Platin})
     Ein Spieler ohne besondere Erkennungsfaehigkeiten (also Wert 0) wuerde 
     also Platin fuer Silber halten, jemand, der von Metallen keine Ahnung 
     hat (beispielsweise mit der Angabe ([MATGROUP_METAL:-25]) in 
     P_MATERIAL_KNOWLEDGE) sieht nur noch, dass es ein Metall ist und jemand 
     mit ueberdurchschnittlicher Faehigkeit erkennt Platin als das, was es 
     ist.

     P_MATERIAL_KNOWLEDGE koennte z.B. fuer Rassen wie folgt gesetzt werden:
	Elf:   ([MATGROUP_WOOD:30])
	Zwerg: ([MATGROUP_STONE:30])
     oder etwas komplexer
	Zwerg: ([MATGROUP_STONE:30,
		 MATERIAL_SYMMETRIC_RECOGNIZABILITY: ({MATGROUP_BIO: -5})])

SIEHE AUCH:
     Konzepte:	  material
     Grundlegend: P_MATERIAL, MatDB, /sys/materials.h
     Methoden:    QueryMaterial(), QueryMaterialGroup(), MaterialList(),
     Listen:      AllMaterials(), AllGroups(), Dump()
                  materialliste, materialgruppen
     Master:	    ConvMaterialList(), MaterialGroup(), GroupName()

MaterialName(), GetGroupMembers(), GetMatMembership() Sonstiges: P_MATERIAL_KNOWLEDGE

7. Mai 2004 Gloinson


zurück zur Übersicht

YOUTUBE | FACEBOOK | TWITTER | DISCORD | FEEDBACK | IMPRESSUM | DATENSCHUTZ 1992–2023 © MorgenGrauen.