Пример #1
0
 public override void OnDelete()
 {
     if (m_Vendor != null && !m_Vendor.Deleted)
     {
         m_Vendor.MoveToWorld(this.Location, this.Map);
         m_Vendor.Placeholder = null;
     }
 }
Пример #2
0
		public override void OnDoubleClick( Mobile from )
		{
			if ( !IsChildOf( from.Backpack ) )
			{
				from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
			}
			else if ( from.AccessLevel >= AccessLevel.GameMaster )
			{
				from.SendLocalizedMessage( 503248 ); // Your godly powers allow you to place this vendor whereever you wish.

				Mobile v = new PlayerVendor( from, BaseHouse.FindHouseAt( from ) );

				v.Direction = from.Direction & Direction.Mask;
				v.MoveToWorld( from.Location, from.Map );

				v.SayTo( from, 503246 ); // Ah! it feels good to be working again.

				this.Delete();
			}
			else
			{
				BaseHouse house = BaseHouse.FindHouseAt( from );

				if ( house == null )
				{
					from.SendLocalizedMessage( 503240 ); // Vendors can only be placed in houses.	
				}
				else if ( !house.IsFriend( from ) )
				{
					from.SendLocalizedMessage( 503242 ); // You must ask the owner of this building to name you a friend of the household in order to place a vendor here.
				}
				else if ( !house.Public ) 
				{
					from.SendLocalizedMessage( 503241 ); // You cannot place this vendor or barkeep.  Make sure the house is public and has sufficient storage available.
				}
				else
				{
					bool vendor;
					BaseHouse.IsThereVendor( from.Location, from.Map, out vendor );

					if ( vendor )
					{
						from.SendLocalizedMessage( 1062677 ); // You cannot place a vendor or barkeep at this location.
					}
					else
					{
						Mobile v = new PlayerVendor( from, house );

						v.Direction = from.Direction & Direction.Mask;
						v.MoveToWorld( from.Location, from.Map );

						v.SayTo( from, 503246 ); // Ah! it feels good to be working again.

						this.Delete();
					}
				}
			}
		}
Пример #3
0
        public override void OnDoubleClick( Mobile from )
        {
            if ( !IsChildOf( from.Backpack ) )
            {
                from.SendAsciiMessage( "That must be in your pack for you to use it." );
            }
            else if ( from.AccessLevel >= AccessLevel.GameMaster )
            {
                from.SendAsciiMessage( "Your godly powers allow you to place this vendor whereever you wish." );

                Mobile v = new PlayerVendor( from, BaseHouse.FindHouseAt( from ) );

                v.Direction = from.Direction & Direction.Mask;
                v.MoveToWorld( from.Location, from.Map );

                v.SayTo( from, 503246 ); // Ah! it feels good to be working again.

                this.Delete();
            }
            else
            {
                BaseHouse house = BaseHouse.FindHouseAt( from );

                if ( house == null )
                {
                    from.SendAsciiMessage( "Vendors can only be placed in houses." );
                }
                else if ( !BaseHouse.NewVendorSystem && !house.IsFriend( from ) )
                {
                    from.SendAsciiMessage( "You must ask the owner of this building to name you a friend of the household in order to place a vendor here." );
                }
                else if ( BaseHouse.NewVendorSystem && !house.IsOwner( from ) )
                {
                    from.SendAsciiMessage( "Only the house owner can directly place vendors.  Please ask the house owner to offer you a vendor contract so that you may place a vendor in this house." );
                }
                else if ( !house.Public || !house.CanPlaceNewVendor() )
                {
                    from.SendAsciiMessage( "You cannot place this vendor or barkeep.  Make sure the house is public and has sufficient storage available." );
                }
                else
                {
                    bool vendor, contract;
                    BaseHouse.IsThereVendor( from.Location, from.Map, out vendor, out contract );

                    if ( vendor )
                    {
                        from.SendAsciiMessage( "You cannot place a vendor or barkeep at this location." );
                    }
                    else if ( contract )
                    {
                        from.SendAsciiMessage( "You cannot place a vendor or barkeep on top of a rental contract!" );
                    }
                    else
                    {
                        Mobile v = new PlayerVendor( from, house );

                        v.Direction = from.Direction & Direction.Mask;
                        v.MoveToWorld( from.Location, from.Map );

                        v.SayTo( from, 503246 ); // Ah! it feels good to be working again.

                        this.Delete();
                    }
                }
            }
        }
