blob: 228f7a8b9b4066b2f060913914f7699c0a24000e [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
2MaterialList()
3**************
4
5
MG Mud User88f12472016-06-24 23:31:02 +02006MaterialList(L)
Zesstra953f9972017-02-18 15:37:36 +01007===============
MG Mud User88f12472016-06-24 23:31:02 +02008
MG Mud User88f12472016-06-24 23:31:02 +02009
Zesstra953f9972017-02-18 15:37:36 +010010FUNKTION
11========
MG Mud User88f12472016-06-24 23:31:02 +020012
Zesstra953f9972017-02-18 15:37:36 +010013 varargs string MaterialList(int casus, mixed idinf)
MG Mud User88f12472016-06-24 23:31:02 +020014
MG Mud User88f12472016-06-24 23:31:02 +020015
Zesstra953f9972017-02-18 15:37:36 +010016DEFINIERT IN
17============
MG Mud User88f12472016-06-24 23:31:02 +020018
Zesstra953f9972017-02-18 15:37:36 +010019 /std/thing/description.c
MG Mud User88f12472016-06-24 23:31:02 +020020
MG Mud User88f12472016-06-24 23:31:02 +020021
Zesstra953f9972017-02-18 15:37:36 +010022ARGUMENTE
23=========
MG Mud User88f12472016-06-24 23:31:02 +020024
Zesstra953f9972017-02-18 15:37:36 +010025 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})
MG Mud User88f12472016-06-24 23:31:02 +020043
Zesstra953f9972017-02-18 15:37:36 +010044
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