Beispiel #1
0
        private LootTreeNode GetLootTreeNode(LootTreeNodeData lootTreeNodeData)
        {
            var lootTreeNode = new LootTreeNode
            {
                RollCount = lootTreeNodeData.RollCount,
                RollWithoutReplacement = lootTreeNodeData.RollWithoutReplacement
            };

            if (lootTreeNodeData.LootResult != null)
            {
                var itemGenerator = new ItemGeneratorStatic
                {
                    ItemId         = lootTreeNodeData.LootResult.ItemId,
                    RandomVariance = lootTreeNodeData.LootResult.RandomVariance,
                    StackSize      = (int)Math.Ceiling(lootTreeNodeData.LootResult.StackSize * _config.GlobalStackSizeMultiplier)
                };
                lootTreeNode.LootResult = itemGenerator;
            }
            foreach (var child in lootTreeNodeData.Children)
            {
                lootTreeNode.AddChild(child.Key, GetLootTreeNode(child.Value));
            }
            return(lootTreeNode);
        }