private static void AddDungeonArmor(BaseCreature mob) { if (mob.Region == null) { return; } double chance = 1.0 / 2500.0; int luck = 0; if (mob.LastPlayerKiller != null) { luck = mob.LastPlayerKiller.Luck; } chance = chance * (1 + (luck / 100.0)); bool getArmor = false; if (Utility.RandomDouble() <= chance) { getArmor = true; IndexedRegionName regionName = mob.Region.IndexedName; Item item = null; switch (regionName) { /* * case IndexedRegionName.Deceit: item = DungeonArmor.CreateDungeonArmor(DungeonEnum.Deceit, DungeonArmor.ArmorTierEnum.Tier1, DungeonArmor.ArmorLocation.Unspecified); break; * case IndexedRegionName.Destard: item = DungeonArmor.CreateDungeonArmor(DungeonEnum.Destard, DungeonArmor.ArmorTierEnum.Tier1, DungeonArmor.ArmorLocation.Unspecified); break; * case IndexedRegionName.Shame: item = DungeonArmor.CreateDungeonArmor(DungeonEnum.Shame, DungeonArmor.ArmorTierEnum.Tier1, DungeonArmor.ArmorLocation.Unspecified); break; * case IndexedRegionName.Hythloth: item = DungeonArmor.CreateDungeonArmor(DungeonEnum.Hythloth, DungeonArmor.ArmorTierEnum.Tier1, DungeonArmor.ArmorLocation.Unspecified); break; * * * //Luthius Expansion * case IndexedRegionName.Covetous: item = DungeonArmor.CreateDungeonArmor(DungeonEnum.Covetous, DungeonArmor.ArmorTierEnum.Tier1, DungeonArmor.ArmorLocation.Unspecified); break; * case IndexedRegionName.Wrong: item = DungeonArmor.CreateDungeonArmor(DungeonEnum.Wrong, DungeonArmor.ArmorTierEnum.Tier1, DungeonArmor.ArmorLocation.Unspecified); break; * case IndexedRegionName.Despise: item = DungeonArmor.CreateDungeonArmor(DungeonEnum.Despise, DungeonArmor.ArmorTierEnum.Tier1, DungeonArmor.ArmorLocation.Unspecified); break; * case IndexedRegionName.IceDungeon: item = DungeonArmor.CreateDungeonArmor(DungeonEnum.Ice, DungeonArmor.ArmorTierEnum.Tier1, DungeonArmor.ArmorLocation.Unspecified); break; * case IndexedRegionName.FireDungeon: item = DungeonArmor.CreateDungeonArmor(DungeonEnum.Fire, DungeonArmor.ArmorTierEnum.Tier1, DungeonArmor.ArmorLocation.Unspecified); break; */ } if (item != null) { mob.PackItem(item); } } //if (getArmor) //mob.PackItem(new ArcaneDust()); }
public static void GenerateLoot(BaseCreature creature) { double difficulty = creature.InitialDifficulty; #region High-Level Creatures if (creature.IsParagon) { creature.PackItem(new ArcaneScroll()); } if (creature.Rare) { creature.PackItem(new ArcaneScroll()); } if (creature.IsLoHBoss()) { creature.PackItem(new ArcaneScroll()); switch (Utility.RandomMinMax(1, 3)) { case 1: creature.PackItem(new SkillMasteryOrb()); break; case 2: creature.PackItem(new SkillMasteryScroll()); break; case 3: creature.PackItem(new AspectCore()); break; } } if (creature.IsChamp()) { creature.PackItem(new ArcaneScroll()); switch (Utility.RandomMinMax(1, 3)) { case 1: creature.PackItem(new SkillMasteryOrb()); break; case 2: creature.PackItem(new SkillMasteryScroll()); break; case 3: creature.PackItem(new AspectCore()); break; } } if (creature.IsBoss()) { for (int a = 0; a < 5; a++) { creature.PackItem(new ArcaneScroll()); } creature.PackItem(new SkillMasteryOrb()); creature.PackItem(new SkillMasteryScroll()); creature.PackItem(new AspectCore()); for (int a = 0; a < 2; a++) { if (Utility.RandomDouble() <= .5) { switch (Utility.RandomMinMax(1, 3)) { case 1: creature.PackItem(new SkillMasteryOrb()); break; case 2: creature.PackItem(new SkillMasteryScroll()); break; case 3: creature.PackItem(new AspectCore()); break; } } } } if (creature.IsEventBoss()) { } #endregion }