protected override void OnWrite()
 {
     GameNetworkMessage.WriteNetworkPeerReferenceToPacket(this.Peer);
     GameNetworkMessage.WriteAgentReferenceToPacket(this.BotAgent);
     GameNetworkMessage.WriteIntToPacket(this.Health, CompressionMission.AgentHealthCompressionInfo);
     GameNetworkMessage.WriteIntToPacket(this.MountHealth, CompressionMission.AgentHealthCompressionInfo);
 }
示例#2
0
        protected override void OnWrite()
        {
            GameNetworkMessage.WriteObjectReferenceToPacket((MBObjectBase)this.Character, CompressionBasic.GUIDCompressionInfo);
            GameNetworkMessage.WriteObjectReferenceToPacket((MBObjectBase)this.Monster, CompressionBasic.GUIDCompressionInfo);
            GameNetworkMessage.WriteIntToPacket(this.AgentIndex, CompressionMission.AgentCompressionInfo);
            GameNetworkMessage.WriteIntToPacket(this.MountAgentIndex, CompressionMission.AgentCompressionInfo);
            GameNetworkMessage.WriteNetworkPeerReferenceToPacket(this.Peer);
            for (EquipmentIndex index = EquipmentIndex.WeaponItemBeginSlot; index < EquipmentIndex.NumAllWeaponSlots; ++index)
            {
                ModuleNetworkData.WriteWeaponReferenceToPacket(this.SpawnMissionEquipment[index]);
            }
            for (EquipmentIndex equipmentIndex = EquipmentIndex.NumAllWeaponSlots; equipmentIndex < EquipmentIndex.NumEquipmentSetSlots; ++equipmentIndex)
            {
                ModuleNetworkData.WriteItemReferenceToPacket(this.SpawnEquipment.GetEquipmentFromSlot(equipmentIndex));
            }
            GameNetworkMessage.WriteBoolToPacket(this.IsPlayerAgent);
            if (!this.IsPlayerAgent)
            {
                GameNetworkMessage.WriteIntToPacket(this.BodyPropertiesSeed, CompressionGeneric.RandomSeedCompressionInfo);
            }
            BodyProperties bodyProperties = this.BodyPropertiesValue;

            GameNetworkMessage.WriteBodyPropertiesToPacket(in bodyProperties);
            GameNetworkMessage.WriteBoolToPacket(this.IsFemale);
            GameNetworkMessage.WriteTeamReferenceToPacket(this.Team);
            GameNetworkMessage.WriteVec3ToPacket(this.Position, CompressionBasic.PositionCompressionInfo);
            GameNetworkMessage.WriteVec2ToPacket(this.Direction, CompressionBasic.UnitVectorCompressionInfo);
            GameNetworkMessage.WriteIntToPacket(this.FormationIndex, CompressionOrder.FormationClassCompressionInfo);
            GameNetworkMessage.WriteUintToPacket(this.ClothingColor1, CompressionGeneric.ColorCompressionInfo);
            GameNetworkMessage.WriteUintToPacket(this.ClothingColor2, CompressionGeneric.ColorCompressionInfo);
        }
示例#3
0
 protected override void OnWrite()
 {
     GameNetworkMessage.WriteAgentReferenceToPacket(this.Agent);
     GameNetworkMessage.WriteMissionObjectReferenceToPacket((MissionObject)this.SpawnedItemEntity);
     GameNetworkMessage.WriteIntToPacket((int)this.SlotIndex, CompressionMission.ItemSlotCompressionInfo);
     GameNetworkMessage.WriteBoolToPacket(this.RemoveWeapon);
 }
