From ac5a0827f2e3174a962742f72fc84d3244bb5fee Mon Sep 17 00:00:00 2001 From: mark Date: Thu, 9 Dec 2010 02:48:29 +0000 Subject: [PATCH] --- Scripts/Engines/Pathing/Movement.cs | 17 +++++++++-------- Scripts/Items/Construction/Doors/BaseDoor.cs | 2 +- Scripts/Multis/Boats/BaseBoat.cs | 2 +- Scripts/Multis/HouseFoundation.cs | 6 +++--- Scripts/Regions/BaseRegion.cs | 3 ++- Server/Item.cs | 2 +- Server/Map.cs | 8 ++++---- 7 files changed, 21 insertions(+), 19 deletions(-) diff --git a/Scripts/Engines/Pathing/Movement.cs b/Scripts/Engines/Pathing/Movement.cs index 262690380..583a387e8 100644 --- a/Scripts/Engines/Pathing/Movement.cs +++ b/Scripts/Engines/Pathing/Movement.cs @@ -2,6 +2,7 @@ using System; using System.Collections; using System.Collections.Generic; using Server; +using Server.Items; using Server.Mobiles; namespace Server.Movement @@ -319,13 +320,13 @@ namespace Server.Movement if ( (item.ItemData.Flags & reqFlags) == 0 ) continue; - if ( sector == sectorStart && item.AtWorldPoint( xStart, yStart ) && item.ItemID <= TileData.MaxItemValue ) + if ( sector == sectorStart && item.AtWorldPoint( xStart, yStart ) && !(item is BaseMulti) && item.ItemID <= TileData.MaxItemValue ) itemsStart.Add( item ); - else if ( sector == sectorForward && item.AtWorldPoint( xForward, yForward ) && item.ItemID <= TileData.MaxItemValue ) + else if ( sector == sectorForward && item.AtWorldPoint( xForward, yForward ) && !(item is BaseMulti) && item.ItemID <= TileData.MaxItemValue ) itemsForward.Add( item ); - else if ( sector == sectorLeft && item.AtWorldPoint( xLeft, yLeft ) && item.ItemID <= TileData.MaxItemValue ) + else if ( sector == sectorLeft && item.AtWorldPoint( xLeft, yLeft ) && !(item is BaseMulti) && item.ItemID <= TileData.MaxItemValue ) itemsLeft.Add( item ); - else if ( sector == sectorRight && item.AtWorldPoint( xRight, yRight ) && item.ItemID <= TileData.MaxItemValue ) + else if ( sector == sectorRight && item.AtWorldPoint( xRight, yRight ) && !(item is BaseMulti) && item.ItemID <= TileData.MaxItemValue ) itemsRight.Add( item ); } } @@ -350,9 +351,9 @@ namespace Server.Movement if ( (item.ItemData.Flags & reqFlags) == 0 ) continue; - if ( item.AtWorldPoint( xStart, yStart ) && item.ItemID <= TileData.MaxItemValue ) + if ( item.AtWorldPoint( xStart, yStart ) && !(item is BaseMulti) && item.ItemID <= TileData.MaxItemValue ) itemsStart.Add( item ); - else if ( item.AtWorldPoint( xForward, yForward ) && item.ItemID <= TileData.MaxItemValue ) + else if ( item.AtWorldPoint( xForward, yForward ) && !(item is BaseMulti) && item.ItemID <= TileData.MaxItemValue ) itemsForward.Add( item ); } } @@ -368,7 +369,7 @@ namespace Server.Movement if ( (item.ItemData.Flags & reqFlags) == 0 ) continue; - if ( item.AtWorldPoint( xForward, yForward ) && item.ItemID <= TileData.MaxItemValue ) + if ( item.AtWorldPoint( xForward, yForward ) && !(item is BaseMulti) && item.ItemID <= TileData.MaxItemValue ) itemsForward.Add( item ); } @@ -382,7 +383,7 @@ namespace Server.Movement if ( (item.ItemData.Flags & reqFlags) == 0 ) continue; - if ( item.AtWorldPoint( xStart, yStart ) && item.ItemID <= TileData.MaxItemValue ) + if ( item.AtWorldPoint( xStart, yStart ) && !(item is BaseMulti) && item.ItemID <= TileData.MaxItemValue ) itemsStart.Add( item ); } } diff --git a/Scripts/Items/Construction/Doors/BaseDoor.cs b/Scripts/Items/Construction/Doors/BaseDoor.cs index b2c37e100..d55ba7722 100644 --- a/Scripts/Items/Construction/Doors/BaseDoor.cs +++ b/Scripts/Items/Construction/Doors/BaseDoor.cs @@ -288,7 +288,7 @@ namespace Server.Items { Item item = items[i]; - if ( item.ItemID <= TileData.MaxItemValue && item.AtWorldPoint( x, y ) && !(item is BaseDoor) ) + if ( !(item is BaseMulti) && item.ItemID <= TileData.MaxItemValue && item.AtWorldPoint( x, y ) && !(item is BaseDoor) ) { ItemData id = item.ItemData; bool surface = id.Surface; diff --git a/Scripts/Multis/Boats/BaseBoat.cs b/Scripts/Multis/Boats/BaseBoat.cs index 87c492d27..609060b31 100644 --- a/Scripts/Multis/Boats/BaseBoat.cs +++ b/Scripts/Multis/Boats/BaseBoat.cs @@ -1221,7 +1221,7 @@ namespace Server.Multis foreach ( Item item in eable ) { - if ( item.ItemID > TileData.MaxItemValue || item.Z < p.Z || !item.Visible ) + if ( item is BaseMulti || item.ItemID > TileData.MaxItemValue || item.Z < p.Z || !item.Visible ) continue; int x = item.X - p.X + newComponents.Min.X; diff --git a/Scripts/Multis/HouseFoundation.cs b/Scripts/Multis/HouseFoundation.cs index e327d5464..2e039eecb 100644 --- a/Scripts/Multis/HouseFoundation.cs +++ b/Scripts/Multis/HouseFoundation.cs @@ -2242,7 +2242,7 @@ namespace Server.Multis int byteIndex = (totalStairsUsed % MaxItemsPerStairBuffer) * 5; - stairBuffer[byteIndex++] = (byte)((mte.m_ItemID >> 8) & 0x3F); + stairBuffer[byteIndex++] = (byte)(mte.m_ItemID >> 8); stairBuffer[byteIndex++] = (byte)mte.m_ItemID; stairBuffer[byteIndex++] = (byte)mte.m_OffsetX; @@ -2280,7 +2280,7 @@ namespace Server.Multis int byteIndex = (totalStairsUsed % MaxItemsPerStairBuffer) * 5; - stairBuffer[byteIndex++] = (byte)((mte.m_ItemID >> 8) & 0x3F); + stairBuffer[byteIndex++] = (byte)(mte.m_ItemID >> 8); stairBuffer[byteIndex++] = (byte)mte.m_ItemID; stairBuffer[byteIndex++] = (byte)mte.m_OffsetX; @@ -2292,7 +2292,7 @@ namespace Server.Multis else { m_PlaneUsed[plane] = true; - m_PlaneBuffers[plane][index] = (byte)((mte.m_ItemID >> 8) & 0x3F); + m_PlaneBuffers[plane][index] = (byte)(mte.m_ItemID >> 8); m_PlaneBuffers[plane][index + 1] = (byte)mte.m_ItemID; } } diff --git a/Scripts/Regions/BaseRegion.cs b/Scripts/Regions/BaseRegion.cs index 9545a659d..303a66e4a 100644 --- a/Scripts/Regions/BaseRegion.cs +++ b/Scripts/Regions/BaseRegion.cs @@ -3,6 +3,7 @@ using System.Collections; using System.Collections.Generic; using System.Xml; using Server; +using Server.Items; namespace Server.Regions { @@ -309,7 +310,7 @@ namespace Server.Regions { Item item = sector.Items[j]; - if ( item.ItemID <= TileData.MaxItemValue && item.AtWorldPoint( x, y ) ) + if ( !(item is BaseMulti) && item.ItemID <= TileData.MaxItemValue && item.AtWorldPoint( x, y ) ) { m_SpawnBuffer2.Add( item ); diff --git a/Server/Item.cs b/Server/Item.cs index c71e5661b..f97603cb1 100644 --- a/Server/Item.cs +++ b/Server/Item.cs @@ -3927,7 +3927,7 @@ namespace Server foreach ( Item item in eable ) { - if ( item.ItemID > TileData.MaxItemValue ) + if ( item is BaseMulti || item.ItemID > TileData.MaxItemValue ) continue; items.Add( item ); diff --git a/Server/Map.cs b/Server/Map.cs index 9ac711b69..cbeae274f 100644 --- a/Server/Map.cs +++ b/Server/Map.cs @@ -395,7 +395,7 @@ namespace Server { Item item = items[i]; - if ( item.ItemID <= TileData.MaxItemValue && item.AtWorldPoint( x, y ) ) + if ( !(item is BaseMulti) && item.ItemID <= TileData.MaxItemValue && item.AtWorldPoint( x, y ) ) { ItemData id = item.ItemData; surface = id.Surface; @@ -470,7 +470,7 @@ namespace Server foreach ( Item item in eable ) { - if ( item.ItemID <= TileData.MaxItemValue ) + if ( !(item is BaseMulti) && item.ItemID <= TileData.MaxItemValue ) { items.Add( item ); @@ -624,7 +624,7 @@ namespace Server { Item item = sector.Items[i]; - if ( item.ItemID <= TileData.MaxItemValue && item.AtWorldPoint( p.X, p.Y ) && !item.Movable ) + if ( !(item is BaseMulti) && item.ItemID <= TileData.MaxItemValue && item.AtWorldPoint( p.X, p.Y ) && !item.Movable ) { ItemData id = item.ItemData; @@ -1972,7 +1972,7 @@ namespace Server if( !i.Visible ) continue; - if( i.ItemID > TileData.MaxItemValue ) + if( i is BaseMulti || i.ItemID > TileData.MaxItemValue ) continue; ItemData id = i.ItemData;