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 17:35 编辑
在 JobApplicant 类 AssignRandomQualifications 方法中
添加
this.Rank = 0 - 4
0 = 等级 0
4 = 等级 5
至於概率多是用随机看是等级高多出亦或是低出
hodala 发表于 2022-4-11 16:18
在 JobApplicant 类 AssignRandomQualifications 方法中
添加
这个会出现隐藏技能栏,rank+5满级员工会有10个技能栏
本帖最后由 k26451864 于 2022-4-12 10:17 编辑
hodala 发表于 2022-4-11 16:18
在 JobApplicant 类 AssignRandomQualifications 方法中
添加
其实我找到代用的方法了
不过还是要谢谢你的解答
厉害啊~感谢分享方法
页:
[1]