public Mushroom(int id, Terrain terrain)
            : base(Config.MushroomCylinderRadius, Config.MushroomCylinderHeight)
        {
            Id = id;
            Terrain = terrain;

            Level = 1;

            Scale = newScale = originalScale = Config.MushroomScale;
            Range = Config.MushroomRange;

            Stone = new Stone(this) { Enabled = false };

            growSpeed = Config.MushroomGrowSpeed;
        }
        public bool CheckCollision(Stone stone)
        {
            Client client = GetClientList().FirstOrDefault(c => !c.Leprechaun.IsInvulnerable && c.Leprechaun != stone.Mushroom.Owner && c.Leprechaun.Intersects(stone));

            if (client != null)
                client.Send(new NetworkPacketStoneHit());

            return client != null || VegetationManager.IntersectsAny(stone) || stone.Position.Y < Terrain.GetHeight(stone.Position).Y;
        }
 public NetworkPacketStone(Stone stone)
     : base(NetworkPacketTypes.Stone, (byte)stone.Mushroom.Id, 0, stone)
 {
     AddBool(stone.Enabled);
 }