- Added a new Assemblies.cfg file (Assemblies_4_0.cfg) specific for .NET 4.0, which includes System.Core.dll by default.
- Fixed cu sidhe and reptalon trade statuettes. - Made IAccount comparable, to be able to sort by account in-game. - Fixed item leak in ChampionSpawn and Harrower. - Added ChampionSpawn and Harrower leaked item types to Cleanup. - Added a helper for handling validation after deserialization, and converted classes using that technique to the new system. - Fixed bulletin board item leak, and the core bug that caused it. Leaked items will be cleaned up on server boot. - Fixed bulletin board message content packet to compensate for a client bug. - Monster AI is now deactivated on the internal map, like it is on inactive sectors. - Monster AI activity is now checked on map changes as well, not just location changes. - Corrected hiding requirement needed to train stealth from an NPC for Core.ML. - Fixed a SendLocalizedMessage overload calling itself.
This commit is contained in:
parent
65536e1667
commit
9f0a67e5d7
20 changed files with 191 additions and 101 deletions
|
|
@ -403,7 +403,7 @@ namespace Server.Items
|
|||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int) 0 ); // version
|
||||
writer.Write( (int) 1 ); // version
|
||||
|
||||
writer.Write( (Mobile) m_Poster );
|
||||
writer.Write( (string) m_Subject );
|
||||
|
|
@ -437,6 +437,7 @@ namespace Server.Items
|
|||
|
||||
switch ( version )
|
||||
{
|
||||
case 1:
|
||||
case 0:
|
||||
{
|
||||
m_Poster = reader.ReadMobile();
|
||||
|
|
@ -465,10 +466,19 @@ namespace Server.Items
|
|||
if ( hasThread && m_Thread == null )
|
||||
Delete();
|
||||
|
||||
if ( version == 0 )
|
||||
ValidationQueue<BulletinMessage>.Add( this );
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Validate()
|
||||
{
|
||||
if ( !( Parent is BulletinBoard && ((BulletinBoard)Parent).Items.Contains( this ) ) )
|
||||
Delete();
|
||||
}
|
||||
}
|
||||
|
||||
public class BBDisplayBoard : Packet
|
||||
|
|
@ -593,20 +603,30 @@ namespace Server.Items
|
|||
m_Stream.Write( (byte) len );
|
||||
|
||||
for ( int i = 0; i < len; ++i )
|
||||
WriteString( msg.Lines[i] );
|
||||
WriteString( msg.Lines[i], true );
|
||||
}
|
||||
|
||||
public void WriteString( string v )
|
||||
{
|
||||
WriteString( v, false );
|
||||
}
|
||||
|
||||
public void WriteString( string v, bool padding )
|
||||
{
|
||||
byte[] buffer = Utility.UTF8.GetBytes( v );
|
||||
int len = buffer.Length + 1;
|
||||
int tail = padding ? 2 : 1;
|
||||
int len = buffer.Length + tail;
|
||||
|
||||
if ( len > 255 )
|
||||
len = 255;
|
||||
|
||||
m_Stream.Write( (byte) len );
|
||||
m_Stream.Write( buffer, 0, len-1 );
|
||||
m_Stream.Write( (byte) 0 );
|
||||
m_Stream.Write( buffer, 0, len - tail );
|
||||
|
||||
if ( padding )
|
||||
m_Stream.Write( (short) 0 ); // padding compensates for a client bug
|
||||
else
|
||||
m_Stream.Write( (byte) 0 );
|
||||
}
|
||||
|
||||
public string SafeString( string v )
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue