Cogmind > Ideas

Auto-replacement Priorities

(1/2) > >>

Widmo:
This is probably not a bug but I leave you to be the judge. I did a stupid thing and ended up being surprised when the game did not do what I expected it to do.

Having the following utility setup (integrity in parentheses):
E - Improved System Shield (10/10)
F - Improved System Shield (9/10)
G - System Shield (10/10)
Inventory
3 - Improved System Shield (10/10)

Hitting Control + 3 twice installed item 3 in slot F instead of in slot G. If F had full integrity then slot G would have been replaced but I view this as a waste of perfectly good improved system. Is this intentional?

Kyzrati:
Yes, you're right that if F was at full integrity it would've replaced G instead. The problem is there are sometimes subjective concerns, so the simple priority approach used by the auto-management system can't be right in absolutely every case. The rules followed by the system are described in the Advanced UI section of the manual.


--- Quote --- Part Auto-Replacement
-----------------------
When attaching parts from either the inventory or directly from the ground, if there are no available slots of the corresponding type, the interface will attempt to automatically pick a part to replace instead. Replacement candidates are prioritized in the following order:

* Replace an item of the same name that has a lower integrity. Prioritizes replacement of non-functional parts, if any.

* Replace a different part that has the same type of effect, but that effect is not as powerful, regardless of the two parts' respective integrity. This mostly applies to utilities. If more than one part has the same effect type, it will select the one with the worst value, breaking ties by choosing the one with the lowest integrity.

* Replace a different part of the same subtype (ex: "Energy Cannon") where the old part has a lower percent integrity than any other of the same subtype with a lesser or equal effective rating. "Effective Rating" equals rating, +1 for prototypes. Ties among potential swap targets are broken by choosing the one with the lowest effective rating.

* Armor without any special effect is replaced by other such armor, comparing purely for current integrity (rating is ignored).

If none of the conditions are met, it will simply report "No free slot." To avoid smart replacement entirely, simply use the manual swap commands, or free the required slot first.

Note that this feature only works for parts that occupy a single slot.

Auto-replaced items are moved to the inventory, or if the inventory is already full, space will either be freed by comparing the item to all those carried based on the same rules above and drop a worse corresponding item, or where no comparison is possible, the replaced item itself is simply dropped.

In addition to attached part replacement, when attempting to pick up an item and put it in a full inventory, the same rules are applied to auto-replace (drop) an applicable inventory item to make room for a better new one. Where no comparison is possible, the pick up action will simply fail with a message indicating the inventory is full.

--- End quote ---

The advantage of the existing priorities are that they are easier to follow (once you know them), whereas if we swapped priority 1 and 2, prioritizing effect comparisons, that may not always be so obvious in the heat of things and lead to unexpected swaps.

So yeah it's not a bug, but something that's up for discussion for anyone who would like to contribute. I'll move it to Ideas.

Widmo:
In my opinion the problem with this is precise integrity value is not visible at a glance unless one switches to dedicated mode. If I knew integrity was lowered I would have acted slower. I mistakenly assumed pristine condition of relevant parts since they were all green. This means essentially when need  to do processor replacement occurs I am much better off by detaching obsolete item myself since no storage space is needed. More keystrokes but still better than checking integrity of every piece.

I think it is not the algorithm that has greatest room for improvement here. Having the part to be removed flash red very briefly could be helpful in that regard.

Kyzrati:
Yeah when I'm worried about the potential results of a swap (i.e. anything at all is ambiguous due to multiple types), I'll just do it manually, though this only really comes into play with processors, since you won't permanently lose other items in the same way (you can still recover from the occasional mistake/mis-swap).


--- Quote from: Widmo on December 31, 2016, 06:14:20 PM ---I think it is not the algorithm that has greatest room for improvement here. Having the part to be removed flash red very briefly could be helpful in that regard.

--- End quote ---
Ooh that's a very interesting idea... However, when you are going to permanently destroy-replace a processor, doesn't the UI already warn you which item will be removed with a text message? Since I don't think you'd want to require double confirmation on all swaps, I guess what you're saying is that in addition to the processor-specific message only processors would flash in that case? (Because for any other items to flash first that would mean the swap couldn't take place immediately.)

I like the flashing processor idea, which also makes sense to apply when simply confirming a regular (processor) removal, not just swaps.

zxc:
+1 flashing things

Navigation

[0] Message Index

[#] Next page

Go to full version