示例#4
0
        public static void WriteWeaponReferenceToPacket(MissionWeapon weapon)
        {
            GameNetworkMessage.WriteBoolToPacket(weapon.IsEmpty);
            if (weapon.IsEmpty)
            {
                return;
            }
            GameNetworkMessage.WriteObjectReferenceToPacket((MBObjectBase)weapon.Item, CompressionBasic.GUIDCompressionInfo);
            GameNetworkMessage.WriteIntToPacket((int)weapon.RawDataForNetwork, CompressionGeneric.ItemDataValueCompressionInfo);
            GameNetworkMessage.WriteIntToPacket((int)weapon.ReloadPhase, CompressionMission.WeaponReloadPhaseCompressionInfo);
            GameNetworkMessage.WriteIntToPacket(weapon.CurrentUsageIndex, CompressionMission.WeaponUsageIndexCompressionInfo);
            int num1 = weapon.Banner != null ? 1 : 0;

            GameNetworkMessage.WriteBoolToPacket(num1 != 0);
            if (num1 != 0)
            {
                GameNetworkMessage.WriteStringToPacket(weapon.Banner.Serialize());
            }
            MissionWeapon ammoWeapon = weapon.AmmoWeapon;
            int           num2       = !ammoWeapon.IsEmpty ? 1 : 0;

            GameNetworkMessage.WriteBoolToPacket(num2 != 0);
            if (num2 == 0)
            {
                return;
            }
            GameNetworkMessage.WriteObjectReferenceToPacket((MBObjectBase)ammoWeapon.Item, CompressionBasic.GUIDCompressionInfo);
            GameNetworkMessage.WriteIntToPacket((int)ammoWeapon.RawDataForNetwork, CompressionGeneric.ItemDataValueCompressionInfo);
        }
示例#5
0
 protected override void OnWrite()
 {
     GameNetworkMessage.WriteAgentReferenceToPacket(this.Agent);
     GameNetworkMessage.WriteIntToPacket((int)this.WeaponEquipmentIndex, CompressionMission.ItemSlotCompressionInfo);
     GameNetworkMessage.WriteIntToPacket((int)this.AmmoEquipmentIndex, CompressionMission.WieldSlotCompressionInfo);
     GameNetworkMessage.WriteIntToPacket((int)this.Ammo, CompressionMission.ItemDataCompressionInfo);
 }
示例#6
0
 protected override void OnWrite()
 {
     GameNetworkMessage.WriteNetworkPeerReferenceToPacket(this.Peer);
     GameNetworkMessage.WriteIntToPacket(this.PerkListIndex, CompressionMission.PerkListIndexCompressionInfo);
     GameNetworkMessage.WriteIntToPacket(this.PerkIndex, CompressionMission.PerkIndexCompressionInfo);
     GameNetworkMessage.WriteIntToPacket(this.SelectedTroopIndex, CompressionMission.SelectedTroopIndexCompressionInfo);
 }
示例#7
0
        protected override void OnWrite()
        {
            foreach (MultiplayerOptions.MultiplayerOption option in this._optionList)
            {
                MultiplayerOptions.OptionType optionType     = option.OptionType;
                MultiplayerOptionsProperty    optionProperty = optionType.GetOptionProperty();
                switch (optionProperty.OptionValueType)
                {
                case MultiplayerOptions.OptionValueType.Bool:
                    GameNetworkMessage.WriteBoolToPacket(optionType.GetBoolValue());
                    continue;

                case MultiplayerOptions.OptionValueType.Integer:
                case MultiplayerOptions.OptionValueType.Enum:
                    GameNetworkMessage.WriteIntToPacket(optionType.GetIntValue(), new CompressionInfo.Integer(optionProperty.BoundsMin, optionProperty.BoundsMax, true));
                    continue;

                case MultiplayerOptions.OptionValueType.String:
                    GameNetworkMessage.WriteStringToPacket(optionType.GetStrValue());
                    continue;

                default:
                    continue;
                }
            }
        }
 protected override void OnWrite()
 {
     GameNetworkMessage.WriteMissionObjectReferenceToPacket(this.MissionObject);
     GameNetworkMessage.WriteIntToPacket(this.BeginKey, CompressionBasic.AnimationKeyCompressionInfo);
     GameNetworkMessage.WriteIntToPacket(this.EndKey, CompressionBasic.AnimationKeyCompressionInfo);
     GameNetworkMessage.WriteFloatToPacket(this.Speed, CompressionBasic.VertexAnimationSpeedCompressionInfo);
 }
 protected override void OnWrite()
 {
     GameNetworkMessage.WriteAgentReferenceToPacket(this.Agent);
     GameNetworkMessage.WriteIntToPacket((int)this.EquipmentIndex, CompressionMission.ItemSlotCompressionInfo);
     GameNetworkMessage.WriteIntToPacket(this.UsageIndex, CompressionMission.WeaponUsageIndexCompressionInfo);
     GameNetworkMessage.WriteIntToPacket((int)this.CurrentMovementFlagUsageDirection, CompressionMission.UsageDirectionCompressionInfo);
 }
 protected override void OnWrite()
 {
     ModuleNetworkData.WriteWeaponReferenceToPacket(this.Weapon);
     GameNetworkMessage.WriteAgentReferenceToPacket(this.Agent);
     GameNetworkMessage.WriteIntToPacket((int)this.SlotIndex, CompressionMission.ItemSlotCompressionInfo);
     GameNetworkMessage.WriteVec3ToPacket(this.AttachLocalFrame.origin, CompressionBasic.LocalPositionCompressionInfo);
     GameNetworkMessage.WriteRotationMatrixToPacket(this.AttachLocalFrame.rotation);
 }
