Ejemplo n.º 1
0
        public override bool OnEquip(Mobile from)
        {
            int strBonus = m_AosAttributes.BonusStr;
            int dexBonus = m_AosAttributes.BonusDex;
            int intBonus = m_AosAttributes.BonusInt;

            if ((strBonus != 0 || dexBonus != 0 || intBonus != 0))
            {
                Mobile m = from;

                string modName = Serial.ToString();

                if (strBonus != 0)
                {
                    m.AddStatMod(new StatMod(StatType.Str, modName + "Str", strBonus, TimeSpan.Zero));
                }

                if (dexBonus != 0)
                {
                    m.AddStatMod(new StatMod(StatType.Dex, modName + "Dex", dexBonus, TimeSpan.Zero));
                }

                if (intBonus != 0)
                {
                    m.AddStatMod(new StatMod(StatType.Int, modName + "Int", intBonus, TimeSpan.Zero));
                }
            }

            return(true);
        }
Ejemplo n.º 2
0
        public override void OnAdded(object parent)
        {
            if (EraAOS && parent is Mobile)
            {
                var from = (Mobile)parent;

                m_AosSkillBonuses.AddTo(from);

                int strBonus = m_AosAttributes.BonusStr;
                int dexBonus = m_AosAttributes.BonusDex;
                int intBonus = m_AosAttributes.BonusInt;

                if (strBonus != 0 || dexBonus != 0 || intBonus != 0)
                {
                    string modName = Serial.ToString();

                    if (strBonus != 0)
                    {
                        from.AddStatMod(new StatMod(StatType.Str, modName + "Str", strBonus, TimeSpan.Zero));
                    }

                    if (dexBonus != 0)
                    {
                        from.AddStatMod(new StatMod(StatType.Dex, modName + "Dex", dexBonus, TimeSpan.Zero));
                    }

                    if (intBonus != 0)
                    {
                        from.AddStatMod(new StatMod(StatType.Int, modName + "Int", intBonus, TimeSpan.Zero));
                    }
                }

                from.CheckStatTimers();
            }

            if (parent is Mobile)
            {
                var from = (Mobile)parent;

                var talisman = from.FindItemOnLayer(Layer.Talisman) as TransmuteTalisman;
                if (talisman != null)
                {
                    if (OriginalItemID == 0)
                    {
                        OriginalItemID = ItemID;
                        OriginalHue    = Hue;
                    }

                    if (talisman.TransmuteID != 0)
                    {
                        ItemID = talisman.TransmuteID;
                    }

                    if (talisman.TransmuteHue != 0)
                    {
                        Hue = talisman.TransmuteHue;
                    }
                }
            }
        }
Ejemplo n.º 3
0
        public override void OnRemoved(object parent)
        {
            if (EraAOS && parent is Mobile)
            {
                var from = (Mobile)parent;

                m_AosSkillBonuses.Remove();

                string modName = Serial.ToString();

                from.RemoveStatMod(modName + "Str");
                from.RemoveStatMod(modName + "Dex");
                from.RemoveStatMod(modName + "Int");

                from.CheckStatTimers();
            }

            if (parent is Mobile)
            {
                var from = (Mobile)parent;

                var talisman = from.FindItemOnLayer(Layer.Talisman) as TransmuteTalisman;
                if (talisman != null)
                {
                    ItemID = OriginalItemID;
                    Hue    = OriginalHue;
                }
            }
        }
Ejemplo n.º 4
0
        protected static void SetRemoveSlotItem(string key, SlotItem item)
        {
            Graphic g = 0;
            UOColor c = 0;
            Serial  s = 0;

            lock (SyncRoot)
            {
                if (item == null)
                {
                    if (Slots.ContainsKey(key))
                    {
                        SlotKeyList.Remove(key);
                        Slots.Remove(key);
                    }

                    Config.Profile.UserSettings.SetAttribute(g.ToString(), "Graphic", "SlotForm_Slots_" + key);
                    Config.Profile.UserSettings.SetAttribute(c.ToString(), "UOColor", "SlotForm_Slots_" + key);
                    Config.Profile.UserSettings.SetAttribute(s.ToString(), "Serial", "SlotForm_Slots_" + key);
                }
                else
                {
                    if (Slots.ContainsKey(key))
                    {
                        Slots[key] = item;
                    }
                    else
                    {
                        SlotKeyList.Add(key);
                        Slots.Add(key, item);
                    }
                }
            }
        }
