public void SendVeriteIngot(Mobile from) { Container backpack = this.Backpack; from = this.ControlMaster; BankBox bank1 = from.BankBox; VeriteIngot veri = (VeriteIngot)backpack.FindItemByType(typeof(VeriteIngot)); if (veri is BaseIngot) { BaseIngot m_Ore8 = veri as BaseIngot; if (m_Ore8.Amount > 1000) { PlaceItemIn(bank1, 18, 169, veri); } } }
public override void OnThink() { if (this.Alive && this.m_Mine && this.m_NextUse <= DateTime.Now) { Container backpack = this.Backpack; if (backpack == null) { m_NextUse = DateTime.Now + TimeSpan.FromSeconds(2.5); base.OnThink(); return; } if (backpack.TotalWeight > (backpack.MaxWeight - 100)) { this.Say("I'm full !! I'm AutoConverting Ore in Ingot !"); m_Mine = true; this.Hue = 0; ControlOrder = OrderType.Stay; ConvertOretoIngot(this); base.OnThink(); return; } Shovel shovel1 = (Shovel)backpack.FindItemByType(typeof(Shovel)); Pickaxe shovel2 = (Pickaxe)backpack.FindItemByType(typeof(Pickaxe)); IBShovel shovel3 = (IBShovel)backpack.FindItemByType(typeof(IBShovel)); if (shovel1 != null) { if (this.DoDisposeOre(this.X, this.Y, this.Z, this.Map, this)) { shovel1.UsesRemaining -= 1; if (shovel1 != null && !shovel1.Deleted && shovel1.UsesRemaining <= 0) { shovel1.Delete(); } } } if (shovel2 != null) { if (this.DoDisposeOre(this.X, this.Y, this.Z, this.Map, this)) { shovel2.UsesRemaining -= 1; if (shovel2 != null && !shovel2.Deleted && shovel2.UsesRemaining <= 0) { shovel2.Delete(); } } } if (shovel3 != null) { if (this.DoDisposeOre(this.X, this.Y, this.Z, this.Map, this)) { shovel3.UsesRemaining -= 1; if (shovel3 != null && !shovel3.Deleted && shovel3.UsesRemaining <= 0) { shovel3.Delete(); } } } m_NextUse = DateTime.Now + TimeSpan.FromSeconds(2.5); if ((shovel1 == null) && (shovel2 == null) && (shovel3 == null)) { this.Say("I require a tool to dig"); m_Mine = false; this.Hue = 0; ControlOrder = OrderType.Follow; } IronIngot iron1 = (IronIngot)backpack.FindItemByType(typeof(IronIngot)); if (iron1 is BaseIngot) { BaseIngot m_Ore1 = iron1 as BaseIngot; if (m_Ore1.Amount > 1000) { SendIronIngot(this); } } DullcopperIngot dull1 = (DullcopperIngot)backpack.FindItemByType(typeof(DullcopperIngot)); if (dull1 is BaseIngot) { BaseIngot m_Ore2 = dull1 as BaseIngot; if (m_Ore2.Amount > 1000) { SendDullCopperIngot(this); } } ShadowIngot shad1 = (ShadowIngot)backpack.FindItemByType(typeof(ShadowIngot)); if (shad1 is BaseIngot) { BaseIngot m_Ore3 = shad1 as BaseIngot; if (m_Ore3.Amount > 1000) { SendShadowIronIngot(this); } } BronzeIngot bron1 = (BronzeIngot)backpack.FindItemByType(typeof(BronzeIngot)); if (bron1 is BaseIngot) { BaseIngot m_Ore4 = bron1 as BaseIngot; if (m_Ore4.Amount > 1000) { SendBronzeIngot(this); } } GoldIngot gold1 = (GoldIngot)backpack.FindItemByType(typeof(GoldIngot)); if (gold1 is BaseIngot) { BaseIngot m_Ore5 = gold1 as BaseIngot; if (m_Ore5.Amount > 1000) { SendGoldIngot(this); } } CopperIngot copp1 = (CopperIngot)backpack.FindItemByType(typeof(CopperIngot)); if (copp1 is BaseIngot) { BaseIngot m_Ore6 = copp1 as BaseIngot; if (m_Ore6.Amount > 1000) { SendCopperIngot(this); } } AgapiteIngot agap1 = (AgapiteIngot)backpack.FindItemByType(typeof(AgapiteIngot)); if (agap1 is BaseIngot) { BaseIngot m_Ore7 = agap1 as BaseIngot; if (m_Ore7.Amount > 1000) { SendAgapiteIngot(this); } } VeriteIngot veri1 = (VeriteIngot)backpack.FindItemByType(typeof(VeriteIngot)); if (veri1 is BaseIngot) { BaseIngot m_Ore8 = veri1 as BaseIngot; if (m_Ore8.Amount > 1000) { SendVeriteIngot(this); } } ValoriteIngot valo1 = (ValoriteIngot)backpack.FindItemByType(typeof(ValoriteIngot)); if (valo1 is BaseIngot) { BaseIngot m_Ore9 = valo1 as BaseIngot; if (m_Ore9.Amount > 1000) { SendValoriteIngot(this); } } } base.OnThink(); }
public MetalGolem() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.4, 0.8) { Name = "a construct"; Body = 752; Item ore = new CopperIngot(Utility.RandomMinMax(13, 21)); ore.Delete(); double scalar = 1.0; switch (Utility.Random(10)) { case 0: ore = new IronIngot(Utility.RandomMinMax(13, 21)); Hue = 0x430; scalar = 1.0; RealName = "an iron construct"; break; // Iron case 1: ore = new DullCopperIngot(Utility.RandomMinMax(13, 21)); Hue = MaterialInfo.GetMaterialColor("dull copper", "monster", 0); scalar = 1.1; RealName = "a dull copper construct"; break; // Dull Copper case 2: ore = new ShadowIronIngot(Utility.RandomMinMax(13, 21)); Hue = MaterialInfo.GetMaterialColor("shadow iron", "monster", 0); scalar = 1.2; RealName = "a shadow iron construct"; break; // Shadow Iron case 3: ore = new CopperIngot(Utility.RandomMinMax(13, 21)); Hue = MaterialInfo.GetMaterialColor("copper", "monster", 0); scalar = 1.3; RealName = "a copper construct"; break; // Copper case 4: ore = new BronzeIngot(Utility.RandomMinMax(13, 21)); Hue = MaterialInfo.GetMaterialColor("bronze", "monster", 0); scalar = 1.4; RealName = "a bronze construct"; break; // Bronze case 5: ore = new GoldIngot(Utility.RandomMinMax(13, 21)); Hue = MaterialInfo.GetMaterialColor("gold", "monster", 0); scalar = 1.5; RealName = "a golden construct"; break; // Gold case 6: ore = new AgapiteIngot(Utility.RandomMinMax(13, 21)); Hue = MaterialInfo.GetMaterialColor("agapite", "monster", 0); scalar = 1.6; RealName = "an agapite construct"; break; // Agapite case 7: ore = new VeriteIngot(Utility.RandomMinMax(13, 21)); Hue = MaterialInfo.GetMaterialColor("verite", "monster", 0); scalar = 1.7; RealName = "a verite construct"; break; // Verite case 8: ore = new ValoriteIngot(Utility.RandomMinMax(13, 21)); Hue = MaterialInfo.GetMaterialColor("valorite", "monster", 0); scalar = 1.8; RealName = "a valorite construct"; break; // Valorite case 9: if (Worlds.IsExploringSeaAreas(this) == true) { ore = new NepturiteIngot(Utility.RandomMinMax(13, 21)); Hue = MaterialInfo.GetMaterialColor("nepturite", "monster", 0); scalar = 1.9; RealName = "a nepturite construct"; } else if (Worlds.GetMyWorld(this.Map, this.Location, this.X, this.Y) == "the Serpent Island") { ore = new ObsidianIngot(Utility.RandomMinMax(13, 21)); Hue = MaterialInfo.GetMaterialColor("obsidian", "monster", 0); scalar = 1.9; RealName = "an obsidian construct"; } else if (Worlds.GetMyWorld(this.Map, this.Location, this.X, this.Y) == "the Underworld" && this.Map == Map.TerMur) { ore = new XormiteIngot(Utility.RandomMinMax(13, 21)); Hue = MaterialInfo.GetMaterialColor("xormite", "monster", 0); scalar = 2.0; RealName = "a xormite construct"; } else if (Worlds.GetMyWorld(this.Map, this.Location, this.X, this.Y) == "the Underworld") { ore = new MithrilIngot(Utility.RandomMinMax(13, 21)); Hue = MaterialInfo.GetMaterialColor("mithril", "monster", 0); scalar = 2.1; RealName = "a mithril construct"; } else { ore = new IronIngot(Utility.RandomMinMax(13, 21)); Hue = 0x430; scalar = 1.0; RealName = "an iron construct"; } break; // Special } PackItem(ore); SetStr((int)(251 * scalar), (int)(350 * scalar)); SetDex((int)(76 * scalar), (int)(100 * scalar)); SetInt((int)(101 * scalar), (int)(150 * scalar)); SetHits((int)(151 * scalar), (int)(210 * scalar)); SetDamage((int)(13 * scalar), (int)(24 * scalar)); SetDamageType(ResistanceType.Physical, 100); SetResistance(ResistanceType.Physical, (int)(35 * scalar), (int)(55 * scalar)); SetResistance(ResistanceType.Fire, (int)(100 * scalar)); SetResistance(ResistanceType.Cold, (int)(10 * scalar), (int)(30 * scalar)); SetResistance(ResistanceType.Poison, 100); SetResistance(ResistanceType.Energy, (int)(30 * scalar), (int)(40 * scalar)); SetSkill(SkillName.MagicResist, (150.1 * scalar), (190.0 * scalar)); SetSkill(SkillName.Tactics, (60.1 * scalar), (100.0 * scalar)); SetSkill(SkillName.Wrestling, (60.1 * scalar), (100.0 * scalar)); Fame = (int)(3500 * scalar); Karma = (int)(-3500 * scalar); if (0.1 > Utility.RandomDouble()) { PackItem(new PowerCrystal()); } if (0.15 > Utility.RandomDouble()) { PackItem(new ClockworkAssembly()); } if (0.2 > Utility.RandomDouble()) { PackItem(new ArcaneGem()); } if (0.25 > Utility.RandomDouble()) { PackItem(new Gears(Utility.RandomMinMax(1, 5))); } if (0.25 > Utility.RandomDouble()) { PackItem(new BottleOil(Utility.RandomMinMax(1, 5))); } }
public override void GiveRewards() { //Random gold amount to add BankCheck gold = new BankCheck(Utility.RandomMinMax(500, 600)); if (!Owner.AddToBackpack(gold)) { gold.MoveToWorld(Owner.Location, Owner.Map); } //Adding Quest Reward Token(s) for (int x = 0; x < 1; x++) { RandomTalisman talisman = new RandomTalisman(); if (!Owner.AddToBackpack(talisman)) { talisman.MoveToWorld(Owner.Location, Owner.Map); } } Item bonusitem; bonusitem = new DullCopperIngot(20); //Adding Bonus Item #1 if (!Owner.AddToBackpack(bonusitem)) { bonusitem.MoveToWorld(Owner.Location, Owner.Map); } bonusitem = new ShadowIronIngot(20); //Adding Bonus Item #2 if (!Owner.AddToBackpack(bonusitem)) { bonusitem.MoveToWorld(Owner.Location, Owner.Map); } bonusitem = new CopperIngot(20); //Adding Bonus Item #3 if (!Owner.AddToBackpack(bonusitem)) { bonusitem.MoveToWorld(Owner.Location, Owner.Map); } bonusitem = new BronzeIngot(20); //Adding Bonus Item #4 if (!Owner.AddToBackpack(bonusitem)) { bonusitem.MoveToWorld(Owner.Location, Owner.Map); } bonusitem = new GoldIngot(20); //Adding Bonus Item #5 if (!Owner.AddToBackpack(bonusitem)) { bonusitem.MoveToWorld(Owner.Location, Owner.Map); } bonusitem = new AgapiteIngot(20); //Adding Bonus Item #6 if (!Owner.AddToBackpack(bonusitem)) { bonusitem.MoveToWorld(Owner.Location, Owner.Map); } bonusitem = new VeriteIngot(20); //Adding Bonus Item #7 if (!Owner.AddToBackpack(bonusitem)) { bonusitem.MoveToWorld(Owner.Location, Owner.Map); } bonusitem = new ValoriteIngot(20); //Adding Bonus Item #8 if (!Owner.AddToBackpack(bonusitem)) { bonusitem.MoveToWorld(Owner.Location, Owner.Map); } base.GiveRewards(); }
public override void OnResponse(NetState sender, RelayInfo info) { switch (info.ButtonID) { case 0: { break; } case (int)Buttons.Iron: { m_step[m_itemnum] = new IronIngot(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.DullCopper: { m_step[m_itemnum] = new DullCopperIngot(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.ShadowIron: { m_step[m_itemnum] = new ShadowIronIngot(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.Copper: { m_step[m_itemnum] = new CopperIngot(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.Bronze: { m_step[m_itemnum] = new BronzeIngot(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.Gold: { m_step[m_itemnum] = new GoldIngot(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.Agapite: { m_step[m_itemnum] = new AgapiteIngot(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.Verite: { m_step[m_itemnum] = new VeriteIngot(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.Valorite: { m_step[m_itemnum] = new ValoriteIngot(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.Oak: { m_step[m_itemnum] = new Log(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.Pine: { m_step[m_itemnum] = new PineLog(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.Redwood: { m_step[m_itemnum] = new RedwoodLog(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.WhitePine: { m_step[m_itemnum] = new WhitePineLog(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.Ashwood: { m_step[m_itemnum] = new AshwoodLog(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.SilverBirch: { m_step[m_itemnum] = new SilverBirchLog(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.Silver: { m_step[m_itemnum] = new SilverIngot(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.Yew: { m_step[m_itemnum] = new YewLog(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.BlackOak: { m_step[m_itemnum] = new BlackOakLog(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.SulfurousAsh: { m_step[m_itemnum] = new SulfurousAsh(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.ZoogiFungus: { m_step[m_itemnum] = new ZoogiFungus(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.FertileDirt: { m_step[m_itemnum] = new FertileDirt(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.PigIron: { m_step[m_itemnum] = new PigIron(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.NoxCrystal: { m_step[m_itemnum] = new NoxCrystal(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.Diamond: { m_step[m_itemnum] = new Diamond(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.Wool: { m_step[m_itemnum] = new Wool(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.Bone: { m_step[m_itemnum] = new Bone(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.Citrine: { m_step[m_itemnum] = new Citrine(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.BlackPearl: { m_step[m_itemnum] = new BlackPearl(); m_itemnum += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.Decrease: { if (m_amt > 1) { m_amt -= 1; } m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.Increase: { m_amt += 1; m_player.SendGump(new AlloyGump(m_player, m_amt, m_itemnum, m_step[1], m_step[2], m_step[3], m_step[4], m_step[5], m_step[6])); break; } case (int)Buttons.Cancel: { m_player.SendGump(new AlloyGump(m_player, 1, 1, null, null, null, null, null, null)); break; } case (int)Buttons.OK: { //check for and consume ingredients here Container pack = m_player.Backpack; if (m_step[6] == null) { m_player.SendMessage("You must pick 6 steps"); m_player.SendGump(new AlloyGump(m_player, 1, 1, null, null, null, null, null, null)); break; } bool allres = true; for (int i = 1; i < 7; i++) { Item itm = (Item)m_step[i]; int packamt = m_player.Backpack.GetAmount(itm.GetType()); if (packamt < m_amt) { m_player.SendMessage("You do not have enough {0} to attempt this", itm.GetType().Name); allres = false; } } if (allres) { for (int i = 1; i < 7; i++) { Item itm = (Item)m_step[i]; m_player.Backpack.ConsumeTotal(m_step[i].GetType(), m_amt); m_player.SendMessage("Step {0} consumes {1} {2}", i.ToString(), m_amt.ToString(), itm.GetType().Name); } } else { m_player.SendMessage("Please try again when you have all of the needed resources"); return; } if (m_step[1] is AgapiteIngot && m_step[2] is BlackOakLog && m_step[3] is AgapiteIngot && m_step[4] is ShadowIronIngot && m_step[5] is Bone && m_step[6] is AgapiteIngot) { if (m_player.Backpack != null) { m_player.AddToBackpack(new BloodrockIngot(m_amt)); } break; } if (m_step[1] is ValoriteIngot && m_step[2] is WhitePineLog && m_step[3] is ValoriteIngot && m_step[4] is CopperIngot && m_step[5] is FertileDirt && m_step[6] is SilverBirchLog) { if (m_player.Backpack != null) { m_player.AddToBackpack(new SteelIngot(m_amt)); } break; } if (m_step[1] is ShadowIronIngot && m_step[2] is AshwoodLog && m_step[3] is VeriteIngot && m_step[4] is ShadowIronIngot && m_step[5] is NoxCrystal && m_step[6] is ShadowIronIngot) { if (m_player.Backpack != null) { m_player.AddToBackpack(new AdamantiteIngot(m_amt)); } break; } if (m_step[1] is IronIngot && m_step[2] is SilverBirchLog && m_step[3] is ValoriteIngot && m_step[4] is IronIngot && m_step[5] is Citrine && m_step[6] is SilverBirchLog) { if (m_player.Backpack != null) { m_player.AddToBackpack(new IthilmarIngot(m_amt)); } break; } if (m_step[1] is SilverIngot && m_step[2] is GoldIngot && m_step[3] is Diamond && m_step[4] is SilverIngot && m_step[5] is GoldIngot && m_step[6] is SilverIngot) { if (m_player.Backpack != null) { m_player.AddToBackpack(new ElectrumIngot(m_amt)); } break; } if (m_step[1] is PigIron && m_player.IsGoblin()) { if (m_player.Backpack != null) { m_player.AddToBackpack(new SkazzIngot(m_amt)); } break; } m_player.SendMessage("You fail to create a new alloy and your materials are lost"); m_player.SendGump(new AlloyGump(m_player, 1, 1, null, null, null, null, null, null)); break; } } }