示例#11
0
 protected override void OnWrite()
 {
     GameNetworkMessage.WriteIntToPacket((int)this.Side, CompressionMission.TeamSideCompressionInfo);
     GameNetworkMessage.WriteIntToPacket(this.KillCount, CompressionMatchmaker.KillDeathAssistCountCompressionInfo);
     GameNetworkMessage.WriteIntToPacket(this.AssistCount, CompressionMatchmaker.KillDeathAssistCountCompressionInfo);
     GameNetworkMessage.WriteIntToPacket(this.DeathCount, CompressionMatchmaker.KillDeathAssistCountCompressionInfo);
     GameNetworkMessage.WriteIntToPacket(this.AliveBotCount, CompressionMission.AgentCompressionInfo);
 }
 protected override void OnWrite()
 {
     GameNetworkMessage.WriteIntToPacket(this.AgentIndex, CompressionMission.AgentCompressionInfo);
     ModuleNetworkData.WriteItemReferenceToPacket(this.HorseItem);
     ModuleNetworkData.WriteItemReferenceToPacket(this.HorseHarnessItem);
     GameNetworkMessage.WriteVec3ToPacket(this.Position, CompressionBasic.PositionCompressionInfo);
     GameNetworkMessage.WriteVec2ToPacket(this.Direction, CompressionBasic.UnitVectorCompressionInfo);
 }
        protected override void OnWrite()
        {
            GameNetworkMessage.WriteNetworkPeerReferenceToPacket(this.Peer);
            GameNetworkMessage.WriteIntToPacket((int)this.VotedType, CompressionMission.TeamSideCompressionInfo);
            MBReadOnlyList <BasicCultureObject> objectTypeList = MBObjectManager.Instance.GetObjectTypeList <BasicCultureObject>();

            GameNetworkMessage.WriteIntToPacket(this.VotedCulture == null ? -1 : objectTypeList.IndexOf(this.VotedCulture), CompressionBasic.CultureIndexCompressionInfo);
        }
示例#14
0
 protected override void OnWrite()
 {
     GameNetworkMessage.WriteAgentReferenceToPacket(this.Agent);
     GameNetworkMessage.WriteBoolToPacket(this.IsLeftHand);
     GameNetworkMessage.WriteBoolToPacket(this.IsWieldedInstantly);
     GameNetworkMessage.WriteBoolToPacket(this.IsWieldedOnSpawn);
     GameNetworkMessage.WriteIntToPacket((int)this.WieldedItemIndex, CompressionMission.WieldSlotCompressionInfo);
     GameNetworkMessage.WriteIntToPacket(this.MainHandCurrentUsageIndex, CompressionMission.WeaponUsageIndexCompressionInfo);
 }
