Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /// <summary>
- /// Assign a final AL value based upon tier
- /// Based upon http://acpedia.org/wiki/Loot/Tier_7_Pre2013#Max_Armor_Levels
- /// and http://acpedia.org/wiki/Loot/Tier_8#Maximum_Armor_Levels given the base AL values on the weenies
- /// Assumes that the Olthoi Armor pieces have been normalized to a smaller baseline value
- /// </summary>
- /// <param name="wo"></param>
- /// <param name="tier"></param>
- /// <param name="armorType"></param>
- /// <returns></returns>
- private static WorldObject AssignArmorLevel(WorldObject wo, int tier)
- {
- var baseArmorLevel = wo.GetProperty(PropertyInt.ArmorLevel) ?? 0;
- if (wo.ArmorType != null && wo.ClothingPriority != (CoverageMask)CoverageMaskHelper.Underwear)
- {
- int armorModValue = 0;
- switch (tier)
- {
- case 1:
- if (wo.ArmorType == (int)ArmorType.Leather || wo.ArmorType == (int)ArmorType.Cloth)
- armorModValue = ThreadSafeRandom.Next(20, 50);
- if (wo.ArmorType == (int)ArmorType.StuddedLeather)
- armorModValue = ThreadSafeRandom.Next(50, 70);
- if (wo.ArmorType == (int)ArmorType.Metal
- || wo.ArmorType == (int)ArmorType.Chainmail
- || wo.ArmorType == (int)ArmorType.Scalemail)
- armorModValue = ThreadSafeRandom.Next(0, 10);
- // Covenant and Olthoi Armor (not Amuli, Celdon, Koujia, or Alduressa types of Olthoi Armor)
- if (wo.ResistMagic != null && wo.ResistMagic == 9999)
- armorModValue = 0;
- break;
- case 2:
- if (wo.ArmorType == (int)ArmorType.Leather || wo.ArmorType == (int)ArmorType.Cloth)
- armorModValue = ThreadSafeRandom.Next(50, 80);
- if (wo.ArmorType == (int)ArmorType.StuddedLeather)
- armorModValue = ThreadSafeRandom.Next(70, 100);
- if (wo.ArmorType == (int)ArmorType.Metal
- || wo.ArmorType == (int)ArmorType.Chainmail
- || wo.ArmorType == (int)ArmorType.Scalemail)
- armorModValue = ThreadSafeRandom.Next(10, 30);
- // Covenant and Olthoi Armor (not Amuli, Celdon, Koujia, or Alduressa types of Olthoi Armor)
- if (wo.ResistMagic != null && wo.ResistMagic == 9999)
- armorModValue = 0;
- break;
- case 3:
- if (wo.ArmorType == (int)ArmorType.Leather || wo.ArmorType == (int)ArmorType.Cloth)
- armorModValue = ThreadSafeRandom.Next(80, 110);
- if (wo.ArmorType == (int)ArmorType.StuddedLeather)
- armorModValue = ThreadSafeRandom.Next(100, 130);
- if (wo.ArmorType == (int)ArmorType.Metal
- || wo.ArmorType == (int)ArmorType.Chainmail
- || wo.ArmorType == (int)ArmorType.Scalemail)
- armorModValue = ThreadSafeRandom.Next(30, 60);
- // Covenant and Olthoi Armor (not Amuli, Celdon, Koujia, or Alduressa types of Olthoi Armor)
- if (wo.ResistMagic != null && wo.ResistMagic == 9999)
- armorModValue = ThreadSafeRandom.Next(190, 210);
- break;
- case 4:
- if (wo.ArmorType == (int)ArmorType.Leather || wo.ArmorType == (int)ArmorType.Cloth)
- armorModValue = ThreadSafeRandom.Next(110, 140);
- if (wo.ArmorType == (int)ArmorType.StuddedLeather)
- armorModValue = ThreadSafeRandom.Next(120, 150);
- if (wo.ArmorType == (int)ArmorType.Metal
- || wo.ArmorType == (int)ArmorType.Chainmail
- || wo.ArmorType == (int)ArmorType.Scalemail)
- armorModValue = ThreadSafeRandom.Next(60, 90);
- // Covenant and Olthoi Armor (not Amuli, Celdon, Koujia, or Alduressa types of Olthoi Armor)
- if (wo.ResistMagic != null && wo.ResistMagic == 9999)
- armorModValue = ThreadSafeRandom.Next(210, 230);
- break;
- case 5:
- if (wo.ArmorType == (int)ArmorType.Leather || wo.ArmorType == (int)ArmorType.Cloth)
- armorModValue = ThreadSafeRandom.Next(140, 170);
- if (wo.ArmorType == (int)ArmorType.StuddedLeather)
- armorModValue = ThreadSafeRandom.Next(150, 180);
- if (wo.ArmorType == (int)ArmorType.Metal
- || wo.ArmorType == (int)ArmorType.Chainmail
- || wo.ArmorType == (int)ArmorType.Scalemail)
- armorModValue = ThreadSafeRandom.Next(90, 120);
- // Covenant and Olthoi Armor (not Amuli, Celdon, Koujia, or Alduressa types of Olthoi Armor)
- if (wo.ResistMagic != null && wo.ResistMagic == 9999)
- armorModValue = ThreadSafeRandom.Next(230, 250);
- break;
- case 6:
- if (wo.ArmorType == (int)ArmorType.Leather || wo.ArmorType == (int)ArmorType.Cloth)
- armorModValue = ThreadSafeRandom.Next(170, 200);
- if (wo.ArmorType == (int)ArmorType.StuddedLeather)
- armorModValue = ThreadSafeRandom.Next(180, 210);
- if (wo.ArmorType == (int)ArmorType.Metal
- || wo.ArmorType == (int)ArmorType.Chainmail
- || wo.ArmorType == (int)ArmorType.Scalemail)
- armorModValue = ThreadSafeRandom.Next(120, 150);
- // Covenant and Olthoi Armor (not Amuli, Celdon, Koujia, or Alduressa types of Olthoi Armor)
- if (wo.ResistMagic != null && wo.ResistMagic == 9999)
- armorModValue = ThreadSafeRandom.Next(250, 270);
- break;
- case 7:
- if (wo.ArmorType == (int)ArmorType.Leather || wo.ArmorType == (int)ArmorType.Cloth)
- armorModValue = ThreadSafeRandom.Next(200, 230);
- if (wo.ArmorType == (int)ArmorType.StuddedLeather)
- armorModValue = ThreadSafeRandom.Next(210, 240);
- if (wo.ArmorType == (int)ArmorType.Metal
- || wo.ArmorType == (int)ArmorType.Chainmail
- || wo.ArmorType == (int)ArmorType.Scalemail)
- armorModValue = ThreadSafeRandom.Next(150, 180);
- // Covenant and Olthoi Armor (not Amuli, Celdon, Koujia, or Alduressa types of Olthoi Armor)
- if (wo.ResistMagic != null && wo.ResistMagic == 9999)
- armorModValue = ThreadSafeRandom.Next(270, 290);
- break;
- case 8:
- if (wo.ArmorType == (int)ArmorType.Leather || wo.ArmorType == (int)ArmorType.Cloth)
- armorModValue = ThreadSafeRandom.Next(230, 260);
- if (wo.ArmorType == (int)ArmorType.StuddedLeather)
- armorModValue = ThreadSafeRandom.Next(240, 270);
- if (wo.ArmorType == (int)ArmorType.Metal
- || wo.ArmorType == (int)ArmorType.Chainmail
- || wo.ArmorType == (int)ArmorType.Scalemail)
- armorModValue = ThreadSafeRandom.Next(180, 210);
- // Covenant and Olthoi Armor (not Amuli, Celdon, Koujia, or Alduressa types of Olthoi Armor)
- if (wo.ResistMagic != null && wo.ResistMagic == 9999)
- armorModValue = ThreadSafeRandom.Next(290, 310);
- break;
- }
- int adjustedArmorLevel = baseArmorLevel + armorModValue;
- wo.SetProperty(PropertyInt.ArmorLevel, adjustedArmorLevel);
- }
- return wo;
- }
Advertisement
Add Comment
Please, Sign In to add comment