Beispiel #1
0
 /// <summary>
 /// Completely rerolls rarity and affixes.
 /// </summary>
 public void RollNPC(NPC npc)
 {
     ClearAffixes(npc);
     rarity = PoMAffixController.RollRarity(npc);
     RollAffixes(npc);
     UpdateName(npc);
 }
 /// <summary>
 /// Completely rerolls rarity and affixes.
 /// </summary>
 /// <param name="item"></param>
 public void RollItem(Item item)
 {
     ClearAffixes(item);
     rarity = PoMAffixController.RollRarity(item);
     RollAffixes(item);
     UpdateName(item);
 }
        /// <summary>
        /// Validly adds a suffix to the item.
        /// </summary>
        /// <param name="item"></param>
        public bool AddRandomSuffix(Item item)
        {
            Affix newSuffix = PoMAffixController.RollNewSuffix(this, item);

            if (newSuffix == null)
            {
                return(false);
            }

            AddAffix(newSuffix, item);

            UpdateName(item);
            return(true);
        }
Beispiel #4
0
        public void RollAffixes(NPC npc)
        {
            Affix newAffix;
            int   freeAffixes = FreeAffixes;

            for (int i = 0; i < freeAffixes; i++)
            {
                if (i >= rarity.minAffixes && Main.rand.NextFloat(0, 1) > rarity.chanceToRollAffix)
                {
                    break;
                }

                newAffix = PoMAffixController.RollNewAffix(this, npc);
                if (newAffix == null)
                {
                    break;
                }

                AddAffix(newAffix, npc);
            }
        }