飢餓,口渴,無聊,尿急等等需求降低
本帖最后由 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
另外如果想完全不需要吃喝上廁所,可以把/=改成-=那就是直接扣掉需求值,-=後面的數值越大,就越不需要吃喝跑廁所
以上員工與病患通用
消灭0回复,哈哈:lol 本帖最后由 s81511 于 2018-10-1 13:38 编辑
anlonbin 发表于 2018-9-30 22:26
消灭0回复,哈哈
我剛剛測試發現,這樣病人的健康也降得很快,health那一排,也許可以改成=100f,謝謝你啦,其實我只是想把自己發現的東西放上來跟大家分享
s81511 发表于 2018-9-30 23:00
我剛剛測試發現,這樣病人的健康也降得很快,health那一排,也許可以改成*=100f,謝謝你啦,其實我只是想 ...
好的,谢谢!其实改多了游戏腻得快
本帖最后由 s81511 于 2018-10-1 15:26 编辑
anlonbin 发表于 2018-9-30 23:25
好的,谢谢!其实改多了游戏腻得快
每個人的樂趣不盡相同,我的樂趣是看到修改生效
正在看c#入门位的就是看懂代码回来做mod jokeabc 发表于 2018-9-30 23:57
正在看c#入门位的就是看懂代码回来做mod
我也不懂C# 但是可能是因為很久以前念過資訊相關科系,看得懂一點點編程架構
修改备忘:员工体力不减、不饥饿、不口渴、不需要上厕所
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: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 倍缩小经测试比较合适,不像之前那样要手忙脚乱的替换员工了。
帖主的修改比较暴力直接哈,24年steam版本表示加函数的方法大多都是报错的,9楼大佬的方法我试了报错。
页:
[1]