Example #1
0
        public float GetTrueLearningSpeed(Stat.StatName pStat)
        {
            Stat  stat = GetStat(pStat);
            float val  = stat.LearningSpeed;

            foreach (Trait trait in Data.Traits)
            {
                foreach (StatInfluence influence in trait.StatInfluences)
                {
                    if (influence.InfluenceType == Trait.StatInfluenceType.LearningSpeed)
                    {
                        if (influence.PercentageChange > 0)
                        {
                            float percentage = stat.LearningSpeed * influence.PercentageChange;
                            val = Mathf.Clamp(val + percentage, 0, 1000);
                        }
                        if (influence.ValueChange > 0)
                        {
                            val = Mathf.Clamp(val + influence.ValueChange, 0, 1000);
                        }
                    }
                }
            }
            return(val);
        }
Example #2
0
        public float GetStatValue(Stat.StatName pStat)
        {
            Stat  stat = GetStat(pStat);
            float val  = stat.Value;

            return(val);
        }
Example #3
0
        void ChangeStat(Stat.StatName pStat, float pAmount)
        {
            switch (pStat)
            {
            case Stat.StatName.Agility:
                Data.Agility.Value = Mathf.Clamp(Data.Agility.Value + pAmount, 0, GetTruePotential(Stat.StatName.Agility));
                break;

            case Stat.StatName.Charm:
                Data.Charm.Value = Mathf.Clamp(Data.Charm.Value + pAmount, 0, GetTruePotential(Stat.StatName.Charm));
                break;

            case Stat.StatName.Intellect:
                Data.Intellect.Value = Mathf.Clamp(Data.Intellect.Value + pAmount, 0, GetTruePotential(Stat.StatName.Intellect));
                break;

            case Stat.StatName.Strength:
                Data.Strength.Value = Mathf.Clamp(Data.Strength.Value + pAmount, 0, GetTruePotential(Stat.StatName.Strength));
                break;

            default:
                break;
            }
            GetComponent <BlossomDataSaver>().OnRecordPersistentData();
        }
Example #4
0
        public float getMaxStat(Stat.StatName pStat, CompetitioniTier pTier)
        {
            float max = 0;

            switch (pStat)
            {
            case Stat.StatName.Null:
                break;

            case Stat.StatName.Strength:
                max += pTier.MaxStrength;
                break;

            case Stat.StatName.Agility:
                max += pTier.MaxAgility;
                break;

            case Stat.StatName.Intellect:
                max += pTier.MaxIntellect;
                break;

            case Stat.StatName.Charm:
                max += pTier.MaxCharm;
                break;

            default:
                break;
            }
            return(max);
        }
Example #5
0
        public float getMinStat(Stat.StatName pStat, CompetitioniTier pTier)
        {
            float min = 0;

            switch (pStat)
            {
            case Stat.StatName.Null:
                break;

            case Stat.StatName.Strength:
                min += pTier.MinStrength;
                break;

            case Stat.StatName.Agility:
                min += pTier.MinAgility;
                break;

            case Stat.StatName.Intellect:
                min += pTier.MinIntellect;
                break;

            case Stat.StatName.Charm:
                min += pTier.MinCharm;
                break;

            default:
                break;
            }
            return(min);
        }
