// Token: 0x0600072B RID: 1835 RVA: 0x00022E9C File Offset: 0x0002109C
        public override void OnEnter()
        {
            base.OnEnter();
            this.stopwatch = 0f;
            this.duration  = RechargeRocks.baseDuration / this.attackSpeedStat;
            Transform modelTransform = base.GetModelTransform();

            Util.PlaySound(RechargeRocks.attackSoundString, base.gameObject);
            base.PlayCrossfade("Body", "RechargeRocks", "RechargeRocks.playbackRate", this.duration, 0.2f);
            if (modelTransform)
            {
                ChildLocator component = modelTransform.GetComponent <ChildLocator>();
                if (component)
                {
                    Transform transform = component.FindChild("LeftFist");
                    if (transform && RechargeRocks.effectPrefab)
                    {
                        this.chargeEffect = UnityEngine.Object.Instantiate <GameObject>(RechargeRocks.effectPrefab, transform.position, transform.rotation);
                        this.chargeEffect.transform.parent = transform;
                        ScaleParticleSystemDuration component2 = this.chargeEffect.GetComponent <ScaleParticleSystemDuration>();
                        if (component2)
                        {
                            component2.newDuration = this.duration;
                        }
                    }
                }
            }
            if (NetworkServer.active)
            {
                GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(RechargeRocks.rockControllerPrefab);
                gameObject.GetComponent <TitanRockController>().SetOwner(base.gameObject);
                NetworkServer.Spawn(gameObject);
            }
        }
Ejemplo n.º 2
0
        public override void OnEnter()
        {
            base.OnEnter();
            this.duration = ChargeUltraFireball.baseDuration / this.attackSpeedStat;
            UnityEngine.Object modelAnimator  = base.GetModelAnimator();
            Transform          modelTransform = base.GetModelTransform();

            Util.PlayAttackSpeedSound(EntityStates.LemurianBruiserMonster.ChargeMegaFireball.attackString, base.gameObject, this.attackSpeedStat);

            if (modelTransform)
            {
                ChildLocator component = modelTransform.GetComponent <ChildLocator>();
                if (component)
                {
                    Transform transform = component.FindChild("MuzzleMouth");
                    if (transform && EntityStates.LemurianBruiserMonster.ChargeMegaFireball.chargeEffectPrefab)
                    {
                        this.chargeInstance = UnityEngine.Object.Instantiate <GameObject>(EntityStates.LemurianBruiserMonster.ChargeMegaFireball.chargeEffectPrefab, transform.position, transform.rotation);
                        this.chargeInstance.transform.parent = transform;

                        ScaleParticleSystemDuration component2 = this.chargeInstance.GetComponent <ScaleParticleSystemDuration>();
                        if (component2)
                        {
                            component2.newDuration = this.duration;
                        }
                    }
                }
            }

            if (modelAnimator)
            {
                base.PlayCrossfade("Gesture, Additive", "ChargeMegaFireball", "ChargeMegaFireball.playbackRate", this.duration, 0.1f);
            }
        }
        // Token: 0x0600325D RID: 12893 RVA: 0x000D9E24 File Offset: 0x000D8024
        public override void OnEnter()
        {
            base.OnEnter();
            this.duration = PrepLightsOut.baseDuration / this.attackSpeedStat;
            base.PlayAnimation("Gesture, Additive", "PrepRevolver", "PrepRevolver.playbackRate", this.duration);
            base.PlayAnimation("Gesture, Override", "PrepRevolver", "PrepRevolver.playbackRate", this.duration);
            Util.PlaySound(PrepLightsOut.prepSoundString, base.gameObject);
            this.defaultCrosshairPrefab        = base.characterBody.crosshairPrefab;
            base.characterBody.crosshairPrefab = PrepLightsOut.specialCrosshairPrefab;
            Transform modelTransform = base.GetModelTransform();

            if (modelTransform)
            {
                this.childLocator = modelTransform.GetComponent <ChildLocator>();
                if (this.childLocator)
                {
                    Transform transform = this.childLocator.FindChild("MuzzlePistol");
                    if (transform && PrepLightsOut.chargePrefab)
                    {
                        this.chargeEffect = UnityEngine.Object.Instantiate <GameObject>(PrepLightsOut.chargePrefab, transform.position, transform.rotation);
                        this.chargeEffect.transform.parent = transform;
                        ScaleParticleSystemDuration component = this.chargeEffect.GetComponent <ScaleParticleSystemDuration>();
                        if (component)
                        {
                            component.newDuration = this.duration;
                        }
                    }
                }
            }
            if (base.characterBody)
            {
                base.characterBody.SetAimTimer(this.duration);
            }
        }
        public override void OnEnter()
        {
            chargeEffectPrefab = ChargeMegaFireball.chargeEffectPrefab;
            attackString       = ChargeMegaFireball.attackString;
            base.OnEnter();
            duration = baseDuration / attackSpeedStat;
            Animator  modelAnimator  = GetModelAnimator();
            Transform modelTransform = GetModelTransform();

            Util.PlayAttackSpeedSound(attackString, base.gameObject, attackSpeedStat);
            if ((bool)modelTransform)
            {
                ChildLocator component = modelTransform.GetComponent <ChildLocator>();
                if ((bool)component)
                {
                    Transform transform = component.FindChild("MuzzleMouth");
                    if ((bool)transform && (bool)chargeEffectPrefab)
                    {
                        chargeInstance = Object.Instantiate(chargeEffectPrefab, transform.position, transform.rotation);
                        chargeInstance.transform.parent = transform;
                        ScaleParticleSystemDuration component2 = chargeInstance.GetComponent <ScaleParticleSystemDuration>();
                        if ((bool)component2)
                        {
                            component2.newDuration = duration;
                        }
                    }
                }
            }
            if ((bool)modelAnimator)
            {
                PlayCrossfade("Gesture, Additive", "ChargeMegaFireball", "ChargeMegaFireball.playbackRate", duration, 0.1f);
            }
        }