Ejemplo n.º 5
0
        public virtual void AddStatBonuses(Mobile parent)
        {
            if (parent == null)
            {
                return;
            }

            int strBonus = ComputeStatBonus(StatType.Str);
            int dexBonus = ComputeStatBonus(StatType.Dex);
            int intBonus = ComputeStatBonus(StatType.Int);

            if (strBonus == 0 && dexBonus == 0 && intBonus == 0)
            {
                return;
            }

            string modName = Serial.ToString();

            if (strBonus != 0)
            {
                parent.AddStatMod(new StatMod(StatType.Str, modName + "Str", strBonus, TimeSpan.Zero));
            }

            if (dexBonus != 0)
            {
                parent.AddStatMod(new StatMod(StatType.Dex, modName + "Dex", dexBonus, TimeSpan.Zero));
            }

            if (intBonus != 0)
            {
                parent.AddStatMod(new StatMod(StatType.Int, modName + "Int", intBonus, TimeSpan.Zero));
            }
        }
Ejemplo n.º 6
0
        public override void OnAdded(object parent)
        {
            if (Core.AOS && parent is Mobile)
            {
                Mobile from = (Mobile)parent;

                m_AosSkillBonuses.AddTo(from);

                int strBonus = m_AosAttributes.BonusStr;
                int dexBonus = m_AosAttributes.BonusDex;
                int intBonus = m_AosAttributes.BonusInt;

                if (strBonus != 0 || dexBonus != 0 || intBonus != 0)
                {
                    string modName = Serial.ToString();

                    if (strBonus != 0)
                    {
                        from.AddStatMod(new StatMod(StatType.Str, modName + "Str", strBonus, TimeSpan.Zero));
                    }

                    if (dexBonus != 0)
                    {
                        from.AddStatMod(new StatMod(StatType.Dex, modName + "Dex", dexBonus, TimeSpan.Zero));
                    }

                    if (intBonus != 0)
                    {
                        from.AddStatMod(new StatMod(StatType.Int, modName + "Int", intBonus, TimeSpan.Zero));
                    }
                }

                from.CheckStatTimers();

                #region Mondain's Legacy Sets
                if (IsSetItem)
                {
                    m_SetEquipped = SetHelper.FullSetEquipped(from, SetID, Pieces);

                    if (m_SetEquipped)
                    {
                        m_LastEquipped = true;
                        SetHelper.AddSetBonus(from, SetID);
                    }
                }
                #endregion
            }

            if (parent is Mobile)
            {
                if (Server.Engines.XmlSpawner2.XmlAttach.CheckCanEquip(this, (Mobile)parent))
                {
                    Server.Engines.XmlSpawner2.XmlAttach.CheckOnEquip(this, (Mobile)parent);
                }
                else
                {
                    ((Mobile)parent).AddToBackpack(this);
                }
            }
        }
Ejemplo n.º 7
0
        public override void OnAdded(object parent)
        {
            if (Core.AOS && parent is Mobile)
            {
                Mobile from = (Mobile)parent;

                m_AosSkillBonuses.AddTo(from);

                int strBonus = m_AosAttributes.BonusStr;
                int dexBonus = m_AosAttributes.BonusDex;
                int intBonus = m_AosAttributes.BonusInt;

                if (strBonus != 0 || dexBonus != 0 || intBonus != 0)
                {
                    string modName = Serial.ToString();

                    if (strBonus != 0)
                    {
                        from.AddStatMod(new StatMod(StatType.Str, modName + "Str", strBonus, TimeSpan.Zero));
                    }

                    if (dexBonus != 0)
                    {
                        from.AddStatMod(new StatMod(StatType.Dex, modName + "Dex", dexBonus, TimeSpan.Zero));
                    }

                    if (intBonus != 0)
                    {
                        from.AddStatMod(new StatMod(StatType.Int, modName + "Int", intBonus, TimeSpan.Zero));
                    }
                }

                from.CheckStatTimers();
            }
        }
