public void Execute(GameSession gameSession, IByteBuffer buffer)
        {
            var request = new SelectRocketRequest();

            request.readCommand(buffer);

            var rocketLootId = AmmoConvertManager.AmmoTypeToString(request.rocketType.type);

            gameSession.Player.Settings.GetSettings <SlotbarSettings>().SelectedRocketAmmo = rocketLootId;
            gameSession.Player.Settings.SaveSettings();
        }
예제 #2
0
        public void Execute(GameSession gameSession, IByteBuffer buffer)
        {
            var request = new SelectBatteryRequest();

            request.readCommand(buffer);

            var batteryLootId = AmmoConvertManager.AmmoTypeToString(request.batteryType.type);

            gameSession.Player.Settings.GetSettings <SlotbarSettings>().SelectedLaserAmmo = batteryLootId;
            gameSession.Player.Settings.SaveSettings();

            gameSession.Player.OnLaserAmmoChange(batteryLootId);
        }
예제 #3
0
        public void CreateSlotbarSettings(Player player)
        {
            if (GetSession(player, out var session))
            {
                var slotbarSettings = player.Settings.GetSettings <SlotbarSettings>();

                Packet.Builder.BuildCommand(session.GameClient, Commands.SHIP_SETTINGS_COMMAND, player.UsingNewClient,
                                            slotbarSettings.QuickbarSlots,
                                            slotbarSettings.QuickbarSlotsPremium,
                                            AmmoConvertManager.GetLootAmmoId(slotbarSettings.SelectedLaserAmmo),
                                            AmmoConvertManager.GetLootAmmoId(slotbarSettings.SelectedRocketAmmo),
                                            AmmoConvertManager.GetLootAmmoId(slotbarSettings.SelectedHellstormRocketAmmo));
            }
        }
예제 #4
0
        public void CreateAmmunition(Player player)
        {
            if (GetSession(player, out var session))
            {
                var ammoList = new List <AmmunitionCountModule>();
                foreach (var item in player.Ammunition.Ammo)
                {
                    var ammunitiounCountModule =
                        new AmmunitionCountModule(AmmoConvertManager.ToAmmoType(item.Key), item.Value.Amount);
                    ammoList.Add(ammunitiounCountModule);
                }

                Packet.Builder.BuildCommand(session.GameClient, Commands.AMMUNITION_COUNT_UPDATE_COMMAND,
                                            player.UsingNewClient, ammoList);
            }
        }
예제 #5
0
        public void Execute(GameSession gameSession, IByteBuffer buffer)
        {
            var request = new ShipSettingsRequest();

            request.readCommand(buffer);

            var slotbarSettings = gameSession.Player.Settings.GetSettings <SlotbarSettings>();

            slotbarSettings.QuickbarSlots               = request.quickbarSlots;
            slotbarSettings.QuickbarSlotsPremium        = request.quickbarSlotsPremium;
            slotbarSettings.SelectedHellstormRocketAmmo = AmmoConvertManager.GetRocketLootId(request.selectedHellstormRocket);
            slotbarSettings.SelectedLaserAmmo           = AmmoConvertManager.GetLaserLootId(request.selectedLaser);
            slotbarSettings.SelectedRocketAmmo          = AmmoConvertManager.GetRocketLootId(request.selectedRocket);

            gameSession.Player.Settings.SaveSettings();

            Out.WriteLog("Successfully saved ShipSettings for Player", LogKeys.PLAYER_LOG, gameSession.Player.Id);
        }