diff --git a/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemical-containers.yml b/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemical-containers.yml index 34868ac653..43ea345d8f 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemical-containers.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemical-containers.yml @@ -593,3 +593,82 @@ reagents: - ReagentId: DexalinPlus Quantity: 200 + + +- type: entity + name: Jerrycan + parent: BaseItem + id: Jerrycan + description: A plastic jerry can with a spill-proof nozzle. + components: + - type: SolutionContainerManager + solutions: + beaker: + maxVol: 200 + - type: Sprite + sprite: Objects/Tools/bucket.rsi + layers: + - state: icon + - type: Item + size: Normal + - type: MixableSolution + solution: beaker + - type: RefillableSolution + solution: beaker + - type: DrainableSolution + solution: beaker + - type: DrawableSolution + solution: beaker + - type: InjectableSolution + solution: beaker + - type: SolutionTransfer + canChangeTransferAmount: true + - type: SolutionItemStatus + solution: beaker + - type: UserInterface + interfaces: + enum.TransferAmountUiKey.Key: + type: TransferAmountBoundUserInterface + - type: Appearance + - type: Label + - type: Tag + tags: + - Jerrycan + - type: DnaSubstanceTrace + - type: PhysicalComposition + materialComposition: + Plastic: 75 + - type: Openable + sound: + collection: bottleOpenSounds + closeable: true + closeSound: + collection: bottleCloseSounds + - type: Spillable + solution: beaker + - type: Damageable + damageContainer: Inorganic + - type: Destructible + thresholds: + - trigger: # Overkill threshold + !type:DamageTrigger + damage: 200 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 20 # can take a few more hits than basic plastic + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalCrunch # TODO a plastic break collection + - !type:SpillBehavior { } + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: MeleeWeapon + soundNoDamage: + path: "/Audio/Effects/Fluids/splat.ogg" + damage: + types: + Blunt: 0 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Tools/spray_painter.yml b/Resources/Prototypes/Entities/Objects/Tools/spray_painter.yml index 78873a8f46..76d7ccbfb1 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/spray_painter.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/spray_painter.yml @@ -30,6 +30,20 @@ distro: '#0055cc' air: '#03fcd3' mix: '#947507' + oxygen: '#5E7CFF' + nitrogen: '#FF1A1A' + carbon dioxide: '#575151' + water vapor: '#F2F2F2' + ammonia: '#FFEB6E' + chlorine: '#696969' + flourine: '#BDBF9D' + chlorine trifluoride: '#74B505' + plasma: '#E600E2' + tritium: '#00E646' + frezon: '#9CFFFF' + hydrogen: '#30648C' + methane: '#3D1215' + nitrous oxide: '#9C1728' - type: StaticPrice price: 40 - type: LimitedCharges diff --git a/Resources/Prototypes/Entities/Structures/Specific/mechanic-cart.yml b/Resources/Prototypes/Entities/Structures/Specific/mechanic-cart.yml new file mode 100644 index 0000000000..19accfe873 --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Specific/mechanic-cart.yml @@ -0,0 +1,122 @@ +#mechanic cart + +- type: entity + name: mechanic cart + id: MechanicCart + parent: [BaseStructureDynamic, StructureWheeled] + description: Every mechanic's best friend. + components: + - type: Sprite + noRot: true + sprite: Objects/Specific/Janitorial/janitorial_cart.rsi + layers: + - state: cart + - state: cart_water-1 + map: ["enum.SolutionContainerLayers.Fill"] + visible: false + - type: Rotatable + - type: InteractionOutline + - type: ItemSlots + slots: + crowbar_slot: + name: mechanic-cart-slot-component-slot-name-crowbar + whitelist: + tags: + - Crowbar + priority: 9 + wrench_slot: + name: mechanic-cart-slot-component-slot-name-wrench + whitelist: + tags: + - Wrench + insertOnInteract: true + priority: 9 + screwdriver_slot: + name: mechanic-cart-slot-component-slot-name-screwdriver + whitelist: + tags: + - Screwdriver + priority: 9 + wirecutter_slot: + name: mechanic-cart-slot-component-slot-name-wirecutter + whitelist: + tags: + - Wirecutter + priority: 9 + multitool_slot: + name: mechanic-cart-slot-component-slot-name-multitool + whitelist: + tags: + - Multitool + - DoorElectronicsConfigurator + priority: 9 + powerdrill_slot: + name: mechanic-cart-slot-component-slot-name-powerdrill + whitelist: + tags: + - Powerdrill + insertOnInteract: true + priority: 9 + rcd_slot: + name: mechanic-cart-slot-component-slot-name-rcd + whitelist: + components: + - RCD + priority: 9 + jaws_of_life_slot: + name: mechanic-cart-slot-component-slot-name-jaws-of-life + whitelist: + tags: + - JawsOfLife + priority: 9 + cablecoil_slot1: + name: mechanic-cart-slot-component-slot-name-cablecoil + whitelist: + tags: + - CableCoil + priority: 9 + cablecoil_slot2: + name: mechanic-cart-slot-component-slot-name-cablecoil + whitelist: + tags: + - CableCoil + priority: 9 + cablecoil_slot3: + name: mechanic-cart-slot-component-slot-name-cablecoil + whitelist: + tags: + - CableCoil + toolbox_slot1: + name: mechanic-cart-slot-component-slot-name-toolbox + whitelist: + tags: + - Toolbox + priority: 9 + toolbox_slot2: + name: mechanic-cart-slot-component-slot-name-toolbox + whitelist: + tags: + - Toolbox + priority: 9 + t_ray_scanner_slot: + name: mechanic-cart-slot-component-slot-name-tray-scanner + whitelist: + components: + - TrayScanner + priority: 9 + welder_scanner_slot: + name: mechanic-cart-slot-component-slot-name-tray-welder + whitelist: + components: + - Welder + priority: 9 + jerrycan_slot1: + name: mechanic-cart-slot-component-slot-name-jerrycan + whitelist: + tags: + - Jerrycan + jerrycan_slot2: + name: mechanic-cart-slot-component-slot-name-jerrycan2 + whitelist: + tags: + - Jerrycan \ No newline at end of file diff --git a/Resources/Prototypes/Recipes/Lathes/Packs/engineering.yml b/Resources/Prototypes/Recipes/Lathes/Packs/engineering.yml index a13f542c0d..bbebdac659 100644 --- a/Resources/Prototypes/Recipes/Lathes/Packs/engineering.yml +++ b/Resources/Prototypes/Recipes/Lathes/Packs/engineering.yml @@ -29,6 +29,7 @@ - OreBag - PlantBag - ClothingShoesSkates + - Jerrycan - type: latheRecipePack id: AtmosStatic diff --git a/Resources/Prototypes/Recipes/Lathes/devices.yml b/Resources/Prototypes/Recipes/Lathes/devices.yml index bf1238c179..45a4e9535b 100644 --- a/Resources/Prototypes/Recipes/Lathes/devices.yml +++ b/Resources/Prototypes/Recipes/Lathes/devices.yml @@ -292,3 +292,10 @@ Copper: 300 Plastic: 100 Glass: 100 + +- type: latheRecipe + parent: BasePartRecipe + id: Jerrycan + result: Jerrycan + materials: + Plastic: 200 \ No newline at end of file