Ejemplo n.º 8
0
        public override void OnRemoved(object parent)
        {
            if (Core.AOS && parent is Mobile)
            {
                Mobile from = (Mobile)parent;

                m_AosSkillBonuses.Remove();

                string modName = Serial.ToString();

                from.RemoveStatMod(modName + "Str");
                from.RemoveStatMod(modName + "Dex");
                from.RemoveStatMod(modName + "Int");

                from.CheckStatTimers();

                #region Mondain's Legacy Sets
                if (IsSetItem && m_SetEquipped)
                {
                    SetHelper.RemoveSetBonus(from, SetID, this);
                }
                #endregion
            }

            Server.Engines.XmlSpawner2.XmlAttach.CheckOnRemoved(this, parent);
        }
Ejemplo n.º 9
0
        public override string ToString()
        {
            string lcString = Serial.ToString();

            lcString = lcString.PadRight(15 - lcString.Length) + "\t" +
                       ModelName.PadRight(55 - ModelName.Length) + "\t";
            //        Gears.ToString().PadRight(10 - Gears.ToString().Length) + "\t";
            if (Type == 'U')
            {
                lcString = lcString + "Used\t";
            }
            else
            {
                lcString = lcString + "New\t";
            }
            lcString = lcString + Price.ToString().PadRight(15 - Price.ToString().Length) + "\t";
            if (SaleState == 'F')
            {
                lcString = lcString + "Available";
            }
            else
            {
                lcString = lcString + "Ordered";
            }
            return(lcString);
        }
Ejemplo n.º 10
0
 public void ToStringTest()
 {
     Serial target = new Serial(); // TODO: 初始化为适当的值
     string expected = string.Empty; // TODO: 初始化为适当的值
     string actual;
     actual = target.ToString();
     Assert.AreEqual( expected, actual );
     Assert.Inconclusive( "验证此测试方法的正确性。" );
 }
Ejemplo n.º 11
0
        public void ToStringTest()
        {
            Serial target   = new Serial(); // TODO: 初始化为适当的值
            string expected = string.Empty; // TODO: 初始化为适当的值
            string actual;

            actual = target.ToString();
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("验证此测试方法的正确性。");
        }
Ejemplo n.º 12
0
        public virtual void GetNewCode(Registro parent)
        {
            Serial = SerialLineaRegistroInfo.GetNext(parent.ETipoRegistro, DateTime.Today.Year);
            Codigo = Serial.ToString(Resources.Defaults.LINEA_REGISTRO_CODE_FORMAT);

            if (parent.ETipoRegistro == ETipoRegistro.Contabilidad)
            {
                long sExportacion = SerialLineaRegistroInfo.GetNextIDExportacion(parent.ETipoRegistro, DateTime.Today.Year);
                SerialExportacion = sExportacion.ToString(Resources.Defaults.ID_EXPORTACION_CODE_FORMAT);
            }
        }
Ejemplo n.º 13
0
 public override string ToString()
 {
     return(string.Format("primary name server = {0}\nresponsible mail addr = {1}\nserial  = {2}\nrefresh = {3}\nretry   = {4}\nexpire  = {5}\ndefault TTL = {6}",
                          PrimaryNameServer,
                          ResponsibleMailAddress,
                          Serial.ToString(),
                          Refresh.ToString(),
                          Retry.ToString(),
                          Expire.ToString(),
                          DefaultTtl.ToString()));
 }
Ejemplo n.º 14
0
        public override string ToString()
        {
            string name = Name;

            if (name != null && name.Length > 0)
            {
                return(name);
            }
            else
            {
                return(serial.ToString());
            }
        }
Ejemplo n.º 15
0
        private void SerialCallback(object unused)
        {
            UO.Print("Select object:");
            Serial serial = UIManager.TargetObject();

            if (serial.IsValid)
            {
                OnInsertText(serial.ToString() + " ");
            }
            else
            {
                UO.PrintWarning("Invalid object selected.");
            }
        }
Ejemplo n.º 16
0
        public virtual void GetNewCode(ClaseAuditoria parent)
        {
            Serial = SerialInfo.GetNext(typeof(TipoAuditoria));

            foreach (TipoAuditoria item in parent.TipoAuditorias)
            {
                if (item.Serial >= Serial)
                {
                    Serial = item.Serial + 1;
                }
            }

            Codigo = Serial.ToString(Resources.Defaults.TIPO_AUDITORIA_CODE_FORMAT);
            Numero = parent.Numero + "." + Serial.ToString();
        }
