SetBuyFact()

FUNKTION:
     void SetBuyFact(int fact);

DEFINIERT IN:
     /std/laden.c

ARGUMENTE:
     fact
          Der Einkaufspreismultiplikator.

BESCHREIBUNG:
     Der Preis, der beim Kauf eines Objekts im Laden zu entrichten ist,
     errechnet sich aus seinem Wert ( P_VALUE), multipliziert mit dem Faktor
     fact. Dieser Preis ist konstant und nicht von der aktuellen Marktlage
     abhaengig.

     Der Defaultwert ist 3. Ein hoeherer Wert entspricht einem teuren Laden,
     waehrend ein kleinerer Wert zu kleinen Preisen fuehrt.

RUeCKGABEWERT:
     keiner

BEMERKUNGEN:
     Normalerweise kommt man ohne diese Funktion aus: in teuren Laeden wird
     nicht viel eingekauft (es sei denn, es liegen standardmaessig gute
     Objekte im Speicher), einem Billigladen wird bald das Geld ausgehen mit
     der Folge, dass der Ladenbesitzer nichts mehr ankaufen kann und sein
     Lager gaehnend leer ist.

SIEHE AUCH:
     QueryBuyFact(), /std/laden.c

----------------------------------------------------------------------------
Last modified: Wed May 8 10:24:52 1996 by Wargon
