[Mod] (WIP) SIN Advanced Belts

Want to change the way the big pharma universe works? Have your own cool ideas for mods?... discuss them here!
Makitk
Junior Line Supervisor
Junior Line Supervisor
Posts: 10
Joined: Fri Sep 18, 2015 7:18 pm

[Mod] (WIP) SIN Advanced Belts

Postby Makitk » Fri Sep 18, 2015 9:46 pm

I have been pondering more advanced belt controls, based on my experiences with traintracks in (Open) Transport Tycoon Deluxe, and knowledge of advanced belt controls in systems such as mail-sorting and factories I have had the experience of working in.
Finding this thread truly sparked my interest in seeing if I could realize my ideas.

Mod status: Plausibility Research

I personally am hoping to add the following items to a new belt-menu to be created, which would work similar to the other existing building menus, once I figure out how to add them:
  • Belt
    Standard belt.

    Code: Select all

    size: x:1 z:1
    cost: 100
    processCost:
    processTime:
  • Signaled Belt Crossing
    An "unblockable" level crossing.

    Code: Select all

    Research group: "Basic Auxilliary".
    duration: 25
    projectSize: 1

    size: x:1 z:1
    cost: 150
    processCost:
    processTime:

    Using the following existing codebit, this should prevent ingredients halting in the center of a level crossing, stopping them from blocking off the entire transport system when a queue forms:

    Code: Select all

    "needsAllOutputsOpen":true,

    This will require a new x:1, z:1 belt sprite with traffic lights at the two inputs, but nothing special at the outputs opposite them. As the code may require the outputs to be specified for the codebit mentioned above, they should be clearly marked. It should not be a problem to edit existing belt sprites for a level-crossing, for maximum compatibility with the various resources being moved about.

    Possibility of adding: Plausible
  • Belt Bridge
    Flyover belt crossing.

    Code: Select all

    Research group: "Advanced Auxilliary".
    duration: 250
    projectSize: 6

    size: x:1 z:3
    cost: 200
    processCost:
    processTime:
    This will require a new x:1,z:3 sprite of a belt raising up to cross over a level belt underneath. For maximum compatibility with the various resources being moved about this may have to be covered. You should not have to mark the exits as it should be multi-directional as all standard belts.

    Possibility of adding: Plausible
  • Belt Switcher
    A concentration-level related belt switcher so a single belt can be used to transport ingredients to various outputs.

    Code: Select all

    Research group: "Experimental Processing".
    duration: 300
    projectSize: 15

    size: x:2 z:2
    cost: 200
    processCost: 40
    processTime: 4
    This will require a new x:2 z:2 sprite. It could best look like a belt with a scanner apparatus mounted over it. The input and outputs should be clearly marked.

    Possibility of adding: Highly Unlikely
    I was looking at things like the Atomic Sequencer and Chromatograph to figure out how to determine concentration and give the player an option for switching ingredients depending on their concentration level. The packer, surprisingly, also has such a piece of code, which has been commented out. They use the following code bits:

    Code: Select all

    Atomic Sequencer:
    "processor":{"chooseConc":[2,10,18]},
    Chromatograph:
    "processor":{"invertConc":true},
    Packer:
    //"processor":{"linearConc":0},
    I cannot find where the effects of these codebits are set other than in the base code. There does not seem to be a way to change these in the JSON files available for editing, so I don't know if they could ever be changed or a new effect coded in, leading me to believe that this switcher may be impossible to realize with a mod right at this moment. The chooseConc effect would not be desirable to add to this switcher since it will change the input ingredients' concentration rather than just use it as reference to decide what to do with it. A similar problem exists with the invertConc and linearConc effects.

This is a work in progress and will be updated as I go along.
If anyone would be interested helping me out with the sprites on this, that would be wonderful.
Last edited by Makitk on Fri Sep 18, 2015 11:17 pm, edited 4 times in total.
SCHMID6SIG
Supreme Robot
Supreme Robot
Posts: 239
Joined: Thu Jul 23, 2015 6:12 pm

Re: [Mod] (WIP) SIN Advanced Belts

Postby SCHMID6SIG » Fri Sep 18, 2015 10:28 pm

Makitk wrote:The regular directional belt which already exists at game start.

This may be semantics but I wouldn't term the existing belt as directional, but rather bi-directional.
Tim/Dev uses the term "deterministic" - my interpretations is that they change direction based on what is connected
to them. In the equipment.data e.g. you can see 3 IOStates, which I'd call:
"no connection"= don't care,
"fed by another machine"=D0 to D2,
"feeds a machine"= D2 to D0