示例#15
0
 protected override void OnWrite()
 {
     GameNetworkMessage.WriteNetworkPeerReferenceToPacket(this.VictimPeer);
     GameNetworkMessage.WriteNetworkPeerReferenceToPacket(this.AttackerPeer);
     GameNetworkMessage.WriteIntToPacket(this.KillCount, CompressionMatchmaker.KillDeathAssistCountCompressionInfo);
     GameNetworkMessage.WriteIntToPacket(this.AssistCount, CompressionMatchmaker.KillDeathAssistCountCompressionInfo);
     GameNetworkMessage.WriteIntToPacket(this.DeathCount, CompressionMatchmaker.KillDeathAssistCountCompressionInfo);
     GameNetworkMessage.WriteIntToPacket(this.Score, CompressionMatchmaker.ScoreCompressionInfo);
 }
 protected override void OnWrite()
 {
     GameNetworkMessage.WriteIntToPacket((int)this.CurrentState, CompressionMatchmaker.MissionCurrentStateCompressionInfo);
     if (this.CurrentState == MissionLobbyComponent.MultiplayerGameState.WaitingFirstPlayers)
     {
         return;
     }
     GameNetworkMessage.WriteFloatToPacket(this.StateStartTimeInSeconds, CompressionMatchmaker.MissionTimeCompressionInfo);
 }
示例#17
0
 protected override void OnWrite()
 {
     GameNetworkMessage.WriteIntToPacket(this.GoldChangeEventList.Count - 1, CompressionMission.TdmGoldGainTypeCompressionInfo);
     foreach (KeyValuePair <ushort, int> goldChangeEvent in this.GoldChangeEventList)
     {
         GameNetworkMessage.WriteIntToPacket((int)goldChangeEvent.Key, CompressionMission.TdmGoldGainTypeCompressionInfo);
         GameNetworkMessage.WriteIntToPacket(goldChangeEvent.Value, CompressionMission.TdmGoldChangeCompressionInfo);
     }
 }
 protected override void OnWrite()
 {
     GameNetworkMessage.WriteIntToPacket(this.AttackerMorale, CompressionMission.SiegeMoraleCompressionInfo);
     GameNetworkMessage.WriteIntToPacket(this.DefenderMorale, CompressionMission.SiegeMoraleCompressionInfo);
     foreach (int remainingMoraleGain in this.CapturePointRemainingMoraleGains)
     {
         GameNetworkMessage.WriteIntToPacket(remainingMoraleGain, CompressionMission.SiegeMoralePerFlagCompressionInfo);
     }
 }
示例#19
0
 protected override void OnWrite()
 {
     GameNetworkMessage.WriteFloatToPacket(this.Progress, CompressionMission.FlagClassicProgressCompressionInfo);
     GameNetworkMessage.WriteIntToPacket((int)this.Direction, CompressionMission.FlagDirectionEnumCompressionInfo);
     if (this.Direction == CaptureTheFlagFlagDirection.None || this.Direction == CaptureTheFlagFlagDirection.Static)
     {
         return;
     }
     GameNetworkMessage.WriteFloatToPacket(this.Speed, CompressionMission.FlagSpeedCompressionInfo);
 }
 protected override void OnWrite()
 {
     ModuleNetworkData.WriteWeaponReferenceToPacket(this.Weapon);
     GameNetworkMessage.WriteMatrixFrameToPacket(this.Frame);
     GameNetworkMessage.WriteIntToPacket((int)this.WeaponSpawnFlags, CompressionMission.SpawnedItemWeaponSpawnFlagCompressionInfo);
     GameNetworkMessage.WriteIntToPacket(this.ForcedIndex, CompressionBasic.MissionObjectIDCompressionInfo);
     GameNetworkMessage.WriteMissionObjectReferenceToPacket(this.ParentMissionObject);
     GameNetworkMessage.WriteBoolToPacket(this.IsVisible);
     GameNetworkMessage.WriteBoolToPacket(this.HasLifeTime);
 }
