public override void OnDoubleClick(Mobile m)
 {
     if (Parent != m)
     {
         m.SendMessage("debes ponertelo para usarlo!");
     }
     else
     {
         if (ItemID == 0x2683 || ItemID == 0x2684)
         {
             m.SendMessage("te quitas la capucha.");
             m.PlaySound(0x57);
             ItemID    = 0x1F03;
             m.NameMod = null;
             m.RemoveItem(this);
             m.EquipItem(this);
         }
         else if (ItemID == 0x1F03 || ItemID == 0x1F04)
         {
             m.SendMessage("te pones la capucha.");
             m.PlaySound(0x57);
             ItemID = 0x2683;
             m.RemoveItem(this);
             m.EquipItem(this);
         }
     }
 }
 public override void OnDoubleClick(Mobile m)
 {
     if (Parent != m)
     {
         m.SendMessage("Put It On Then Try.....durr..");
     }
     else
     {
         if (m.Body == 400)
         {
             m.SendMessage("you feel the amulet's power changeing you.");
             m.PlaySound(220);
             m.BodyMod = 52;
             m.NameMod = "a snake";
             m.RemoveItem(this);
             m.EquipItem(this);
             if (m.Kills >= 5)
             {
                 m.Criminal = true;
             }
             if (m.GuildTitle != null)
             {
                 m.DisplayGuildTitle = true;
             }
         }
         else if (m.BodyMod == 52)
         {
             m.SendMessage("you feel the amulet's power go away.");
             m.PlaySound(73);
             m.BodyMod           = 0;
             m.NameMod           = null;
             m.DisplayGuildTitle = false;
             m.Criminal          = false;
             m.RemoveItem(this);
             m.EquipItem(this);
         }
         else if (m.Body == 401)
         {
             m.SendMessage("you feel the amulet's power changeing you.");
             m.PlaySound(220);
             m.BodyMod           = 52;
             m.NameMod           = "a snake";
             m.DisplayGuildTitle = false;
             m.Criminal          = false;
             m.RemoveItem(this);
             m.EquipItem(this);
         }
         else if (m.BodyMod == 52)
         {
             m.SendMessage("you feel the amulet's power go away.");
             m.PlaySound(73);
             m.BodyMod           = 0;
             m.NameMod           = null;
             m.DisplayGuildTitle = false;
             m.Criminal          = false;
             m.RemoveItem(this);
             m.EquipItem(this);
         }
     }
 }
Ejemplo n.º 3
0
 public override void OnDoubleClick(Mobile m)
 {
     if (Parent != m)
     {
         m.SendMessage("You must be wearing the robe to use it!");
     }
     else
     {
         if (ItemID == 0x2683 || ItemID == 0x2684)
         {
             m.SendMessage("You lower the hood.");
             m.PlaySound(0x57);
             ItemID = 0x1F03;
             m.RemoveItem(this);
             m.EquipItem(this);
         }
         else if (ItemID == 0x1F03 || ItemID == 0x1F04)
         {
             m.SendMessage("You pull the hood over your head.");
             m.PlaySound(0x57);
             ItemID = 0x2683;
             m.RemoveItem(this);
             m.EquipItem(this);
         }
     }
 }
Ejemplo n.º 4
0
        public static void FixMount(Mobile m)
        {
            if (!m.Mounted)
            {
                return;
            }

            var mountItem = m.FindItemOnLayer(Layer.Mount) as IMountItem;

            if (mountItem != null)
            {
                if (mountItem.Mount == null || mountItem.Mount != m.Mount)
                {
                    m.RemoveItem(mountItem as Item);
                }
                else if (mountItem.Mount.Rider == null)
                {
                    mountItem.Mount.Rider = m;
                }
            }
            else if (m.Mount != null && m.Mount.Rider == null)
            {
                m.Mount.Rider = m;
            }

            m.Delta(MobileDelta.Followers);
        }
Ejemplo n.º 5
0
 private void DeleteFromLayer(Mobile from, Layer layer)
 {
     if (from.FindItemOnLayer(layer) != null)
     {
         from.RemoveItem(from.FindItemOnLayer(layer));
     }
 }
