Exemple #1
0
        public void CopyByMask(Entity from)
        {
            LastBitmask = from.LastBitmask;

            BitArray bitArray = new BitArray(LastBitmask);

            if (bitArray.Get(0))
            {
                Position = from.Position.Clone();
            }
            if (bitArray.Get(1))
            {
                Rotation = from.Rotation.Clone();
            }
            if (bitArray.Get(2))
            {
                Velocity = from.Velocity.Clone();
            }
            if (bitArray.Get(3))
            {
                Acceleration = from.Acceleration.Clone();
            }
            if (bitArray.Get(4))
            {
                ExtraVelocity = from.ExtraVelocity.Clone();
            }
            if (bitArray.Get(5))
            {
                LookPitch = from.LookPitch;
            }
            if (bitArray.Get(6))
            {
                PhysicsFlags = from.PhysicsFlags;
            }
            if (bitArray.Get(7))
            {
                SpeedFlags = from.SpeedFlags;
            }
            if (bitArray.Get(8))
            {
                EntityType = from.EntityType;
            }
            if (bitArray.Get(9))
            {
                CurrentMode = from.CurrentMode;
            }
            if (bitArray.Get(10))
            {
                LastShootTime = from.LastShootTime;
            }
            if (bitArray.Get(11))
            {
                HitCounter = from.HitCounter;
            }
            if (bitArray.Get(12))
            {
                LastHitTime = from.LastHitTime;
            }
            if (bitArray.Get(13))
            {
                Appearance.CopyFrom(from.Appearance);
            }
            if (bitArray.Get(14))
            {
                Flags1 = from.Flags1;
                Flags2 = from.Flags2;
            }
            if (bitArray.Get(15))
            {
                RollTime = from.RollTime;
            }
            if (bitArray.Get(16))
            {
                StunTime = from.StunTime;
            }
            if (bitArray.Get(17))
            {
                SlowedTime = from.SlowedTime;
            }
            if (bitArray.Get(18))
            {
                MakeBlueTime = from.MakeBlueTime;
            }
            if (bitArray.Get(19))
            {
                SpeedUpTime = from.SpeedUpTime;
            }
            if (bitArray.Get(20))
            {
                ShowPatchTime = from.ShowPatchTime;
            }
            if (bitArray.Get(21))
            {
                ClassType = from.ClassType;
            }
            if (bitArray.Get(22))
            {
                Specialization = from.Specialization;
            }
            if (bitArray.Get(23))
            {
                ChargedMp = from.ChargedMp;
            }
            if (bitArray.Get(24))
            {
                notUsed1 = from.notUsed1;
                notUsed2 = from.notUsed2;
                notUsed3 = from.notUsed3;
            }
            if (bitArray.Get(25))
            {
                notUsed4 = from.notUsed4;
                notUsed5 = from.notUsed5;
                notUsed6 = from.notUsed6;
            }
            if (bitArray.Get(26))
            {
                RayHit = from.RayHit.Clone();
            }
            if (bitArray.Get(27))
            {
                HP = from.HP;
            }
            if (bitArray.Get(28))
            {
                MP = from.MP;
            }
            if (bitArray.Get(29))
            {
                BlockPower = from.BlockPower;
            }
            if (bitArray.Get(30))
            {
                MaxHpMultiplier      = from.MaxHpMultiplier;
                ShootSpeed           = from.ShootSpeed;
                DamageMultiplier     = from.DamageMultiplier;
                ArmorMultiplier      = from.ArmorMultiplier;
                ResistanceMultiplier = from.ResistanceMultiplier;
            }
            if (bitArray.Get(31))
            {
                notUsed7 = from.notUsed7;
            }
            if (bitArray.Get(32))
            {
                notUsed8 = from.notUsed8;
            }
            if (bitArray.Get(33))
            {
                Level = from.Level;
            }
            if (bitArray.Get(34))
            {
                CurrentXp = from.CurrentXp;
            }
            if (bitArray.Get(35))
            {
                ParentOwner = from.ParentOwner;
            }
            if (bitArray.Get(36))
            {
                unknownOrNotUsed1 = from.unknownOrNotUsed1;
                unknownOrNotUsed2 = from.unknownOrNotUsed2;
            }
            if (bitArray.Get(37))
            {
                unknownOrNotUsed3 = from.unknownOrNotUsed3;
            }
            if (bitArray.Get(38))
            {
                unknownOrNotUsed4 = from.unknownOrNotUsed4;
            }
            if (bitArray.Get(39))
            {
                unknownOrNotUsed5 = from.unknownOrNotUsed5;
                notUsed11         = from.notUsed11;
                notUsed12         = from.notUsed12;
            }
            if (bitArray.Get(40))
            {
                notUsed13 = from.notUsed13;
                notUsed14 = from.notUsed14;
                notUsed15 = from.notUsed15;
                notUsed16 = from.notUsed16;
                notUsed17 = from.notUsed17;
                notUsed18 = from.notUsed18;
            }
            if (bitArray.Get(41))
            {
                notUsed20 = from.notUsed20;
                notUsed21 = from.notUsed21;
                notUsed22 = from.notUsed22;
            }
            if (bitArray.Get(42))
            {
                notUsed19 = from.notUsed19;
            }
            if (bitArray.Get(43))
            {
                ItemData.CopyFrom(from.ItemData);
            }
            if (bitArray.Get(44))
            {
                for (int i = 0; i < 13; i++)
                {
                    Item item = new Item();
                    item.CopyFrom(from.Equipment[i]);
                    Equipment[i] = item;
                }
            }
            if (bitArray.Get(45))
            {
                Name = from.Name;
            }
            if (bitArray.Get(46))
            {
                Skills = new uint[11];
                for (int i = 0; i < 11; i++)
                {
                    Skills[i] = from.Skills[i];
                }
            }
            if (bitArray.Get(47))
            {
                IceBlockFour = from.IceBlockFour;
            }
        }