Example #1
0
        private LargeBulkEntry[] ReconstructEntries()
        {
            LargeBulkEntry[] entries = new LargeBulkEntry[m_Entries.Length];

            for (int i = 0; i < m_Entries.Length; ++i)
            {
                entries[i]        = new LargeBulkEntry(null, new SmallBulkEntry(m_Entries[i].ItemType, m_Entries[i].Number, m_Entries[i].Graphic));
                entries[i].Amount = m_Entries[i].AmountCur;
            }

            return(entries);
        }
Example #2
0
		private LargeBulkEntry[] ReconstructEntries()
		{
			LargeBulkEntry[] entries = new LargeBulkEntry[m_Entries.Length];

			for ( int i = 0; i < m_Entries.Length; ++i )
			{
				entries[i] = new LargeBulkEntry( null, new SmallBulkEntry( m_Entries[i].ItemType, m_Entries[i].Number, m_Entries[i].Graphic ) );
				entries[i].Amount = m_Entries[i].AmountCur;
			}

			return entries;
		}
Example #3
0
        private LargeBulkEntry[] ReconstructEntries()
        {
            LargeBulkEntry[] entries = new LargeBulkEntry[Entries.Length];

            for (int i = 0; i < Entries.Length; ++i)
            {
                entries[i] = new LargeBulkEntry(null,
                                                new SmallBulkEntry(Entries[i].ItemType, Entries[i].Number, Entries[i].Graphic))
                {
                    Amount = Entries[i].AmountCur
                }
            }
            ;

            return(entries);
        }
Example #4
0
        //clone constructor
        public LargeBODListEntry(LargeBODListEntry entry) : base(entry)
        {
            _AmountMax          = entry.AmountMax;
            _RequireExceptional = entry.RequireExceptional;
            _Material           = entry.Material;

            _Entries = new LargeBulkEntry[entry.Entries.Length];

            //proper cloning is required
            for (int i = 0; i < entry.Entries.Length; i++)
            {
                _Entries[i]        = new LargeBulkEntry(null, entry.Entries[i].Details);
                _Entries[i].Amount = entry.Entries[i].Amount;
            }

            GenerateContentsName();
        }
Example #5
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            _AmountMax          = reader.ReadInt();
            _RequireExceptional = reader.ReadBool();
            _Material           = (BulkMaterialType)reader.ReadInt();

            int count = reader.ReadInt();

            _Entries = new LargeBulkEntry[count];
            for (int i = 0; i < count; i++)
            {
                _Entries[i] = new LargeBulkEntry(null, reader);
            }

            GenerateContentsName();
        }
Example #6
0
        //master constructor
        public LargeBODListEntry(Item item) : base(item)
        {
            LargeBOD bod = (LargeBOD)item;

            _AmountMax          = bod.AmountMax;
            _RequireExceptional = bod.RequireExceptional;
            _Material           = bod.Material;

            //proper cloning is required

            _Entries = new LargeBulkEntry[bod.Entries.Length];
            for (int i = 0; i < bod.Entries.Length; i++)
            {
                _Entries[i]        = new LargeBulkEntry(null, bod.Entries[i].Details);
                _Entries[i].Amount = bod.Entries[i].Amount;
            }

            //this produces the name for the bod based on the bod name definitions
            GenerateContentsName();
        }
Example #7
0
        public LargeSmithBOD()
        {
            LargeBulkEntry[] entries;
            var useMaterials = true;

            var rand = Utility.Random(8);

            entries = rand switch
            {
                0 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeRing),
                1 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargePlate),
                2 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeChain),
                3 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeAxes),
                4 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeFencing),
                5 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeMaces),
                6 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargePolearms),
                7 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeSwords),
                _ => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeRing)
            };

            if (rand > 2 && rand < 8)
            {
                useMaterials = false;
            }

            var hue            = 0x44E;
            var amountMax      = Utility.RandomList(10, 15, 20, 20);
            var reqExceptional = Utility.RandomDouble() < 0.825;

            var material = useMaterials
                ? GetRandomMaterial(BulkMaterialType.DullCopper, m_BlacksmithMaterialChances)
                : BulkMaterialType.None;

            Hue                = hue;
            AmountMax          = amountMax;
            Entries            = entries;
            RequireExceptional = reqExceptional;
            Material           = material;
        }
Example #8
0
        public LargeTailorBOD()
        {
            LargeBulkEntry[] entries;
            bool             useMaterials = false;

            switch (Utility.Random(14))
            {
            default:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.Farmer);
                break;

            case 1:
                entries      = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.FemaleLeatherSet);
                useMaterials = true;
                break;

            case 2:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.FisherGirl);
                break;

            case 3:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.Gypsy);
                break;

            case 4:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.HatSet);
                break;

            case 5:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.Jester);
                break;

            case 6:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.Lady);
                break;

            case 7:
                entries      = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.MaleLeatherSet);
                useMaterials = true;
                break;

            case 8:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.Pirate);
                break;

            case 9:
                entries      = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.ShoeSet);
                useMaterials = Core.ML;
                break;

            case 10:
                entries      = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.StuddedSet);
                useMaterials = true;
                break;

            case 11:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.TownCrier);
                break;

            case 12:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.Wizard);
                break;

            case 13:
                entries      = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.BoneSet);
                useMaterials = true;
                break;
            }

            int  hue            = 0x483;
            int  amountMax      = Utility.RandomList(10, 15, 20, 20);
            bool reqExceptional = Utility.RandomDouble() < 0.825;

            BulkMaterialType material = useMaterials ? GetRandomMaterial(BulkMaterialType.Spined, m_TailoringMaterialChances)
        : BulkMaterialType.None;

            Hue                = hue;
            AmountMax          = amountMax;
            Entries            = entries;
            RequireExceptional = reqExceptional;
            Material           = material;
        }