CIDR's actually working would be nice. That's what I get for assuming the output from a different func would be correct.

When banning checked accounts, it should only tag and comment the checked ones, not all of them in the list.
Optimizing firewall.
This commit is contained in:
asayre 2007-02-10 08:21:13 +00:00
parent 318ad5f08c
commit 75e8798c18
4 changed files with 254 additions and 49 deletions

View file

@ -85,9 +85,9 @@ namespace Server.Movement
bool landBlocks = (TileData.LandTable[landTile.ID & 0x3FFF].Flags & TileFlag.Impassable) != 0;
bool considerLand = !landTile.Ignored;
if ( landBlocks && canSwim && (TileData.LandTable[landTile.ID & 0x3FFF].Flags & TileFlag.Wet) != 0 )
if ( landBlocks && canSwim && (TileData.LandTable[landTile.ID & 0x3FFF].Flags & TileFlag.Wet) != 0 ) //Impassable, Can Swim, and Is water. Don't block it.
landBlocks = false;
else if ( cantWalk && (TileData.LandTable[landTile.ID & 0x3FFF].Flags & TileFlag.Wet) == 0 )
else if ( cantWalk && (TileData.LandTable[landTile.ID & 0x3FFF].Flags & TileFlag.Wet) == 0 ) //Can't walk and it's not water
landBlocks = true;
int landZ = 0, landCenter = 0, landTop = 0;
@ -101,6 +101,7 @@ namespace Server.Movement
bool ignoreDoors = ( m_AlwaysIgnoreDoors || !m.Alive || m.Body.BodyID == 0x3DB || m.IsDeadBondedPet );
#region Tiles
for ( int i = 0; i < tiles.Length; ++i )
{
Tile tile = tiles[i];
@ -152,7 +153,9 @@ namespace Server.Movement
}
}
}
#endregion
#region Items
for ( int i = 0; i < items.Count; ++i )
{
Item item = items[i];
@ -205,6 +208,8 @@ namespace Server.Movement
}
}
#endregion
if ( considerLand && !landBlocks && stepTop >= landZ )
{
int ourZ = landCenter;