public LargeTamingBOD() { LargeMobileBulkEntry[] entries; switch (Utility.Random(10)) { default: case 0: entries = LargeMobileBulkEntry.ConvertEntries(this, LargeMobileBulkEntry.Mounts); break; case 1: entries = LargeMobileBulkEntry.ConvertEntries(this, LargeMobileBulkEntry.HardMounts); break; case 2: entries = LargeMobileBulkEntry.ConvertEntries(this, LargeMobileBulkEntry.Dragons); break; case 3: entries = LargeMobileBulkEntry.ConvertEntries(this, LargeMobileBulkEntry.FarmAnimals); break; case 4: entries = LargeMobileBulkEntry.ConvertEntries(this, LargeMobileBulkEntry.Spiders); break; case 5: entries = LargeMobileBulkEntry.ConvertEntries(this, LargeMobileBulkEntry.Felines); break; case 6: entries = LargeMobileBulkEntry.ConvertEntries(this, LargeMobileBulkEntry.Kanines); break; case 7: entries = LargeMobileBulkEntry.ConvertEntries(this, LargeMobileBulkEntry.Bears); break; case 8: entries = LargeMobileBulkEntry.ConvertEntries(this, LargeMobileBulkEntry.Birds); break; case 9: entries = LargeMobileBulkEntry.ConvertEntries(this, LargeMobileBulkEntry.Rodents); break; } int hue = 0x1CA; int amountMax = Utility.RandomList(10, 15, 20, 20); this.Hue = hue; this.AmountMax = amountMax; this.Entries = entries; }
public TamingBOBLargeSubEntry( LargeMobileBulkEntry lmbe ) { m_Type = lmbe.Details.Type; m_AmountCur = lmbe.Amount; m_AnimalName = lmbe.Details.AnimalName; m_Graphic = lmbe.Details.Graphic; }
public TamingBOBLargeSubEntry(LargeMobileBulkEntry lmbe) { m_Type = lmbe.Details.Type; m_AmountCur = lmbe.Amount; m_AnimalName = lmbe.Details.AnimalName; m_Graphic = lmbe.Details.Graphic; }
public void EndMobileCombine(Mobile from, object o) { if (o is Item && ((Item)o).IsChildOf(from.Backpack)) { if (o is SmallMobileBOD) { SmallMobileBOD small = (SmallMobileBOD)o; LargeMobileBulkEntry entry = null; for (int i = 0; entry == null && i < m_Entries.Length; ++i) { if (m_Entries[i].Details.Type == small.Type) { entry = m_Entries[i]; } } if (entry == null) { from.SendLocalizedMessage(1045160); // That is not a bulk order for this large request. } else if (m_AmountMax != small.AmountMax) { from.SendLocalizedMessage(1045163); // The two orders have different requested amounts and cannot be combined. } else if (small.AmountCur < small.AmountMax) { from.SendLocalizedMessage(1045164); // The order to combine with is not completed. } else if (entry.Amount >= m_AmountMax) { from.SendLocalizedMessage(1045166); // The maximum amount of requested items have already been combined to this deed. } else { entry.Amount += small.AmountCur; small.Delete(); from.SendLocalizedMessage(1045165); // The orders have been combined. from.SendGump(new LargeMobileBODGump(from, this)); if (!Complete) { BeginMobileCombine(from); } } } else { from.SendLocalizedMessage(1045159); // That is not a bulk order. } } else { from.SendLocalizedMessage(1045158); // You must have the item in your backpack to target it. } }
public override int LabelNumber{ get{ return 1045151; } } // a bulk order deed public LargeMobileBOD( int hue, int amountMax, LargeMobileBulkEntry[] entries ) : base( Core.AOS ? 0x2258 : 0x14EF ) { Weight = 1.0; Hue = hue; // Blacksmith: 0x44E; Tailoring: 0x483 LootType = LootType.Blessed; m_AmountMax = amountMax; m_Entries = entries; }
public static LargeMobileBulkEntry[] ConvertEntries(LargeMobileBOD owner, SmallMobileBulkEntry[] small) { LargeMobileBulkEntry[] large = new LargeMobileBulkEntry[small.Length]; for (int i = 0; i < small.Length; ++i) { large[i] = new LargeMobileBulkEntry(owner, small[i]); } return(large); }
private LargeMobileBulkEntry[] ReconstructEntries() { LargeMobileBulkEntry[] entries = new LargeMobileBulkEntry[m_Entries.Length]; for ( int i = 0; i < m_Entries.Length; ++i ) { entries[i] = new LargeMobileBulkEntry( null, new SmallMobileBulkEntry( m_Entries[i].Type, m_Entries[i].AnimalName, m_Entries[i].Graphic ) ); entries[i].Amount = m_Entries[i].AmountCur; } return entries; }
private LargeMobileBulkEntry[] ReconstructEntries() { LargeMobileBulkEntry[] entries = new LargeMobileBulkEntry[m_Entries.Length]; for (int i = 0; i < m_Entries.Length; ++i) { entries[i] = new LargeMobileBulkEntry(null, new SmallMobileBulkEntry(m_Entries[i].Type, m_Entries[i].AnimalName, m_Entries[i].Graphic)); entries[i].Amount = m_Entries[i].AmountCur; } return(entries); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 0: { m_AmountMax = reader.ReadInt(); m_Entries = new LargeMobileBulkEntry[reader.ReadInt()]; for (int i = 0; i < m_Entries.Length; ++i) { m_Entries[i] = new LargeMobileBulkEntry(this, reader); } break; } } if (Weight == 0.0) { Weight = 1.0; } if (Core.AOS && ItemID == 0x14EF) { ItemID = 0x2258; } if (Parent == null && Map == Map.Internal && Location == Point3D.Zero) { Delete(); } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 0: { m_AmountMax = reader.ReadInt(); m_Entries = new LargeMobileBulkEntry[reader.ReadInt()]; for ( int i = 0; i < m_Entries.Length; ++i ) m_Entries[i] = new LargeMobileBulkEntry( this, reader ); break; } } if ( Weight == 0.0 ) Weight = 1.0; if ( Core.AOS && ItemID == 0x14EF ) ItemID = 0x2258; if ( Parent == null && Map == Map.Internal && Location == Point3D.Zero ) Delete(); }
public LargeTamingBOD( int amountMax, LargeMobileBulkEntry[] entries ) { this.Hue = 0x1CA; this.AmountMax = amountMax; this.Entries = entries; }
public static LargeMobileBulkEntry[] ConvertEntries( LargeMobileBOD owner, SmallMobileBulkEntry[] small ) { LargeMobileBulkEntry[] large = new LargeMobileBulkEntry[small.Length]; for ( int i = 0; i < small.Length; ++i ) large[i] = new LargeMobileBulkEntry( owner, small[i] ); return large; }
public LargeMobileBODGump(Mobile from, LargeMobileBOD deed) : base(25, 25) { m_From = from; m_Deed = deed; m_From.CloseGump(typeof(LargeMobileBODGump)); m_From.CloseGump(typeof(SmallMobileBODGump)); LargeMobileBulkEntry[] entries = deed.Entries; AddPage(0); AddBackground(50, 10, 455, 236 + (entries.Length * 24), 5054); AddImageTiled(58, 20, 438, 217 + (entries.Length * 24), 2624); AddAlphaRegion(58, 20, 438, 217 + (entries.Length * 24)); AddImage(45, 5, 10460); AddImage(480, 5, 10460); AddImage(45, 221 + (entries.Length * 24), 10460); AddImage(480, 221 + (entries.Length * 24), 10460); AddHtmlLocalized(225, 25, 120, 20, 1045134, 0x7FFF, false, false); // A large bulk order AddLabel(75, 48, 0x480, @"Amount to tame:"); // Amount to make: AddLabel(275, 48, 1152, deed.AmountMax.ToString()); AddHtmlLocalized(75, 72, 120, 20, 1045137, 0x7FFF, false, false); // Items requested: AddHtmlLocalized(275, 76, 200, 20, 1045153, 0x7FFF, false, false); // Amount finished: int y = 96; for (int i = 0; i < entries.Length; ++i) { LargeMobileBulkEntry entry = entries[i]; SmallMobileBulkEntry details = entry.Details; string s = details.AnimalName; int capsbreak = s.IndexOfAny("ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray(), 1); if (capsbreak > -1) { string secondhalf = s.Substring(capsbreak); string firsthalf = s.Substring(0, capsbreak); string newname = firsthalf + " " + secondhalf; AddLabel(75, y, 0x480, newname.ToString()); AddLabel(275, y, 0x480, entry.Amount.ToString()); } else { AddLabel(75, y, 0x480, details.AnimalName.ToString()); AddLabel(275, y, 0x480, entry.Amount.ToString()); } y += 24; } AddButton(125, 168 + (entries.Length * 24), 4005, 4007, 2, GumpButtonType.Reply, 0); AddHtmlLocalized(160, 168 + (entries.Length * 24), 300, 20, 1045155, 0x7FFF, false, false); // Combine this deed with another deed. AddButton(125, 192 + (entries.Length * 24), 4005, 4007, 1, GumpButtonType.Reply, 0); AddHtmlLocalized(160, 192 + (entries.Length * 24), 120, 20, 1011441, 0x7FFF, false, false); // EXIT }