- IPTable update when deleting accounts, so the creation IP address gets a new account spot.
- Added AdminGump option for removing account access IP addresses. - Firebombs now cancel the target properly when exploding. - Fixed item placement bug when creating firebombs. - Added criminal check option to Teleporter. - Fixed item placement bug when opening MIBs. - Made SOS flipable. - Opening an SOS will no longer close other SOS gumps. - Corrected Leafblade to be a Fencing weapon. - Meer mages no longer cast plagues on pets, only on players. - Corrected skills typo in CorruptedSoul. - Movement induced by angering a monster during taming will now respect movement timers. - Teleporting into keep walls is no longer possible. - Removed the ability to have line of sight under a house plot through house walls. - Added the Frozen mobile flag, providing clients with information on when they are frozen. (The client then disallows movement.) - Fix for character statue redeeding issues.
This commit is contained in:
parent
a3f8cb5fc6
commit
c52504151b
18 changed files with 309 additions and 122 deletions
|
|
@ -1895,12 +1895,13 @@ namespace Server
|
|||
for( int i = 0; i < pathCount; ++i )
|
||||
{
|
||||
Point3D point = path[i];
|
||||
int pointTop = point.m_Z + 1;
|
||||
|
||||
LandTile landTile = Tiles.GetLandTile( point.X, point.Y );
|
||||
int landZ = 0, landAvg = 0, landTop = 0;
|
||||
GetAverageZ( point.m_X, point.m_Y, ref landZ, ref landAvg, ref landTop );
|
||||
|
||||
if( landZ <= point.m_Z && landTop >= point.m_Z && (point.m_X != end.m_X || point.m_Y != end.m_Y || landZ > end.m_Z || landTop < end.m_Z) && !landTile.Ignored )
|
||||
if( landZ <= pointTop && landTop >= point.m_Z && (point.m_X != end.m_X || point.m_Y != end.m_Y || landZ > end.m_Z || landTop < end.m_Z) && !landTile.Ignored )
|
||||
return false;
|
||||
|
||||
/* --Do land tiles need to be checked? There is never land between two people, always statics.--
|
||||
|
|
@ -1945,7 +1946,7 @@ namespace Server
|
|||
flags = id.Flags;
|
||||
height = id.CalcHeight;
|
||||
|
||||
if( t.Z <= point.Z && t.Z + height >= point.Z && (flags & (TileFlag.Window | TileFlag.NoShoot)) != 0 )
|
||||
if( t.Z <= pointTop && t.Z + height >= point.Z && (flags & (TileFlag.Window | TileFlag.NoShoot)) != 0 )
|
||||
{
|
||||
if( point.m_X == end.m_X && point.m_Y == end.m_Y && t.Z <= end.m_Z && t.Z + height >= end.m_Z )
|
||||
continue;
|
||||
|
|
@ -1990,11 +1991,12 @@ namespace Server
|
|||
for( int j = 0; j < count; ++j )
|
||||
{
|
||||
Point3D point = path[j];
|
||||
int pointTop = point.m_Z + 1;
|
||||
Point3D loc = i.Location;
|
||||
|
||||
//if ( t.Z <= point.Z && t.Z+height >= point.Z && ( height != 0 || ( t.Z == dest.Z && zd != 0 ) ) )
|
||||
if( loc.m_X == point.m_X && loc.m_Y == point.m_Y &&
|
||||
loc.m_Z <= point.m_Z && loc.m_Z + height >= point.m_Z )
|
||||
loc.m_Z <= pointTop && loc.m_Z + height >= point.m_Z )
|
||||
{
|
||||
if( loc.m_X == end.m_X && loc.m_Y == end.m_Y && loc.m_Z <= end.m_Z && loc.m_Z + height >= end.m_Z )
|
||||
continue;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue