private void InitializeAssemblies()
        {
            BoosterAssembly        = new BoosterAssembly(this);
            HangarAssembly         = new PlayerHangarAssembly(this);
            MovementAssembly       = new PlayerMovementAssembly(this);
            DroneFormationAssembly = new PlayerDroneFormationAssembly(this);
            AttackAssembly         = new PlayerAttackAssembly(this);
            SpecialItemsAssembly   = new PlayerSpecialItemsAssembly(this);
            EffectsAssembly        = new PlayerEffectsAssembly(this);
            AttackTraceAssembly    = new AttackTraceAssembly(this);
            ZoneAssembly           = new ZoneAssembly(this);
            PlayerTechAssembly     = new PlayerTechAssembly(this);
            PlayerAbilityAssembly  = new PlayerAbilityAssembly(this);
            PlayerGroupAssembly    = new PlayerGroupAssembly(this);
            PlayerItemsAssembly    = new PlayerItemsAssembly(this);

            BoosterAssembly.Multiply(BoosterType.DAMAGE, 1.6);
            BoosterAssembly.Multiply(BoosterType.DAMAGE, 2);

            BoosterAssembly.Multiply(BoosterType.SHIELD, 1.7);
            BoosterAssembly.Multiply(BoosterType.SPEED, 1.2);
            BoosterAssembly.Multiply(BoosterType.HITPOINTS, 1.2);
            BoosterAssembly.Multiply(BoosterType.HIT_RATE, 0.8);

            InitializeTimer();
        }
        public async void Refresh(bool wasKilled)
        {
            if (HangarAssembly.Hitpoints <= 0)
            {
                Die();
                return;
            }

            HangarAssembly.Refresh();

            Send(
                ClientConfiguration.UserSettings,
                PacketBuilder.UserKeyBindinsCommand(this),
                PacketBuilder.UIMenuBarsCommand(this),
                PacketBuilder.Slotbar.SlotBarsCommand(this)
                );

            Send(
                new class_884(new List <class_503>()
            {
                new class_571(false, 1)
            }),
                PacketBuilder.Legacy("0|A|BKBB|0"),
                PacketBuilder.Legacy("0|A|BKS|0"),
                PacketBuilder.Legacy("0|A|BKB|0"),
                PacketBuilder.Legacy("0|A|BKPR|0"),
                PacketBuilder.Legacy("0|A|BKR|0"),
                PacketBuilder.Legacy("0|A|BKM|0"),
                PacketBuilder.Legacy("0|A|BK|0"),
                PacketBuilder.Legacy("0|A|JV|0"),
                PacketBuilder.Legacy("0|TR")
                );

            Send(
                PacketBuilder.InitializeShipCommand(this),
                PacketBuilder.DroneCommand(this),
                PacketBuilder.ConfigurationCommand(this),
                PacketBuilder.SpeedChangeCommand(this),
                ZoneAssembly.ZoneCommand(),
                PacketBuilder.Legacy("0|8"), // login done
                PacketBuilder.Legacy("0|7|HS")
                );

            await Task.Delay(750);

            Send(EffectsAssembly.EffectsCommand()
                 .Concat(PlayerTechAssembly.EffectsCommand())
                 .Concat(PlayerAbilityAssembly.EffectsCommand()));

            TimerStart();

            if (wasKilled)
            {
                EffectsAssembly.MakeInvincible(10000);
            }

            lock (_checkMinesInRange) {
                _renderedMines.Clear();
            }

            lock (_checkPlayersInRange) {
                _renderedPlayers.Clear();
            }

            SpacemapController.For(Account.CurrentHangar.MapID).Remove(this);
            SpacemapController.For(Account.CurrentHangar.MapID).Add(this);

            if (Locked != null)   // just for the visuals
            {
                SendLockVisual(Locked);
            }
        }