Exemplo n.º 1
0
        /// <summary>
        /// Checks to make sure the light is not too bright where the mob is spawning
        /// </summary>
        protected virtual bool IsValidLightLevel()
        {
            int i = MathHelper2.Floor_double(PosX);
            int j = MathHelper2.Floor_double(BoundingBox.MinY);
            int k = MathHelper2.Floor_double(PosZ);

            if (WorldObj.GetSavedLightValue(SkyBlock.Sky, i, j, k) > Rand.Next(32))
            {
                return(false);
            }

            int l = WorldObj.GetBlockLightValue(i, j, k);

            if (WorldObj.IsThundering())
            {
                int i1 = WorldObj.SkylightSubtracted;
                WorldObj.SkylightSubtracted = 10;
                l = WorldObj.GetBlockLightValue(i, j, k);
                WorldObj.SkylightSubtracted = i1;
            }

            return(l <= Rand.Next(8));
        }