Ejemplo n.º 17
0
        public override void OnRemoved(object parent)
        {
            base.OnRemoved(parent);

            if (parent is Mobile)
            {
                Mobile m = (Mobile)parent;
                m.RemoveStatMod(Serial.ToString() + "Forest-Dex");
                if (m_Summon != null && !m_Summon.Deleted)
                {
                    m_Summon.FixedParticles(0x3728, 1, 10, 9910, EffectLayer.Head);
                    m.SendMessage("The summoned creature fades as you release the bow from your hands.");
                    m_Summon.Delete();
                }
            }
        }
Ejemplo n.º 18
0
        public override void OnAdded(object parent)
        {
            if (parent is Mobile from)
            {
                m_AosSkillBonuses.AddTo(from);

                int strBonus = m_AosAttributes.BonusStr;
                int dexBonus = m_AosAttributes.BonusDex;
                int intBonus = m_AosAttributes.BonusInt;

                if (strBonus != 0 || dexBonus != 0 || intBonus != 0)
                {
                    string modName = Serial.ToString();

                    if (strBonus != 0)
                    {
                        from.AddStatMod(new StatMod(StatType.Str, modName + "Str", strBonus, TimeSpan.Zero));
                    }

                    if (dexBonus != 0)
                    {
                        from.AddStatMod(new StatMod(StatType.Dex, modName + "Dex", dexBonus, TimeSpan.Zero));
                    }

                    if (intBonus != 0)
                    {
                        from.AddStatMod(new StatMod(StatType.Int, modName + "Int", intBonus, TimeSpan.Zero));
                    }
                }

                from.CheckStatTimers();

                #region Mondain's Legacy Sets
                if (IsSetItem)
                {
                    m_SetEquipped = SetHelper.FullSetEquipped(from, SetID, Pieces);

                    if (m_SetEquipped)
                    {
                        m_LastEquipped = true;
                        SetHelper.AddSetBonus(from, SetID);
                    }
                }
                #endregion
            }
        }
Ejemplo n.º 19
0
        public override void OnRemoved(object parent)
        {
            if (Core.AOS && parent is Mobile)
            {
                Mobile from = (Mobile)parent;

                m_AosSkillBonuses.Remove();

                string modName = Serial.ToString();

                from.RemoveStatMod(modName + "Str");
                from.RemoveStatMod(modName + "Dex");
                from.RemoveStatMod(modName + "Int");

                from.CheckStatTimers();
            }
        }
Ejemplo n.º 20
0
        public override void OnRemoved(object parent)
        {
            if (parent is Mobile)
            {
                Mobile m       = (Mobile)parent;
                string modName = Serial.ToString();

                m.RemoveStatMod(modName + "Str");
                m.RemoveStatMod(modName + "Dex");
                m.RemoveStatMod(modName + "Int");

                ((Mobile)parent).Delta(MobileDelta.Armor); // Tell them armor rating has changed
                m.CheckStatTimers();
            }

            base.OnRemoved(parent);
        }
Ejemplo n.º 21
0
        // this is used for OGS1
        public virtual Hashtable ToHashTable()
        {
            Hashtable h = new Hashtable();

            h["owner"]            = Owner.ToString();
            h["serial"]           = Serial.ToString();
            h["visual_params"]    = VisualParams;
            h["texture"]          = Texture.GetBytes();
            h["avatar_height"]    = AvatarHeight.ToString();
            h["body_item"]        = BodyItem.ToString();
            h["body_asset"]       = BodyAsset.ToString();
            h["skin_item"]        = SkinItem.ToString();
            h["skin_asset"]       = SkinAsset.ToString();
            h["hair_item"]        = HairItem.ToString();
            h["hair_asset"]       = HairAsset.ToString();
            h["eyes_item"]        = EyesItem.ToString();
            h["eyes_asset"]       = EyesAsset.ToString();
            h["shirt_item"]       = ShirtItem.ToString();
            h["shirt_asset"]      = ShirtAsset.ToString();
            h["pants_item"]       = PantsItem.ToString();
            h["pants_asset"]      = PantsAsset.ToString();
            h["shoes_item"]       = ShoesItem.ToString();
            h["shoes_asset"]      = ShoesAsset.ToString();
            h["socks_item"]       = SocksItem.ToString();
            h["socks_asset"]      = SocksAsset.ToString();
            h["jacket_item"]      = JacketItem.ToString();
            h["jacket_asset"]     = JacketAsset.ToString();
            h["gloves_item"]      = GlovesItem.ToString();
            h["gloves_asset"]     = GlovesAsset.ToString();
            h["undershirt_item"]  = UnderShirtItem.ToString();
            h["undershirt_asset"] = UnderShirtAsset.ToString();
            h["underpants_item"]  = UnderPantsItem.ToString();
            h["underpants_asset"] = UnderPantsAsset.ToString();
            h["skirt_item"]       = SkirtItem.ToString();
            h["skirt_asset"]      = SkirtAsset.ToString();

            string attachments = GetAttachmentsString();

            if (attachments != String.Empty)
            {
                h["attachments"] = attachments;
            }

            return(h);
        }