Ejemplo n.º 6
0
        public void ValidateItems(Mobile from, Mobile m)
        {
            List <Item> MannequinItems = m.Items.Where(x => Steward.IsEquipped(x)).ToList();

            MannequinItems.ForEach(x => _Mannequin.RemoveItem(x));

            List <Item> ExceptItems = new List <Item>();

            MannequinItems.ForEach(x =>
            {
                if (x.CanEquip(m))
                {
                    m.EquipItem(x);
                }
                else
                {
                    ExceptItems.Add(x);
                }
            });

            if (ExceptItems.Count > 0)
            {
                ExceptItems.ForEach(x => from.AddToBackpack(x));
                from.SendLocalizedMessage(1151641, ExceptItems.Count.ToString(), 0x22); // ~1_COUNT~ items could not be swapped between you and the mannequin. These items are now in your backpack, or on the floor at your feet if your backpack is too full to hold them.
            }
        }
Ejemplo n.º 7
0
        public override void OnDoubleClick(Mobile from)
        {
            if (Parent != from)
            {
                from.SendMessage("The costume must be equiped to be used.");
            }

            else if (from.Mounted == true)
            {
                from.SendMessage("You cannot be mounted while wearing your costume!");
            }

            else if (this.Transformed == false)
            {
                LootType = LootType.Blessed;
                from.SendMessage("You pull the mask over your head.");
                from.PlaySound(0x440);
                //from.Title = "skeleton";
                from.BodyMod           = 74;
                from.NameHue           = 39;
                from.DisplayGuildTitle = false;
                this.Transformed       = true;
                ItemID = 9860;
                from.RemoveItem(this);
                from.EquipItem(this);
            }
            else
            {
                from.SendMessage("You lower the mask.");
                from.PlaySound(0x440);
                //from.Title = null;
                from.BodyMod           = 0x0;
                from.NameHue           = -1;
                from.HueMod            = -1;
                from.DisplayGuildTitle = true;
                this.Transformed       = false;
                ItemID = 0x1F03;
                from.RemoveItem(this);
                from.EquipItem(this);
            }
        }
Ejemplo n.º 8
0
        public override void OnDoubleClick(Mobile m)
        {
            if (Parent != m)
            {
                m.SendMessage("You must be wearing the robe to use it!");
            }
            else
            {
                if (ItemID == 0x2683 || ItemID == 0x2684)
                {
                    m.SendMessage("You lower the hood.");
                    m.PlaySound(0x57);
                    ItemID    = 0x1F03;
                    m.NameMod = null;
                    m.RemoveItem(this);
                    m.EquipItem(this);

                    /*if( m.Kills >= 5)
                     * {
                     * m.Criminal = true;
                     * }
                     * if( m.GuildTitle != null)
                     * {
                     * m.DisplayGuildTitle = true;
                     * }*/
                }
                else if (ItemID == 0x1F03 || ItemID == 0x1F04)
                {
                    m.SendMessage("You pull the hood over your head.");
                    m.PlaySound(0x57);
                    ItemID = 0x2683;
                    //m.NameMod = "shrouded figure";
                    //m.ShowFameTitle = false;
                    //m.DisplayGuildTitle = false;
                    //m.Criminal = false;
                    //m.Title = "a";
                    m.RemoveItem(this);
                    m.EquipItem(this);
                }
            }
        }
Ejemplo n.º 9
0
 public override void OnDoubleClick(Mobile m)
 {
     if (m.InRange(this.GetWorldLocation(), 2))
     {
         if (ItemID == 0x4102)
         {
             m.PlaySound(0x02D);
             ItemID = 0x4105;
             m.RemoveItem(this);
             m.EquipItem(this);
             Open(m);
         }
         else if (ItemID == 0x4105)
         {
             m.PlaySound(0x02C);
             ItemID = 0x4102;
             m.RemoveItem(this);
             m.EquipItem(this);
         }
         else if (ItemID == 0x4106)
         {
             m.PlaySound(0x02D);
             ItemID = 0x4109;
             m.RemoveItem(this);
             m.EquipItem(this);
             Open(m);
         }
         else if (ItemID == 0x4109)
         {
             m.PlaySound(0x02C);
             ItemID = 0x4106;
             m.RemoveItem(this);
             m.EquipItem(this);
         }
     }
     else
     {
         m.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045);           // I can't reach that.
     }
 }
Ejemplo n.º 10
0
 public override void OnDoubleClick(Mobile m)
 {
     if (Parent != m)
     {
         m.SendMessage("ALWAYS WEAR YOUR STAFF ROBE!");
     }
     else
     {
         if (ItemID == 0x204F || ItemID == 0x204F)
         {
             m.SendMessage("YOU ARE NOW PRIVATE.");
             m.PlaySound(0x57);
             ItemID    = 0x1F03;
             m.NameMod = null;
             m.RemoveItem(this);
             m.EquipItem(this);
             if (m.Kills >= Mobile.MurderCount)
             {
                 m.Criminal = true;
             }
             if (m.GuildTitle != null)
             {
                 m.DisplayGuildTitle = true;
             }
         }
         else if (ItemID == 0x204F || ItemID == 0x1F03)
         {
             m.SendMessage("YOU ARE NOW PUBLIC STAFF.");
             m.PlaySound(0x57);
             ItemID              = 0x204F;
             m.NameMod           = "Counselor Defiance";
             m.DisplayGuildTitle = true;
             m.Criminal          = false;
             m.RemoveItem(this);
             m.EquipItem(this);
         }
     }
 }
