상속: MonoBehaviour
예제 #1
0
        private PointDistribution DistributePoints(int totalPoints)
        {
            PointDistribution pointDistribution = new PointDistribution();
            int remainingPoints = totalPoints;

            pointDistribution.SkillPoints = GetSkillPoints(remainingPoints);
            remainingPoints -= pointDistribution.SkillPoints;

            if (remainingPoints == 0)
            {
                pointDistribution.AdvantagePoints = 0;
                pointDistribution.AttributePoints = 0;
                return(pointDistribution);
            }

            pointDistribution.AttributePoints = GetAttributePoints(remainingPoints);
            remainingPoints -= pointDistribution.AttributePoints;

            if (remainingPoints == 0)
            {
                pointDistribution.AdvantagePoints = 0;
                return(pointDistribution);
            }

            pointDistribution.AdvantagePoints = GetAdvantagePoints(remainingPoints);
            remainingPoints -= pointDistribution.AdvantagePoints;

            return(pointDistribution + DistributePoints(remainingPoints));
        }
예제 #2
0
        public NPC GetRandomNPC(int points, int tl, bool exotic, bool supernatural)
        {
            PersonNameGenerator generator = new PersonNameGenerator();
            int disadPoints = GetDisadPoints(points);
            int totalPoints = disadPoints + points;
            int age         = rand.Next(14, 81);

            pointDistribution = DistributePoints(totalPoints);
            string name = generator.GenerateRandomFirstName();

            npc = new NPC(name, age, tl);
            AddSkills();
            AddAdvantages(exotic, supernatural);
            AddAttributes();
            AddDisadvantages(disadPoints, exotic, supernatural);
            return(npc);
        }