/*CharacterStats GetStats(IPCReceiver receiver, IPCReader data, DatabaseHandler database) * { * serverdbs[server].GetStats(charId); * serverdbs[server].ReadRow(); * * return new CharacterStats((serverdbs[server]["curhp"] as ushort?).Value, * (serverdbs[server]["maxhp"] as ushort?).Value, * (serverdbs[server]["curmp"] as ushort?).Value, * (serverdbs[server]["maxmp"] as ushort?).Value, * (serverdbs[server]["cursp"] as ushort?).Value, * (serverdbs[server]["maxsp"] as ushort?).Value, * (serverdbs[server]["exp"] as ulong?).Value, * new Tuple<uint, uint, uint, uint, uint, byte, ushort, Tuple<ushort, byte, ushort, ushort, ulong, uint>>((serverdbs[server]["str_stat"] as uint?).Value, * (serverdbs[server]["int_stat"] as uint?).Value, * (serverdbs[server]["dex_stat"] as uint?).Value, * (serverdbs[server]["honour"] as uint?).Value, * (serverdbs[server]["rank"] as uint?).Value, * (serverdbs[server]["swordrank"] as byte?).Value, * (serverdbs[server]["swordxp"] as ushort?).Value, * Tuple.Create((serverdbs[server]["swordpoints"] as ushort?).Value, * (serverdbs[server]["magicrank"] as byte?).Value, * (serverdbs[server]["magicxp"] as ushort?).Value, * (serverdbs[server]["magicpoints"] as ushort?).Value, * (serverdbs[server]["alz"] as ulong?).Value, * (serverdbs[server]["pnt_stat"] as uint?).Value * ) * ) * ); * }*/ void CreateCharacter(IPCReceiver receiver, IPCReader data, SyncHandler sync) { var serverId = data.ReadByte(); var id = data.ReadInt32(); var slot = data.ReadByte(); var name = data.ReadString(); var _class = data.ReadByte(); var gender = data.ReadBoolean(); var face = data.ReadByte(); var hair = data.ReadByte(); var colour = data.ReadByte(); var stats = sync.GetInitialCharStats(_class); var items = sync.GetInitialCharItems(_class); var skills = sync.GetInitialCharSkills(_class); var quickslots = sync.GetInitialCharQuickSlots(_class); var serverDB = sync.GetServerDBHandler(serverId); var status = serverDB.CreateCharacter(id, slot, name, _class, gender, face, hair, colour, stats.ToArray(), items, skills, quickslots); var packet = new IPCWriter(IPC.CreateCharacter); packet.Write((byte)status); receiver.Send(packet); }