Exemplo n.º 1
0
    void Update()
    {
        if (MasterScript.systemGUI.selectedSystem != selectedSystem)
        {
            NGUITools.SetActive(improvementsWindow, false);
            selectedSystem    = MasterScript.systemGUI.selectedSystem;
            improvementsBasic = MasterScript.systemListConstructor.systemList [selectedSystem].systemObject.GetComponent <ImprovementsBasic> ();
        }

        if (MasterScript.cameraFunctionsScript.openMenu == true)
        {
            if (selectedPlanet != -1)
            {
                if (improvementsWindow.activeInHierarchy == true)
                {
                    UpdateTabs();
                }

                UpdateBuiltImprovements();
                UpdateSystemEffects(selectedSystem, selectedPlanet);
                UpdateUpkeep();
            }
        }

        if (Input.GetKeyDown("c"))
        {
            NGUITools.SetActive(availableImprovements, false);
        }
    }
Exemplo n.º 2
0
    public void IncreaseAmber(int system)
    {
        SystemSIMData     systemSIMData     = MasterScript.systemListConstructor.systemList [system].systemObject.GetComponent <SystemSIMData> ();
        ImprovementsBasic improvementsBasic = MasterScript.systemListConstructor.systemList [system].systemObject.GetComponent <ImprovementsBasic> ();

        systemSIMData.totalSystemAmber = 0f;

        if (improvementsBasic.listOfImprovements[28].hasBeenBuilt == true)
        {
            float tempMod = 0.1f;

            if (improvementsBasic.IsBuiltOnPlanetType(system, 28, "Molten") == true)
            {
                tempMod = 0.15f;
            }

            for (int i = 0; i < MasterScript.systemListConstructor.systemList[system].systemSize; ++i)
            {
                string tempString = MasterScript.systemListConstructor.systemList[system].planetsInSystem[i].planetType;

                if (tempString == "Molten" || tempString == "Chasm" || tempString == "Waste")
                {
                    systemSIMData.totalSystemAmber += (tempMod * 2f) * improvementsBasic.amberProductionBonus;
                }
                else
                {
                    systemSIMData.totalSystemAmber += tempMod * improvementsBasic.amberProductionBonus;
                }
            }
        }

        systemSIMData.totalSystemAmber += improvementsBasic.amberPointBonus;

        MasterScript.racialTraitScript.amber += systemSIMData.totalSystemAmber;
    }
Exemplo n.º 3
0
    public void TurnEnd(TurnInfo selectedPlayer)     //This function accumulates all the SIM generated by each system to give an empire SIM value
    {
        selectedPlayer.researchCostModifier = 0;

        MasterScript.diplomacyScript.DiplomaticStateEffects();

        CalculateExpansionModifier(selectedPlayer);

        for (int i = 0; i < MasterScript.systemListConstructor.mapSize; ++i)
        {
            if (MasterScript.systemListConstructor.systemList[i].systemOwnedBy != selectedPlayer.playerRace)
            {
                continue;
            }

            SystemSIMData     systemSIMData     = MasterScript.systemListConstructor.systemList[i].systemObject.GetComponent <SystemSIMData>();
            ImprovementsBasic improvementsBasic = MasterScript.systemListConstructor.systemList[i].systemObject.GetComponent <ImprovementsBasic>();
            SystemDefence     systemDefence     = MasterScript.systemListConstructor.systemList[i].systemObject.GetComponent <SystemDefence>();

            systemDefence.CalculateSystemDefence();

            improvementsBasic.ActiveTechnologies(i, selectedPlayer);
            systemSIMData.SystemSIMCounter(selectedPlayer);
            MasterScript.systemFunctions.CheckUnlockedTier(improvementsBasic, i);

            selectedPlayer.knowledge += systemSIMData.totalSystemKnowledge;
            selectedPlayer.power     += systemSIMData.totalSystemPower;

            if (selectedPlayer.playerRace == "Selkies")
            {
                MasterScript.racialTraitScript.amber += systemSIMData.totalSystemAmber;
            }

            selectedPlayer.researchCostModifier += improvementsBasic.researchCost;
        }

        for (int j = 0; j < selectedPlayer.playerOwnedHeroes.Count; ++j)
        {
            HeroScriptParent heroScript = selectedPlayer.playerOwnedHeroes[j].GetComponent <HeroScriptParent>();
            heroScript.HeroEndTurnFunctions(selectedPlayer);
        }

        MasterScript.racialTraitScript.RacialBonus(selectedPlayer);

        MasterScript.turnInfoScript.SortSystemPower();

        if (selectedPlayer.wealth > 10000.0f)
        {
            selectedPlayer.wealth = 10000.0f;
        }

        selectedPlayer.planetsColonisedThisTurn = 0;

        selectedPlayer.systemsColonisedThisTurn = 0;
    }
