public static NodePromise GenerateLootCrate(LootTableData lootTable, float minItemLevel, float Variance, float magicFind, int activeZoneMongoID = -1, CrateTypeData lootCrateType = null, Action <LootCrate> callback = null) { LootCrate lootCrate; if (lootCrateType == null) { CrateTypeData ctd = MathHelper.WeightedRandom(lootTable.crateType).Key; lootCrate = new LootCrate(lootTable.Identity, minItemLevel, Variance, ctd, magicFind); } else { lootCrate = new LootCrate(lootTable.Identity, minItemLevel, Variance, lootCrateType, magicFind); } lootCrate.ExplorationID = activeZoneMongoID; return(API.LootCrates.Add(lootCrate) .Then(res => { //dataMan.allLootCratesList.Add(lootCrate); if (callback != null) { callback(lootCrate); } }) .Catch(err => { traceError("Could not generate a new LootCrate: " + GameAPIManager.GetErrorMessage(err)); })); }
public LootCrate(string lootTableIdentity, float ItemLevel, float Variance, CrateTypeData CrateType, float MagicFind = 0f) { this.className = "LootCrate"; this.lootTableIdentity = lootTableIdentity; this.ItemLevel = ItemLevel; this.Variance = Variance; this.MagicFind = MagicFind; this.CrateType = CrateType; }
public static NodePromise GenerateLootCrate(string lootTableIdentity, float minItemLevel, float Variance, float magicFind, CrateTypeData lootCrateType = null, Action <LootCrate> callback = null) { return(GenerateLootCrate( dataMan.lootTableDataList.GetByIdentity(lootTableIdentity), minItemLevel, Variance, magicFind, lootCrateType: lootCrateType, callback: callback )); }