public override int ChoosePrefix(Terraria.Utilities.UnifiedRandom rand) { var prefixChooser = new WeightedRandom <int>(); prefixChooser.Add(mod.PrefixType("RustyPrefix"), 2); prefixChooser.Add(mod.PrefixType("ChippedPrefix"), 3); prefixChooser.Add(mod.PrefixType("LeadenPrefix"), 2); prefixChooser.Add(mod.PrefixType("HonedPrefix"), 2); prefixChooser.Add(mod.PrefixType("GamblersPrefix"), 2); prefixChooser.Add(mod.PrefixType("LightweightPrefix"), 3); prefixChooser.Add(mod.PrefixType("WellForgedPrefix"), 2); prefixChooser.Add(mod.PrefixType("MasterworkPrefix"), 1); prefixChooser.Add(mod.PrefixType("HollowPrefix"), 1); prefixChooser.Add(mod.PrefixType("BentPrefix"), 1); if (item.damage > 10) { prefixChooser.Add(mod.PrefixType("SharpPrefix"), 3); // 3 times as likely } int choice = prefixChooser; if ((item.damage > 0) && item.maxStack == 1) { return(choice); } return(-1); }
public override int ChoosePrefix(Terraria.Utilities.UnifiedRandom rand) { var prefixChooser = new WeightedRandom <int>(); prefixChooser.Add(mod.PrefixType("BalancedPrefix"), 3); // 3 times as likely prefixChooser.Add(mod.PrefixType("CondensedPrefix"), 3); prefixChooser.Add(mod.PrefixType("MystifyingPrefix"), 3); prefixChooser.Add(mod.PrefixType("UnstablePrefix"), 3); prefixChooser.Add(mod.PrefixType("FlawedPrefix"), 3); prefixChooser.Add(mod.PrefixType("BoostedPrefix"), 3); prefixChooser.Add(mod.PrefixType("NegatedPrefix"), 3); prefixChooser.Add(mod.PrefixType("OutrageousPrefix"), 3); prefixChooser.Add(mod.PrefixType("PoweredPrefix"), 2); prefixChooser.Add(mod.PrefixType("FlashyPrefix"), 2); prefixChooser.Add(mod.PrefixType("InfusedPrefix"), 2); prefixChooser.Add(mod.PrefixType("DistractingPrefix"), 2); prefixChooser.Add(mod.PrefixType("DestructivePrefix"), 2); prefixChooser.Add(mod.PrefixType("MasteredPrefix"), 1); prefixChooser.Add(mod.PrefixType("TranscendedPrefix"), 1); int choice = prefixChooser; if ((item.damage > 0) && item.maxStack == 1) { return(choice); } return(-1); }
public WeightedRandom(UnifiedRandom random, params Tuple <T, double>[] theElements) { this.random = random; elements = theElements.ToList(); }
public WeightedRandom(int seed, params Tuple <T, double>[] theElements) { random = new UnifiedRandom(seed); elements = theElements.ToList(); }
public WeightedRandom(UnifiedRandom random) { this.random = random; }
public WeightedRandom(int seed) { random = new UnifiedRandom(seed); }
public WeightedRandom() { random = new UnifiedRandom(); }
public WeightedRandom(UnifiedRandom random, params Tuple <T, double>[] theElements) { this.random = random; this.elements = ((IEnumerable <Tuple <T, double> >)theElements).ToList <Tuple <T, double> >(); }
public WeightedRandom(int seed, params Tuple <T, double>[] theElements) { this.random = new UnifiedRandom(seed); this.elements = ((IEnumerable <Tuple <T, double> >)theElements).ToList <Tuple <T, double> >(); }
public WeightedRandom() { this.random = new UnifiedRandom(); }