RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Resource icon

Full Cellar Addon 1.2

No permission to download
This creates a Cellar the size of the House its placed in, also choose the type of floor (Grass, Dirt, Stone, Dark Stone, Flagstones, or Wood) of course they can be changed or added to.
Cellars can only be placed on the first floor of a house but there is no check for multiple cellars (as it wouldnt do anything except add more Bookcases on the first floor or stairs in the cellar).
When redeeded it does not keep the floor type (in case you want to change it)

With no Distro edit (there is only 1) YOU WILL NOT BE ABLE TO LOCK ANYTHING DOWN IN YOUR CELLAR.

Distro Edit:

In BaseHouse.cs change this:

Code:
public virtual bool IsInside( Point3D p, int height )
        {
            if ( Deleted )
                return false;
 
            MultiComponentList mcl = Components;
 
            int x = p.X - (X + mcl.Min.X);
            int y = p.Y - (Y + mcl.Min.Y);
 
            if ( x < 0 || x >= mcl.Width || y < 0 || y >= mcl.Height )
                return false;
 
            if ( this is HouseFoundation && y < (mcl.Height-1) && p.Z >= this.Z )
                return true;
 
            StaticTile[] tiles = mcl.Tiles[x][y];
 
            for ( int j = 0; j < tiles.Length; ++j )
            {
                StaticTile tile = tiles[j];
                int id = tile.ID & TileData.MaxItemValue;
                ItemData data = TileData.ItemTable[id];
 
                // Slanted roofs do not count; they overhang blocking south and east sides of the multi
                if ( (data.Flags & TileFlag.Roof) != 0 )
                    continue;
 
                // Signs and signposts are not considered part of the multi
                if ( (id >= 0xB95 && id <= 0xC0E) || (id >= 0xC43 && id <= 0xC44) )
                    continue;
 
                int tileZ = tile.Z + this.Z;
 
                if ( p.Z == tileZ || (p.Z + height) > tileZ )
                    return true;
            }
 
            return false;
        }

To this:

Code:
public virtual bool IsInside( Point3D p, int height )
        {
            Sector sector = Map.GetSector( p );
 
            return Region.Contains( p );
        }

The Distro Edit is originally from Knives TownHouse scripts.

Much Thanks to will_man and Heim for their assistance on getting this going.
  • Like
Reactions: KISOR
Author
Tru
Downloads
143
Views
660
First release
Last update
Rating
5.00 star(s) 1 ratings

Latest updates

  1. Updated

    Added serialization.
  2. Updated: Full Cellar Addon

    Fixed the different Maps Issue (hopefully I got the ranges correct). Fixed the other error...

Latest reviews

Works perfect on all facets, and on SVN. Well done.
Top