Makitk wrote:It has no listing of its processCost or processTime in the code, but simple deduction offers they are internally assumed to be at the following values:...

Maybe. Did you try a MOD w/ that added to belts? (e.g. "processTime":2) You could make us a "slow" belt.
Not as hilarious as it sounds. For certain configurations, changing the timing may actually be a benefit.

Makitk wrote:This will require a new x:1,z:3 sprite of a belt...

I haven't figured out how to access sprites.

Makitk wrote:A concentration-level related belt switcher (i.e. "If concentration_level = NUM, use exit 1, else use exit 0") for more advanced sorting of ingredient

Several of us have wanted some logic-based equipment capability (the closest I've gotten is really timing-based, not logic-based).
Maybe, maybe Tim/Dev could modify the iotile:[.. "drugType":"all"/"all_finished_box"/etc. } to have some drugType:concentration > X
(of course then we'll want "drugType": catalyst > levelY, etc.) :) We'd also have more than one output so that it either
goes out the output or continues further in the machine to a second output.
Makitk
Junior Line Supervisor
Junior Line Supervisor
Posts: 10
Joined: Fri Sep 18, 2015 7:18 pm

Re: [Mod] (WIP) SIN Advanced Belts

Postby Makitk » Fri Sep 18, 2015 11:14 pm

Thanks for your input, SCHMID6SIG. I have edited the first post of this thread, so some elements which you quoted have changed.

SCHMID6SIG wrote:
Makitk wrote:This will require a new x:1,z:3 sprite of a belt...

I haven't figured out how to access sprites.

I'm not an artist, so I have not looked into this yet myself.

SCHMID6SIG wrote:
Makitk wrote:A concentration-level related belt switcher (i.e. "If concentration_level = NUM, use exit 1, else use exit 0") for more advanced sorting of ingredient

Several of us have wanted some logic-based equipment capability (the closest I've gotten is really timing-based, not logic-based).
Maybe, maybe Tim/Dev could modify the iotile:[.. "drugType":"all"/"all_finished_box"/etc. } to have some drugType:concentration > X
(of course then we'll want "drugType": catalyst > levelY, etc.) :) We'd also have more than one output so that it either
goes out the output or continues further in the machine to a second output.

Logic-based processing would be interesting, but I would hope that Tim/Dev would see how opening the game up to more extensive modding (in a year's time or such) will help the longevity of it.
Maybe he could adapt the base code for future DLC and release a list of what code hooks do what for future modders so we don't have to dive into the base code ourself? That way he can ensure the base code is structurally sound, but the JSON files' ability to affect the game increase with each released DLC?
Makitk
Junior Line Supervisor
Junior Line Supervisor
Posts: 10
Joined: Fri Sep 18, 2015 7:18 pm

Re: [Mod] (WIP) SIN Advanced Belts

Postby Makitk » Wed Oct 07, 2015 12:01 am

Welp, I'm stumped for now.
SCHMID6SIG
Supreme Robot
Supreme Robot
Posts: 239
Joined: Thu Jul 23, 2015 6:12 pm

Re: [Mod] (WIP) SIN Advanced Belts

Postby SCHMID6SIG » Fri Oct 16, 2015 7:08 pm

Directional Belts are coming!!!
Tim's latest Vlog (VLOG #25) discusses the next patch having a new "machine" under auxiliary that will allow us to modify a placed belt so that they are "directional" (as opposed to the default "deterministic".)

at the 4:20 mark, 'fixed belts" under Auxiliary. modifies an existing belt - allows toggle belt direction.
will work on straight or corner belts.

I did post a mod/hack that sort of accomplished the same thing (less elegantly, I'm sure), can I claim partial contribution to the idea?
viewtopic.php?f=51&t=14446

------
also coming
at 12:45 mark, will add 2 columns in Co tab on Product Tree
avg saturation of cure(s)
avg saturation of ingredient(s) used in Product

Cure Tab - starting conc. of ingredient(s) for that Cure (at level 1)
enzymus
Supreme Robot
Supreme Robot
Posts: 100
Joined: Thu Sep 03, 2015 3:51 pm

Re: [Mod] (WIP) SIN Advanced Belts

Postby enzymus » Sat Oct 24, 2015 9:00 am

Thanks for posting. I hate video logs for just this reason - it takes only a minute or two to read your post whereas for a vblog I'd have to spend an hour watching to get all the same content and know I hadn't missed anything.
Also it's possible to search blog posts, not videos.

Return to “Pharma Modding”

Who is online

Users browsing this forum: No registered users and 1 guest