Example #1
0
        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);
        }