[Package Index | Mudlib Index | Effect Index]
Factors of relevance:
int bargain_factor(object keeper,
                   object customer)
int insult_factor(object keeper,
                  object customer)
int * sell_haggle(int value,
                  int offer,
                  int asking,
                  int insults,
                  string place,
                  object keeper,
                  object customer)
if offer > asking then give back a boggle response else if offer == asking then sell the thing and give an accepted saying else if offer * insult_factor > asking * 100 then adjustment = ( ( asking - offer ) * bargain_factor ) / 100 asking -= adjustment return an adjustment message else return an insulted message endifThe return from this function is an array of three elements, the first is the a flag saying if the item was accepted or not, the second is the current asking price and the last is the current insult level.
({
   flag (0/1), // This is 0 if unable to sell, 1 if sold
   asking,     // the current asking price
   insults,    // the current insult level
})