TG Vending Machines + Tweaks (#14703)

* d

d

* engivend misalignment

* sustenance vendor

* Revert "sustenance vendor"

This reverts commit 2f4fb47df4529e93b7fc69da1b7a10e8a7c9f2c2.

* shamblers juice

* pwrgame

* most food/drink machines

* robotech deluxe, centdrobe and some restock boxes

* copyright + salv vend

* tweaks

* restock box + more tweaks

* yaml linter fail

* divide vendor contents

* divide contents 2
This commit is contained in:
potato1234_x
2023-03-24 18:54:47 +10:00
committed by GitHub
parent ffe6b166d6
commit 51778afe6f
99 changed files with 1138 additions and 40 deletions

View File

@@ -166,6 +166,16 @@
category: Service
group: market
- type: cargoProduct
id: CrateVendingMachineRestockRobotics
icon:
sprite: Objects/Specific/Service/vending_machine_restock.rsi
state: base
product: CrateVendingMachineRestockRoboticsFilled
cost: 1600
category: Science
group: market
- type: cargoProduct
id: CrateVendingMachineRestockTankDispenser
icon:

View File

@@ -133,6 +133,14 @@
contents:
- id: VendingMachineRestockVendomat
- type: entity
id: CrateVendingMachineRestockRoboticsFilled
parent: CrateScienceSecure
components:
- type: StorageFill
contents:
- id: VendingMachineRestockRobotics
- type: entity
id: CrateVendingMachineRestockTankDispenserFilled
parent: CratePlastic

View File

@@ -0,0 +1,16 @@
- type: vendingMachineInventory
id: CentDrobeInventory
startingInventory:
ClothingShoesBootsLaceup: 3
ClothingShoesBootsJack: 3
ClothingHandsGlovesCombat: 3
ClothingEyesGlassesSunglasses: 3
ClothingUniformJumpsuitCentcomOfficer: 3
ClothingUniformJumpsuitCentcomOfficial: 3
ClothingUniformJumpsuitCentcomFormal: 3
ClothingUniformJumpskirtCentcomFormalDress: 3
ClothingHeadHatCentcom: 3
ClothingMaskGasCentcom: 3
ClothingHeadsetCentCom: 3
ClothingOuterWinterCentcom: 3

View File

@@ -1,13 +1,9 @@
- type: vendingMachineInventory
id: RobustSoftdrinksInventory
startingInventory:
DrinkColaCan: 2
DrinkEnergyDrinkCan: 2
DrinkGrapeCan: 3
DrinkColaCan: 4
DrinkGrapeCan: 2
DrinkRootBeerCan: 2
DrinkIcedTeaCan: 2
DrinkLemonLimeCan: 2
DrinkSpaceMountainWindCan: 2
DrinkSpaceUpCan: 2
DrinkStarkistCan: 2
DrinkFourteenLokoCan: 2

View File

@@ -0,0 +1,10 @@
- type: vendingMachineInventory
id: PwrGameInventory
startingInventory:
DrinkPwrGameCan: 4
DrinkEnergyDrinkCan: 4
DrinkGrapeCan: 2
DrinkRootBeerCan: 2
DrinkIcedTeaCan: 2
DrinkLemonLimeCan: 2
DrinkFourteenLokoCan: 2

View File

@@ -1,18 +1,15 @@
- type: vendingMachineInventory
id: RobotechDeluxeInventory
id: RoboticsInventory
startingInventory:
#TO DO: add missing prototypes
ClothingOuterCoatLab: 4
#roboticist under
CableStack: 4
Flash: 4
#proximity sensor
#signaller
#health anaylzer
CableApcStack: 4
#Flash: 4 add when robotics
ProximitySensor: 3
RemoteSignaller: 3
HandheldHealthAnalyzer: 3
Scalpel: 2
Saw: 1
#bonesetter
#anaesthetic
#medical mask
Screwdriver: 5
Crowbar: 5
SawElectric: 2
#Bonesetter: 2 add when robotics
NitrousOxideTankFilled: 2
ClothingMaskBreathMedical: 5
Screwdriver: 2
Crowbar: 2

View File

@@ -0,0 +1,9 @@
- type: vendingMachineInventory
id: ShamblersJuiceInventory
startingInventory:
DrinkShamblersJuiceCan: 4
DrinkGrapeCan: 2
DrinkRootBeerCan: 2
DrinkIcedTeaCan: 2
DrinkLemonLimeCan: 2
DrinkFourteenLokoCan: 2

View File

@@ -0,0 +1,9 @@
- type: vendingMachineInventory
id: SodaInventory
startingInventory:
DrinkColaCan: 3
DrinkGrapeCan: 3
DrinkRootBeerCan: 3
DrinkIcedTeaCan: 3
DrinkLemonLimeCan: 3
DrinkFourteenLokoCan: 3

View File

@@ -0,0 +1,10 @@
- type: vendingMachineInventory
id: SpaceUpInventory
startingInventory:
DrinkSpaceUpCan: 3
DrinkSpaceMountainWindCan: 3
DrinkGrapeCan: 2
DrinkRootBeerCan: 2
DrinkIcedTeaCan: 2
DrinkLemonLimeCan: 2
DrinkFourteenLokoCan: 2

View File

@@ -0,0 +1,9 @@
- type: vendingMachineInventory
id: StarkistInventory
startingInventory:
DrinkStarkistCan: 4
DrinkGrapeCan: 2
DrinkRootBeerCan: 2
DrinkIcedTeaCan: 2
DrinkLemonLimeCan: 2
DrinkFourteenLokoCan: 2

View File

@@ -1,21 +1,33 @@
- type: entity
id: RandomVending
name: random vending machine spawner
suffix: Any
parent: MarkerBase
components:
- type: Sprite
layers:
- state: red
- sprite: Structures/Machines/VendingMachines/coffee.rsi
state: off
- sprite: Structures/Machines/VendingMachines/random.rsi
state: any
- type: RandomSpawner
prototypes:
- VendingMachineCigs
- VendingMachineCoffee
- VendingMachineCola
- VendingMachineColaRed
- VendingMachineColaBlack
- VendingMachineDiscount
- VendingMachineSnack
- VendingMachineSnackBlue
- VendingMachineSnackGreen
- VendingMachineSnackOrange
- VendingMachineSnackTeal
- VendingMachineSovietSoda
- VendingMachineChang
- VendingMachineDonut
- VendingMachineShamblersJuice
- VendingMachinePwrGame
- VendingMachineSoda
- VendingMachineStarkist
- VendingMachineSpaceUp
chance: 1

View File

@@ -0,0 +1,24 @@
- type: entity
id: RandomVendingDrinks
name: random vending machine spawner
suffix: Drinks
parent: MarkerBase
components:
- type: Sprite
layers:
- state: red
- sprite: Structures/Machines/VendingMachines/random.rsi
state: drink
- type: RandomSpawner
prototypes:
- VendingMachineCoffee
- VendingMachineCola
- VendingMachineColaRed
- VendingMachineColaBlack
- VendingMachineSovietSoda
- VendingMachineShamblersJuice
- VendingMachinePwrGame
- VendingMachineSoda
- VendingMachineStarkist
- VendingMachineSpaceUp
chance: 1

View File

@@ -0,0 +1,22 @@
- type: entity
id: RandomVendingSnacks
name: random vending machine spawner
suffix: Snacks
parent: MarkerBase
components:
- type: Sprite
layers:
- state: red
- sprite: Structures/Machines/VendingMachines/random.rsi
state: snack
- type: RandomSpawner
prototypes:
- VendingMachineDiscount
- VendingMachineSnack
- VendingMachineSnackBlue
- VendingMachineSnackGreen
- VendingMachineSnackOrange
- VendingMachineSnackTeal
- VendingMachineChang
- VendingMachineDonut
chance: 1

View File

@@ -342,3 +342,41 @@
- 6pack4
- 6pack5
- 6pack6
- type: entity
parent: DrinkCanBaseFull
id: DrinkShamblersJuiceCan
name: shamblers juice can
description: ~Shake me up some of that Shambler's Juice!~
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 30
reagents:
- ReagentId: ShamblersJuice
Quantity: 30
- type: Drink
- type: Sprite
sprite: Objects/Consumable/Drinks/shamblersjuice.rsi
- type: Item
sprite: Objects/Consumable/Drinks/shamblersjuice.rsi
- type: entity
parent: DrinkCanBaseFull
id: DrinkPwrGameCan
name: pwr game can
description: The only drink with the PWR that true gamers crave. When a gamer talks about gamerfuel, this is what they're literally referring to.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 30
reagents:
- ReagentId: PwrGame
Quantity: 30
- type: Drink
- type: Sprite
sprite: Objects/Consumable/Drinks/pwrgame.rsi
- type: Item
sprite: Objects/Consumable/Drinks/pwrgame.rsi

View File

@@ -75,12 +75,29 @@
- type: entity
parent: BaseVendingMachineRestock
id: VendingMachineRestockClothes
name: ClothesMate restock box
description: It's time to step up your fashion! Place inside the ClothesMate restock slot to begin.
name: wardrobe restock box
description: It's time to step up your fashion! Place inside any clothes vendor restock slot to begin.
components:
- type: VendingMachineRestock
canRestock:
- ClothesMateInventory
- AtmosDrobeInventory
- BarDrobeInventory
- CargoDrobeInventory
- CentDrobeInventory
- ChefDrobeInventory
- ChemDrobeInventory
- DetDrobeInventory
- EngiDrobeInventory
- GeneDrobeInventory
- HyDrobeInventory
- JaniDrobeInventory
- LawDrobeInventory
- MediDrobeInventory
- RoboDrobeInventory
- SciDrobeInventory
- SecDrobeInventory
- ViroDrobeInventory
- type: Sprite
layers:
- state: base
@@ -139,7 +156,7 @@
- type: entity
parent: BaseVendingMachineRestock
id: VendingMachineRestockDonut
name: Robust Donuts box
name: Robust Donuts restock box
description: A box full of toroidal bundles of fried dough for restocking a vending machine. Use only as directed by Robust Industries, LLC.
components:
- type: VendingMachineRestock
@@ -155,7 +172,7 @@
- type: entity
parent: BaseVendingMachineRestock
id: VendingMachineRestockEngineering
name: EngiVend resupply box
name: EngiVend restock box
description: Only to be used by certified professionals.
components:
- type: VendingMachineRestock
@@ -220,7 +237,7 @@
- type: entity
parent: BaseVendingMachineRestock
id: VendingMachineRestockMedical
name: NanoMed resupply box
name: NanoMed restock box
description: Slot into your department's NanoMed or NanoMedPlus to dispense. Handle with care.
components:
- type: VendingMachineRestock
@@ -253,7 +270,7 @@
- type: entity
parent: BaseVendingMachineRestock
id: VendingMachineRestockPTech
name: PTech resupply box
name: PTech restock box
description: All the bureaucracy you can handle, and more! Load into the PTech vending machine to get started.
components:
- type: VendingMachineRestock
@@ -276,6 +293,11 @@
canRestock:
- RobustSoftdrinksInventory
- BodaInventory
- PwrGameInventory
- ShamblersJuiceInventory
- StarkistInventory
- SpaceUpInventory
- SodaInventory
- type: Sprite
layers:
- state: base
@@ -286,7 +308,7 @@
- type: entity
parent: BaseVendingMachineRestock
id: VendingMachineRestockSecTech
name: SecTech resupply box
name: SecTech restock box
description: "Communists beware: the reinforcements have arrived! A label reads SECURITY PERSONNEL ONLY."
components:
- type: VendingMachineRestock
@@ -302,7 +324,7 @@
- type: entity
parent: BaseVendingMachineRestock
id: VendingMachineRestockSalvageEquipment
name: salvage resupply box
name: Salvage Vendor restock box
description: Strike the earth ere the space carp nip your behind! Slam into a salvage vendor to begin.
components:
- type: VendingMachineRestock
@@ -350,7 +372,7 @@
- type: entity
parent: BaseVendingMachineRestock
id: VendingMachineRestockTankDispenser
name: tank dispenser resupply box
name: tank dispenser restock box
description: Capable of replacing tanks in a gas tank dispenser. Handle with care.
components:
- type: VendingMachineRestock
@@ -367,7 +389,7 @@
- type: entity
parent: BaseVendingMachineRestock
id: VendingMachineRestockVendomat
name: vendomat restock box
name: Vendomat restock box
description: A box full of parts for various machinery. Load it into a Vendomat to begin.
components:
- type: VendingMachineRestock
@@ -380,10 +402,26 @@
shader: unshaded
- state: refill_parts
- type: entity
parent: BaseVendingMachineRestock
id: VendingMachineRestockRobotics
name: Robotech Deluxe restock box
description: A box full of tools for creating borgs. Load it into a Robotech Deluxe to begin.
components:
- type: VendingMachineRestock
canRestock:
- RoboticsInventory
- type: Sprite
layers:
- state: base
- state: green_bit
shader: unshaded
- state: refill_robotics
- type: entity
parent: BaseVendingMachineRestock
id: VendingMachineRestockHappyHonk
name: happy honk restock box
name: Happy Honk restock box
description: place this box full of fun into the restock slot on the Happy Honk Dispenser to begin.
components:
- type: VendingMachineRestock

View File

@@ -349,6 +349,183 @@
energy: 1.6
color: "#3c5eb5"
- type: entity
parent: VendingMachineCola
id: VendingMachineColaBlack
suffix: Black
components:
- type: Sprite
sprite: Structures/Machines/VendingMachines/cola-black.rsi
layers:
- state: "off"
map: ["enum.VendingMachineVisualLayers.Base"]
- state: "off"
map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
shader: unshaded
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
color: "#423438"
- type: entity
parent: VendingMachineCola
id: VendingMachineColaRed
name: Space Cola Vendor
description: It vends cola, in space.
components:
- type: Sprite
sprite: Structures/Machines/VendingMachines/cola-red.rsi
layers:
- state: "off"
map: ["enum.VendingMachineVisualLayers.Base"]
- state: "off"
map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
shader: unshaded
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
color: "#A50824"
- type: entity
parent: VendingMachineCola
id: VendingMachineSpaceUp
name: Space-Up! Vendor
description: Indulge in an explosion of flavor.
components:
- type: VendingMachine
pack: SpaceUpInventory
- type: Sprite
sprite: Structures/Machines/VendingMachines/spaceup.rsi
layers:
- state: "off"
map: ["enum.VendingMachineVisualLayers.Base"]
- state: "off"
map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
shader: unshaded
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
color: "#44964A"
- type: entity
parent: VendingMachineCola
id: VendingMachineSoda
suffix: Soda
components:
- type: VendingMachine
pack: SodaInventory
- type: Sprite
sprite: Structures/Machines/VendingMachines/soda.rsi
layers:
- state: "off"
map: ["enum.VendingMachineVisualLayers.Base"]
- state: "off"
map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
shader: unshaded
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
color: "#CBC6BE"
- type: entity
parent: VendingMachineCola
id: VendingMachineStarkist
name: Star-kist Vendor
description: The taste of a star in liquid form.
components:
- type: VendingMachine
pack: StarkistInventory
- type: Sprite
sprite: Structures/Machines/VendingMachines/starkist.rsi
layers:
- state: "off"
map: ["enum.VendingMachineVisualLayers.Base"]
- state: "off"
map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
shader: unshaded
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
color: "#D3A44D"
- type: entity
parent: VendingMachine
id: VendingMachineShamblersJuice
name: Shambler's Juice Vendor
description: ~Shake me up some of that Shambler's Juice!~
components:
- type: VendingMachine
pack: ShamblersJuiceInventory
dispenseOnHitChance: 0.25
dispenseOnHitThreshold: 2
offState: off
brokenState: broken
normalState: normal-unshaded
ejectState: eject-unshaded
denyState: deny-unshaded
ejectDelay: 1.9
- type: Advertise
pack: RobustSoftdrinksAds
- type: Speech
- type: Sprite
sprite: Structures/Machines/VendingMachines/shamblersjuice.rsi
layers:
- state: "off"
map: ["enum.VendingMachineVisualLayers.Base"]
- state: "off"
map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
shader: unshaded
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
color: "#66538F"
- type: entity
parent: VendingMachine
id: VendingMachinePwrGame
name: Pwr Game Vendor
description: You want it, we got it. Brought to you in partnership with Vlad's Salads.
components:
- type: VendingMachine
pack: PwrGameInventory
dispenseOnHitChance: 0.25
dispenseOnHitThreshold: 2
offState: off
brokenState: broken
normalState: normal-unshaded
ejectState: eject-unshaded
denyState: deny-unshaded
ejectDelay: 1.9
- type: Advertise
pack: RobustSoftdrinksAds
- type: Speech
- type: Sprite
sprite: Structures/Machines/VendingMachines/pwrgame.rsi
layers:
- state: "off"
map: ["enum.VendingMachineVisualLayers.Base"]
- state: "off"
map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
shader: unshaded
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
color: "#6927C5"
- type: entity
parent: VendingMachine
id: VendingMachineDinnerware
@@ -673,6 +850,86 @@
energy: 1.6
color: "#c73434"
- type: entity
parent: VendingMachineSnack
id: VendingMachineSnackBlue
suffix: Blue
components:
- type: Sprite
sprite: Structures/Machines/VendingMachines/snack-blue.rsi
layers:
- state: "off"
map: ["enum.VendingMachineVisualLayers.Base"]
- state: "off"
map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
shader: unshaded
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
color: "#3c5eb5"
- type: entity
parent: VendingMachineSnack
id: VendingMachineSnackOrange
suffix: Orange
components:
- type: Sprite
sprite: Structures/Machines/VendingMachines/snack-orange.rsi
layers:
- state: "off"
map: ["enum.VendingMachineVisualLayers.Base"]
- state: "off"
map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
shader: unshaded
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
color: "#CE3401"
- type: entity
parent: VendingMachineSnack
id: VendingMachineSnackGreen
suffix: Green
components:
- type: Sprite
sprite: Structures/Machines/VendingMachines/snack-green.rsi
layers:
- state: "off"
map: ["enum.VendingMachineVisualLayers.Base"]
- state: "off"
map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
shader: unshaded
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
color: "#5F6A1C"
- type: entity
parent: VendingMachineSnack
id: VendingMachineSnackTeal
suffix: Teal
components:
- type: Sprite
sprite: Structures/Machines/VendingMachines/snack-teal.rsi
layers:
- state: "off"
map: ["enum.VendingMachineVisualLayers.Base"]
- state: "off"
map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
shader: unshaded
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
color: "#207E79"
- type: entity
parent: VendingMachine
id: VendingMachineSovietSoda
@@ -775,6 +1032,39 @@
energy: 1.6
color: "#9dc5c9"
- type: entity
parent: VendingMachine
id: VendingMachineRobotics
name: Robotech Deluxe
description: All the tools you need to create your own robot army.
components:
- type: VendingMachine
pack: RoboticsInventory
offState: off
brokenState: broken
normalState: normal-unshaded
ejectState: eject-unshaded
denyState: deny-unshaded
- type: Advertise
pack: VendomatAds
- type: Speech
- type: Sprite
sprite: Structures/Machines/VendingMachines/robotics.rsi
layers:
- state: "off"
map: ["enum.VendingMachineVisualLayers.Base"]
- state: "off"
map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
shader: unshaded
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: AccessReader
access: [["Research"]]
- type: PointLight
radius: 1.5
energy: 1.6
color: "#B0ADA9"
- type: entity
parent: VendingMachine
id: VendingMachineYouTool
@@ -870,7 +1160,7 @@
- type: entity
parent: VendingMachine
id: VendingMachineSalvage
name: salvage vendor
name: Salvage Vendor
description: A dwarves best friend!
components:
- type: VendingMachine
@@ -1414,7 +1704,33 @@
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: AccessReader
access: [["Medical"]]
- type: entity
parent: VendingMachine
id: VendingMachineCentDrobe
name: CentDrobe
description: A one-of-a-kind vending machine for all your centcom aesthetic needs!
components:
- type: VendingMachine
pack: CentDrobeInventory
offState: off
brokenState: broken
normalState: normal-unshaded
- type: Sprite
sprite: Structures/Machines/VendingMachines/centdrobe.rsi
layers:
- state: "off"
map: ["enum.VendingMachineVisualLayers.Base"]
- state: "off"
map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
shader: unshaded
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
color: "#48CF48"
- type: entity
parent: VendingMachine
id: VendingMachineHappyHonk
@@ -1456,7 +1772,7 @@
parent: VendingMachine
id: VendingMachineTankDispenserEVA
suffix: EVA [O2, N2]
name: gas tank dispenser
name: Gas Tank Dispenser
description: A vendor for dispensing gas tanks.
components:
- type: VendingMachine
@@ -1469,7 +1785,7 @@
parent: VendingMachine
id: VendingMachineTankDispenserEngineering
suffix: ENG [O2, Plasma]
name: gas tank dispenser
name: Gas Tank Dispenser
description: A vendor for dispensing gas tanks. This one has an engineering livery.
components:
- type: VendingMachine
@@ -1479,3 +1795,4 @@
layers:
- state: dispenser
- state: dispensereng

View File

@@ -157,3 +157,12 @@
damage:
types:
Poison: 1
- type: reagent
id: ShamblersJuice
name: reagent-name-shamblers-juice
parent: BaseSoda
desc: reagent-desc-shamblers-juice
physicalDesc: reagent-physical-desc-fizzy
flavor: metallic
color: "#66538F"