コード例 #1
0
ファイル: Smokebomb.cs プロジェクト: Moffein/BanditReloaded
        public override void OnEnter()
        {
            base.OnEnter();
            this.animator = base.GetModelAnimator();
            this.CastSmoke();
            if (base.characterBody)
            {
                if (base.isAuthority)
                {
                    base.characterBody.isSprinting = true;
                }
                if (NetworkServer.active)
                {
                    base.characterBody.AddBuff(RoR2Content.Buffs.Cloak);
                    base.characterBody.AddBuff(RoR2Content.Buffs.CloakSpeed);
                    base.characterBody.AddTimedBuff(ModContentPack.cloakDamageBuff, CastSmokescreenNoDelay.duration + 0.5f);
                }
                BanditHelpers.TriggerQuickdraw(base.characterBody.skillLocator);
            }

            if (base.characterMotor && !base.characterMotor.isGrounded)
            {
                if (!BanditReloaded.BanditReloaded.useOldModel)
                {
                    base.PlayAnimation("Gesture, Additive", "ThrowSmokebomb", "ThrowSmokebomb.playbackRate", 0.2f);
                }
            }
        }
コード例 #2
0
        public override void OnEnter()
        {
            base.OnEnter();
            this.duration = PrepBarrageScepter.baseDuration / this.attackSpeedStat;

            this.animator = base.GetModelAnimator();
            if (BanditReloaded.BanditReloaded.useOldModel)
            {
                base.PlayAnimation("Gesture, Additive", "PrepRevolver", "PrepRevolver.playbackRate", this.duration);
                base.PlayAnimation("Gesture, Override", "PrepRevolver", "PrepRevolver.playbackRate", this.duration);
            }
            else
            {
                if (this.animator)
                {
                    this.bodySideWeaponLayerIndex = this.animator.GetLayerIndex("Body, SideWeapon");
                    this.animator.SetLayerWeight(this.bodySideWeaponLayerIndex, 1f);
                }
                base.PlayAnimation("Gesture, Additive", "MainToSide", "MainToSide.playbackRate", this.duration);
            }

            Util.PlaySound(PrepBarrageScepter.prepSoundString, base.gameObject);

            if (base.characterBody)
            {
                base.characterBody.SetAimTimer(this.duration);
                BanditHelpers.TriggerQuickdraw(base.characterBody.skillLocator);

                if (base.characterBody.HasBuff(ModContentPack.cloakDamageBuff))
                {
                    base.characterBody.ClearTimedBuffs(ModContentPack.cloakDamageBuff);
                    base.characterBody.AddTimedBuff(ModContentPack.cloakDamageBuff, 1.2f);
                }
            }
        }
コード例 #3
0
ファイル: AcidBomb.cs プロジェクト: Moffein/BanditReloaded
        public override void OnEnter()
        {
            base.OnEnter();
            this.duration = AcidBomb.baseDuration / this.attackSpeedStat;
            Ray aimRay = base.GetAimRay();

            base.StartAimMode(aimRay, 2f, false);
            if (BanditReloaded.BanditReloaded.useOldModel)
            {
                base.PlayAnimation("Gesture", "FireRevolver", "FireRevolver.playbackRate", this.duration);
            }
            else
            {
                base.PlayAnimation("Gesture, Additive", "SlashBlade", "SlashBlade.playbackRate", this.duration);
            }
            Util.PlaySound("Play_commando_M2_grenade_throw", base.gameObject);
            if (base.isAuthority)
            {
                ProjectileManager.instance.FireProjectile(AcidBomb.projectilePrefab, aimRay.origin, Util.QuaternionSafeLookRotation(aimRay.direction), base.gameObject, this.damageStat * AcidBomb.damageCoefficient, 0f, Util.CheckRoll(this.critStat, base.characterBody.master), DamageColorIndex.Default, null, -1f);
            }
            if (base.characterMotor && !base.characterMotor.isGrounded)
            {
                Vector3 vector = -aimRay.direction * AcidBomb.selfForce;
                vector.y *= 0.5f;
                base.characterMotor.ApplyForce(vector, true, false);
            }
            BanditHelpers.TriggerQuickdraw(base.characterBody.skillLocator);
        }
