Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }