public void Face(EODirection direction) { var packet = new PacketBuilder(PacketFamily.Face, PacketAction.Player) .AddChar((byte)direction) .Build(); _packetSendService.SendPacket(packet); }
private void HandleWalkToWarpTile(IWarp warp) { if (warp.DoorType != DoorSpec.NoDoor) { if (!_unlockDoorValidator.CanMainCharacterOpenDoor(warp)) { var requiredKey = _unlockDoorValidator.GetRequiredKey(warp); var messageBox = _eoMessageBoxFactory.CreateMessageBox(DialogResourceID.DOOR_LOCKED); messageBox.ShowDialog(); _statusLabelSetter.SetStatusLabel(EOResourceID.STATUS_LABEL_TYPE_WARNING, EOResourceID.STATUS_LABEL_THE_DOOR_IS_LOCKED_EXCLAMATION, " - " + requiredKey); } else if (!_currentMapStateRepository.OpenDoors.Contains(warp) && !_currentMapStateRepository.PendingDoors.Contains(warp)) { var packet = new PacketBuilder(PacketFamily.Door, PacketAction.Open) .AddChar((byte)warp.X) .AddChar((byte)warp.Y) .Build(); _packetSendService.SendPacket(packet); _currentMapStateRepository.PendingDoors.Add(warp); } } else if (warp.LevelRequirement > 0 && MainCharacter.Stats[CharacterStat.Level] < warp.LevelRequirement) { _statusLabelSetter.SetStatusLabel(EOResourceID.STATUS_LABEL_TYPE_WARNING, EOResourceID.STATUS_LABEL_NOT_READY_TO_USE_ENTRANCE, " - LVL " + warp.LevelRequirement); } }
private void SendWarpAcceptToServer(IPacket packet) { var response = new PacketBuilder(PacketFamily.Warp, PacketAction.Accept) .AddShort(packet.ReadShort()) .Build(); _packetSendService.SendPacket(response); }
public void CompleteHandshake(IInitializationData initializationData) { var packet = new PacketBuilder(PacketFamily.Connection, PacketAction.Accept) .AddShort((short)initializationData[InitializationDataKey.SendMultiple]) .AddShort((short)initializationData[InitializationDataKey.ReceiveMultiple]) .AddShort((short)initializationData[InitializationDataKey.ClientID]) .Build(); _packetSendService.SendPacket(packet); }
public void LevelUpStat(CharacterStat whichStat) { if (InvalidStat(whichStat)) { return; } var packet = new PacketBuilder(PacketFamily.StatSkill, PacketAction.Add) .AddChar((byte)TrainType.Stat) .AddShort((byte)GetStatIndex(whichStat)) .Build(); _packetSendService.SendPacket(packet); }
public ItemPickupResult PickUpItem(IItem item) { var pickupResult = _itemPickupValidator.ValidateItemPickup(_characterProvider.MainCharacter, item); if (pickupResult == ItemPickupResult.Ok) { var packet = new PacketBuilder(PacketFamily.Item, PacketAction.Get) .AddShort(item.UniqueID) .Build(); _packetSendService.SendPacket(packet); } return(pickupResult); }