public ForcedMovementUpdateFlag([NotNull] ForcedMovement movement) { Movement = movement ?? throw new ArgumentNullException(nameof(movement)); }
public void Respawn( ) { var p = Test.DataUtils.GetZone(448).POIs["watchtower"]; CharacterEntity.Position = p; var forcedMove = new ForcedMovement { Type = 1, Unk1 = 0, Position = p, AimDirection = CharacterEntity.AimDirection, Velocity = Vector3.Zero, GameTime = AssignedShard.CurrentTime, KeyFrame = AssignedShard.CurrentShortTime }; NetChans[ChannelType.ReliableGss].SendGSSClass(forcedMove, CharacterEntity.EntityID); var respawnMsg = new Respawned { LastUpdateTime = AssignedShard.CurrentTime - 2, Unk1 = 0x0100 }; NetChans[ChannelType.ReliableGss].SendGSSClass(respawnMsg, CharacterEntity.EntityID); var upd = new PartialUpdate(); upd.Add(new MovementView { LastUpdateTime = AssignedShard.CurrentTime, Position = CharacterEntity.Position, Rotation = CharacterEntity.Rotation, AimDirection = CharacterEntity.AimDirection, Velocity = CharacterEntity.Velocity, State = (ushort)CharacterEntity.MovementState, Unk1 = 0, Jets = (ushort)CharacterEntity.CharData.JumpJetEnergy, AirGroundTimer = 0x3a7f, JumpTimer = 0x3cdb, Unk2 = 0, }); upd.Add(new CharacterState { State = 3, LastUpdateTime = AssignedShard.CurrentTime - 1, }); upd.Add(new Unknown1 { }); upd.Add(new Unknown2 { Unk1 = 0x0100, Unk2 = 0x0100, LastUpdateTime = AssignedShard.CurrentTime, }); NetChans[ChannelType.ReliableGss].SendGSSClass(upd, CharacterEntity.EntityID, Enums.GSS.Controllers.Character_BaseController); upd = new PartialUpdate(); upd.Add(new Unknown3 { Unk1 = 0, LastUpdateTime = AssignedShard.CurrentTime, }); upd.Add(new CharacterState { State = 6, LastUpdateTime = AssignedShard.CurrentTime, }); upd.Add(new CurrentHealth { Value = CharacterEntity.CharData.MaxHealth, }); upd.Add(new Unknown4 { Unk1 = 0 }); upd.Add(new Unknown1 { }); NetChans[ChannelType.ReliableGss].SendGSSClass(upd, CharacterEntity.EntityID, Enums.GSS.Controllers.Character_BaseController); upd = new PartialUpdate(); upd.Add(new Unknown5 { LastUpdateTime = AssignedShard.CurrentTime, }); NetChans[ChannelType.ReliableGss].SendGSSClass(upd, CharacterEntity.EntityID, Enums.GSS.Controllers.Character_BaseController); }
public ForcedMovementMessage([NotNull] ForcedMovement movement) { Movement = movement ?? throw new ArgumentNullException(nameof(movement)); }