NAME:
	P_FORCE_MURDER_MSG		"force_murder_msg"

DEFINIERT IN:
	/sys/properties.h

BESCHREIBUNG:
	Ob der Tod eines NPCs auf dem Moerder-Kanal erscheint, haengt davon
	ab, wie oft und welche Art von NPCs in der letzten Zeit getoetet
	wurden. Zum Beispiel ist es eher selten, dass ein schwacher NPC auf
	dem Kanal erscheint, wenn kuerzlich viele starke NPCs getoetet
	wurden. Mittels der Property P_FORCE_MURDER_MSG kann man auf diese
	Regelung Einfluss nehmen.
	Ein Wert groesser Null erzwingt die Meldung auf dem Moerder-Kanal,
	ein Wert kleiner Null unterdrueckt sie generell. Letzteres ist
	insbesondere fuer allzuoft getoetete Monster sinnvoll, um den
	Moerder-Kanal nicht uebermaessig zu belasten. Mit dem Erzwingen der
	Meldungen sollte man somit vorsichtig sein: Weniger ist oftmals
	besser als zu viel!
	Die Defaulteinstellung von P_FORCE_MURDER_MSG ist natuerlich Null
	und fuehrt zur bereits beschriebenen opferabhaengigen Meldung.

BEISPIELE:
	Ein grosser starker NPC, der getoetet wurde, sollte schon eine tolle
	Meldung auf dem Moerder-Kanal erzeugen. In der Property
	P_MURDER_MSG koennen hierzu alternative Texte zu den normal per
	Zufall ausgewaehlten angegeben werden:
	  SetProp(P_MURDER_MSG,
                  "Nicht schlecht, aber das schafft eh nur einer!");
	  SetProp(P_FORCE_MURDER_MSG,1);
	Zwar ist es bei grossen NPCs hinreichend wahrscheinlich, dass es
	infolge derer Staerke zur automatischen Ausgabe einer Moerdermeldung
	kommt, aber mit der letzten Zeile wurde dies absolut sichergestellt.

SIEHE AUCH:
	P_MURDER_MSG, P_ZAP_MSG, P_KILL_MSG, P_DIE_MSG, P_CORPSE, P_NOCORPSE

----------------------------------------------------------------------------
Last modified: Tue Nov 10 02:15:26 1998 by Patryn