Ejemplo n.º 11
0
 public override void OnDoubleClick( Mobile m )
 {
    if( Parent != m )
    {
       m.SendMessage( "You must be wearing the robe to use it!" );
    }
    else
    {
       if ( ItemID == 0x2683 || ItemID == 0x2684 )
       {
          m.SendMessage( "You lower the hood." );
          m.PlaySound( 0x57 );
          ItemID = 0x1F03;
          m.NameMod = null;
          m.RemoveItem(this);
          m.EquipItem(this);
          if( m.Kills >= 5)
          {
          m.Criminal = true;
           }
           if( m.GuildTitle != null)
          {
             m.DisplayGuildTitle = true;
           }
       }
       else if ( ItemID == 0x1F03 || ItemID == 0x1F04 )
       {
          m.SendMessage( "You pull the hood over your head." );
          m.PlaySound( 0x57 );
          ItemID = 0x2683;
          m.DisplayGuildTitle = false;
          m.Criminal = false;
          m.RemoveItem(this);
          m.EquipItem(this);
       }
    }
 }
Ejemplo n.º 12
0
        public void ValidateItems(Mobile from, Mobile m)
        {
            List <Item> MannequinItems = new List <Item>();

            foreach (var item in m.Items.Where(Steward.IsEquipped))
            {
                MannequinItems.Add(item);
            }

            for (var index = 0; index < MannequinItems.Count; index++)
            {
                var x = MannequinItems[index];

                _Mannequin.RemoveItem(x);
            }

            List <Item> ExceptItems = new List <Item>();

            for (var index = 0; index < MannequinItems.Count; index++)
            {
                var x = MannequinItems[index];

                if (x.CanEquip(m))
                {
                    m.EquipItem(x);
                }
                else
                {
                    ExceptItems.Add(x);
                }
            }

            if (ExceptItems.Count > 0)
            {
                for (var index = 0; index < ExceptItems.Count; index++)
                {
                    var x = ExceptItems[index];

                    from.AddToBackpack(x);
                }

                from.SendLocalizedMessage(1151641, ExceptItems.Count.ToString(), 0x22); // ~1_COUNT~ items could not be swapped between you and the mannequin. These items are now in your backpack, or on the floor at your feet if your backpack is too full to hold them.
            }
        }
Ejemplo n.º 13
0
        public void SwitchClothes(Mobile from, Mobile m)
        {
            List <Item> MobileItems    = from.Items.Where(x => IsEquipped(x)).ToList();
            List <Item> MannequinItems = m.Items.Where(x => IsEquipped(x)).ToList();

            MannequinItems.ForEach(x => m.RemoveItem(x));
            MobileItems.ForEach(x => from.RemoveItem(x));

            List <Item> ExceptItems = new List <Item>();

            MannequinItems.ForEach(x =>
            {
                if (x.CanEquip(from))
                {
                    from.EquipItem(x);
                }
                else
                {
                    ExceptItems.Add(x);
                }
            });

            MobileItems.ForEach(x =>
            {
                if (x.CanEquip(m))
                {
                    m.EquipItem(x);
                }
                else
                {
                    ExceptItems.Add(x);
                }
            });

            if (ExceptItems.Count > 0)
            {
                ExceptItems.ForEach(x => from.AddToBackpack(x));
                from.SendLocalizedMessage(1151641, ExceptItems.Count.ToString(), 0x22); // ~1_COUNT~ items could not be swapped between you and the mannequin. These items are now in your backpack, or on the floor at your feet if your backpack is too full to hold them.
            }

            from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1151607); // You quickly swap clothes with the mannequin.
        }