Пример #4
0
        public override void OnDoubleClick( Mobile from )
        {
            if ( !IsChildOf( from.Backpack ) )
            {
                from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
            }
            else if ( from.AccessLevel >= AccessLevel.GameMaster )
            {
                from.SendLocalizedMessage( 503248 ); // Your godly powers allow you to place this vendor whereever you wish.

                Mobile v = new PlayerVendor( from, BaseHouse.FindHouseAt( from ) );

                v.Direction = from.Direction & Direction.Mask;
                v.MoveToWorld( from.Location, from.Map );

                if( from is PlayerMobile && ((PlayerMobile)from).Nation != Nation.None )
                {
                    Nation nation = ((PlayerMobile)from).Nation;
                    v.Hue = BaseKhaerosMobile.AssignRacialHue( nation );
                    v.HairItemID = BaseKhaerosMobile.AssignRacialHair( nation, v.Female );
                    int hairhue = BaseKhaerosMobile.AssignRacialHairHue( nation );
                    v.HairHue = hairhue;
                    v.Name = BaseKhaerosMobile.RandomName( nation, v.Female );

                    if( !v.Female )
                    {

                        v.FacialHairItemID = BaseKhaerosMobile.AssignRacialFacialHair( nation );
                        v.FacialHairHue = hairhue;
                    }

                    BaseCreature.RemoveEquipFrom( v );
                    BaseKhaerosMobile.RandomCrafterClothes( v, nation );
                }

                v.SayTo( from, 503246 ); // Ah! it feels good to be working again.

                this.Delete();
            }
            else
            {
                BaseHouse house = BaseHouse.FindHouseAt( from );

                if ( house == null )
                {
                    from.SendLocalizedMessage( 503240 ); // Vendors can only be placed in houses.
                }
                else if ( !BaseHouse.NewVendorSystem && !house.IsFriend( from ) )
                {
                    from.SendLocalizedMessage( 503242 ); // You must ask the owner of this building to name you a friend of the household in order to place a vendor here.
                }
                else if ( BaseHouse.NewVendorSystem && !house.IsOwner( from ) && !house.IsCoOwner( from ) )
                {
                    from.SendLocalizedMessage( 1062423 ); // Only the house owner can directly place vendors.  Please ask the house owner to offer you a vendor contract so that you may place a vendor in this house.
                }
                else if ( !house.Public || !house.CanPlaceNewVendor() )
                {
                    from.SendLocalizedMessage( 503241 ); // You cannot place this vendor or barkeep.  Make sure the house is public and has sufficient storage available.
                }
                else
                {
                    bool vendor, contract;
                    BaseHouse.IsThereVendor( from.Location, from.Map, out vendor, out contract );

                    if ( vendor )
                    {
                        from.SendLocalizedMessage( 1062677 ); // You cannot place a vendor or barkeep at this location.
                    }
                    else if ( contract )
                    {
                        from.SendLocalizedMessage( 1062678 ); // You cannot place a vendor or barkeep on top of a rental contract!
                    }
                    else
                    {
                        Mobile v = new PlayerVendor( from, house );

                        v.Direction = from.Direction & Direction.Mask;
                        v.MoveToWorld( from.Location, from.Map );

                        v.SayTo( from, 503246 ); // Ah! it feels good to be working again.

                        this.Delete();
                    }
                }
            }
        }
Пример #5
0
		public override void OnDoubleClick( Mobile from )
		{
			if ( !IsChildOf( from.Backpack ) )
			{
				from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
			}
			else if ( from.AccessLevel >= AccessLevel.GameMaster )
			{
				from.SendLocalizedMessage( 503248 ); // Your godly powers allow you to place this vendor whereever you wish.

				Mobile v = new PlayerVendor( from, BaseHouse.FindHouseAt( from ) );

				v.Direction = from.Direction & Direction.Mask;
				v.MoveToWorld( from.Location, from.Map );

				v.SayTo( from, 503246 ); // Ah! it feels good to be working again.

				Delete();
			}
			else
			{
                bool canplace = false;
				BaseHouse house = BaseHouse.FindHouseAt( from );
                CustomRegion cR;

                if ((cR = from.Region as CustomRegion) != null && !cR.Controller.CanPlaceVendors)
                {
                    if (house == null)
                        from.SendAsciiMessage("Vendors can only be placed in houses or specified areas.");
                    else
                        from.SendAsciiMessage("You cannot place a vendor in this region");
                }
                else if ((cR = from.Region as CustomRegion) != null && cR.Controller.CanPlaceVendors)
                {
                    canplace = true;

                    try
                    {
                    foreach (Mobile mob in cR.GetMobiles())
                    {
                        if (mob is PlayerVendor && (mob as PlayerVendor).Owner.Account == from.Account)
                        {
                            from.SendAsciiMessage("You alread have a vendor placed in this region.");
                            canplace = false;
                            return;
                        }
                    }
                    }
                    catch (Exception e)
                    {
                    	Console.WriteLine(e.ToString());
                    }
                }
				else if ( house == null )
				{
                    from.SendAsciiMessage("Vendors can only be placed in houses or specified areas.");
				}
				else if ( !BaseHouse.NewVendorSystem && !house.IsFriend( from ) )
				{
					from.SendLocalizedMessage( 503242 ); // You must ask the owner of this building to name you a friend of the household in order to place a vendor here.
				}
				else if ( BaseHouse.NewVendorSystem && !house.IsOwner( from ) )
				{
					from.SendLocalizedMessage( 1062423 ); // Only the house owner can directly place vendors.  Please ask the house owner to offer you a vendor contract so that you may place a vendor in this house.
				}
				else if ( !house.Public || !house.CanPlaceNewVendor() ) 
				{
					from.SendLocalizedMessage( 503241 ); // You cannot place this vendor or barkeep.  Make sure the house is public and has sufficient storage available.
				}
                else
                {
                    canplace = true;
                }

                if ( canplace )
				{
					bool vendor, contract;
					BaseHouse.IsThereVendor( from.Location, from.Map, out vendor, out contract );

					if ( vendor )
					{
						from.SendLocalizedMessage( 1062677 ); // You cannot place a vendor or barkeep at this location.
					}
					else if ( contract )
					{
						from.SendLocalizedMessage( 1062678 ); // You cannot place a vendor or barkeep on top of a rental contract!
					}
					else
					{
						Mobile v = new PlayerVendor( from, house );

						v.Direction = from.Direction & Direction.Mask;
						v.MoveToWorld( from.Location, from.Map );

						v.SayTo( from, 503246 ); // Ah! it feels good to be working again.

						Delete();
					}
				}
			}
		}
