Exemple #1
0
        public void Louer(Mobile from)
        {
            if (!Banker.Withdraw(from, this.PrixLocation))
            {
                from.SendMessage("Vous n'avez pas assez d'argent sur votre compte.");
            }
            else
            {
                from.SendMessage("Vous louez le batiment.");
                Proprio = from;
                m_Owned = true;
                from.SendMessage("Sous quel nom voulez-vous l'enregistrer ?");
                from.Prompt = new OwnerNamePrompt(this);

                GenerateKey.GenerateNewKey(from, Porte1, 1);

                GenerateKey.GenerateNewKey(from, Porte2, 1);
            }
        }
Exemple #2
0
        // Deux sous fonctions qui permettent de vider la zone de location, lorsque le proprio perd la maison.
        private void DumpItems()
        {
            if (m_Container != null)
            {
                WoodenBox b = new WoodenBox();
                b.MaxItems = int.MaxValue;
                b.Name     = m_OwnerName;

                List <Item> toMove            = new List <Item>();
                Rectangle2D rect              = new Rectangle2D(RegionPoint1, RegionPoint2);
                IPooledEnumerable <Item> list = Map.Felucca.GetItemsInBounds(rect);

                foreach (Item i in list)
                {
                    if (i != null && !(i is BaseDoor))
                    {
                        toMove.Add(i);
                    }
                }
                list.Free();

                for (int i = 0; i < toMove.Count; ++i)
                {
                    b.DropItem(toMove[i]);
                    toMove[i].Movable = true;
                }

                // Seulement ouvrable par le owner, qui obtient une nouvelle clef à chaque fois.
                GenerateKey.GenerateNewKey(m_Proprio, b, 1);
                b.Locked = true;

                // Ajout de la boite lockée dans le container lié à la maison.
                m_Container.DropItem(b);
                b.CanBeAltered = false;
                b.Movable      = false;
            }
        }
Exemple #3
0
        public override void OnResponse(Server.Network.NetState sender, RelayInfo info)
        {
            int val = info.ButtonID;

            switch (val)
            {
            default: break;

            case 1:
            {
                m_item.Louer(m_from);
                break;
            }

            case 2:
            {
                m_item.MontrerProprio = !m_item.MontrerProprio;
                break;
            }

            case 3:
            {
                m_from.SendMessage("Sous quel nom voulez-vous enregistrer le batiment ?");
                m_from.Prompt = new OwnerNamePrompt(m_item);
                break;
            }

            case 4:
            {
                m_from.Target = new AddTargetCoproprio(m_item);
                m_from.SendMessage("Qui desirez vous ajouter comme coproprietaire?");
                break;
            }

            case 5:
            {
                m_item.CoProprio[0] = null;
                break;
            }

            case 6:
            {
                m_item.CoProprio[1] = null;
                break;
            }

            case 7:
            {
                m_item.CoProprio[2] = null;
                break;
            }

            case 8:
            {
                m_from.Target = new AddTargetChangeProprio(m_item);
                m_from.SendMessage("A qui voulez vous transferer la maison?");
                break;
            }

            case 9:
            {
                if (m_item.Porte1 != null)
                {
                    if (!GenerateKey.GenerateKeyFor(m_from, m_item.Porte1, 1))
                    {
                        GenerateKey.GenerateNewKey(m_from, m_item.Porte1, 1);
                    }
                }

                break;
            }

            case 10:
            {
                if (m_item.Porte2 != null)
                {
                    if (!GenerateKey.GenerateKeyFor(m_from, m_item.Porte2, 1))
                    {
                        GenerateKey.GenerateNewKey(m_from, m_item.Porte2, 1);
                    }
                }

                break;
            }

            case 11:
            {
                m_item.Disown();

                break;
            }
            }
        }