コード例 #4
0
 public override void OnExit()
 {
     if (!buttonReleased && base.characterBody)
     {
         base.characterBody.SetSpreadBloom(0f, false);
     }
     BanditHelpers.ConsumeCloakDamageBuff(base.characterBody);
     base.OnExit();
 }
コード例 #5
0
ファイル: LightsOut.cs プロジェクト: Moffein/BanditReloaded
 public override void OnExit()
 {
     BanditHelpers.ConsumeCloakDamageBuff(base.characterBody);
     if (earlyExit && !BanditReloaded.BanditReloaded.useOldModel)
     {
         if (this.animator)
         {
             this.animator.SetLayerWeight(this.bodySideWeaponLayerIndex, 0f);
         }
         base.PlayAnimation("Gesture, Additive", "SideToMain");
         Transform transform = base.FindModelChild("SpinningPistolFX");
         if (transform)
         {
             transform.gameObject.SetActive(false);
         }
     }
     base.OnExit();
 }
コード例 #6
0
ファイル: Thermite.cs プロジェクト: Moffein/BanditReloaded
        public override void OnEnter()
        {
            base.OnEnter();
            this.duration = ThermiteBomb.baseDuration / this.attackSpeedStat;
            Ray aimRay = base.GetAimRay();
            base.StartAimMode(aimRay, 2f, false);
            Util.PlaySound("Play_Bandit_m2_shot", base.gameObject);

            this.animator = base.GetModelAnimator();
            if (BanditReloaded.BanditReloaded.useOldModel)
            {
                base.PlayAnimation("Gesture, Additive", "PrepRevolver", "PrepRevolver.playbackRate", this.duration * 0.5f);
                base.PlayAnimation("Gesture, Override", "PrepRevolver", "PrepRevolver.playbackRate", this.duration * 0.5f);
            }
            else
            {
                if (this.animator)
                {
                    this.bodySideWeaponLayerIndex = this.animator.GetLayerIndex("Body, SideWeapon");
                    this.animator.SetLayerWeight(this.bodySideWeaponLayerIndex, 1f);
                }
                base.PlayAnimation("Gesture, Additive", "MainToSide", "MainToSide.playbackRate", this.duration * 0.5f);
            }

            if (ThermiteBomb.effectPrefab)
            {
                EffectManager.SimpleMuzzleFlash(ThermiteBomb.effectPrefab, base.gameObject, "MuzzlePistol", false);
            }
            if (base.isAuthority)
            {
                ProjectileManager.instance.FireProjectile(ThermiteBomb.projectilePrefab, aimRay.origin, Util.QuaternionSafeLookRotation(aimRay.direction), base.gameObject, this.damageStat * ThermiteBomb.damageCoefficient, 0f, Util.CheckRoll(this.critStat, base.characterBody.master), DamageColorIndex.Default, null, -1f);
            }
            if (base.characterMotor && !base.characterMotor.isGrounded)
            {
                Vector3 vector = -aimRay.direction * ThermiteBomb.selfForce;
                vector.y *= 0.5f;
                base.characterMotor.ApplyForce(vector, true, false);
            }
            base.characterBody.AddSpreadBloom(2.4f);
            base.AddRecoil(-1f * 6f, -2f * 6f, -0.5f * 6f, 0.5f * 6f);
            BanditHelpers.TriggerQuickdraw(base.characterBody.skillLocator);
        }