Пример #6
0
		public override void OnDoubleClick( Mobile from )
		{
			if ( !IsChildOf( from.Backpack ) )
			{
				from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
			}
			else if ( from.AccessLevel >= AccessLevel.GameMaster )
			{
				from.SendLocalizedMessage( 503248 ); // Your godly powers allow you to place this vendor whereever you wish.

				Mobile v = new PlayerVendor( from, BaseHouse.FindHouseAt( from ) );

				v.Direction = from.Direction & Direction.Mask;
				v.MoveToWorld( from.Location, from.Map );

				v.SayTo( from, 503246 ); // Ah! it feels good to be working again.

				this.Delete();
			}
			else
			{
				BaseHouse house = BaseHouse.FindHouseAt( from );
                
                #region VendorTile
                Sector sector = from.Map.GetSector(from.Location);
                foreach (Item i in sector.Items)
                {
                    if (i is VendorTile && i.Location.X == from.Location.X && i.Location.Y == from.Location.Y)
                    {
                        Mobile v = new PlayerVendor(from, house);

                        v.Direction = from.Direction & Direction.Mask;
                        v.MoveToWorld(from.Location, from.Map);

                        v.SayTo(from, 503246); // Ah! it feels good to be working again.

                        this.Delete();
                        return;
                    }
                }
                #endregion

                if ( house == null )
				{
					from.SendLocalizedMessage( 503240 ); // Vendors can only be placed in houses.	
				}
				else if ( !BaseHouse.NewVendorSystem && !house.IsFriend( from ) )
				{
					from.SendLocalizedMessage( 503242 ); // You must ask the owner of this building to name you a friend of the household in order to place a vendor here.
				}
				else if ( BaseHouse.NewVendorSystem && !house.IsOwner( from ) )
				{
					from.SendLocalizedMessage( 1062423 ); // Only the house owner can directly place vendors.  Please ask the house owner to offer you a vendor contract so that you may place a vendor in this house.
				}
				else if ( !house.Public || !house.CanPlaceNewVendor() ) 
				{
					from.SendLocalizedMessage( 503241 ); // You cannot place this vendor or barkeep.  Make sure the house is public and has sufficient storage available.
				}
				else
				{
					bool vendor, contract;
					BaseHouse.IsThereVendor( from.Location, from.Map, out vendor, out contract );

					if ( vendor )
					{
						from.SendLocalizedMessage( 1062677 ); // You cannot place a vendor or barkeep at this location.
					}
					else if ( contract )
					{
						from.SendLocalizedMessage( 1062678 ); // You cannot place a vendor or barkeep on top of a rental contract!
					}
					else
					{
						Mobile v = new PlayerVendor( from, house );

						v.Direction = from.Direction & Direction.Mask;
						v.MoveToWorld( from.Location, from.Map );

						v.SayTo( from, 503246 ); // Ah! it feels good to be working again.

						this.Delete();
					}
				}
			}
		}
        public override void OnDoubleClick( Mobile from )
        {
            if ( !IsChildOf( from.Backpack ) )
            {
                from.SendMessage( "O item precisa estar na sua bag" ); // That must be in your pack for you to use it.
            }
            else if ( from.AccessLevel >= AccessLevel.GameMaster )
            {
                from.SendMessage("Voce e GM e pode colocar o vendedor onde quiser."); // Your godly powers allow you to place this vendor whereever you wish.

                Mobile v = new PlayerVendor( from, BaseHouse.FindHouseAt( from ) );

                v.Direction = from.Direction & Direction.Mask;
                v.MoveToWorld( from.Location, from.Map );

                v.SayTo( from, "Ah! Como e bom voltar ao trabalho..." ); // Ah! it feels good to be working again.

                this.Delete();
            }
            else
            {
                BaseHouse house = BaseHouse.FindHouseAt( from );

                if ( house == null )
                {
                    from.SendMessage("Vendedores so podem ser colocados dentro de casa"); // Vendors can only be placed in houses.
                }
                else if ( !BaseHouse.NewVendorSystem && !house.IsFriend( from ) )
                {
                    from.SendMessage("Apenas o dono, sócios e amigos podem colocar vendedores nesta casa"); // You must ask the owner of this building to name you a friend of the household in order to place a vendor here.
                }
                else if ( BaseHouse.NewVendorSystem && !house.IsOwner( from ) )
                {
                    from.SendMessage("Apenas o dono pode colocar vendedores diretamente."); // Only the house owner can directly place vendors.  Please ask the house owner to offer you a vendor contract so that you may place a vendor in this house.
                }
                else if ( !house.Public || !house.CanPlaceNewVendor() )
                {
                    from.SendMessage("Voce nao pode colocar este vendedor aqui. Verifique se a casa e publica e tem espaco suficiente."); // You cannot place this vendor or barkeep.  Make sure the house is public and has sufficient storage available.
                }
                else
                {
                    bool vendor, contract;
                    BaseHouse.IsThereVendor( from.Location, from.Map, out vendor, out contract );

                    if ( vendor )
                    {
                        from.SendMessage("Voce nao pode colocar um vendedor aqui"); // You cannot place a vendor or barkeep at this location.
                    }
                    else if ( contract )
                    {
                        from.SendMessage("Voce nao pode colocar este vendedor aqui, verifique o contrato."); // You cannot place a vendor or barkeep on top of a rental contract!
                    }
                    else
                    {
                        Mobile v = new PlayerVendor( from, house );

                        v.Direction = from.Direction & Direction.Mask;
                        v.MoveToWorld( from.Location, from.Map );

                        v.SayTo( from, "Ah! Como e bom voltar ao trabalho..."); // Ah! it feels good to be working again.

                        this.Delete();
                    }
                }
            }
        }
