public static void GenerateCharacterInfo(Character character, out SMSG_CHARACTERINFO spkt) { //HELPER VARIABLES Rag2Item item; //STRUCTIRIZE GENERAL INFORMATION spkt = new SMSG_CHARACTERINFO(); spkt.race = 0; spkt.Gender = character.gender; spkt.Name = character.Name; spkt.X = character.Position.x; spkt.Y = character.Position.y; spkt.Z = character.Position.z; spkt.ActorID = character.id; spkt.face = character.FaceDetails; spkt.AugeSkillID = character.ComputeAugeSkill(); spkt.yaw = character.Yaw; spkt.Job = character.job; spkt.Stance = character.stance; //STRUCTURIZE EQUIPMENT INFORMATION item = character.Equipment[0]; if (item != null && item.active > 0) spkt.SetHeadTop(item.info.item, item.dyecolor); item = character.Equipment[1]; if (item != null && item.active > 0) spkt.SetHeadMiddle(item.info.item, item.dyecolor); item = character.Equipment[2]; if (item != null && item.active > 0) spkt.SetHeadBottom(item.info.item, item.dyecolor); item = character.Equipment[14]; if (item != null && item.active > 0) spkt.SetShield(item.info.item, item.dyecolor); item = character.Equipment[8]; if (item != null && item.active > 0) spkt.SetBack(item.info.item, item.dyecolor); item = character.Equipment[3]; if (item != null && item.active > 0) spkt.SetShirt(item.info.item, item.dyecolor); item = character.Equipment[4]; if (item != null && item.active > 0) spkt.SetPants(item.info.item, item.dyecolor); item = character.Equipment[5]; if (item != null && item.active > 0) spkt.SetGloves(item.info.item, item.dyecolor); item = character.Equipment[6]; if (item != null && item.active > 0) spkt.SetFeet(item.info.item, item.dyecolor); foreach (AdditionState state in character._additions) spkt.SetWeapon(state.Addition, state.Lifetime); }