void cCorpse::save( cBufferedWriter& writer, unsigned int version ) { cItem::save( writer, version ); writer.writeShort( bodyId_ ); writer.writeShort( hairStyle_ ); writer.writeShort( hairColor_ ); writer.writeShort( beardStyle_ ); writer.writeShort( beardColor_ ); writer.writeByte( direction_ ); writer.writeAscii( charbaseid_ ); writer.writeInt( murderer_ ); writer.writeInt( murdertime_ ); // Write a serial for every possible layer (fixed block size) unsigned char layer; for ( layer = cBaseChar::SingleHandedWeapon; layer <= cBaseChar::Mount; ++layer ) { if ( equipment_.contains( layer ) ) { writer.writeInt( equipment_[layer] ); } else { writer.writeInt( INVALID_SERIAL ); } } }
void cUObject::save( cBufferedWriter& writer, unsigned int /*version*/ ) { writer.writeUtf8( name_ ); writer.writeInt( serial_ ); writer.writeInt( multi_ ? multi_->serial() : INVALID_SERIAL ); writer.writeShort( pos_.x ); writer.writeShort( pos_.y ); writer.writeByte( pos_.z ); writer.writeByte( pos_.map ); writer.writeAscii( scriptList() ); }
void cNPC::save( cBufferedWriter& writer, unsigned int version ) { cBaseChar::save( writer, version ); writer.writeInt( summonTime_ ? summonTime_ - Server::instance()->time() : 0 ); writer.writeInt( additionalFlags_ ); writer.writeInt( owner_ ? owner_->serial() : INVALID_SERIAL ); writer.writeInt( stablemasterSerial_ ); writer.writeAscii( aiid_.latin1() ); writer.writeByte( ( unsigned char ) wanderType() ); writer.writeShort( wanderX1() ); writer.writeShort( wanderY1() ); writer.writeShort( wanderX2() ); writer.writeShort( wanderY2() ); writer.writeShort( wanderRadius() ); }
void cNPC::save( cBufferedWriter& writer, unsigned int version ) { if ( free ) { Console::instance()->log( LOG_WARNING, tr( "Skipping npc 0x%1 during save process because it's already freed.\n" ).arg( serial_, 0, 16 ) ); } else { cBaseChar::save( writer, version ); writer.writeInt( summonTime_ ? summonTime_ - Server::instance()->time() : 0 ); writer.writeInt( additionalFlags_ ); writer.writeInt( owner_ ? owner_->serial() : INVALID_SERIAL ); writer.writeInt( stablemasterSerial_ ); writer.writeAscii( aiid_.toLatin1() ); writer.writeByte( ( unsigned char ) wanderType() ); writer.writeShort( wanderX1() ); writer.writeShort( wanderY1() ); writer.writeShort( wanderX2() ); writer.writeShort( wanderY2() ); writer.writeShort( wanderRadius() ); } }