Ejemplo n.º 5
0
        public override void OnEnter()
        {
            base.OnEnter();
            base.characterBody._defaultCrosshairPrefab = LegacyResourcesAPI.Load <GameObject>("prefabs/crosshair/SMGCrosshair");
            this.minChargeDuration = 0.75f * (ChargeSpear.baseMinChargeDuration / this.attackSpeedStat);
            this.chargeDuration    = 0.75f * (ChargeSpear.baseChargeDuration / this.attackSpeedStat);
            Util.PlaySound(MinigunSpinUp.sound, base.gameObject);
            base.GetModelAnimator().SetBool("WeaponIsReady", true);
            this.muzzleTransform = base.FindModelChild(MinigunState.muzzleName);
            bool flag  = this.muzzleTransform && MinigunSpinUp.chargeEffectPrefab;
            bool flag2 = flag;

            if (flag2)
            {
                this.chargeInstance = UnityEngine.Object.Instantiate <GameObject>(MinigunSpinUp.chargeEffectPrefab, this.muzzleTransform.position, this.muzzleTransform.rotation);
                this.chargeInstance.transform.parent = this.muzzleTransform;
                ScaleParticleSystemDuration component = this.chargeInstance.GetComponent <ScaleParticleSystemDuration>();
                bool flag3 = component;
                bool flag4 = flag3;
                if (flag4)
                {
                    component.newDuration = this.minChargeDuration;
                }
            }
        }
Ejemplo n.º 6
0
        public override void OnEnter()
        {
            chargeEffectPrefab = ChargeEyeblast.chargeEffectPrefab;
            attackString       = ChargeEyeblast.attackString;
            muzzleString       = "Muzzle";
            base.OnEnter();
            duration = baseDuration / attackSpeedStat;
            Transform modelTransform = GetModelTransform();

            Util.PlayAttackSpeedSound(attackString, base.gameObject, attackSpeedStat);
            if ((bool)modelTransform)
            {
                ChildLocator component = modelTransform.GetComponent <ChildLocator>();
                if ((bool)component)
                {
                    Transform transform = component.FindChild(muzzleString);
                    if ((bool)transform && (bool)chargeEffectPrefab)
                    {
                        chargeInstance = Object.Instantiate(chargeEffectPrefab, transform.position, transform.rotation);
                        chargeInstance.transform.parent = transform;
                        ScaleParticleSystemDuration component2 = chargeInstance.GetComponent <ScaleParticleSystemDuration>();
                        if ((bool)component2)
                        {
                            component2.newDuration = duration;
                        }
                    }
                }
            }
        }
Ejemplo n.º 7
0
        // Token: 0x060032B7 RID: 12983 RVA: 0x000DB824 File Offset: 0x000D9A24
        public override void OnEnter()
        {
            base.OnEnter();
            this.totalDuration = ChargeBombardment.baseTotalDuration / this.attackSpeedStat;
            this.maxChargeTime = ChargeBombardment.baseMaxChargeTime / this.attackSpeedStat;
            Transform modelTransform = base.GetModelTransform();

            base.PlayAnimation("Gesture, Additive", "ChargeBombardment");
            Util.PlaySound(ChargeBombardment.chargeLoopStartSoundString, base.gameObject);
            if (modelTransform)
            {
                ChildLocator component = modelTransform.GetComponent <ChildLocator>();
                if (component)
                {
                    Transform transform = component.FindChild("Muzzle");
                    if (transform && ChargeBombardment.chargeEffectPrefab)
                    {
                        this.chargeInstance = UnityEngine.Object.Instantiate <GameObject>(ChargeBombardment.chargeEffectPrefab, transform.position, transform.rotation);
                        this.chargeInstance.transform.parent = transform;
                        ScaleParticleSystemDuration component2 = this.chargeInstance.GetComponent <ScaleParticleSystemDuration>();
                        if (component2)
                        {
                            component2.newDuration = this.totalDuration;
                        }
                    }
                }
            }
            if (base.characterBody)
            {
                base.characterBody.SetAimTimer(this.totalDuration);
            }
        }
Ejemplo n.º 8
0
        public override void OnEnter()
        {
            base.OnEnter();
            this.duration = ChargeBeam.baseDuration / this.attackSpeedStat;
            Animator  modelAnimator  = base.GetModelAnimator();
            Transform modelTransform = base.GetModelTransform();

            if (modelTransform)
            {
                ChildLocator component = modelTransform.GetComponent <ChildLocator>();
                if (component)
                {
                    Transform transform = component.FindChild("Head");
                    if (transform && ChargeMegaFireball.chargeEffectPrefab)
                    {
                        this.chargeInstance = UnityEngine.Object.Instantiate <GameObject>(ChargeMegaFireball.chargeEffectPrefab, transform.position, transform.rotation);
                        this.chargeInstance.transform.parent = transform;
                        ScaleParticleSystemDuration component2 = this.chargeInstance.GetComponent <ScaleParticleSystemDuration>();
                        if (component2)
                        {
                            component2.newDuration = this.duration;
                        }
                    }
                }
            }
            if (modelAnimator)
            {
                base.PlayCrossfade("Gesture, Additive", "ChargeMegaFireball", "ChargeMegaFireball.playbackRate", this.duration, 0.1f);
            }
        }
