コード例 #1
0
        // Token: 0x06002B22 RID: 11042 RVA: 0x000B5C50 File Offset: 0x000B3E50
        public override void OnExit()
        {
            if (base.characterBody && !this.outer.destroying && this.endEffectPrefab)
            {
                EffectManager.SpawnEffect(this.endEffectPrefab, new EffectData
                {
                    origin = base.characterBody.corePosition
                }, false);
            }
            Util.PlaySound(BurrowDash.endSoundString, base.gameObject);
            base.gameObject.layer = LayerIndex.defaultLayer.intVal;
            base.characterMotor.Motor.RebuildCollidableLayers();
            HurtBoxGroup component = this.modelTransform.GetComponent <HurtBoxGroup>();
            int          hurtBoxesDeactivatorCounter = component.hurtBoxesDeactivatorCounter;

            component.hurtBoxesDeactivatorCounter = hurtBoxesDeactivatorCounter - 1;
            base.characterBody.hideCrosshair      = false;
            if (this.burrowLoopEffectInstance)
            {
                EntityState.Destroy(this.burrowLoopEffectInstance);
            }
            Animator modelAnimator = base.GetModelAnimator();
            int      layerIndex    = modelAnimator.GetLayerIndex("Impact");

            if (layerIndex >= 0)
            {
                modelAnimator.SetLayerWeight(layerIndex, 2f);
                modelAnimator.PlayInFixedTime("LightImpact", layerIndex, 0f);
            }
            base.OnExit();
        }
コード例 #2
0
 // Token: 0x0600060D RID: 1549 RVA: 0x0001BD8C File Offset: 0x00019F8C
 public override void OnEnter()
 {
     base.OnEnter();
     Util.PlaySound(BlinkState.beginSoundString, base.gameObject);
     this.modelTransform = base.GetModelTransform();
     if (this.modelTransform)
     {
         this.animator       = this.modelTransform.GetComponent <Animator>();
         this.characterModel = this.modelTransform.GetComponent <CharacterModel>();
         this.hurtboxGroup   = this.modelTransform.GetComponent <HurtBoxGroup>();
         this.childLocator   = this.modelTransform.GetComponent <ChildLocator>();
     }
     if (this.characterModel)
     {
         this.characterModel.invisibilityCount++;
     }
     if (this.hurtboxGroup)
     {
         HurtBoxGroup hurtBoxGroup = this.hurtboxGroup;
         int          hurtBoxesDeactivatorCounter = hurtBoxGroup.hurtBoxesDeactivatorCounter + 1;
         hurtBoxGroup.hurtBoxesDeactivatorCounter = hurtBoxesDeactivatorCounter;
     }
     if (this.childLocator)
     {
         this.childLocator.FindChild("DustCenter").gameObject.SetActive(false);
     }
     if (base.characterMotor)
     {
         base.characterMotor.enabled = false;
     }
     this.CalculateBlinkDestination();
     this.CreateBlinkEffect(Util.GetCorePosition(base.gameObject));
 }
コード例 #3
0
        public override void OnEnter()
        {
            base.OnEnter();
            if (TTGL_SurvivorPlugin.rideMeExtendedInstalled)
            {
                TTGL_SurvivorPlugin.ExpulseAnyRider(base.gameObject);
            }
            this.cancelled = true;
            Util.PlaySound(BaseBeginArrowBarrage.blinkSoundString, base.gameObject);
            this.modelTransform = base.GetModelTransform();
            this.animator       = base.GetModelAnimator();
            if (this.modelTransform)
            {
                this.hurtboxGroup = this.modelTransform.GetComponent <HurtBoxGroup>();
            }
            this.prepDuration = this.basePrepDuration;
            base.PlayAnimation("FullBody, Override", "LagannImpact1");
            if (base.characterMotor)
            {
                base.characterMotor.velocity = Vector3.zero;
            }

            if (this.hurtboxGroup)
            {
                HurtBoxGroup hurtBoxGroup = this.hurtboxGroup;
                hurtBoxGroup.hurtBoxesDeactivatorCounter++;
            }
            if (this.isGrounded)
            {
                this.isJumping = true;
                base.SmallHop(base.characterMotor, this.jumpCoefficient);

                //this.CreateBlinkEffect(base.transform.position);
            }
        }
