1 #ifndef _ARMS_DEALER_INV_INIT__H_
2 #define	_ARMS_DEALER_INV_INIT__H_
3 
4 #include "Arms_Dealer.h"
5 
6 
7 #define LAST_DEALER_ITEM		-1
8 #define NO_DEALER_ITEM			0
9 
10 // item suitability categories for dealer inventory initialization, virtual customer sales, and re-ordering
11 #define ITEM_SUITABILITY_NONE		0
12 #define ITEM_SUITABILITY_LOW		1
13 #define ITEM_SUITABILITY_MEDIUM	2
14 #define ITEM_SUITABILITY_HIGH		3
15 #define ITEM_SUITABILITY_ALWAYS	4
16 
17 #define DEALER_BUYING			0
18 #define DEALER_SELLING			1
19 
20 
21 INT8 GetDealersMaxItemAmount(ArmsDealerID, UINT16 usItemIndex);
22 
23 UINT8   ChanceOfItemTransaction(ArmsDealerID, UINT16 usItemIndex, BOOLEAN fDealerSelling, BOOLEAN fUsed);
24 BOOLEAN ItemTransactionOccurs(ArmsDealerID, UINT16 usItemIndex, BOOLEAN fDealerSelling, BOOLEAN fUsed);
25 UINT8 DetermineInitialInvItems(ArmsDealerID, UINT16 usItemIndex, UINT8 ubChances, BOOLEAN fUsed);
26 UINT8 HowManyItemsAreSold(ArmsDealerID, UINT16 usItemIndex, UINT8 ubNumInStock, BOOLEAN fUsed);
27 UINT8 HowManyItemsToReorder(UINT8 ubWanted, UINT8 ubStillHave);
28 
29 int BobbyRayItemQsortCompare(const void *pArg1, const void *pArg2);
30 int ArmsDealerItemQsortCompare(const void *pArg1, const void *pArg2);
31 int CompareItemsForSorting( UINT16 usItem1Index, UINT16 usItem2Index, UINT8 ubItem1Quality, UINT8 ubItem2Quality );
32 BOOLEAN CanDealerItemBeSoldUsed( UINT16 usItemIndex );
33 
34 #endif
35