Ejemplo n.º 1
0
            protected override void OnTick()
            {
                if (m_Hire != null && !m_Hire.Deleted && m_Hire.Alive)
                {
                    // Get the current owner, if any (updates HireTable)
                    Mobile owner = m_Hire.GetOwner();

                    if ((owner == null) || (m_Hire.m_RemainingPay <= m_Hire.m_PayRate))
                    {
                        if (owner != null && !owner.Deleted && owner.Alive && owner.InRange(m_Hire.Location, 30))
                        {
                            m_Hire.SendLocalizedMessage(1060139, owner.Name);                               // You have made my work easy for me, ~1_NAME~.  My task here is done.
                        }
                        Stop();
                        m_Hire.Delete();
                    }
                    else
                    {
                        m_Hire.m_RemainingPay -= m_Hire.m_PayRate;
                    }
                }
                else
                {
                    Stop();
                }
            }
Ejemplo n.º 2
0
        public override bool OnDragDrop(Mobile from, Item item)
        {
            if (m_Pay != 0)
            {
                // Is the creature already hired
                if (Controlled == false)
                {
                    // Is the item the payment in gold
                    if (item is Gold)
                    {
                        // Is the payment in gold sufficient
                        if (item.Amount >= m_Pay)
                        {
                            // Check if this mobile already has a hire
                            BaseHire hire = (BaseHire)m_HireTable[from];

                            if (hire != null && !hire.Deleted && hire.GetOwner() == from)
                            {
                                SayTo(from, 500896);                                   // I see you already have an escort.
                                return(false);
                            }

                            // Try to add the hireling as a follower
                            if (AddHire(from) == true)
                            {
                                SayTo(from, 1043258, string.Format("{0}", (int)item.Amount / m_Pay));                                     //"I thank thee for paying me. I will work for thee for ~1_NUMBER~ days.", (int)item.Amount / m_Pay );
                                m_HireTable[from] = this;
                                m_HoldGold       += item.Amount;
                                m_PayTimer        = new PayTimer(this);
                                m_PayTimer.Start();
                                return(true);
                            }
                            else
                            {
                                return(false);
                            }
                        }
                        else
                        {
                            this.SayHireCost();
                        }
                    }
                    else
                    {
                        SayTo(from, 1043268);                           // Tis crass of me, but I want gold
                    }
                }
                else
                {
                    Say(1042495);                      // I have already been hired.
                }
            }
            else
            {
                SayTo(from, 500200);                   // I have no need for that.
            }

            return(base.OnDragDrop(from, item));
        }
Ejemplo n.º 3
0
        public override bool OnDragDrop(Mobile from, Item item)
        {
            if (m_PayRate > 0)
            {
                // Is the creature already hired
                if (Controlled == false)
                {
                    // Is the item the payment in gold
                    if (item is Gold)
                    {
                        Gold payment = (Gold)item;

                        // Is the payment in gold sufficient
                        if (payment.Amount >= m_PayRate)
                        {
                            // Check if this mobile already has a hire
                            BaseHire hire = (BaseHire)HireTable[from];

                            if ((hire != null) &&
                                (hire.Deleted == false) &&
                                (hire.Alive == true) &&
                                (hire.GetOwner() == from))
                            {
                                SayTo(from, 500896);                                   // I see you already have an escort.
                                return(false);
                            }

                            // Try to add the hireling as a follower
                            return(AddHire(from, payment));
                        }
                        else
                        {
                            this.SayHireCost();
                        }
                    }
                    else
                    {
                        SayTo(from, 1043268);                           // Tis crass of me, but I want gold
                    }
                }
                else
                {
                    Say(1042495);                      // I have already been hired.
                }
            }
            else
            {
                SayTo(from, 500200);                   // I have no need for that.
            }

            return(base.OnDragDrop(from, item));
        }
Ejemplo n.º 4
0
            protected override void OnTick()
            {
                int m_Pay = m_Hire.m_Pay;

                if (m_Hire.m_HoldGold <= m_Pay)
                {
                    // Get the current owner, if any (updates HireTable)
                    Mobile owner = m_Hire.GetOwner();

                    m_Hire.Say(503235, 0x3B2);// I regret nothing!postal
                    m_Hire.Delete();
                }
                else
                {
                    m_Hire.m_HoldGold -= m_Pay;
                }
            }
Ejemplo n.º 5
0
            protected override void OnTick()
            {
                int m_Pay = m_Hire.m_Pay;

                if (m_Hire.m_HoldGold <= m_Pay)
                {
                    // Get the current owner, if any (updates HireTable)
                    Mobile owner = m_Hire.GetOwner();

                    m_Hire.Say(true, "I thank thee for thy kindness!");
                    m_Hire.Delete();
                }
                else
                {
                    m_Hire.m_HoldGold -= m_Pay;
                }
            }