Beispiel #1
0
        public override void OnDoubleClick(Mobile from)
        {
            if (from.Mounted && !CropHelper.CanWorkMounted)
            {
                from.SendMessage(AgriTxt.CannotWorkMounted);
                return;
            }

            Point3D m_pnt = from.Location;
            Map     m_map = from.Map;

            if (!IsChildOf(from.Backpack))
            {
                from.SendLocalizedMessage(1042010); //You must have the object in your backpack to use it.
                return;
            }

            else if (!CropHelper.CheckCanGrow(this, m_map, m_pnt.X, m_pnt.Y))
            {
                from.SendMessage(AgriTxt.CannotGrowHere);
                return;
            }

            //check for BaseCrop on this tile
            ArrayList cropshere = CropHelper.CheckCrop(m_pnt, m_map, 0);

            if (cropshere.Count > 0)
            {
                from.SendMessage(AgriTxt.AlreadyCrop);
                return;
            }

            //check for over planting prohibt if 4 maybe 3 neighboring crops
            ArrayList cropsnear = CropHelper.CheckCrop(m_pnt, m_map, 1);

            if ((cropsnear.Count > 3) || ((cropsnear.Count == 3) && Utility.RandomBool()))
            {
                from.SendMessage(AgriTxt.TooMuchCrops);
                return;
            }

            if (this.BumpZ)
            {
                ++m_pnt.Z;
            }

            if (!from.Mounted)
            {
                from.Animate(32, 5, 1, true, false, 0); // Bow
            }
            from.SendMessage(AgriTxt.CropPlanted);
            this.Consume();
            Item item = new HoublonSeedling(from);

            item.Location = m_pnt;
            item.Map      = m_map;
        }
        public override void OnDoubleClick(Mobile from)
        {
            if (from.Mounted && !CropHelper.CanWorkMounted)
            {
                from.SendMessage(AgriTxt.CannotWorkMounted);
                return;
            }

            Point3D m_pnt = from.Location;
            Map m_map = from.Map;

            if (!IsChildOf(from.Backpack))
            {
                from.SendLocalizedMessage(1042010); //You must have the object in your backpack to use it. 
                return;
            }

            else if (!CropHelper.CheckCanGrow(this, m_map, m_pnt.X, m_pnt.Y))
            {
                from.SendMessage(AgriTxt.CannotGrowHere);
                return;
            }

            //check for BaseCrop on this tile
            ArrayList cropshere = CropHelper.CheckCrop(m_pnt, m_map, 0);
            if (cropshere.Count > 0)
            {
                from.SendMessage(AgriTxt.AlreadyCrop);
                return;
            }

            //check for over planting prohibt if 4 maybe 3 neighboring crops
            ArrayList cropsnear = CropHelper.CheckCrop(m_pnt, m_map, 1);
            if ((cropsnear.Count > 3) || ((cropsnear.Count == 3) && Utility.RandomBool()))
            {
                from.SendMessage(AgriTxt.TooMuchCrops);
                return;
            }

            if (this.BumpZ) ++m_pnt.Z;

            if (!from.Mounted)
                from.Animate(32, 5, 1, true, false, 0); // Bow

            from.SendMessage(AgriTxt.CropPlanted);
            this.Consume();
            Item item = new HoublonSeedling(from);
            item.Location = m_pnt;
            item.Map = m_map;

        }
Beispiel #3
0
 public static void init(HoublonSeedling plant)
 {
     plant.thisTimer = new CropHelper.GrowTimer(plant, typeof(HoublonCrop), plant.Sower);
     plant.thisTimer.Start();
 }
 public static void init(HoublonSeedling plant)
 {
     plant.thisTimer = new CropHelper.GrowTimer(plant, typeof(HoublonCrop), plant.Sower);
     plant.thisTimer.Start();
 }