Ejemplo n.º 22
0
        public override void Save(XmlTextWriter xml)
        {
            xml.WriteAttributeString("enabled", m_Enabled.ToString());

            if (m_Bag != Serial.Zero)
            {
                xml.WriteStartElement("bag");
                xml.WriteAttributeString("serial", m_Bag.ToString());
                xml.WriteEndElement();
            }

            for (int i = 0; i < m_Items.Count; i++)
            {
                xml.WriteStartElement("item");
                xml.WriteAttributeString("id", ((ItemID)m_Items[i]).Value.ToString());
                xml.WriteEndElement();
            }
        }
Ejemplo n.º 23
0
        public override bool Eat(Mobile from)
        {
            if (FillHunger(from, FillFactor))
            {
                string modName = Serial.ToString();

                from.AddStatMod(new StatMod(StatType.Str, modName + "Str", (int)(from.RawStr * 0.08), TimeSpan.FromSeconds(75)));

                from.PlaySound(0x1EA);
                from.FixedParticles(0x373A, 10, 15, 5018, EffectLayer.Waist);

                Consume();

                return(true);
            }

            return(false);
        }
Ejemplo n.º 24
0
        public IEnumerator <string> GetEnumerator()
        {
            List <String> props = new List <String>();

            props.AddRange(
                new[] {
                "PI Config: 0x" + BusConfig.Config.ToString("X8"),
                "ROM Name: " + Name,
                "Clock Rate: " + new TimeSpan(Clockrate).TotalSeconds.ToString(),
                "Boot Offset: 0x" + EntryPoint.ToString("X8"),
                "Release Offset: 0x" + Release.ToString("X8"),
                "ROM Serial: " + Serial.ToString(),
                "Checksum 1: 0x" + HashCRC1.ToString("X8"),
                "Checksum 2: 0x" + HashCRC2.ToString("X8"),
                "TV Standard: " + RegionCode.ToString()
            });

            return(props.GetEnumerator());
        }
Ejemplo n.º 25
0
        public bool DoEffects(BaseCreature bc)
        {
            string modName = Serial.ToString();

            bc.AddStatMod(new StatMod(StatType.Str, bc.Serial + "Str", (int)(bc.RawStr * Bonus), Duration));
            bc.AddStatMod(new StatMod(StatType.Int, bc.Serial + "Int", (int)(bc.RawInt * Bonus), Duration));
            bc.AddStatMod(new StatMod(StatType.Dex, bc.Serial + "Dex", (int)(bc.RawDex * Bonus), Duration));

            bc.PlaySound(0x1EA);
            bc.FixedParticles(0x373A, 10, 15, 5018, EffectLayer.Waist);

            bc.TempDamageBonus = DamageBonus;
            bc.Loyalty         = BaseCreature.MaxLoyalty;

            m_Table.Add(bc, DateTime.UtcNow);
            Timer.DelayCall(Duration + CoolDown, new TimerStateCallback(RemoveInfluence), bc);

            Consume();
            return(true);
        }
Ejemplo n.º 26
0
        public override int LabelNumber => 1072950;// fruit bowl
        public override bool Eat(Mobile from)
        {
            if (FillHunger(from, FillFactor))
            {
                string modName = Serial.ToString();

                from.AddStatMod(new StatMod(StatType.Str, modName + "Str", 5, TimeSpan.FromMinutes(2)));
                from.AddStatMod(new StatMod(StatType.Dex, modName + "Dex", 5, TimeSpan.FromMinutes(2)));
                from.AddStatMod(new StatMod(StatType.Int, modName + "Int", 5, TimeSpan.FromMinutes(2)));

                from.PlaySound(0x1EA);
                from.FixedParticles(0x373A, 10, 15, 5018, EffectLayer.Waist);

                Consume();

                return(true);
            }

            return(false);
        }
