修改员工只刷好的特性的方法-----------
本帖最后由 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
好东西,但是对于我们这些不懂编程和英语小白看着实在吃力啊! 支持支持 本帖最后由 jokeabc 于 2018-9-26 13:40 编辑
6666666
楼主,怎样修改员工经验倍数? 请问下大神,治愈者,体高能量(体能) 是哪个啊? {:3_107:}dalao一替换文件,进游戏卡在界面 希望能完善啊,非常感谢 本帖最后由 wwerty4567 于 2018-9-26 23:43 编辑
强烈支持啊。。这么好的帖子,可惜可能是版本不对,一替换就无法进入游戏 支持下。 sd3419075 发表于 2018-9-26 20:23
请问下大神,治愈者,体高能量(体能) 是哪个啊?
这2个可能在其它几种特性
我没时间一个个找.:lol
治愈者 好像是 CharacterModifierAtrribute
最新版用不了了,卡在载入 感谢楼主分享
感谢分享!!!!!!!!!!!!!本来我已经对这个论坛失望了,觉得这个论坛没有前途了,心里充满了悲哀。但是看了你的这个帖子,又让我对论坛产生了希望。是你让我的心里重新燃起希望之火,是你让我的心死灰复燃,是你拯救了我一颗拨凉拨凉的心!本来我决定不会在论坛回任2018年10月13日20时39分55秒 楼主更新下吧,新版本用不了 本帖最后由 kong9901 于 2018-11-5 08:22 编辑
哎,伸手党是真的多,版本更新就不能用了?扯淡,代码调用是一样的,作为一个没有读完初中的无编程基础菜鸟,我参考楼主大神的代码,手动修改,现在已经可以达到在自己的MOD中,定额每个员工招募时刷新1条到所有条正面特性了。
谢谢楼主分享~ mark~~~~~~~~~~~~~~~~~ 求楼主更新或者说明下原理,研究了三天了,还是不行,只能控制刷出的数量,不能控制刷出的好坏 修改了培训速度后,只要治愈者,精神抖擞,不知疲意魅力十足 乐观主义者 我很便宜就好了。
页:
[1]