Ejemplo n.º 14
0
        public override bool OnBeforeDeath(Mobile m)
        {
            if (!(m is PlayerMobile))
            {
                return(base.OnBeforeDeath(m));
            }

            //Remove the player's items acquired in the dream
            for (int x = m.Items.Count - 1; x >= 0; x--)
            {
                if (!(m.Items[x] is Backpack))
                {
                    m.RemoveItem(m.Items[x]);
                }
            }

            for (int y = m.Backpack.Items.Count - 1; y >= 0; y--)
            {
                if ((m.Backpack.Items[y] is HelmOfCourage) || (m.Backpack.Items[y] is CrystalRoseOfLove) || (m.Backpack.Items[y] is MirrorOfTruth) || (m.Backpack.Items[y] is StaffOrb))
                {
                }
                else
                {
                    m.RemoveItem(m.Backpack.Items[y]);
                }
            }

            //Find the player's item container
            Item[] Items = Map.SerpentIsle.GetItemsInRange(new Point3D(0, 0, 0)).CastToArray <Item>();

            foreach (Item found in Items)
            {
                if (found is MetalBox)
                {
                    MetalBox box = found as MetalBox;

                    if (box.Name == m.Name)
                    {
                        //Give them back their stuff
                        for (int x = box.Items.Count - 1; x >= 0; x--)
                        {
                            if (box.Items[x] is MetalBox)
                            {
                                MetalBox itemBox = box.Items[x] as MetalBox;
                                for (int y = itemBox.Items.Count - 1; y >= 0; y--)
                                {
                                    m.AddToBackpack(itemBox.Items[y]);
                                }
                                if (itemBox.Items.Count == 0)
                                {
                                    itemBox.Delete();
                                }
                            }
                            else
                            {
                                m.EquipItem(box.Items[x]);
                            }
                        }

                        if (box.Items.Count == 0)
                        {
                            box.Delete();
                        }
                    }
                }
            }

            //Move pets back
            foreach (Mobile mobile in ((PlayerMobile)m).AllFollowers)
            {
                mobile.MoveToWorld(new Point3D(650, 881, 0), Map.SerpentIsle);
                mobile.Frozen = false;
            }


            switch (Utility.Random(2))
            {
            case 0:
                m.MoveToWorld(new Point3D(643, 881, 0), Map.SerpentIsle);
                break;

            case 1:
                m.MoveToWorld(new Point3D(662, 882, 0), Map.SerpentIsle);
                break;
            }

            m.SendMessage("Thou hast awoken from thy dream.");

            //Restore player to full
            ((PlayerMobile)m).Hits   = m.HitsMax;
            ((PlayerMobile)m).Mana   = m.ManaMax;
            ((PlayerMobile)m).Stam   = m.StamMax;
            ((PlayerMobile)m).Hunger = 20;
            ((PlayerMobile)m).Thirst = 20;

            ((PlayerMobile)m).Paralyzed = false;
            ((PlayerMobile)m).Poison    = null;

            EvilOmenSpell.TryEndEffect(m);
            StrangleSpell.RemoveCurse(m);
            CorpseSkinSpell.RemoveCurse(m);
            CurseSpell.RemoveEffect(m);
            MortalStrike.EndWound(m);
            BloodOathSpell.RemoveCurse(m);
            MindRotSpell.ClearMindRotScalar(m);

            BuffInfo.RemoveBuff(m, BuffIcon.Clumsy);
            BuffInfo.RemoveBuff(m, BuffIcon.FeebleMind);
            BuffInfo.RemoveBuff(m, BuffIcon.Weaken);
            BuffInfo.RemoveBuff(m, BuffIcon.Curse);
            BuffInfo.RemoveBuff(m, BuffIcon.MassCurse);
            BuffInfo.RemoveBuff(m, BuffIcon.MortalStrike);
            BuffInfo.RemoveBuff(m, BuffIcon.Mindrot);

            return(false);
        }
