/Source/items.h

https://github.com/lantus/devilution-nx · C Header · 139 lines · 132 code · 5 blank · 2 comment · 0 complexity · 059b8456553ea8689407049cef6e680b MD5 · raw file

  1. //HEADER_GOES_HERE
  2. #ifndef __ITEMS_H__
  3. #define __ITEMS_H__
  4. extern int itemactive[MAXITEMS];
  5. extern int uitemflag;
  6. extern int itemavail[MAXITEMS];
  7. extern ItemStruct curruitem;
  8. extern ItemGetRecordStruct itemrecord[MAXITEMS];
  9. extern ItemStruct item[MAXITEMS + 1];
  10. extern BOOL itemhold[3][3];
  11. extern unsigned char *itemanims[35];
  12. extern BOOL UniqueItemFlag[128];
  13. extern int numitems;
  14. extern int gnNumGetRecords;
  15. void InitItemGFX();
  16. BOOL ItemPlace(int xp, int yp);
  17. void AddInitItems();
  18. void InitItems();
  19. void CalcPlrItemVals(int p, BOOL Loadgfx);
  20. void CalcPlrScrolls(int p);
  21. void CalcPlrStaff(int pnum);
  22. void CalcSelfItems(int pnum);
  23. void CalcPlrItemMin(int pnum);
  24. BOOL ItemMinStats(PlayerStruct *p, ItemStruct *x);
  25. void CalcPlrBookVals(int p);
  26. void CalcPlrInv(int p, BOOL Loadgfx);
  27. void SetPlrHandItem(ItemStruct *h, int idata);
  28. void GetPlrHandSeed(ItemStruct *h);
  29. void GetGoldSeed(int pnum, ItemStruct *h);
  30. void SetPlrHandSeed(ItemStruct *h, int iseed);
  31. void SetPlrHandGoldCurs(ItemStruct *h);
  32. void CreatePlrItems(int p);
  33. BOOL ItemSpaceOk(int i, int j);
  34. BOOL GetItemSpace(int x, int y, char inum);
  35. void GetSuperItemSpace(int x, int y, char inum);
  36. void GetSuperItemLoc(int x, int y, int *xx, int *yy);
  37. void CalcItemValue(int i);
  38. void GetBookSpell(int i, int lvl);
  39. void GetStaffPower(int i, int lvl, int bs, BOOL onlygood);
  40. void GetStaffSpell(int i, int lvl, BOOL onlygood);
  41. void GetItemAttrs(int i, int idata, int lvl);
  42. int RndPL(int param1, int param2);
  43. int PLVal(int pv, int p1, int p2, int minv, int maxv);
  44. void SaveItemPower(int i, int power, int param1, int param2, int minval, int maxval, int multval);
  45. void GetItemPower(int i, int minlvl, int maxlvl, int flgs, int onlygood);
  46. void GetItemBonus(int i, int idata, int minlvl, int maxlvl, BOOL onlygood);
  47. void SetupItem(int i);
  48. int RndItem(int m);
  49. int RndUItem(int m);
  50. int RndAllItems();
  51. int RndTypeItems(int itype, int imid);
  52. int CheckUnique(int i, int lvl, int uper, BOOL recreate);
  53. void GetUniqueItem(int i, int uid);
  54. void SpawnUnique(int uid, int x, int y);
  55. void ItemRndDur(int ii);
  56. void SetupAllItems(int ii, int idx, int iseed, int lvl, int uper, int onlygood, int recreate, int pregen);
  57. void SpawnItem(int m, int x, int y, BOOL sendmsg);
  58. void CreateItem(int uid, int x, int y);
  59. void CreateRndItem(int x, int y, BOOL onlygood, BOOL sendmsg, int delta);
  60. void SetupAllUseful(int ii, int iseed, int lvl);
  61. void CreateRndUseful(int pnum, int x, int y, BOOL sendmsg);
  62. void CreateTypeItem(int x, int y, BOOL onlygood, int itype, int imisc, BOOL sendmsg, int delta);
  63. void RecreateItem(int ii, int idx, unsigned short ic, int iseed, int ivalue);
  64. void RecreateEar(int ii, unsigned short ic, int iseed, int Id, int dur, int mdur, int ch, int mch, int ivalue, int ibuff);
  65. void SpawnQuestItem(int itemid, int x, int y, int randarea, int selflag);
  66. void SpawnRock();
  67. void RespawnItem(int i, BOOL FlipFlag);
  68. void DeleteItem(int ii, int i);
  69. void ItemDoppel();
  70. void ProcessItems();
  71. void FreeItemGFX();
  72. void GetItemFrm(int i);
  73. void GetItemStr(int i);
  74. void CheckIdentify(int pnum, int cii);
  75. void DoRepair(int pnum, int cii);
  76. void RepairItem(ItemStruct *i, int lvl);
  77. void DoRecharge(int pnum, int cii);
  78. void RechargeItem(ItemStruct *i, int r);
  79. void PrintItemOil(char IDidx);
  80. void PrintItemPower(char plidx, ItemStruct *x);
  81. void DrawUTextBack();
  82. void PrintUString(int x, int y, BOOL cjustflag, char *str, int col);
  83. void DrawULine(int y);
  84. void DrawUniqueInfo();
  85. void PrintItemMisc(ItemStruct *x);
  86. void PrintItemDetails(ItemStruct *x);
  87. void PrintItemDur(ItemStruct *x);
  88. void UseItem(int p, int Mid, int spl);
  89. BOOL StoreStatOk(ItemStruct *h);
  90. BOOL SmithItemOk(int i);
  91. int RndSmithItem(int lvl);
  92. void BubbleSwapItem(ItemStruct *a, ItemStruct *b);
  93. void SortSmith();
  94. void SpawnSmith(int lvl);
  95. BOOL PremiumItemOk(int i);
  96. int RndPremiumItem(int minlvl, int maxlvl);
  97. void SpawnOnePremium(int i, int plvl);
  98. void SpawnPremium(int lvl);
  99. BOOL WitchItemOk(int i);
  100. int RndWitchItem(int lvl);
  101. void SortWitch();
  102. void WitchBookLevel(int ii);
  103. void SpawnWitch(int lvl);
  104. int RndBoyItem(int lvl);
  105. void SpawnBoy(int lvl);
  106. BOOL HealerItemOk(int i);
  107. int RndHealerItem(int lvl);
  108. void SortHealer();
  109. void SpawnHealer(int lvl);
  110. void SpawnStoreGold();
  111. void RecreateSmithItem(int ii, int idx, int plvl, int iseed);
  112. void RecreatePremiumItem(int ii, int idx, int lvl, int iseed);
  113. void RecreateBoyItem(int ii, int idx, int lvl, int iseed);
  114. void RecreateWitchItem(int ii, int idx, int lvl, int iseed);
  115. void RecreateHealerItem(int ii, int idx, int lvl, int iseed);
  116. void RecreateTownItem(int ii, int idx, unsigned short icreateinfo, int iseed, int ivalue);
  117. void RecalcStoreStats();
  118. int ItemNoFlippy();
  119. void CreateSpellBook(int x, int y, int ispell, BOOL sendmsg, int delta);
  120. void CreateMagicArmor(int x, int y, int imisc, int icurs, BOOL sendmsg, int delta);
  121. void CreateMagicWeapon(int x, int y, int imisc, int icurs, BOOL sendmsg, int delta);
  122. BOOL GetItemRecord(int nSeed, WORD wCI, int nIndex);
  123. void NextItemRecord(int i);
  124. void SetItemRecord(int nSeed, WORD wCI, int nIndex);
  125. void PutItemRecord(int nSeed, WORD wCI, int nIndex);
  126. /* data */
  127. extern unsigned char ItemCAnimTbl[169];
  128. extern char *ItemDropStrs[35];
  129. extern unsigned char ItemAnimLs[35];
  130. extern int ItemDropSnds[35];
  131. extern int ItemInvSnds[35];
  132. extern int idoppely; // weak
  133. extern int premiumlvladd[6];
  134. #endif /* __ITEMS_H__ */