Ejemplo n.º 27
0
        private void OnTarget(bool location, Serial serial, Point3D loc, ushort gfx)
        {
            Engine.MainWindow.SafeAction(s => s.ShowMe());
            if (!location && serial.IsItem)
            {
                m_Items.Add(serial);

                Item item = World.FindItem(serial);
                if (item != null)
                {
                    Client.Instance.SendToClient(new ContainerItem(item));
                    m_SubList.Items.Add(item.ToString());
                }
                else
                {
                    m_SubList.Items.Add(serial.ToString());
                }

                World.Player.SendMessage(MsgLevel.Force, LocString.ItemAdded);
            }
        }
Ejemplo n.º 28
0
        public override void OnRemoved(object parent)
        {
            if (parent is Mobile from)
            {
                m_AosSkillBonuses.Remove();

                string modName = Serial.ToString();

                from.RemoveStatMod(modName + "Str");
                from.RemoveStatMod(modName + "Dex");
                from.RemoveStatMod(modName + "Int");

                from.CheckStatTimers();

                #region Mondain's Legacy Sets
                if (IsSetItem && m_SetEquipped)
                {
                    SetHelper.RemoveSetBonus(from, SetID, this);
                }
                #endregion
            }
        }
Ejemplo n.º 29
0
        public override void OnRemoved(object parent)
        {
            Mobile mob = parent as Mobile;

            if (mob != null)
            {
                if (Core.AOS)
                {
                    m_AosSkillBonuses.Remove();
                }

                string modName = Serial.ToString();

                mob.RemoveStatMod(modName + "Str");
                mob.RemoveStatMod(modName + "Dex");
                mob.RemoveStatMod(modName + "Int");

                mob.CheckStatTimers();
            }

            base.OnRemoved(parent);
        }
Ejemplo n.º 30
0
        public override void OnRemoved(object parent)
        {
            if (parent is Mobile)
            {
                Mobile from = (Mobile)parent;

                m_AosSkillBonuses.Remove();

                if (HasSocket <Caddellite>())
                {
                    Caddellite.UpdateBuff(from);
                }

                string modName = Serial.ToString();

                from.RemoveStatMod(modName + "Str");
                from.RemoveStatMod(modName + "Dex");
                from.RemoveStatMod(modName + "Int");

                from.CheckStatTimers();
            }
        }
Ejemplo n.º 31
0
        /*private void OnHBTarget(bool location, Serial serial, Point3D loc, ushort gfx)
         * {
         *  Engine.MainWindow.SafeAction(s => s.ShowMe(););
         *
         *  Item hb = World.FindItem(m_HotBag);
         *  if (hb != null)
         *  {
         *      if (hb.ObjPropList.Remove(Language.Format(LocString.RestockHBA1, m_Num)))
         *      {
         *          hb.OPLChanged();
         *      }
         *  }
         *
         *  if (!location && serial.IsItem)
         *  {
         *      m_HotBag = serial;
         *  }
         *  else
         *  {
         *      m_HotBag = Serial.Zero;
         *  }
         *
         *  hb = World.FindItem(m_HotBag);
         *  if (hb != null)
         *  {
         *      hb.ObjPropList.Add(Language.Format(LocString.RestockHBA1, m_Num));
         *      hb.OPLChanged();
         *  }
         *
         *  SetHBText();
         * }*/

        public override void Save(XmlTextWriter xml)
        {
            if (m_Items == null)
            {
                return;
            }

            xml.WriteAttributeString("enabled", m_Enabled.ToString());

            if (m_HotBag != Serial.Zero)
            {
                xml.WriteStartElement("hotbag");
                xml.WriteString(m_HotBag.ToString());
                xml.WriteEndElement();
            }

            foreach (ushort iid in m_Items)
            {
                xml.WriteStartElement("item");
                xml.WriteAttributeString("id", iid.ToString());
                xml.WriteEndElement();
            }
        }