示例#21
0
 protected override void OnWrite()
 {
     GameNetworkMessage.WriteMBTeamReferenceToPacket(this.Team, CompressionMission.TeamCompressionInfo);
     GameNetworkMessage.WriteIntToPacket((int)this.Side, CompressionMission.TeamSideCompressionInfo);
     GameNetworkMessage.WriteUintToPacket(this.Color, CompressionGeneric.ColorCompressionInfo);
     GameNetworkMessage.WriteUintToPacket(this.Color2, CompressionGeneric.ColorCompressionInfo);
     GameNetworkMessage.WriteStringToPacket(this.BannerCode);
     GameNetworkMessage.WriteBoolToPacket(this.IsPlayerGeneral);
     GameNetworkMessage.WriteBoolToPacket(this.IsPlayerSergeant);
 }
示例#22
0
 protected override void OnWrite()
 {
     GameNetworkMessage.WriteAgentReferenceToPacket(this.Agent);
     GameNetworkMessage.WriteActionSetReferenceToPacket(this.ActionSet, CompressionMission.ActionSetCompressionInfo);
     GameNetworkMessage.WriteIntToPacket(this.NumPaces, CompressionMission.NumberOfPacesCompressionInfo);
     GameNetworkMessage.WriteIntToPacket(this.MonsterUsageSetIndex, CompressionMission.MonsterUsageSetCompressionInfo);
     GameNetworkMessage.WriteFloatToPacket(this.WalkingSpeedLimit, CompressionMission.WalkingSpeedLimitCompressionInfo);
     GameNetworkMessage.WriteFloatToPacket(this.CrouchWalkingSpeedLimit, CompressionMission.WalkingSpeedLimitCompressionInfo);
     GameNetworkMessage.WriteFloatToPacket(this.StepSize, CompressionMission.StepSizeCompressionInfo);
 }
 protected override void OnWrite()
 {
     GameNetworkMessage.WriteMissionObjectIdToPacket(this.ObjectId);
     GameNetworkMessage.WriteStringToPacket(this.Prefab);
     GameNetworkMessage.WriteMatrixFrameToPacket(this.Frame);
     GameNetworkMessage.WriteIntToPacket(this.ChildObjectIds.Count, CompressionBasic.EntityChildCountCompressionInfo);
     foreach (MissionObjectId childObjectId in this.ChildObjectIds)
     {
         GameNetworkMessage.WriteMissionObjectIdToPacket(childObjectId);
     }
 }
 protected override void OnWrite()
 {
     GameNetworkMessage.WriteAgentReferenceToPacket(this.Agent);
     GameNetworkMessage.WriteIntToPacket((int)this.EquipmentIndex, CompressionMission.ItemSlotCompressionInfo);
     GameNetworkMessage.WriteIntToPacket((int)this.WeaponSpawnFlags, CompressionMission.SpawnedItemWeaponSpawnFlagCompressionInfo);
     if (this.WeaponSpawnFlags.HasAnyFlag <Mission.WeaponSpawnFlags>(Mission.WeaponSpawnFlags.WithPhysics))
     {
         GameNetworkMessage.WriteVec3ToPacket(this.Velocity, CompressionMission.SpawnedItemVelocityCompressionInfo);
         GameNetworkMessage.WriteVec3ToPacket(this.AngularVelocity, CompressionMission.SpawnedItemAngularVelocityCompressionInfo);
     }
     GameNetworkMessage.WriteIntToPacket(this.ForcedIndex, CompressionBasic.MissionObjectIDCompressionInfo);
 }
