blob: 228f7a8b9b4066b2f060913914f7699c0a24000e [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
2MaterialList()
3**************
4
5
6MaterialList(L)
7===============
8
9
10FUNKTION
11========
12
13 varargs string MaterialList(int casus, mixed idinf)
14
15
16DEFINIERT IN
17============
18
19 /std/thing/description.c
20
21
22ARGUMENTE
23=========
24
25 int casus - der Fall, in dem die Materialien dekliniert werden sollen
26 mixed idinf - Dinge, welche die Faehigkeiten des Erkennens beeinflussen:
27 Einzelne Werte:
28 * x: allgemeine Erkennung -100 ... 100
29 * who: der Spieler - P_MATERIAL_KNOWLEDGE wird abgefragt
30 * fun: wird evaluiert
31 * what, kann folgendes enthalten:
32 - Eintrag fuer Materialien ([MAT_XXX:-100...100])
33 - Eintrag fuer Materialiengruppen (dito)
34 - ([MATERIAL_SYMMETRIC_RECOGNIZABILITY: mixed mg])
35 * mg ein Array:
36 ({MATGROUP_X1,int z1, MATGROUP_X2, int z2, ...})
37 wobei bei Zugehoerigkeit von string mat zu Gruppe
38 z<n> auf die Faehigkeit addiert, andernfalls davon
39 subtrahiert wird
40 Array mit obigen Werten:
41 - alle Parameter des Arrays sind optional und additiv
42 - ({int x, object who, mapping what, closure fun})
43
44
45BESCHREIBUNG
46============
47
48 Listet die Materialien auf, aus denen ein Objekt besteht.
49 Dabei haengt die Genauigkeit der Materialerkennung von idinf ab. D.h.
50 je nach den Faehigkeiten/der angegebenen Faehigkeit wird zB Wolfram
51 als "Wolfram" oder nur als "Metall" erkannt.
52
53 Wenn ein Spieler etwas identifiziert, sollte auch TP uebergeben werden,
54 bei NPCs koennte das anders aussehen.
55
56
57RUECKGABEWERT
58=============
59
60 String mit Liste der Materialien.
61
62
63BEMERKUNGEN
64===========
65
66 - es werden nur die Materialien angegeben, nicht die Menge.
67 - ruft ConvMaterialList() an der MATERIALDB
68
69
70BEISPIELE
71=========
72
73 // simpel
74 write("Der Gegenstand besteht aus"+ob->MaterialList(WEM,TP)+".\n")
75 // -> "Der Gegenstand besteht aus Gold, Silber und Rubin.\n"
76
77 // komplexer
78 ob->SetProp(P_MATERIAL, ([P_NITROGLYCERINE:90,P_GUNPOWDER:10]));
79 write("Das enthaelt "+ob->MaterialList(WER,TP)+".\n");
80 // -> "Das enthaelt Schwarzpulver und Nitroglycerin."
81
82
83SIEHE AUCH
84==========
85
86 Konzepte: material, materialerkennung
87 Grundlegend: P_MATERIAL, /sys/thing/material.h
88 Methoden: QueryMaterial(), QueryMaterialGroup()
89 Listen: AllMaterials(), AllGroups(), Dump()
90 materialliste, materialgruppen
91 Master: AddMaterial(), ConvMaterialList(), MaterialGroup(),
92 GroupName(), MaterialName(),
93 GetGroupMembers(), GetMatMembership()
94 Sonstiges: P_MATERIAL_KNOWLEDGE
95
967. Mai 2004 Gloinson