public override bool OnBeforeDeath()
        {
            if (Map != null && Combatant != null)
            {
                Map map = Map;

                if (map == null)
                    return false;                
                for (int k = 0; k < 3; ++k)
                {
                    BaseCreature spawn = new PoisonousSlime();
                    spawn.Team = Team;
                    bool validLocation = false;
                    Point3D loc = Location;                
                    for (int j = 0; !validLocation && j < 10; ++j)
                    {
                        int x = X + Utility.Random(3) - 1;
                        int y = Y + Utility.Random(3) - 1;
                        int z = map.GetAverageZ(x, y);

                        if (validLocation = map.CanFit(x, y, Z, 16, false, false))
                            loc = new Point3D(x, y, Z);
                        else if (validLocation = map.CanFit(x, y, z, 16, false, false))
                            loc = new Point3D(x, y, z);
                    }
                    PlaySound( Utility.RandomMinMax( 457, 459 ) );
                    spawn.MoveToWorld(loc, map);
                    spawn.Combatant = Combatant;
                }
            }
            Delete();
            return base.OnBeforeDeath();
        }
        public override bool OnBeforeDeath()
        {
            if (Map != null && Combatant != null)
            {
                Map map = Map;

                if (map == null)
                {
                    return(false);
                }
                for (int k = 0; k < 3; ++k)
                {
                    BaseCreature spawn = new PoisonousSlime();
                    spawn.Team = Team;
                    bool    validLocation = false;
                    Point3D loc           = Location;
                    for (int j = 0; !validLocation && j < 10; ++j)
                    {
                        int x = X + Utility.Random(3) - 1;
                        int y = Y + Utility.Random(3) - 1;
                        int z = map.GetAverageZ(x, y);

                        if (validLocation = map.CanFit(x, y, Z, 16, false, false))
                        {
                            loc = new Point3D(x, y, Z);
                        }
                        else if (validLocation = map.CanFit(x, y, z, 16, false, false))
                        {
                            loc = new Point3D(x, y, z);
                        }
                    }
                    PlaySound(Utility.RandomMinMax(457, 459));
                    spawn.MoveToWorld(loc, map);
                    spawn.Combatant = Combatant;
                }
            }
            Delete();
            return(base.OnBeforeDeath());
        }