private static void On_FireFMJEnter(On.EntityStates.Commando.CommandoWeapon.FireFMJ.orig_OnEnter orig, EntityStates.Commando.CommandoWeapon.FireFMJ self)
        {
            orig(self);
            if (!(self is EntityStates.Commando.CommandoWeapon.ThrowEvisProjectile) || Scepter.instance.GetCount(self.outer.commonComponents.characterBody) < 1)
            {
                return;
            }
            if (!self.outer.commonComponents.skillLocator?.special)
            {
                return;
            }
            var fireCount = self.outer.commonComponents.skillLocator.special.stock;

            self.outer.commonComponents.skillLocator.special.stock = 0;
            for (var i = 0; i < fireCount; i++)
            {
                typeof(EntityStates.Commando.CommandoWeapon.FireFMJ).GetMethodCached("Fire").Invoke(self, new object[] {});
            }
        }
Exemplo n.º 2
0
        private void On_FireFMJEnter(On.EntityStates.Commando.CommandoWeapon.FireFMJ.orig_OnEnter orig, EntityStates.Commando.CommandoWeapon.FireFMJ self)
        {
            orig(self);
            if (!(self is EntityStates.Commando.CommandoWeapon.ThrowEvisProjectile) || Scepter_V2.instance.GetCount(self.outer.commonComponents.characterBody) < 1)
            {
                return;
            }
            if (!self.outer.commonComponents.skillLocator?.special)
            {
                return;
            }
            var fireCount = self.outer.commonComponents.skillLocator.special.stock;

            self.outer.commonComponents.skillLocator.special.stock = 0;
            for (var i = 0; i < fireCount; i++)
            {
                self.Fire();
            }
        }