Page 1 of 1

Shift-item ghost dissappears from cursor when personal robots place last item in inventory

Posted: Tue Dec 15, 2020 11:23 am
by TaelBE
  • What did you do? Have a limited number of a placeable item in inventory (eg inserters), and have a personal roboport with robots equipped. Take the item in cursor, press shift and hold shift and place multiple (more than in inventory) ghosts of the item in your personal roboport range.
  • What happened? Robots start placing the items, and when the last one gets taken from inventory, the ghost item is cleared from your cursor, even while still holding shift.
  • What did you expect to happen instead? It might be obvious to you, but do it anyway! I expect to have the ghost version of the item on my cursor as long as I hold shift at least
I understand this is very likely to be considered not a bug, but I'd argue it is, while probably not in the code (it feels very intentional behaviour), but in the design. I'm running into this bug often when building, when I know I have a limited supply of whatever I'm building but am in roboport coverage, I intentionally build ghosts because of this, but still get the item removed from my cursor, and still have to reselect it to get a ghost.

I'd even argue that if you have "Pick ghost item if no items are available" checked in settings, that your cursor should never be cleared when running out of inventory, but just transformed into ghost placing, but when you're already placing ghosts, there seems no reason to ever clear the cursor due to inventory changes.

Re: [1.1.6] Shift-item ghost dissappears from cursor when personal robots place last item in inventory

Posted: Tue Dec 15, 2020 2:11 pm
by Twinsen
TaelBE wrote: Tue Dec 15, 2020 11:23 am I'd even argue that if you have "Pick ghost item if no items are available" checked in settings, that your cursor should never be cleared when running out of inventory, but just transformed into ghost placing
The reason it works like that is the same reason the cursor doesn't switch to ghost building automatically when you build the last item: to avoid accidentally building e.g. the last inserter as a ghost without knowing. If you want to make it a ghost, you need to explicitly pick the item again to confirm this is what you want. Since the differentiation between a normal building and a ghost is not visually very clear, for now it tries to avoid the problem this way.

As for keeping the ghost in cursor while shift is being held, it seems like a reasonable request, just that implementing it will be a bit complicated in our codebase, so not sure if it's worth it.

More feedback is welcome. I have encountered this problem myself many times, but no solution was ever good enough. The game offers plenty of ways to work around it(e.g. just get used to turning off the personal roboport, or quickly pipette the last building to get a ghost cursor)

Re: [1.1.6] Shift-item ghost dissappears from cursor when personal robots place last item in inventory

Posted: Wed Dec 16, 2020 12:15 am
by TaelBE
Twinsen wrote: Tue Dec 15, 2020 2:11 pm
TaelBE wrote: Tue Dec 15, 2020 11:23 am I'd even argue that if you have "Pick ghost item if no items are available" checked in settings, that your cursor should never be cleared when running out of inventory, but just transformed into ghost placing
The reason it works like that is the same reason the cursor doesn't switch to ghost building automatically when you build the last item: to avoid accidentally building e.g. the last inserter as a ghost without knowing. If you want to make it a ghost, you need to explicitly pick the item again to confirm this is what you want. Since the differentiation between a normal building and a ghost is not visually very clear, for now it tries to avoid the problem this way.
Sure. Don't really have a problem with this. If there would be an option (like the Pick ghost item if no items are available option), that would alter it, I think I would set it though

Twinsen wrote: Tue Dec 15, 2020 2:11 pm As for keeping the ghost in cursor while shift is being held, it seems like a reasonable request, just that implementing it will be a bit complicated in our codebase, so not sure if it's worth it.

More feedback is welcome. I have encountered this problem myself many times, but no solution was ever good enough. The game offers plenty of ways to work around it(e.g. just get used to turning off the personal roboport, or quickly pipette the last building to get a ghost cursor)
If you're asking me if it's worth it, obviously I'm going to say yes, but that's simply because I'm the user who wants it, but doesn't have to do the work :)

I just tested it when you pick a ghost with the pipette and then get delivered the item, your cursor stays ghostly, and even if personal robots then place the things from your inventory, it still remains ghostly. I just want the same behaviour when my cursor is ghostly because I'm holding shift. I don't think I would mind if when I release shift and the item is not in inventory at that moment, the cursor gets cleared immediately then.

As for the workarounds, yes they exist. But disabling the roboport is something you would need to do in advance, which when you hit this issue is clearly something you've already forgot. Using the pipette again is the obvious solution then, but at that time you've already had the jolt of frustration that the interface doesn't behave like you want it to. I agree it's not something massive, but it's one of those tiny moments where you're building stuff and then have a slight pause and have to curse that it didn't do what you want.

Obviously, this isn't the highest priority issue (there's the 1px graphical literally unplayable issues for that :-) *), but I do think it would be nice if the behaviour would be changed.

* This was meant in a humorous way, not at all complaining, just so we're clear :)

Re: [1.1.6] Shift-item ghost dissappears from cursor when personal robots place last item in inventory

Posted: Wed Dec 16, 2020 1:12 am
by eradicator
Twinsen wrote: Tue Dec 15, 2020 2:11 pm More feedback is welcome.
I can see the argument that the current behavior is a good default for inexperienced players. But i think experienced players don't need that kind of "hand holding". Ghost placement and building placement already have different sounds, and the experienced player isn't blind either. There's already i think two or three mods that implement "automatic ghost transition" - that is they put a ghost cursor in your hand if you run out of an item, and also reversely put a real item into your cursor if a robots brings you new stuff. Personally i would love to see that as a vanilla option, maybe even a shortcut.

Anecdote: I often seem to be in a weird situation where i have none of the item, but want to move an already built entity by a few tiles. The workflow for that is quite convoluted because there is no simple "mine to cursor" action.
  1. Q the building into the cursor
  2. Build entity ghost at new position
  3. RMB pick up the building
  4. Q to clear the ghost cursor
  5. Q again on the entity ghost to get the real item stack
  6. Build the entity at it's new position
With automatic transition this would become:
  1. Q the building into the cursor
  2. RMB pick up the building
  3. Build the entity at it's new position

Re: [1.1.6] Shift-item ghost dissappears from cursor when personal robots place last item in inventory

Posted: Wed Dec 16, 2020 9:32 am
by Klonan
For now It seems this is working as intended

I will move it to Ideas and suggestions

(Personally I find it incredibly frustrating when my cursor is cleared by the robots when I am trying to build, then I pipette and get the ghost cursor, then I pipette again and logistic bots have brought some of the item, so its a real item again, then it gets cleared)

Re: Shift-item ghost dissappears from cursor when personal robots place last item in inventory

Posted: Wed Dec 16, 2020 3:01 pm
by Xorimuth
And for anyone wondering, this mod seems to do what is been requested: https://mods.factorio.com/mod/CursorEnhancements

Re: Shift-item ghost dissappears from cursor when personal robots place last item in inventory

Posted: Thu Dec 17, 2020 7:15 am
by ssilk
I would like to switch between ghost and item mode. Not by just pressing shift the whole time.
I would like to see how many items are really left, so that I know how many I can place.