コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public WeightedRandom(UnifiedRandom random, params Tuple <T, double>[] theElements)
 {
     this.random = random;
     elements    = theElements.ToList();
 }
コード例 #4
0
 public WeightedRandom(int seed, params Tuple <T, double>[] theElements)
 {
     random   = new UnifiedRandom(seed);
     elements = theElements.ToList();
 }
コード例 #5
0
 public WeightedRandom(UnifiedRandom random)
 {
     this.random = random;
 }
コード例 #6
0
 public WeightedRandom(int seed)
 {
     random = new UnifiedRandom(seed);
 }
コード例 #7
0
 public WeightedRandom()
 {
     random = new UnifiedRandom();
 }
コード例 #8
0
ファイル: WeightedRandom`1.cs プロジェクト: Neubulae/Sources
 public WeightedRandom(UnifiedRandom random, params Tuple <T, double>[] theElements)
 {
     this.random   = random;
     this.elements = ((IEnumerable <Tuple <T, double> >)theElements).ToList <Tuple <T, double> >();
 }
コード例 #9
0
ファイル: WeightedRandom`1.cs プロジェクト: Neubulae/Sources
 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> >();
 }
コード例 #10
0
ファイル: WeightedRandom`1.cs プロジェクト: Neubulae/Sources
 public WeightedRandom()
 {
     this.random = new UnifiedRandom();
 }