Spray Paint (Review Ready) (#23003)
* Spray Paint (Draft) * paint colors, paints in maints loot, cargo crate of paints. * fix * remove paint (sort of) * moved paintcleaner into own system * Moved paint to server (had to unfortunately) * doafter now breaks when moving away. * cant paint mobstatecomp * loads of fixes * fixes * fixes * nopaintshadercomp * fixes * fix * use locale for paint remove string * remove nopaintshadercomponent and use blacklist * remove enabled.true from visualizer * paint doafter event. * add verbs for paint and remove paint and icon for paint verb. * fixes * no longer replaces shader when shader exists. * replace forloop with foreach, check shader before adding and removing. * paint doafter now separate so no copy paste code * Entities in sprayed targets item slots are also now correctly sprayed. * fix * fix * fix airlock psray painter now removes painted before painting door. * spray paints now use openablecomponent. * fix * fix damn accesstypes. * fix * fix
This commit is contained in:
@@ -68,6 +68,16 @@
|
||||
category: cargoproduct-category-name-fun
|
||||
group: market
|
||||
|
||||
- type: cargoProduct
|
||||
id: FunSprayPaints
|
||||
icon:
|
||||
sprite: Objects/Fun/spraycans.rsi
|
||||
state: death2_cap
|
||||
product: CrateFunSprayPaints
|
||||
cost: 2000
|
||||
category: Fun
|
||||
group: market
|
||||
|
||||
- type: cargoProduct
|
||||
id: FunParty
|
||||
icon:
|
||||
|
||||
@@ -290,14 +290,21 @@
|
||||
contents:
|
||||
- id: SnapPopBox
|
||||
- id: CrazyGlue
|
||||
amount: 2
|
||||
- id: PlasticBanana
|
||||
- id: FunnyPaint
|
||||
orGroup: Paint
|
||||
prob: 0.5
|
||||
- id: FunnyPaintYellow
|
||||
orGroup: Paint
|
||||
prob: 0.5
|
||||
- id: WhoopieCushion
|
||||
- id: ToyHammer
|
||||
- id: MrChips
|
||||
orGroup: GiftPool
|
||||
prob: 0.5
|
||||
orGroup: Dummy
|
||||
- id: MrDips
|
||||
orGroup: Giftpool
|
||||
prob: 0.5
|
||||
orGroup: Dummy
|
||||
- id: RevolverCapGun
|
||||
- id: BalloonNT
|
||||
- id: ClothingShoesClownLarge
|
||||
@@ -330,6 +337,41 @@
|
||||
amount: 15
|
||||
prob: 0.05
|
||||
|
||||
- type: entity
|
||||
id: CrateFunSprayPaints
|
||||
name: spray paint crate
|
||||
description: a crate filled with spray paint.
|
||||
parent: CratePlastic
|
||||
suffix: Spray Paint
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: SprayPaintBlue
|
||||
amount: 2
|
||||
prob: 0.33
|
||||
- id: SprayPaintRed
|
||||
amount: 2
|
||||
prob: 0.33
|
||||
- id: SprayPaintOrange
|
||||
amount: 2
|
||||
prob: 0.33
|
||||
- id: SprayPaintBlack
|
||||
amount: 2
|
||||
prob: 0.33
|
||||
- id: SprayPaintGreen
|
||||
amount: 2
|
||||
prob: 0.33
|
||||
- id: SprayPaintPurple
|
||||
amount: 2
|
||||
prob: 0.33
|
||||
- id: SprayPaintWhite
|
||||
amount: 2
|
||||
prob: 0.33
|
||||
- id: DeathPaint
|
||||
amount: 2
|
||||
- id: DeathPaintTwo
|
||||
amount: 2
|
||||
|
||||
- type: entity
|
||||
name: dartboard box set
|
||||
description: A box with everything you need for a fun game of darts.
|
||||
|
||||
@@ -145,6 +145,10 @@
|
||||
prob: 0.25
|
||||
- id: StrangePill
|
||||
prob: 0.20
|
||||
- id: DeathPaint
|
||||
prob: 0.05
|
||||
- id: DeathPaintTwo
|
||||
prob: 0.05
|
||||
- id: DrinkMopwataBottleRandom
|
||||
prob: 0.20
|
||||
- id: ModularReceiver
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
- CrateMaterialPlastic
|
||||
- CrateMaterialWood
|
||||
- CrateMaterialPlasteel
|
||||
- CrateFunSprayPaints
|
||||
- CrateFunArtSupplies
|
||||
- CrateEngineeringCableLV
|
||||
- CrateEngineeringCableMV
|
||||
|
||||
@@ -173,7 +173,12 @@
|
||||
- MaterialCloth10
|
||||
- MaterialWoodPlank10
|
||||
- ResearchDisk
|
||||
- DeathPaint
|
||||
- Plunger
|
||||
- SprayPaintBlue
|
||||
- SprayPaintRed
|
||||
- SprayPaintGreen
|
||||
- SprayPaintOrange
|
||||
- TechnologyDisk
|
||||
- PowerCellMedium
|
||||
- PowerCellSmall
|
||||
|
||||
@@ -70,6 +70,7 @@
|
||||
tags:
|
||||
- Carp
|
||||
- DoorBumpOpener
|
||||
- NoPaint
|
||||
- type: ReplacementAccent
|
||||
accent: genericAggressive
|
||||
- type: Speech
|
||||
|
||||
@@ -93,3 +93,6 @@
|
||||
- RevenantTheme
|
||||
- type: Speech
|
||||
speechVerb: Ghost
|
||||
- type: Tag
|
||||
tags:
|
||||
- NoPaint
|
||||
|
||||
@@ -104,6 +104,7 @@
|
||||
- type: Tag
|
||||
tags:
|
||||
- CannotSuicide
|
||||
- NoPaint
|
||||
|
||||
# From the uplink injector
|
||||
- type: entity
|
||||
@@ -212,6 +213,7 @@
|
||||
tags:
|
||||
- CannotSuicide
|
||||
- FootstepSound
|
||||
- NoPaint
|
||||
- type: Inventory
|
||||
templateId: holoclown
|
||||
- type: Hands
|
||||
|
||||
292
Resources/Prototypes/Entities/Objects/Fun/spray_paint.yml
Normal file
292
Resources/Prototypes/Entities/Objects/Fun/spray_paint.yml
Normal file
@@ -0,0 +1,292 @@
|
||||
# Base Paints
|
||||
- type: entity
|
||||
parent: BaseItem
|
||||
id: PaintBase
|
||||
name: spray paint
|
||||
description: A tin of spray paint.
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: Appearance
|
||||
- type: Sprite
|
||||
sprite: Objects/Fun/spraycans.rsi
|
||||
state: clown_cap
|
||||
layers:
|
||||
- state: clown_cap
|
||||
map: ["enum.OpenableVisuals.Layer"]
|
||||
- type: Paint
|
||||
consumptionUnit: 10
|
||||
blacklist:
|
||||
tags:
|
||||
- NoPaint
|
||||
- type: Item
|
||||
sprite: Objects/Fun/spraycans.rsi
|
||||
heldPrefix: spray
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
drink:
|
||||
maxVol: 50
|
||||
reagents:
|
||||
- ReagentId: SpaceGlue
|
||||
Quantity: 50
|
||||
- type: TrashOnSolutionEmpty
|
||||
solution: drink
|
||||
- type: Sealable
|
||||
- type: Openable
|
||||
sound:
|
||||
path: /Audio/Effects/pop_high.ogg
|
||||
closeable: true
|
||||
closeSound:
|
||||
path: /Audio/Effects/pop_high.ogg
|
||||
|
||||
# Paints
|
||||
|
||||
# funnypaint
|
||||
- type: entity
|
||||
parent: PaintBase
|
||||
id: FunnyPaint
|
||||
name: funny paint
|
||||
description: A tin of funny paint, manufactured by Honk! Co.
|
||||
components:
|
||||
- type: Paint
|
||||
color: "#fa74df"
|
||||
- type: Item
|
||||
sprite: Objects/Fun/spraycans.rsi
|
||||
heldPrefix: clown
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.OpenableVisuals.Opened:
|
||||
enum.OpenableVisuals.Layer:
|
||||
True: {state: "clown"}
|
||||
False: {state: "clown_cap"}
|
||||
|
||||
- type: entity
|
||||
parent: PaintBase
|
||||
id: FunnyPaintYellow
|
||||
name: funny paint
|
||||
description: A tin of funny paint, manufactured by Honk! Co.
|
||||
components:
|
||||
- type: Paint
|
||||
color: "#d5e028"
|
||||
- type: Item
|
||||
sprite: Objects/Fun/spraycans.rsi
|
||||
heldPrefix: clown
|
||||
- type: Sprite
|
||||
sprite: Objects/Fun/spraycans.rsi
|
||||
state: clown2_cap
|
||||
layers:
|
||||
- state: clown2_cap
|
||||
map: ["enum.OpenableVisuals.Layer"]
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.OpenableVisuals.Opened:
|
||||
enum.OpenableVisuals.Layer:
|
||||
True: {state: "clown2"}
|
||||
False: {state: "clown2_cap"}
|
||||
|
||||
#death paint
|
||||
- type: entity
|
||||
parent: PaintBase
|
||||
id: DeathPaint
|
||||
components:
|
||||
- type: Paint
|
||||
color: "#ff20c8"
|
||||
- type: Item
|
||||
sprite: Objects/Fun/spraycans.rsi
|
||||
heldPrefix: spray
|
||||
- type: Sprite
|
||||
sprite: Objects/Fun/spraycans.rsi
|
||||
state: death_cap
|
||||
layers:
|
||||
- state: death_cap
|
||||
map: ["enum.OpenableVisuals.Layer"]
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.OpenableVisuals.Opened:
|
||||
enum.OpenableVisuals.Layer:
|
||||
True: {state: "death"}
|
||||
False: {state: "death_cap"}
|
||||
|
||||
- type: entity
|
||||
parent: PaintBase
|
||||
id: DeathPaintTwo
|
||||
components:
|
||||
- type: Paint
|
||||
color: "#ff2020"
|
||||
- type: Item
|
||||
sprite: Objects/Fun/spraycans.rsi
|
||||
heldPrefix: spray
|
||||
- type: Sprite
|
||||
sprite: Objects/Fun/spraycans.rsi
|
||||
state: death2_cap
|
||||
layers:
|
||||
- state: death2_cap
|
||||
map: ["enum.OpenableVisuals.Layer"]
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.OpenableVisuals.Opened:
|
||||
enum.OpenableVisuals.Layer:
|
||||
True: {state: "death2"}
|
||||
False: {state: "death2_cap"}
|
||||
|
||||
#Sprays
|
||||
|
||||
#Blue
|
||||
- type: entity
|
||||
parent: PaintBase
|
||||
id: SprayPaintBlue
|
||||
suffix: Blue
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Fun/spraycans.rsi
|
||||
layers:
|
||||
- state: spray
|
||||
map: ["Base"]
|
||||
- state: spray_cap_colors
|
||||
map: ["enum.OpenableVisuals.Layer"]
|
||||
color: "#5890f7"
|
||||
- type: Paint
|
||||
color: "#5890f7"
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.OpenableVisuals.Opened:
|
||||
enum.OpenableVisuals.Layer:
|
||||
True: {state: "spray_colors" , color: "#5890f7"}
|
||||
False: {state: "spray_cap_colors" , color: "#5890f7"}
|
||||
|
||||
#Red
|
||||
- type: entity
|
||||
parent: PaintBase
|
||||
id: SprayPaintRed
|
||||
suffix: Red
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Fun/spraycans.rsi
|
||||
layers:
|
||||
- state: spray
|
||||
map: ["Base"]
|
||||
- state: spray_cap_colors
|
||||
map: ["enum.OpenableVisuals.Layer"]
|
||||
color: "#ff3b3b"
|
||||
- type: Paint
|
||||
color: "#ff3b3b"
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.OpenableVisuals.Opened:
|
||||
enum.OpenableVisuals.Layer:
|
||||
True: {state: "spray_colors" , color: "#ff3b3b"}
|
||||
False: {state: "spray_cap_colors" , color: "#ff3b3b"}
|
||||
|
||||
#Green
|
||||
- type: entity
|
||||
parent: PaintBase
|
||||
id: SprayPaintGreen
|
||||
suffix: Green
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Fun/spraycans.rsi
|
||||
layers:
|
||||
- state: spray
|
||||
map: ["Base"]
|
||||
- state: spray_cap_colors
|
||||
map: ["enum.OpenableVisuals.Layer"]
|
||||
color: "#73f170"
|
||||
- type: Paint
|
||||
color: "#73f170"
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.OpenableVisuals.Opened:
|
||||
enum.OpenableVisuals.Layer:
|
||||
True: {state: "spray_colors" , color: "#73f170"}
|
||||
False: {state: "spray_cap_colors" , color: "#73f170"}
|
||||
|
||||
#Black
|
||||
- type: entity
|
||||
parent: PaintBase
|
||||
id: SprayPaintBlack
|
||||
suffix: Black
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Fun/spraycans.rsi
|
||||
layers:
|
||||
- state: spray
|
||||
map: ["Base"]
|
||||
- state: spray_cap_colors
|
||||
map: ["enum.OpenableVisuals.Layer"]
|
||||
color: "#3a3a3a"
|
||||
- type: Paint
|
||||
color: "#3a3a3a"
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.OpenableVisuals.Opened:
|
||||
enum.OpenableVisuals.Layer:
|
||||
True: {state: "spray_colors" , color: "#3a3a3a"}
|
||||
False: {state: "spray_cap_colors" , color: "#3a3a3a"}
|
||||
|
||||
#Orange
|
||||
- type: entity
|
||||
parent: PaintBase
|
||||
id: SprayPaintOrange
|
||||
suffix: Orange
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Fun/spraycans.rsi
|
||||
layers:
|
||||
- state: spray
|
||||
map: ["Base"]
|
||||
- state: spray_cap_colors
|
||||
map: ["enum.OpenableVisuals.Layer"]
|
||||
color: "#f6a44b"
|
||||
- type: Paint
|
||||
color: "#f6a44b"
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.OpenableVisuals.Opened:
|
||||
enum.OpenableVisuals.Layer:
|
||||
True: {state: "spray_colors" , color: "#f6a44b"}
|
||||
False: {state: "spray_cap_colors" , color: "#f6a44b"}
|
||||
|
||||
#Purple
|
||||
- type: entity
|
||||
parent: PaintBase
|
||||
id: SprayPaintPurple
|
||||
suffix: Purple
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Fun/spraycans.rsi
|
||||
layers:
|
||||
- state: spray
|
||||
map: ["Base"]
|
||||
- state: spray_cap_colors
|
||||
map: ["enum.OpenableVisuals.Layer"]
|
||||
color: "#c063f5"
|
||||
- type: Paint
|
||||
color: "#c063f5"
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.OpenableVisuals.Opened:
|
||||
enum.OpenableVisuals.Layer:
|
||||
True: {state: "spray_colors" , color: "#c063f5"}
|
||||
False: {state: "spray_cap_colors" , color: "#c063f5"}
|
||||
|
||||
#White
|
||||
- type: entity
|
||||
parent: PaintBase
|
||||
id: SprayPaintWhite
|
||||
suffix: White
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Fun/spraycans.rsi
|
||||
layers:
|
||||
- state: spray
|
||||
map: ["Base"]
|
||||
- state: spray_cap_colors
|
||||
map: ["enum.OpenableVisuals.Layer"]
|
||||
color: "#f2f2f2"
|
||||
- type: Paint
|
||||
color: "#f2f2f2"
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.OpenableVisuals.Opened:
|
||||
enum.OpenableVisuals.Layer:
|
||||
True: {state: "spray_colors" , color: "#f2f2f2"}
|
||||
False: {state: "spray_cap_colors" , color: "#f2f2f2"}
|
||||
@@ -15,6 +15,7 @@
|
||||
- type: Tag
|
||||
tags:
|
||||
- Sheet
|
||||
- NoPaint
|
||||
- type: Material
|
||||
- type: Damageable
|
||||
damageContainer: Inorganic
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
tags:
|
||||
- Sheet
|
||||
- Metal
|
||||
- NoPaint
|
||||
- type: Damageable
|
||||
damageContainer: Inorganic
|
||||
damageModifierSet: Metallic
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
- type: Tag
|
||||
tags:
|
||||
- Sheet
|
||||
- NoPaint
|
||||
- type: Damageable
|
||||
damageContainer: Inorganic
|
||||
- type: Destructible
|
||||
@@ -110,6 +111,7 @@
|
||||
- type: Tag
|
||||
tags:
|
||||
- Sheet
|
||||
- NoPaint
|
||||
|
||||
- type: entity
|
||||
parent: SheetPlasma
|
||||
@@ -132,6 +134,7 @@
|
||||
tags:
|
||||
- Plastic
|
||||
- Sheet
|
||||
- NoPaint
|
||||
- type: Material
|
||||
- type: PhysicalComposition
|
||||
materialComposition:
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
- type: Tag
|
||||
tags:
|
||||
- RawMaterial
|
||||
- NoPaint
|
||||
- type: Damageable
|
||||
damageContainer: Inorganic
|
||||
- type: Destructible
|
||||
|
||||
@@ -15,6 +15,9 @@
|
||||
Blunt: 5
|
||||
- type: Stack
|
||||
count: 1
|
||||
- type: Tag
|
||||
tags:
|
||||
- NoPaint
|
||||
- type: Damageable
|
||||
damageContainer: Inorganic
|
||||
- type: Destructible
|
||||
|
||||
@@ -62,6 +62,7 @@
|
||||
solution: soap
|
||||
- type: DeleteOnSolutionEmpty
|
||||
solution: soap
|
||||
- type: PaintRemover
|
||||
- type: FlavorProfile
|
||||
flavors:
|
||||
- clean
|
||||
|
||||
@@ -78,6 +78,9 @@
|
||||
malus: 0
|
||||
- type: Reflect
|
||||
enabled: false
|
||||
- type: Tag
|
||||
tags:
|
||||
- NoPaint
|
||||
- type: IgnitionSource
|
||||
temperature: 700
|
||||
|
||||
@@ -156,6 +159,7 @@
|
||||
- type: Tag
|
||||
tags:
|
||||
- Write
|
||||
- NoPaint
|
||||
- type: DisarmMalus
|
||||
malus: 0
|
||||
|
||||
|
||||
@@ -31,6 +31,9 @@
|
||||
sound:
|
||||
path: /Audio/Ambience/Objects/fireplace.ogg
|
||||
- type: AlwaysHot
|
||||
- type: Tag
|
||||
tags:
|
||||
- NoPaint
|
||||
|
||||
- type: entity
|
||||
id: LegionnaireBonfire
|
||||
|
||||
@@ -25,6 +25,9 @@
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
- type: Tag
|
||||
tags:
|
||||
- NoPaint
|
||||
|
||||
- type: entity
|
||||
id: HoloFan
|
||||
|
||||
@@ -92,6 +92,9 @@
|
||||
- type: GuideHelp
|
||||
guides:
|
||||
- Botany
|
||||
- type: Tag
|
||||
tags:
|
||||
- NoPaint
|
||||
|
||||
- type: entity
|
||||
parent: hydroponicsTray
|
||||
|
||||
@@ -908,6 +908,9 @@
|
||||
- type: Tag
|
||||
id: NoBlockAnchoring
|
||||
|
||||
- type: Tag
|
||||
id: NoPaint
|
||||
|
||||
- type: Tag
|
||||
id: NozzleBackTank
|
||||
|
||||
|
||||
Reference in New Issue
Block a user