Ejemplo n.º 1
0
        private int CharacterMaster_GetDeployableSameSlotLimit(On.RoR2.CharacterMaster.orig_GetDeployableSameSlotLimit orig, CharacterMaster self, DeployableSlot slot)
        {
            var result = orig(self, slot);

            if (slot == DeployableSlot.EngiTurret && increaseEngiTurretLimit)
            {
                var itemCount = self.inventory.GetItemCount(itemDef);
                if (itemCount > 0)
                {
                    result += charges + chargesPerStack * (itemCount - 1);
                }
            }
            return(result);
        }
Ejemplo n.º 2
0
        private int On_CMGetDeployableSameSlotLimit(On.RoR2.CharacterMaster.orig_GetDeployableSameSlotLimit orig, CharacterMaster self, DeployableSlot slot)
        {
            var retv = orig(self, slot);

            if (slot != DeployableSlot.EngiTurret)
            {
                return(retv);
            }
            var sp = self.GetBody()?.skillLocator?.special;

            if (!sp)
            {
                return(retv);
            }
            if (sp.skillDef == skills.First(x => x is EngiTurret2).myDef)
            {
                return(retv + 1);
            }
            if (sp.skillDef == skills.First(x => x is EngiWalker2).myDef)
            {
                return(retv + 2);
            }
            return(retv);
        }