Ejemplo n.º 9
0
 public void FireAttack()
 {
     if (overlapAttack != null)
     {
         var hitThisFixedUpdate = overlapAttack.Fire();
         totalHitTicks++;
         if (hitThisFixedUpdate)
         {
             if (body.characterMotor)
             {
                 storedHitPauseVelocity      += body.characterMotor.velocity;
                 body.characterMotor.velocity = Vector3.zero;
             }
             if (armAnimator)
             {
                 armAnimator.speed = 0f;
             }
             if (swingEffect)
             {
                 ScaleParticleSystemDuration component = swingEffect.GetComponent <ScaleParticleSystemDuration>();
                 if (component)
                 {
                     component.newDuration = 20f;
                 }
             }
             hitPauseTime = hitPauseDuration / attackSpeedStat;
         }
     }
 }
Ejemplo n.º 10
0
        // Token: 0x06002CA3 RID: 11427 RVA: 0x000BC598 File Offset: 0x000BA798
        public override void OnEnter()
        {
            base.OnEnter();
            this.duration = ChargeEyeblast.baseDuration / this.attackSpeedStat;
            UnityEngine.Object modelAnimator  = base.GetModelAnimator();
            Transform          modelTransform = base.GetModelTransform();

            Util.PlayScaledSound(ChargeEyeblast.attackString, base.gameObject, this.attackSpeedStat);
            if (modelTransform)
            {
                ChildLocator component = modelTransform.GetComponent <ChildLocator>();
                if (component)
                {
                    Transform transform = component.FindChild(ChargeEyeblast.muzzleString);
                    if (transform && ChargeEyeblast.chargeEffectPrefab)
                    {
                        this.chargeInstance = UnityEngine.Object.Instantiate <GameObject>(ChargeEyeblast.chargeEffectPrefab, transform.position, transform.rotation);
                        this.chargeInstance.transform.parent = transform;
                        ScaleParticleSystemDuration component2 = this.chargeInstance.GetComponent <ScaleParticleSystemDuration>();
                        if (component2)
                        {
                            component2.newDuration = this.duration;
                        }
                    }
                }
            }
            if (modelAnimator)
            {
                base.PlayCrossfade("Gesture, Additive", "ChargeEyeBlast", "ChargeEyeBlast.playbackRate", this.duration, 0.1f);
            }
        }
Ejemplo n.º 11
0
        // Token: 0x0600330D RID: 13069 RVA: 0x000DD464 File Offset: 0x000DB664
        public override void OnEnter()
        {
            base.OnEnter();
            this.duration = ChargeSpit.baseDuration / this.attackSpeedStat;
            Transform modelTransform = base.GetModelTransform();

            base.PlayCrossfade("Gesture", "ChargeSpit", "ChargeSpit.playbackRate", this.duration, 0.2f);
            Util.PlaySound(ChargeSpit.attackSoundString, base.gameObject);
            if (modelTransform)
            {
                ChildLocator component = modelTransform.GetComponent <ChildLocator>();
                if (component && ChargeSpit.effectPrefab)
                {
                    Transform transform = component.FindChild("Mouth");
                    if (transform)
                    {
                        this.chargeEffect = UnityEngine.Object.Instantiate <GameObject>(ChargeSpit.effectPrefab, transform.position, transform.rotation);
                        this.chargeEffect.transform.parent = transform;
                        ScaleParticleSystemDuration component2 = this.chargeEffect.GetComponent <ScaleParticleSystemDuration>();
                        if (component2)
                        {
                            component2.newDuration = this.duration;
                        }
                    }
                }
            }
        }
Ejemplo n.º 12
0
        public override void OnEnter()
        {
            base.OnEnter();
            this.duration     = this.baseDuration / this.attackSpeedStat;
            this.animator     = base.GetModelAnimator();
            this.childLocator = base.GetModelChildLocator();

            if (this.childLocator)
            {
                Transform transform = this.childLocator.FindChild("HandL");

                if (transform && this.chargeEffectPrefab)
                {
                    this.chargeEffectInstance = UnityEngine.Object.Instantiate <GameObject>(this.chargeEffectPrefab, transform.position, transform.rotation);
                    this.chargeEffectInstance.transform.parent = transform;

                    ScaleParticleSystemDuration scaleParticleSystemDuration = this.chargeEffectInstance.GetComponent <ScaleParticleSystemDuration>();
                    ObjectScaleCurve            scaleCurve = this.chargeEffectInstance.GetComponent <ObjectScaleCurve>();

                    if (scaleParticleSystemDuration)
                    {
                        scaleParticleSystemDuration.newDuration = this.duration;
                    }
                    if (scaleCurve)
                    {
                        scaleCurve.timeMax = this.duration;
                    }
                }
            }

            base.PlayAnimation("Gesture, Override", "ChannelSpell", "Spell.playbackRate", 0.85f);
            this.loopSoundInstanceId    = Util.PlayScaledSound(this.chargeSoundString, base.gameObject, this.attackSpeedStat);
            this.defaultCrosshairPrefab = base.characterBody.crosshairPrefab;

            if (base.cameraTargetParams)
            {
                base.cameraTargetParams.aimMode = CameraTargetParams.AimType.AimThrow;
            }

            if (this.crosshairOverridePrefab)
            {
                base.characterBody.crosshairPrefab = this.crosshairOverridePrefab;
            }

            if (NetworkServer.active)
            {
                base.characterBody.AddBuff(BuffIndex.Slow50);
            }

            if (EntityStates.Huntress.ArrowRain.areaIndicatorPrefab)
            {
                this.areaIndicatorInstance = UnityEngine.Object.Instantiate <GameObject>(EntityStates.Huntress.ArrowRain.areaIndicatorPrefab);
                this.areaIndicatorInstance.transform.localScale = Vector3.zero;
            }
        }
