// This file is part of UNItopia Mudlib.
// ----------------------------------------------------------------
// File:        /room/bsp/bsp7.c
// Description: Einfuehrungskurs - Raum 7
// Author:      Unbekannt.
// Modified by:

inherit "/i/room";

void reset() {
   if(!present("brustpanzer",this_object()))
   {
//	Wenn kein Objekt mit der ID 'brustpanzer' im Raum...

      object panzer; 
//	Eine Objekt-Variable deklarieren...

      panzer=clone_object("/obj/armour");
//	Das Objekt /obj/armour wird in den Speicher geladen (wenn nicht
//	schon dort vorhanden) und ein neuer Zeiger auf ein Objekt an die
//	Variable panzer uebergeben.

      panzer->set_name("Brustpanzer");
      panzer->set_id(({"panzer","brustpanzer"}));
      panzer->set_gender("maennlich");
      panzer->set_material("metall");
      panzer->set_smell("Er riecht leicht nach Schweiss.\n");
      panzer->set_long(
	 "Ein dicker, schwerer Brustpanzer aus Bronze. Ein "
         "Loewe ziert die Oberflaeche der Vorderseite.");
//	Die letzten 6 Befehle sollten bei allen Objekten benutzt werden,
//	die meisten muessen sogar benutzt werden. Optional ist die Funktion
//	set_material(), dieser wird ein Array uebergeben mit allen 
//	Materialien die bei diesem Objekt dominant sind. Eine Liste aller
//	verwendbaren Materialien findet man in /doc/richtlinien/materialien.
//	Bei Ruestungen ist es wichtig, dass sie aus Metall (oder auch nicht)
//	sind, da der Schmied z.B. NUR Metall-Ruestungen repariert.

      panzer->init_armour_data(3,
			       "oberkoerper",
			       250,
			       "SCRATSCH!! Dein Brust"
				  "panzer hat nur noch Schrottwert!\n");
//	Mit dieser Funktion wird ein Panzer komplett initialisiert. Der erste
//	Parameter ist ein Integerwert der die Staerke des Panzers angibt. Mehr
//	zu diesem Wert gibts in dem Directory /doc/richtlinien/ruestungen.
//	Der naechste Stringwert gibt die Klasse der Ruestung an. Es gibt die
//	Klassen "Kopf", "Oberkoerper", "Haende", "Beine", "Fuesse" und "Magie"
//	ja nachdem WAS denn nun von dieser Ruestung geschuetzt wird.
//	Der dritte Parameter ist wieder ein Integer der die Lebensdauer der
//	Ruestung angibt (bitte auch hierzu die Richtlinien lesen). Der letzte
//	Parameter ist ein String der ausgegeben wird wenn die Ruestung den
//	Weg alles Irdischen geht... 
//	Mit dieser Funktion ist die Ruestung schon komplett initialisiert!
//	Interessant ist vielleicht noch die Funktion set_life() mit der  man
//	die Lebensdauer der Ruestung wieder erhoehen kann.

      panzer->move(this_object());
//	Ruestung noch in den Raum bewegen ...
   }
}

void create() {
   set_short("Beispielraum Nr. 7");

   set_long("Du bist im Beispielraum Nr. 7 des Einfuehrungskurses fuer "
   "Goetter. Mit\ndem Zauberstab-Kommando 'zmore hier' kannst Du den "
   "Quellcode dieses Raumes\nanschauen. In diesem Raum wird das "
   "Erschaffen von Ruestungen behandelt.\nZu diesem Zweck gibt es ein"
   " Beispiel.\n");
//	Dieser set_long Aufruf verwendet zur Abschreckung mal 
//	die alte Methode mit den \n.
//	Also: SO macht man's nicht mehr!

   set_exits( ({"bsp8",
		"bsp6"}), 
	      ({"sueden", "norden"}) );
   add_type("teleport_rein_verboten", 1);
   reset();
//	Die Gegenstaende sollen gleich beim create()-Aufruf initialisiert
//	werden, deshalb hier der (praktisch immer verwendete) reset()-Aufruf.
}