Ejemplo n.º 15
0
        public override void OnDoubleClick(Mobile from)
        {
            VampGloves   gloves   = from.FindItemOnLayer(Layer.Gloves) as VampGloves;
            VampHelm     helm     = from.FindItemOnLayer(Layer.Helm) as VampHelm;
            VampLegs     legs     = from.FindItemOnLayer(Layer.Pants) as VampLegs;
            VampArms     arms     = from.FindItemOnLayer(Layer.Arms) as VampArms;
            VampGorget   gorget   = from.FindItemOnLayer(Layer.Neck) as VampGorget;
            VampEarrings earrings = from.FindItemOnLayer(Layer.Earrings) as VampEarrings;
            VampRing     ring     = from.FindItemOnLayer(Layer.Ring) as VampRing;
            VampBracelet bracelet = from.FindItemOnLayer(Layer.Bracelet) as VampBracelet;

            if (Parent != from)
            {
                from.SendMessage("The Shroud of Dracula must be equiped to be used.");
            }

            else if (from.Mounted == true)
            {
                from.SendMessage("You cannot be mounted while trying to transform!");
            }

            else if (gloves == null || helm == null || legs == null || arms == null || gorget == null || earrings == null || ring == null || bracelet == null)
            {
                from.SendMessage("You must have all the pieces of the Vampire equiped to transform!");
            }

            else if (this.Transformed == false)
            {
                LootType = LootType.Blessed;
                from.SendMessage("You pull the hood over your head.");
                from.PlaySound(0x220);
                //from.Title = "the True Vampire";
                from.BodyMod           = 146;
                from.NameHue           = 39;
                from.HueMod            = 1;
                from.DisplayGuildTitle = false;
                this.Transformed       = true;
                ItemID = 9860;
                from.RemoveItem(this);
                from.EquipItem(this);

                m_StatMod0 = new StatMod(StatType.Str, "MOD0", 5, TimeSpan.Zero);
                m_StatMod1 = new StatMod(StatType.Int, "MOD1", 5, TimeSpan.Zero);
                m_StatMod2 = new StatMod(StatType.Dex, "MOD2", 5, TimeSpan.Zero);
                from.AddStatMod(m_StatMod0);
                from.AddStatMod(m_StatMod1);
                from.AddStatMod(m_StatMod2);
            }
            else
            {
                from.SendMessage("You lower the hood.");
                from.PlaySound(0x220);
                //from.Title = null;
                from.BodyMod           = 0x0;
                from.NameHue           = -1;
                from.HueMod            = -1;
                from.DisplayGuildTitle = true;
                this.Transformed       = false;
                ItemID = 0x1F03;
                from.RemoveItem(this);
                from.EquipItem(this);
                from.RemoveStatMod("MOD0");
                from.RemoveStatMod("MOD1");
                from.RemoveStatMod("MOD2");
            }
        }
Ejemplo n.º 16
0
        public override void OnDoubleClick(Mobile m)

        {
            if (Parent != m)
            {
                m.SendMessage("You must be wearing the Bracelet to use it!");
            }

            else
            {
                if (m.Mounted)
                {
                    m.SendMessage("You can't activate this while riding.");
                }

                else
                {
                    if (m.Body == 400)
                    {
                        m.SendMessage("You feel yourself changing.");
                        m.PlaySound(357);
                        m.Body              = 40;
                        m.BodyMod           = 0x0;
                        m.Hue               = 1172;
                        Attributes.BonusStr = 50;
                        Attributes.BonusInt = 50;
                        Attributes.BonusDex = 50;
                        m.NameMod           = "Minion of Minax";
                        m.RemoveItem(this);
                        m.EquipItem(this);
                        if (m.Kills >= 5)
                        {
                            m.Criminal = true;
                        }
                        if (m.GuildTitle != null)
                        {
                            m.DisplayGuildTitle = true;
                        }
                    }


                    else if (m.Body == 40)
                    {
                        m.SendMessage("You feel yourself changing.");
                        m.PlaySound(357);
                        m.Body              = 400;
                        m.BodyMod           = 0x0;
                        m.Hue               = 33780;
                        Attributes.BonusStr = 0;
                        Attributes.BonusInt = 0;
                        Attributes.BonusDex = 0;
                        m.NameMod           = null;
                        m.DisplayGuildTitle = false;
                        m.Criminal          = false;
                        m.RemoveItem(this);
                        m.EquipItem(this);
                    }
                    else if (m.Body == 401)
                    {
                        m.SendMessage("You feel yourself changing.");
                        m.PlaySound(1200);
                        m.Body              = 149;
                        m.BodyMod           = 0x0;
                        m.Hue               = 1172;
                        Attributes.BonusStr = 50;
                        Attributes.BonusInt = 50;
                        Attributes.BonusDex = 50;
                        m.NameMod           = "Minion of Minax";
                        m.DisplayGuildTitle = false;
                        m.Criminal          = false;
                        m.RemoveItem(this);
                        m.EquipItem(this);
                    }
                    else if (m.Body == 149)
                    {
                        m.SendMessage("You feel yourself changing.");
                        m.PlaySound(1200);
                        m.Body              = 401;
                        m.BodyMod           = 0x0;
                        m.Hue               = 33780;
                        m.Hits              = m.HitsMax;
                        m.Mana              = m.ManaMax;
                        m.Stam              = m.StamMax;
                        m.NameMod           = null;
                        m.DisplayGuildTitle = false;
                        m.Criminal          = false;
                        m.RemoveItem(this);
                        m.EquipItem(this);
                    }
                }
            }
        }
