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 override void Die()
        {
            PlayerEffectsAssembly.CureInfection(true);
            MovementAssembly.Move(MovementAssembly.ActualPosition(), MovementAssembly.ActualPosition());

            Lock(null);
            EntitiesLockedSafe(x => {
                if (x.Locked != null && x.Locked.ID == ID)
                {
                    x.Lock(null);
                }
            });

            ICommand killCommand = PacketBuilder.KillCommand(this);

            GameManager.Get(AttackTraceAssembly.CurrentMainAttacker, out PlayerController killer);
            Send(killCommand, PacketBuilder.KillScreen.KillScreenCommand(DestructionTypeModule.PLAYER, killer));
            // send kill screen

            EntitesInRange(x => {
                if (x.ID == AttackTraceAssembly.CurrentMainAttacker)   // killer
                                                                       // render rewards etc.
                {
                    x.Send(
                        killCommand,
                        PacketBuilder.Legacy("0|A|STD|You killed " + Account.Username + "!")
                        );
                }
                else
                {
                    x.Send(killCommand);
                }
            });

            AttackTraceAssembly.Reset();
            Spacemap?.Remove(this); // remove from spacemap
            TimerStop();
        }