示例#1
0
        private void OnFlip(FlippableCover obj)
        {
            bool ignoreFlocking         = this.GetIgnoreFlocking(obj);
            TableTechChaosEffect effect = TableTechChaosEffect.PickRandomEffect(ignoreFlocking);

            if (effect.IsForFlipCompletion)
            {
                TableTechChaosFlipCompletionIdentifier completionIdentifier = obj.gameObject.AddComponent <TableTechChaosFlipCompletionIdentifier>();
                completionIdentifier.effect = effect;
            }
            else
            {
                this.HandleBlankEffect(effect.identifier, obj);
                this.HandleStunEffect(effect.identifier);
                this.HandleRageEffect(effect.identifier);
                this.HandleVolleyEffect(effect.identifier);
                base.StartCoroutine(this.HandleDelayedEffect(0.25f, this.HandleTableVolley, effect.identifier, obj));
                this.HandleTemporalEffects(effect.identifier);
                this.HandleHeatEffects(effect.identifier, obj);
                this.HandleStealthEffect(effect.identifier, obj);
                base.StartCoroutine(this.HandleDelayedEffect(0.25f, this.HandleBlackHoleEffect, effect.identifier, obj));
                if (effect.identifier == TableTechChaosEffectIdentifier.TIME_SLOW && this.m_owner && this.m_owner.PlayerHasActiveSynergy("#HIDDEN_TECH_SUPER_CHAOS"))
                {
                    this.RadialSlow.DoRadialSlow(base.Owner.CenterPosition, base.Owner.CurrentRoom);
                }
            }
        }
示例#2
0
        private void OnFlipCompleted(FlippableCover obj)
        {
            TableTechChaosFlipCompletionIdentifier completionIdentifier = obj.GetComponent <TableTechChaosFlipCompletionIdentifier>();

            if (completionIdentifier != null)
            {
                TableTechChaosEffect effect = completionIdentifier.effect;
                this.HandleMoneyEffect(effect.identifier, obj);
                this.HandleProjectileEffect(effect.identifier, obj);
                this.HandleTableFlocking(effect.identifier, obj);
                this.HandleMirrorEffect(effect.identifier, obj);
                Destroy(completionIdentifier);
            }
        }
示例#3
0
            public static TableTechChaosEffect PickRandomEffect(bool ignoreFlocking = false)
            {
                TableTechChaosEffectIdentifier identifier;

                if (ignoreFlocking)
                {
                    int num = UnityEngine.Random.Range(1, 14);
                    switch (num)
                    {
                    case 1:
                        identifier = TableTechChaosEffectIdentifier.BLANK;
                        break;

                    case 2:
                        identifier = TableTechChaosEffectIdentifier.STUN;
                        break;

                    case 3:
                        identifier = TableTechChaosEffectIdentifier.RAGE;
                        break;

                    case 4:
                        identifier = TableTechChaosEffectIdentifier.VOLLEY;
                        break;

                    case 5:
                        identifier = TableTechChaosEffectIdentifier.TABLE_VOLLEY;
                        break;

                    case 6:
                        identifier = TableTechChaosEffectIdentifier.TIME_SLOW;
                        break;

                    case 7:
                        identifier = TableTechChaosEffectIdentifier.HEAT;
                        break;

                    case 8:
                        identifier = TableTechChaosEffectIdentifier.MONEY;
                        break;

                    case 9:
                        identifier = TableTechChaosEffectIdentifier.PROJECTILE;
                        break;

                    case 10:
                        identifier = TableTechChaosEffectIdentifier.INVULNERABILITY;
                        break;

                    case 11:
                        identifier = TableTechChaosEffectIdentifier.BLACK_HOLE;
                        break;

                    case 12:
                        identifier = TableTechChaosEffectIdentifier.MIRROR;
                        break;

                    case 13:
                        identifier = TableTechChaosEffectIdentifier.STEALTH;
                        break;

                    default:
                        identifier = TableTechChaosEffectIdentifier.BLANK;
                        break;
                    }
                }
                else
                {
                    int num = UnityEngine.Random.Range(1, 15);
                    switch (num)
                    {
                    case 1:
                        identifier = TableTechChaosEffectIdentifier.BLANK;
                        break;

                    case 2:
                        identifier = TableTechChaosEffectIdentifier.STUN;
                        break;

                    case 3:
                        identifier = TableTechChaosEffectIdentifier.RAGE;
                        break;

                    case 4:
                        identifier = TableTechChaosEffectIdentifier.VOLLEY;
                        break;

                    case 5:
                        identifier = TableTechChaosEffectIdentifier.TABLE_VOLLEY;
                        break;

                    case 6:
                        identifier = TableTechChaosEffectIdentifier.TIME_SLOW;
                        break;

                    case 7:
                        identifier = TableTechChaosEffectIdentifier.HEAT;
                        break;

                    case 8:
                        identifier = TableTechChaosEffectIdentifier.MONEY;
                        break;

                    case 9:
                        identifier = TableTechChaosEffectIdentifier.PROJECTILE;
                        break;

                    case 10:
                        identifier = TableTechChaosEffectIdentifier.FLOCKING;
                        break;

                    case 11:
                        identifier = TableTechChaosEffectIdentifier.INVULNERABILITY;
                        break;

                    case 12:
                        identifier = TableTechChaosEffectIdentifier.BLACK_HOLE;
                        break;

                    case 13:
                        identifier = TableTechChaosEffectIdentifier.MIRROR;
                        break;

                    case 14:
                        identifier = TableTechChaosEffectIdentifier.STEALTH;
                        break;

                    default:
                        identifier = TableTechChaosEffectIdentifier.BLANK;
                        break;
                    }
                }
                TableTechChaosEffect effect = new TableTechChaosEffect(identifier);

                return(effect);
            }