public void ActivateAbility(bool police) // True = police false = truck
    {
        if (police)
        {
            if (!_policeAbilityActive)
            {
                //_abilityListCop = GameObject.FindGameObjectWithTag("PoliceAbility").GetComponents<SCR_AbilityBase>().ToList();
                Random.seed = (int)System.DateTime.Now.Ticks;
                int r = Random.Range(0, _abilityListCop.Count);

                if (_policeAbilityActive2)
                {
                    if (_abilityListCop.Count > 1)
                    {
                        do
                        {
                            r = Random.Range(0, _abilityListCop.Count);
                        } while (ActiveAbilityPolice2 == _abilityListCop[r]);
                    }
                }


                _abilityListCop[r].OnPickUp(true);
                _policeAbilityActive = true;
                ActiveAbilityPolice  = _abilityListCop[r];
                GameObject.FindWithTag("HUD").GetComponent <SCR_AbilityUI>().UpdatePickupUI();
            }
            else if (_abilityListCop.Count > 1)
            {
                Random.seed = (int)System.DateTime.Now.Ticks;
                int r = Random.Range(0, _abilityListCop.Count);
                do
                {
                    r = Random.Range(0, _abilityListCop.Count);
                } while (ActiveAbilityPolice == _abilityListCop[r]);

                _abilityListCop[r].OnPickUp(false);
                _policeAbilityActive2 = true;
                ActiveAbilityPolice2  = _abilityListCop[r];
                GameObject.FindWithTag("HUD").GetComponent <SCR_AbilityUI>().UpdatePickupUI();
            }
        }
        else
        {
            if (!_truckAbilityActive)
            {
                //_abilityListTruck = GameObject.FindGameObjectWithTag("TruckAbility").GetComponents<SCR_AbilityBase>().ToList();
                Random.seed = (int)System.DateTime.Now.Ticks;


                var r = Random.Range(0, _abilityListTruck.Count);

                if (_truckAbilityActive2)
                {
                    if (_abilityListTruck.Count > 1)
                    {
                        do
                        {
                            r = Random.Range(0, _abilityListTruck.Count);
                        } while (ActiveAbilityTruck2 == _abilityListTruck[r]);
                    }
                }


                _abilityListTruck[r].OnPickUp(true);
                _truckAbilityActive = true;
                ActiveAbilityTruck  = _abilityListTruck[r];
                GameObject.FindWithTag("HUD").GetComponent <SCR_AbilityUI>().UpdatePickupUI();
            }
            else if (_abilityListTruck.Count > 1)
            {
                Random.seed = (int)System.DateTime.Now.Ticks;
                var r = Random.Range(0, _abilityListTruck.Count);
                do
                {
                    r = Random.Range(0, _abilityListTruck.Count);
                } while (_abilityListTruck[r] == ActiveAbilityTruck);
                _abilityListTruck[r].OnPickUp(false);
                _truckAbilityActive2 = true;
                ActiveAbilityTruck2  = _abilityListTruck[r];
                GameObject.FindWithTag("HUD").GetComponent <SCR_AbilityUI>().UpdatePickupUI();
            }
        }
    }
    // Update is called once per frame
    void Update()
    {
        if (!_policeAbilityActive || !_policeAbilityActive2)
        {
            foreach (var ac in _abilityListCop)
            {
                if (Input.GetKeyDown(keyCodes[ac.GodKey]))
                {
                    if (!_policeAbilityActive)
                    {
                        if (ActiveAbilityPolice2 != ac || !_policeAbilityActive2)
                        {
                            ac.OnPickUp(true);
                            _policeAbilityActive = true;
                            ActiveAbilityPolice  = ac;
                            GameObject.FindWithTag("HUD").GetComponent <SCR_AbilityUI>().UpdatePickupUI();
                            SCR_NotificationQueue.NotificationPolice.DisplayText("GODMODE: Ability " + ac.AbilityName, 3.0f, 0.20f);
                        }
                    }
                    else if (_abilityListCop.Count > 1)
                    {
                        if (ActiveAbilityPolice != ac || !_policeAbilityActive)
                        {
                            ac.OnPickUp(false);
                            _policeAbilityActive2 = true;
                            ActiveAbilityPolice2  = ac;
                            GameObject.FindWithTag("HUD").GetComponent <SCR_AbilityUI>().UpdatePickupUI();
                            SCR_NotificationQueue.NotificationPolice.DisplayText("GODMODE: Ability " + ac.AbilityName, 3.0f, 0.20f);
                        }
                    }
                }
            }
        }

        if (!_truckAbilityActive || !_truckAbilityActive2)
        {
            foreach (var at in _abilityListTruck)
            {
                if (Input.GetKeyDown(keyCodes[at.GodKey]))
                {
                    if (!_truckAbilityActive)
                    {
                        if (ActiveAbilityTruck2 != at || !_truckAbilityActive2)
                        {
                            at.OnPickUp(true);
                            _truckAbilityActive = true;
                            ActiveAbilityTruck  = at;
                            GameObject.FindWithTag("HUD").GetComponent <SCR_AbilityUI>().UpdatePickupUI();
                            SCR_NotificationQueue.NotificationTruck.DisplayText("GODMODE: Ability " + at.AbilityName, 3.0f, 0.20f);
                        }
                    }
                    else if (_abilityListTruck.Count > 1)
                    {
                        if (ActiveAbilityPolice != at || !_truckAbilityActive)
                        {
                            at.OnPickUp(false);
                            _truckAbilityActive2 = true;
                            ActiveAbilityTruck2  = at;
                            GameObject.FindWithTag("HUD").GetComponent <SCR_AbilityUI>().UpdatePickupUI();
                            SCR_NotificationQueue.NotificationTruck.DisplayText("GODMODE: Ability " + at.AbilityName, 3.0f, 0.20f);
                        }
                    }
                }
            }
        }
    }