3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 5528|回复: 9
打印 上一主题 下一主题

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

[复制链接]

3

主题

157

帖子

243

积分

中级玩家

Rank: 3Rank: 3

贡献度
5
金元
2231
积分
243
精华
0
注册时间
2011-4-8
跳转到指定楼层
主题
发表于 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; 就好,這是沒有更動過的幸福值計算,直接鎖定幸福值的帖子在此


另外如果想完全不需要吃喝上廁所,可以把/=改成-=  那就是直接扣掉需求值,-=後面的數值越大,就越不需要吃喝跑廁所

以上員工與病患通用

评分

1

查看全部评分

回复

使用道具 举报

10

主题

3439

帖子

8343

积分

游戏精英

Rank: 8Rank: 8

贡献度
36
金元
81993
积分
8343
精华
0
注册时间
2009-5-17
舒服的沙发
发表于 2018-9-30 22:26 | 只看该作者
消灭0回复,哈哈
回复 支持 反对

使用道具 举报

3

主题

157

帖子

243

积分

中级玩家

Rank: 3Rank: 3

贡献度
5
金元
2231
积分
243
精华
0
注册时间
2011-4-8
硬硬的板凳
 楼主| 发表于 2018-9-30 23:00 | 只看该作者
本帖最后由 s81511 于 2018-10-1 13:38 编辑
anlonbin 发表于 2018-9-30 22:26
消灭0回复,哈哈

我剛剛測試發現,這樣病人的健康也降得很快,health那一排,也許可以改成=100f,謝謝你啦,其實我只是想把自己發現的東西放上來跟大家分享

回复 支持 反对

使用道具 举报

10

主题

3439

帖子

8343

积分

游戏精英

Rank: 8Rank: 8

贡献度
36
金元
81993
积分
8343
精华
0
注册时间
2009-5-17
冰凉的地板
发表于 2018-9-30 23:25 | 只看该作者
s81511 发表于 2018-9-30 23:00
我剛剛測試發現,這樣病人的健康也降得很快,health那一排,也許可以改成*=100f,謝謝你啦,其實我只是想 ...

好的,谢谢!其实改多了游戏腻得快
回复 支持 反对

使用道具 举报

3

主题

157

帖子

243

积分

中级玩家

Rank: 3Rank: 3

贡献度
5
金元
2231
积分
243
精华
0
注册时间
2011-4-8
5#
 楼主| 发表于 2018-9-30 23:32 | 只看该作者
本帖最后由 s81511 于 2018-10-1 15:26 编辑
anlonbin 发表于 2018-9-30 23:25
好的,谢谢!其实改多了游戏腻得快

每個人的樂趣不盡相同,我的樂趣是看到修改生效
回复 支持 反对

使用道具 举报

16

主题

448

帖子

1375

积分

游戏狂人

Rank: 6Rank: 6

贡献度
102
金元
9674
积分
1375
精华
0
注册时间
2013-7-26

3DM MOD站(白银)

6#
发表于 2018-9-30 23:57 | 只看该作者
正在看c#入门位的就是看懂代码回来做mod
回复 支持 反对

使用道具 举报

3

主题

157

帖子

243

积分

中级玩家

Rank: 3Rank: 3

贡献度
5
金元
2231
积分
243
精华
0
注册时间
2011-4-8
7#
 楼主| 发表于 2018-9-30 23:59 | 只看该作者
jokeabc 发表于 2018-9-30 23:57
正在看c#入门位的就是看懂代码回来做mod

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

使用道具 举报

0

主题

128

帖子

190

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1904
积分
190
精华
0
注册时间
2012-2-11
8#
发表于 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);
                    
}
               
}
            
}
        
}
回复 支持 反对

使用道具 举报

11

主题

55

帖子

86

积分

初级玩家

Rank: 2

贡献度
6
金元
621
积分
86
精华
0
注册时间
2021-10-1
9#
发表于 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 倍缩小经测试比较合适,不像之前那样要手忙脚乱的替换员工了
回复 支持 反对

使用道具 举报

1

主题

11

帖子

45

积分

初级玩家

Rank: 2

贡献度
6
金元
211
积分
45
精华
0
注册时间
2024-1-31
10#
发表于 2024-2-2 04:15 | 只看该作者
帖主的修改比较暴力直接哈,24年steam版本表示加函数的方法大多都是报错的,9楼大佬的方法我试了报错。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2025-2-7 20:44 , Processed in 0.132127 second(s), 16 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表