コード例 #7
0
ファイル: Smokebomb.cs プロジェクト: Moffein/BanditReloaded
        public override void OnExit()
        {
            if (base.characterBody)
            {
                if (NetworkServer.active)
                {
                    if (base.characterBody.HasBuff(RoR2Content.Buffs.Cloak))
                    {
                        base.characterBody.RemoveBuff(RoR2Content.Buffs.Cloak);
                    }
                    if (base.characterBody.HasBuff(RoR2Content.Buffs.CloakSpeed))
                    {
                        base.characterBody.RemoveBuff(RoR2Content.Buffs.CloakSpeed);
                    }
                }
                BanditHelpers.PlayCloakDamageSound(base.characterBody);
            }
            if (!this.outer.destroying)
            {
                this.CastSmoke();
            }
            if (CastSmokescreenNoDelay.destealthMaterial)
            {
                TemporaryOverlay temporaryOverlay = this.animator.gameObject.AddComponent <TemporaryOverlay>();
                temporaryOverlay.duration = 1f;
                temporaryOverlay.destroyComponentOnEnd   = true;
                temporaryOverlay.originalMaterial        = CastSmokescreenNoDelay.destealthMaterial;
                temporaryOverlay.inspectorCharacterModel = this.animator.gameObject.GetComponent <CharacterModel>();
                temporaryOverlay.alphaCurve         = AnimationCurve.EaseInOut(0f, 1f, 1f, 0f);
                temporaryOverlay.animateShaderAlpha = true;
            }
            Util.PlaySound(CastSmokescreenNoDelay.stopCloakSoundString, base.gameObject);
            if (this.animator)
            {
                this.animator.SetLayerWeight(this.animator.GetLayerIndex("Body, StealthWeapon"), 0f);
            }

            base.OnExit();
        }
コード例 #8
0
ファイル: Assassinate.cs プロジェクト: Moffein/BanditReloaded
        public override void OnEnter()
        {
            base.OnEnter();

            BanditHelpers.TriggerQuickdraw(base.characterBody.skillLocator);

            this.animator       = base.GetModelAnimator();
            this.chargeDuration = Assassinate.baseChargeDuration / this.attackSpeedStat;
            base.PlayAnimation("Gesture, Additive", "FireShotgun", "FireShotgun.playbackRate", this.chargeDuration * 1.5f);
            base.PlayAnimation("Gesture, Override", "FireShotgun", "FireShotgun.playbackRate", this.chargeDuration * 1.5f);
            Transform modelTransform = base.GetModelTransform();

            base.cameraTargetParams.fovOverride = Assassinate.zoomFOV;
            if (modelTransform)
            {
                ChildLocator component = modelTransform.GetComponent <ChildLocator>();
                if (component)
                {
                    this.muzzleTransform = component.FindChild(Assassinate.muzzleName);
                    if (this.muzzleTransform)
                    {
                        this.chargeupVfxGameObject = UnityEngine.Object.Instantiate <GameObject>(Assassinate.chargeupVfxPrefab, this.muzzleTransform);
                        this.chargeupVfxGameObject.GetComponent <ScaleParticleSystemDuration>().newDuration = this.chargeDuration;
                    }
                }
            }
            Util.PlaySound(Assassinate.beginChargeSoundString, base.gameObject);
            this.defaultCrosshairPrefab        = base.characterBody.crosshairPrefab;
            base.characterBody.crosshairPrefab = specialCrosshairPrefab;

            if (base.characterBody)
            {
                if (base.characterBody.HasBuff(ModContentPack.cloakDamageBuff))
                {
                    base.characterBody.ClearTimedBuffs(ModContentPack.cloakDamageBuff);
                    base.characterBody.AddTimedBuff(ModContentPack.cloakDamageBuff, this.chargeDuration + 0.5f);
                }
            }
        }
コード例 #9
0
ファイル: AcidBomb.cs プロジェクト: Moffein/BanditReloaded
 public override void OnExit()
 {
     BanditHelpers.ConsumeCloakDamageBuff(base.characterBody);
     base.OnExit();
 }