処理速度はもっと上げてもいいんですけどね。とりあえず、ほかの作業機械に合わせてます。
そのうち、係数設定できるようにするつもりですけど、デフォルトで遅いようであれば直しますので教えてください。
Animal Station については、処理に対して時間をかけてないです。一瞬で終わります。
それはそれでなんかなぁと思ったので、こっちでは時間かけるようにしてます。
100%前に動作させるのは、ポーンが100%になったら処理しようとしてしまうので、それを嫌ったのかもですね。
ポーンで調教はしたいから優先度付けてるけど、毛刈りには行かせたくない!とかいう場合には
100%前に毛刈りしておくと、100%になるまえに機械が毛刈りしてポーンは毛刈りに行かないってな事ができたりしますね。
新鮮な死体については、死体だけって制御入れてないんですよね。腐乱死体の方も入ってないんで。
厳密にいうと、腐っても消えないもので、かつ腐ったものっていう条件なんですよ。食料とか腐ったら消えますよね。
そもそも、日本語だと腐乱死体って書いてありますけど、英語だと"Allow rotten"で
説明が"Allow organic things which have started to rot"ってな感じで死体って表現はなくて有機物全体を示しているんですね。
死体だけなら、死骸のカテゴリの下に置くんでしょうけど、こんな理由があって一番上のカテゴリにあるんでしょうね。
まぁ、デフォルトだと腐っても消えないのは死体だけだからって日本語訳は腐乱死体にしたんでしょうけど。。。
あと全然関係ないMODの悩みとしてCall of Cthulhu - Cultsのペットになる黒い子羊とクトーニアンとformless spawnのADSパッチの作り方がよくわからんです。
既存の体形ならLBE's A Dog Said Easy Patcherでなんとかできたんですけど、触手とか他にない器官をどうすればいいのかお手上げでした。
A17では黒い子羊のはあったのですが流用してもうまく反映しないので…もし何とかなるのでしたら凄く嬉しいです。
というわけで
1置いたら自動で使用禁止してくれる置き場
2Call of Cthulhu - CultsのADSパッチ
3MOD壁への対応
あたりが自分としてはあったら嬉しいMODになります。好意に甘えてすみませぬ。
omni core drillと組み合わせると1日で100万スチール集まったりしますしopmodにこのmodが合わさるととんでもないことになりますからね
自動工作tier3の消費電力上限を1万くらいに制限したりして遊ばせて頂いてます
Androidmodとかと合わせて機械だけでコロニー運営をするRPには欠かせないmodになっているのでこれからも愛用させていただきます
GetInspectString exception on Building_NR_AutoMachineTool_TierThree72637:
System.NullReferenceException: Object reference not set to an instance of an object
at NR_AutoMachineTool.Building_AutoMachineTool.GetTotalWorkAmount (NR_AutoMachineTool.Building_AutoMachineTool working) [0x00000] in <filename unknown>:0
at NR_AutoMachineTool.Building_Base`1[T].GetInspectString () [0x00000] in <filename unknown>:0
at NR_AutoMachineTool.Building_AutoMachineTool.GetInspectString () [0x00000] in <filename unknown>:0
at RimWorld.InspectPaneFiller.DrawInspectStringFor (ISelectable sel, Rect rect) [0x00003] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\MainButtons\Inspect\InspectPaneFiller.cs:177
Verse.Log:Error(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:78)
RimWorld.InspectPaneFiller:DrawInspectStringFor(ISelectable, Rect) (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\MainButtons\Inspect\InspectPaneFiller.cs:197)
RimWorld.InspectPaneFiller:DoPaneContentsFor(ISelectable, Rect) (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\MainButtons\Inspect\InspectPaneFiller.cs:58)
RimWorld.MainTabWindow_Inspect:DoPaneContents(Rect) (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\MainButtons\MainTabWindows\MainTabWindow_Inspect.cs:99)
RimWorld.InspectPaneUtility:InspectPaneOnGUI(Rect, IInspectPane) (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\MainButtons\Inspect\InspectPaneUtility.cs:200)
RimWorld.MainTabWindow_Inspect:DoWindowContents(Rect) (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\MainButtons\MainTabWindows\MainTabWindow_Inspect.cs:84)
Verse.<WindowOnGUI>c__AnonStorey0:<>m__0(Int32) (at C:\Dev\RimWorld\Assets\Scripts\Verse\UI\Windows\Window.cs:202)
UnityEngine.GUI:CallWindowDelegate(WindowFunction, Int32, Int32, GUISkin, Int32, Single, Single, GUIStyle) (at C:\buildslave\unity\build\Runtime\IMGUI\Managed\GUI.cs:1817)
System.NullReferenceException: Object reference not set to an instance of an object
at NR_AutoMachineTool.Building_AutoMachineTool.GetTotalWorkAmount (NR_AutoMachineTool.Building_AutoMachineTool working) [0x00000] in <filename unknown>:0
at NR_AutoMachineTool.Building_Base`1[T].Ready () [0x00000] in <filename unknown>:0
at NR_AutoMachineTool.Building_AutoMachineTool.Ready () [0x00000] in <filename unknown>:0
at NR_AutoMachineTool.MapTickManager.<MapComponentTick>b__1_6 (System.Action a) [0x00000] in <filename unknown>:0
at System.Collections.Generic.List`1[System.Action].ForEach (System.Action`1 action) [0x00018] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections.Generic/List.cs:361
at NR_AutoMachineTool.MapTickManager.<MapComponentTick>b__1_5 (System.Collections.Generic.List`1 l) [0x00000] in <filename unknown>:0
at NR_AutoMachineTool.Utilities.Option`1[System.Collections.Generic.List`1[System.Action]].ForEach (System.Action`1 act) [0x00000] in <filename unknown>:0
at NR_AutoMachineTool.MapTickManager.MapComponentTick () [0x00000] in <filename unknown>:0
at Verse.MapComponentUtility.MapComponentTick (Verse.Map map) [0x00018] in C:\Dev\RimWorld\Assets\Scripts\Verse\Map\MapComponent\MapComponentUtility.cs:27
Verse.Log:Error(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:78)
Verse.MapComponentUtility:MapComponentTick(Map) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Map\MapComponent\MapComponentUtility.cs:28)
Verse.Map:MapPostTick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Map\Map.cs:631)
Verse.TickManager:DoSingleTick_Patch0(Object)
Verse.TickManager:TickManagerUpdate() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickManager.cs:261)
Verse.Game:UpdatePlay() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Game.cs:505)
Verse.Root_Play:Update() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\Root\Root_Play.cs:99)
System.NullReferenceException: Object reference not set to an instance of an object
at NR_AutoMachineTool.Building_AutoMachineTool.<TryStartWorking>b__50_1 (NR_AutoMachineTool.Utilities.Tuple`2 tuple) [0x00000] in <filename unknown>:0
at NR_AutoMachineTool.Utilities.Option`1[NR_AutoMachineTool.Utilities.Tuple`2[RimWorld.Bill,System.Collections.Generic.List`1[NR_AutoMachineTool.Building_AutoMachineTool+ThingAmount]]].Select[<>f__AnonymousType4`2] (System.Func`2 func) [0x00000] in <filename unknown>:0
at NR_AutoMachineTool.Building_AutoMachineTool.TryStartWorking (NR_AutoMachineTool.Building_AutoMachineTool& target, System.Single& workAmount) [0x00000] in <filename unknown>:0
at NR_AutoMachineTool.Building_Base`1[T].Ready () [0x00000] in <filename unknown>:0
at NR_AutoMachineTool.Building_AutoMachineTool.Ready () [0x00000] in <filename unknown>:0
at NR_AutoMachineTool.MapTickManager+<>c.<MapComponentTick>b__1_3 (System.Action a) [0x00000] in <filename unknown>:0
at System.Collections.Generic.List`1[System.Action].ForEach (System.Action`1 action) [0x00018] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections.Generic/List.cs:361
at NR_AutoMachineTool.MapTickManager+<>c.<MapComponentTick>b__1_2 (System.Collections.Generic.HashSet`1 s) [0x00000] in <filename unknown>:0
at NR_AutoMachineTool.Utilities.Option`1[System.Collections.Generic.HashSet`1[System.Action]].ForEach (System.Action`1 act) [0x00000] in <filename unknown>:0
at NR_AutoMachineTool.MapTickManager.MapComponentTick () [0x00000] in <filename unknown>:0
at Verse.MapComponentUtility.MapComponentTick (Verse.Map map) [0x00018] in C:\Dev\RimWorld\Assets\Scripts\Verse\Map\MapComponent\MapComponentUtility.cs:27
更新しました。
- Stunner 追加
- Shield Generator 追加
- Power Plant 追加
- Material Converter マージ
ついでに、SkillLevel(XP) が時間経過で下がらない様にするのと、製造/建築の品質をスキルレベルによって固定にするMODをテスト用に作ってみました。
Mad Skils と No Random Construction Quality の簡易版です。
Mod設定から有効にできます。ついでにフォント変更の機能も組み込みました。 https://github.com/nullre/rw_mods/releases/tag/for_rw1.0
の RW_Tweak.ZIP です。
System.InvalidCastException: Cannot cast from source type to destination type.
at (wrapper managed-to-native) object:__icall_wrapper_mono_object_castclass (object,intptr)
at System.Linq.Enumerable+<CreateCastIterator>c__Iterator0`1[Verse.Projectile].MoveNext () [0x00000] in <filename unknown>:0
at System.Linq.Enumerable+<CreateWhereIterator>c__Iterator1D`1[Verse.Projectile].MoveNext () [0x00000] in <filename unknown>:0
at System.Linq.Enumerable+<CreateWhereIterator>c__Iterator1D`1[Verse.Projectile].MoveNext () [0x00000] in <filename unknown>:0
at System.Collections.Generic.List`1[Verse.Projectile].AddEnumerable (IEnumerable`1 enumerable) [0x00000] in <filename unknown>:0
at System.Collections.Generic.List`1[Verse.Projectile]..ctor (IEnumerable`1 collection) [0x00000] in <filename unknown>:0
at System.Linq.Enumerable.ToList[Projectile] (IEnumerable`1 source) [0x00000] in <filename unknown>:0
at NR_AutoMachineTool.Building_Shield.TryStartWorking (Verse.Thing& target, System.Single& workAmount) [0x00000] in <filename unknown>:0
at NR_AutoMachineTool.Building_Base`1[T].Ready () [0x00000] in <filename unknown>:0
at NR_AutoMachineTool.Building_BaseRange`1[T].Ready () [0x00000] in <filename unknown>:0
at NR_AutoMachineTool.MapTickManager+<>c.<MapComponentTick>b__1_3 (System.Action a) [0x00000] in <filename unknown>:0
at System.Collections.Generic.List`1[System.Action].ForEach (System.Action`1 action) [0x00000] in <filename unknown>:0
at NR_AutoMachineTool.MapTickManager+<>c.<MapComponentTick>b__1_2 (System.Collections.Generic.HashSet`1 s) [0x00000] in <filename unknown>:0
at NR_AutoMachineTool.Utilities.Option`1[System.Collections.Generic.HashSet`1[System.Action]].ForEach (System.Action`1 act) [0x00000] in <filename unknown>:0
at NR_AutoMachineTool.MapTickManager.MapComponentTick () [0x00000] in <filename unknown>:0
at Verse.MapComponentUtility.MapComponentTick (Verse.Map map) [0x00000] in <filename unknown>:0
Verse.Log:Error(String, Boolean)
Verse.MapComponentUtility:MapComponentTick(Map)
Verse.Map:MapPostTick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()