public SkillChange( Skill skill )
: base(0x3A)
{
this.EnsureCapacity( 13 );
double v = skill.NonRacialValue;
int uv = (int)(v * 10);
if ( uv < 0 )
uv = 0;
else if ( uv >= 0x10000 )
uv = 0xFFFF;
m_Stream.Write( (byte) 0xDF ); // type: delta, capped
m_Stream.Write( (ushort) skill.Info.SkillID );
m_Stream.Write( (ushort) uv );
m_Stream.Write( (ushort) skill.BaseFixedPoint );
m_Stream.Write( (byte) skill.Lock );
m_Stream.Write( (ushort) skill.CapFixedPoint );
/*m_Stream.Write( (short) skill.Info.SkillID );
m_Stream.Write( (short) (skill.Value * 10.0) );
m_Stream.Write( (short) (skill.Base * 10.0) );
m_Stream.Write( (byte) skill.Lock );
m_Stream.Write( (short) skill.CapFixedPoint );*/
}