Ejemplo n.º 17
0
 private void DeleteFromLayer(Mobile from, Layer layer)
 {
     if (from.FindItemOnLayer(layer) != null)
         from.RemoveItem(from.FindItemOnLayer(layer));
 }
Ejemplo n.º 18
0
 public override void OnDoubleClick(Mobile m)
 {
     if (Parent != m)
     {
         m.SendMessage("You must be wearing the bracelet to use it!");
     }
     else
     {
         if (m.Body == 400)
         {
             m.SendMessage("You feel yourself changing.");
             m.PlaySound(232);
             m.BodyMod           = 83;
             m.Hue               = 2212;
             Attributes.BonusStr = 75;
             Attributes.BonusInt = -50;
             Attributes.BonusDex = 65;
             m.NameMod           = "the Incredible Hulk";
             m.RemoveItem(this);
             m.EquipItem(this);
             if (m.Kills >= 5)
             {
                 m.Criminal = true;
             }
             if (m.GuildTitle != null)
             {
                 m.DisplayGuildTitle = true;
             }
         }
         else if (m.Body == 83)
         {
             m.SendMessage("You feel yourself changing.");
             m.PlaySound(900);
             m.Body              = 400;
             m.BodyMod           = 0x0;
             m.Hue               = 33780;
             Attributes.BonusStr = 0;
             Attributes.BonusInt = 0;
             Attributes.BonusDex = 0;
             m.NameMod           = null;
             m.DisplayGuildTitle = false;
             m.Criminal          = false;
             m.RemoveItem(this);
             m.EquipItem(this);
         }
         else if (m.Body == 401)
         {
             m.SendMessage("You feel yourself changing.");
             m.PlaySound(232);
             m.BodyMod           = 1;
             m.Hue               = 2212;
             Attributes.BonusStr = 75;
             Attributes.BonusInt = -50;
             Attributes.BonusDex = 60;
             m.NameMod           = "the Incredible Hulk";
             m.DisplayGuildTitle = false;
             m.Criminal          = false;
             m.RemoveItem(this);
             m.EquipItem(this);
         }
         else if (m.Body == 1)
         {
             m.SendMessage("You feel yourself changing.");
             m.PlaySound(900);
             m.Body              = 401;
             m.BodyMod           = 0x0;
             m.Hue               = 33780;
             m.Hits              = m.HitsMax;
             m.Mana              = m.ManaMax;
             m.Stam              = m.StamMax;
             m.NameMod           = null;
             m.DisplayGuildTitle = false;
             m.Criminal          = false;
             m.RemoveItem(this);
             m.EquipItem(this);
         }
     }
 }
Ejemplo n.º 19
0
        private bool SwitchClothes(Mobile from)
        {
            if (BaseHouse.FindHouseAt(from) == null || !BaseHouse.FindHouseAt(from).IsOwner(from))
            {
                from.SendMessage("You must be in your house to use this.");
                return(false);
            }

            if (BaseHouse.FindHouseAt(this) == null || !BaseHouse.FindHouseAt(this).IsOwner(from))
            {
                from.SendMessage("Your mannequin must be in your own house to use it.");
                return(false);
            }

            if (BaseHouse.FindHouseAt(this) != null && BaseHouse.FindHouseAt(from) != null &&
                BaseHouse.FindHouseAt(this) != BaseHouse.FindHouseAt(from))
            {
                from.SendMessage("You and your mannequin must be in the same house to do that!");
                return(false);
            }

            if (!CanSee(from) || !from.InLOS(this))
            {
                from.SendMessage("You and your mannequin must be able to see eachother to do that.");
                return(false);
            }

            if (STAM_LOSS_FOR_CHANGE)
            {
                if (from.Stam <= STAM_LOSS)
                {
                    from.SendMessage("You don't have the energy to make a quick change at this time.");
                    return(false);
                }
            }

            List <Item> mannequinItems = new List <Item>();
            List <Item> mobileItems    = new List <Item>();

            foreach (Item item in Items)
            {
                if (IsEquipped(item) && !(item is Backpack))
                {
                    mannequinItems.Add(item);
                }
            }

            foreach (Item item in from.Items)
            {
                if (IsEquipped(item) && !(item is Backpack))
                {
                    mobileItems.Add(item);
                }
            }

            foreach (Item item in mobileItems)
            {
                from.RemoveItem(item);
            }

            foreach (Item item in mannequinItems)
            {
                RemoveItem(item);
            }

            foreach (Item item in mobileItems)
            {
                EquipItem(item);
            }

            bool someRemoved = false;
            int  itemsAdded  = 0;

            foreach (Item item in mannequinItems)
            {
                if (from.EquipItem(item))
                {
                    itemsAdded++;
                }
                else
                {
                    someRemoved = true;
                    if (!from.AddToBackpack(item))
                    {
                        item.DropToWorld(from, from.Location);
                    }
                }
            }

            if (itemsAdded > 0 && STAM_LOSS_FOR_CHANGE)
            {
                from.Stam -= STAM_LOSS;
            }

            if (someRemoved)
            {
                from.SendMessage("You were not able to equip everything.");
                return(false);
            }

            return(true);
        }
