public override TimeSpan GetNextBulkOrder(Mobile from) { BODModule bod_mod = (BODModule)CentralMemory.GetModule(from.Serial, typeof(BODModule)); if (bod_mod != null && from != null) { return(bod_mod.NextCarpenterBulkOrder); } //if ( from is PlayerMobile ) // return ((PlayerMobile)from).NextCarpenterBulkOrder; return(TimeSpan.Zero); }
public override Item CreateBulkOrder(Mobile from, bool fromContextMenu) { PlayerMobile pm = from as PlayerMobile; BODModule bod_mod = (BODModule)CentralMemory.GetModule(from.Serial, typeof(BODModule)); if (bod_mod == null && from == null) { return(null); } if (bod_mod != null && bod_mod.NextCarpenterBulkOrder == TimeSpan.Zero && (fromContextMenu || 0.2 > Utility.RandomDouble())) { double theirSkill = pm.Skills[SkillName.Carpentry].Base; if (theirSkill >= 70.1) { bod_mod.NextCarpenterBulkOrder = TimeSpan.FromHours(3.0); } else if (theirSkill >= 50.1) { bod_mod.NextCarpenterBulkOrder = TimeSpan.FromHours(2.0); } else { bod_mod.NextCarpenterBulkOrder = TimeSpan.FromHours(1.0); } if (theirSkill >= 70.1 && ((theirSkill - 40.0) / 300.0) > Utility.RandomDouble()) { return(new LargeCarpenterBOD()); } return(SmallCarpenterBOD.CreateRandomFor(from)); } else { CentralMemory.AppendModule(from.Serial, new BODModule(from.Serial), true); from.SendMessage("Please try again"); } return(null); }