Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cold Storage / Fully Digital Storage System #612

Closed
Sn1p3rr3c0n opened this issue Aug 19, 2022 · 6 comments · Fixed by #614
Closed

Cold Storage / Fully Digital Storage System #612

Sn1p3rr3c0n opened this issue Aug 19, 2022 · 6 comments · Fixed by #614
Assignees
Labels

Comments

@Sn1p3rr3c0n
Copy link
Collaborator

Idea:
Make the DSU more digital by among other things not having the items Spawned.

Benefits

Challenges

  • Enable the use of the items

Issues / Open Points
The way storage is setup in PRF we use the same base call for the actual DSU and the low tier storage.
If we switch to this kind of a system that what should happen to the other crates?

if we want to actually implement this system then we might need to remove them.
This depends on whether i can make the pawns interact with the storage building as if it was a normal one (with acceptable performance)

In any case DS exists and could be use a replacement for those crates

@Sn1p3rr3c0n Sn1p3rr3c0n self-assigned this Aug 19, 2022
Sn1p3rr3c0n added a commit that referenced this issue Aug 19, 2022
@Sn1p3rr3c0n
Copy link
Collaborator Author

Sn1p3rr3c0n commented Aug 19, 2022

state of the PoC

  • Can't move items directly to the dsu, the will disappear
  • DSU will not detect items being dropped onto it
  • Issues with saving & Dups
  • Advanced IO just causes issues
  • Regular IO Ports work fine

@Sn1p3rr3c0n
Copy link
Collaborator Author

A alternative to my previous Ideas would be to:

  • Introduce a new Cold Storage Building with the type of system described above
  • Leaving the DSU system as is
  • To overcome the patch load a dynamic system can be used, similar to c8380c3 where the patches would only be active if a DSU type building is constructed.
  • Implementing a new IO Port linking interface with settings to limit the allowed port types

other notes:

Sn1p3rr3c0n added a commit that referenced this issue Aug 30, 2022
Updated handling to prevent dupe issues when moving items
@Sn1p3rr3c0n
Copy link
Collaborator Author

I did a lot of testing and have to conclude now that I don't see a way on how i Could make that new system work with Advanced IO / Pawn Logic.
Therefore the only way forward is the option i detailed in my last Post.

Background:
For Pawns / Advanced Io Ports to be able to find items they must be listed in ListerThings for a given Map.
This causes count Labels to be displayed, those need to be Patched away.
It also Saves the Things Listed, so the Saving Process needs to be updated to account for that.
The primary problem however is that if a Thing is not Spawned like it is the case here, then its Map is Null.
After a Thing is found it needs to pass Verse.GenClosest.ClosestThing_Global_Reachable in there the Sub Method Process requires that Thing to be Spawned.
I am certain that this is there for a good reason, therefore it should only be ignored if necessary.
This is exactly the point where we return to the Primary Issue that we do not have a Map. Without it I can't perform the check in an efficient manner. Spawning the Thigs is also not an Option as that is the entire point...

Sn1p3rr3c0n added a commit that referenced this issue Sep 1, 2022
removed Belts use of patch
changed Storage Patches to be conditional
added Cold Storage Building
Sn1p3rr3c0n added a commit that referenced this issue Sep 1, 2022
resolved some doulble call issues
slightly improved the stacking
@Sn1p3rr3c0n
Copy link
Collaborator Author

Sn1p3rr3c0n commented Sep 1, 2022

Todo:

  • New Textures -> By Madman666
  • XML stuff: Price, Research
  • Should there be a limit for items? (or just set it to something absurd?)
  • More Testing

QOL:

  • Orbital Trading?
  • Trading? (ToDo)
  • "Do until x" support? (Leave it for now)
  • other? (Wait for feedback / Later)

Sn1p3rr3c0n added a commit that referenced this issue Sep 4, 2022
Added WealthWatcher Patch (may be toggeld)
Added support for Orbital Trading
Fixed issue when creating ThingOwner
Fixed Typos in Conditional Patches
Fixed Null ref issue for DSU
Moved code to better locations
@Sn1p3rr3c0n
Copy link
Collaborator Author

On the Item Limit topic:

Madman666: is there an option for changing the storage cap? or maybe some kind of expansion buildings to increase it, instead of spamming storage units themselves?

I really like this Idea but i think its best to implement it at a later time in a separate Issue.
What i really like about it is that it gives us more options to balance things.
Currently with many of our buildings we are limited to

  • Upfront Research
  • Upfront Building Cost
  • Power consumption

When introducing addon buildings this enables so much more points to balance at
Maybe this Idea / Principle can help us remove the huge Upfront hurdle while also not getting to OP

@Sn1p3rr3c0n
Copy link
Collaborator Author

For the Price:
I think i will go with slightly higher costs then the DSU
but i think fore many users it is more of an Sidegrade then a Clear Upgrade (not everyone is a Hoarder)

For the Research:
I'm really uncertain maybe after IO Ports
Not that much extra research.

General:
See Comment above. We really need to work on the Upfront Cost Situation.
I might set it up in a way here but it the Balance needs to change!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant