r2mods/ilspy_dump/ror2_csproj/EntityStates.LunarGolem/Shell.cs

53 lines
1.2 KiB
C#

using RoR2;
using UnityEngine;
namespace EntityStates.LunarGolem;
public class Shell : BaseState
{
public static float baseDuration;
public static float buffDuration;
public static float preShieldAnimDuration;
public static GameObject preShieldEffect;
public static string preShieldSoundString;
public static string shieldActivateSoundString;
private bool readyToActivate;
private float duration;
public override void OnEnter()
{
base.OnEnter();
duration = baseDuration / attackSpeedStat;
Util.PlaySound(preShieldSoundString, base.gameObject);
PlayCrossfade("Gesture, Additive", "PreShield", 0.2f);
EffectManager.SimpleMuzzleFlash(preShieldEffect, base.gameObject, "Center", transmit: false);
}
public override void FixedUpdate()
{
base.FixedUpdate();
if (base.fixedAge >= preShieldAnimDuration && !readyToActivate)
{
readyToActivate = true;
Util.PlaySound(shieldActivateSoundString, base.gameObject);
base.characterBody.AddTimedBuff(RoR2Content.Buffs.LunarShell, buffDuration);
}
if (base.fixedAge >= duration && base.isAuthority)
{
outer.SetNextStateToMain();
}
}
public override void OnExit()
{
base.OnExit();
}
}