MCPcopy Create free account
hub / github.com/TombEngine/TombEngine / HasMiscItem

Function HasMiscItem

TombEngine/Game/pickup/pickup_misc_items.cpp:169–249  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

167}
168
169std::optional<bool> HasMiscItem(LaraInfo& lara, GAME_OBJECT_ID objectID)
170{
171 auto HasBeetle = [&](int bit)
172 {
173 auto beetleComponents = lara.Inventory.BeetleComponents;
174 return beetleComponents &= 1 << bit;
175 };
176
177 switch (objectID)
178 {
179 //TODO does Lara "HAVE" a silencer if it's combined but not in her inventory?
180 case ID_SILENCER_ITEM:
181 return lara.Inventory.HasSilencer || SilencerIsEquipped(lara);
182
183 case ID_LASERSIGHT_ITEM:
184 return lara.Inventory.HasLasersight || LaserSightIsEquipped(lara);
185
186 case ID_BINOCULARS_ITEM:
187 return lara.Inventory.HasBinoculars;
188
189 case ID_CROWBAR_ITEM:
190 return lara.Inventory.HasCrowbar;
191
192 case ID_DIARY_ITEM:
193 return lara.Inventory.HasDiary;
194
195 case ID_PC_LOAD_INV_ITEM:
196 return lara.Inventory.HasLoad;
197
198 case ID_PC_SAVE_INV_ITEM:
199 return lara.Inventory.HasSave;
200
201 case ID_STOPWATCH_ITEM:
202 return lara.Inventory.HasStopwatch;
203
204 case ID_COMPASS_ITEM:
205 return lara.Inventory.HasCompass;
206
207 case ID_WATERSKIN1_EMPTY:
208 return lara.Inventory.SmallWaterskin == 1;
209
210 case ID_WATERSKIN1_1:
211 return lara.Inventory.SmallWaterskin == 2;
212
213 case ID_WATERSKIN1_2:
214 return lara.Inventory.SmallWaterskin == 3;
215
216 case ID_WATERSKIN1_3:
217 return lara.Inventory.SmallWaterskin == 4;
218
219 case ID_WATERSKIN2_EMPTY:
220 return lara.Inventory.BigWaterskin == 1;
221
222 case ID_WATERSKIN2_1:
223 return lara.Inventory.BigWaterskin == 2;
224
225 case ID_WATERSKIN2_2:
226 return lara.Inventory.BigWaterskin == 3;

Callers 1

GetInventoryCountFunction · 0.85

Calls 2

SilencerIsEquippedFunction · 0.85
LaserSightIsEquippedFunction · 0.85

Tested by

no test coverage detected