* Add mailcart crate type

* Add recent progress, move location of mailcart.rsi

* Allow letters and packages to be inserted

* Add updated sprites for mailcart

* Add storage for letters

* Bugfix for sprite

* Add fix for mincount mailcart sprite updates

* Add dynamic names to packages in mailcart

* Add additional whitelist items

* Update tag comments

* Remove max item size

* Update fixture for mailcart, remove unused code from crates.yml

* Add mail cart to cargo ordering

* Update meta.json

* Remove unused comment

* Update copyright

* Add missing ContainerContainer

* Update ContainerContainer

* Revert "Update ContainerContainer"

This reverts commit 1805dcd58d8c0f52baca9db0d3173940ee241159.

* Remove container slots and increase storage

* Remove unused tags

* Remove LetterDelivery tag

---------

Co-authored-by: Justin Pfeifler <jrpl101998@gmail.com>
This commit is contained in:
Noah Beverly
2025-11-19 21:18:19 -07:00
committed by GitHub
parent b080ce7133
commit 91f5138a61
15 changed files with 155 additions and 4 deletions

View File

@@ -37,3 +37,13 @@
cost: 2500 cost: 2500
category: cargoproduct-category-name-cargo category: cargoproduct-category-name-cargo
group: market group: market
- type: cargoProduct
id: CargoMailCart
icon:
sprite: Objects/Specific/Cargo/mailcart.rsi
state: icon
product: MailCart
cost: 300
category: cargoproduct-category-name-cargo
group: market

View File

@@ -102,6 +102,9 @@
containers: containers:
delivery: !type:NestedSelector delivery: !type:NestedSelector
tableId: PackageDeliveryRewards tableId: PackageDeliveryRewards
- type: Tag
tags:
- PackageDelivery
- type: entity - type: entity
parent: BaseDelivery parent: BaseDelivery

View File

@@ -0,0 +1,94 @@
# Mailcart
- type: entity
name: mail cart
id: MailCart
parent: [BaseStructureDynamic, StructureWheeled]
description: Deliver packages with style and efficiency.
components:
- type: Sprite
noRot: true
sprite: Objects/Specific/Cargo/mailcart.rsi
layers:
- state: mailcart_base
- type: InteractionOutline
- type: Storage
grid:
- 0,0,15,7
quickInsert: true
maxItemSize: Huge
whitelist:
components:
- Delivery
tags:
- Paper
- Document
- BoxCardboard
- Folder
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.18,-0.2,0.18,0.2"
density: 60
mask:
- FullTileMask
layer:
- LargeMobLayer
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Metallic
- type: Destructible
thresholds:
- trigger: !type:DamageTrigger
damage: 400
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger: !type:DamageTrigger
damage: 200
behaviors:
- !type:EmptyAllContainersBehaviour
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- type: ItemMapper
mapLayers:
package_1:
minCount: 1
whitelist: &PackageWhitelist
tags:
- PackageDelivery
package_2:
minCount: 2
whitelist: *PackageWhitelist
package_3:
minCount: 3
whitelist: *PackageWhitelist
package_4:
minCount: 4
whitelist: *PackageWhitelist
package_5:
minCount: 5
whitelist: *PackageWhitelist
package_6:
minCount: 6
whitelist: *PackageWhitelist
package_7:
minCount: 7
whitelist: *PackageWhitelist
package_8:
minCount: 8
whitelist: *PackageWhitelist
sprite: Objects/Specific/Cargo/mailcart.rsi
- type: Appearance
- type: UserInterface
interfaces:
enum.StorageUiKey.Key:
type: StorageBoundUserInterface
- type: ContainerContainer
containers:
storagebase: !type:Container
ents: []

View File

@@ -159,7 +159,7 @@
id: Bottle # Storage whitelist: ChemMaster, ChemBag, SmartFridge, ClothingBeltJanitor, ClothingBeltMedical, ClothingBeltPlant id: Bottle # Storage whitelist: ChemMaster, ChemBag, SmartFridge, ClothingBeltJanitor, ClothingBeltMedical, ClothingBeltPlant
- type: Tag - type: Tag
id: BoxCardboard # CargoBounty: BountyCardboardBox id: BoxCardboard # CargoBounty: BountyCardboardBox. Storage whitelist: MailCart
- type: Tag - type: Tag
id: BoxHug # ConstructionGraph: HugBot id: BoxHug # ConstructionGraph: HugBot
@@ -465,7 +465,7 @@
id: DockEmergency # Used bv EmergencyShuttleSystem for finding a priority FTL destination. id: DockEmergency # Used bv EmergencyShuttleSystem for finding a priority FTL destination.
- type: Tag - type: Tag
id: Document # A superset of Paper tag. Represents a paper-like entity with writing on it, but is not necessarily writeable itself. id: Document # A superset of Paper tag. Represents a paper-like entity with writing on it, but is not necessarily writeable itself. Storage whitelist: MailCart
- type: Tag - type: Tag
id: DonkPocket # Storage whitelist: FoodBoxDonkpocket id: DonkPocket # Storage whitelist: FoodBoxDonkpocket
@@ -581,7 +581,7 @@
id: Flower # CargoBounty: flowerwreath. CargoBounty: BountyFlower id: Flower # CargoBounty: flowerwreath. CargoBounty: BountyFlower
- type: Tag - type: Tag
id: Folder # Storage whitelist: Bookshelf, NoticeBoard id: Folder # Storage whitelist: Bookshelf, NoticeBoard, MailCart
- type: Tag - type: Tag
id: FoodSnack # Storage whitelist: CandyBucket, CandyBowl. ItemMapper: CandyBowl id: FoodSnack # Storage whitelist: CandyBucket, CandyBowl. ItemMapper: CandyBowl
@@ -1024,6 +1024,9 @@
## P ## ## P ##
- type: Tag
id: PackageDelivery # ItemMapper: MailCart
- type: Tag - type: Tag
id: Packet # Storage whitelist: ClothingBeltChef id: Packet # Storage whitelist: ClothingBeltChef
@@ -1031,7 +1034,7 @@
id: Pancake # CargoBounty: BountyPancake id: Pancake # CargoBounty: BountyPancake
- type: Tag - type: Tag
id: Paper # A writeable piece of paper. Subset of Document tag. SpecialDigestible: OrganMothStomach, OrganReptilianStomach id: Paper # A writeable piece of paper. Subset of Document tag. SpecialDigestible: OrganMothStomach, OrganReptilianStomach. Storage whitelist: MailCart
- type: Tag - type: Tag
id: ParadoxCloneObjectiveBlacklist # objective entities with this tag don't get copied to paradox clones id: ParadoxCloneObjectiveBlacklist # objective entities with this tag don't get copied to paradox clones

Binary file not shown.

After

Width:  |  Height:  |  Size: 959 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 959 B

View File

@@ -0,0 +1,41 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Mailcart_base sprite made by noahrb (Github) for SS14; Package_1 through Package_8 sprites made by Emisse (Github) for SS14... and all the fans.",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "mailcart_base"
},
{
"name": "package_1"
},
{
"name": "package_2"
},
{
"name": "package_3"
},
{
"name": "package_4"
},
{
"name": "package_5"
},
{
"name": "package_6"
},
{
"name": "package_7"
},
{
"name": "package_8"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 B