Пример #8
0
        public override void OnDoubleClick( Mobile from )
        {
            if ( !IsChildOf( from.Backpack ) )
            {
                from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
            }
            else if ( from.AccessLevel >= AccessLevel.GameMaster )
            {
                from.SendLocalizedMessage( 503248 ); // Your godly powers allow you to place this vendor whereever you wish.

                Mobile v = new PlayerVendor( from, HousingHelper.FindHouseAt( from ) );

                v.Direction = from.Direction & Direction.Mask;
                v.MoveToWorld( from.Location, from.Map );

                v.SayTo( from, 503246 ); // Ah! it feels good to be working again.

                this.Delete();
            }
            else
            {
                var house = HousingHelper.FindHouseAt( from );

                if ( house == null )
                {
                    from.SendLocalizedMessage( 503240 ); // Vendors can only be placed in houses.
                }
                else if ( !house.IsOwner( from ) )
                {
                    from.SendLocalizedMessage( 1062423 ); // Only the house owner can directly place vendors.  Please ask the house owner to offer you a vendor contract so that you may place a vendor in this house.
                }
                else if ( !house.Public || !house.CanPlaceNewVendor() )
                {
                    from.SendLocalizedMessage( 503241 ); // You cannot place this vendor or barkeep.  Make sure the house is public and has sufficient storage available.
                }
                else
                {
                    bool vendor, contract;
                    HousingHelper.IsThereVendor( from.Location, from.Map, out vendor, out contract );

                    if ( vendor )
                    {
                        from.SendLocalizedMessage( 1062677 ); // You cannot place a vendor or barkeep at this location.
                    }
                    else if ( contract )
                    {
                        from.SendLocalizedMessage( 1062678 ); // You cannot place a vendor or barkeep on top of a rental contract!
                    }
                    else
                    {
                        Mobile v = new PlayerVendor( from, house );

                        v.Direction = from.Direction & Direction.Mask;
                        v.MoveToWorld( from.Location, from.Map );

                        v.SayTo( from, 503246 ); // Ah! it feels good to be working again.

                        this.Delete();
                    }
                }
            }
        }