From: Flareguy <78941145+Flareguy@users.noreply.github.com> Date: Mon, 1 Apr 2024 03:23:59 +0000 (-0500) Subject: Gives all wheeled objects low friction (#26601) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=29d7b73da72e066436933f869ff7adbee1d24f45;p=space-station-14.git Gives all wheeled objects low friction (#26601) * gives all wheeled objects friction * adjustments to sum stuff --- diff --git a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml index cad2d9a924..b192401c8b 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml @@ -87,123 +87,6 @@ - Mop - MopAdv -- type: entity - name: mop bucket - id: MopBucket - description: Holds water and the tears of the janitor. - components: - - type: Clickable - - type: Sprite - sprite: Objects/Specific/Janitorial/janitorial.rsi - noRot: true - layers: - - state: mopbucket - - state: mopbucket_water-1 - map: ["enum.SolutionContainerLayers.Fill"] - visible: false - drawdepth: Objects - - type: InteractionOutline - - type: SolutionContainerManager - solutions: - bucket: - maxVol: 600 - - type: Spillable - solution: bucket - spillDelay: 3.0 - - type: DrainableSolution - solution: bucket - - type: RefillableSolution - solution: bucket - - type: ExaminableSolution - solution: bucket - - type: Tag - tags: - - Wringer - - type: ItemMapper - mapLayers: - mopbucket_shark_blue: - whitelist: - tags: - - PlushieSharkBlue - mopbucket_shark_pink: - whitelist: - tags: - - PlushieSharkPink - mopbucket_shark_grey: - whitelist: - tags: - - PlushieSharkGrey - sprite: Objects/Fun/sharkplush.rsi - - type: Physics - bodyType: Dynamic - - type: Transform - noRot: true - - type: ItemSlots - slots: - shark_slot: - name: mop-bucket-slot-component-slot-name-shark - whitelist: - tags: - - PlushieSharkBlue - - PlushieSharkPink - - PlushieSharkGrey - priority: 3 # Higher than drinking priority - - type: Fixtures - fixtures: - fix1: - shape: - !type:PhysShapeAabb - bounds: "-0.25,-0.40,0.25,0.25" - density: 60 - mask: - - MobMask - layer: - - MobLayer - - type: Pullable - - type: Drink - solution: bucket - - type: Appearance - - type: SolutionContainerVisuals - maxFillLevels: 3 - fillBaseName: mopbucket_water- - - type: ContainerContainer - containers: - storagebase: !type:Container - ents: [] - shark_slot: !type:ContainerSlot {} - - type: GuideHelp - guides: - - Janitorial - - type: Damageable - damageContainer: Inorganic - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 70 - behaviors: - - !type:DoActsBehavior - acts: ["Destruction"] - -- type: entity - name: mop bucket - id: MopBucketFull - parent: MopBucket - suffix: full - components: - - type: Sprite - layers: - - state: mopbucket - - state: mopbucket_water-3 - map: [ "enum.SolutionContainerLayers.Fill" ] - - type: SolutionContainerManager - solutions: - bucket: - maxVol: 600 - reagents: - - ReagentId: Water - Quantity: 600 - - type: entity name: wet floor sign id: WetFloorSign @@ -279,291 +162,6 @@ tags: # ignore "WhitelistChameleon" tag - WetFloorSign -- type: entity - name: janitorial trolley - id: JanitorialTrolley - parent: BaseStructureDynamic - description: This is the alpha and omega of sanitation. - 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 - # Removing storage until OnInteractUsing logic resolved - #- type: Storage - # popup: false - # capacity: 80 - # blacklist: # there is exclusive item slots for that - # tags: - # - Mop - # - TrashBag - # - Bucket - - type: ItemSlots - slots: - mop_slot: - name: janitorial-trolley-slot-component-slot-name-mop - whitelist: - tags: - - Mop - insertOnInteract: false # or it conflicts with bucket logic - priority: 9 # Higher than bucket slot - plunger_slot: - name: janitorial-trolley-slot-component-slot-name-plunger - whitelist: - tags: - - Plunger - priority: 8 - wetfloorsign_slot4: - name: janitorial-trolley-slot-component-slot-name-sign - whitelist: - tags: - - WetFloorSign - priority: 7 - wetfloorsign_slot3: - name: janitorial-trolley-slot-component-slot-name-sign - whitelist: - tags: - - WetFloorSign - priority: 7 - wetfloorsign_slot2: - name: janitorial-trolley-slot-component-slot-name-sign - whitelist: - tags: - - WetFloorSign - priority: 7 - wetfloorsign_slot1: - name: janitorial-trolley-slot-component-slot-name-sign - whitelist: - tags: - - WetFloorSign - priority: 7 - lightreplacer_slot: - name: janitorial-trolley-slot-component-slot-name-lightreplacer - whitelist: - components: - - LightReplacer - priority: 6 - spraybottle_slot: - name: janitorial-trolley-slot-component-slot-name-spray - whitelist: - tags: - - Spray - insertOnInteract: false # or it conflicts with bucket logic - priority: 5 # Higher than bucket slot - bucket_slot: - name: janitorial-trolley-slot-component-slot-name-bucket - whitelist: - tags: - - Bucket - insertOnInteract: false # or it also conflicts with bucket logic - priority: 4 # Higher than trash bag slot - trashbag_slot: - name: janitorial-trolley-slot-component-slot-name-trashbag - whitelist: - tags: - - TrashBag - priority: 3 # Higher than drinking priority - - type: Fixtures - fixtures: - fix1: - shape: - !type:PhysShapeCircle - radius: 0.3 - density: 250 - layer: - - MobLayer - mask: - - MobMask - - type: Spillable - solution: bucket - spillDelay: 3.0 - - type: SolutionContainerManager - solutions: - bucket: - maxVol: 800 - reagents: - - ReagentId: Water - Quantity: 600 # 3 quarters full at roundstart to make it more appealing - - type: DrainableSolution - solution: bucket - - type: RefillableSolution - solution: bucket - - type: ExaminableSolution - solution: bucket - - type: Tag - tags: - - Wringer - - 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: - cart_plunger: - whitelist: - tags: - - Plunger - cart_mop: - whitelist: - tags: - - MopBasic - cart_advmop: - whitelist: - tags: - - MopAdv - cart_garbage: - whitelist: - tags: - - TrashBag - cart_replacer: - whitelist: - components: - - LightReplacer - cart_spray: - whitelist: - tags: - - Spray - cart_sign1: # this is like stack of floor signs - minCount: 1 - whitelist: - tags: - - WetFloorSign - cart_sign2: - minCount: 2 - whitelist: - tags: - - WetFloorSign - cart_sign3: - minCount: 3 - whitelist: - tags: - - WetFloorSign - cart_sign4: - minCount: 4 - whitelist: - tags: - - WetFloorSign - cart_bucket: - whitelist: - tags: - - Bucket - sprite: Objects/Specific/Janitorial/janitorial_cart.rsi - - type: Appearance - - type: SolutionContainerVisuals - maxFillLevels: 3 - fillBaseName: cart_water- - - type: UserInterface - interfaces: - - key: enum.StorageUiKey.Key - type: StorageBoundUserInterface - - type: Drink - solution: bucket - - type: ContainerContainer - containers: - storagebase: !type:Container - ents: [] - mop_slot: !type:ContainerSlot {} - trashbag_slot: !type:ContainerSlot {} - bucket_slot: !type:ContainerSlot {} - plunger_slot: !type:ContainerSlot {} - wetfloorsign_slot4: !type:ContainerSlot {} - wetfloorsign_slot3: !type:ContainerSlot {} - wetfloorsign_slot2: !type:ContainerSlot {} - wetfloorsign_slot1: !type:ContainerSlot {} - lightreplacer_slot: !type:ContainerSlot {} - spraybottle_slot: !type:ContainerSlot {} - - type: GuideHelp - guides: - - Janitorial - - type: TileFrictionModifier - modifier: 0.4 # makes it slide - -- type: entity - id: FloorDrain - name: drain - description: Drains puddles around it. Useful for dumping mop buckets or keeping certain rooms clean. - placement: - mode: SnapgridCenter - components: - - type: Sprite - drawdepth: FloorObjects - sprite: Objects/Specific/Janitorial/drain.rsi - layers: - - state: icon - - map: [ "enum.SolutionContainerLayers.Fill" ] - state: fill-1 - visible: false - - type: InteractionOutline - - type: Clickable - - type: Transform - anchored: true - - type: Physics - bodyType: Static - canCollide: false - - type: AmbientSound - enabled: false - volume: -8 - range: 8 - sound: - path: /Audio/Ambience/Objects/drain.ogg - - type: Drain - - type: DumpableSolution - solution: drainBuffer - - type: Appearance - - type: SolutionContainerVisuals - maxFillLevels: 1 - fillBaseName: fill- - solutionName: drainBuffer - - type: SolutionContainerManager - solutions: - drainBuffer: - maxVol: 1000 - - type: DrainableSolution - solution: drainBuffer - - type: Damageable - damageContainer: Inorganic - damageModifierSet: Metallic - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 200 - behaviors: - - !type:DoActsBehavior - acts: [ "Destruction" ] - - trigger: - !type:DamageTrigger - damage: 100 - behaviors: - - !type:DoActsBehavior - acts: [ "Destruction" ] - - !type:PlaySoundBehavior - sound: - collection: MetalBreak - - type: entity name: plunger id: Plunger diff --git a/Resources/Prototypes/Entities/Objects/Devices/nuke.yml b/Resources/Prototypes/Entities/Structures/Machines/nuke.yml similarity index 95% rename from Resources/Prototypes/Entities/Objects/Devices/nuke.yml rename to Resources/Prototypes/Entities/Structures/Machines/nuke.yml index 811210d429..f37c42e474 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/nuke.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/nuke.yml @@ -1,5 +1,5 @@ - type: entity - parent: BaseStructure + parent: [BaseStructure, StructureWheeled] id: NuclearBomb name: nuclear fission explosive description: You probably shouldn't stick around to see if this is armed. @@ -49,7 +49,7 @@ shape: !type:PhysShapeCircle radius: 0.45 - density: 80 #It has wheels and bluespace tech to make it lighter. + density: 255 # Has "bluespace technology" to make it lighter, whatever that means. Don't mind the fact that this is lighter then a high capacity fuel tank. mask: - MachineMask layer: diff --git a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/portable.yml b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/portable.yml index 0e2a5f6fe5..316c403d7a 100644 --- a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/portable.yml +++ b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/portable.yml @@ -1,6 +1,6 @@ - type: entity id: PortableScrubber - parent: [BaseMachinePowered, ConstructibleMachine] + parent: [BaseMachinePowered, ConstructibleMachine, StructureWheeled] name: portable scrubber description: It scrubs, portably! components: diff --git a/Resources/Prototypes/Entities/Structures/Power/Generation/portable_generator.yml b/Resources/Prototypes/Entities/Structures/Power/Generation/portable_generator.yml index b606c01f1d..0c8afc87a4 100644 --- a/Resources/Prototypes/Entities/Structures/Power/Generation/portable_generator.yml +++ b/Resources/Prototypes/Entities/Structures/Power/Generation/portable_generator.yml @@ -6,7 +6,7 @@ - type: entity abstract: true id: PortableGeneratorBase - parent: [ BaseMachine, ConstructibleMachine ] + parent: [ BaseMachine, ConstructibleMachine, StructureWheeled] components: # Basic properties - type: Transform @@ -27,8 +27,8 @@ shape: !type:PhysShapeAabb bounds: "-0.40,-0.40,0.40,0.40" - # It has wheels - density: 45 + # Despite the heavy weight, it has wheels, so it's still fairly portable. + density: 155 mask: - MachineMask layer: @@ -259,8 +259,7 @@ shape: !type:PhysShapeAabb bounds: "-0.30,-0.30,0.30,0.30" - # It has wheels - density: 30 + density: 80 mask: - MachineMask layer: @@ -357,4 +356,4 @@ damage: 75 behaviors: - !type:SolutionExplosionBehavior - solution: tank + solution: tank \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Specific/Janitor/drain.yml b/Resources/Prototypes/Entities/Structures/Specific/Janitor/drain.yml new file mode 100644 index 0000000000..e0247001f2 --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Specific/Janitor/drain.yml @@ -0,0 +1,62 @@ +- type: entity + id: FloorDrain + name: drain + description: Drains puddles around it. Useful for dumping mop buckets or keeping certain rooms clean. + placement: + mode: SnapgridCenter + components: + - type: Sprite + drawdepth: FloorObjects + sprite: Objects/Specific/Janitorial/drain.rsi + layers: + - state: icon + - map: [ "enum.SolutionContainerLayers.Fill" ] + state: fill-1 + visible: false + - type: InteractionOutline + - type: Clickable + - type: Transform + anchored: true + - type: Physics + bodyType: Static + canCollide: false + - type: AmbientSound + enabled: false + volume: -8 + range: 8 + sound: + path: /Audio/Ambience/Objects/drain.ogg + - type: Drain + - type: DumpableSolution + solution: drainBuffer + - type: Appearance + - type: SolutionContainerVisuals + maxFillLevels: 1 + fillBaseName: fill- + solutionName: drainBuffer + - type: SolutionContainerManager + solutions: + drainBuffer: + maxVol: 1000 + - type: DrainableSolution + solution: drainBuffer + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Metallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + collection: MetalBreak diff --git a/Resources/Prototypes/Entities/Structures/Specific/Janitor/janicart.yml b/Resources/Prototypes/Entities/Structures/Specific/Janitor/janicart.yml new file mode 100644 index 0000000000..bdbff1b504 --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Specific/Janitor/janicart.yml @@ -0,0 +1,324 @@ +# Mop Bucket +- type: entity + name: mop bucket + id: MopBucket + parent: [BaseStructureDynamic, StructureWheeled] + description: Holds water and the tears of the janitor. + components: + - type: Clickable + - type: Sprite + sprite: Objects/Specific/Janitorial/janitorial.rsi + noRot: true + layers: + - state: mopbucket + - state: mopbucket_water-1 + map: ["enum.SolutionContainerLayers.Fill"] + visible: false + drawdepth: Objects + - type: InteractionOutline + - type: SolutionContainerManager + solutions: + bucket: + maxVol: 600 + - type: Spillable + solution: bucket + spillDelay: 3.0 + - type: DrainableSolution + solution: bucket + - type: RefillableSolution + solution: bucket + - type: ExaminableSolution + solution: bucket + - type: Tag + tags: + - Wringer + - type: ItemMapper + mapLayers: + mopbucket_shark_blue: + whitelist: + tags: + - PlushieSharkBlue + mopbucket_shark_pink: + whitelist: + tags: + - PlushieSharkPink + mopbucket_shark_grey: + whitelist: + tags: + - PlushieSharkGrey + sprite: Objects/Fun/sharkplush.rsi + - type: Transform + noRot: true + - type: ItemSlots + slots: + shark_slot: + name: mop-bucket-slot-component-slot-name-shark + whitelist: + tags: + - PlushieSharkBlue + - PlushieSharkPink + - PlushieSharkGrey + priority: 3 # Higher than drinking priority + - type: Drink + solution: bucket + - type: SolutionContainerVisuals + maxFillLevels: 3 + fillBaseName: mopbucket_water- + - type: ContainerContainer + containers: + storagebase: !type:Container + ents: [] + shark_slot: !type:ContainerSlot {} + - type: GuideHelp + guides: + - Janitorial + - type: Damageable + damageContainer: Inorganic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 70 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + +- type: entity + name: mop bucket + id: MopBucketFull + parent: MopBucket + suffix: full + components: + - type: Sprite + layers: + - state: mopbucket + - state: mopbucket_water-3 + map: [ "enum.SolutionContainerLayers.Fill" ] + - type: SolutionContainerManager + solutions: + bucket: + maxVol: 600 + reagents: + - ReagentId: Water + Quantity: 600 + +# Janicart +- type: entity + name: janitorial trolley + id: JanitorialTrolley + parent: [BaseStructureDynamic, StructureWheeled] + description: This is the alpha and omega of sanitation. + 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 + # Removing storage until OnInteractUsing logic resolved + #- type: Storage + # popup: false + # capacity: 80 + # blacklist: # there is exclusive item slots for that + # tags: + # - Mop + # - TrashBag + # - Bucket + - type: ItemSlots + slots: + mop_slot: + name: janitorial-trolley-slot-component-slot-name-mop + whitelist: + tags: + - Mop + insertOnInteract: false # or it conflicts with bucket logic + priority: 9 # Higher than bucket slot + plunger_slot: + name: janitorial-trolley-slot-component-slot-name-plunger + whitelist: + tags: + - Plunger + priority: 8 + wetfloorsign_slot4: + name: janitorial-trolley-slot-component-slot-name-sign + whitelist: + tags: + - WetFloorSign + priority: 7 + wetfloorsign_slot3: + name: janitorial-trolley-slot-component-slot-name-sign + whitelist: + tags: + - WetFloorSign + priority: 7 + wetfloorsign_slot2: + name: janitorial-trolley-slot-component-slot-name-sign + whitelist: + tags: + - WetFloorSign + priority: 7 + wetfloorsign_slot1: + name: janitorial-trolley-slot-component-slot-name-sign + whitelist: + tags: + - WetFloorSign + priority: 7 + lightreplacer_slot: + name: janitorial-trolley-slot-component-slot-name-lightreplacer + whitelist: + components: + - LightReplacer + priority: 6 + spraybottle_slot: + name: janitorial-trolley-slot-component-slot-name-spray + whitelist: + tags: + - Spray + insertOnInteract: false # or it conflicts with bucket logic + priority: 5 # Higher than bucket slot + bucket_slot: + name: janitorial-trolley-slot-component-slot-name-bucket + whitelist: + tags: + - Bucket + insertOnInteract: false # or it also conflicts with bucket logic + priority: 4 # Higher than trash bag slot + trashbag_slot: + name: janitorial-trolley-slot-component-slot-name-trashbag + whitelist: + tags: + - TrashBag + priority: 3 # Higher than drinking priority + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.3 + density: 250 + layer: + - MobLayer + mask: + - MobMask + - type: Spillable + solution: bucket + spillDelay: 3.0 + - type: SolutionContainerManager + solutions: + bucket: + maxVol: 800 + reagents: + - ReagentId: Water + Quantity: 600 # 3 quarters full at roundstart to make it more appealing + - type: DrainableSolution + solution: bucket + - type: RefillableSolution + solution: bucket + - type: ExaminableSolution + solution: bucket + - type: Tag + tags: + - Wringer + - 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: + cart_plunger: + whitelist: + tags: + - Plunger + cart_mop: + whitelist: + tags: + - MopBasic + cart_advmop: + whitelist: + tags: + - MopAdv + cart_garbage: + whitelist: + tags: + - TrashBag + cart_replacer: + whitelist: + components: + - LightReplacer + cart_spray: + whitelist: + tags: + - Spray + cart_sign1: # this is like stack of floor signs + minCount: 1 + whitelist: + tags: + - WetFloorSign + cart_sign2: + minCount: 2 + whitelist: + tags: + - WetFloorSign + cart_sign3: + minCount: 3 + whitelist: + tags: + - WetFloorSign + cart_sign4: + minCount: 4 + whitelist: + tags: + - WetFloorSign + cart_bucket: + whitelist: + tags: + - Bucket + sprite: Objects/Specific/Janitorial/janitorial_cart.rsi + - type: Appearance + - type: SolutionContainerVisuals + maxFillLevels: 3 + fillBaseName: cart_water- + - type: UserInterface + interfaces: + - key: enum.StorageUiKey.Key + type: StorageBoundUserInterface + - type: Drink + solution: bucket + - type: ContainerContainer + containers: + storagebase: !type:Container + ents: [] + mop_slot: !type:ContainerSlot {} + trashbag_slot: !type:ContainerSlot {} + bucket_slot: !type:ContainerSlot {} + plunger_slot: !type:ContainerSlot {} + wetfloorsign_slot4: !type:ContainerSlot {} + wetfloorsign_slot3: !type:ContainerSlot {} + wetfloorsign_slot2: !type:ContainerSlot {} + wetfloorsign_slot1: !type:ContainerSlot {} + lightreplacer_slot: !type:ContainerSlot {} + spraybottle_slot: !type:ContainerSlot {} + - type: GuideHelp + guides: + - Janitorial diff --git a/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml b/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml index 24bcf7cf7a..e55612d2c4 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml @@ -563,7 +563,7 @@ sprite: Structures/Storage/Crates/syndicate.rsi - type: entity - parent: CrateBaseWeldable + parent: [StructureWheeled, CrateBaseWeldable] id: CrateTrashCart name: trash cart components: diff --git a/Resources/Prototypes/Entities/Structures/Storage/Tanks/base_structuretanks.yml b/Resources/Prototypes/Entities/Structures/Storage/Tanks/base_structuretanks.yml index 238efaf68d..7b56e6d36b 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Tanks/base_structuretanks.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Tanks/base_structuretanks.yml @@ -65,3 +65,21 @@ - type: ReagentTank - type: Transform noRot: true + +# For highcap tanks +- type: entity + id: StorageTankBig + parent: StorageTank + abstract: true + components: + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.4,-0.4,0.4,0.4" + density: 455 #very heavy, they store 10k units of reagents after all. + mask: + - MachineMask + layer: + - WallLayer \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Storage/Tanks/tanks.yml b/Resources/Prototypes/Entities/Structures/Storage/Tanks/tanks.yml index a644c7afa1..e177cc72b1 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Tanks/tanks.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Tanks/tanks.yml @@ -2,7 +2,7 @@ - type: entity id: WeldingFuelTank - parent: StorageTank + parent: [StorageTank, StructureWheeled] name: fuel tank description: A fuel tank. It's used to store high amounts of fuel. suffix: Empty @@ -48,7 +48,7 @@ Quantity: 1500 - type: entity - parent: WeldingFuelTank + parent: [StorageTankBig, WeldingFuelTank] # StorageTankBig must come first, or else the desnity won't get inherited. id: WeldingFuelTankHighCapacity name: high-capacity fuel tank description: A highly pressurized fuel tank made to hold gargantuan amounts of welding fuel. @@ -81,7 +81,7 @@ - type: entity id: WaterTank - parent: StorageTank + parent: [StorageTank, StructureWheeled] name: water tank description: A water tank. It's used to store high amounts of water. suffix: Empty @@ -115,7 +115,7 @@ Quantity: 1500 - type: entity - parent: WaterTankFull + parent: StorageTank id: WaterCooler name: water cooler description: Seems like a good place to stand and waste time. It has a stock of paper cups on the side. @@ -157,14 +157,20 @@ - FitsInDispenser tags: - Trash + - type: ExaminableSolution + solution: tank + - type: StaticPrice + price: 500 - type: entity - parent: StorageTank + parent: [StorageTankBig, WaterTank] id: WaterTankHighCapacity name: high-capacity water tank description: A highly pressurized water tank made to hold gargantuan amounts of water. suffix: Full components: + - type: StaticPrice + price: 2500 - type: Sprite sprite: Structures/Storage/tanks.rsi layers: @@ -192,7 +198,7 @@ - type: entity id: GenericTank - parent: StorageTank + parent: [StorageTank, StructureWheeled] suffix: Empty components: - type: StaticPrice diff --git a/Resources/Prototypes/Entities/Structures/base_structure.yml b/Resources/Prototypes/Entities/Structures/base_structure.yml index b5356674aa..71971a6624 100644 --- a/Resources/Prototypes/Entities/Structures/base_structure.yml +++ b/Resources/Prototypes/Entities/Structures/base_structure.yml @@ -56,5 +56,13 @@ - LowImpassable - type: Anchorable +# For use with yaml composition, so that all wheeled structures can easily be changed. +- type: entity + id: StructureWheeled + abstract: true + components: + - type: TileFrictionModifier + modifier: 0.4 + - type: Tag id: Structure