Exemplo n.º 4
0
    public void CheckUnlockedTier(ImprovementsBasic improvements, int system)
    {
        systemSIMData = MasterScript.systemListConstructor.systemList [system].systemObject.GetComponent <SystemSIMData> ();

        systemSIMData.totalSystemSIM += systemSIMData.totalSystemKnowledge + systemSIMData.totalSystemPower;

        if (systemSIMData.totalSystemSIM >= 1600.0f && systemSIMData.totalSystemSIM < 3200 && improvements.techTier != 1)
        {
            improvements.techTier = 1;
        }
        if (systemSIMData.totalSystemSIM >= 3200.0f && systemSIMData.totalSystemSIM < 6400 && improvements.techTier != 2)
        {
            improvements.techTier = 2;
        }
        if (systemSIMData.totalSystemSIM >= 6400.0f && improvements.techTier != 3)
        {
            improvements.techTier = 3;
        }
    }
Exemplo n.º 5
0
    public static void WipePlanetInfo(int system, int planet)     //Used to reset planets to default
    {
        systemListConstructor.systemList [system].planetsInSystem [planet].planetColonised        = false;
        systemListConstructor.systemList [system].planetsInSystem [planet].expansionPenaltyTimer  = 0f;
        systemListConstructor.systemList [system].planetsInSystem [planet].planetImprovementLevel = 0;

        for (int i = 0; i < systemListConstructor.systemList [system].planetsInSystem [planet].currentImprovementSlots; ++i)
        {
            improvementsBasic = systemListConstructor.systemList[system].systemObject.GetComponent <ImprovementsBasic>();

            for (int j = 0; j < improvementsBasic.listOfImprovements.Count; ++j)
            {
                if (improvementsBasic.listOfImprovements[j].improvementName == systemListConstructor.systemList [system].planetsInSystem [planet].improvementsBuilt [i])
                {
                    improvementsBasic.listOfImprovements[j].hasBeenBuilt = false;
                    systemListConstructor.systemList [system].planetsInSystem [planet].improvementsBuilt [i] = null;
                }
            }
        }
    }
Exemplo n.º 6
0
    void Start()
    {
        systemDefence     = gameObject.GetComponent <SystemDefence> ();
        improvementsBasic = gameObject.GetComponent <ImprovementsBasic>();

        thisSystem = MasterScript.RefreshCurrentSystem(gameObject);

        for (int i = 0; i < MasterScript.systemListConstructor.systemList[thisSystem].systemSize; ++i)
        {
            PlanetUIInfo planetInfo = new PlanetUIInfo();

            planetInfo.generalInfo     = null;
            planetInfo.knowledgeOutput = null;
            planetInfo.powerOutput     = null;
            planetInfo.population      = null;

            allPlanetsInfo.Add(planetInfo);
        }

        embargoedBy = null;
        promotedBy  = null;
    }
Exemplo n.º 7
0
    public void BuildImprovement()
    {
        NGUITools.SetActive(improvementDetails, false);

        improvementsBasic = MasterScript.systemListConstructor.systemList[selectedSystem].systemObject.GetComponent <ImprovementsBasic>();

        for (int i = 0; i < improvementsBasic.listOfImprovements.Count; ++i)
        {
            if (improvementsBasic.listOfImprovements[i].improvementName.ToUpper() == currentImprovement)
            {
                for (int j = 0; j < MasterScript.systemListConstructor.systemList[selectedSystem].planetsInSystem[selectedPlanet].currentImprovementSlots; ++j)
                {
                    if (MasterScript.systemListConstructor.systemList[selectedSystem].planetsInSystem[selectedPlanet].improvementsBuilt[j] == null)
                    {
                        if (improvementsBasic.ImproveSystem(i) == true)
                        {
                            improvementsBasic.ActiveTechnologies(selectedSystem, MasterScript.playerTurnScript);
                            MasterScript.systemListConstructor.systemList[selectedSystem].planetsInSystem[selectedPlanet].improvementsBuilt[j] = improvementsBasic.listOfImprovements[i].improvementName;
                            UpdateImprovementsWindow(improvementsBasic.listOfImprovements[i].improvementLevel);
                            UpdateBuiltImprovements();
                            currentImprovement = null;
                            selectedSlot       = -1;
                            break;
                        }
                    }
                }
            }
        }

        for (int i = 0; i < unbuiltImprovementList.Length; ++i)
        {
            unbuiltImprovementList[i].GetComponent <UISprite>().spriteName = "Button Normal";
            unbuiltImprovementList[i].GetComponent <UIButton>().enabled    = true;
        }

        NGUITools.SetActive(improvementsWindow, false);
    }
