typedef class Auction_Data auction_data; class Auction_Data : public Thing_Data { public: pfile_data* seller; pfile_data* buyer; int bid; int proxy; int time; int slot; bool deleted; Auction_Data( ) { record_new( sizeof( auction_data ), MEM_AUCTION ); buyer = NULL; deleted = FALSE; time = 50; slot = 1; proxy = 0; } ~Auction_Data( ) { record_delete( sizeof( auction_data ), MEM_AUCTION ); } int Type ( ) { return AUCTION_DATA; } int minimum_bid( ) { if( buyer == NULL && !deleted ) return bid; return max( 21*bid/20, bid+5 ); } friend void add_time( auction_data* auction ) { if( auction->time < 30 ) auction->time = max( 5, auction->time+2 ); return; } }; extern auction_array auction_list; int free_balance ( player_data*, auction_data* = NULL ); void clear_auction ( pfile_data* ); void auction_message ( char_data* ); void auction_update ( void );