Ejemplo n.º 13
0
        // Token: 0x0600301D RID: 12317 RVA: 0x000CE590 File Offset: 0x000CC790
        public override void OnEnter()
        {
            base.OnEnter();
            this.duration = ChargeMegaLaser.baseDuration / this.attackSpeedStat;
            Transform modelTransform = base.GetModelTransform();

            Util.PlayScaledSound(ChargeMegaLaser.chargeAttackSoundString, base.gameObject, 2.1f / this.duration);
            Ray aimRay = base.GetAimRay();

            this.enemyFinder = new BullseyeSearch();
            this.enemyFinder.maxDistanceFilter = 2000f;
            this.enemyFinder.maxAngleFilter    = ChargeMegaLaser.lockOnAngle;
            this.enemyFinder.searchOrigin      = aimRay.origin;
            this.enemyFinder.searchDirection   = aimRay.direction;
            this.enemyFinder.filterByLoS       = false;
            this.enemyFinder.sortMode          = BullseyeSearch.SortMode.Angle;
            this.enemyFinder.teamMaskFilter    = TeamMask.allButNeutral;
            if (base.teamComponent)
            {
                this.enemyFinder.teamMaskFilter.RemoveTeam(base.teamComponent.teamIndex);
            }
            if (modelTransform)
            {
                ChildLocator component = modelTransform.GetComponent <ChildLocator>();
                if (component)
                {
                    Transform transform = component.FindChild("MuzzleLaser");
                    if (transform)
                    {
                        if (this.effectPrefab)
                        {
                            this.chargeEffect = UnityEngine.Object.Instantiate <GameObject>(this.effectPrefab, transform.position, transform.rotation);
                            this.chargeEffect.transform.parent = transform;
                            ScaleParticleSystemDuration component2 = this.chargeEffect.GetComponent <ScaleParticleSystemDuration>();
                            if (component2)
                            {
                                component2.newDuration = this.duration;
                            }
                        }
                        if (this.laserPrefab)
                        {
                            this.laserEffect = UnityEngine.Object.Instantiate <GameObject>(this.laserPrefab, transform.position, transform.rotation);
                            this.laserEffect.transform.parent = transform;
                            this.laserLineComponent           = this.laserEffect.GetComponent <LineRenderer>();
                        }
                    }
                }
            }
            if (base.characterBody)
            {
                base.characterBody.SetAimTimer(this.duration);
            }
            this.flashTimer = 0f;
            this.laserOn    = true;
        }
Ejemplo n.º 14
0
        // Token: 0x06000413 RID: 1043 RVA: 0x00010E74 File Offset: 0x0000F074
        public override void FixedUpdate()
        {
            base.FixedUpdate();
            float num = 0f;

            if (base.fixedAge >= num && !this.hasFired)
            {
                this.hasFired = true;
                Ray        aimRay = base.GetAimRay();
                RaycastHit raycastHit;
                if (Physics.Raycast(aimRay, out raycastHit, (float)LayerIndex.world.mask))
                {
                    this.endLine = raycastHit.point;
                }
                Vector3 normalized = (this.endLine - this.startLine).normalized;
                normalized.y = 0f;
                normalized.Normalize();
                for (int i = 0; i < 1; i++)
                {
                    Vector3 vector = this.endLine;
                    Ray     ray    = default(Ray);
                    ray.origin    = aimRay.origin;
                    ray.direction = vector - aimRay.origin;
                    Debug.DrawLine(ray.origin, vector, Color.red, 5f);
                    if (Physics.Raycast(ray, out raycastHit, 500f, LayerIndex.world.mask))
                    {
                        Vector3    point      = raycastHit.point;
                        Quaternion rotation   = Util.QuaternionSafeLookRotation(raycastHit.normal);
                        GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(ChargeBomb.delayPrefab, point, rotation);
                        DelayBlast component  = gameObject.GetComponent <DelayBlast>();
                        component.position   = point;
                        component.baseDamage = base.characterBody.damage * ChargeBomb.damageCoefficient;
                        component.baseForce  = 2000f;
                        component.bonusForce = Vector3.up * 1000f;
                        component.radius     = ChargeBomb.radius;
                        component.attacker   = base.gameObject;
                        component.inflictor  = null;
                        component.crit       = Util.CheckRoll(this.critStat, base.characterBody.master);
                        component.maxTimer   = this.duration;
                        gameObject.GetComponent <TeamFilter>().teamIndex = TeamComponent.GetObjectTeam(component.attacker);
                        gameObject.transform.localScale = new Vector3(ChargeBomb.radius, ChargeBomb.radius, 1f);
                        ScaleParticleSystemDuration component2 = gameObject.GetComponent <ScaleParticleSystemDuration>();
                        if (component2)
                        {
                            component2.newDuration = this.duration;
                        }
                    }
                }
            }
            if (base.fixedAge >= this.duration && base.isAuthority)
            {
                this.outer.SetNextState(new FireBomb());
                return;
            }
        }
