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 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 7. Mai 2004 Gloinson