public static bool CheckMulti(Point3D p, Map map, bool houses, int housingrange)
{
if (map == null || map == Map.Internal)
return false;
Sector sector = map.GetSector(p.X, p.Y);
for (int i = 0; i < sector.Multis.Count; ++i)
{
BaseMulti multi = sector.Multis[i];
if (multi is BaseHouse)
{
BaseHouse bh = (BaseHouse)multi;
if ((houses && bh.IsInside(p, 16)) || (housingrange > 0 && bh.InRange(p, housingrange)))
return true;
}
else if (multi.Contains(p))
{
return true;
}
}
return false;
}
else if (checkMulti && SpellHelper.CheckMulti(loc, map) && !isboatkey)
{
Caster.SendLocalizedMessage(501025); // Something is blocking the location.
}
Same here, It did not work commenting out those items in recall.cs. I have messed with spellhelper a little but so far I still get dumped at sign in front of house.Tested commenting out that section as I was curious about this as well and even if set to public recalling still takes you to the sign post outside the house. It's probably going to have to be done in spell helper.
public void Mark(Mobile m)
{
RecallRuneEmpty();
m_Marked = true;
bool setDesc = false;
m_Galleon = BaseBoat.FindBoatAt(m) as BaseGalleon;
if (m_Galleon != null)
{
Type = RecallRuneType.Ship;
}
else
{
m_House = BaseHouse.FindHouseAt(m);
if (m_House == null)
{
Target = m.Location;
m_TargetMap = m.Map;
Type = RecallRuneType.Normal;
}
else
{
HouseSign sign = m_House.Sign;
if (sign != null)
m_Description = sign.Name;
else
m_Description = null;
if (m_Description == null || (m_Description = m_Description.Trim()).Length == 0)
m_Description = "an unnamed house";
setDesc = true;
/* int x = m_House.BanLocation.X;
int y = m_House.BanLocation.Y + 2;
int z = m_House.BanLocation.Z;
Map map = m_House.Map;
if (map != null && !map.CanFit(x, y, z, 16, false, false))
z = map.GetAverageZ(x, y); */
// Target = new Point3D(x, y, z);
Target = m.Location;
// m_TargetMap = map;
m_TargetMap = m.Map;
Type = RecallRuneType.Shop;
}
}
if (!setDesc)
m_Description = BaseRegion.GetRuneNameFor(Region.Find(Target, m_TargetMap));
CalculateHue();
InvalidateProperties();
}
We use essential cookies to make this site work, and optional cookies to enhance your experience.