blob: 74e5170d7fad61b2b5b6f08c9db047ee387710d7 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001MaterialList()
2**************
3
4
MG Mud User88f12472016-06-24 23:31:02 +02005MaterialList(L)
Zesstra953f9972017-02-18 15:37:36 +01006===============
MG Mud User88f12472016-06-24 23:31:02 +02007
MG Mud User88f12472016-06-24 23:31:02 +02008
Zesstra953f9972017-02-18 15:37:36 +01009FUNKTION
10========
MG Mud User88f12472016-06-24 23:31:02 +020011
Zesstra953f9972017-02-18 15:37:36 +010012 varargs string MaterialList(int casus, mixed idinf)
MG Mud User88f12472016-06-24 23:31:02 +020013
MG Mud User88f12472016-06-24 23:31:02 +020014
Zesstra953f9972017-02-18 15:37:36 +010015DEFINIERT IN
16============
MG Mud User88f12472016-06-24 23:31:02 +020017
Zesstra953f9972017-02-18 15:37:36 +010018 /std/thing/description.c
MG Mud User88f12472016-06-24 23:31:02 +020019
MG Mud User88f12472016-06-24 23:31:02 +020020
Zesstra953f9972017-02-18 15:37:36 +010021ARGUMENTE
22=========
MG Mud User88f12472016-06-24 23:31:02 +020023
Zesstra953f9972017-02-18 15:37:36 +010024 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})
MG Mud User88f12472016-06-24 23:31:02 +020042
Zesstra953f9972017-02-18 15:37:36 +010043
44BESCHREIBUNG
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
55
56RUECKGABEWERT
57=============
58
59 String mit Liste der Materialien.
60
61
62BEMERKUNGEN
63===========
64
65 - es werden nur die Materialien angegeben, nicht die Menge.
66 - ruft ConvMaterialList() an der MATERIALDB
67
68
69BEISPIELE
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
81
82SIEHE AUCH
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