Vixen
c7401864
csharp
public static class LootEvaluator

Rolls a table. The same evaluator the editor's simulator runs.

Read the guide page for this →

Remarks

Reproducible from the event id, which is doc 28 § Loot's requirement and not a nicety. The stream is seeded from (eventId, player) and nothing else, so a support ticket about a drop can be recomputed a year later — which is what makes "the log says you rolled a 3" answerable.

⚠ Therefore the evaluation order is part of the contract. Independent rows first, in the order they were authored, then the weighted picks; a nested table is rolled where its row sits. Reordering the phases, or sorting the rows, would change what every existing event id produces.

⚠ A row whose conditions fail is absent, not skipped. The remaining weights are renormalised over what is left, which is what a designer writing "only on Heroic" means — the alternative is a table that quietly drops nothing a fraction of the time.

Fields and properties (1)

  • public const int MaximumDepth

    How deep a table may nest. Refused beyond, rather than recursing for ever.

Methods (3)

Used by (6)

  • LootOutlineVixen.Editor.Gameplay.Loot
  • LootSimulatorVixen.Editor.Gameplay.Loot
  • LootSimulatorTestsVixen.Editor.Gameplay.Loot.Tests
  • LootDistributionTestsVixen.Gameplay.Loot.Tests
  • LootRollTestsVixen.Gameplay.Loot.Tests
  • PityTestsVixen.Gameplay.Loot.Tests