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

注册 登录

QQ登录

只需一步,快速开始

查看: 15351|回复: 12
打印 上一主题 下一主题

[MOD] 修改教程,员工招聘 只出 好的特质

[复制链接]

0

主题

70

帖子

151

积分

中级玩家

Rank: 3Rank: 3

贡献度
4
金元
1350
积分
151
精华
0
注册时间
2008-1-3
跳转到指定楼层
主题
发表于 2019-8-3 11:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 smallest10 于 2019-8-3 11:57 编辑

之前看过 https://bbs.3dmgame.com/thread-5791169-1-1.html 帖子,该帖子是根据 Modifier 来判定是否为好特质的。但是某些 特质 可能会包含多个 Modifier,而且有些特质的数值及类型属性还是private的,因此单纯根据 Modifier 来判定还是比较麻烦甚至不太可行的。个人觉得比较靠谱的判定方法是根据其特质名称来进行过滤,代码如下(不会受游戏语言变化的影响):

修改    public class CharacterTraitsManager   添加以下方法:

        private bool IsGoodTrait(CharacterTraitDefinition ctd)
        
{
            
HashSet<string> hashSet = new HashSet<string>(new string[]
            
{
               
"Traits/Trait_Tireless_ShortName_M",
               
"Traits/Trait_Healer_ShortName_M",
               
"Traits/Trait_Happiness_Higher_ShortName_M",
               
"Traits/Trait_Entertainer_ShortName_M",
               
"Traits/Trait_Hygenic_ShortName_M",
               
"Traits/Trait_Learn_Fast_ShortName_M",
               
"Traits/Trait_Inspiring_ShortName_M",
               
"Traits/Trait_Charming_ShortName_M",
               
"Traits/Trait_PayLow_ShortName_M",
               
"Traits/Trait_Motivated_ShortName_M",
               
"Traits/Trait_Teach_Fast_ShortName_M"
            
});
            
string traitName = ctd.ShortNameLocalisedMale.Term;
            
return hashSet.Contains(traitName);
        
}

同时修改

        public CharacterTraits GenerateRandomTraits(StaffDefinition.Type staffType, Character.Sex sex)
        
{
            
List<CharacterTraitDefinition> list = new List<CharacterTraitDefinition>();
            
int num = RandomUtils.GlobalRandomInstance.Next(this._config.GameplayTraitsMin, this._config.GameplayTraitsMax + 1);
            
int numTraits = RandomUtils.GlobalRandomInstance.Next(this._config.FlavourTraitsMin, this._config.FlavourTraitsMax + 1);
            
for (int i = 0; i < num; i++)
            
{
               
CharacterTraitDefinition characterTraitDefinition = this._traits.Choose(null, RandomUtils.GlobalRandomInstance);
               
if (characterTraitDefinition != null && characterTraitDefinition.CanAdd(list) && characterTraitDefinition.IsValidFor(staffType) && this.IsGoodTrait(characterTraitDefinition))  // <--- 添加了 isGoodTrait 过滤条件,保证被添加的特性为优秀特性
               
{
                    
list.Add(characterTraitDefinition);
               
}
               
else   // <--- 添加该段,保证员工一定会有优秀特性
               
{
                    
num++;
               
}
            
}
            
return new CharacterTraits(list, this._config.FlavourTraits.Instance.GenerateFlavour(numTraits, sex));
        
}



附上各特质的名称,以及其所包含的 Modifier 如下:

====================================
不知疲惫
Traits/Trait_Tireless_ShortName_M

---Modifiers---
TH20.CharacterModifierAtrributeAdditive

====================================
治愈者
Traits/Trait_Healer_ShortName_M

---Modifiers---
TH20.CharacterModifierInteractWithOther

====================================
乐观主义者
Traits/Trait_Happiness_Higher_ShortName_M
---Modifiers---
TH20.CharacterModifierHappiness
TH20.CharacterModifierMicroBehaviour

====================================
艺人
Traits/Trait_Entertainer_ShortName_M

---Modifiers---
TH20.CharacterModifierMicroBehaviour
TH20.CharacterModifierMicroBehaviour
TH20.CharacterModifierInteractWithOther

====================================
小洁癖
Traits/Trait_Hygenic_ShortName_M

