SmaugWizard/Backup/
SmaugWizard/Backup/L/
SmaugWizard/Boards/
SmaugWizard/Building/
SmaugWizard/Corpses/
SmaugWizard/Councils/
SmaugWizard/Deity/
SmaugWizard/Gods/
SmaugWizard/MudProgs/
SmaugWizard/Player/L/
SmaugWizard/Src/
SmaugWizard/Src/res/
// Auction.h

#ifndef		AUCTION_H
#define		AUCTION_H

class CAuctionData {
public:
				CAuctionData () { memset (this, 0, sizeof (CAuctionData)); }

	void		Update ();
	CObjData	*GetItem () { return m_pItem; }
	void		SetItem (CObjData* i) { m_pItem = i; }
	int			GetBid () { return m_Bid; }
	void		SetBid (int b) { m_Bid = b; }
	CCharacter	*GetSeller () { return m_pSeller; }
	void		SetSeller (CCharacter* ch) { m_pSeller = ch; }
	CCharacter	*GetBuyer () { return m_pBuyer; }
	void		SetBuyer (CCharacter* ch) { m_pBuyer = ch; }
	BOOL		IsBuyer () { return m_pBuyer != NULL; }
	short		GetCount () { return m_Going; }
	void		SetCount (short c) { m_Going = c; }
	short		GetPulse () { return m_Pulse; }
	int			GetStartPrice () { return m_Start; }
	void		SetStartPrice (int p) { m_Start = p; }
	BOOL		IsActive () { return m_pItem != NULL; }
	void		Stop ();
	void		Reset (CCharacter* ch, int b)
				{ m_pBuyer = ch;  m_Bid = b;
				  m_Going = 0; m_Pulse = PULSE_AUCTION; }

private:
    CObjData	*m_pItem;	// a pointer to the item
    CCharacter	*m_pSeller;	// a pointer to the seller - which may NOT quit
    CCharacter	*m_pBuyer;	// a pointer to the buyer - which may NOT quit
    int			m_Bid;		// last bid - or 0 if no one has bet anything
    short		m_Going;	// 1,2, sold
    short		m_Pulse;	// how many pulses (.25 sec) til another call-out ?
    int			m_Start;	// Start asking price
};


extern CAuctionData		*auction;

#ifdef SMAUGSERVER_CPP
	CAuctionData	*auction;
#endif

#endif