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(); } }
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)); }
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)); }
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; } }
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; } }