---Modifiers---
TH20.CharacterModifierMicroBehaviour
TH20.CharacterModifierAtrributeAdditive
TH20.CharacterModifierInteractWithOther

====================================
一学就会
Traits/Trait_Learn_Fast_ShortName_M

---Modifiers---
TH20.CharacterModifierTrainingLearningMultiplier
TH20.CharacterModifierAtrributeMultiplier

====================================
激励者
Traits/Trait_Inspiring_ShortName_M

---Modifiers---
TH20.CharacterModifierMicroBehaviour
TH20.CharacterModifierInteractWithOther

====================================
魅力十足
Traits/Trait_Charming_ShortName_M
---Modifiers---
TH20.CharacterModifierInteractWithOther

====================================
我很便宜
Traits/Trait_PayLow_ShortName_M
---Modifiers---
TH20.CharacterModifierSalary

====================================
精神抖擞
Traits/Trait_Motivated_ShortName_M

---Modifiers---
TH20.CharacterModifierMovementSpeed

====================================
老师
Traits/Trait_Teach_Fast_ShortName_M

---Modifiers---
TH20.CharacterModifierTrainingTeachingMultiplier

====================================
有趣的人
Traits/Trait_Funny_ShortName_M

---Modifiers---
TH20.CharacterModifierMicroBehaviour
TH20.CharacterModifierMicroBehaviour

====================================
美颜心悸
Traits/Trait_IllnessHeartThrob_ShortName_M

---Modifiers---
TH20.CharacterModifierMicroBehaviour

====================================
园艺高手
Traits/Trait_GreenFingers_ShortName_M

---Modifiers---
TH20.CharacterModifierMicroBehaviour

评分

1

查看全部评分

回复

使用道具 举报

55

主题

795

帖子

2120

积分

3DM创意工坊

Rank: 11Rank: 11Rank: 11Rank: 11

贡献度
183
金元
13284
积分
2120
精华
6
注册时间
2012-4-17

3DM小黄鸡

舒服的沙发
发表于 2021-3-14 20:34 | 只看该作者
jokeabc 发表于 2020-1-6 23:37
M估计是Male男性简写,F=Female是女性。
            Dictionary dictionary = this._traits.List;
        ...

这个具体这么改啊?
回复 支持 反对

使用道具 举报

0

主题

49

帖子

117

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1174
积分
117
精华
0
注册时间
2013-1-24
硬硬的板凳
发表于 2021-8-28 21:20 | 只看该作者
真的没看懂第一段,是在那一段加入吗还是
回复 支持 反对

使用道具 举报

7

主题

427

帖子

385

积分

高级玩家

Rank: 4

贡献度
15
金元
3249
积分
385
精华
0
注册时间
2008-3-8
冰凉的地板
发表于 2022-1-4 00:02 | 只看该作者
感谢最新版本修改成功
回复 支持 反对

使用道具 举报

59

主题

1445

帖子

1833

积分

游戏狂人

Rank: 6Rank: 6

贡献度
101
金元
14292
积分
1833
精华
0
注册时间
2008-8-3
5#
发表于 2022-1-4 20:37 | 只看该作者
这个文件在哪都没找到
回复 支持 反对

使用道具 举报

20

主题

1092

帖子

1141

积分

游戏狂人

Rank: 6Rank: 6

贡献度
17
金元
10731
积分
1141
精华
0
注册时间
2009-2-7
6#
发表于 2022-3-14 20:02 | 只看该作者
试了两天 还是没有https://bbs.3dmgame.com/thread-5889267-1-1.html 这个好用,可是我想要的是每个刷出来的人都有治愈者属性,不知道刷新时间改哪里。
回复 支持 反对

使用道具 举报

0

主题

67

帖子

125

积分

中级玩家

Rank: 3Rank: 3

贡献度
5
金元
1054
积分
125
精华
0
注册时间
2008-9-13
7#
发表于 2022-12-14 09:51 | 只看该作者
jokeabc 发表于 2020-1-6 23:37
M估计是Male男性简写,F=Female是女性。
            Dictionary dictionary = this._traits.List;
        ...

做出来了吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-13 12:35 , Processed in 0.160818 second(s), 16 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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