示例#25
0
 protected override void OnWrite()
 {
     GameNetworkMessage.WriteMissionObjectReferenceToPacket(this.MissionObject);
     GameNetworkMessage.WriteBoolToPacket(this.ChannelNo == 1);
     GameNetworkMessage.WriteIntToPacket(this.AnimationIndex, CompressionBasic.AnimationIndexCompressionInfo);
     GameNetworkMessage.WriteBoolToPacket((double)this.AnimationSpeed != 1.0);
     if ((double)this.AnimationSpeed == 1.0)
     {
         return;
     }
     GameNetworkMessage.WriteFloatToPacket(this.AnimationSpeed, CompressionBasic.AnimationSpeedCompressionInfo);
 }
 protected override void OnWrite()
 {
     GameNetworkMessage.WriteMissionObjectReferenceToPacket(this.MissionObject);
     GameNetworkMessage.WriteIntToPacket(this.DestructionLevel, CompressionMission.UsableGameObjectDestructionStateCompressionInfo);
     GameNetworkMessage.WriteBoolToPacket(this.ForcedIndex != -1);
     if (this.ForcedIndex != -1)
     {
         GameNetworkMessage.WriteIntToPacket(this.ForcedIndex, CompressionBasic.MissionObjectIDCompressionInfo);
     }
     GameNetworkMessage.WriteFloatToPacket(this.BlowMagnitude, CompressionMission.UsableGameObjectBlowMagnitude);
     GameNetworkMessage.WriteVec3ToPacket(this.BlowPosition, CompressionBasic.PositionCompressionInfo);
     GameNetworkMessage.WriteVec3ToPacket(this.BlowDirection, CompressionMission.UsableGameObjectBlowDirection);
 }
        protected override void OnWrite()
        {
            GameNetworkMessage.WriteNetworkPeerReferenceToPacket(this.Peer);
            GameNetworkMessage.WriteUlongToPacket(this.ProvidedId.Part1, CompressionBasic.DebugULongNonCompressionInfo);
            GameNetworkMessage.WriteUlongToPacket(this.ProvidedId.Part2, CompressionBasic.DebugULongNonCompressionInfo);
            GameNetworkMessage.WriteUlongToPacket(this.ProvidedId.Part3, CompressionBasic.DebugULongNonCompressionInfo);
            GameNetworkMessage.WriteUlongToPacket(this.ProvidedId.Part4, CompressionBasic.DebugULongNonCompressionInfo);
            GameNetworkMessage.WriteStringToPacket(this.BannerCode);
            BodyProperties bodyProperties = this.BodyProperties;

            GameNetworkMessage.WriteBodyPropertiesToPacket(in bodyProperties);
            GameNetworkMessage.WriteIntToPacket(this.ChosenBadgeIndex, CompressionBasic.PlayerChosenBadgeCompressionInfo);
            GameNetworkMessage.WriteIntToPacket(this.ForcedAvatarIndex, CompressionBasic.ForcedAvatarIndexCompressionInfo);
        }
示例#28
0
 protected override void OnWrite()
 {
     GameNetworkMessage.WriteIntToPacket(this.Message, CompressionMission.MultiplayerNotificationCompressionInfo);
     GameNetworkMessage.WriteBoolToPacket(this.HasParameterOne);
     if (!this.HasParameterOne)
     {
         return;
     }
     GameNetworkMessage.WriteIntToPacket(this.ParameterOne, CompressionMission.MultiplayerNotificationParameterCompressionInfo);
     GameNetworkMessage.WriteBoolToPacket(this.HasParameterTwo);
     if (!this.HasParameterTwo)
     {
         return;
     }
     GameNetworkMessage.WriteIntToPacket(this.ParameterTwo, CompressionMission.MultiplayerNotificationParameterCompressionInfo);
 }
