Exemple #1
0
        public void InsertItems(Mobile mob)
        {
            ArrayList items = m_Items;

            items.AddRange(mob.Items);
            string serial = mob.Serial.Value.ToString();

            items.Sort(LayerComparer.Instance);

            bool hidePants = false;

            for (int i = 0; i < items.Count; ++i)
            {
                Item item = (Item)items[i];

                if (!LayerComparer.IsValid(item))
                {
                    break;
                }

                if (!mob.Alive && item.ItemID != 8270)
                {
                    continue;
                }

                if (item.ItemID == 0x1411 || item.ItemID == 0x141A)                   // plate legs
                {
                    hidePants = true;
                }
                else if (hidePants && item.Layer == Layer.Pants)
                {
                    continue;
                }

                if (item.Layer == Layer.Hair && (i + 1) < items.Count && items[i + 1] is BaseArmor)
                {
                    continue;
                }

                if (Config.LoadDataInFile)
                {
                    m_OpLayers.Write(LineStart);
                    m_OpLayers.Write(serial);
                    m_OpLayers.Write(EntrySep);
                    m_OpLayers.Write(i);
                    m_OpLayers.Write(EntrySep);
                    m_OpLayers.Write(item.ItemID);
                    m_OpLayers.Write(EntrySep);
                    m_OpLayers.Write(item.Hue);
                    m_OpLayers.Write(LineEnd);
                }
                else
                {
                    ExecuteNonQuery("INSERT INTO myrunuo_characters_layers (char_id, layer_id, item_id, item_hue) VALUES ({0}, {1}, {2}, {3})", serial, i.ToString(), item.ItemID.ToString(), item.Hue.ToString());
                }
            }

            items.Clear();
        }
Exemple #2
0
        public void InsertItems(Mobile mob)
        {
            m_Items.AddRange(mob.Items);

            string serial = mob.Serial.Value.ToString(CultureInfo.InvariantCulture);

            m_Items.Sort(LayerComparer.Instance);

            int index = 0;

            bool hidePants = false;
            bool alive     = mob.Alive;
            bool hideHair  = !alive;

            int i;

            for (i = 0; i < m_Items.Count; ++i)
            {
                Item item = m_Items[i];

                if (!LayerComparer.IsValid(item))
                {
                    break;
                }

                if (!alive && item.ItemID != 8270)
                {
                    continue;
                }

                if (item.ItemID == 0x1411 || item.ItemID == 0x141A)                 // plate legs
                {
                    hidePants = true;
                }
                else if (hidePants && item.Layer == Layer.Pants)
                {
                    continue;
                }

                if (!hideHair && item.Layer == Layer.Helm)
                {
                    hideHair = true;
                }

                InsertItem(serial, index++, item.ItemID, item.Hue);
            }

            if (mob.FacialHairItemID != 0 && alive)
            {
                InsertItem(serial, index++, mob.FacialHairItemID, mob.FacialHairHue);
            }

            if (mob.HairItemID != 0 && !hideHair)
            {
                InsertItem(serial, index, mob.HairItemID, mob.HairHue);
            }

            m_Items.Clear();
        }
Exemple #3
0
        public void InsertItems(Mobile mob)
        {
            ArrayList items  = new ArrayList(mob.Items);
            string    serial = mob.Serial.Value.ToString();

            items.Sort(LayerComparer.Instance);

            for (int i = 0; i < items.Count; ++i)
            {
                Item item = (Item)items[i];

                if (!LayerComparer.IsValid(item))
                {
                    break;
                }

                ExecuteNonQuery("INSERT INTO {4} (char_id, layer_id, item_id, item_hue) VALUES ({0}, {1}, {2}, {3})", serial, i.ToString(), item.ItemID.ToString(), item.Hue.ToString(), Config.EquipTable);
            }
        }