游戏狂人
- 贡献度
- 118
- 金元
- 7803
- 积分
- 1252
- 精华
- 0
- 注册时间
- 2009-11-4
|
本帖最后由 zealot180 于 2018-9-26 00:13 编辑
首先我是参考http://bbs.3dmgame.com/thread-5785235-1-1.html这位兄弟的贴子.
修改CharacterTraitsManager的
public CharacterTraits GenerateRandomTraits(StaffDefinition.Type staffType, Character.Sex sex)方法
如下
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))
{
bool goodModifier = false;
foreach (CharacterModifier characterModifier in characterTraitDefinition.Modifiers)
{
CharacterModifierHappiness happiness = characterModifier as CharacterModifierHappiness;
CharacterModifierInteractWithOther mwOther = characterModifier as CharacterModifierInteractWithOther;
CharacterModifierMovementSpeed ms = characterModifier as CharacterModifierMovementSpeed;
CharacterModifierTrainingLearningMultiplier mt = characterModifier as CharacterModifierTrainingLearningMultiplier;
if (happiness != null)
{
if (happiness.Percent >= 1f)
{
goodModifier = true;
break;
}
}
else if (ms != null)
{
if (ms.Multiplier >= 1f)
{
goodModifier = true;
break;
}
}
else if (mt != null)
{
if (mt.Modifier >= 0f)
{
goodModifier = true;
break;
}
}
else if (mwOther != null)
{
if (mwOther.Type.ToString() == "Nausea" || mwOther.Type.ToString() == "Boredom" || mwOther.Type.ToString() == "Litter")
{
if (mwOther.Amount < 1f)
{
goodModifier = true;
break;
}
}
else if (mwOther.Amount > 1f)
{
goodModifier = true;
break;
}
}
}
if (goodModifier)
{
list.Add(characterTraitDefinition);
}
}
}
return new CharacterTraits(list, this._config.FlavourTraits.Instance.GenerateFlavour(numTraits, sex));
}
----------------------------
CharacterModifierHappiness 表示是员工的幸福度
CharacterModifierMovementSpeed 精神抖擞
CharacterModifierTrainingLearningMultiplier 学习速度
CharacterModifierInteractWithOther 和别人交流时的动作
------------
PS: 园艺高手和垃圾制造者好像是在 CharacterModifierIdleOverride
但是我没找到区分方法
其它几种特性
CharacterModifierIdleOverride : CharacterModifier
CharacterModifierAtrribute : CharacterModifier
CharacterModifierAttachActor : CharacterModifier
CharacterModifierStopAndDisableInteractions : CharacterModifier
CharacterModifiersComponent : EntityTickComponent
CharacterModifierIgnoreStatusEffect : CharacterModifier
CharacterModifierInfected : CharacterModifier
CharacterModifierGhostbuster : CharacterModifier
CharacterModifierWalkOverride : CharacterModifier
CharacterModifierLocoAnimationGraph : CharacterModifier
CharacterModifierTrainingTeachingMultiplier : CharacterModifierMultiplierBase
CharacterModifierAtrributeMultiplier : CharacterModifierMultiplierBase
CharacterModifierAtrributeAdditive : CharacterModifier
附上文件吧。覆盖到Two Point Hospital\TPH_Data\Managed。注意备份原文件
https://pan.baidu.com/s/1O9pvEunFf2yzSLMkrxYd7g
4hnj
|
|