public override bool OnDragDrop(Mobile from, Item item) { if (Pay != 0) { // Is the creature already hired if (!Controlled) { // Is the item the payment in gold if (item is Gold) { // Is the payment in gold sufficient if (item.Amount >= Pay) { if (from.Followers + ControlSlots > from.FollowersMax) { SayTo(from, 500896, 0x3B2); // I see you already have an escort. return(false); } // Try to add the hireling as a follower if (AddHire(from)) { SayTo(from, 1043258, string.Format("{0}", item.Amount / Pay), 0x3B2);//"I thank thee for paying me. I will work for thee for ~1_NUMBER~ days.", (int)item.Amount / Pay ); HoldGold += item.Amount; NextPay = DateTime.UtcNow + PayTimer.GetInterval(); PayTimer.RegisterTimer(this); return(true); } else { return(false); } } else { SayHireCost(); } } else { SayTo(from, 1043268, 0x3B2);// Tis crass of me, but I want gold } } else { SayTo(from, 1042495, 0x3B2);// I have already been hired. } } else { SayTo(from, 500200, 0x3B2);// I have no need for that. } return(base.OnDragDrop(from, item)); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 1: NextPay = reader.ReadDateTime(); goto case 0; case 0: IsHired = reader.ReadBool(); HoldGold = reader.ReadInt(); break; } if (IsHired) { PayTimer.RegisterTimer(this); } }