Ejemplo n.º 15
0
                public void CreateSwingEffect()
                {
                    swingEffect = Object.Instantiate <GameObject>(swingEffectPrefab, transform);
                    ScaleParticleSystemDuration component = swingEffect.GetComponent <ScaleParticleSystemDuration>();

                    if (component)
                    {
                        component.newDuration = component.initialDuration / particleSystemSimulationSpeed;
                    }
                    Util.PlayAttackSpeedSound("MysticsItems_Play_mechanicalArm_swing", gameObject, attackSpeedStat);
                }
Ejemplo n.º 16
0
        public override void OnEnter()
        {
            effectPrefab      = ChargeLaser.effectPrefab;
            laserPrefab       = ChargeLaser.laserPrefab;
            attackSoundString = ChargeLaser.attackSoundString;
            base.OnEnter();
            duration = baseDuration / attackSpeedStat;
            Transform modelTransform = GetModelTransform();

            chargePlayID = Util.PlayAttackSpeedSound(attackSoundString, base.gameObject, attackSpeedStat);
            if ((bool)modelTransform)
            {
                ChildLocator component = modelTransform.GetComponent <ChildLocator>();
                if ((bool)component)
                {
                    Transform transform = component.FindChild("Muzzle");
                    if ((bool)transform)
                    {
                        if ((bool)effectPrefab)
                        {
                            chargeEffectInstance = UnityEngine.Object.Instantiate(effectPrefab, transform.position, transform.rotation);
                            chargeEffectInstance.transform.parent = transform;
                            ScaleParticleSystemDuration component2 = chargeEffectInstance.GetComponent <ScaleParticleSystemDuration>();
                            if ((bool)component2)
                            {
                                component2.newDuration = duration;
                            }
                        }
                        if ((bool)laserPrefab)
                        {
                            laserEffectInstance = UnityEngine.Object.Instantiate(laserPrefab, transform.position, transform.rotation);
                            laserEffectInstance.transform.parent = transform;
                            laserLineComponent = laserEffectInstance.GetComponent <LineRenderer>();
                        }
                    }
                }
                PlayAnimation("Body", "ChargeAttack1", "ChargeAttack1.playbackRate", duration);
                if ((bool)base.characterBody)
                {
                    base.characterBody.SetAimTimer(duration);
                }
            }
            if ((bool)base.characterBody)
            {
                base.characterBody.SetAimTimer(duration);
            }
            flashTimer = 0f;
            laserOn    = true;
        }
        public override void OnEnter()
        {
            if (goodState == null)
            {
                goodState = new ChargeCannons();
            }
            attackString       = goodState.attackString;
            chargeEffectPrefab = ChargeEmbers.chargeEffectPrefab;
            laserEffectPrefab  = ChargeEmbers.laserEffectPrefab;

            base.OnEnter();
            Util.PlayAttackSpeedSound(attackString, gameObject, attackSpeedStat * (2f / baseDuration));
            duration = baseDuration / attackSpeedStat;
            Transform modelTransform = GetModelTransform();

            if (modelTransform)
            {
                ChildLocator childLocator = modelTransform.GetComponent <ChildLocator>();
                if (childLocator)
                {
                    Transform muzzleTransform = childLocator.FindChild("Muzzle");
                    if (muzzleTransform)
                    {
                        if ((bool)chargeEffectPrefab)
                        {
                            chargeEffectInstance = UnityEngine.Object.Instantiate(chargeEffectPrefab, transform.position, transform.rotation);
                            chargeEffectInstance.transform.parent = transform;
                            ScaleParticleSystemDuration component2 = chargeEffectInstance.GetComponent <ScaleParticleSystemDuration>();
                            if ((bool)component2)
                            {
                                component2.newDuration = duration;
                            }
                        }
                        if ((bool)laserEffectPrefab)
                        {
                            laserEffectInstance = UnityEngine.Object.Instantiate(laserEffectPrefab, transform.position, transform.rotation);
                            laserEffectInstance.transform.parent = transform;
                            laserEffectInstanceLineRenderer      = laserEffectInstance.GetComponent <LineRenderer>();
                        }
                    }
                }
            }

            if (base.characterBody)
            {
                base.characterBody.SetAimTimer(duration);
            }
            base.PlayAnimation("Body", "ChargeAttack1", "ChargeAttack1.playbackRate", duration);
        }
