Adds Parcel Wrap (#34471)
* Parcel Wrap * fix TG sprite licenses update attribution on modified `unwrapped` sprite to better conform to CC's guidance * ContainerContainer test failure fix * Just easy changes for now. * Imagine building your code before pushing it for review * The rest of the PR comments * PR comments * more comments + cargo orderability * whitespace: deduplicated. * use limitedcharges replace mostly-duped client/server with if(onserver) * cabinet perspective sprites * web edit detected fite me * @ps3moira 's new sprites for me :) * add a touch of attribution * EmoGarbage Review * Merge with master * Merge with master --------- Co-authored-by: EmoGarbage404 <retron404@gmail.com>
This commit is contained in:
@@ -17,3 +17,13 @@
|
||||
cost: 15000
|
||||
category: cargoproduct-category-name-cargo
|
||||
group: market
|
||||
|
||||
- type: cargoProduct
|
||||
id: CargoParcelWrap
|
||||
icon:
|
||||
sprite: Objects/Misc/ParcelWrap/parcel_wrap.rsi
|
||||
state: brown
|
||||
product: CrateCargoParcelWrap
|
||||
cost: 750
|
||||
category: cargoproduct-category-name-cargo
|
||||
group: market
|
||||
|
||||
@@ -8,6 +8,17 @@
|
||||
contents:
|
||||
- id: ClothingOuterHardsuitLuxury
|
||||
|
||||
- type: entity
|
||||
id: CrateCargoParcelWrap
|
||||
parent: CrateGenericSteel
|
||||
name: parcel wrap crate
|
||||
description: All your parcel wrapping needs in one crate, containing three rolls of parcel wrap.
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: ParcelWrap
|
||||
amount: 3
|
||||
|
||||
- type: entity
|
||||
id: CrateCargoGambling
|
||||
name: the grand lottery $$$
|
||||
|
||||
@@ -92,6 +92,7 @@
|
||||
whitelist:
|
||||
components:
|
||||
- SecretStash
|
||||
- WrappedParcel
|
||||
|
||||
- type: entity
|
||||
parent: [ PersonalAI, BaseSyndicateContraband]
|
||||
|
||||
100
Resources/Prototypes/Entities/Objects/Misc/parcel_wrap.yml
Normal file
100
Resources/Prototypes/Entities/Objects/Misc/parcel_wrap.yml
Normal file
@@ -0,0 +1,100 @@
|
||||
- type: entity
|
||||
parent: BaseItem
|
||||
id: ParcelWrap
|
||||
name: parcel wrap
|
||||
description: Paper used contain items for transport.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Misc/ParcelWrap/parcel_wrap.rsi
|
||||
state: brown
|
||||
- type: ParcelWrap
|
||||
parcelPrototype: WrappedParcel
|
||||
wrapDelay: 1.0
|
||||
wrapSound:
|
||||
path: /Audio/Items/Handcuffs/rope_start.ogg
|
||||
params:
|
||||
volume: -5
|
||||
variation: 0.05
|
||||
whitelist:
|
||||
components:
|
||||
- Item
|
||||
blacklist:
|
||||
components:
|
||||
- NukeDisk # Don't try to hide the disk.
|
||||
- WrappedParcel # No wrapping wrapped things.
|
||||
tags:
|
||||
- ParcelWrapBlacklist
|
||||
- FakeNukeDisk # So you can't tell if the nuke disk is real or fake depending on if it can be wrapped or not.
|
||||
- type: LimitedCharges
|
||||
maxCharges: 30
|
||||
|
||||
- type: entity
|
||||
parent: BaseItem
|
||||
id: WrappedParcel
|
||||
categories: [ HideSpawnMenu ]
|
||||
name: wrapped parcel
|
||||
description: Something wrapped up in paper. I wonder what's inside...
|
||||
components:
|
||||
- type: ContainerContainer
|
||||
containers:
|
||||
contents: !type:ContainerSlot
|
||||
- type: Appearance
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.WrappedParcelVisuals.Size:
|
||||
enum.WrappedParcelVisuals.Layer:
|
||||
"Tiny": { state: "parcel-tiny" }
|
||||
"Small": { state: "parcel-small" }
|
||||
"Medium": { state: "parcel-medium" }
|
||||
"Large": { state: "parcel-medium" }
|
||||
"Huge": { state: "parcel-large" }
|
||||
"Ginormous": { state: "parcel-large" }
|
||||
- type: Sprite
|
||||
sprite: Objects/Misc/ParcelWrap/wrapped_parcel.rsi
|
||||
layers:
|
||||
- state: parcel-medium
|
||||
map: [ "enum.WrappedParcelVisuals.Layer" ]
|
||||
- type: WrappedParcel
|
||||
unwrapDelay: 0.5
|
||||
unwrapSound:
|
||||
path: /Audio/Effects/poster_broken.ogg
|
||||
params:
|
||||
volume: -4
|
||||
unwrapTrash: ParcelWrapTrash
|
||||
- type: Damageable
|
||||
damageContainer: Inorganic
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTypeTrigger
|
||||
damageType: Slash
|
||||
damage: 5
|
||||
behaviors:
|
||||
- !type:PlaySoundBehavior
|
||||
sound:
|
||||
path: /Audio/Effects/poster_broken.ogg
|
||||
params:
|
||||
volume: -4
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
- type: Tag
|
||||
tags:
|
||||
- Recyclable # Parcel entity is recyclable, and when it's destroyed, it'll drop its contents.
|
||||
|
||||
- type: entity
|
||||
parent: BaseItem
|
||||
id: ParcelWrapTrash
|
||||
categories: [ HideSpawnMenu ]
|
||||
name: parcel wrap
|
||||
description: The disappointing remnants of an unwrapped parcel.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Misc/ParcelWrap/parcel_wrap_trash.rsi
|
||||
layers:
|
||||
- state: brown
|
||||
- type: Tag
|
||||
tags:
|
||||
- Trash
|
||||
- ParcelWrapBlacklist # No exponential wrapper trash-splosions.
|
||||
- Recyclable
|
||||
- type: SpaceGarbage
|
||||
@@ -957,6 +957,9 @@
|
||||
- type: Tag
|
||||
id: Pancake
|
||||
|
||||
- type: Tag
|
||||
id: ParcelWrapBlacklist
|
||||
|
||||
- type: Tag
|
||||
id: Payload # for grenade/bomb crafting
|
||||
|
||||
|
||||
Reference in New Issue
Block a user