[BUG] Auto-Auction

From: Brian Guilbault (guil9964@nova.gmi.edu)
Date: 01/20/97

Hi Guys-

I am using a slightly modified version of the auto-auction code that is
on the ftp site by George Greer. Leave it up to my players to find
a bug in it. I was using the current system of letting a bidder's money
go negative if they somehow lose the money that they bid before they
actually get the item.

Here is what a couple of my crafty players were doing to exploit that:
They create a level 1 character who is useless, and give him a
very large number of coins. They wait until there are not too many
players on, then auction some useless item for a very high minimum
bid. They then bid on the item with their level 1 character, and give all
of thier money back to the other character. The useless character's
gold goes negative, but it doesn't matter, because the real character
just doubled the amount of money that the level 1 just bid. I know that
isn't extremely clear, but I hope you got it :-)

To fix it, just take the money away from the bidder at the
time. If someone outbids them, give it back. Here's the actual code:


* Find the section titled "Swap gold" in the code and comment out or
remove the the following lines:

      GET_GOLD(auction.bidder) -= auction.bid;
      act("A small daemon pops in and takes some gold.", FALSE,
          auction.bidder, auction.obj, 0, TO_CHAR);

* Find the following lines:

     auction.bid = bid;
     auction.bidder = ch;

  Right before them add this:

     /* Give the previous bidder their money back. */
    if (auction.bidder)
      act("A small daemon pops in and gives you some gold.", FALSE,
          auction.bidder, auction.obj, 0, TO_CHAR);
      GET_GOLD(auction.bidder) += auction.bid;
* Find these lines:

    if (auction.bid != 1) strcat(buf2, "s."); else strcat(buf2, ".");

  Right after them, add this:

    GET_GOLD(auction.bidder) -= auction.bid;


Hope that can be of some help to some of you,

| Ensure that you have read the CircleMUD Mailing List FAQ: |
|   http://cspo.queensu.ca/~fletcher/Circle/list_faq.html   |

This archive was generated by hypermail 2b30 : 12/18/00 PST