コード例 #4
0
        private static void FixHurtBox()
        {
            GameObject      badVariableName = clayMan.GetComponent <ModelLocator>().modelTransform.gameObject;
            CapsuleCollider hitBox          = badVariableName.gameObject.AddComponent <CapsuleCollider>();

            hitBox.radius *= 2;

            badVariableName.gameObject.layer = LayerIndex.entityPrecise.intVal;

            HurtBox hurtBox = badVariableName.AddComponent <HurtBox>();

            hurtBox.transform.localPosition = badVariableName.transform.up;
            HurtBoxGroup hurtBoxGroup = badVariableName.AddComponent <HurtBoxGroup>();

            hurtBox.damageModifier  = HurtBox.DamageModifier.Normal;
            hurtBox.healthComponent = clayMan.GetComponent <HealthComponent>();
            hurtBox.hurtBoxGroup    = hurtBoxGroup;
            hurtBox.indexInGroup    = 0;
            hurtBox.isBullseye      = true;

            hurtBoxGroup.bullseyeCount = 1;
            hurtBoxGroup.hurtBoxes     = new HurtBox[]
            {
                hurtBox
            };
            hurtBoxGroup.mainHurtBox = hurtBox;
        }
コード例 #5
0
 // Token: 0x06002F2B RID: 12075 RVA: 0x000C9698 File Offset: 0x000C7898
 public override void OnExit()
 {
     Util.PlaySound(BlinkState.endSoundString, base.gameObject);
     this.CreateBlinkEffect(Util.GetCorePosition(base.gameObject));
     this.modelTransform = base.GetModelTransform();
     if (this.modelTransform && BlinkState.destealthMaterial)
     {
         TemporaryOverlay temporaryOverlay = this.animator.gameObject.AddComponent <TemporaryOverlay>();
         temporaryOverlay.duration = 1f;
         temporaryOverlay.destroyComponentOnEnd   = true;
         temporaryOverlay.originalMaterial        = BlinkState.destealthMaterial;
         temporaryOverlay.inspectorCharacterModel = this.animator.gameObject.GetComponent <CharacterModel>();
         temporaryOverlay.alphaCurve         = AnimationCurve.EaseInOut(0f, 1f, 1f, 0f);
         temporaryOverlay.animateShaderAlpha = true;
     }
     if (this.characterModel)
     {
         this.characterModel.invisibilityCount--;
     }
     if (this.hurtboxGroup)
     {
         HurtBoxGroup hurtBoxGroup = this.hurtboxGroup;
         int          hurtBoxesDeactivatorCounter = hurtBoxGroup.hurtBoxesDeactivatorCounter - 1;
         hurtBoxGroup.hurtBoxesDeactivatorCounter = hurtBoxesDeactivatorCounter;
     }
     if (base.characterMotor)
     {
         base.characterMotor.enabled = true;
     }
     base.PlayAnimation("Gesture, Additive", "BlinkEnd");
     base.OnExit();
 }
コード例 #6
0
        public override void OnEnter()
        {
            base.OnEnter();

            this.modelTransform = base.GetModelTransform();
            this.entryLocation  = base.transform.position;

            if (this.modelTransform)
            {
                this.characterModel = this.modelTransform.GetComponent <CharacterModel>();
                this.hurtBoxGroup   = this.modelTransform.GetComponent <HurtBoxGroup>();
                this.entryVelocity  = base.characterMotor.velocity;

                if (this.characterModel)
                {
                    this.characterModel.invisibilityCount++;
                }
                if (this.hurtBoxGroup)
                {
                    hurtBoxGroup.hurtBoxesDeactivatorCounter += 1;
                }
            }
            this.blinkVector = this.GetBlinkVector();
            this.CreateBlinkEffect(Util.GetCorePosition(base.gameObject));
        }
