Page 1 of 1
[13.9] Inserting modules manualy wont cancel robot job order
Posted: Wed Jul 20, 2016 1:30 am
by KrzysD
1. Make blueprint with assemblers and any modules.
2. Place blueprint from above, but make sure not to have any modules in network.
3. Wait till robots place assemblers without modules, blue robot logo will show missing modules.
4. Insert modules by hand, blue robot logo will still show.
5. Add modules to network, and robots will replace the ones you added the modules to.
Re: [13.9] Inserting modules manualy wont cancel robot job order
Posted: Wed Jul 20, 2016 7:55 am
by Rseding91
That's by design, if you want to cancel the robot delivery of modules you can right click the little icon on the entity or deconstruct the icon to get rid of it.
Re: [13.9] Inserting modules manualy wont cancel robot job order
Posted: Wed Jul 20, 2016 1:22 pm
by Rockstar04
Not trying to argue, but that seems inconsistent with existing mechanics. If you place an entity manually, robots will not place another entity over it again.
Re: [13.9] Inserting modules manualy wont cancel robot job order
Posted: Wed Jul 20, 2016 6:12 pm
by Klonan
Rockstar04 wrote:Not trying to argue, but that seems inconsistent with existing mechanics. If you place an entity manually, robots will not place another entity over it again.
This is a fair argument, and i do not think it would be so difficult to remove the proxy request when modules are manually placed into the assembling machine
Re: [13.9] Inserting modules manualy wont cancel robot job order
Posted: Wed Jul 20, 2016 7:23 pm
by Rseding91
Klonan wrote:Rockstar04 wrote:Not trying to argue, but that seems inconsistent with existing mechanics. If you place an entity manually, robots will not place another entity over it again.
This is a fair argument, and i do not think it would be so difficult to remove the proxy request when modules are manually placed into the assembling machine
I can look into it. How would you propose that it know the different between user inserted modules and modules it put into the entity?
Re: [13.9] Inserting modules manualy wont cancel robot job order
Posted: Wed Jul 20, 2016 7:39 pm
by Rockstar04
Rseding91 wrote:Klonan wrote:Rockstar04 wrote:Not trying to argue, but that seems inconsistent with existing mechanics. If you place an entity manually, robots will not place another entity over it again.
This is a fair argument, and i do not think it would be so difficult to remove the proxy request when modules are manually placed into the assembling machine
I can look into it. How would you propose that it know the different between user inserted modules and modules it put into the entity?
Is the code set up where there is just a simple list where the order of the modules is not guaranteed or is it an array? Psudocode provided since not all languages are consistent (tables, hash, array, list, etc.)
psudocode list
psudocode array
Code: Select all
{
moduleSlot1 => speed1,
moduleSlot2 => effectivity1,
moduleSlot3 => null,
moduleSlot4 => speed1
}
With example 2, its very easy to tell if you need to insert something, can the current module position accept a module (or has one already been manually inserted)? With the simple list, I'm not sure how you would go about it, but I think rather than the modules being lost (overwritten) the construction robot should try to insert them and fail (just like player cant shift click modules over other modules), returning the module they are carrying to a storage chest if possible, otherwise hovering until storage is available.
Re: [13.9] Inserting modules manualy wont cancel robot job order
Posted: Wed Jul 20, 2016 8:16 pm
by Rseding91
Modules-to-be-delivered don't maintain any kind of "which slot should this go into". They simply keep an item name and count.
Re: [13.9] Inserting modules manualy wont cancel robot job order
Posted: Wed Jul 20, 2016 8:24 pm
by Rockstar04
Rseding91 wrote:Modules-to-be-delivered don't maintain any kind of "which slot should this go into". They simply keep an item name and count.
Then rather than the modules being lost (overwritten) the construction robot should try to insert them into the first open slot and if the entity has the max number of modules already fail (just like player cant shift click modules over other modules). Then just use the existing logic for trying to "get rid" of the module in storage or hovering until storage is available.
Re: [13.9] Inserting modules manualy wont cancel robot job order
Posted: Wed Jul 20, 2016 8:39 pm
by Rseding91
Rockstar04 wrote:Rseding91 wrote:Modules-to-be-delivered don't maintain any kind of "which slot should this go into". They simply keep an item name and count.
Then rather than the modules being lost (overwritten) the construction robot should try to insert them into the first open slot and if the entity has the max number of modules already fail (just like player cant shift click modules over other modules). Then just use the existing logic for trying to "get rid" of the module in storage or hovering until storage is available.
That's how it works now.
Re: [13.9] Inserting modules manualy wont cancel robot job order
Posted: Wed Jul 20, 2016 8:56 pm
by Rockstar04
I guess I will have to test this myself if I have time tonight, I had made the assumption that KrzysD meant that modules the player manually places in the entity vanished (were overwritten) when a robot placed the ones included in the blueprint.
Re: [13.9] Inserting modules manualy wont cancel robot job order
Posted: Wed Jul 20, 2016 11:20 pm
by KrzysD
Rseding91 wrote:That's by design, if you want to cancel the robot delivery of modules you can right click the little icon on the entity or deconstruct the icon to get rid of it.
If you take out step 5 from my first post, it will continue to flash modules missing, even though I inserted them myself.
Edit: just read the rest of the posts, phone formatted it weird and I didn't know you guys figured out what I'm talking about.
Re: [13.9] Inserting modules manualy wont cancel robot job order
Posted: Mon Jul 25, 2016 1:23 pm
by Rseding91
Right now the module requester just waits for modules to be delivered and attempts to put them in the module slot of the machine it's attached to.
You're saying it should cancel the requests if you manually put modules in the machine but it's not that simple:
- What if you put modules in that aren't being requested but the requesting modules can still be inserted
- What if you put modules in that *are* being requested but the requesting modules can still be inserted
- What if you put modules in that aren't being requested and now only some of the requesting modules can be inserted
- What if modules are requested, partially fulfilled and then you switch the fulfilled ones out for others - should it keep trying to deliver the other requested modules or abort all of them
There's no "fix" for this. Any implementation will have some "it doesn't work *as I want* in this setup" and so I left it as is. Manually manipulating the modules has no impact on the ones to be delivered. If you want to cancel the delivery then just right click the requester or deconstruct it.