Ejemplo n.º 18
0
        // Token: 0x060003F8 RID: 1016 RVA: 0x00010488 File Offset: 0x0000E688
        public override void OnEnter()
        {
            base.OnEnter();
            Util.PlayScaledSound(ChargeCannons.attackString, base.gameObject, this.attackSpeedStat);
            this.duration = ChargeCannons.baseDuration / this.attackSpeedStat;
            Transform modelTransform = base.GetModelTransform();
            Animator  modelAnimator  = base.GetModelAnimator();

            if (modelAnimator)
            {
                int layerIndex = modelAnimator.GetLayerIndex("Gesture");
                modelAnimator.SetFloat("ChargeCannons.playbackRate", 1f);
                modelAnimator.PlayInFixedTime("ChargeCannons", layerIndex, 0f);
                modelAnimator.Update(0f);
            }
            if (modelTransform)
            {
                ChildLocator component = modelTransform.GetComponent <ChildLocator>();
                if (component && ChargeCannons.effectPrefab)
                {
                    Transform transform  = component.FindChild("MuzzleLeft");
                    Transform transform2 = component.FindChild("MuzzleRight");
                    if (transform)
                    {
                        this.chargeEffectLeft = UnityEngine.Object.Instantiate <GameObject>(ChargeCannons.effectPrefab, transform.position, transform.rotation);
                        this.chargeEffectLeft.transform.parent = transform;
                        ScaleParticleSystemDuration component2 = this.chargeEffectLeft.GetComponent <ScaleParticleSystemDuration>();
                        if (component2)
                        {
                            component2.newDuration = this.duration;
                        }
                    }
                    if (transform2)
                    {
                        this.chargeEffectRight = UnityEngine.Object.Instantiate <GameObject>(ChargeCannons.effectPrefab, transform2.position, transform2.rotation);
                        this.chargeEffectRight.transform.parent = transform2;
                        ScaleParticleSystemDuration component3 = this.chargeEffectRight.GetComponent <ScaleParticleSystemDuration>();
                        if (component3)
                        {
                            component3.newDuration = this.duration;
                        }
                    }
                }
            }
            if (base.characterBody)
            {
                base.characterBody.SetAimTimer(this.duration);
            }
        }
 // Token: 0x06002D03 RID: 11523 RVA: 0x000BDF90 File Offset: 0x000BC190
 public override void OnEnter()
 {
     base.OnEnter();
     this.muzzleTransform = base.FindModelChild(DeathState.muzzleName);
     if (this.muzzleTransform && DeathState.deathPreExplosionVFX)
     {
         this.deathPreExplosionInstance = UnityEngine.Object.Instantiate <GameObject>(DeathState.deathPreExplosionVFX, this.muzzleTransform.position, this.muzzleTransform.rotation);
         this.deathPreExplosionInstance.transform.parent     = this.muzzleTransform;
         this.deathPreExplosionInstance.transform.localScale = Vector3.one * DeathState.deathExplosionRadius;
         ScaleParticleSystemDuration component = this.deathPreExplosionInstance.GetComponent <ScaleParticleSystemDuration>();
         if (component)
         {
             component.newDuration = DeathState.duration;
         }
     }
 }
Ejemplo n.º 20
0
        public override void OnEnter()
        {
            base.OnEnter();
            this.animator     = base.GetModelAnimator();
            this.childLocator = base.GetModelChildLocator();

            if (this.childLocator)
            {
                Transform transform = this.childLocator.FindChild("HandL");

                if (transform && this.chargeEffectPrefab)
                {
                    this.chargeEffectInstance = UnityEngine.Object.Instantiate <GameObject>(this.chargeEffectPrefab, transform.position, transform.rotation);
                    this.chargeEffectInstance.transform.parent = transform;
                    ScaleParticleSystemDuration component  = this.chargeEffectInstance.GetComponent <ScaleParticleSystemDuration>();
                    ObjectScaleCurve            component2 = this.chargeEffectInstance.GetComponent <ObjectScaleCurve>();
                    if (component)
                    {
                        component.newDuration = this.duration;
                    }
                    if (component2)
                    {
                        component2.timeMax = this.duration;
                    }
                }
            }

            base.PlayAnimation("Gesture, Override", "ChargeSpell", "Spell.playbackRate", 0.4f);
            this.loopSoundInstanceId    = Util.PlayAttackSpeedSound(this.chargeSoundString, base.gameObject, this.attackSpeedStat);
            this.defaultCrosshairPrefab = base.characterBody.crosshairPrefab;

            if (base.cameraTargetParams)
            {
                //base.cameraTargetParams.aimMode = CameraTargetParams.AimType.OverTheShoulder;
            }

            if (this.crosshairOverridePrefab)
            {
                base.characterBody.crosshairPrefab = this.crosshairOverridePrefab;
            }

            if (EntityStates.Huntress.ArrowRain.areaIndicatorPrefab)
            {
                this.areaIndicatorInstance = UnityEngine.Object.Instantiate <GameObject>(EntityStates.Huntress.ArrowRain.areaIndicatorPrefab);
                this.areaIndicatorInstance.transform.localScale = new Vector3(this.spellRadius, this.spellRadius, this.spellRadius);
            }
        }
 // Token: 0x0600326F RID: 12911 RVA: 0x000DA170 File Offset: 0x000D8370
 public override void OnEnter()
 {
     base.OnEnter();
     this.duration = MinigunSpinUp.baseDuration / this.attackSpeedStat;
     Util.PlaySound(MinigunSpinUp.sound, base.gameObject);
     base.GetModelAnimator().SetBool("WeaponIsReady", true);
     if (this.muzzleTransform && MinigunSpinUp.chargeEffectPrefab)
     {
         this.chargeInstance = UnityEngine.Object.Instantiate <GameObject>(MinigunSpinUp.chargeEffectPrefab, this.muzzleTransform.position, this.muzzleTransform.rotation);
         this.chargeInstance.transform.parent = this.muzzleTransform;
         ScaleParticleSystemDuration component = this.chargeInstance.GetComponent <ScaleParticleSystemDuration>();
         if (component)
         {
             component.newDuration = this.duration;
         }
     }
 }
        // Token: 0x0600053D RID: 1341 RVA: 0x00017460 File Offset: 0x00015660
        public override void OnEnter()
        {
            base.OnEnter();
            MageLastElementTracker component = base.GetComponent <MageLastElementTracker>();

            if (component)
            {
                component.ApplyElement(MageElement.Lightning);
            }
            this.stopwatch        = 0f;
            this.windDownDuration = ChargeNovabomb.baseWinddownDuration / this.attackSpeedStat;
            this.chargeDuration   = ChargeNovabomb.baseChargeDuration / this.attackSpeedStat;
            Util.PlayScaledSound(ChargeNovabomb.chargeSoundString, base.gameObject, this.attackSpeedStat);
            base.characterBody.SetAimTimer(this.chargeDuration + this.windDownDuration + 2f);
            this.muzzleString = "MuzzleBetween";
            this.animator     = base.GetModelAnimator();
            if (this.animator)
            {
                this.childLocator = this.animator.GetComponent <ChildLocator>();
            }
            if (this.childLocator)
            {
                this.muzzleTransform = this.childLocator.FindChild(this.muzzleString);
                if (this.muzzleTransform && ChargeNovabomb.chargeEffectPrefab)
                {
                    this.chargeEffectInstance = UnityEngine.Object.Instantiate <GameObject>(ChargeNovabomb.chargeEffectPrefab, this.muzzleTransform.position, this.muzzleTransform.rotation);
                    this.chargeEffectInstance.transform.parent = this.muzzleTransform;
                    ScaleParticleSystemDuration component2 = this.chargeEffectInstance.GetComponent <ScaleParticleSystemDuration>();
                    ObjectScaleCurve            component3 = this.chargeEffectInstance.GetComponent <ObjectScaleCurve>();
                    if (component2)
                    {
                        component2.newDuration = this.chargeDuration;
                    }
                    if (component3)
                    {
                        component3.timeMax = this.chargeDuration;
                    }
                }
            }
            base.PlayAnimation("Gesture, Additive", "ChargeNovaBomb", "ChargeNovaBomb.playbackRate", this.chargeDuration);
            this.defaultCrosshairPrefab = base.characterBody.crosshairPrefab;
            if (ChargeNovabomb.crosshairOverridePrefab)
            {
                base.characterBody.crosshairPrefab = ChargeNovabomb.crosshairOverridePrefab;
            }
        }