Ejemplo n.º 20
0
        private bool SwitchClothes(Mobile from)
        {
            if (BaseHouse.FindHouseAt(from) == null || !BaseHouse.FindHouseAt(from).IsOwner(from))
            {
                from.SendMessage("You must be in your house to use this.");
                return false;
            }

            if (BaseHouse.FindHouseAt(this) == null || !BaseHouse.FindHouseAt(this).IsOwner(from))
            {
                from.SendMessage("Your Steward must be in your own house to use it.");
                return false;
            }

            if (BaseHouse.FindHouseAt(this) != null && BaseHouse.FindHouseAt(from) != null &&
                BaseHouse.FindHouseAt(this) != BaseHouse.FindHouseAt(from))
            {
                from.SendMessage("You and your Steward must be in the same house to do that!");
                return false;
            }

            if (!CanSee(from) || !from.InLOS(this))
            {
                from.SendMessage("You and your Steward must be able to see eachother to do that.");
                return false;
            }

            List<Item> stewardItems = new List<Item>();
            List<Item> mobileItems = new List<Item>();

            foreach (Item item in Items)
            {
                if (IsEquipped(item) && !(item is Backpack))
                {
                    stewardItems.Add(item);
                }
            }

            foreach (Item item in from.Items)
            {
                if (IsEquipped(item) && !(item is Backpack))
                {
                    mobileItems.Add(item);
                }
            }

            foreach (Item item in mobileItems)
            {
                from.RemoveItem(item);
            }

            foreach (Item item in stewardItems)
            {
                RemoveItem(item);
            }

            foreach (Item item in mobileItems)
            {
                EquipItem(item);
            }

            bool someRemoved = false;
            foreach (Item item in stewardItems)
            {
                if (!from.EquipItem(item))
                {
                    someRemoved = true;
                    if (!from.AddToBackpack(item))
                        item.DropToWorld(from, from.Location);
                }
            }

            if (someRemoved)
            {
                from.SendMessage("You were not able to equip everything.");
                return false;
            }

            return true;
        }
Ejemplo n.º 21
0
        public void SwitchClothes(Mobile from, Mobile m)
        {
            List <Item> MobileItems = new List <Item>();

            foreach (var item in from.Items.Where(IsEquipped))
            {
                MobileItems.Add(item);
            }

            List <Item> MannequinItems = new List <Item>();

            foreach (var item in m.Items.Where(IsEquipped))
            {
                MannequinItems.Add(item);
            }

            for (var index = 0; index < MannequinItems.Count; index++)
            {
                var mannequinItem = MannequinItems[index];

                m.RemoveItem(mannequinItem);
            }

            for (var index = 0; index < MobileItems.Count; index++)
            {
                var mobileItem = MobileItems[index];

                from.RemoveItem(mobileItem);
            }

            List <Item> ExceptItems = new List <Item>();

            for (var index = 0; index < MannequinItems.Count; index++)
            {
                var x = MannequinItems[index];

                if (x.CanEquip(from))
                {
                    from.EquipItem(x);
                }
                else
                {
                    ExceptItems.Add(x);
                }
            }

            for (var index = 0; index < MobileItems.Count; index++)
            {
                var x = MobileItems[index];

                if (x.CanEquip(m))
                {
                    m.EquipItem(x);
                }
                else
                {
                    ExceptItems.Add(x);
                }
            }

            if (ExceptItems.Count > 0)
            {
                for (var index = 0; index < ExceptItems.Count; index++)
                {
                    var x = ExceptItems[index];

                    from.AddToBackpack(x);
                }

                from.SendLocalizedMessage(1151641, ExceptItems.Count.ToString(), 0x22); // ~1_COUNT~ items could not be swapped between you and the mannequin. These items are now in your backpack, or on the floor at your feet if your backpack is too full to hold them.
            }

            from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1151607); // You quickly swap clothes with the mannequin.
        }
