Devilution
Diablo devolved - magic behind the 1996 computer game
items.h
Go to the documentation of this file.
1 
6 #ifndef __ITEMS_H__
7 #define __ITEMS_H__
8 
9 extern int itemactive[MAXITEMS];
10 extern BOOL uitemflag;
11 extern int itemavail[MAXITEMS];
12 extern ItemStruct curruitem;
14 extern ItemStruct item[MAXITEMS + 1];
15 extern BOOL itemhold[3][3];
16 extern BYTE *itemanims[ITEMTYPES];
17 extern BOOL UniqueItemFlag[128];
18 extern int numitems;
19 extern int gnNumGetRecords;
20 
21 void InitItemGFX();
22 BOOL ItemPlace(int xp, int yp);
23 void AddInitItems();
24 void InitItems();
25 void CalcPlrItemVals(int p, BOOL Loadgfx);
26 void CalcPlrScrolls(int p);
27 void CalcPlrStaff(int p);
28 void CalcSelfItems(int pnum);
29 void CalcPlrItemMin(int pnum);
31 void CalcPlrBookVals(int p);
32 void CalcPlrInv(int p, BOOL Loadgfx);
33 void SetPlrHandItem(ItemStruct *h, int idata);
34 void GetPlrHandSeed(ItemStruct *h);
35 void GetGoldSeed(int pnum, ItemStruct *h);
36 void SetPlrHandSeed(ItemStruct *h, int iseed);
38 void CreatePlrItems(int p);
39 BOOL ItemSpaceOk(int i, int j);
40 BOOL GetItemSpace(int x, int y, char inum);
41 void GetSuperItemSpace(int x, int y, char inum);
42 void GetSuperItemLoc(int x, int y, int *xx, int *yy);
43 void CalcItemValue(int i);
44 void GetBookSpell(int i, int lvl);
45 void GetStaffPower(int i, int lvl, int bs, BOOL onlygood);
46 void GetStaffSpell(int i, int lvl, BOOL onlygood);
47 void GetItemAttrs(int i, int idata, int lvl);
48 int RndPL(int param1, int param2);
49 int PLVal(int pv, int p1, int p2, int minv, int maxv);
50 void SaveItemPower(int i, int power, int param1, int param2, int minval, int maxval, int multval);
51 void GetItemPower(int i, int minlvl, int maxlvl, int flgs, BOOL onlygood);
52 void GetItemBonus(int i, int idata, int minlvl, int maxlvl, BOOL onlygood);
53 void SetupItem(int i);
54 int RndItem(int m);
55 int RndUItem(int m);
56 int RndAllItems();
57 int RndTypeItems(int itype, int imid);
58 int CheckUnique(int i, int lvl, int uper, BOOL recreate);
59 void GetUniqueItem(int i, int uid);
60 void SpawnUnique(int uid, int x, int y);
61 void ItemRndDur(int ii);
62 void SetupAllItems(int ii, int idx, int iseed, int lvl, int uper, int onlygood, BOOL recreate, BOOL pregen);
63 void SpawnItem(int m, int x, int y, BOOL sendmsg);
64 void CreateItem(int uid, int x, int y);
65 void CreateRndItem(int x, int y, BOOL onlygood, BOOL sendmsg, BOOL delta);
66 void SetupAllUseful(int ii, int iseed, int lvl);
67 void CreateRndUseful(int pnum, int x, int y, BOOL sendmsg);
68 void CreateTypeItem(int x, int y, BOOL onlygood, int itype, int imisc, BOOL sendmsg, BOOL delta);
69 void RecreateItem(int ii, int idx, WORD icreateinfo, int iseed, int ivalue);
70 void RecreateEar(int ii, WORD ic, int iseed, int Id, int dur, int mdur, int ch, int mch, int ivalue, int ibuff);
71 void SpawnQuestItem(int itemid, int x, int y, int randarea, int selflag);
72 void SpawnRock();
73 void RespawnItem(int i, BOOL FlipFlag);
74 void DeleteItem(int ii, int i);
75 void ItemDoppel();
76 void ProcessItems();
77 void FreeItemGFX();
78 void GetItemFrm(int i);
79 void GetItemStr(int i);
80 void CheckIdentify(int pnum, int cii);
81 void DoRepair(int pnum, int cii);
82 void RepairItem(ItemStruct *i, int lvl);
83 void DoRecharge(int pnum, int cii);
84 void RechargeItem(ItemStruct *i, int r);
85 void PrintItemOil(char IDidx);
86 void PrintItemPower(char plidx, ItemStruct *x);
87 void DrawUTextBack();
88 void PrintUString(int x, int y, BOOL cjustflag, char *str, int col);
89 void DrawULine(int y);
90 void DrawUniqueInfo();
91 void PrintItemMisc(ItemStruct *x);
93 void PrintItemDur(ItemStruct *x);
94 void UseItem(int p, int Mid, int spl);
95 BOOL StoreStatOk(ItemStruct *h);
96 BOOL SmithItemOk(int i);
97 int RndSmithItem(int lvl);
99 void SortSmith();
100 void SpawnSmith(int lvl);
101 BOOL PremiumItemOk(int i);
102 int RndPremiumItem(int minlvl, int maxlvl);
103 void SpawnOnePremium(int i, int plvl);
104 void SpawnPremium(int lvl);
105 BOOL WitchItemOk(int i);
106 int RndWitchItem(int lvl);
107 void SortWitch();
108 void WitchBookLevel(int ii);
109 void SpawnWitch(int lvl);
110 int RndBoyItem(int lvl);
111 void SpawnBoy(int lvl);
112 BOOL HealerItemOk(int i);
113 int RndHealerItem(int lvl);
114 void SortHealer();
115 void SpawnHealer(int lvl);
116 void SpawnStoreGold();
117 void RecreateSmithItem(int ii, int idx, int lvl, int iseed);
118 void RecreatePremiumItem(int ii, int idx, int plvl, int iseed);
119 void RecreateBoyItem(int ii, int idx, int lvl, int iseed);
120 void RecreateWitchItem(int ii, int idx, int lvl, int iseed);
121 void RecreateHealerItem(int ii, int idx, int lvl, int iseed);
122 void RecreateTownItem(int ii, int idx, WORD icreateinfo, int iseed, int ivalue);
123 void RecalcStoreStats();
124 int ItemNoFlippy();
125 void CreateSpellBook(int x, int y, int ispell, BOOL sendmsg, BOOL delta);
126 void CreateMagicArmor(int x, int y, int imisc, int icurs, BOOL sendmsg, BOOL delta);
127 void CreateMagicWeapon(int x, int y, int imisc, int icurs, BOOL sendmsg, BOOL delta);
128 BOOL GetItemRecord(int nSeed, WORD wCI, int nIndex);
129 void NextItemRecord(int i);
130 void SetItemRecord(int nSeed, WORD wCI, int nIndex);
131 void PutItemRecord(int nSeed, WORD wCI, int nIndex);
132 
133 /* data */
134 
135 extern BYTE ItemCAnimTbl[169];
136 extern char *ItemDropNames[ITEMTYPES];
137 extern BYTE ItemAnimLs[ITEMTYPES];
138 extern int ItemDropSnds[ITEMTYPES];
139 extern int ItemInvSnds[ITEMTYPES];
140 extern int idoppely;
141 extern int premiumlvladd[6];
142 
143 #endif /* __ITEMS_H__ */
itemrecord
ItemGetRecordStruct itemrecord[MAXITEMS]
Definition: items.cpp:14
PutItemRecord
void PutItemRecord(int nSeed, WORD wCI, int nIndex)
Definition: items.cpp:4056
CalcPlrItemVals
void CalcPlrItemVals(int p, BOOL Loadgfx)
Definition: items.cpp:296
RecreateHealerItem
void RecreateHealerItem(int ii, int idx, int lvl, int iseed)
Definition: items.cpp:3857
GetUniqueItem
void GetUniqueItem(int i, int uid)
Definition: items.cpp:1984
DoRepair
void DoRepair(int pnum, int cii)
Definition: items.cpp:2532
RecreateWitchItem
void RecreateWitchItem(int ii, int idx, int lvl, int iseed)
Definition: items.cpp:3833
CalcPlrBookVals
void CalcPlrBookVals(int p)
Definition: items.cpp:735
PrintItemOil
void PrintItemOil(char IDidx)
Definition: items.cpp:2623
RndTypeItems
int RndTypeItems(int itype, int imid)
Definition: items.cpp:1921
CreateItem
void CreateItem(int uid, int x, int y)
Definition: items.cpp:2143
PremiumItemOk
BOOL PremiumItemOk(int i)
Definition: items.cpp:3405
SetPlrHandGoldCurs
void SetPlrHandGoldCurs(ItemStruct *h)
Definition: items.cpp:852
GetGoldSeed
void GetGoldSeed(int pnum, ItemStruct *h)
Definition: items.cpp:823
GetItemAttrs
void GetItemAttrs(int i, int idata, int lvl)
Definition: items.cpp:1266
SortWitch
void SortWitch()
Definition: items.cpp:3538
SaveItemPower
void SaveItemPower(int i, int power, int param1, int param2, int minval, int maxval, int multval)
Definition: items.cpp:1360
DrawUniqueInfo
void DrawUniqueInfo()
Definition: items.cpp:2974
ProcessItems
void ProcessItems()
Definition: items.cpp:2454
RndBoyItem
int RndBoyItem(int lvl)
Definition: items.cpp:3625
SpawnPremium
void SpawnPremium(int lvl)
Definition: items.cpp:3473
PrintItemMisc
void PrintItemMisc(ItemStruct *x)
Definition: items.cpp:3009
CreateMagicArmor
void CreateMagicArmor(int x, int y, int imisc, int icurs, BOOL sendmsg, BOOL delta)
Definition: items.cpp:3952
RndWitchItem
int RndWitchItem(int lvl)
Definition: items.cpp:3522
RechargeItem
void RechargeItem(ItemStruct *i, int r)
Definition: items.cpp:2607
ItemSpaceOk
BOOL ItemSpaceOk(int i, int j)
Definition: items.cpp:965
GetItemPower
void GetItemPower(int i, int minlvl, int maxlvl, int flgs, BOOL onlygood)
Definition: items.cpp:1669
MAXITEMS
#define MAXITEMS
Definition: defs.h:27
SpawnOnePremium
void SpawnOnePremium(int i, int plvl)
Definition: items.cpp:3449
InitItems
void InitItems()
Definition: items.cpp:258
UniqueItemFlag
BOOL UniqueItemFlag[128]
Definition: items.cpp:18
RecreatePremiumItem
void RecreatePremiumItem(int ii, int idx, int plvl, int iseed)
Definition: items.cpp:3806
CalcSelfItems
void CalcSelfItems(int pnum)
Definition: items.cpp:650
FreeItemGFX
void FreeItemGFX()
Definition: items.cpp:2482
GetSuperItemLoc
void GetSuperItemLoc(int x, int y, int *xx, int *yy)
Definition: items.cpp:1081
GetItemSpace
BOOL GetItemSpace(int x, int y, char inum)
Definition: items.cpp:1004
premiumlvladd
int premiumlvladd[6]
Definition: items.cpp:192
PrintUString
void PrintUString(int x, int y, BOOL cjustflag, char *str, int col)
Definition: items.cpp:2932
GetSuperItemSpace
void GetSuperItemSpace(int x, int y, char inum)
Definition: items.cpp:1058
SpawnSmith
void SpawnSmith(int lvl)
Definition: items.cpp:3382
PrintItemDetails
void PrintItemDetails(ItemStruct *x)
Definition: items.cpp:3040
DrawUTextBack
void DrawUTextBack()
Definition: items.cpp:2926
CreateSpellBook
void CreateSpellBook(int x, int y, int ispell, BOOL sendmsg, BOOL delta)
Definition: items.cpp:3927
WitchItemOk
BOOL WitchItemOk(int i)
Definition: items.cpp:3495
SortSmith
void SortSmith()
Definition: items.cpp:3359
ItemDropSnds
int ItemDropSnds[ITEMTYPES]
Definition: items.cpp:117
SmithItemOk
BOOL SmithItemOk(int i)
Definition: items.cpp:3309
ItemStruct
Definition: structs.h:99
GetPlrHandSeed
void GetPlrHandSeed(ItemStruct *h)
Definition: items.cpp:818
BubbleSwapItem
void BubbleSwapItem(ItemStruct *a, ItemStruct *b)
Definition: items.cpp:3350
CalcPlrItemMin
void CalcPlrItemMin(int pnum)
Definition: items.cpp:697
CreateRndItem
void CreateRndItem(int x, int y, BOOL onlygood, BOOL sendmsg, BOOL delta)
Definition: items.cpp:2166
SpawnRock
void SpawnRock()
Definition: items.cpp:2367
SpawnItem
void SpawnItem(int m, int x, int y, BOOL sendmsg)
Definition: items.cpp:2100
GetStaffPower
void GetStaffPower(int i, int lvl, int bs, BOOL onlygood)
Definition: items.cpp:1159
itemavail
int itemavail[MAXITEMS]
Definition: items.cpp:12
GetItemBonus
void GetItemBonus(int i, int idata, int minlvl, int maxlvl, BOOL onlygood)
Definition: items.cpp:1762
ItemGetRecordStruct
Definition: structs.h:92
RecalcStoreStats
void RecalcStoreStats()
Definition: items.cpp:3888
CheckUnique
int CheckUnique(int i, int lvl, int uper, BOOL recreate)
Definition: items.cpp:1947
ItemDoppel
void ItemDoppel()
Definition: items.cpp:2435
SetPlrHandItem
void SetPlrHandItem(ItemStruct *h, int idata)
Definition: items.cpp:779
SpawnHealer
void SpawnHealer(int lvl)
Definition: items.cpp:3745
uitemflag
BOOL uitemflag
Definition: items.cpp:11
RndItem
int RndItem(int m)
Definition: items.cpp:1820
RecreateBoyItem
void RecreateBoyItem(int ii, int idx, int lvl, int iseed)
Definition: items.cpp:3820
NextItemRecord
void NextItemRecord(int i)
Definition: items.cpp:4025
SpawnQuestItem
void SpawnQuestItem(int itemid, int x, int y, int randarea, int selflag)
Definition: items.cpp:2324
CalcPlrInv
void CalcPlrInv(int p, BOOL Loadgfx)
Definition: items.cpp:764
UseItem
void UseItem(int p, int Mid, int spl)
Definition: items.cpp:3132
ItemPlace
BOOL ItemPlace(int xp, int yp)
Definition: items.cpp:206
InitItemGFX
void InitItemGFX()
Definition: items.cpp:194
RecreateEar
void RecreateEar(int ii, WORD ic, int iseed, int Id, int dur, int mdur, int ch, int mch, int ivalue, int ibuff)
Definition: items.cpp:2297
CalcPlrStaff
void CalcPlrStaff(int p)
Definition: items.cpp:640
CreatePlrItems
void CreatePlrItems(int p)
Definition: items.cpp:862
idoppely
int idoppely
Definition: items.cpp:191
curruitem
ItemStruct curruitem
Definition: items.cpp:13
SortHealer
void SortHealer()
Definition: items.cpp:3722
ItemRndDur
void ItemRndDur(int ii)
Definition: items.cpp:2034
SpawnWitch
void SpawnWitch(int lvl)
Definition: items.cpp:3579
SpawnStoreGold
void SpawnStoreGold()
Definition: items.cpp:3786
SpawnBoy
void SpawnBoy(int lvl)
Definition: items.cpp:3641
GetItemRecord
BOOL GetItemRecord(int nSeed, WORD wCI, int nIndex)
Definition: items.cpp:4006
RecreateItem
void RecreateItem(int ii, int idx, WORD icreateinfo, int iseed, int ivalue)
Definition: items.cpp:2251
GetStaffSpell
void GetStaffSpell(int i, int lvl, BOOL onlygood)
Definition: items.cpp:1216
CalcItemValue
void CalcItemValue(int i)
Definition: items.cpp:1098
SetPlrHandSeed
void SetPlrHandSeed(ItemStruct *h, int iseed)
Definition: items.cpp:847
ItemAnimLs
BYTE ItemAnimLs[ITEMTYPES]
Definition: items.cpp:80
item
ItemStruct item[MAXITEMS+1]
Definition: items.cpp:15
ItemDropNames
char * ItemDropNames[ITEMTYPES]
Definition: items.cpp:43
ItemMinStats
BOOL ItemMinStats(PlayerStruct *p, ItemStruct *x)
Definition: items.cpp:721
SpawnUnique
void SpawnUnique(int uid, int x, int y)
Definition: items.cpp:2011
RndAllItems
int RndAllItems()
Definition: items.cpp:1898
PLVal
int PLVal(int pv, int p1, int p2, int minv, int maxv)
Definition: items.cpp:1351
SetupAllUseful
void SetupAllUseful(int ii, int iseed, int lvl)
Definition: items.cpp:2189
itemanims
BYTE * itemanims[ITEMTYPES]
Definition: items.cpp:17
itemactive
int itemactive[MAXITEMS]
Definition: items.cpp:10
StoreStatOk
BOOL StoreStatOk(ItemStruct *h)
Definition: items.cpp:3294
PrintItemPower
void PrintItemPower(char plidx, ItemStruct *x)
Definition: items.cpp:2693
RndSmithItem
int RndSmithItem(int lvl)
Definition: items.cpp:3330
CalcPlrScrolls
void CalcPlrScrolls(int p)
Definition: items.cpp:613
RndPL
int RndPL(int param1, int param2)
Definition: items.cpp:1346
ITEMTYPES
#define ITEMTYPES
Definition: defs.h:43
PrintItemDur
void PrintItemDur(ItemStruct *x)
Definition: items.cpp:3088
GetItemFrm
void GetItemFrm(int i)
Definition: items.cpp:2491
CheckIdentify
void CheckIdentify(int pnum, int cii)
Definition: items.cpp:2516
DrawULine
void DrawULine(int y)
Definition: items.cpp:2960
ItemNoFlippy
int ItemNoFlippy()
Definition: items.cpp:3915
RndUItem
int RndUItem(int m)
Definition: items.cpp:1856
numitems
int numitems
Definition: items.cpp:19
GetItemStr
void GetItemStr(int i)
Definition: items.cpp:2496
AddInitItems
void AddInitItems()
Definition: items.cpp:224
DoRecharge
void DoRecharge(int pnum, int cii)
Definition: items.cpp:2584
DeleteItem
void DeleteItem(int ii, int i)
Definition: items.cpp:2427
RndPremiumItem
int RndPremiumItem(int minlvl, int maxlvl)
Definition: items.cpp:3429
ItemInvSnds
int ItemInvSnds[ITEMTYPES]
Definition: items.cpp:154
CreateTypeItem
void CreateTypeItem(int x, int y, BOOL onlygood, int itype, int imisc, BOOL sendmsg, BOOL delta)
Definition: items.cpp:2226
GetBookSpell
void GetBookSpell(int i, int lvl)
Definition: items.cpp:1116
RepairItem
void RepairItem(ItemStruct *i, int lvl)
Definition: items.cpp:2553
HealerItemOk
BOOL HealerItemOk(int i)
Definition: items.cpp:3661
RespawnItem
void RespawnItem(int i, BOOL FlipFlag)
Definition: items.cpp:2396
itemhold
BOOL itemhold[3][3]
Definition: items.cpp:16
RndHealerItem
int RndHealerItem(int lvl)
Definition: items.cpp:3706
WitchBookLevel
void WitchBookLevel(int ii)
Definition: items.cpp:3561
CreateMagicWeapon
void CreateMagicWeapon(int x, int y, int imisc, int icurs, BOOL sendmsg, BOOL delta)
Definition: items.cpp:3979
gnNumGetRecords
int gnNumGetRecords
Definition: items.cpp:20
ItemCAnimTbl
BYTE ItemCAnimTbl[169]
Definition: items.cpp:24
PlayerStruct
Definition: structs.h:178
RecreateTownItem
void RecreateTownItem(int ii, int idx, WORD icreateinfo, int iseed, int ivalue)
Definition: items.cpp:3874
CreateRndUseful
void CreateRndUseful(int pnum, int x, int y, BOOL sendmsg)
Definition: items.cpp:2209
SetupAllItems
void SetupAllItems(int ii, int idx, int iseed, int lvl, int uper, int onlygood, BOOL recreate, BOOL pregen)
Definition: items.cpp:2040
RecreateSmithItem
void RecreateSmithItem(int ii, int idx, int lvl, int iseed)
Definition: items.cpp:3793
SetupItem
void SetupItem(int i)
Definition: items.cpp:1797
SetItemRecord
void SetItemRecord(int nSeed, WORD wCI, int nIndex)
Definition: items.cpp:4039