Example #1
0
        private void ReSelectGuonState()
        {
            overrideOrbitalDistance      = 2.5f;
            overrideOrbitalSpeed         = 120f;
            overridePerfectOrbitalFactor = 0f;
            RemoveStat(PlayerStats.StatType.AdditionalBlanksPerFloor);
            RemoveStat(PlayerStats.StatType.DodgeRollSpeedMultiplier);
            Owner.healthHaver.damageTypeModifiers.Remove(m_poisonImmunity);
            Owner.healthHaver.damageTypeModifiers.Remove(m_fireImmunity);
            Owner.healthHaver.damageTypeModifiers.Remove(m_electricityImmunity);
            RandomlySelectedGuonState = RandomEnum <GuonState> .Get();

            Owner.stats.RecalculateStats(Owner, true, false);

            if (GuonTransitionVFX.ContainsKey(RandomlySelectedGuonState))
            {
                UnityEngine.Object.Instantiate <GameObject>(GuonTransitionVFX[RandomlySelectedGuonState], m_extantOrbital.GetComponent <tk2dBaseSprite>().WorldCenter, Quaternion.identity);
            }

            if (Owner.PlayerHasActiveSynergy("Rainbower Guon Stone"))
            {
                overridePerfectOrbitalFactor = 10f;
            }

            if (RandomlySelectedGuonState == GuonState.RED)
            {
                AddStat(PlayerStats.StatType.DodgeRollSpeedMultiplier, 1.3f, StatModifier.ModifyMethod.MULTIPLICATIVE);
            }
            else if (RandomlySelectedGuonState == GuonState.WHITE)
            {
                AddStat(PlayerStats.StatType.AdditionalBlanksPerFloor, 1f, StatModifier.ModifyMethod.ADDITIVE);
            }
            else if (RandomlySelectedGuonState == GuonState.CLEAR)
            {
                Owner.healthHaver.damageTypeModifiers.Add(m_poisonImmunity);
                if (Owner.PlayerHasActiveSynergy("Rainbower Guon Stone"))
                {
                    Owner.healthHaver.damageTypeModifiers.Add(m_fireImmunity);
                    Owner.healthHaver.damageTypeModifiers.Add(m_electricityImmunity);
                }
            }
            else if (RandomlySelectedGuonState == GuonState.BLUE)
            {
                if (Owner.PlayerHasActiveSynergy("Rainbower Guon Stone"))
                {
                    overrideOrbitalDistance = 4f;
                    overrideOrbitalSpeed    = 360f;
                }
                else
                {
                    overrideOrbitalSpeed = 240f;
                }
            }
            else if (RandomlySelectedGuonState == GuonState.BROWN)
            {
                if (Owner.PlayerHasActiveSynergy("Rainbower Guon Stone"))
                {
                    overrideOrbitalDistance = 1.75f;
                }
                else
                {
                    overrideOrbitalDistance = 3f;
                }
                overrideOrbitalSpeed = CalculateSpeedForBrownOrbital();
            }
            else if (RandomlySelectedGuonState == GuonState.INDIGO)
            {
                overridePerfectOrbitalFactor = 10f;
                overrideOrbitalDistance      = 1f;
                overrideOrbitalSpeed         = 100f;
            }
            Owner.stats.RecalculateStats(Owner, true, false);
            //AssignOrbitalCollisionEffects();
            //DebugPrintType();
        }
Example #2
0
 private ConsumableType RandomConsumable()
 {
     return(RandomEnum <ConsumableType> .Get());
 }