s81511 发表于 2018-9-30 20:44

飢餓,口渴,無聊,尿急等等需求降低

本帖最后由 s81511 于 2018-10-1 15:26 编辑

CharacterDefinition下 public float GetAttributeModifer(CharacterAttributes.Type type)
      {
            switch (type)
            {
            case CharacterAttributes.Type.Hunger:
                return this._needHungerModifer /= 100f;//飢餓
            case CharacterAttributes.Type.Thirst:
                return this._needThirstModifer /= 100f;//口渴
            case CharacterAttributes.Type.Toilet:
                return this._needToiletModifer /= 100f;//尿急度
            case CharacterAttributes.Type.Boredom:
                return this._needBoredomModifer /= 100f; //無聊度
            case CharacterAttributes.Type.Health:
                return this._needHealthModifer = 100f;//健康度恆定100(保持最高健康度)
            case CharacterAttributes.Type.Happiness:
                return this._needHappinessModifier = 100f; //幸福度恆定100(保持最高幸福)
            }
            return 0f;
      }
    }
}各項需求百分之一倍下降
如果幸福值的地方已經參考過之前某大神寫的幸福和體力修改的話 就維持 return this._needHappinessModifier; 就好,這是沒有更動過的幸福值計算,直接鎖定幸福值的帖子在此
http://bbs.3dmgame.com/thread-5787527-1-1.html
另外如果想完全不需要吃喝上廁所,可以把/=改成-=那就是直接扣掉需求值,-=後面的數值越大,就越不需要吃喝跑廁所
以上員工與病患通用

anlonbin 发表于 2018-9-30 22:26

消灭0回复,哈哈:lol

s81511 发表于 2018-9-30 23:00

本帖最后由 s81511 于 2018-10-1 13:38 编辑

anlonbin 发表于 2018-9-30 22:26
消灭0回复,哈哈
我剛剛測試發現,這樣病人的健康也降得很快,health那一排,也許可以改成=100f,謝謝你啦,其實我只是想把自己發現的東西放上來跟大家分享

anlonbin 发表于 2018-9-30 23:25

s81511 发表于 2018-9-30 23:00
我剛剛測試發現,這樣病人的健康也降得很快,health那一排,也許可以改成*=100f,謝謝你啦,其實我只是想 ...

好的,谢谢!其实改多了游戏腻得快

s81511 发表于 2018-9-30 23:32

本帖最后由 s81511 于 2018-10-1 15:26 编辑

anlonbin 发表于 2018-9-30 23:25
好的,谢谢!其实改多了游戏腻得快
每個人的樂趣不盡相同,我的樂趣是看到修改生效

jokeabc 发表于 2018-9-30 23:57

正在看c#入门位的就是看懂代码回来做mod

s81511 发表于 2018-9-30 23:59

jokeabc 发表于 2018-9-30 23:57
正在看c#入门位的就是看懂代码回来做mod

我也不懂C# 但是可能是因為很久以前念過資訊相關科系,看得懂一點點編程架構

哦Kim 发表于 2020-11-8 00:35

修改备忘:员工体力不减、不饥饿、不口渴、不需要上厕所


Staff类


private void UpdateEnergy(float deltaTime)
      {
            if (this.Energy != null)
            {
                Room roomUsing = base.RoomUsing;
                if (roomUsing != null)
                {
                  roomUsing.Definition.GetStaffEnergyModifier(this, roomUsing);
                  base.GetAttributeMultiplier(CharacterAttributes.Type.Energy);
                  this.Energy.Modify(100f, 1f);//员工体力不减

                   //员工不饥饿
                  AttributeFloat _hunger = this._attributes.GetAttribute(CharacterAttributes.Type.Hunger);
                  if (_hunger != null)
                  {
                        _hunger.SetValue(0f, false);
                  }
                  
                   //员工不口渴
                  AttributeFloat _thrist = this._attributes.GetAttribute(CharacterAttributes.Type.Thirst);
                  if (_thrist != null)
                  {
                        _thrist.SetValue(0f, false);
                  }


                   //员工不需要上厕所
                  AttributeFloat _toilet = this._attributes.GetAttribute(CharacterAttributes.Type.Toilet);
                  if (_toilet != null)
                  {
                        _toilet.SetValue(0f, false);
                  }
                }
            }
      }

lowieliang 发表于 2021-10-17 09:34

本帖最后由 lowieliang 于 2021-10-17 09:38 编辑

    8 楼的修改未免太粗暴了,修改要适度,否则游戏没乐趣了。
    楼主的修改是可行的,唯一的遗憾是没有区别员工和病人。
    我们最终目的是愉快的赚钱,员工的这些属性降低尽量慢,省得由于吃喝拉撒的需求降低快乐度进而要求加薪;病人吃喝拉撒必须正常,否则放饮料机、零食机就没意义了
    我是这么修改的
    TH20.Attributes 类, Update 函数插入红色部分代码
    public void Update()
    {
      float time = GameTime.time;
      float deltaTime = time - this._lastUpdate;
      this._lastUpdate = time;
      if (this._enabled)
      {
            string[] array;
            this._owner.GetAttributeNames(out array);
            for (int i = 0; i < this._attributes.Length; i++)
            {
                if (this._attributes != null)
               {
                  float attributeModifierOverTime = this._owner.GetAttributeModifierOverTime(array);
                  float attributeMultiplier = this._owner.GetAttributeMultiplier(i);
                  if (this._owner is Staff)
                  {
                        CharacterAttributes.Type type = (CharacterAttributes.Type)i;
                        switch (type)
                        {
                            case CharacterAttributes.Type.Hunger:
                              attributeModifierOverTime /= 10f;    // 饥饿度增**度缩小 10 倍
                              break;
                            case CharacterAttributes.Type.Thirst:
                              attributeModifierOverTime /= 10f;    // 口渴度增**度缩小 10 倍
                              break;
                            case CharacterAttributes.Type.Toilet:
                              attributeModifierOverTime /= 10f;    // 尿急度增**度缩小 10 倍
                              break;
                        }
                  }
                  this._attributes.Update(attributeModifierOverTime, deltaTime, attributeMultiplier);
                }
            }
      }
    }
   
   此修改仅针对员工,10 倍缩小经测试比较合适,不像之前那样要手忙脚乱的替换员工了。

zhangafei123 发表于 2024-2-2 04:15

帖主的修改比较暴力直接哈,24年steam版本表示加函数的方法大多都是报错的,9楼大佬的方法我试了报错。
页: [1]
查看完整版本: 飢餓,口渴,無聊,尿急等等需求降低