public override void AddComponents() { IronGate gate = new IronGate(DoorFacing.EastCCW); m_Gate = gate; gate.KeyValue = Key.RandomValue(); gate.Locked = true; AddItem(gate, -2, 1, 0); MetalChest chest = new MetalChest(); chest.ItemID = 0xE7C; chest.DropItem(new Key(KeyType.Iron, gate.KeyValue)); chest.LiftOverride = true; TreasureMapChest.FillOld(chest, 2); AddItem(chest, 4, 4, 0); AddMobile(new Ratman(), 15, 0, -2, 0); AddMobile(new Ratman(), 15, 0, 1, 0); AddMobile(new RatmanMage(), 15, 0, -1, 0); AddMobile(new RatmanArcher(), 15, 0, 0, 0); m_Prisoner = new BaseEscort(); m_Prisoner.YellHue = Utility.RandomList(0x57, 0x67, 0x77, 0x87, 0x117); AddMobile(m_Prisoner, 2, -2, 0, 0); }
private void AddCampChests(IronGate gate) { LockableContainer chest = null; chest = new MetalChest(); chest.ItemID = 3708; chest.LiftOverride = true; TreasureMapChest.Fill(chest, 1); chest.DropItem(new Key(KeyType.Iron, gate.KeyValue)); AddItem(chest, 4, 4, 1); LockableContainer crates = null; switch (Utility.Random(4)) { case 0: crates = new SmallCrate(); break; case 1: crates = new MediumCrate(); break; case 2: crates = new LargeCrate(); break; default: crates = new LockableBarrel(); break; } crates.TrapType = TrapType.ExplosionTrap; crates.TrapPower = Utility.RandomMinMax(30, 40); crates.TrapLevel = 2; crates.RequiredSkill = 76; crates.LockLevel = 66; crates.MaxLockLevel = 116; crates.Locked = true; crates.DropItem(new Gold(Utility.RandomMinMax(100, 400))); crates.DropItem(new Arrow(10)); crates.DropItem(new Bolt(10)); crates.LiftOverride = true; if (Utility.RandomDouble() < 0.8) { switch (Utility.Random(4)) { case 0: crates.DropItem(new LesserCurePotion()); break; case 1: crates.DropItem(new LesserExplosionPotion()); break; case 2: crates.DropItem(new LesserHealPotion()); break; default: crates.DropItem(new LesserPoisonPotion()); break; } } AddItem(crates, 2, 2, 0); }
public override void OnDeath(Container c) { base.OnDeath(c); if (!Summoned && !NoKillAwards && DemonKnight.CheckArtifactChance(this)) { DemonKnight.DistributeArtifact(this); } if (0.2 > Utility.RandomDouble()) { int r = Utility.Random(100); Item drop = null; if (r > 70) { drop = new BloodPentagramPart(Utility.Random(5)); } else if (r > 60) { drop = new MetalChest(); } else if (r > 50) { drop = new DecorativeAxeNorthDeed(); } else if (r > 40) { drop = new BrownBearRugSouthDeed(); } else if (r > 30) { drop = new BrownBearRugEastDeed(); } else if (r > 20) { drop = new StackedArrows(); } else if (r > 10) { drop = new BronzeIngots(); } else if (r > 5) { drop = new StackedShafts(); } else if (r > 1) { drop = new RareFeathers(); } else { drop = new ClothingBlessDeed(); } c.DropItem(drop); } }
public override bool OnBeforeDeath() { Item item = null; switch (Utility.Random(8)) { case 0: item = new SpecialLeggings(); item.Name = "Azothu's Leggings"; break; // Leggings case 1: item = new SpecialArms(); item.Name = "Azothu's Arms"; break; // arms case 2: item = new SpecialTunic(); item.Name = "Azothu's Tunic"; break; // Chest case 3: item = new SpecialArmor(); item.Name = "Azothu's Armor"; break; // Female Chest case 4: item = new SpecialGorget(); item.Name = "Azothu's Gorget"; break; // gorget case 5: item = new SpecialGloves(); item.Name = "Azothu's Gloves"; break; // gloves case 6: item = new SpecialHelm(); item.Name = "Azothu's Helm"; break; // helm case 7: item = new MetalChest(); item.Name = "Azothu's Locker"; break; // helm } if (item != null) { item.Hue = 0x84A; PackItem(item); } return(base.OnBeforeDeath()); }
public override void AddComponents() { IronGate gate = new IronGate(DoorFacing.EastCCW); m_Gate = gate; gate.KeyValue = Key.RandomValue(); gate.Locked = true; AddItem(gate, -2, 1, 0); MetalChest chest = new MetalChest(); chest.Movable = false; chest.ItemID = 0xE7C; // metal chest facing East chest.DropItem(new Key(KeyType.Rusty, gate.KeyValue)); LootPack.Average.Generate(chest); AddItem(chest, 4, 4, 0); AddMobile(new Orc(), 15, 0, -2, 0); AddMobile(new Orc(), 15, 0, 1, 0); AddMobile(new Orc(), 15, 0, 1, 0); AddMobile(new Orc(), 15, 0, 1, 0); AddMobile(new Orc(), 15, 0, 1, 0); AddMobile(new OrcishMage(), 15, 0, -1, 0); AddMobile(new OrcCaptain(), 15, 0, -1, 0); if (Utility.RandomBool()) { AddMobile(new OrcishLord(), 15, 0, 0, 0); } switch (Utility.Random(8)) { default: m_Prisoner = new Noble(); break; case 0: m_Prisoner = new SeekerOfAdventure(); break; case 1: m_Prisoner = new Messenger(); break; case 2: m_Prisoner = new Peasant(); break; case 3: m_Prisoner = new BrideGroom(); break; } m_Prisoner.YellHue = Utility.RandomList(0x57, 0x67, 0x77, 0x87, 0x117); AddMobile(m_Prisoner, 2, -2, 0, 0); }
public override void AddComponents() { m_Gate = new IronGate(DoorFacing.EastCCW) { KeyValue = Key.RandomValue(), Locked = true }; AddItem(m_Gate, -2, 1, 0); m_Chest = new MetalChest { ItemID = 0xE7C, LiftOverride = true }; m_Chest.DropItem(new Key(KeyType.Iron, m_Gate.KeyValue)); AddItem(m_Chest, 4, 4, 0); AddMobile(new Lizardman(), 15, 0, -2, 0); AddMobile(new Lizardman(), 15, 0, -2, 0); AddMobile(new Lizardman(), 15, 0, -2, 0); AddMobile(new LizardWarrior(), 15, 0, 1, 0); AddMobile(new LizardMage(), 15, 0, -1, 0); AddMobile(new LizardMage(), 15, 0, -1, 0); AddMobile(new LizardArcher(), 15, 0, 0, 0); AddMobile(new LizardArcher(), 15, 0, 0, 0); switch (Utility.Random(2)) { case 0: m_Prisoner = new Noble(); break; case 1: m_Prisoner = new SeekerOfAdventure(); break; } m_Prisoner.YellHue = Utility.RandomList(0x57, 0x67, 0x77, 0x87, 0x117); AddMobile(m_Prisoner, 2, -2, 0, 0); }
public override void AddComponents() { BaseCreature bc; IronGate gate = new IronGate(DoorFacing.EastCCW); m_Gate = gate; gate.KeyValue = Key.RandomValue(); gate.Locked = true; AddItem(gate, -2, 1, 0); MetalChest chest = new MetalChest(); chest.ItemID = 0xE7C; chest.LiftOverride = true; chest.DropItem(new Key(KeyType.Iron, gate.KeyValue)); /*TreasureMapChest.Fill( chest, 2 );*/ AddItem(chest, 4, 4, 1); AddMobile(new Ratman(), 15, 0, -2, 0); AddMobile(new Ratman(), 15, 0, 1, 0); AddMobile(new RatmanMage(), 15, 0, -1, 0); AddMobile(new RatmanArcher(), 15, 0, 0, 0); switch (Utility.Random(2)) { case 0: m_Prisoner = new Noble(); break; case 1: m_Prisoner = new SeekerOfAdventure(); break; } bc = (BaseCreature)m_Prisoner; bc.IsPrisoner = true; m_Prisoner.YellHue = Utility.RandomList(0x57, 0x67, 0x77, 0x87, 0x117); AddMobile(m_Prisoner, 2, -2, 0, 0); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadEncodedInt(); switch (version) { case 1: m_Chest = reader.ReadItem <MetalChest>(); m_Filled = reader.ReadBool(); goto case 0; case 0: { m_Prisoner = reader.ReadMobile(); m_Gate = reader.ReadItem <BaseDoor>(); } break; } }
public void BuildChest() { m_MetalChest = new MetalChest(); m_MetalChest.Name = "Dead Man's Chest"; m_MetalChest.Hue = Utility.RandomMetalHue(); m_MetalChest.Movable = false; // level 5 chest logic m_MetalChest.RequiredSkill = 100; m_MetalChest.LockLevel = m_MetalChest.RequiredSkill - 10; m_MetalChest.MaxLockLevel = m_MetalChest.RequiredSkill + 40; // reset the trap m_MetalChest.TrapEnabled = true; m_MetalChest.TrapPower = 5 * 25; // level 5 m_MetalChest.TrapLevel = 5; m_MetalChest.Locked = true; m_MetalChest.TrapType = Utility.RandomBool() ? TrapType.PoisonTrap : TrapType.ExplosionTrap; // setup timmed release logic string[] lines = new string[4]; lines[0] = "Movable true"; lines[1] = "TrapEnabled false"; lines[2] = "TrapPower 0"; lines[3] = "Locked true"; // the chest will become movable in 10-25 minutes DateTime SetTime = DateTime.Now + TimeSpan.FromMinutes(Utility.RandomMinMax(10, 25)); new TimedSet(m_MetalChest, SetTime, lines).MoveItemToIntStorage(); // add loot FillChest(); // move the chest to world; m_MetalChest.MoveToWorld(Location, Map); }
public override void AddComponents() { IronGate gate = new IronGate(DoorFacing.EastCCW); m_Gate = gate; gate.KeyValue = Key.RandomValue(); gate.Locked = true; AddItem(gate, -2, 1, 0); MetalChest chest = new MetalChest(); chest.ItemID = 0xE7C; chest.DropItem(new Key(KeyType.Iron, gate.KeyValue)); TreasureMapChest.Fill(chest, 2); AddItem(chest, 4, 4, 0); AddMobile(new Orc(), 15, 0, -2, 0); AddMobile(new Orc(), 15, 0, 1, 0); AddMobile(new OrcishMage(), 15, 0, -1, 0); AddMobile(new OrcCaptain(), 15, 0, 0, 0); switch (Utility.Random(2)) { case 0: m_Prisoner = new Noble(); break; case 1: m_Prisoner = new SeekerOfAdventure(); break; } m_Prisoner.YellHue = Utility.RandomList(0x57, 0x67, 0x77, 0x87, 0x117); AddMobile(m_Prisoner, 2, -2, 0, 0); }
public override Item Construct(Type type, Mobile from) { if (type == typeof(TreasureMap)) { int level; //if ( from is PlayerMobile && ((PlayerMobile)from).Young && from.Map == Map.Trammel && TreasureMap.IsInHavenIsland( from ) ) // level = 0; //else level = 1; return(new TreasureMap(level, /*from.Map == Map.Felucca ?*/ Map.Felucca /* : Map.Trammel*/)); } else if (type == typeof(MessageInABottle)) { return(new MessageInABottle(/*from.Map == Map.Felucca ?*/ Map.Felucca /* : Map.Trammel*/)); } Container pack = from.Backpack; if (pack != null) { List <SOS> messages = pack.FindItemsByType <SOS>(); for (int i = 0; i < messages.Count; ++i) { SOS sos = messages[i]; if (from.Map == sos.TargetMap && from.InRange(sos.TargetLocation, 60)) { Item preLoot = null; switch (Utility.Random(8)) { case 0: // Body parts { int[] list = new int[] { 0x1CDD, 0x1CE5, // arm 0x1CE0, 0x1CE8, // torso 0x1CE1, 0x1CE9, // head 0x1CE2, 0x1CEC // leg }; preLoot = new ShipwreckedItem(Utility.RandomList(list)); break; } case 1: // Bone parts { int[] list = new int[] { 0x1AE0, 0x1AE1, 0x1AE2, 0x1AE3, 0x1AE4, // skulls 0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B10, // bone piles 0x1B15, 0x1B16 // pelvis bones }; preLoot = new ShipwreckedItem(Utility.RandomList(list)); break; } case 2: // Paintings and portraits { preLoot = new ShipwreckedItem(Utility.Random(0xE9F, 10)); break; } case 3: // Pillows { preLoot = new ShipwreckedItem(Utility.Random(0x13A4, 11)); break; } case 4: // Shells { preLoot = new ShipwreckedItem(Utility.Random(0xFC4, 9)); break; } case 5: //Hats { if (Utility.RandomBool()) { preLoot = new SkullCap(); } else { preLoot = new TricorneHat(); } break; } case 6: // Misc { int[] list = new int[] { 0x1EB5, // unfinished barrel 0xA2A, // stool 0xC1F, // broken clock 0x1047, 0x1048, // globe 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4 // barrel staves }; if (Utility.Random(list.Length + 1) == 0) { preLoot = new Candelabra(); } else { preLoot = new ShipwreckedItem(Utility.RandomList(list)); } break; } } if (preLoot != null) { if (preLoot is IShipwreckedItem) { ((IShipwreckedItem)preLoot).IsShipwreckedItem = true; } return(preLoot); } LockableContainer chest = null; switch (Utility.Random(3)) { case 0: chest = new MetalGoldenChest(); break; case 1: chest = new MetalChest(); break; default: case 2: chest = new WoodenChest(); break; } if (sos.IsAncient) { int hue = 1150; if (0.20 > Utility.RandomDouble()) { switch (Utility.Random((chest is WoodenChest) ? 6 : 14)) { case 0: hue = 1193; break; case 1: hue = 1281; break; case 2: hue = 1190; break; case 3: hue = 1165; break; case 4: hue = 1160; break; case 5: hue = 1126; break; case 6: hue = CraftResources.GetInfo(CraftResource.Valorite).Hue; break; case 7: hue = CraftResources.GetInfo(CraftResource.Verite).Hue; break; case 8: hue = CraftResources.GetInfo(CraftResource.Agapite).Hue; break; case 9: hue = CraftResources.GetInfo(CraftResource.Gold).Hue; break; case 10: hue = CraftResources.GetInfo(CraftResource.Bronze).Hue; break; case 11: hue = CraftResources.GetInfo(CraftResource.Copper).Hue; break; case 12: hue = CraftResources.GetInfo(CraftResource.ShadowIron).Hue; break; case 13: hue = CraftResources.GetInfo(CraftResource.DullCopper).Hue; break; } } chest.Hue = hue; } else if ((chest is MetalChest || chest is MetalGoldenChest) && (0.5 * sos.Level) >= Utility.RandomDouble()) { int randhue = Utility.Random(120); CraftResource resource = CraftResource.None; if (randhue >= 118) { resource = CraftResource.Valorite; } else if (randhue >= 115) { resource = CraftResource.Verite; } else if (randhue >= 110) { resource = CraftResource.Agapite; } else if (randhue >= 100) { resource = CraftResource.Gold; } else if (randhue >= 90) { resource = CraftResource.Bronze; } else if (randhue >= 70) { resource = CraftResource.Copper; } else if (randhue >= 40) { resource = CraftResource.ShadowIron; } else { resource = CraftResource.DullCopper; } chest.Hue = CraftResources.GetInfo(resource).Hue; } int soslevel = Math.Max(1, Math.Max(4, sos.Level)); TreasureMapChest.Fill(chest, soslevel); if (sos.IsAncient) { chest.DropItem(new FabledFishingNet()); } else { chest.DropItem(new SpecialFishingNet()); } chest.Movable = true; chest.Locked = false; chest.Name = "treasure chest"; chest.IsShipwreckedItem = true; if (sos.Level > 0) { chest.TrapType = TrapType.ExplosionTrap; chest.TrapPower = soslevel * Utility.RandomMinMax(5, 15); chest.TrapLevel = 0; } else { chest.TrapType = TrapType.None; chest.TrapPower = 0; chest.TrapLevel = 0; } sos.Delete(); return(chest); } } } return(base.Construct(type, from)); }
public override void AddComponents() { BaseCreature bc; AddItem(new Static(0xFAC), 0, 0, 0); // fire pit AddItem(new Static(0xDE3), 0, 0, 0); // camp fire AddItem(new Static(0x974), 0, 0, 1); // cauldron // Chest MetalChest chest = new MetalChest(); switch (Utility.Random(3)) { case 0: chest.ItemID = 0x9AB; break; // MetalChest case 1: chest.ItemID = 0xe43; break; // WoodenChest case 2: chest.ItemID = 0x9A9; break; // SmallCrate } chest.Movable = false; chest.Locked = true; chest.TrapType = TrapType.ExplosionTrap; chest.TrapPower = Utility.RandomMinMax(30, 40); chest.TrapLevel = 2; chest.RequiredSkill = 76; chest.LockLevel = 66; chest.MaxLockLevel = 116; chest.DropItem(new Gold(Utility.RandomMinMax(100, 400))); chest.DropItem(new Arrow(10)); chest.DropItem(new Bolt(10)); if (Utility.RandomDouble() < 0.8) { switch (Utility.Random(4)) { case 0: chest.DropItem(new LesserCurePotion()); break; case 1: chest.DropItem(new LesserExplosionPotion()); break; case 2: chest.DropItem(new LesserHealPotion()); break; case 3: chest.DropItem(new LesserPoisonPotion()); break; } } if (Utility.RandomDouble() < 0.5) { Item item = Loot.RandomArmorOrShieldOrWeapon(); if (item is BaseWeapon) { BaseRunicTool.ApplyAttributesTo((BaseWeapon)item, false, 0, Utility.RandomMinMax(1, 5), 10, 100); } else if (item is BaseArmor) { BaseRunicTool.ApplyAttributesTo((BaseArmor)item, false, 0, Utility.RandomMinMax(1, 5), 10, 100); } chest.DropItem(item); } AddItem(chest, 1, 1, 1); // Brigands AddMobile(new Brigand(), 15, 0, -2, 0); AddMobile(new Brigand(), 15, 0, 1, 0); AddMobile(new Brigand(), 15, 0, -1, 0); AddMobile(new Brigand(), 15, 0, 0, 0); AddMobile(new Brigand(), 15, 0, -1, 0); AddMobile(new Brigand(), 15, 0, 0, 0); // prisioner switch (Utility.Random(2)) { case 0: m_Prisoner = new Noble(); break; case 1: m_Prisoner = new SeekerOfAdventure(); break; } bc = (BaseCreature)m_Prisoner; bc.IsPrisoner = true; m_Prisoner.YellHue = Utility.RandomList(0x57, 0x67, 0x77, 0x87, 0x117); AddMobile(m_Prisoner, 2, -2, 0, 0); }
public override void AddComponents() { Item item = new Item(0xFAC); item.Movable = false; AddItem(item, 0, 0, 0); // fire pit item = new Item(0xDE3); item.Movable = false; AddItem(item, 0, 0, 0); // camp fire item = new Item(0x974); item.Movable = false; AddItem(item, 0, 0, 1); // cauldron for (int i = 0; i < 2; i++) { LockableContainer cont = null; switch (Utility.Random(3)) { case 0: cont = new MetalChest(); break; case 1: cont = new WoodenChest(); break; case 2: cont = new SmallCrate(); break; } cont.Movable = false; cont.Locked = true; cont.TrapType = TrapType.ExplosionTrap; cont.TrapPower = Utility.RandomMinMax(30, 40); cont.TrapLevel = 2; cont.TrapEnabled = true; cont.RequiredSkill = 76; cont.LockLevel = 66; cont.MaxLockLevel = 116; cont.DropItem(new Gold(Utility.RandomMinMax(100, 400))); cont.DropItem(new Arrow(10)); cont.DropItem(new Bolt(10)); if (Utility.RandomDouble() < 0.8) { switch (Utility.Random(4)) { case 0: cont.DropItem(new LesserCurePotion()); break; case 1: cont.DropItem(new LesserExplosionPotion()); break; case 2: cont.DropItem(new LesserHealPotion()); break; case 3: cont.DropItem(new LesserPoisonPotion()); break; } } if (Utility.RandomDouble() < 0.5) { item = Loot.RandomArmorOrShieldOrWeapon(); if (item is BaseWeapon) { BaseRunicTool.ApplyAttributesTo((BaseWeapon)item, false, 0, Utility.RandomMinMax(1, 5), 10, 100); } else if (item is BaseArmor) { BaseRunicTool.ApplyAttributesTo((BaseArmor)item, false, 0, Utility.RandomMinMax(1, 5), 10, 100); } cont.DropItem(item); } AddItem(cont, Utility.RandomMinMax(-5, 5), Utility.RandomMinMax(-5, 5), 0); } m_Prisoner = new BaseEscort(); for (int i = 0; i < 4; i++) { Point3D loc = GetRandomSpawnPoint(5); AddMobile(new Brigand(), 6, 0, 0, 0); } AddMobile(m_Prisoner, 2, 2, 3, 0); }
private void AddCampChests() { LockableContainer chest = null; switch (Utility.Random(3)) { case 0: chest = new MetalChest(); break; case 1: chest = new MetalGoldenChest(); break; default: chest = new WoodenChest(); break; } chest.LiftOverride = true; TreasureMapChest.Fill(chest, 1); AddItem(chest, -2, 2, 0); LockableContainer crates = null; switch (Utility.Random(4)) { case 0: crates = new SmallCrate(); break; case 1: crates = new MediumCrate(); break; case 2: crates = new LargeCrate(); break; default: crates = new LockableBarrel(); break; } crates.TrapType = TrapType.ExplosionTrap; crates.TrapPower = Utility.RandomMinMax(30, 40); crates.TrapLevel = 2; crates.RequiredSkill = 76; crates.LockLevel = 66; crates.MaxLockLevel = 116; crates.Locked = true; crates.DropItem(new Server.Currency.Copper(Utility.RandomMinMax(100, 200))); crates.DropItem(new Arrow(10)); crates.DropItem(new Bolt(10)); crates.LiftOverride = true; if (Utility.RandomDouble() < 0.8) { switch (Utility.Random(4)) { case 0: crates.DropItem(new LesserCurePotion()); break; case 1: crates.DropItem(new LesserExplosionPotion()); break; case 2: crates.DropItem(new LesserHealPotion()); break; default: crates.DropItem(new LesserPoisonPotion()); break; } } AddItem(crates, 2, -2, 0); }
private void AddCampChests() { LockableContainer chest = null; switch (Utility.Random(3)) { case 0: chest = new MetalChest(); break; case 1: chest = new MetalGoldenChest(); break; default: chest = new WoodenChest(); break; } chest.LiftOverride = true; TreasureMapChest.Fill(chest, Utility.Random(10, 40), Utility.Random(1, 2), false, Map.SerpentIsle); //UOSI draws random values for level and luck this.AddItem(chest, -2, 2, 0); LockableContainer crates = null; switch (Utility.Random(4)) { case 0: crates = new SmallCrate(); break; case 1: crates = new MediumCrate(); break; case 2: crates = new LargeCrate(); break; default: crates = new LockableBarrel(); break; } crates.TrapType = TrapType.ExplosionTrap; crates.TrapPower = Utility.RandomMinMax(30, 40); crates.TrapLevel = 2; crates.RequiredSkill = 76; crates.LockLevel = 66; crates.MaxLockLevel = 116; crates.Locked = true; crates.DropItem(new Gold(Utility.RandomMinMax(100, 400))); crates.DropItem(new Arrow(10)); crates.DropItem(new Bolt(10)); crates.LiftOverride = true; if (Utility.RandomDouble() < 0.8) { switch (Utility.Random(4)) { case 0: crates.DropItem(new LesserCurePotion()); break; case 1: crates.DropItem(new LesserExplosionPotion()); break; case 2: crates.DropItem(new LesserHealPotion()); break; default: crates.DropItem(new LesserPoisonPotion()); break; } } this.AddItem(crates, 2, -2, 0); }
public override void GenerateLoot() { if (Utility.Random(100) <= 20) { int hue = Utility.RandomMinMax(1, 1001); Sandals sandals = new Sandals(); sandals.Hue = hue; PackItem(sandals); } if (Utility.Random(100) <= 10) { int hue = Utility.RandomMinMax(1, 1001); Sandals sandals = new Sandals(); sandals.Hue = hue; PackItem(sandals); } if (Utility.Random(100) <= 5) { int hue = Utility.RandomMinMax(1, 1001); Sandals sandals = new Sandals(); sandals.Hue = hue; PackItem(sandals); } if (Utility.Random(100) <= 5) { int hue = Utility.RandomMinMax(1201, 1255); Sandals sandals = new Sandals(); sandals.Hue = hue; PackItem(sandals); } if (Utility.Random(100) <= 2) { int hue = Utility.RandomMinMax(2101, 2130); Sandals sandals = new Sandals(); sandals.Hue = hue; PackItem(sandals); } if (Utility.Random(100) <= 1) { int hue = 2936; Sandals sandals = new Sandals(); sandals.Hue = hue; PackItem(sandals); } if (Utility.Random(1000) <= 2) { int hue; Sandals sandals = new Sandals(); switch (Utility.Random(7)) { case 0: hue = 1155; break; case 1: hue = 1156; break; case 2: hue = 1157; break; case 3: hue = 1158; break; case 4: hue = 1160; break; case 5: hue = 1172; break; default: hue = 1175; break; } sandals.Hue = hue; PackItem(sandals); } if (Utility.Random(1000) <= 2) { int hue; Sandals sandals = new Sandals(); switch (Utility.Random(5)) { case 0: hue = 1176; break; case 1: hue = 1171; break; case 2: hue = 1159; break; case 3: hue = 1170; break; default: hue = 1161; break; } sandals.Hue = hue; PackItem(sandals); } double chance = Utility.RandomDouble(); if (chance <= 0.10) { Seed seed; PlantType type; switch (Utility.Random(17)) { case 0: type = PlantType.CampionFlowers; break; case 1: type = PlantType.Poppies; break; case 2: type = PlantType.Snowdrops; break; case 3: type = PlantType.Bulrushes; break; case 4: type = PlantType.Lilies; break; case 5: type = PlantType.PampasGrass; break; case 6: type = PlantType.Rushes; break; case 7: type = PlantType.ElephantEarPlant; break; case 8: type = PlantType.Fern; break; case 9: type = PlantType.PonytailPalm; break; case 10: type = PlantType.SmallPalm; break; case 11: type = PlantType.CenturyPlant; break; case 12: type = PlantType.WaterPlant; break; case 13: type = PlantType.SnakePlant; break; case 14: type = PlantType.PricklyPearCactus; break; case 15: type = PlantType.BarrelCactus; break; default: type = PlantType.TribarrelCactus; break; } PlantHue hue; switch (Utility.Random(19)) { case 0: hue = PlantHue.Plain; break; case 1: hue = PlantHue.Red; break; case 2: hue = PlantHue.Blue; break; case 3: hue = PlantHue.Yellow; break; case 4: hue = PlantHue.BrightRed; break; case 5: hue = PlantHue.BrightBlue; break; case 6: hue = PlantHue.BrightYellow; break; case 7: hue = PlantHue.Purple; break; case 8: hue = PlantHue.Green; break; case 9: hue = PlantHue.Orange; break; case 10: hue = PlantHue.BrightPurple; break; case 11: hue = PlantHue.BrightGreen; break; case 12: hue = PlantHue.BrightOrange; break; case 13: hue = PlantHue.Black; break; case 14: hue = PlantHue.White; break; case 15: hue = PlantHue.Pink; break; case 16: hue = PlantHue.Magenta; break; case 17: hue = PlantHue.Aqua; break; default: hue = PlantHue.FireRed; break; } seed = new Seed(type, hue, false); PackItem(seed); if (Utility.Random(500) == 1) { PackItem(new BlackDyeTub()); } if (Utility.Random(100) < 15) { Item item; switch (Utility.Random(111)) { case 0: item = new Tapestry6W(); break; case 1: item = new MetalChest(); break; case 2: item = new MetalGoldenChest(); break; case 3: item = new MetalBox(); break; case 4: item = new AniLargeVioletFlask(); break; case 5: item = new AniRedRibbedFlask(); break; case 6: item = new AniSmallBlueFlask(); break; case 7: item = new BlueBeaker(); break; case 8: item = new BlueCurvedFlask(); break; case 9: item = new EmptyVial(); break; case 10: item = new EmptyVialsWRack(); break; case 11: item = new LargeFlask(); break; case 12: item = new LargeVioletFlask(); break; //case 13: item = new HourGlass(); break; //case 14: item = new HourGlassAni(); break; case 15: item = new DecorativeDAxeWest(); break; case 16: item = new DecorativeDAxeNorth(); break; case 17: item = new DecorativeBowWest(); break; case 18: item = new DecorativeBowNorth(); break; case 19: item = new DecorativeAxeWest(); break; case 20: item = new DecorativeAxeNorth(); break; case 21: item = new DecorativeShieldSword2West(); break; case 22: item = new DecorativeShieldSword2North(); break; case 23: item = new DecorativeShieldSword1West(); break; case 24: item = new DecorativeShieldSword1North(); break; case 25: item = new DecorativeShield11(); break; case 26: item = new DecorativeShield10(); break; case 27: item = new DecorativeShield9(); break; case 28: item = new DecorativeShield8(); break; case 29: item = new DecorativeShield7(); break; case 30: item = new DecorativeShield6(); break; case 31: item = new DecorativeShield5(); break; case 32: item = new DecorativeShield4(); break; case 33: item = new DecorativeShield3(); break; case 34: item = new DecorativeShield2(); break; case 35: item = new DecorativeShield1(); break; case 36: item = new Whip(); break; case 37: item = new SilverWire(); break; case 38: item = new Rope(); break; case 39: item = new PaintsAndBrush(); break; case 40: item = new IronWire(); break; case 41: item = new GoldWire(); break; case 42: item = new CopperWire(); break; case 43: item = new WoodDebris(); break; case 44: item = new RuinedPainting(); break; case 45: item = new RuinedFallenChairB(); break; case 46: item = new FullVialsWRack(); break; case 47: item = new FullJar(); break; case 48: item = new FullJars2(); break; case 49: item = new FullJars3(); break; case 50: item = new FullJars4(); break; case 51: item = new GreenBeaker(); break; case 52: item = new GreenBottle(); break; case 53: item = new VioletStemmedBottle(); break; case 54: item = new SpinningHourglass(); break; case 55: item = new ArcheryButte(); break; case 56: item = new PhillipsWoodenSteed(); break; case 57: item = new PileOfGlacialSnow(); break; case 58: item = new RedPoinsettia(); break; case 59: item = new RoseOfTrinsic(); break; case 60: item = new RaiseSwitch(); break; case 61: item = new SpecialFishingNet(); break; case 62: item = new SpecialHairDye(); break; case 63: item = new SpecialBeardDye(); break; case 64: item = new SnowPile(); break; case 65: item = new StatueEast2(); break; case 66: item = new StatuePegasus2(); break; case 67: item = new StatueSouth2(); break; case 68: item = new StatueSouthEast(); break; case 69: item = new StatuetteDyeTub(); break; case 70: item = new StatueWest(); break; case 71: item = new TapestryOfSosaria(); break; case 72: item = new WhitePoinsettia(); break; case 73: item = new WindChimes(); break; case 74: item = new ZoogiFungus(); break; case 75: item = new RuinedFallenChairA(); break; case 76: item = new RuinedDrawers(); break; case 77: item = new RuinedClock(); break; case 78: item = new RuinedChair(); break; case 79: item = new RuinedBooks(); break; case 80: item = new RuinedBookcase(); break; case 81: item = new RuinedArmoire(); break; case 82: item = new SmallStretchedHideSouthDeed(); break; case 83: item = new SmallStretchedHideEastDeed(); break; case 84: item = new PolarBearRugSouthDeed(); break; case 85: item = new PolarBearRugEastDeed(); break; case 86: item = new MediumStretchedHideSouthDeed(); break; case 87: item = new MediumStretchedHideEastDeed(); break; case 88: item = new LightFlowerTapestrySouthDeed(); break; case 89: item = new LightFlowerTapestryEastDeed(); break; case 90: item = new DarkFlowerTapestrySouthDeed(); break; case 91: item = new DarkFlowerTapestryEastDeed(); break; case 92: item = new BrownBearRugSouthDeed(); break; case 93: item = new BrownBearRugEastDeed(); break; case 94: item = new WallSconce(); break; case 95: item = new WallTorch(); break; case 96: item = new CandleShort(); break; case 97: item = new CandleLarge(); break; case 98: item = new DecorativeSwordNorth(); break; case 99: item = new DecorativeSwordWest(); break; case 100: item = new Tapestry1N(); break; case 101: item = new Tapestry2N(); break; case 102: item = new Tapestry2W(); break; case 103: item = new Tapestry3N(); break; case 104: item = new Tapestry3W(); break; case 105: item = new Tapestry4N(); break; case 106: item = new Tapestry4W(); break; case 107: item = new Tapestry5N(); break; case 108: item = new Tapestry5W(); break; case 109: item = new Tapestry6N(); break; default: item = new CandleSkull(); break; } item.LootType = LootType.Regular; item.Movable = true; PackItem(item); } if (Utility.Random(100) < 10) { Item item; switch (Utility.Random(111)) { case 0: item = new Tapestry6W(); break; case 1: item = new MetalChest(); break; case 2: item = new MetalGoldenChest(); break; case 3: item = new MetalBox(); break; case 4: item = new AniLargeVioletFlask(); break; case 5: item = new AniRedRibbedFlask(); break; case 6: item = new AniSmallBlueFlask(); break; case 7: item = new BlueBeaker(); break; case 8: item = new BlueCurvedFlask(); break; case 9: item = new EmptyVial(); break; case 10: item = new EmptyVialsWRack(); break; case 11: item = new LargeFlask(); break; case 12: item = new LargeVioletFlask(); break; //case 13: item = new HourGlass(); break; //case 14: item = new HourGlassAni(); break; case 15: item = new DecorativeDAxeWest(); break; case 16: item = new DecorativeDAxeNorth(); break; case 17: item = new DecorativeBowWest(); break; case 18: item = new DecorativeBowNorth(); break; case 19: item = new DecorativeAxeWest(); break; case 20: item = new DecorativeAxeNorth(); break; case 21: item = new DecorativeShieldSword2West(); break; case 22: item = new DecorativeShieldSword2North(); break; case 23: item = new DecorativeShieldSword1West(); break; case 24: item = new DecorativeShieldSword1North(); break; case 25: item = new DecorativeShield11(); break; case 26: item = new DecorativeShield10(); break; case 27: item = new DecorativeShield9(); break; case 28: item = new DecorativeShield8(); break; case 29: item = new DecorativeShield7(); break; case 30: item = new DecorativeShield6(); break; case 31: item = new DecorativeShield5(); break; case 32: item = new DecorativeShield4(); break; case 33: item = new DecorativeShield3(); break; case 34: item = new DecorativeShield2(); break; case 35: item = new DecorativeShield1(); break; case 36: item = new Whip(); break; case 37: item = new SilverWire(); break; case 38: item = new Rope(); break; case 39: item = new PaintsAndBrush(); break; case 40: item = new IronWire(); break; case 41: item = new GoldWire(); break; case 42: item = new CopperWire(); break; case 43: item = new WoodDebris(); break; case 44: item = new RuinedPainting(); break; case 45: item = new RuinedFallenChairB(); break; case 46: item = new FullVialsWRack(); break; case 47: item = new FullJar(); break; case 48: item = new FullJars2(); break; case 49: item = new FullJars3(); break; case 50: item = new FullJars4(); break; case 51: item = new GreenBeaker(); break; case 52: item = new GreenBottle(); break; case 53: item = new VioletStemmedBottle(); break; case 54: item = new SpinningHourglass(); break; case 55: item = new ArcheryButte(); break; case 56: item = new PhillipsWoodenSteed(); break; case 57: item = new PileOfGlacialSnow(); break; case 58: item = new RedPoinsettia(); break; case 59: item = new RoseOfTrinsic(); break; case 60: item = new RaiseSwitch(); break; case 61: item = new SpecialFishingNet(); break; case 62: item = new SpecialHairDye(); break; case 63: item = new SpecialBeardDye(); break; case 64: item = new SnowPile(); break; case 65: item = new StatueEast2(); break; case 66: item = new StatuePegasus2(); break; case 67: item = new StatueSouth2(); break; case 68: item = new StatueSouthEast(); break; case 69: item = new StatuetteDyeTub(); break; case 70: item = new StatueWest(); break; case 71: item = new TapestryOfSosaria(); break; case 72: item = new WhitePoinsettia(); break; case 73: item = new WindChimes(); break; case 74: item = new ZoogiFungus(); break; case 75: item = new RuinedFallenChairA(); break; case 76: item = new RuinedDrawers(); break; case 77: item = new RuinedClock(); break; case 78: item = new RuinedChair(); break; case 79: item = new RuinedBooks(); break; case 80: item = new RuinedBookcase(); break; case 81: item = new RuinedArmoire(); break; case 82: item = new SmallStretchedHideSouthDeed(); break; case 83: item = new SmallStretchedHideEastDeed(); break; case 84: item = new PolarBearRugSouthDeed(); break; case 85: item = new PolarBearRugEastDeed(); break; case 86: item = new MediumStretchedHideSouthDeed(); break; case 87: item = new MediumStretchedHideEastDeed(); break; case 88: item = new LightFlowerTapestrySouthDeed(); break; case 89: item = new LightFlowerTapestryEastDeed(); break; case 90: item = new DarkFlowerTapestrySouthDeed(); break; case 91: item = new DarkFlowerTapestryEastDeed(); break; case 92: item = new BrownBearRugSouthDeed(); break; case 93: item = new BrownBearRugEastDeed(); break; case 94: item = new WallSconce(); break; case 95: item = new WallTorch(); break; case 96: item = new CandleShort(); break; case 97: item = new CandleLarge(); break; case 98: item = new DecorativeSwordNorth(); break; case 99: item = new DecorativeSwordWest(); break; case 100: item = new Tapestry1N(); break; case 101: item = new Tapestry2N(); break; case 102: item = new Tapestry2W(); break; case 103: item = new Tapestry3N(); break; case 104: item = new Tapestry3W(); break; case 105: item = new Tapestry4N(); break; case 106: item = new Tapestry4W(); break; case 107: item = new Tapestry5N(); break; case 108: item = new Tapestry5W(); break; case 109: item = new Tapestry6N(); break; default: item = new CandleSkull(); break; } item.LootType = LootType.Regular; item.Movable = true; PackItem(item); } } }
public override void AddComponents() { IronGate gate = new IronGate(DoorFacing.EastCCW); m_Gate = gate; gate.KeyValue = Key.RandomValue(); gate.Locked = true; AddItem(gate, -2, 1, 0); MetalChest chest = new MetalChest(); chest.ItemID = 0xE7C; chest.LiftOverride = true; chest.DropItem(new Key(KeyType.Iron, gate.KeyValue)); TreasureMapChest.Fill(chest, 3); //<---------Loot AddItem(chest, 4, 4, 1); //<------z +1 to hover over static switch (Utility.Random(4)) { case 0: { AddMobile(new Orc(), 15, 0, -2, 0); AddMobile(new OrcishMage(), 15, 0, 1, 0); AddMobile(new OrcishLord(), 15, 0, -2, 0); AddMobile(new OrcCaptain(), 15, 0, 1, 0); AddMobile(new Orc(), 15, 0, -1, 0); AddMobile(new OrcChopper(), 15, 0, -2, 0); } break; case 1: { AddMobile(new Ratman(), 15, 0, -2, 0); AddMobile(new Ratman(), 15, 0, 1, 0); AddMobile(new RatmanMage(), 15, 0, -2, 0); AddMobile(new Ratman(), 15, 0, 1, 0); AddMobile(new RatmanArcher(), 15, 0, -1, 0); AddMobile(new Ratman(), 15, 0, -2, 0); } break; case 2: { AddMobile(new Lizardman(), 15, 0, -2, 0); AddMobile(new Lizardman(), 15, 0, 1, 0); AddMobile(new Lizardman(), 15, 0, -2, 0); AddMobile(new Lizardman(), 15, 0, 1, 0); AddMobile(new Lizardman(), 15, 0, -1, 0); AddMobile(new Lizardman(), 15, 0, -2, 0); } break; case 3: { AddMobile(new Brigand(), 15, 0, -2, 0); AddMobile(new Brigand(), 15, 0, 1, 0); AddMobile(new Brigand(), 15, 0, -2, 0); AddMobile(new Brigand(), 15, 0, 1, 0); AddMobile(new Brigand(), 15, 0, -1, 0); AddMobile(new Brigand(), 15, 0, -2, 0); } break; } switch (Utility.Random(2)) { case 0: m_Prisoner = new Noble(); break; case 1: m_Prisoner = new SeekerOfAdventure(); break; } m_Prisoner.YellHue = Utility.RandomList(0x57, 0x67, 0x77, 0x87, 0x117); AddMobile(m_Prisoner, 2, -2, 0, 0); }
private Item CreateItem(int ItemID) // Create the appropriate item class - Defaults to a Static Item { Item item = null; switch (ItemID) { #region MobileSaver case 0x0001: // Now used for Mobile Importing. { item = new Static(0x1); break; } #endregion case 0x1F19: // Add any unwanted items here. case 0x0FB7: // TODO: Boat parts: planks, tillerman, etc. break; case 0x0FB1: //forge item = new SmallForgeAddon(); break; case 0x0FAF: //anvil east item = new AnvilEastAddon(); break; case 0x0FB0: //anvil south item = new AnvilSouthAddon(); break; case 0x2DD8: //Elven Forge item = new ElvenForgeAddon(); break; case 0x1922: //FlourMill East item = new FlourMillEastAddon(); break; case 0x1920: case 0x1924: break; //Don't add those items since the addon has them. case 0x192E: //FlourMill South item = new FlourMillSouthAddon(); break; case 0x192C: case 0x1930: break; //Don't add those items since the addon has them. case 0x1060: //Loom East item = new LoomEastAddon(); break; case 0x105F: break; //Don't add those items since the addon has them. case 0x1061: //Loom South item = new LoomSouthAddon(); break; case 0x1062: break; //Don't add those items since the addon has them. case 0x1019: //Spinningwheel East item = new SpinningwheelEastAddon(); break; case 0x1015: //Spinningwheel South item = new SpinningwheelSouthAddon(); break; // Housing Metal Doors case 0x679: item = new NorthWestDoor(); break; case 0x67B: item = new NorthEastDoor(); break; case 0x675: item = new SouthWestDoor(); break; case 0x677: item = new SouthEastDoor(); break; case 0x683: item = new WestNorthDoor(); break; case 0x681: item = new WestSouthDoor(); break; case 0x67F: item = new EastNorthDoor(); break; case 0x67D: item = new EastSouthDoor(); break; /* * case 0x0675: // Metal Doors 2 NOTE: Some doors seem to open the wrong way, but there's no way to determine correct CCW/CW from the POL file. * item = new MetalDoor2( DoorFacing.WestCW ); * break; * case 0x0677: * item = new MetalDoor2( DoorFacing.EastCCW ); * break; * case 0x067D: * item = new MetalDoor2( DoorFacing.SouthCW ); * break; * case 0x067F: * item = new MetalDoor2( DoorFacing.NorthCCW ); * break; */ case 0x0685: // Barred Metal Doors item = new BarredMetalDoor(DoorFacing.WestCW); break; case 0x0687: item = new BarredMetalDoor(DoorFacing.EastCCW); break; case 0x068D: item = new BarredMetalDoor(DoorFacing.SouthCW); break; case 0x068F: item = new BarredMetalDoor(DoorFacing.NorthCCW); break; case 0x0695: // Rattan Doors item = new RattanDoor(DoorFacing.WestCW); break; case 0x0697: item = new RattanDoor(DoorFacing.EastCCW); break; case 0x069D: item = new RattanDoor(DoorFacing.SouthCW); break; case 0x069F: item = new RattanDoor(DoorFacing.NorthCCW); break; case 0x06A5: // Dark Wood Doors item = new DarkWoodDoor(DoorFacing.WestCW); break; case 0x06A7: item = new DarkWoodDoor(DoorFacing.EastCCW); break; case 0x06AD: item = new DarkWoodDoor(DoorFacing.SouthCW); break; case 0x06AF: item = new DarkWoodDoor(DoorFacing.NorthCCW); break; case 0x06B5: // Medium Wood Doors item = new MediumWoodDoor(DoorFacing.WestCW); break; case 0x06B7: item = new MediumWoodDoor(DoorFacing.EastCCW); break; case 0x06BD: item = new MediumWoodDoor(DoorFacing.SouthCW); break; case 0x06BF: item = new MediumWoodDoor(DoorFacing.NorthCCW); break; /* * case 0x06C5: // Metal Doors * item = new MetalDoor( DoorFacing.WestCW ); * break; * case 0x06C7: * item = new MetalDoor( DoorFacing.EastCCW ); * break; * case 0x06CD: * item = new MetalDoor( DoorFacing.SouthCW ); * break; * case 0x06CF: * item = new MetalDoor( DoorFacing.NorthCCW ); * break; */ case 0x06D5: // Light Wood Doors item = new LightWoodDoor(DoorFacing.WestCW); break; case 0x06D7: item = new LightWoodDoor(DoorFacing.EastCCW); break; case 0x06DD: item = new LightWoodDoor(DoorFacing.SouthCW); break; case 0x06DF: item = new LightWoodDoor(DoorFacing.NorthCCW); break; case 0x06E5: // Strong Wood Doors item = new StrongWoodDoor(DoorFacing.WestCW); break; case 0x06E7: item = new StrongWoodDoor(DoorFacing.EastCCW); break; case 0x06ED: item = new StrongWoodDoor(DoorFacing.SouthCW); break; case 0x06EF: item = new StrongWoodDoor(DoorFacing.NorthCCW); break; case 0x2A05: //South facing West half Paper door (SE) item = new SWPaperSEDoor(); break; case 0x2A07: //South facing East half Paper door (SE) item = new SEPaperSEDoor(); break; case 0x2A09: //East facing South half Paper door (SE) item = new ESPaperSEDoor(); break; case 0x2A0B: //East facing North half Paper door (SE) item = new ENPaperSEDoor(); break; case 0x2A0D: //South facing West half Cloth door (SE) item = new SWClothSEDoor(); break; case 0x2A0F: //South facing East half Cloth door (SE) item = new SEClothSEDoor(); break; case 0x2A11: //East facing South half Cloth door (SE) item = new ESClothSEDoor(); break; case 0x2A13: //East facing North half Cloth door (SE) item = new ENClothSEDoor(); break; case 0x2A16: //South facing West half Wooden door (SE) item = new SWWoodenSEDoor(); break; case 0x2A17: //South facing East half Wooden door (SE) item = new SEWoodenSEDoor(); break; case 0x2A19: //East facing South half Wooden door (SE) item = new ESWoodenSEDoor(); break; case 0x2A1B: //East facing North half Wooden door (SE) item = new ENWoodenSEDoor(); break; case 0xE77: //Barrel item = new Barrel(); item.Movable = false; break; case 0xE7F: //Keg item = new Keg(); item.Movable = false; break; case 0xE7A: //PicnicBasket item = new PicnicBasket(); item.Movable = false; break; case 0x990: //Basket item = new Basket(); item.Movable = false; break; case 0x9AA: //WoodenBox (0xE7D) item = new WoodenBox(); item.Movable = false; break; case 0xE7D: //WoodenBox (0xE7D) item = new WoodenBox(); item.Movable = false; item.ItemID = 0xE7D; break; case 0x9A9: //SmallCrate (0xE7E) item = new SmallCrate(); item.Movable = false; break; case 0xE7E: //SmallCrate (0xE7E) item = new SmallCrate(); item.Movable = false; item.ItemID = 0xE7E; break; case 0xE3F: //MediumCrate (0xE3E) item = new MediumCrate(); item.Movable = false; break; case 0xE3E: //MediumCrate (0xE3E) item = new MediumCrate(); item.Movable = false; item.ItemID = 0xE3E; break; case 0xE3D: //LargeCrate (0xE3C) item = new LargeCrate(); item.Movable = false; break; case 0xE3C: //LargeCrate (0xE3C) item = new LargeCrate(); item.Movable = false; item.ItemID = 0xE3C; break; case 0x9A8: //MetalBox (0xE80) item = new MetalBox(); item.Movable = false; break; case 0xE80: //MetalBox (0xE80) item = new MetalBox(); item.Movable = false; item.ItemID = 0xE80; break; case 0x9AB: //MetalChest (0xE7C) item = new MetalChest(); item.Movable = false; break; case 0xE7C: //MetalChest (0xE7C) item = new MetalChest(); item.Movable = false; item.ItemID = 0xE7C; break; case 0xE41: //MetalGoldenChest (0xE40) item = new MetalGoldenChest(); item.Movable = false; break; case 0xE40: //MetalGoldenChest (0xE40) item = new MetalGoldenChest(); item.Movable = false; item.ItemID = 0xE40; break; case 0xe43: //WoodenChest (0xe42) item = new WoodenChest(); item.Movable = false; break; case 0xe42: //WoodenChest (0xe42) item = new WoodenChest(); item.Movable = false; item.ItemID = 0xe42; break; case 0x280B: //PlainWoodenChest (0x280C) item = new PlainWoodenChest(); item.Movable = false; break; case 0x280C: //PlainWoodenChest (0x280C) item = new PlainWoodenChest(); item.Movable = false; item.ItemID = 0x280C; break; case 0x280D: //OrnateWoodenChest (0x280E) item = new OrnateWoodenChest(); item.Movable = false; break; case 0x280E: //OrnateWoodenChest (0x280E) item = new OrnateWoodenChest(); item.Movable = false; item.ItemID = 0x280E; break; case 0x280F: //GildedWoodenChest (0x2810) item = new GildedWoodenChest(); item.Movable = false; break; case 0x2810: //GildedWoodenChest (0x2810) item = new GildedWoodenChest(); item.Movable = false; item.ItemID = 0x2810; break; case 0x2811: //WoodenFootLocker (0x2812) item = new WoodenFootLocker(); item.Movable = false; break; case 0x2812: //WoodenFootLocker (0x2812) item = new WoodenFootLocker(); item.Movable = false; item.ItemID = 0x2812; break; case 0x2813: //FinishedWoodenChest (0x2814) item = new FinishedWoodenChest(); item.Movable = false; break; case 0x2814: //FinishedWoodenChest (0x2814) item = new FinishedWoodenChest(); item.Movable = false; item.ItemID = 0x2814; break; case 0x2815: //TallCabinet (0x2816) item = new TallCabinet(); item.Movable = false; break; case 0x2816: //TallCabinet (0x2816) item = new TallCabinet(); item.Movable = false; item.ItemID = 0x2816; break; case 0x2817: //ShortCabinet (0x2818) item = new ShortCabinet(); item.Movable = false; break; case 0x2818: //ShortCabinet (0x2818) item = new ShortCabinet(); item.Movable = false; item.ItemID = 0x2818; break; case 0x2857: //RedArmoire (0x2858) item = new RedArmoire(); item.Movable = false; break; case 0x2858: //RedArmoire (0x2858) item = new RedArmoire(); item.Movable = false; item.ItemID = 0x2858; break; case 0x285D: //CherryArmoire (0x285E) item = new CherryArmoire(); item.Movable = false; break; case 0x285E: //CherryArmoire (0x285E) item = new CherryArmoire(); item.Movable = false; item.ItemID = 0x285E; break; case 0x285B: //MapleArmoire (0x285C) item = new MapleArmoire(); item.Movable = false; break; case 0x285C: //MapleArmoire (0x285C) item = new MapleArmoire(); item.Movable = false; item.ItemID = 0x285C; break; case 0x2859: //ElegantArmoire (0x285A) item = new ElegantArmoire(); item.Movable = false; break; case 0x285A: //ElegantArmoire (0x285A) item = new ElegantArmoire(); item.Movable = false; item.ItemID = 0x285A; break; case 0xA97: //FullBookcase (0xa97, 0xa99, 0xa98, 0xa9a, 0xa9b, 0xa9c) item = new FullBookcase(); item.Movable = false; break; case 0xA99: //FullBookcase (0xa97, 0xa99, 0xa98, 0xa9a, 0xa9b, 0xa9c) item = new FullBookcase(); item.Movable = false; item.ItemID = 0xa99; break; case 0xA98: //FullBookcase (0xa97, 0xa99, 0xa98, 0xa9a, 0xa9b, 0xa9c) item = new FullBookcase(); item.Movable = false; item.ItemID = 0xa98; break; case 0xA9a: //FullBookcase (0xa97, 0xa99, 0xa98, 0xa9a, 0xa9b, 0xa9c) item = new FullBookcase(); item.Movable = false; item.ItemID = 0xa9a; break; case 0xA9b: //FullBookcase (0xa97, 0xa99, 0xa98, 0xa9a, 0xa9b, 0xa9c) item = new FullBookcase(); item.Movable = false; item.ItemID = 0xa9b; break; case 0xA9c: //FullBookcase (0xa97, 0xa99, 0xa98, 0xa9a, 0xa9b, 0xa9c) item = new FullBookcase(); item.Movable = false; item.ItemID = 0xa9c; break; case 0xA9D: //EmptyBookcase (0xa9e) item = new EmptyBookcase(); item.Movable = false; break; case 0xa9e: //EmptyBookcase (0xa9e) item = new EmptyBookcase(); item.Movable = false; item.ItemID = 0xa9e; break; case 0xA2C: //Drawer (0xa34) item = new Drawer(); item.Movable = false; break; case 0xa34: //Drawer (0xa34) item = new Drawer(); item.Movable = false; item.ItemID = 0xa34; break; case 0xA30: //FancyDrawer (0xa38) item = new FancyDrawer(); item.Movable = false; break; case 0xa38: //FancyDrawer (0xa38) item = new FancyDrawer(); item.Movable = false; item.ItemID = 0xa38; break; case 0xA4F: //Armoire (0xa53) item = new Armoire(); item.Movable = false; break; case 0xa53: //Armoire (0xa53) item = new Armoire(); item.Movable = false; item.ItemID = 0xa53; break; case 0xA4D: //FancyArmoire (0xa51) item = new FancyArmoire(); item.Movable = false; break; case 0xa51: //FancyArmoire (0xa51) item = new FancyArmoire(); item.Movable = false; item.ItemID = 0xa51; break; default: item = new Static(ItemID); item.Movable = false; break; } return(item); }
public override void AddComponents() { AddItem(new Item(0xFAC), 0, 0, 0); // fire pit AddItem(new Item(0xDE3), 0, 0, 0); // camp fire AddItem(new Item(0x974), 0, 0, 1); // cauldron for (int i = 0; i < 2; i++) { LockableContainer cont = null; switch (Utility.Random(3)) { case 0: cont = new MetalChest(); break; case 1: cont = new WoodenChest(); break; case 2: cont = new SmallCrate(); break; } cont.Movable = false; cont.Locked = true; cont.TrapType = TrapType.ExplosionTrap; cont.TrapPower = Utility.RandomMinMax(30, 40); cont.TrapLevel = 2; cont.RequiredSkill = 76; cont.LockLevel = 66; cont.MaxLockLevel = 116; cont.DropItem(new Gold(Utility.RandomMinMax(100, 400))); cont.DropItem(new Arrow(10)); cont.DropItem(new Bolt(10)); if (Utility.RandomDouble() < 0.8) { switch (Utility.Random(4)) { case 0: cont.DropItem(new LesserCurePotion()); break; case 1: cont.DropItem(new LesserExplosionPotion()); break; case 2: cont.DropItem(new LesserHealPotion()); break; case 3: cont.DropItem(new LesserPoisonPotion()); break; } } if (Utility.RandomDouble() < 0.5) { Item item = Loot.RandomArmorOrShieldOrWeapon(); if (item is BaseWeapon) { BaseRunicTool.ApplyAttributesTo((BaseWeapon)item, false, 0, Utility.RandomMinMax(1, 5), 10, 100); } else if (item is BaseArmor) { BaseRunicTool.ApplyAttributesTo((BaseArmor)item, false, 0, Utility.RandomMinMax(1, 5), 10, 100); } cont.DropItem(item); } Point3D loc = GetRandomSpawnPoint(3); AddItem(cont, loc.X, loc.Y, loc.Z); } switch (Utility.Random(2)) { case 0: m_Prisoner = new Noble(); break; case 1: m_Prisoner = new SeekerOfAdventure(); break; } for (int i = 0; i < 4; i++) { Point3D loc = GetRandomSpawnPoint(5); AddMobile(Camper, 6, loc.X, loc.Y, loc.Z); } Point3D p = GetRandomSpawnPoint(3); AddMobile(m_Prisoner, 0, p.X, p.Y, p.Z); Console.WriteLine(Location.ToString()); }
public override void AddComponents() { this.AddItem(new Item(0xFAC), 0, 0, 0); // fire pit this.AddItem(new Item(0xDE3), 0, 0, 0); // camp fire this.AddItem(new Item(0x974), 0, 0, 1); // cauldron for (int i = 0; i < 2; i++) { LockableContainer cont = null; switch (Utility.Random(3)) { case 0: cont = new MetalChest(); break; case 1: cont = new WoodenChest(); break; case 2: cont = new SmallCrate(); break; } cont.Movable = false; cont.Locked = true; cont.TrapType = TrapType.ExplosionTrap; cont.TrapPower = Utility.RandomMinMax(30, 40); cont.TrapLevel = 2; cont.RequiredSkill = 76; cont.LockLevel = 66; cont.MaxLockLevel = 116; cont.DropItem(new Gold(Utility.RandomMinMax(100, 400))); cont.DropItem(new Arrow(10)); cont.DropItem(new Bolt(10)); if (Utility.RandomDouble() < 0.8) { switch (Utility.Random(4)) { case 0: cont.DropItem(new LesserCurePotion()); break; case 1: cont.DropItem(new LesserExplosionPotion()); break; case 2: cont.DropItem(new LesserHealPotion()); break; case 3: cont.DropItem(new LesserPoisonPotion()); break; } } if (Utility.RandomDouble() < 0.5) { Item item = Loot.RandomArmorOrShieldOrWeapon(); cont.DropItem(item); } Point3D loc = this.GetRandomSpawnPoint(3); this.AddItem(cont, loc.X, loc.Y, loc.Z); } switch (Utility.Random(2)) { case 0: this.m_Prisoner = new Noble(); break; case 1: this.m_Prisoner = new SeekerOfAdventure(); break; } for (int i = 0; i < 4; i++) { Point3D loc = this.GetRandomSpawnPoint(5); this.AddMobile(this.Camper, 6, loc.X, loc.Y, loc.Z); } Point3D p = this.GetRandomSpawnPoint(3); this.AddMobile(this.m_Prisoner, 0, p.X, p.Y, p.Z); }
public override void GenerateLoot() { if (Utility.Random(100) < 20) { Lantern lantern = new Lantern(); lantern.Hue = Utility.RandomMinMax(2113, 2118); PackItem(lantern); } if (Utility.Random(100) < 10) { Item item; switch (Utility.Random(111)) { case 0: item = new Tapestry6W(); break; case 1: item = new MetalChest(); break; case 2: item = new MetalGoldenChest(); break; case 3: item = new MetalBox(); break; case 4: item = new AniLargeVioletFlask(); break; case 5: item = new AniRedRibbedFlask(); break; case 6: item = new AniSmallBlueFlask(); break; case 7: item = new BlueBeaker(); break; case 8: item = new BlueCurvedFlask(); break; case 9: item = new EmptyVial(); break; case 10: item = new EmptyVialsWRack(); break; case 11: item = new LargeFlask(); break; case 12: item = new LargeVioletFlask(); break; //case 13: item = new HourGlass(); break; //case 14: item = new HourGlassAni(); break; case 15: item = new DecorativeDAxeWest(); break; case 16: item = new DecorativeDAxeNorth(); break; case 17: item = new DecorativeBowWest(); break; case 18: item = new DecorativeBowNorth(); break; case 19: item = new DecorativeAxeWest(); break; case 20: item = new DecorativeAxeNorth(); break; case 21: item = new DecorativeShieldSword2West(); break; case 22: item = new DecorativeShieldSword2North(); break; case 23: item = new DecorativeShieldSword1West(); break; case 24: item = new DecorativeShieldSword1North(); break; case 25: item = new DecorativeShield11(); break; case 26: item = new DecorativeShield10(); break; case 27: item = new DecorativeShield9(); break; case 28: item = new DecorativeShield8(); break; case 29: item = new DecorativeShield7(); break; case 30: item = new DecorativeShield6(); break; case 31: item = new DecorativeShield5(); break; case 32: item = new DecorativeShield4(); break; case 33: item = new DecorativeShield3(); break; case 34: item = new DecorativeShield2(); break; case 35: item = new DecorativeShield1(); break; case 36: item = new Whip(); break; case 37: item = new SilverWire(); break; case 38: item = new Rope(); break; case 39: item = new PaintsAndBrush(); break; case 40: item = new IronWire(); break; case 41: item = new GoldWire(); break; case 42: item = new CopperWire(); break; case 43: item = new WoodDebris(); break; case 44: item = new RuinedPainting(); break; case 45: item = new RuinedFallenChairB(); break; case 46: item = new FullVialsWRack(); break; case 47: item = new FullJar(); break; case 48: item = new FullJars2(); break; case 49: item = new FullJars3(); break; case 50: item = new FullJars4(); break; case 51: item = new GreenBeaker(); break; case 52: item = new GreenBottle(); break; case 53: item = new VioletStemmedBottle(); break; case 54: item = new SpinningHourglass(); break; case 55: item = new ArcheryButte(); break; case 56: item = new PhillipsWoodenSteed(); break; case 57: item = new PileOfGlacialSnow(); break; case 58: item = new RedPoinsettia(); break; case 59: item = new RoseOfTrinsic(); break; case 60: item = new RaiseSwitch(); break; case 61: item = new SpecialFishingNet(); break; case 62: item = new SpecialHairDye(); break; case 63: item = new SpecialBeardDye(); break; case 64: item = new SnowPile(); break; case 65: item = new StatueEast2(); break; case 66: item = new StatuePegasus2(); break; case 67: item = new StatueSouth2(); break; case 68: item = new StatueSouthEast(); break; case 69: item = new StatuetteDyeTub(); break; case 70: item = new StatueWest(); break; case 71: item = new TapestryOfSosaria(); break; case 72: item = new WhitePoinsettia(); break; case 73: item = new WindChimes(); break; case 74: item = new ZoogiFungus(); break; case 75: item = new RuinedFallenChairA(); break; case 76: item = new RuinedDrawers(); break; case 77: item = new RuinedClock(); break; case 78: item = new RuinedChair(); break; case 79: item = new RuinedBooks(); break; case 80: item = new RuinedBookcase(); break; case 81: item = new RuinedArmoire(); break; case 82: item = new SmallStretchedHideSouthDeed(); break; case 83: item = new SmallStretchedHideEastDeed(); break; case 84: item = new PolarBearRugSouthDeed(); break; case 85: item = new PolarBearRugEastDeed(); break; case 86: item = new MediumStretchedHideSouthDeed(); break; case 87: item = new MediumStretchedHideEastDeed(); break; case 88: item = new LightFlowerTapestrySouthDeed(); break; case 89: item = new LightFlowerTapestryEastDeed(); break; case 90: item = new DarkFlowerTapestrySouthDeed(); break; case 91: item = new DarkFlowerTapestryEastDeed(); break; case 92: item = new BrownBearRugSouthDeed(); break; case 93: item = new BrownBearRugEastDeed(); break; case 94: item = new WallSconce(); break; case 95: item = new WallTorch(); break; case 96: item = new CandleShort(); break; case 97: item = new CandleLarge(); break; case 98: item = new DecorativeSwordNorth(); break; case 99: item = new DecorativeSwordWest(); break; case 100: item = new Tapestry1N(); break; case 101: item = new Tapestry2N(); break; case 102: item = new Tapestry2W(); break; case 103: item = new Tapestry3N(); break; case 104: item = new Tapestry3W(); break; case 105: item = new Tapestry4N(); break; case 106: item = new Tapestry4W(); break; case 107: item = new Tapestry5N(); break; case 108: item = new Tapestry5W(); break; case 109: item = new Tapestry6N(); break; default: item = new CandleSkull(); break; } item.LootType = LootType.Regular; item.Movable = true; PackItem(item); } }
public override void GenerateLoot() { if (Core.UOAI || Core.UOAR) { Item item = null; switch (Utility.Random(8)) { case 0: item = new SpecialLeggings(); item.Name = "Azothu's Leggings"; break; // Leggings case 1: item = new SpecialArms(); item.Name = "Azothu's Arms"; break; // arms case 2: item = new SpecialTunic(); item.Name = "Azothu's Tunic"; break; // Chest case 3: item = new SpecialArmor(); item.Name = "Azothu's Armor"; break; // Female Chest case 4: item = new SpecialGorget(); item.Name = "Azothu's Gorget"; break; // gorget case 5: item = new SpecialGloves(); item.Name = "Azothu's Gloves"; break; // gloves case 6: item = new SpecialHelm(); item.Name = "Azothu's Helm"; break; // helm case 7: item = new MetalChest(); item.Name = "Azothu's Locker"; break; // helm } if (item != null) { item.Hue = 0x84A; PackItem(item); } } else { if (Core.UOSP || Core.UOMO) { // ai special if (Spawning) { PackGold(0); } else { } } else { // Standard RunUO // ai special } } }