示例#29
0
 protected override void OnWrite()
 {
     GameNetworkMessage.WriteIntToPacket(this.MissileIndex, CompressionMission.MissileCompressionInfo);
     GameNetworkMessage.WriteIntToPacket((int)this.CollisionReaction, CompressionMission.MissileCollisionReactionCompressionInfo);
     GameNetworkMessage.WriteAgentReferenceToPacket(this.AttackerAgent);
     if (this.CollisionReaction == Mission.MissileCollisionReaction.Stick || this.CollisionReaction == Mission.MissileCollisionReaction.BounceBack)
     {
         int num = this.AttachedAgent != null ? 1 : 0;
         GameNetworkMessage.WriteBoolToPacket(num != 0);
         if (num != 0)
         {
             GameNetworkMessage.WriteAgentReferenceToPacket(this.AttachedAgent);
             GameNetworkMessage.WriteBoolToPacket(this.AttachedToShield);
             if (!this.AttachedToShield)
             {
                 GameNetworkMessage.WriteIntToPacket((int)this.AttachedBoneIndex, CompressionMission.BoneIndexCompressionInfo);
             }
         }
         else
         {
             GameNetworkMessage.WriteMissionObjectReferenceToPacket(this.AttachedMissionObject);
         }
     }
     if (this.CollisionReaction != Mission.MissileCollisionReaction.BecomeInvisible && this.CollisionReaction != Mission.MissileCollisionReaction.PassThrough)
     {
         int num = this.AttachedAgent != null ? 1 : (this.AttachedMissionObject != null ? 1 : 0);
         GameNetworkMessage.WriteBoolToPacket(num != 0);
         if (num != 0)
         {
             GameNetworkMessage.WriteNonUniformTransformToPacket(this.AttachLocalFrame, CompressionBasic.BigRangeLowResLocalPositionCompressionInfo, CompressionBasic.LowResQuaternionCompressionInfo);
         }
         else
         {
             GameNetworkMessage.WriteNonUniformTransformToPacket(this.AttachLocalFrame, CompressionBasic.PositionCompressionInfo, CompressionBasic.LowResQuaternionCompressionInfo);
         }
     }
     if (this.CollisionReaction == Mission.MissileCollisionReaction.BounceBack)
     {
         GameNetworkMessage.WriteVec3ToPacket(this.BounceBackVelocity, CompressionMission.SpawnedItemVelocityCompressionInfo);
         GameNetworkMessage.WriteVec3ToPacket(this.BounceBackAngularVelocity, CompressionMission.SpawnedItemAngularVelocityCompressionInfo);
     }
     if (this.CollisionReaction != Mission.MissileCollisionReaction.Stick && this.CollisionReaction != Mission.MissileCollisionReaction.BounceBack)
     {
         return;
     }
     GameNetworkMessage.WriteIntToPacket(this.ForcedSpawnIndex, CompressionBasic.MissionObjectIDCompressionInfo);
 }
        protected override void OnWrite()
        {
            GameNetworkMessage.WriteNetworkPeerReferenceToPacket(this.Peer);
            GameNetworkMessage.WriteIntToPacket(this.VisualsIndex, CompressionMission.AgentOffsetCompressionInfo);
            GameNetworkMessage.WriteObjectReferenceToPacket((MBObjectBase)this.Character, CompressionBasic.GUIDCompressionInfo);
            bool flag = this.Equipment[EquipmentIndex.ArmorItemEndSlot].Item != null;

            GameNetworkMessage.WriteBoolToPacket(flag);
            for (EquipmentIndex equipmentIndex = EquipmentIndex.WeaponItemBeginSlot; equipmentIndex < (flag ? EquipmentIndex.NumEquipmentSetSlots : EquipmentIndex.ArmorItemEndSlot); ++equipmentIndex)
            {
                ModuleNetworkData.WriteItemReferenceToPacket(this.Equipment.GetEquipmentFromSlot(equipmentIndex));
            }
            GameNetworkMessage.WriteIntToPacket(this.BodyPropertiesSeed, CompressionGeneric.RandomSeedCompressionInfo);
            GameNetworkMessage.WriteBoolToPacket(this.IsFemale);
            GameNetworkMessage.WriteIntToPacket(this.SelectedEquipmentSetIndex, CompressionBasic.MissionObjectIDCompressionInfo);
            GameNetworkMessage.WriteIntToPacket(this.TroopCountInFormation, CompressionBasic.PlayerCompressionInfo);
        }