Convert TemplateItem to MongoId (#436)

* Convert TemplateItem to MongoId

* Push new extensions

* Handle null mongoid's being passed to regex

* Handle null strings, fixes item events

* Updated loot generation to work with new property `composedKey`

Fixed typo in `SlotId`

* Fix missing method after merge

* Remove duplicately named MongoIDExtensions?

* Fixed location loot generation to handle impending loot json changes

* Updated location JSONs with new properties (excluding lighthouse loose loot)

* Fixed build issue with ItemTplGenerator

* use correct handing for new mongo ids

* Added helper method to improve readability

---------

Co-authored-by: Chomp <dev@dev.sp-tarkov.com>
This commit is contained in:
Jesse
2025-07-02 11:14:04 +02:00
committed by GitHub
parent 46989aa19e
commit 54f0d0779c
89 changed files with 529 additions and 413 deletions
@@ -144,14 +144,14 @@ public class ProbabilityObjectArray<K, V> : List<ProbabilityObject<K, V>>
return this.Min(x => x.RelativeProbability.Value);
}
/**
* Draw random element of the ProbabilityObject N times to return an array of N keys.
* Drawing can be with or without replacement
* @param count The number of times we want to draw
* @param removeAfterDraw Draw with or without replacement from the input dict (true = dont remove after drawing)
* @param lockList list keys which shall be replaced even if drawing without replacement
* @returns Array consisting of N random keys for this ProbabilityObjectArray
*/
/// <summary>
/// Draw random element of the ProbabilityObject N times to return an array of N keys.
/// Drawing can be with or without replacement
/// </summary>
/// <param name="drawCount">The number of times we want to draw</param>
/// <param name="removeAfterDraw">Draw with or without replacement from the input dict (true = don't remove after drawing)</param>
/// <param name="neverRemoveWhitelist">List of keys which shall be replaced even if drawing without replacement</param>
/// <returns>Collection consisting of N random keys for this ProbabilityObjectArray</returns>
public List<K> Draw(
int drawCount = 1,
bool removeAfterDraw = true,