zealot180 发表于 2018-9-25 12:08

修改员工只刷好的特性的方法-----------

本帖最后由 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




feee999 发表于 2018-9-25 21:47

好东西,但是对于我们这些不懂编程和英语小白看着实在吃力啊!

yhypaolo 发表于 2018-9-26 10:01

支持支持

jokeabc 发表于 2018-9-26 11:31

本帖最后由 jokeabc 于 2018-9-26 13:40 编辑

6666666

karsh 发表于 2018-9-26 12:30

楼主,怎样修改员工经验倍数?

sd3419075 发表于 2018-9-26 20:23

请问下大神,治愈者,体高能量(体能) 是哪个啊?

菲121 发表于 2018-9-26 21:56

{:3_107:}dalao一替换文件,进游戏卡在界面

feee999 发表于 2018-9-26 22:18

希望能完善啊,非常感谢

wwerty4567 发表于 2018-9-26 23:34

本帖最后由 wwerty4567 于 2018-9-26 23:43 编辑

强烈支持啊。。这么好的帖子,可惜可能是版本不对,一替换就无法进入游戏

3dm438 发表于 2018-9-27 09:34

支持下。

zealot180 发表于 2018-9-27 10:37

sd3419075 发表于 2018-9-26 20:23
请问下大神,治愈者,体高能量(体能) 是哪个啊?

这2个可能在其它几种特性
我没时间一个个找.:lol

wwerty4567 发表于 2018-9-27 23:55

治愈者 好像是 CharacterModifierAtrribute

tiaolai 发表于 2018-10-10 11:49

最新版用不了了,卡在载入

nonu18 发表于 2018-10-10 12:23

感谢楼主分享

浮华一生、淡忘 发表于 2018-10-13 20:39

感谢分享!!!!!!!!!!!!!本来我已经对这个论坛失望了,觉得这个论坛没有前途了,心里充满了悲哀。但是看了你的这个帖子,又让我对论坛产生了希望。是你让我的心里重新燃起希望之火,是你让我的心死灰复燃,是你拯救了我一颗拨凉拨凉的心!本来我决定不会在论坛回任2018年10月13日20时39分55秒

披着人皮的魔鬼 发表于 2018-10-18 10:43

楼主更新下吧,新版本用不了

kong9901 发表于 2018-11-5 08:12

本帖最后由 kong9901 于 2018-11-5 08:22 编辑

哎,伸手党是真的多,版本更新就不能用了?扯淡,代码调用是一样的,作为一个没有读完初中的无编程基础菜鸟,我参考楼主大神的代码,手动修改,现在已经可以达到在自己的MOD中,定额每个员工招募时刷新1条到所有条正面特性了。

zkmbz01 发表于 2018-11-13 04:37

谢谢楼主分享~

georgehaha 发表于 2019-3-27 11:14

mark~~~~~~~~~~~~~~~~~

jihuaaini 发表于 2019-5-13 18:37

求楼主更新或者说明下原理,研究了三天了,还是不行,只能控制刷出的数量,不能控制刷出的好坏

wshjue 发表于 2022-3-13 12:53

修改了培训速度后,只要治愈者,精神抖擞,不知疲意魅力十足 乐观主义者 我很便宜就好了。
页: [1]
查看完整版本: 修改员工只刷好的特性的方法-----------