Exemplo n.º 8
0
    private int CheckNumberOfPlanetsWithImprovement(int improvementNo, TurnInfo thisPlayer, ImprovementsBasic improvements)
    {
        int currentPlanets = 0;

        for (int i = 0; i < MasterScript.systemListConstructor.mapSize; ++i)
        {
            if (MasterScript.systemListConstructor.systemList[i].systemOwnedBy == null || MasterScript.systemListConstructor.systemList[i].systemOwnedBy == thisPlayer.playerRace)
            {
                continue;
            }

            if (improvements.listOfImprovements[improvementNo].hasBeenBuilt == true)
            {
                ++currentPlanets;
            }
        }

        return(currentPlanets);
    }
Exemplo n.º 9
0
    public void TechSwitch(int tech, int planet, ImprovementsBasic tempImprov, TurnInfo player, bool check)
    {
        improvements = tempImprov;

        systemSIMData = MasterScript.systemListConstructor.systemList [tempImprov.system].systemObject.GetComponent <SystemSIMData> ();

        checkValue = check;
        thisPlayer = player;

        improvements.planetToBuildOn.Clear();

        improvements.tempCount = 0f;

        switch (tech)
        {
        case 0:         //Amplification
            T1I1();
            break;

        case 1:         //Fertile Link
            T1I2();
            break;

        case 2:         //Fortune
            T1I3();
            break;

        case 3:         //Injection
            T2I1();
            break;

        case 4:         //Custodians
            T2I2();
            break;

        case 5:         //Isolation
            T2I3(planet);
            break;

        case 6:         //Inertia
            T3I1(planet);
            break;

        case 7:         //Nostalgia
            T3I2(planet);
            break;

        case 8:         //Redundancy
            T3I3();
            break;

        case 9:         //Convergence
            T4I1();
            break;

        case 10:         //Foundation
            T4I2();
            break;

        case 11:         //Perception
            T4I3();
            break;

        default:
            break;
        }

        if (thisPlayer.playerRace == "Humans")
        {
            humanImprovements.TechSwitch(tech, planet, tempImprov, thisPlayer, checkValue);
        }
        if (thisPlayer.playerRace == "Nereides")
        {
            nereidesImprovements.TechSwitch(tech, planet, tempImprov, thisPlayer, checkValue);
        }
        if (thisPlayer.playerRace == "Selkies")
        {
            selkiesImprovements.TechSwitch(tech, planet, tempImprov, thisPlayer, checkValue);
        }
    }
