MULTIOBJEKTE:

	a. Was sind Multiobjekte?

	Multiobjekte sind Multiwaffen oder Multiruestungen.

	b. Multiwaffen

	Multiwaffen sind Waffen, die mehrere Funktionen haben koennen. Das 
	klassische Beispiel sind Waffen, die mehrere Schadensarten verursachen
	koennen, und diese z.B. auf Kommando wechseln koennen. Oder auch die
	Waffengattung.

	Ebenfalls als Multiwaffen werden Waffen behandelt, bei denen im 
	geringen Umkreis um eine Fundstelle viele aehnliche Waffen auffindbar
	sind, die sich z.B. nur in der Gattung unterscheiden (ein 
	Quetschschwert, eine Quetschkeule, ein Quetschstab, ein Quetschspeer..
	oder : Ein Feuerschwert, ein Eisschwert, ein Saeureschwert, ein
	Blitzschwert, ein Wasserschwert...)

	c. Multiruestungen

	Multiruestungen sind analog Ruestugnen, die gegen bestimmte Schaeden
	schuetzen und entweder selbst in Schadensart wandelbar sind, oder wo
	es viele gleichartige in einem geringen Umkreis gibt. (Blitzhelm,
	Blitzhose, Blitzpanzer, Blitzring... oder Feuerring, Wasserring,
	Blitzring, Eisring...). Analoges gilt fuer die Schadensart der
	Ruestung fuer die Kaempfergilde.

	d. Regel

	Multiobjekte duerfen in einem geringen Umkreis nur in maximal 4 
	Varianten vorkommen oder von/fuer Spieler herstellbar sein.

	Diese Regelung ist schwammig, aber sie soll verhindern, dass es ein
	universelles Ausruestungsgebiet gibt.

	Was ein geringer Umkreis ist, ob Waffen oder Ruestungen als
	Multiobjekte gelten, ob die Tatbestaende also fuer den konkreten
	Programmierungssachverhalt gelten, entscheidet die Balance nach
	Auslegung und evtl. Regelfortbildung dem Sinn bzw. der Historie
	dieser Regel nach.

	Als Ansprechpartner fuer diese Regel steht die Balance zur
	Verfuegung.

Letzte Aenderung: Humni, 2011-01-15
