[A15] Crafting Hysteresis (v1.0.4)

Started by ZorbaTHut, August 21, 2016, 09:42:44 PM

Previous topic - Next topic

Fluffy (l2032)

for the record, it's colony manager. Work tab is entirely different and won't conflict.

As for the Colony Manager, that depends on how Zorba has implemented this, if the game can still handle 'vanilla' bills assigned to workstations it'll probably be fine. If not... stuff will break. Probably quite dramatically.

In any case, I'll have a look over both mods sometime soonish to see what I can do about any incompatibility, hysteresis is something that's been on my wishlist for a long time, and there's various other things that need doing on the manager.

ZorbaTHut

Quote from: Fluffy (l2032) on August 23, 2016, 03:33:00 AM
As for the Colony Manager, that depends on how Zorba has implemented this, if the game can still handle 'vanilla' bills assigned to workstations it'll probably be fine. If not... stuff will break. Probably quite dramatically.

The core code tweak is that I detoured the MakeNewBill function to return new kinds of bill. If you ever do "new Bill_Production" on your own, it'll break; if you never do that, it'll probably work fine.

That said, all it really needs for compatibility is to create a new CraftingHysteresis.Bill_Production_Hysteresis instead, and CraftingHysteresis.Bill_ProductionWithUft_Hysteresis in place of Bill_Production_Hysteresis. That might be doable, along with detecting if this mod is installed, with reflection.

CannibarRechter

ColonyManager is a pretty essential mod for larger colonies. The auto slaughter capability alone is worth its weight in gold. Automatic slaughter, auto hunt, auto wood chop, and auto berry gather are all features I thinks should be base features of the game.
CR All Mods and Tools Download Link
CR Total Texture Overhaul : Gives RimWorld a Natural Feel
CR Moddable: make RimWorld more moddable.
CR CompFX: display dynamic effects over RimWorld objects

Muramas

OMG I have been wanting this for a while.

Deimos Rast

#StopPluginAbuse

Ford_Prefect

I hope Ludeon adds this to the standard game. 

ZorbaTHut

Updated for A15. This version also removes the dependency on CCL (which, as of this writing, does not yet support A15.)

BlackSmokeDMax

Quote from: ZorbaTHut on August 28, 2016, 03:35:22 PM
Updated for A15. This version also removes the dependency on CCL (which, as of this writing, does not yet support A15.)

You sir (or Madam), are a god damn genius! Thank you so much for this mod, can't believe I haven't looked at this thread since I first saw it start appearing, finally saw it today on Steam!

Deimos Rast

#23
actually there is a way to manually unpause a paused bill.
Say a bill has completed and it sits at 1/100 and has a "Pause at Completion" enabled.
Toggle or Enable "Resume on Low Inventory" then add a +1 to the bill (the bill, not the threshold) and it should unpause...basically you're tricking the mod into tripping the "Resume" feature.
Or something like that.

I'm sure that's clear as mud, but I'm not at the right computer or I'd get it exactly.
#StopPluginAbuse

AseaHeru


Hazel

Might be an issue with the butchers table in a15 ( 0.15.1280 ). I had a brand new world and new table. Adding a new bill to butcher creature, details and toggling 'Resume on low stock' resulted in the details window closing, the bill not showing on the table and when clicking to add a new bill the select sound is made but no new bill is add/shown.
I created a second butchers table which had exactly the same issue

ZorbaTHut

Quote from: Hazel on August 31, 2016, 05:42:19 AM
Might be an issue with the butchers table in a15 ( 0.15.1280 ). I had a brand new world and new table. Adding a new bill to butcher creature, details and toggling 'Resume on low stock' resulted in the details window closing, the bill not showing on the table and when clicking to add a new bill the select sound is made but no new bill is add/shown.
I created a second butchers table which had exactly the same issue

I'll see what I can figure out - my life is kind of busy right now and it may take a few days, though. (Haven't had a chance to touch A15 yet ;.;)

Dingo

There is a visual / UI bug with CH and the Stonecutter's Table (been there in A14 as well).



Notice the "Counting: stone blocks" line. I believe it's pushing your toggles up by 1 line because otherwise the rest of the UI wouldn't fit, and so they inevitably clash with the allowed skill slider. You can still click on the pause toggle, it's just really hard and inconvenient (sometimes it clicks on the skill slider, instead).

DarkSlayerEX

I would like to request a toggleable option to only allow a bill to be done if the input items are in stock above a threshold.

Example:
"Make Component" until you have 50, while Steel is Above 100

This would also allow mods like "Storage Crates" to require less micromanagement.
Example:
"Store Steel In Crate" Forever, while Steel is above 300.

ZorbaTHut

Quote from: Dingo on September 01, 2016, 10:44:48 PM
Notice the "Counting: stone blocks" line. I believe it's pushing your toggles up by 1 line because otherwise the rest of the UI wouldn't fit, and so they inevitably clash with the allowed skill slider. You can still click on the pause toggle, it's just really hard and inconvenient (sometimes it clicks on the skill slider, instead).

Oof, yeah. The problem is that there's no way to say "put these new interface elements below the existing ones" - I can either reimplement *the entire dialog* or I can put them at a fixed location that hopefully nothing conflicts with. Thought I'd put them down far enough, guess not. I'll come up with a solution.

Quote from: DarkSlayerEX on September 02, 2016, 01:23:27 AM
I would like to request a toggleable option to only allow a bill to be done if the input items are in stock above a threshold.

While I like the idea, this is currently outside the scope of what I want to tackle with this mod. You may want to suggest it to someone doing a larger-scale management mod; perhaps Colony Manager.

(Alternatively, if someone who knows code wants to implement it, I'd be happy to accept a pull request ;) )