public bool IsUsableNowBase() { return (IsUsableNow() && (UsesLeft > 0 || LimitedUses == false) && myEnergy.IsEnoughEnergyFor(this) && TurnManager.Instance.PlayerHavingTurn == myUnit.PlayerID && AlreadyUsedThisTurn == false && GameStateManager.Instance.IsItPreGame() == false && LegalInPhases.Contains(TurnManager.Instance.CurrentPhase) && (!OnlyInCombat || (OnlyInCombat && myUnit.CheckIfIsInCombat())) && (!UnavailableInCombat || (UnavailableInCombat && !myUnit.CheckIfIsInCombat())) && (!RequiresCanMove || (RequiresCanMove && myUnit.GetComponent <UnitMovement>().CanMove)) && (!RequiresShootingAbility || (RequiresShootingAbility && myUnit.GetComponent <ShootingScript>().IsAbleToShoot())) && (!IsAttack || (IsAttack && myUnit.hasAttacked == false))); }