public async Task RequestAllAchievements(INetworkPlayer player, IShard shard, ulong EntityID, Packets.GamePacket packet)
 {
     // TODO: Implement
 }
 public async Task TryResumeTutorialChain(INetworkPlayer player, IShard shard, ulong EntityID, Packets.GamePacket packet)
 {
     // TODO: Implement
 }
Example #3
0
 public async Task UseScope(INetworkPlayer player, IShard shard, ulong EntityID, Packets.GamePacket packet)
 {
     // TODO: Implement
 }
Example #4
0
 public async Task RequestLogout(INetworkPlayer player, IShard shard, ulong EntityID, Packets.GamePacket packet)
 {
 }
Example #5
0
        public async Task MovementInput(INetworkPlayer player, IShard shard, ulong EntityID, Packets.GamePacket packet)
        {
            if (packet.BytesRemaining < 64)
            {
                return;
            }

            var pkt = packet.Read <MovementInput>();

            if (player == null || player.CharacterEntity == null || !player.CharacterEntity.Alive)
            {
                return;
            }

            player.CharacterEntity.Position      = pkt.Position;
            player.CharacterEntity.Rotation      = pkt.Rotation;
            player.CharacterEntity.Velocity      = pkt.Velocity;
            player.CharacterEntity.AimDirection  = pkt.AimDirection;
            player.CharacterEntity.MovementState = (Entities.Character.CharMovement)pkt.State;

            if (player.CharacterEntity.LastJumpTime == null)
            {
                player.CharacterEntity.LastJumpTime = pkt.LastJumpTimer;
            }

            //Program.Logger.Warning( "Movement Unk1: {0:X4} {1:X4} {2:X4} {3:X4} {4:X4}", pkt.UnkUShort1, pkt.UnkUShort2, pkt.UnkUShort3, pkt.UnkUShort4, pkt.LastJumpTimer );

            var resp = new ConfirmedPoseUpdate {
                ShortTime     = pkt.ShortTime,
                UnkByte1      = 1,
                UnkByte2      = 0,
                Position      = player.CharacterEntity.Position,
                Rotation      = player.CharacterEntity.Rotation,
                State         = (ushort)player.CharacterEntity.MovementState,
                Velocity      = player.CharacterEntity.Velocity,
                UnkUShort1    = pkt.UnkUShort3,
                UnkUShort2    = pkt.UnkUShort4,                 // Somehow affects gravity
                LastJumpTimer = pkt.LastJumpTimer,
                UnkByte3      = 0,
                NextShortTime = unchecked ((ushort)(pkt.ShortTime + 90))
            };

            _ = await shard.SendGSSTo(player, ChannelType.UnreliableGss, resp, player.EntityID);

            if (player.CharacterEntity.LastJumpTime.HasValue && pkt.LastJumpTimer > player.CharacterEntity.LastJumpTime.Value)
            {
                player.Jump();
            }
        }
Example #6
0
 public async Task FireInputIgnored(INetworkPlayer player, IShard shard, ulong EntityID, Packets.GamePacket packet)
 {
     // TODO: Implement
 }
Example #7
0
 public async Task PlayerReady(INetworkPlayer player, IShard shard, ulong EntityID, Packets.GamePacket packet)
 {
     player.Ready();
 }
Example #8
0
 public async Task FetchQueueInfo(INetworkPlayer player, IShard shard, ulong EntityID, Packets.GamePacket packet)
 {
 }
Example #9
0
        public async Task PerformTextChat(INetworkPlayer player, IShard shard, ulong EntityID, Packets.GamePacket packet)
        {
            var pkt = packet.Read <PerformTextChat>();

            Program.Logger.Information("[{2}] {0}: {1}", player.CharacterEntity.CharData.Name, pkt.Message, pkt.Channel);

            var msgs = new ChatMessageList();

            msgs.Messages.Add(new ChatMessage {
                SenderID   = player.EntityID,
                SenderName = player.CharacterEntity.CharData.Name,
                Message    = pkt.Message,
                Channel    = pkt.Channel == 0 ? ChatChannel.Zone : pkt.Channel
            });

            _ = await shard.SendGSSAll(ChannelType.UnreliableGss, msgs, shard.InstanceID);
        }
Example #10
0
 public async Task BagInventorySettings(INetworkPlayer player, IShard shard, ulong EntityID, Packets.GamePacket packet)
 {
 }
Example #11
0
 public async Task SetMovementSimulation(INetworkPlayer player, IShard shard, ulong EntityID, Packets.GamePacket packet)
 {
 }