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(); }
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(); }
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); } }