Conversation
Co-authored-by: Jaeger <80431951+Kilmented@users.noreply.github.com> Co-authored-by: starch <starchpersonal@gmail.com>
|
RSI Diff Bot; head commit 4254b82 merging into 1a04c8f Resources/Textures/_WF/Objects/Economy/depositboxlarge.rsi
Resources/Textures/_WF/Objects/Economy/depositboxmedium.rsi
Resources/Textures/_WF/Objects/Economy/depositboxsmall.rsi
Resources/Textures/_WF/Structures/Machines/atm/depositatm.rsi
|
|
Wayfarer to Wicce's Den to Frontier to Monolith |
Ironically Monolith got it from Frontier so it'll become longer! |
| tags: | ||
| - SavingContraband |
There was a problem hiding this comment.
You need to make a new system. Contraband items count as save contraband. But if you have a permit, that status is kept, even though it isn't removed on same.
There was a problem hiding this comment.
Yeah just realized that thanks for pointing out
| if (HasComp<SavingContrabandComponent>(item) && !HasComp<ContrabandPermitItemComponent>(item)) | ||
| continue; // Triad : If item have contraband component and not contraband permit component then ship. |
There was a problem hiding this comment.
You need to check who actually owns the permit and if the owner of the deposit actually matches with the permit owner. I'd recommend just making it so you can't put save contraband items into the box with a seperate component, like the limited storage whitelist. Then you just cancel the try insert event if it is not permitted and the permit owner (if any) isn't equal to the storage user
| /// <summary> | ||
| /// The location of this item within the storage container's grid. | ||
| /// </summary> | ||
| [DataField, ViewVariables(VVAccess.ReadWrite)] |
There was a problem hiding this comment.
| [DataField, ViewVariables(VVAccess.ReadWrite)] | |
| [DataField] |
DataField already implies VVAccess.ReadWrite
| if (TryComp<ItemStorageLocationComponent>(itemEntity, out var locationComp)) | ||
| { | ||
| if (_storage.InsertAt(storage, insertEnt, locationComp.ItemLocation, out _, playSound: false)) | ||
| { | ||
| continue; | ||
| } | ||
| } |
There was a problem hiding this comment.
| if (TryComp<ItemStorageLocationComponent>(itemEntity, out var locationComp)) | |
| { | |
| if (_storage.InsertAt(storage, insertEnt, locationComp.ItemLocation, out _, playSound: false)) | |
| { | |
| continue; | |
| } | |
| } | |
| if (TryComp<ItemStorageLocationComponent>(itemEntity, out var locationComp) | |
| && _storage.InsertAt(storage, insertEnt, locationComp.ItemLocation, out _, playSound: false)) | |
| { | |
| continue; | |
| } |
This should be cleaner
| if (!TryComp<ItemStorageLocationComponent>(item, out var locationComp)) | ||
| { | ||
| locationComp = EnsureComp<ItemStorageLocationComponent>(item); | ||
| } |
There was a problem hiding this comment.
| if (!TryComp<ItemStorageLocationComponent>(item, out var locationComp)) | |
| { | |
| locationComp = EnsureComp<ItemStorageLocationComponent>(item); | |
| } | |
| var locationComp = EnsureComp<ItemStorageLocationComponent>(item); |
EnsureComp ensures a component exists and gets it, if not it returns the component and adds it
So this try comp check is useless
|
Just need to finish the box sprite, everything should be ready for review |
|
|
Did some changes:
|
|
I'll finish up the sprites and some personal tweak then probably ready for quick review again |









About the PR
Rework how personal stash work, instead of per ships it will be per character. Porting Monolith-Station/Monolith#4424 which is a port from new-frontiers-14/frontier-station-14#4636 (technical details in there as well).
To do :
Technicalilty
runtime: Caught exception in "Async Queued Callback" Robust.Shared.GameObjects.EntityCreationException: Attempted to spawn an entity with an invalid prototype: SafetyDepositBoxSmallTo-do test
Why / Balance
Ship stashes are flawed, this aim to help player have different stash/vault for different characters so that they don't need to organize their own.
Media
Requirements
How to test
Breaking changes
Changelog
🆑