中级玩家
 
- 贡献度
- 4
- 金元
- 1350
- 积分
- 151
- 精华
- 0
- 注册时间
- 2008-1-3
|
本帖最后由 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
查看全部评分
-
|