Beispiel #1
0
        public static void GenerateGearFor(Pawn pawn, PawnGenerationRequest request)
        {
            float modifiedChance           = SimpleSidearms.SidearmSpawnChance;
            float modifiedBudgetMultiplier = SimpleSidearms.SidearmBudgetMultiplier.Value;
            bool  more          = true;
            int   sanityLimiter = 0;

            while (more && modifiedChance > 0 && modifiedBudgetMultiplier > 0 && sanityLimiter < 10)
            {
                more                      = PawnSidearmsGenerator.TryGenerateSidearmFor(pawn, modifiedChance, modifiedBudgetMultiplier, request);
                modifiedChance           -= SimpleSidearms.SidearmSpawnChanceDropoff.Value;
                modifiedBudgetMultiplier -= SimpleSidearms.SidearmBudgetDropoff.Value;
                sanityLimiter++;
            }
        }
Beispiel #2
0
        public static void GenerateGearFor(Pawn pawn, PawnGenerationRequest request)
        {
            try {
                //Log.Message("generating sidearms for " + pawn.Label);
                float modifiedChance           = Settings.SidearmSpawnChance;
                float modifiedBudgetMultiplier = Settings.SidearmBudgetMultiplier;
                bool  more          = true;
                int   sanityLimiter = 0;

                while (more && modifiedChance > 0 && modifiedBudgetMultiplier > 0 && sanityLimiter < 10)
                {
                    sanityLimiter++;
                    //Log.Message("generating sidearm number " + sanityLimiter + " chance: "+modifiedChance+" budgetMult:"+modifiedBudgetMultiplier);
                    more                      = PawnSidearmsGenerator.TryGenerateSidearmFor(pawn, modifiedChance, modifiedBudgetMultiplier, request);
                    modifiedChance           -= Settings.SidearmSpawnChanceDropoff;
                    modifiedBudgetMultiplier -= Settings.SidearmBudgetDropoff;
                }
            }
            catch (Exception e)
            {
                Log.Error("Exception during pawn gear generation intercept. Cancelling intercept. Exception: " + e.ToString());
            }
        }