k26451864 发表于 2022-4-9 13:31

1.29.36招聘员工时的员工等级控制方法

本帖最后由 k26451864 于 2022-4-12 10:17 编辑

TH20.JobApplicant
      public JobApplicant(StaffDefinition definition, CharacterNameGenerator nameGenerator, float recruitmentFeePercentage, int chanceOfEmptyTrainingSlot, int rank, WeightedList<QualificationDefinition> qualifications, CharacterTraitsManager traitsManager, Metagame metagame, Level level)
      {
            this.Definition = definition;
            this._recruitmentFeePercentage = recruitmentFeePercentage;
            if (definition._forcedGender != Character.Sex.None)
            {
                this.Sex = definition._forcedGender;
            }
            else
            {
                this.Sex = ((RandomUtils.GlobalRandomInstance.Next(0, 2) == 0) ? Character.Sex.Male : Character.Sex.Female);
            }
            if (!definition._characterFirstNameOverride.IsNull() && !definition._characterLastNameOverride.IsNull())
            {
                this.Name = new CharacterName
                {
                  FirstName = definition._characterFirstNameOverride,
                  LastName = definition._characterLastNameOverride
                };
            }
            else
            {
                this.Name = nameGenerator.Generate(this.Sex);
            }
            this.Rank = rank;      // 将 rank 改成 RandomUtils.GlobalRandomInstance.Next(1, 2) 就可以控制招聘时的随机等级了,括号内的数字不可以超过5
            this.Happiness = RandomUtils.GlobalRandomInstance.NextFloat(50f, 100f);
            this.Experience = RandomUtils.GlobalRandomInstance.NextFloat(0f, this.RankDefinition.MaximumXP * 0.75f);// 把这句的(0f, this.RankDefinition.MaximumXP * 0.75f)改成(125f, 500f)就可以招聘自带晋升经验的员工,1级培训完直接2级、2级培训完直接3级
            this.Traits = traitsManager.GenerateRandomTraits(definition._type, this.Sex);
            this.GuiltTripFlavourText = traitsManager.GetGuiltTripFlavourText(this.Sex);
            this.AssignRandomQualifications(qualifications, metagame, level, chanceOfEmptyTrainingSlot);
            this.SetupVisuals(definition);
      }
以上改法二选一

hodala 发表于 2022-4-11 16:18

本帖最后由 hodala 于 2022-4-11 17:35 编辑

在 JobApplicant 类 AssignRandomQualifications 方法中
添加

this.Rank = 0 - 4
0 = 等级 0
4 = 等级 5

至於概率多是用随机看是等级高多出亦或是低出

k26451864 发表于 2022-4-11 20:14

hodala 发表于 2022-4-11 16:18
在 JobApplicant 类 AssignRandomQualifications 方法中
添加



这个会出现隐藏技能栏,rank+5满级员工会有10个技能栏

k26451864 发表于 2022-4-11 20:25

本帖最后由 k26451864 于 2022-4-12 10:17 编辑

hodala 发表于 2022-4-11 16:18
在 JobApplicant 类 AssignRandomQualifications 方法中
添加


其实我找到代用的方法了
不过还是要谢谢你的解答


hodala 发表于 2022-4-12 06:17

厉害啊~感谢分享方法
页: [1]
查看完整版本: 1.29.36招聘员工时的员工等级控制方法