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(); }
private ConsumableType RandomConsumable() { return(RandomEnum <ConsumableType> .Get()); }