MCPcopy Create free account
hub / github.com/diasurgical/DevilutionX / IsItemValid

Function IsItemValid

Source/items/validation.cpp:159–176  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

157}
158
159bool IsItemValid(const Item &item)
160{
161 if (!gbIsMultiplayer)
162 return true;
163
164 if (item.IDidx == IDI_EAR)
165 return true;
166 if (item.IDidx != IDI_GOLD && !IsCreationFlagComboValid(item._iCreateInfo))
167 return false;
168 if ((item._iCreateInfo & CF_TOWN) != 0)
169 return IsTownItemValid(item._iCreateInfo) && IsShopPriceValid(item);
170 if ((item._iCreateInfo & CF_USEFUL) == CF_UPER15)
171 return IsUniqueMonsterItemValid(item._iCreateInfo, item.dwBuff);
172 if ((item.dwBuff & CF_HELLFIRE) != 0 && AllItemsList[item.IDidx].iMiscId == IMISC_BOOK)
173 return IsHellfireSpellBookValid(item);
174
175 return IsDungeonItemValid(item._iCreateInfo, item.dwBuff);
176}
177
178} // namespace devilution

Callers 2

CanUseItemMethod · 0.85
CalcSelfItemsFunction · 0.85

Calls 6

IsCreationFlagComboValidFunction · 0.85
IsTownItemValidFunction · 0.85
IsShopPriceValidFunction · 0.85
IsUniqueMonsterItemValidFunction · 0.85
IsHellfireSpellBookValidFunction · 0.85
IsDungeonItemValidFunction · 0.85

Tested by

no test coverage detected