public static string TestLootGenMonster(uint deathTreasureDID, int numCorpses, bool logStats, string displayTable) { string displayHeader = $"\n LootFactory Simulator - Corpses\n ---------------------\n"; var corpseContainer = new List <WorldObject>(); var ls = new LootStats(logStats); Console.WriteLine($"Creating {numCorpses} corpses."); var deathTreasure = DatabaseManager.World.GetCachedDeathTreasure(deathTreasureDID); if (deathTreasure != null) { displayHeader += $" Loot profile {deathTreasure.Id} (a Tier {deathTreasure.Tier} profile) from DID {deathTreasureDID} was used for creating {numCorpses} corpses. \n"; } else { displayHeader += $" DID {deathTreasureDID} you specified is invalid. \n"; return(displayHeader); } for (int i = 0; i < numCorpses; i++) { if (deathTreasure != null) { corpseContainer = LootGenerationFactory.CreateRandomLootObjects_New(deathTreasure); if (corpseContainer.Count < ls.MinItemsCreated) { ls.MinItemsCreated = corpseContainer.Count; } if (corpseContainer.Count > ls.MaxItemsCreated) { ls.MaxItemsCreated = corpseContainer.Count; } foreach (var lootItem in corpseContainer) { ls.AddItem(lootItem, logStats); } } } var displayStats = BuildDisplayStats(ls, displayTable); Console.WriteLine(displayHeader); Console.WriteLine(displayStats); displayHeader += $" A total of {ls.TotalItems} unique items were generated. \n"; if (logStats) { string myfilename = $"LootSim_DeathTreasureDID-{deathTreasureDID}" + string.Format("_{0:hh-mm-ss-tt_MM-dd-yyyy}.csv", DateTime.Now); File.WriteAllText(myfilename, displayHeader + displayStats); } return(displayHeader); }
public static string TestLootGen(int numItems, int tier, bool logStats, string displayTable) { string displayHeader = $"\n LootFactory Simulator - Items\n ---------------------\n"; Console.WriteLine($"Creating {numItems} items, that are in tier {tier}"); var lootStats = new LootStats(logStats); // Create a dummy treasure profile for passing in tier value TreasureDeath profile = new TreasureDeath { Tier = tier, LootQualityMod = 0 }; // Loop depending on how many items you are creating for (int i = 0; i < numItems; i++) { var testItem = LootGenerationFactory.CreateRandomLootObjects(profile, true); lootStats.AddItem(testItem, logStats); } var displayStats = BuildDisplayStats(lootStats, displayTable); Console.WriteLine(displayHeader); Console.WriteLine(displayStats); displayHeader += $" A total of {lootStats.TotalItems} items were generated in Tier {tier}. \n"; if (logStats) { string myfilename = string.Format("LootSim-{0:hh-mm-ss-tt_MM-dd-yyyy}.csv", DateTime.Now); File.WriteAllText(myfilename, displayHeader + displayStats); } return(displayHeader); }