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 );