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