Ejemplo n.º 23
0
 // Token: 0x06002C62 RID: 11362 RVA: 0x000BB3FC File Offset: 0x000B95FC
 public override void OnEnter()
 {
     base.OnEnter();
     this.duration = PrepEnergyCannon.baseDuration / this.attackSpeedStat;
     base.PlayCrossfade("Body", "PrepEnergyCannon", "PrepEnergyCannon.playbackRate", this.duration, 0.1f);
     Util.PlaySound(PrepEnergyCannon.sound, base.gameObject);
     if (this.muzzleTransform && PrepEnergyCannon.chargeEffectPrefab)
     {
         this.chargeInstance = UnityEngine.Object.Instantiate <GameObject>(PrepEnergyCannon.chargeEffectPrefab, this.muzzleTransform.position, this.muzzleTransform.rotation);
         this.chargeInstance.transform.parent = this.muzzleTransform;
         ScaleParticleSystemDuration component = this.chargeInstance.GetComponent <ScaleParticleSystemDuration>();
         if (component)
         {
             component.newDuration = this.duration;
         }
     }
 }
Ejemplo n.º 24
0
 // Token: 0x0600338D RID: 13197 RVA: 0x000DFC24 File Offset: 0x000DDE24
 public override void OnEnter()
 {
     base.OnEnter();
     this.duration = MinigunSpinUp.baseDuration / this.attackSpeedStat;
     Util.PlaySound(MinigunSpinUp.sound, base.gameObject);
     base.PlayCrossfade("Gesture, Additive", "EnterShootLoop", 0.2f);
     if (this.muzzleTransform && MinigunSpinUp.chargeEffectPrefab)
     {
         this.chargeInstance = UnityEngine.Object.Instantiate <GameObject>(MinigunSpinUp.chargeEffectPrefab, this.muzzleTransform.position, this.muzzleTransform.rotation);
         this.chargeInstance.transform.parent = this.muzzleTransform;
         ScaleParticleSystemDuration component = this.chargeInstance.GetComponent <ScaleParticleSystemDuration>();
         if (component)
         {
             component.newDuration = this.duration;
         }
     }
 }
Ejemplo n.º 25
0
        public override void OnEnter()
        {
            base.OnEnter();
            this.duration        = this.baseDuration / this.attackSpeedStat;
            this.animator        = base.GetModelAnimator();
            this.childLocator    = base.GetModelChildLocator();
            this.swordController = base.GetComponent <PaladinSwordController>();

            if (this.swordController)
            {
                this.swordController.attacking = true;
            }

            if (this.childLocator)
            {
                Transform transform = this.childLocator.FindChild("HandL");

                if (transform && this.chargeEffectPrefab)
                {
                    this.chargeEffectInstance = UnityEngine.Object.Instantiate <GameObject>(this.chargeEffectPrefab, transform.position, transform.rotation);
                    this.chargeEffectInstance.transform.parent = transform;
                    ScaleParticleSystemDuration component  = this.chargeEffectInstance.GetComponent <ScaleParticleSystemDuration>();
                    ObjectScaleCurve            component2 = this.chargeEffectInstance.GetComponent <ObjectScaleCurve>();
                    if (component)
                    {
                        component.newDuration = this.duration;
                    }
                    if (component2)
                    {
                        component2.timeMax = this.duration;
                    }
                }
            }

            base.PlayAnimation("Gesture, Override", "ChargeSpell", "ChargeSpell.playbackRate", 0.4f * this.duration);
            this.loopSoundInstanceId    = Util.PlayScaledSound(this.chargeSoundString, base.gameObject, this.attackSpeedStat);
            this.defaultCrosshairPrefab = base.characterBody.crosshairPrefab;

            if (this.crosshairOverridePrefab)
            {
                base.characterBody.crosshairPrefab = this.crosshairOverridePrefab;
            }

            base.StartAimMode(this.duration + 2f, false);
        }