Exemplo n.º 10
0
    public void UpdateSystemEffects(int system, int planet)     //TODO this needs to be planet specific
    {
        improvementsBasic = MasterScript.systemListConstructor.systemList[selectedSystem].systemObject.GetComponent <ImprovementsBasic>();

        string temp = "";

        float knoTemp      = (MasterScript.systemListConstructor.systemList[system].sysKnowledgeModifier + MasterScript.systemListConstructor.systemList[system].planetsInSystem[planet].knowledgeModifier) - 1;
        float powTemp      = (MasterScript.systemListConstructor.systemList[system].sysPowerModifier + MasterScript.systemListConstructor.systemList[system].planetsInSystem[planet].powerModifier) - 1;
        float growTemp     = MasterScript.systemListConstructor.systemList[system].sysGrowthModifier + MasterScript.systemListConstructor.systemList[system].planetsInSystem[planet].growthModifier;
        float popTemp      = MasterScript.systemListConstructor.systemList[system].sysMaxPopulationModifier + MasterScript.systemListConstructor.systemList[system].planetsInSystem[planet].maxPopulationModifier;
        float amberPenalty = MasterScript.systemListConstructor.systemList[system].sysAmberPenalty + MasterScript.systemListConstructor.systemList[system].planetsInSystem[planet].amberPenalty;
        float amberProd    = (MasterScript.systemListConstructor.systemList[system].sysAmberModifier + MasterScript.systemListConstructor.systemList[system].planetsInSystem[planet].amberModifier) - 1;

        if (knoTemp != 0f)
        {
            if (temp != "")
            {
                temp = temp + "\n+";
            }

            temp = temp + Math.Round(knoTemp * 100, 1) + "% Knowledge from Improvements";
        }
        if (powTemp != 0f)
        {
            if (temp != "")
            {
                temp = temp + "\n+";
            }

            temp = temp + Math.Round(powTemp * 100, 1) + "% Power from Improvements";
        }
        if (growTemp != 0f)
        {
            if (temp != "")
            {
                temp = temp + "\n+";
            }

            temp = temp + Math.Round(growTemp, 2) + "% Growth from Improvements";
        }
        if (popTemp != 0f)
        {
            if (temp != "")
            {
                temp = temp + "\n+";
            }

            temp = temp + Math.Round(popTemp, 1) + "% Population from Improvements";
        }

        int standardSize = MasterScript.systemListConstructor.systemList[selectedSystem].planetsInSystem[selectedPlanet].baseImprovementSlots;

        if (MasterScript.systemListConstructor.systemList[selectedSystem].planetsInSystem[selectedPlanet].currentImprovementSlots > standardSize)
        {
            if (temp != "")
            {
                temp = temp + "\n+";
            }

            temp = temp + (MasterScript.systemListConstructor.systemList[selectedSystem].planetsInSystem[selectedPlanet].currentImprovementSlots - standardSize).ToString() + " Improvement Slots on Planet";
        }
        if (amberPenalty != 1f)
        {
            if (temp != "")
            {
                temp = temp + "\n+";
            }

            temp = temp + Math.Round((1 - amberPenalty) * 100, 1) + "% Amber Penalty on System";
        }
        if (amberProd != 0)
        {
            if (temp != "")
            {
                temp = temp + "\n+";
            }

            temp = temp + Math.Round(amberProd * 100, 1) + "% Amber Production on System";
        }
        if (improvementsBasic.improvementCostModifier != 0f)
        {
            if (temp != "")
            {
                temp = temp + "\n";
            }

            temp = temp + improvementsBasic.improvementCostModifier + " less Power required for Improvements";
        }
        if (improvementsBasic.researchCost != 0f)
        {
            if (temp != "")
            {
                temp = temp + "\n";
            }

            temp = temp + improvementsBasic.researchCost + " less Knowledge required for Research";
        }

        /*
         * amberPointBonus;
         * public float tempWealth, tempKnwlUnitBonus, tempPowUnitBonus, tempResearchCostReduction, tempImprovementCostReduction,
         * tempBonusAmbition;
         *
         * for(int i = 0; i < improvementsBasic.listOfImprovements.Count; ++i)
         * {
         *      if(improvementsBasic.listOfImprovements[i].hasBeenBuilt == true)
         *      {
         *              if(temp == "")
         *              {
         *                      temp = improvementsBasic.listOfImprovements[i].improvementMessage.ToUpper();
         *              }
         *
         *              else
         *              {
         *                      temp = temp + "\n" + improvementsBasic.listOfImprovements[i].improvementMessage.ToUpper();
         *              }
         *      }
         * }
         */

        if (temp == "")
        {
            temp = "NO EFFECTS ON SYSTEM";
        }

        systemEffects.text = temp;
        systemEffects.transform.parent.GetComponent <UISprite> ().height = systemEffects.height + 20;
    }
