MaterialList()

MaterialList(L)

FUNKTION

varargs string MaterialList(int casus, mixed idinf)

DEFINIERT IN

/std/thing/description.c

ARGUMENTE

int casus   - der Fall, in dem die Materialien dekliniert werden sollen
mixed idinf - Dinge, welche die Faehigkeiten des Erkennens beeinflussen:
              Einzelne Werte:
              * x: allgemeine Erkennung -100 ... 100
              * who: der Spieler - P_MATERIAL_KNOWLEDGE wird abgefragt
              * fun: wird evaluiert
              * what, kann folgendes enthalten:
                - Eintrag fuer Materialien ([MAT_XXX:-100...100])
                - Eintrag fuer Materialiengruppen (dito)
                - ([MATERIAL_SYMMETRIC_RECOGNIZABILITY: mixed mg])
                  * mg ein Array:
                    ({MATGROUP_X1,int z1, MATGROUP_X2, int z2, ...})
                    wobei bei Zugehoerigkeit von string mat zu Gruppe
                    z<n> auf die Faehigkeit addiert, andernfalls davon
                    subtrahiert wird
              Array mit obigen Werten:
              - alle Parameter des Arrays sind optional und additiv
              - ({int x, object who, mapping what, closure fun})

BESCHREIBUNG

Listet die Materialien auf, aus denen ein Objekt besteht.
Dabei haengt die Genauigkeit der Materialerkennung von idinf ab. D.h.
je nach den Faehigkeiten/der angegebenen Faehigkeit wird zB Wolfram
als "Wolfram" oder nur als "Metall" erkannt.

Wenn ein Spieler etwas identifiziert, sollte auch TP uebergeben werden,
bei NPCs koennte das anders aussehen.

RUECKGABEWERT

String mit Liste der Materialien.

BEMERKUNGEN

- es werden nur die Materialien angegeben, nicht die Menge.
- ruft ConvMaterialList() an der MATERIALDB

BEISPIELE

// simpel
write("Der Gegenstand besteht aus"+ob->MaterialList(WEM,TP)+".\n")
// -> "Der Gegenstand besteht aus Gold, Silber und Rubin.\n"

// komplexer
ob->SetProp(P_MATERIAL, ([P_NITROGLYCERINE:90,P_GUNPOWDER:10]));
write("Das enthaelt "+ob->MaterialList(WER,TP)+".\n");
// -> "Das enthaelt Schwarzpulver und Nitroglycerin."

SIEHE AUCH

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