Ejemplo n.º 22
0
        private bool SwitchClothes(Mobile from)
        {
            if (BaseHouse.FindHouseAt(from) == null || !BaseHouse.FindHouseAt(from).IsOwner(from))
            {
                from.SendMessage("You must be in your house to use this.");
                return(false);
            }

            if (BaseHouse.FindHouseAt(this) == null || !BaseHouse.FindHouseAt(this).IsOwner(from))
            {
                from.SendMessage("Your Steward must be in your own house to use it.");
                return(false);
            }

            if (BaseHouse.FindHouseAt(this) != null && BaseHouse.FindHouseAt(from) != null &&
                BaseHouse.FindHouseAt(this) != BaseHouse.FindHouseAt(from))
            {
                from.SendMessage("You and your Steward must be in the same house to do that!");
                return(false);
            }

            if (!CanSee(from) || !from.InLOS(this))
            {
                from.SendMessage("You and your Steward must be able to see eachother to do that.");
                return(false);
            }

            List <Item> stewardItems = new List <Item>();
            List <Item> mobileItems  = new List <Item>();

            foreach (Item item in Items)
            {
                if (IsEquipped(item) && !(item is Backpack))
                {
                    stewardItems.Add(item);
                }
            }

            foreach (Item item in from.Items)
            {
                if (IsEquipped(item) && !(item is Backpack))
                {
                    mobileItems.Add(item);
                }
            }

            foreach (Item item in mobileItems)
            {
                from.RemoveItem(item);
            }

            foreach (Item item in stewardItems)
            {
                RemoveItem(item);
            }

            foreach (Item item in mobileItems)
            {
                EquipItem(item);
            }

            bool someRemoved = false;

            foreach (Item item in stewardItems)
            {
                if (!from.EquipItem(item))
                {
                    someRemoved = true;
                    if (!from.AddToBackpack(item))
                    {
                        item.DropToWorld(from, from.Location);
                    }
                }
            }

            if (someRemoved)
            {
                from.SendMessage("You were not able to equip everything.");
                return(false);
            }

            return(true);
        }
Ejemplo n.º 23
0
        private bool SwitchClothes(Mobile from)
        {
            if (BaseHouse.FindHouseAt(from) == null || !BaseHouse.FindHouseAt(from).IsOwner(from))
            {
                from.SendMessage("You must be in your house to use this.");
                return false;
            }

            if (BaseHouse.FindHouseAt(this) == null || !BaseHouse.FindHouseAt(this).IsOwner(from))
            {
                from.SendMessage("Your mannequin must be in your own house to use it.");
                return false;
            }

            if (BaseHouse.FindHouseAt(this) != null && BaseHouse.FindHouseAt(from) != null &&
                BaseHouse.FindHouseAt(this) != BaseHouse.FindHouseAt(from))
            {
                from.SendMessage("You and your mannequin must be in the same house to do that!");
                return false;
            }

            if (!CanSee(from) || !from.InLOS(this))
            {
                from.SendMessage("You and your mannequin must be able to see eachother to do that.");
                return false;
            }

            if (STAM_LOSS_FOR_CHANGE)
            {
                if (from.Stam <= STAM_LOSS)
                {
                    from.SendMessage("You don't have the energy to make a quick change at this time.");
                    return false;
                }
            }

            List<Item> mannequinItems = new List<Item>();
            List<Item> mobileItems = new List<Item>();

            foreach (Item item in Items)
            {
                if (IsEquipped(item) && !(item is Backpack))
                {
                    mannequinItems.Add(item);
                }
            }

            foreach (Item item in from.Items)
            {
                if (IsEquipped(item) && !(item is Backpack))
                {
                    mobileItems.Add(item);
                }
            }

            foreach (Item item in mobileItems)
            {
                from.RemoveItem(item);
            }

            foreach (Item item in mannequinItems)
            {
                RemoveItem(item);
            }

            foreach (Item item in mobileItems)
            {
                EquipItem(item);
            }

            bool someRemoved = false;
            int itemsAdded = 0;
            foreach (Item item in mannequinItems)
            {
                if (from.EquipItem(item))
                {
                    itemsAdded++;
                }
                else
                {
                    someRemoved = true;
                    if (!from.AddToBackpack(item))
                        item.DropToWorld(from, from.Location);
                }
            }

            if (itemsAdded > 0 && STAM_LOSS_FOR_CHANGE)
            {
                from.Stam -= STAM_LOSS;
            }

            if (someRemoved)
            {
                from.SendMessage("You were not able to equip everything.");
                return false;
            }

            return true;
        }