3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 1567|回复: 4
打印 上一主题 下一主题

[分享] 1.29.36招聘员工时的员工等级控制方法

[复制链接]

40

主题

1610

帖子

1730

积分

游戏狂人

Rank: 6Rank: 6

贡献度
71
金元
14361
积分
1730
精华
1
注册时间
2009-3-10
QQ
跳转到指定楼层
主题
发表于 2022-4-9 13:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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);
        }
以上改法二选一

回复

使用道具 举报

4

主题

482

帖子

758

积分

超级玩家

Rank: 5Rank: 5

贡献度
19
金元
6818
积分
758
精华
0
注册时间
2009-11-18
舒服的沙发
发表于 2022-4-11 16:18 | 只看该作者
本帖最后由 hodala 于 2022-4-11 17:35 编辑

在 JobApplicant 类 AssignRandomQualifications 方法中
添加

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

至於概率多是用随机看是等级高多出亦或是低出
回复 支持 反对

使用道具 举报

40

主题

1610

帖子

1730

积分

游戏狂人

Rank: 6Rank: 6

贡献度
71
金元
14361
积分
1730
精华
1
注册时间
2009-3-10
QQ
硬硬的板凳
 楼主| 发表于 2022-4-11 20:14 | 只看该作者
hodala 发表于 2022-4-11 16:18
在 JobApplicant 类 AssignRandomQualifications 方法中
添加

这个会出现隐藏技能栏,rank+5满级员工会有10个技能栏
回复 支持 反对

使用道具 举报

40

主题

1610

帖子

1730

积分

游戏狂人

Rank: 6Rank: 6

贡献度
71
金元
14361
积分
1730
精华
1
注册时间
2009-3-10
QQ
冰凉的地板
 楼主| 发表于 2022-4-11 20:25 | 只看该作者
本帖最后由 k26451864 于 2022-4-12 10:17 编辑
hodala 发表于 2022-4-11 16:18
在 JobApplicant 类 AssignRandomQualifications 方法中
添加

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


回复 支持 反对

使用道具 举报

4

主题

482

帖子

758

积分

超级玩家

Rank: 5Rank: 5

贡献度
19
金元
6818
积分
758
精华
0
注册时间
2009-11-18
5#
发表于 2022-4-12 06:17 | 只看该作者
厉害啊~感谢分享方法
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2025-2-12 17:51 , Processed in 0.172429 second(s), 15 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表