Example #6
0
 Stat GetStat(Stat.StatName pStat)
 {
     if (pStat == Stat.StatName.Agility)
     {
         return(Data.Agility);
     }
     else if (pStat == Stat.StatName.Intellect)
     {
         return(Data.Intellect);
     }
     else if (pStat == Stat.StatName.Strength)
     {
         return(Data.Strength);
     }
     else if (pStat == Stat.StatName.Charm)
     {
         return(Data.Charm);
     }
     return(Data.Agility);
 }
        public void Open(Stat.StatName pStat, TrainingProp pProp)
        {
            TitleText.text = pStat.ToString() + " Training: Select a Blossom";
            BlossomDataSaver[] spawnedBlossoms = FindObjectsOfType <BlossomDataSaver>();
            foreach (BlossomDataSaver spawnedBlossom in spawnedBlossoms)
            {
                spawnedBlossom.OnRecordPersistentData();
            }

            BlossomSelectionUI[] children = BlossomContainer.GetComponentsInChildren <BlossomSelectionUI>();
            foreach (BlossomSelectionUI child in children)
            {
                Destroy(child.gameObject);
            }

            ChosenProp = pProp;


            foreach (string blossom in BlossomManager.Instance.OwnedBlossoms)
            {
                BlossomController selectedBlossom = BlossomManager.Instance.GetSpawnedBlossom(blossom).GetComponent <BlossomController>();

                float agility          = DialogueLua.GetVariable(blossom + "AgilityValue").asFloat;
                float agilityPotential = selectedBlossom.GetTruePotential(Stat.StatName.Agility);


                float strength          = DialogueLua.GetVariable(blossom + "StrengthValue").asFloat;
                float strengthPotential = selectedBlossom.GetTruePotential(Stat.StatName.Strength);

                float intellect          = DialogueLua.GetVariable(blossom + "IntellectValue").asFloat;
                float intellectPotential = selectedBlossom.GetTruePotential(Stat.StatName.Intellect);

                float charm          = DialogueLua.GetVariable(blossom + "CharmValue").asFloat;
                float charmPotential = selectedBlossom.GetTruePotential(Stat.StatName.Charm);


                bool pregnant = DialogueLua.GetVariable(blossom + "Pregnant").asBool;
                bool hungry   = DialogueLua.GetVariable(blossom + "Hungry").asBool;

                float energy   = DialogueLua.GetVariable(blossom + "Energy").asFloat;
                bool  fatigued = energy <= 0 ? true : false;

                string name = DialogueLua.GetVariable(blossom + "Name").asString;

                BlossomData.BlossomGrowth growth = (BlossomData.BlossomGrowth)System.Enum.Parse(typeof(BlossomData.BlossomGrowth), DialogueLua.GetVariable(blossom + "Growth").asString);
                string color = DialogueLua.GetVariable(blossom + "Color").asString;
                Sprite portrait;
                if (growth == BlossomData.BlossomGrowth.Adult)
                {
                    portrait = Resources.Load <BlossomColor>("BlossomColors/" + color).AdultPortrait;
                    print("BlossomColors/" + color);
                }
                else
                {
                    portrait = Resources.Load <BlossomColor>("BlossomColors/" + color).BabyPortrait;
                }

                BlossomSelectionUI ui = Instantiate(BlossomUIPrefab, BlossomContainer);

                ui.SelectBtn.enabled = true;

                ui.BlossomNameText.text   = name;
                ui.BlossomPortrait.sprite = portrait;


                switch (pStat)
                {
                case Stat.StatName.Null:
                    Debug.LogError("No Stat Specified for this prop");
                    return;

                case Stat.StatName.Agility:
                    if (agility >= agilityPotential)
                    {
                        ui.SelectBtn.enabled    = false;
                        ui.AgilityAmtText.color = Color.red;
                    }
                    else
                    {
                        ui.AgilityAmtText.color = Color.blue;
                    }
                    break;

                case Stat.StatName.Strength:
                    if (strength >= strengthPotential)
                    {
                        ui.SelectBtn.enabled     = false;
                        ui.StrengthAmtText.color = Color.red;
                    }
                    else
                    {
                        ui.StrengthAmtText.color = Color.blue;
                    }
                    break;

                case Stat.StatName.Charm:
                    if (charm >= charmPotential)
                    {
                        ui.SelectBtn.enabled  = false;
                        ui.CharmAmtText.color = Color.red;
                    }
                    else
                    {
                        ui.CharmAmtText.color = Color.blue;
                    }
                    break;

                case Stat.StatName.Intellect:
                    if (intellect >= intellectPotential)
                    {
                        ui.SelectBtn.enabled  = false;
                        ui.CharmAmtText.color = Color.red;
                    }
                    else
                    {
                        ui.IntellectAmtText.color = Color.blue;
                    }
                    break;
                }

                ui.AgilityAmtText.text   = agility.ToString("F2") + " / " + agilityPotential.ToString("F2");
                ui.StrengthAmtText.text  = strength.ToString("F2") + " / " + strengthPotential.ToString("F2");
                ui.IntellectAmtText.text = intellect.ToString("F2") + " / " + intellectPotential.ToString("F2");
                ui.CharmAmtText.text     = charm.ToString("F2") + " / " + charmPotential.ToString("F2");

                if (pregnant)
                {
                    ui.SelectBtn.enabled = false;

                    ui.PregnantIcon.enabled = true;
                }
                else
                {
                    ui.PregnantIcon.enabled = false;
                }

                if (hungry)
                {
                    ui.SelectBtn.enabled  = false;
                    ui.HungryIcon.enabled = true;
                }
                else
                {
                    ui.HungryIcon.enabled = false;
                }

                if (fatigued)
                {
                    ui.SelectBtn.enabled    = false;
                    ui.FatiguedIcon.enabled = true;
                }
                else
                {
                    ui.FatiguedIcon.enabled = false;
                }

                ui.SelectBtn.onClick.AddListener(
                    delegate()
                {
                    ChosenBlossom = blossom;
                    ShowConfirmationWindow();
                }
                    );
            }

            GetComponent <WindowToggle>().Open();
        }