public static void unlockAchievement(SteamManager.achievement_key key)
 {
     if (hasAchieved != null)
     {
         if (hasAchieved[(int)key])
         {
             return;
         }
         hasAchieved[(int)(key)] = true;
     }
     if (SteamManager.s_instance != null && (SteamManager.apiShutdown == false))
     {
         SteamManager.unlockAchievement(key);
     }
 }
Example #2
0
        public void turnTick()
        {
            hasTakenAction = false;
            double powerGainMult = calculatePowerGainMult();
            double powerGain     = map.param.overmind_powerRegen * powerGainMult;

            if (power < map.param.overmind_maxPower - powerGain)
            {
                power += powerGain;
                if (map.burnInComplete)
                {
                    map.hintSystem.popHint(HintSystem.hintType.POWER);
                }
            }
            //power = Math.Min(power, map.param.overmind_maxPower);


            panicFromPowerUse -= map.param.panic_dropPerTurn;
            if (panicFromPowerUse < 0)
            {
                panicFromPowerUse = 0;
            }

            panicFromCluesDiscovered -= map.param.panic_dropPerTurn;
            if (panicFromCluesDiscovered < 0)
            {
                panicFromCluesDiscovered = 0;
            }

            processEnthralled();
            int    count             = 0;
            double sum               = 0;
            int    nHumanSettlements = 0;

            foreach (Location loc in map.locations)
            {
                if (loc.person() != null)
                {
                    sum += loc.person().shadow; count += 1;
                }
                if (loc.soc != null && loc.settlement != null && (loc.settlement is Set_Ruins == false) && (loc.settlement is Set_CityRuins == false) && loc.soc is Society)
                {
                    nHumanSettlements += 1;
                }
            }
            if (count == 0)
            {
                map.data_avrgEnshadowment = 0;
            }
            else
            {
                map.data_avrgEnshadowment = sum / count;
            }
            if ((!endOfGameAchieved) && map.data_avrgEnshadowment > map.param.victory_targetEnshadowmentAvrg)
            {
                victory();
            }
            if (nHumanSettlements == 0)
            {
                victory();
            }
            map.data_nSocietyLocations = nHumanSettlements;

            if (map.automatic)
            {
                autoAI.turnTick();
            }

            if (map.burnInComplete && (map.turn - map.param.mapGen_burnInSteps) % map.param.overmind_enthrallmentUseRegainPeriod == 0)
            {
                if (availableEnthrallments < maxEnthralled)
                {
                    availableEnthrallments += 1;
                }
            }

            if (map.data_globalTempSum <= map.data_globalTempInitial / 2)
            {
                SteamManager.unlockAchievement(SteamManager.achievement_key.WORLD_UNDER_ICE);
            }
            map.data_globalTempSum = 0;
            computeLightbringer();
        }