添加好特质,移除坏特质,替换压力反应,更改喜悦反,应我全都要(密码回帖私你)
本帖最后由 fanvalen 于 2022-10-10 18:18 编辑通过长时间技术积累,今天终于成功实现上面功能
先看个图
增加后多达39个特质,去掉一个荧光棒
多个喜悦反应同时拥有
如何实现的就是神经振荡器
GeneShuffler.ApplyRandomTrait 振荡器核心
private void ApplyRandomTrait(Worker worker)
{
Traits component = worker.GetComponent<Traits>();
List<string> list = new List<string>();
foreach (DUPLICANTSTATS.TraitVal traitVal in DUPLICANTSTATS.GENESHUFFLERTRAITS)
{
if (!component.HasTrait(traitVal.id))
{
list.Add(traitVal.id);
Trait trait = Db.Get().traits.TryGet(traitVal.id);
worker.GetComponent<Traits>().Add(trait);
this.SetConsumed(false);
}
}
foreach (DUPLICANTSTATS.TraitVal traitVal2 in DUPLICANTSTATS.BADTRAITS)
{
if (component.HasTrait(traitVal2.id))
{
Trait trait2 = Db.Get().traits.TryGet(traitVal2.id);
worker.GetComponent<Traits>().Remove(trait2);
}
}
foreach (DUPLICANTSTATS.TraitVal traitVal3 in DUPLICANTSTATS.SPECIALTRAITS)
{
if (component.HasTrait(traitVal3.id))
{
Trait trait3 = Db.Get().traits.TryGet(traitVal3.id);
worker.GetComponent<Traits>().Remove(trait3);
}
}
foreach (DUPLICANTSTATS.TraitVal traitVal4 in DUPLICANTSTATS.GOODTRAITS)
{
if (traitVal4.id != "GlowStick" && !component.HasTrait(traitVal4.id))
{
Trait trait4 = Db.Get().traits.TryGet(traitVal4.id);
worker.GetComponent<Traits>().Add(trait4);
}
}
foreach (DUPLICANTSTATS.TraitVal traitVal5 in DUPLICANTSTATS.JOYTRAITS)
{
if (!component.HasTrait(traitVal5.id))
{
Trait trait5 = Db.Get().traits.TryGet(traitVal5.id);
worker.GetComponent<Traits>().Add(trait5);
}
}
foreach (DUPLICANTSTATS.TraitVal traitVal6 in DUPLICANTSTATS.STRESSTRAITS)
{
Trait trait6 = Db.Get().traits.TryGet(traitVal6.id);
worker.GetComponent<Traits>().Remove(trait6);
}
Trait trait7 = Db.Get().traits.TryGet("UglyCrier");
worker.GetComponent<Traits>().Add(trait7);
if (list.Count > 0)
{
return;
}
InfoDialogScreen infoDialogScreen = (InfoDialogScreen)GameScreenManager.Instance.StartScreen(ScreenPrefabs.Instance.InfoDialogScreen.gameObject, GameScreenManager.Instance.ssOverlayCanvas.gameObject, GameScreenManager.UIRenderTarget.ScreenSpaceOverlay);
string text2 = string.Format(UI.GENESHUFFLERMESSAGE.BODY_FAILURE, worker.GetProperName());
infoDialogScreen.SetHeader(UI.GENESHUFFLERMESSAGE.HEADER).AddPlainText(text2).AddDefaultOK(false);
}基本算是重写这个功能了那就直接全部替换,
振荡器可无限使用,振荡器带的特质也一次全部加上
压力反应全部改成了大哭,特质数量39个好的(已经是全部了)
喜悦反应5个全有
众多特质里有冲突的特质不生效比如独侠客,整个档只有一个小人才会生效 密码是什么啊 ww200001 发表于 2022-8-13 21:32
密码是什么啊
看私聊消息哈
谢谢分享 话说 一基地的小人都在发气球怎么整 密码多少? 138532 发表于 2022-8-14 21:00
话说 一基地的小人都在发气球怎么整
人手一个就不发了,不是休闲时间不会发
气球增加移动速度来着
当然你也可以不添加气球喜悦
改进代码
foreach (DUPLICANTSTATS.TraitVal traitVal5 in DUPLICANTSTATS.JOYTRAITS)
{
if (traitVal5.id!="BalloonArtist" &&!component.HasTrait(traitVal5.id))
{
Trait trait5 = Db.Get().traits.TryGet(traitVal5.id);
worker.GetComponent<Traits>().Add(trait5);
}
}
或者改成只添加某个喜悦特质,替换上面代码
foreach (DUPLICANTSTATS.TraitVal traitVal5 in DUPLICANTSTATS.JOYTRAITS)
{
if (component.HasTrait(traitVal5.id))
{
Trait trait5 = Db.Get().traits.TryGet(traitVal5.id);
worker.GetComponent<Traits>().Remove(trait5);
}
}
Trait trait7 = Db.Get().traits.TryGet("SuperProductive");
worker.GetComponent<Traits>().Add(trait7);
感谢解惑 密码多少呀 亲密码,谢谢 回去了我也试试
密码
!!!
顶顶顶顶顶顶 有个特质是不能创作,能不能去掉啊 密码是什么啊 大佬,是有文件吗
页:
[1]