public BaseInstrument(int itemID, int wellSound, int badlySound) : base(itemID) { m_WellSound = wellSound; m_BadlySound = badlySound; UsesRemaining = Utility.RandomMinMax(InitMinUses, InitMaxUses); ItemValue = GearScore.GetItemValue(this); }
public BaseQuiver(int itemID) : base(itemID) { Weight = 2.0; Capacity = 500; Layer = Layer.Cloak; m_Attributes = new AosAttributes(this); m_SetAttributes = new AosAttributes(this); m_SetSkillBonuses = new AosSkillBonuses(this); ItemValue = GearScore.GetItemValue(this); }
public BaseTalisman(int itemID) : base(itemID) { Layer = Layer.Talisman; Weight = 1.0; m_Protection = new TalismanAttribute(); m_Killer = new TalismanAttribute(); m_Summoner = new TalismanAttribute(); m_AosAttributes = new AosAttributes(this); m_AosSkillBonuses = new AosSkillBonuses(this); ItemValue = GearScore.GetItemValue(this); }
public Spellbook(ulong content, int itemID) : base(itemID) { m_AosAttributes = new AosAttributes(this); m_AosSkillBonuses = new AosSkillBonuses(this); Weight = 3.0; Layer = Layer.OneHanded; LootType = LootType.Blessed; Content = content; ItemValue = GearScore.GetItemValue(this); }
public BaseJewel(int itemID, Layer layer) : base(itemID) { m_AosAttributes = new AosAttributes(this); m_AosResistances = new AosElementAttributes(this); m_AosSkillBonuses = new AosSkillBonuses(this); m_Resource = CraftResource.Iron; m_GemType = GemType.None; Layer = layer; m_HitPoints = m_MaxHitPoints = Utility.RandomMinMax(InitMinHits, InitMaxHits); #region Mondain's Legacy Sets m_SetAttributes = new AosAttributes(this); m_SetSkillBonuses = new AosSkillBonuses(this); #endregion #region SA m_SAAbsorptionAttributes = new SAAbsorptionAttributes(this); #endregion ItemValue = GearScore.GetItemValue(this); }
public static void Fill(LockableContainer cont, int level) { cont.Movable = false; cont.Locked = true; int numberItems; if (level == 0) { cont.LockLevel = 0; // Can't be unlocked cont.DropItem(new Gold(Utility.RandomMinMax(50, 100))); if (Utility.RandomDouble() < 0.75) { cont.DropItem(new TreasureMap(0, Map.Trammel)); } } else { cont.TrapType = TrapType.ExplosionTrap; cont.TrapPower = level * 25; cont.TrapLevel = level; switch (level) { case 1: cont.RequiredSkill = 36; break; case 2: cont.RequiredSkill = 76; break; case 3: cont.RequiredSkill = 84; break; case 4: cont.RequiredSkill = 92; break; case 5: cont.RequiredSkill = 100; break; case 6: cont.RequiredSkill = 100; break; } cont.LockLevel = cont.RequiredSkill - 10; cont.MaxLockLevel = cont.RequiredSkill + 40; //Publish 67 gold change //if ( Core.SA ) // cont.DropItem( new Gold( level * 5000 ) ); //else cont.DropItem(new Gold(level * 1000)); for (int i = 0; i < level * 5; ++i) { cont.DropItem(Loot.RandomScroll(0, 63, SpellbookType.Regular)); } if (Core.SE) { switch (level) { case 1: numberItems = 5; break; case 2: numberItems = 10; break; case 3: numberItems = 15; break; case 4: numberItems = 38; break; case 5: numberItems = 50; break; case 6: numberItems = 60; break; default: numberItems = 0; break; } ; } else { numberItems = level * 6; } for (int i = 0; i < numberItems; ++i) { Item item; if (Core.AOS) { item = Loot.RandomArmorOrShieldOrWeaponOrJewelry(); } else { item = Loot.RandomArmorOrShieldOrWeapon(); } if (item is BaseWeapon) { BaseWeapon weapon = (BaseWeapon)item; if (Core.AOS) { int attributeCount; int min, max; GetRandomAOSStats(out attributeCount, out min, out max); BaseRunicTool.ApplyAttributesTo(weapon, attributeCount, min, max); } else { weapon.DamageLevel = (WeaponDamageLevel)Utility.Random(6); weapon.AccuracyLevel = (WeaponAccuracyLevel)Utility.Random(6); weapon.DurabilityLevel = (WeaponDurabilityLevel)Utility.Random(6); } item.ItemValue = GearScore.GetItemValue(item); cont.DropItem(item); } else if (item is BaseArmor) { BaseArmor armor = (BaseArmor)item; if (Core.AOS) { int attributeCount; int min, max; GetRandomAOSStats(out attributeCount, out min, out max); BaseRunicTool.ApplyAttributesTo(armor, attributeCount, min, max); } else { armor.ProtectionLevel = (ArmorProtectionLevel)Utility.Random(6); armor.Durability = (ArmorDurabilityLevel)Utility.Random(6); } item.ItemValue = GearScore.GetItemValue(item); cont.DropItem(item); } else if (item is BaseHat) { BaseHat hat = (BaseHat)item; if (Core.AOS) { int attributeCount; int min, max; GetRandomAOSStats(out attributeCount, out min, out max); BaseRunicTool.ApplyAttributesTo(hat, attributeCount, min, max); } item.ItemValue = GearScore.GetItemValue(item); cont.DropItem(item); } else if (item is BaseJewel) { int attributeCount; int min, max; GetRandomAOSStats(out attributeCount, out min, out max); BaseRunicTool.ApplyAttributesTo((BaseJewel)item, attributeCount, min, max); item.ItemValue = GearScore.GetItemValue(item); cont.DropItem(item); } } } int reagents; if (level == 0) { reagents = 12; } else { reagents = level * 3; } for (int i = 0; i < reagents; i++) { Item item = Loot.RandomPossibleReagent(); item.Amount = Utility.RandomMinMax(40, 60); cont.DropItem(item); } int gems; if (level == 0) { gems = 2; } else { gems = level * 3; } for (int i = 0; i < gems; i++) { Item item = Loot.RandomGem(); cont.DropItem(item); } int bonus = level * 2; if (level > 0 && Utility.Random(100) < 15 + bonus) { switch (Utility.Random(6)) { case 1: cont.DropItem(BaseReward.FletcherRecipe()); break; case 2: cont.DropItem(BaseReward.TailorRecipe()); break; case 3: cont.DropItem(BaseReward.SmithRecipe()); break; case 4: cont.DropItem(BaseReward.TinkerRecipe()); break; case 5: cont.DropItem(BaseReward.CarpRecipe()); break; case 6: cont.DropItem(new RecipeScroll(Utility.RandomMinMax(10001, 10001))); break; } } if (level == 6 && Core.AOS) { cont.DropItem((Item)Activator.CreateInstance(m_Artifacts[Utility.Random(m_Artifacts.Length)])); } }
public BaseDecorationContainerArtifact(int itemID) : base(itemID) { Weight = 10.0; ItemValue = GearScore.GetItemValue(this); }