コード例 #7
0
            public override void OnEnter()
            {
                base.OnEnter();
                Util.PlaySound(EntityStates.Commando.DodgeState.dodgeSoundString, base.gameObject);

                this.animator = base.GetModelAnimator();
                base.characterBody.SetAimTimer(2f);

                this.boxGroup = base.GetModelTransform().GetComponent <HurtBoxGroup>();

                ChildLocator childLoc = this.animator.GetComponent <ChildLocator>();

                if (base.isAuthority)
                {
                    //this.forwardDirection = -base.characterDirection.forward.normalized;
                    this.forwardDirection   = base.GetAimRay().direction * -1;
                    this.forwardDirection.y = 0;
                    this.forwardDirection   = Vector3.Normalize(this.forwardDirection);
                    if (this.forwardDirection == Vector3.zero)
                    {
                        this.forwardDirection = -base.characterDirection.forward.normalized;
                    }
                }


                this.animator.SetFloat("rightSpeed", 0f, 0.1f, Time.fixedDeltaTime);
                this.animator.SetFloat("forwardSpeed", -1f, 0.1f, Time.fixedDeltaTime);
                base.PlayAnimation("Body", "DodgeBackward", "Dodge.playbackRate", duration);

                //Debuff thing here
                this.CalcSpeed();
                if (base.characterMotor && base.characterDirection)
                {
                    base.characterMotor.velocity.y = 0f;
                    base.characterMotor.velocity   = this.forwardDirection * this.rollSpeed;
                }
                Vector3 b = base.characterMotor ? base.characterMotor.velocity : Vector3.zero;

                this.previousPosition = base.transform.position - b;

                if (base.isAuthority)
                {
                    new BlastAttack
                    {
                        attacker          = base.gameObject,
                        baseDamage        = base.damageStat * damageCoef,
                        baseForce         = baseForce,
                        attackerFiltering = AttackerFiltering.NeverHit,
                        bonusForce        = Vector3.down * downForce,
                        crit             = base.RollCrit(),
                        damageColorIndex = DamageColorIndex.Default,
                        damageType       = DamageType.Stun1s,
                        falloffModel     = BlastAttack.FalloffModel.None,
                        losType          = BlastAttack.LoSType.None,
                        position         = Util.GetCorePosition(base.gameObject),
                        procChainMask    = default,
コード例 #8
0
 public override void OnExit()
 {
     //this.CreateBlinkEffect(base.transform.position);
     if (this.hurtboxGroup)
     {
         HurtBoxGroup hurtBoxGroup = this.hurtboxGroup;
         hurtBoxGroup.hurtBoxesDeactivatorCounter--;
     }
     if (this.cancelled)
     {
         base.PlayCrossfade("FullBody, Override", "LagannImpactExit", 0.2f);
     }
     base.OnExit();
 }
コード例 #9
0
ファイル: FlashStep.cs プロジェクト: swuff-star/HenryMod
        public override void OnEnter()
        {
            base.OnEnter();
            Util.PlaySound("NemryBlink", base.gameObject);
            this.modelTransform = base.GetModelTransform();

            if (this.modelTransform)
            {
                this.animator       = this.modelTransform.GetComponent <Animator>();
                this.characterModel = this.modelTransform.GetComponent <CharacterModel>();
                this.hurtboxGroup   = this.modelTransform.GetComponent <HurtBoxGroup>();
            }

            if (this.characterModel)
            {
                this.characterModel.invisibilityCount++;
            }

            if (this.hurtboxGroup)
            {
                HurtBoxGroup hurtBoxGroup = this.hurtboxGroup;
                int          hurtBoxesDeactivatorCounter = hurtBoxGroup.hurtBoxesDeactivatorCounter + 1;
                hurtBoxGroup.hurtBoxesDeactivatorCounter = hurtBoxesDeactivatorCounter;
            }

            if (base.characterMotor)
            {
                base.characterMotor.enabled = false;
            }

            Vector3 desiredPosition = base.transform.position;

            if (this.tracker && this.tracker.GetTrackingTarget())
            {
                desiredPosition   = this.tracker.GetTrackingTarget().transform.position - (1.25f * base.GetAimRay().direction);
                desiredPosition.y = this.tracker.GetTrackingTarget().transform.position.y;
            }

            this.blinkDestination = base.transform.position;
            this.blinkStart       = base.transform.position;

            this.blinkDestination  = desiredPosition;
            this.blinkDestination += base.transform.position - base.characterBody.footPosition;

            this.CreateBlinkEffect(Util.GetCorePosition(base.gameObject));

            this.SpendEnergy(10f, SkillSlot.Utility);
        }
コード例 #10
0
        public override void OnEnter()
        {
            base.OnEnter();

            this.target   = base.skillData?.knifeInstance?.transform;
            this.startPos = base.transform.position;
            if (base.isAuthority)
            {
                if (this.target != null)
                {
                    var baseMovespeed      = Math.Max(base.moveSpeedStat / (base.characterBody.isSprinting ? base.characterBody.sprintingSpeedMultiplier : 1.0f), 3f);
                    var effectiveMovespeed = baseMovespeed * baseMovespeedMult;
                    var dir  = this.target.position - base.transform.position;
                    var dist = dir.magnitude;
                    dir = dir.normalized;

                    this.duration = Math.Min(baseDuration, dist / baseMovespeedMult) / baseMovespeed;

                    if (base.isAuthority)
                    {
                        this.PlayStartEffects(new Ray(base.transform.position, dir));
                    }
                }
                else
                {
                    this.duration = 0f;
                }
            }

            this.charMotor = base.characterMotor;

            //this.charMotor.muteWalkMotion = true;

            this.model   = base.GetModelTransform().GetComponent <CharacterModel>();
            this.hbGroup = base.characterBody.mainHurtBox.hurtBoxGroup;

            if (this.model != null)
            {
                this.model.invisibilityCount++;
            }

            if (this.hbGroup != null)
            {
                this.hbGroup.hurtBoxesDeactivatorCounter++;
            }
            this.lastDistance = Single.MaxValue;
            Util.PlaySound("Play_huntress_shift_start", base.gameObject);
        }
コード例 #11
0
            public override void OnEnter()
            {
                base.OnEnter();
                this.duration = baseDuration / (this.moveSpeedStat / base.characterBody.baseMoveSpeed);
                var deployList = this.characterBody.master.GetFieldValue<List<DeployableInfo>>( "deployablesList" );

                foreach( DeployableInfo info in deployList )
                {
                    if( info.slot == (DeployableSlot)7)
                    {
                        this.targetTransform = info.deployable.transform;
                        this.destVec = this.targetTransform.position;
                        this.startVec = base.transform.position;
                        this.shouldBlink = true;
                    }
                }

                //Util.PlaySound( "")
                this.modelTransform = base.GetModelTransform();
                if( this.modelTransform )
                {
                    this.charModel = this.modelTransform.GetComponent<CharacterModel>();
                    this.boxGroup = this.modelTransform.GetComponent<HurtBoxGroup>();
                }
                if( this.charModel )
                {
                    this.charModel.invisibilityCount++;
                }
                if( this.boxGroup )
                {
                    var boxTemp = this.boxGroup;
                    var deactivCounter = boxTemp.hurtBoxesDeactivatorCounter + 1;
                    boxTemp.hurtBoxesDeactivatorCounter = deactivCounter;
                }

                var data = new EffectData();
                data.rotation = Util.QuaternionSafeLookRotation( (this.destVec - this.startVec).normalized );
                data.origin = Util.GetCorePosition( base.gameObject );
                EffectManager.SpawnEffect( Main.instance.knifeBlink, data, false );


                //this.characterMotor.Motor.

                Util.PlaySound( "Play_huntress_shift_start", base.gameObject );
            }