Ejemplo n.º 26
0
 // Token: 0x0600299F RID: 10655 RVA: 0x000AF4C8 File Offset: 0x000AD6C8
 protected void AuthorityTriggerHitPause()
 {
     this.storedHitPauseVelocity += base.characterMotor.velocity;
     base.characterMotor.velocity = Vector3.zero;
     if (this.animator)
     {
         this.animator.speed = 0f;
     }
     if (this.swingEffectInstance)
     {
         ScaleParticleSystemDuration component = this.swingEffectInstance.GetComponent <ScaleParticleSystemDuration>();
         if (component)
         {
             component.newDuration = 20f;
         }
     }
     this.hitPauseTimer = this.hitPauseDuration;
 }
        private void Start()
        {
            if (this.removalTime > 0f)
            {
                this.needsRemovalTime = true;
            }

            RaycastHit raycastHit;

            if (this.floorWard && Physics.Raycast(base.transform.position, Vector3.down, out raycastHit, 500f, LayerIndex.world.mask))
            {
                base.transform.position = raycastHit.point;
                base.transform.up       = raycastHit.normal;
            }

            if (this.rangeIndicator && this.expires)
            {
                ScaleParticleSystemDuration component = this.rangeIndicator.GetComponent <ScaleParticleSystemDuration>();
                if (component)
                {
                    component.newDuration = this.expireDuration;
                }
            }

            if (NetworkServer.active)
            {
                float radiusSqr = this.calculatedRadius * this.calculatedRadius;

                Vector3 position = base.transform.position;
                if (this.invertTeamFilter)
                {
                    for (TeamIndex teamIndex = TeamIndex.Neutral; teamIndex < TeamIndex.Count; teamIndex += 1)
                    {
                        if (teamIndex != this.teamFilter.teamIndex)
                        {
                            this.BuffTeam(TeamComponent.GetTeamMembers(teamIndex), radiusSqr, position);
                        }
                    }
                    return;
                }
                this.BuffTeam(TeamComponent.GetTeamMembers(this.teamFilter.teamIndex), radiusSqr, position);
            }
        }
Ejemplo n.º 28
0
 public void Init()
 {
     this.muzzleTransform = base.transform;
     if (this.muzzleTransform)
     {
         this.portalPosition = new Vector3?(this.muzzleTransform.position);
         if (DeathState.deathPreExplosionVFX)
         {
             this.deathPreExplosionInstance = UnityEngine.Object.Instantiate <GameObject>(DeathState.deathPreExplosionVFX, this.muzzleTransform.position, this.muzzleTransform.rotation);
             this.deathPreExplosionInstance.transform.parent     = this.muzzleTransform;
             this.deathPreExplosionInstance.transform.localScale = Vector3.one * voidExplosionRadius;
             ScaleParticleSystemDuration component = this.deathPreExplosionInstance.GetComponent <ScaleParticleSystemDuration>();
             if (component)
             {
                 component.newDuration = DeathState.duration;
             }
         }
     }
 }
Ejemplo n.º 29
0
 // Token: 0x060029A1 RID: 10657 RVA: 0x000AF5EC File Offset: 0x000AD7EC
 protected virtual void AuthorityExitHitPause()
 {
     this.hitPauseTimer            = 0f;
     this.storedHitPauseVelocity.y = Mathf.Max(this.storedHitPauseVelocity.y, this.shorthopVelocityFromHit);
     base.characterMotor.velocity  = this.storedHitPauseVelocity;
     this.storedHitPauseVelocity   = Vector3.zero;
     if (this.animator)
     {
         this.animator.speed = 1f;
     }
     if (this.swingEffectInstance)
     {
         ScaleParticleSystemDuration component = this.swingEffectInstance.GetComponent <ScaleParticleSystemDuration>();
         if (component)
         {
             component.newDuration = component.initialDuration;
         }
     }
 }
Ejemplo n.º 30
0
        public override void OnEnter()
        {
            base.OnEnter();
            base.fixedAge      = 0f;
            this.duration      = PrepShotgun.baseDuration / this.attackSpeedStat;
            this.modelAnimator = base.GetModelAnimator();

            if (this.modelAnimator)
            {
                base.PlayCrossfade("Body", "PrepHook", "PrepHook.playbackRate", this.duration, 0.5f);
                this.modelAnimator.GetComponent <AimAnimator>().enabled = true;
            }

            if (base.characterDirection)
            {
                base.characterDirection.moveVector = base.inputBank.aimDirection;
            }

            Util.PlayScaledSound(PrepHook.attackString, base.gameObject, this.attackSpeedStat);

            Transform modelTransform = base.GetModelTransform();

            if (modelTransform)
            {
                this.childLocator = modelTransform.GetComponent <ChildLocator>();
                if (this.childLocator)
                {
                    Transform transform = this.childLocator.FindChild(PrepHook.muzzleString);

                    if (transform && PrepHook.chargeEffectPrefab)
                    {
                        this.chargeInstance = UnityEngine.Object.Instantiate <GameObject>(PrepHook.chargeEffectPrefab, transform.position, transform.rotation);
                        this.chargeInstance.transform.parent = transform;
                        ScaleParticleSystemDuration component2 = this.chargeInstance.GetComponent <ScaleParticleSystemDuration>();
                        if (component2)
                        {
                            component2.newDuration = this.duration;
                        }
                    }
                }
            }
        }