Exemplo n.º 11
0
    public void TechSwitch(int tech, int planet, ImprovementsBasic tempImprov, TurnInfo thisPlayer, bool check)
    {
        systemSIMData = MasterScript.systemListConstructor.systemList [tempImprov.system].systemObject.GetComponent <SystemSIMData> ();

        improvements = tempImprov;
        checkValue   = check;
        player       = thisPlayer;

        switch (tech)
        {
        case 12:         //Earth's Bounty
            TH1I1(planet);
            break;

        case 13:         //Expertise
            TH1I2();
            break;

        case 14:         //Summer's Song
            TH1I3(planet);
            break;

        case 15:         //Nurture
            TH1I4();
            break;

        case 16:         //Horizon
            TH1I5();
            break;

        case 17:         //Skyward
            TH2I1(planet);
            break;

        case 18:         //Deep Source
            TH2I2(planet);
            break;

        case 19:         //Winter's Dirge
            TH2I3(planet);
            break;

        case 20:         //Overflow
            TH2I4();
            break;

        case 21:         //Rainfall
            TH2I5();
            break;

        case 22:         //Creation
            TH3I1();
            break;

        case 23:         //Autumn's Air
            TH3I2(planet);
            break;

        case 24:         //Orbital
            TH3I3(planet);
            break;

        case 25:         //Waters of Life
            TH3I4();
            break;

        case 26:         //Enclave
            TH3I5();
            break;

        case 27:         //Insight
            TH4I1();
            break;

        case 28:         //Spring's Serenade
            TH4I2(planet);
            break;

        case 29:         //Ascension
            TH4I3();
            break;

        case 30:         //Opulence
            TH4I4();
            break;

        case 31:         //Expulsion
            TH4I5();
            break;

        default:
            break;
        }
    }
Exemplo n.º 12
0
    public void TechSwitch(int tech, int planet, ImprovementsBasic tempImprov, TurnInfo thisPlayer, bool check)
    {
        systemSIMData = MasterScript.systemListConstructor.systemList[improvements.system].systemObject.GetComponent <SystemSIMData>();

        improvements = tempImprov;
        checkValue   = check;
        player       = thisPlayer;

        switch (tech)         //The order of these is important
        {
        case 60:
            TS1I1();
            break;

        case 61:
            TS1I2();
            break;

        case 62:
            TS1I3();
            break;

        case 63:
            TS1I4();
            break;

        case 64:
            TS1I5();
            break;

        case 65:
            TS2I1();
            break;

        case 66:
            TS2I2();
            break;

        case 67:
            TS2I3();
            break;

        case 68:
            TS2I4();
            break;

        case 69:
            TS2I5();
            break;

        case 70:
            TS3I1();
            break;

        case 71:
            TS3I2(planet);
            break;

        case 72:
            TS3I3();
            break;

        case 73:
            TS3I4();
            break;

        case 74:
            TS3I5();
            break;

        case 75:
            TS4I1();
            break;

        case 76:
            TS4I2();
            break;

        case 77:
            TS4I3();
            break;

        case 78:
            TS4I4(planet);
            break;

        case 79:
            TS4I5();
            break;

        default:
            break;
        }
    }
Exemplo n.º 13
0
    public void TechSwitch(int tech, int planet, ImprovementsBasic tempImprov, TurnInfo thisPlayer, bool check)
    {
        improvements = tempImprov;

        systemSIMData = MasterScript.systemListConstructor.systemList [improvements.system].systemObject.GetComponent <SystemSIMData> ();

        checkValue = check;
        player     = thisPlayer;

        switch (tech)
        {
        case 40:         //Recycle
            TN1I1();
            break;

        case 41:         //Volatility
            TN1I2();
            break;

        case 42:         //Rebirth
            TN1I3();
            break;

        case 43:         //Cognisance
            TN1I4();
            break;

        case 44:         //Integration
            TN1I5(planet);
            break;

        case 45:         //Value of Vision
            TN2I1(planet);
            break;

        case 46:         //Cooperation
            TN2I2();
            break;

        case 47:         //Mastery
            TN2I3();
            break;

        case 48:         //Subterra
            TN2I4(planet);
            break;

        case 49:         //Subversion
            TN2I5();
            break;

        case 50:         //Fractal Growth
            TN3I1();
            break;

        case 51:         //Savants
            TN3I2(planet);
            break;

        case 52:         //Theory Complete
            TN3I3(planet);
            break;

        case 53:         //Enrichement
            TN3I4(planet);
            break;

        case 54:         //Hidden Legion
            TN3I5();
            break;

        case 55:         //Enraptue
            TN4I1();
            break;

        case 56:         //Proliferate
            TN4I2();
            break;

        case 57:         //Bathus
            TN4I3(planet);
            break;

        case 58:         //Obfuscate
            TN4I4();
            break;

        case 59:         //Pacifism
            TN4I5();
            break;

        default:
            break;
        }
    }