/// <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); }
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); } }