public bool ConsumeAndFinish()
    {
        if (completed)
        {
            return(true);
        }
        CheckQuestConditions();
        bool x = true;

        foreach (var s in stepsFinished)
        {
            if (!s)
            {
                x = false;
            }
        }
        if (!x)
        {
            return(false);
        }
        else
        {
            foreach (var sc in conditions)
            {
                switch (sc.type)
                {
                //no gears
                //no crews
                // no shuttles
                case ConditionType.ResourceCountCheck:
                {
                    colony.storage.GetResources(sc.index, sc.value);
                    break;
                }

                case ConditionType.MoneyCheck:
                {
                    colony.GetEnergyCrystals(sc.value);
                    break;
                }

                case ConditionType.FreeWorkersCheck:
                {
                    colony.ConsumeWorkers(sc.index);
                    break;
                }

                case ConditionType.StoredEnergyCondition:
                {
                    colony.TryGetEnergy(sc.value);
                    break;
                }
                }
            }
            MakeQuestCompleted();
            StopQuest(true);
            return(true);
        }
    }