In /i/item/material.c gibt es die Moeglichkeit, einem Objekt eine bestimmte Materialart (oder auch mehrere) zuzuweisen. Folgende Routinen wurde installiert: void set_material(string *str) Im String-Array str werden alle Materialien eines Objektes uebergeben. Beispiel: set_material( ({"holz"}) ) oder set_material( ({"glas","wasser"}) ) =>Getraenk! voiad add_material(string *str) Der String-Array str wird dem bereits vorhandenen Material-Array hinzugefuegt. Beispiel: add_material( ({"metall"}) ) gibt dem Objekt zusaetzlich die Eigenschaften von Metall. void delete_material(string *str) Die Elemente des String-Arrays str werden aus dem Material-Array entfernt. Beispiel: delete_material( ({"wasser"}) ) angewandt auf das obige Getraenk, ergibt dies jetzt ein leeres Getraenk. int material(string str) Liefert TRUE (=1) zurueck, wenn der Materialstring str im Material- Array des Objektes gesetzt ist. Ansonsten kommt natuerlich FALSE (=0) zurueck. Beispiel: Beim obigen Getraenke-Beispiel liefert material("glas") TRUE, waehrend material("holz") FALSE zurueckgibt (wer haette das gedacht!) string *query_material() Liefert das gesamte Material-Array zurueck. Wozu das Ganze? Nun, jedes Material hat die fuer sich typischen physikalischen und chemischen Eigenschaften. Holz schwimmt in Wasser und kann brennen, Metall wird von Magneten angezogen und leitet Strom, Glas durchsichtig und leicht zerbrechlich, Stein ist im allgemeinen hart, waehrend Textilien weich und elastisch sind usw. usw.... Die Moeglichkeiten, hier kleine Raetsel daraus zu bauen oder auch nur um neue Funktionen zu realisieren (Magier und Metall - Igitt!, Schmied repariert nur Metall-Gegenstaende...) sind enorm. Eine Liste aller Materialien findet Ihr in /doc/richtlinien/materialien.