From fdeb5a736d0c32cc83cfef81bd01fccedab86f9c Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C4=81da?= Date: Thu, 15 Jan 2026 12:32:37 -0600 Subject: [PATCH] Rebase vials to DrinkBase, closeable vials, mini vials (#36132) * .rsi * mini vial * try stop TryStopNukeOpsFromConstantlyFailing from failing * slight sprite change * mail and lathe recipe * real test fail * resolve arbitrage * cleanup * always forgetting something * always forgetting something * drink no more * remove integrated vial * initial port * Rename the rsi states * Rename the rsi states * up to standards * finish * testfail * minor touchup * arby * op * mix meta * small changes to the vials * commit * commit * style nit --------- Co-authored-by: iaada Co-authored-by: Janet Blackquill --- .../Catalog/Cargo/cargo_medical.yml | 2 +- .../Catalog/Fills/Boxes/medical.yml | 11 +- .../Catalog/Fills/Boxes/syndicate.yml | 2 +- .../Deliveries/package_rare_tables.yml | 5 +- .../Specific/Chemistry/chemistry-vials.yml | 181 +++++++++--------- .../Specific/Robotics/borg_modules.yml | 4 +- .../Machines/Medical/chemistry_machines.yml | 1 + .../Recipes/Lathes/Packs/medical.yml | 3 +- .../Prototypes/Recipes/Lathes/chemistry.yml | 12 +- .../vial.rsi/{vial-1-1.png => fill-1.png} | Bin .../vial.rsi/{vial-1-2.png => fill-2.png} | Bin .../vial.rsi/{vial-1-3.png => fill-3.png} | Bin .../vial.rsi/{vial-1-4.png => fill-4.png} | Bin .../vial.rsi/{vial-1-5.png => fill-5.png} | Bin .../vial.rsi/{vial-1-6.png => fill-6.png} | Bin .../vial.rsi/{vial-1.png => icon_empty.png} | Bin .../Specific/Chemistry/vial.rsi/icon_open.png | Bin 0 -> 557 bytes .../Specific/Chemistry/vial.rsi/meta.json | 149 +++++++------- .../Chemistry/vial_mini.rsi/fill-1.png | Bin 0 -> 108 bytes .../Chemistry/vial_mini.rsi/fill-2.png | Bin 0 -> 126 bytes .../Chemistry/vial_mini.rsi/fill-3.png | Bin 0 -> 136 bytes .../Chemistry/vial_mini.rsi/fill-4.png | Bin 0 -> 146 bytes .../Chemistry/vial_mini.rsi/fill-5.png | Bin 0 -> 140 bytes .../Chemistry/vial_mini.rsi/icon_empty.png | Bin 0 -> 464 bytes .../Chemistry/vial_mini.rsi/icon_open.png | Bin 0 -> 472 bytes .../vial_mini.rsi/inhand-left-fill-1.png | Bin 0 -> 122 bytes .../vial_mini.rsi/inhand-left-fill-2.png | Bin 0 -> 130 bytes .../vial_mini.rsi/inhand-left-fill-3.png | Bin 0 -> 138 bytes .../vial_mini.rsi/inhand-left-fill-4.png | Bin 0 -> 142 bytes .../Chemistry/vial_mini.rsi/inhand-left.png | Bin 0 -> 1172 bytes .../vial_mini.rsi/inhand-right-fill-1.png | Bin 0 -> 126 bytes .../vial_mini.rsi/inhand-right-fill-2.png | Bin 0 -> 134 bytes .../vial_mini.rsi/inhand-right-fill-3.png | Bin 0 -> 142 bytes .../vial_mini.rsi/inhand-right-fill-4.png | Bin 0 -> 144 bytes .../Chemistry/vial_mini.rsi/inhand-right.png | Bin 0 -> 1178 bytes .../Chemistry/vial_mini.rsi/meta.json | 72 +++++++ Resources/migration.yml | 3 + 37 files changed, 273 insertions(+), 172 deletions(-) rename Resources/Textures/Objects/Specific/Chemistry/vial.rsi/{vial-1-1.png => fill-1.png} (100%) rename Resources/Textures/Objects/Specific/Chemistry/vial.rsi/{vial-1-2.png => fill-2.png} (100%) rename Resources/Textures/Objects/Specific/Chemistry/vial.rsi/{vial-1-3.png => fill-3.png} (100%) rename Resources/Textures/Objects/Specific/Chemistry/vial.rsi/{vial-1-4.png => fill-4.png} (100%) rename Resources/Textures/Objects/Specific/Chemistry/vial.rsi/{vial-1-5.png => fill-5.png} (100%) rename Resources/Textures/Objects/Specific/Chemistry/vial.rsi/{vial-1-6.png => fill-6.png} (100%) rename Resources/Textures/Objects/Specific/Chemistry/vial.rsi/{vial-1.png => icon_empty.png} (100%) create mode 100644 Resources/Textures/Objects/Specific/Chemistry/vial.rsi/icon_open.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/icon_open.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/inhand-left-fill-1.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/inhand-left-fill-2.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/inhand-left-fill-3.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/inhand-left-fill-4.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/inhand-right-fill-1.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/inhand-right-fill-2.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/inhand-right-fill-3.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/inhand-right-fill-4.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/meta.json diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_medical.yml b/Resources/Prototypes/Catalog/Cargo/cargo_medical.yml index 1addf523e4..3df5a4364e 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_medical.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_medical.yml @@ -24,7 +24,7 @@ sprite: Objects/Specific/Chemistry/vial.rsi state: vial product: CrateChemistryVials - cost: 1000 + cost: 1100 category: cargoproduct-category-name-medical group: market diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/medical.yml b/Resources/Prototypes/Catalog/Fills/Boxes/medical.yml index bd57110a7e..0bbe4ac2f7 100644 --- a/Resources/Prototypes/Catalog/Fills/Boxes/medical.yml +++ b/Resources/Prototypes/Catalog/Fills/Boxes/medical.yml @@ -122,12 +122,15 @@ components: - type: Storage grid: - - 0,0,2,1 + - 0,0,3,1 - type: EntityTableContainerFill containers: - storagebase: - id: BaseChemistryEmptyVial - amount: 6 + storagebase: !type:AllSelector + children: + - id: ChemistryEmptyVial + amount: 3 + - id: ChemistryEmptyVialSmall + rolls: 2 # group the small vials on the right column - type: Sprite layers: - state: box diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/syndicate.yml b/Resources/Prototypes/Catalog/Fills/Boxes/syndicate.yml index 55dc261252..96d06ed30b 100644 --- a/Resources/Prototypes/Catalog/Fills/Boxes/syndicate.yml +++ b/Resources/Prototypes/Catalog/Fills/Boxes/syndicate.yml @@ -33,7 +33,7 @@ - id: SyringeStimulants - id: VestineChemistryVial amount: 2 - - id: BaseChemistryEmptyVial + - id: ChemistryEmptyVial - type: entity parent: [BoxCardboard, BaseSyndicateContraband] diff --git a/Resources/Prototypes/Entities/Objects/Deliveries/package_rare_tables.yml b/Resources/Prototypes/Entities/Objects/Deliveries/package_rare_tables.yml index 561383579f..009ec6cc46 100644 --- a/Resources/Prototypes/Entities/Objects/Deliveries/package_rare_tables.yml +++ b/Resources/Prototypes/Entities/Objects/Deliveries/package_rare_tables.yml @@ -60,7 +60,10 @@ - id: Syringe amount: !type:RangeNumberSelector range: 1, 2 - - id: BaseChemistryEmptyVial + - id: ChemistryEmptyVial + amount: !type:RangeNumberSelector + range: 0, 2 + - id: ChemistryEmptyVialSmall amount: !type:RangeNumberSelector range: 0, 2 diff --git a/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemistry-vials.yml b/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemistry-vials.yml index 2422d7d712..0ecaf17aeb 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemistry-vials.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemistry-vials.yml @@ -1,170 +1,177 @@ -# TODO: Have a seperate lid state that can be popped on and off (not as a seperate item) that changes whether the vial can be spilled or not. - - type: entity - name: vial - parent: BaseItem - id: BaseChemistryEmptyVial - description: A small vial. + abstract: true + parent: [ DrinkBaseMaterialGlass, DrinkBase, DrinkBaseOpenable, DrinkBaseEmptyTrash, DrinkVisualsAll ] + id: BaseChemistryVial components: + - type: Item + size: Tiny + - type: Openable + sound: + collection: bottleCloseSounds # using closed here for the quieter sound + closeable: true + closeSound: + collection: bottleCloseSounds + - type: FitsInDispenser + solution: drink + - type: ExaminableSolution + exactVolume: true # It's a chemistry tool - type: Tag tags: - Trash - - CentrifugeCompatible - - type: PhysicalComposition - materialComposition: - Glass: 25 - - type: FitsInDispenser - solution: beaker - - type: SpaceGarbage + - CentrifugeCompatible # unique feature of vials + +## Entities + +- type: entity + parent: BaseChemistryVial + id: ChemistryEmptyVial + name: vial + description: A small vial. + components: + - type: Item + sprite: Objects/Specific/Chemistry/vial.rsi - type: Sprite sprite: Objects/Specific/Chemistry/vial.rsi - layers: - - state: vial-1 - - state: vial-1-1 - map: ["enum.SolutionContainerLayers.Fill"] - visible: false - - type: Appearance - type: SolutionContainerVisuals maxFillLevels: 6 - fillBaseName: vial-1- inHandsMaxFillLevels: 4 - inHandsFillBaseName: -fill- - - type: Edible - edible: Drink - solution: beaker - destroyOnEmpty: false - utensil: None - type: SolutionContainerManager solutions: - beaker: + drink: maxVol: 30 - - type: MixableSolution - solution: beaker - - type: RefillableSolution - solution: beaker - - type: DrainableSolution - solution: beaker - - type: ExaminableSolution - solution: beaker - exactVolume: true - - type: DrawableSolution - solution: beaker - type: SolutionTransfer maxTransferAmount: 30 - canChangeTransferAmount: true - - type: SolutionItemStatus - solution: beaker - - type: UserInterface - interfaces: - enum.TransferAmountUiKey.Key: - type: TransferAmountBoundUserInterface - - type: Item - size: Tiny - sprite: Objects/Specific/Chemistry/vial.rsi - shape: - - 0,0,0,0 - - type: MeleeWeapon - soundNoDamage: - path: "/Audio/Effects/Fluids/splat.ogg" - damage: - types: - Blunt: 0 - - type: TrashOnSolutionEmpty - solution: beaker - type: StaticPrice price: 100 - - type: DamageOnLand - damage: - types: - Blunt: 5 - - type: DamageOtherOnHit - damage: - types: - Blunt: 2 - - type: Damageable - damageContainer: Inorganic - type: Destructible thresholds: + - trigger: &DamageTrigger100 + !type:DamageTrigger + damage: 100 + behaviors: &OverkillBehavior + - !type:DoActsBehavior + acts: [ "Destruction" ] - trigger: !type:DamageTrigger - damage: 15 + damage: 15 # stronger than base behaviors: - - !type:PlaySoundBehavior + - &SoundGlassBreak !type:PlaySoundBehavior sound: collection: GlassBreak - params: - volume: -4 - !type:SpillBehavior { } - !type:SpawnEntitiesBehavior spawn: - ShardGlass: + ShardGlass: # less glass than base min: 0 max: 1 transferForensics: true - !type:DoActsBehavior acts: [ "Destruction" ] - - type: Spillable - solution: beaker - - type: DnaSubstanceTrace - type: entity + parent: BaseChemistryVial + id: ChemistryEmptyVialSmall + name: mini vial + description: A smaller vial. + components: + - type: Item + sprite: Objects/Specific/Chemistry/vial_mini.rsi + - type: Sprite + sprite: Objects/Specific/Chemistry/vial_mini.rsi + - type: SolutionContainerVisuals + maxFillLevels: 5 + inHandsMaxFillLevels: 4 + - type: SolutionContainerManager + solutions: + drink: + maxVol: 10 + - type: SolutionTransfer + maxTransferAmount: 10 + - type: StaticPrice + price: 50 + - type: PhysicalComposition + materialComposition: + Glass: 10 + - type: Destructible + thresholds: + - trigger: *DamageTrigger100 + behaviors: *OverkillBehavior + - trigger: + !type:DamageTrigger + damage: 5 # smaller so weaker + behaviors: # remove glass shard spawn + - *SoundGlassBreak + - !type:SpillBehavior { } + - !type:DoActsBehavior + acts: [ "Destruction" ] + +## Reagent filled + +- type: entity + parent: ChemistryEmptyVial id: VestineChemistryVial - parent: BaseChemistryEmptyVial suffix: vestine components: - type: Label currentLabel: reagent-name-vestine - type: SolutionContainerManager solutions: - beaker: + drink: maxVol: 30 reagents: - ReagentId: Vestine Quantity: 30 - type: Tag - tags: [] + tags: &TagVial # Remove trash tag when we have a filled solution + - CentrifugeCompatible - type: entity + parent: ChemistryEmptyVialSmall id: RadiumChemistryVial - parent: BaseChemistryEmptyVial suffix: radium components: - type: Label currentLabel: reagent-name-radium - type: SolutionContainerManager solutions: - beaker: - maxVol: 5 + drink: + maxVol: 10 reagents: - ReagentId: Radium Quantity: 5 + - type: Tag + tags: *TagVial - type: entity + parent: ChemistryEmptyVialSmall id: ChlorineChemistryVial - parent: BaseChemistryEmptyVial suffix: chlorine components: - type: Label currentLabel: reagent-name-chlorine - type: SolutionContainerManager solutions: - beaker: - maxVol: 5 + drink: + maxVol: 10 reagents: - ReagentId: Chlorine Quantity: 5 + - type: Tag + tags: *TagVial - type: entity + parent: ChemistryEmptyVialSmall id: PlasmaChemistryVial - parent: BaseChemistryEmptyVial suffix: plasma components: - type: Label currentLabel: reagent-name-plasma - type: SolutionContainerManager solutions: - beaker: + drink: maxVol: 10 reagents: - ReagentId: Plasma Quantity: 10 + - type: Tag + tags: *TagVial diff --git a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml index 34d74a89ad..c313b78970 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml @@ -1023,10 +1023,10 @@ - item: SprayBottle - item: GasAnalyzer - item: BorgDropper - - item: BaseChemistryEmptyVial + - item: ChemistryEmptyVial hand: emptyLabel: borg-slot-small-containers-empty - emptyRepresentative: BaseChemistryEmptyVial + emptyRepresentative: ChemistryEmptyVial whitelist: components: - FitsInDispenser diff --git a/Resources/Prototypes/Entities/Structures/Machines/Medical/chemistry_machines.yml b/Resources/Prototypes/Entities/Structures/Machines/Medical/chemistry_machines.yml index 9a237937c5..65a84c86aa 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/Medical/chemistry_machines.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/Medical/chemistry_machines.yml @@ -77,6 +77,7 @@ - type: Machine board: ElectrolysisUnitMachineCircuitboard +# TODO centrifuge should spill the vial if the lid is off - type: entity id: MachineCentrifuge parent: BaseTabletopChemicalMachine diff --git a/Resources/Prototypes/Recipes/Lathes/Packs/medical.yml b/Resources/Prototypes/Recipes/Lathes/Packs/medical.yml index 0b97e46e7a..591bdf0b25 100644 --- a/Resources/Prototypes/Recipes/Lathes/Packs/medical.yml +++ b/Resources/Prototypes/Recipes/Lathes/Packs/medical.yml @@ -15,7 +15,8 @@ - Syringe - PillCanister - HandLabeler - - BaseChemistryEmptyVial + - ChemistryEmptyVial + - ChemistryEmptyVialSmall - Dropper - type: latheRecipePack diff --git a/Resources/Prototypes/Recipes/Lathes/chemistry.yml b/Resources/Prototypes/Recipes/Lathes/chemistry.yml index edcb0491bf..702deaea26 100644 --- a/Resources/Prototypes/Recipes/Lathes/chemistry.yml +++ b/Resources/Prototypes/Recipes/Lathes/chemistry.yml @@ -91,13 +91,21 @@ Steel: 250 - type: latheRecipe - id: BaseChemistryEmptyVial - result: BaseChemistryEmptyVial + id: ChemistryEmptyVial + result: ChemistryEmptyVial completetime: 2 materials: Glass: 100 Wood: 20 +- type: latheRecipe + id: ChemistryEmptyVialSmall + result: ChemistryEmptyVialSmall + completetime: 2 + materials: + Glass: 50 + Wood: 20 + - type: latheRecipe id: ClothingEyesGlassesChemical result: ClothingEyesGlassesChemical diff --git a/Resources/Textures/Objects/Specific/Chemistry/vial.rsi/vial-1-1.png b/Resources/Textures/Objects/Specific/Chemistry/vial.rsi/fill-1.png similarity index 100% rename from Resources/Textures/Objects/Specific/Chemistry/vial.rsi/vial-1-1.png rename to Resources/Textures/Objects/Specific/Chemistry/vial.rsi/fill-1.png diff --git a/Resources/Textures/Objects/Specific/Chemistry/vial.rsi/vial-1-2.png b/Resources/Textures/Objects/Specific/Chemistry/vial.rsi/fill-2.png similarity index 100% rename from Resources/Textures/Objects/Specific/Chemistry/vial.rsi/vial-1-2.png rename to Resources/Textures/Objects/Specific/Chemistry/vial.rsi/fill-2.png diff --git a/Resources/Textures/Objects/Specific/Chemistry/vial.rsi/vial-1-3.png b/Resources/Textures/Objects/Specific/Chemistry/vial.rsi/fill-3.png similarity index 100% rename from Resources/Textures/Objects/Specific/Chemistry/vial.rsi/vial-1-3.png rename to Resources/Textures/Objects/Specific/Chemistry/vial.rsi/fill-3.png diff --git a/Resources/Textures/Objects/Specific/Chemistry/vial.rsi/vial-1-4.png b/Resources/Textures/Objects/Specific/Chemistry/vial.rsi/fill-4.png similarity index 100% rename from Resources/Textures/Objects/Specific/Chemistry/vial.rsi/vial-1-4.png rename to Resources/Textures/Objects/Specific/Chemistry/vial.rsi/fill-4.png diff --git a/Resources/Textures/Objects/Specific/Chemistry/vial.rsi/vial-1-5.png b/Resources/Textures/Objects/Specific/Chemistry/vial.rsi/fill-5.png similarity index 100% rename from Resources/Textures/Objects/Specific/Chemistry/vial.rsi/vial-1-5.png rename to Resources/Textures/Objects/Specific/Chemistry/vial.rsi/fill-5.png diff --git a/Resources/Textures/Objects/Specific/Chemistry/vial.rsi/vial-1-6.png b/Resources/Textures/Objects/Specific/Chemistry/vial.rsi/fill-6.png similarity index 100% rename from Resources/Textures/Objects/Specific/Chemistry/vial.rsi/vial-1-6.png rename to Resources/Textures/Objects/Specific/Chemistry/vial.rsi/fill-6.png diff --git a/Resources/Textures/Objects/Specific/Chemistry/vial.rsi/vial-1.png b/Resources/Textures/Objects/Specific/Chemistry/vial.rsi/icon_empty.png similarity index 100% rename from Resources/Textures/Objects/Specific/Chemistry/vial.rsi/vial-1.png rename to Resources/Textures/Objects/Specific/Chemistry/vial.rsi/icon_empty.png diff --git a/Resources/Textures/Objects/Specific/Chemistry/vial.rsi/icon_open.png b/Resources/Textures/Objects/Specific/Chemistry/vial.rsi/icon_open.png new file mode 100644 index 0000000000000000000000000000000000000000..c596d3b1aef0fdc6f1f934f42e3055cc5aa8841c GIT binary patch literal 557 zcmV+|0@D47P)NklIS179JCf}6lc!IeA=s#J7(kX)FS?()Czj5y#GQ_@)3N*cJ6>M9w7UC4 z)tx;+4Poy59v8*2IUG;>TZV@14+2nC_75%4O8em-B0`e1FaiMiU_d}B5rF_On}Ddc z15nH1lfrIBIxD1UP_D*7Nl`fY`}Ivjs)qpR^0K=lqSS_?h&x@fwgA#&nUJWqpOVNj zYX#tAQV^iI;U^EkpxSs12Lbf*fxG|e0e9qiI{;ah8sXbK05GUH0K`oLRKdqz;SZj_ zhloHXCPa4A0v^L=9XNh;Sl+wUuLwkLU#yYZW6qt9>> vaE$Nl>EN~oEuwI#3eq&%=^t^f|3=>c6w|}Pmh(f_00000NkvXXu0mjfaTfvA literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Chemistry/vial.rsi/meta.json b/Resources/Textures/Objects/Specific/Chemistry/vial.rsi/meta.json index d7ccba364f..dda7bef533 100644 --- a/Resources/Textures/Objects/Specific/Chemistry/vial.rsi/meta.json +++ b/Resources/Textures/Objects/Specific/Chemistry/vial.rsi/meta.json @@ -1,75 +1,78 @@ { - "version": 1, - "license": "CC-BY-SA-3.0", - "copyright": "Drawn by Ubaser, taken inspiration by /tg/'s vials", - "size": { - "x": 32, - "y": 32 - }, - "states": [ - { - "name": "vial" - }, - { - "name": "inhand-left", - "directions": 4 - }, - { - "name": "inhand-left-fill-1", - "directions": 4 - }, - { - "name": "inhand-left-fill-2", - "directions": 4 - }, - { - "name": "inhand-left-fill-3", - "directions": 4 - }, - { - "name": "inhand-left-fill-4", - "directions": 4 - }, - { - "name": "inhand-right", - "directions": 4 - }, - { - "name": "inhand-right-fill-1", - "directions": 4 - }, - { - "name": "inhand-right-fill-2", - "directions": 4 - }, - { - "name": "inhand-right-fill-3", - "directions": 4 - }, - { - "name": "inhand-right-fill-4", - "directions": 4 - }, - { - "name": "vial-1" - }, - { - "name": "vial-1-1" - }, - { - "name": "vial-1-2" - }, - { - "name": "vial-1-3" - }, - { - "name": "vial-1-4" - }, - { - "name": "vial-1-5" - }, - { - "name": "vial-1-6" - } - ] + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Drawn by Ubaser, taken inspiration by /tg/'s vials. icon_open edit by iaada(GitHub)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "vial" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-left-fill-1", + "directions": 4 + }, + { + "name": "inhand-left-fill-2", + "directions": 4 + }, + { + "name": "inhand-left-fill-3", + "directions": 4 + }, + { + "name": "inhand-left-fill-4", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "inhand-right-fill-1", + "directions": 4 + }, + { + "name": "inhand-right-fill-2", + "directions": 4 + }, + { + "name": "inhand-right-fill-3", + "directions": 4 + }, + { + "name": "inhand-right-fill-4", + "directions": 4 + }, + { + "name": "icon_empty" + }, + { + "name": "icon_open" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + }, + { + "name": "fill-6" + } + ] } diff --git a/Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/fill-1.png b/Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..40ecc308515f3f4577e9691e74bc31c73e18bdc1 GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzV^0^ykcif|XAK1z40sM7;Cb3_ z5V58xW7-$L{ioMWQt`aBeiFlkmXqfyd3Wzl_@e81>mk!oZo!sK-fNZswKI6S`njxg HN@xNAh)N{( literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/fill-2.png b/Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..260d0998036483413b5567ebbb1a885324ca598a GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzS5Ftmkcif|7Yw-$IB+l=?0)k9 zzwrM}%e*9+iUgRfr?zH4jGCn4DQ~?@@xpf*!N=CmP1dZ++{J#uAw6w>zWwj_>?)qS ZW4cy~tPo7>c>y$#!PC{xWt~$(697-ZE1CcR literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/fill-3.png b/Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..43f5cc1b21a26b46444549597590530a4ad6d819 GIT binary patch literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdze@_?3kcif|mp1YqaNuBeVE_B? zH{EV3KfSKHM_Qmh6lgSqr>mdKI;Vst0J&{4k^lez literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/fill-4.png b/Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..ecd0e15bf1a9da57bba233abdd7cba4c8ab603ca GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJNKY5Xkcif|mo{=S7;-RQ2z&Sc zzyIIqPnPu^Z`8e^nExt4i{-e0pkSuiYDb2cd}HnZpF^5wM)uBgoW$_r-JkjY!txZ9 u%D%m0c9>Ml8&k-cc;AbI>_SmvOe40v4n@=K-x9lu+Y1{XKvN@13=vORH2>Q@+_3bLGSGMiPgg&ebxsLQ02nMbBme*a literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/icon_empty.png b/Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..5d9687db26d86ef42f10185b8ab021057da4ced1 GIT binary patch literal 464 zcmV;>0WbcEP)cg&@2!3@|M98K$WhMK-s8 z{s5Q2`TXKi2g;;N*wWIH`YDC7G`d}*-xpPtv;$iH3w{A$Z;b15=Ho#C00006P)NklKjA^=vd6 z{ZXmkQxtaE=YGGR1By)-7f=*-@ztc36dpfZSp;}7p77w_{ng-ZtGzF~+4tM6svsPPC6O?MQ3A6wGkQB^z7N{o z*#p3u8V0VGVi3E0Yzy37Iw?QkZeCYGiob!=1YQn@y#M$a0EHmDG7K;*^%zFApmMhW zY<_s2e|j_gic8>(pPilJX^}L9EiEmnkJ9FC*zFqg^I~f&=?-Z5FZc#lnT)lb8dtFZ O0000I$Ld%`fCe4vwIC+geNB{^LICt%D{QCLF eFD3?tgq7^SK5>8HKQUPyB<1Pq=d#Wzp$P!L=qY;u literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/inhand-left-fill-4.png b/Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/inhand-left-fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..5973326b8897781716fcd42c18abcc5a294abb44 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|JUm?-Ln`LH zy>*b2L4k+)z=MCr;o$-eWL%DCk+Fc(NiML_vBI1O+c1L@mxF>2|kl2WIBY%lEza=9`&pOizt> zrOu=%it17)as@nRNl$j*@rk+e1y2dTFg`+UzCHU5FS=n-E#>pnd2A^yLde2 zPR#ij@S60*y@BpNiaP3mOY~+6>?)S9j`LX5<;#7K($)ssuwuNTLfuQ z6ag;)L0~b0^;d1A1+49#i-PRM$w6QDOc$AsO_R9Vf>S{mh9QaSEvnPd>v`OYXN6e| z9Y70~p^bcy=F*@Q51FO?3T;1@0}BJl7fj<@(o`4e7qL>K0j?+BA1+i6^ZLjD4FDkU z{1D3vtRRB={&4xSp-ad_77T@}?{|q8Ru@#}wd5|!@E;_4lNtHa={%<45*b%?-~4i65WR-8H(i{oU3TQCy>*?)+Qq?K-() ztMuw5|MRo_s_jHa;z(QaIGwFgvGFLoBi(*Mf9*{(&w4(t&)zz;8!c?A2t} zS=&8b`@KDJqnT7^$HvV!yM4vo%FrKYezo?UrS9}Rf4G;RMqTS~SN?XU+?NAmJozK2 Mqf@!fk@@TY0oZ?9n*aa+ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/inhand-right-fill-1.png b/Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/inhand-right-fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..7891d4ba53b1d818f59c83eb5f86d27a040441eb GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|EIeHtLn`LH zy}6N>!GMFs@LT+^%?zxvj+@kX{96T-XJC->+;rEVbfqYm!@yAY{4g`afk^(C%iLcd SRYyJq346NwxvXmVYEcJUu^{85kb; Y^PYXp{Zoal_zXzG)78&qol`;+0P>S2asU7T literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/inhand-right-fill-3.png b/Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/inhand-right-fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..147ad5acc5143b79afcaaf7694d1a66ff57d5507 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|JUm?-Ln`LH zy>*b2L4k+GapV7a$;@591UP4|OxT%!NeZZh!N=9*Po72TDFJmL5fCUd`pdIs fihcidc_61t%2|y2ulw!vCm<*b2L4k+GapV7a$;@28CP>U#nXohek`z!0L$RRXP2SypQNPbl;NqDe3lai?4|}}q hnYHi7xATI9mPqU|<6%6!>skUx($m$?Wt~$(69ByNDRck; literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/inhand-right.png b/Resources/Textures/Objects/Specific/Chemistry/vial_mini.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..0f835ece480cc136987698860cf10e98fbecd4df GIT binary patch literal 1178 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy zw18|5AO?X;!IOa`XMsm#F;Kw~5N4dJ%_q&kz+99W5>XQ2>tmIipR1RclAn~SSCLx) z)@4&+1!U%?mLw`v zE(HYzo1&C7s~{IQsCFRFRw<*Tq`*pFzr4I$uiRKKzbIYb(9+UU-@r)U$VeBcLbtdw zuOzWTH?LS3VhGF}m(=3qqRfJl%=|nBkhzIT`K2YcN=hJ$-~i&zlw`O)1*JtfU|Uj> z^;2_Fb5rw5iuDck4E3?;E6GelxG=968XUlY(Fe%@wHaX5=2=jZYyu1^*9xF}p#B3o zG#PAfaY>3kk^+4r0|N_P10!7{OMSTifX=r`NwzA8(5=(PRl?OIdg0q!aw}m+&!ph*+&i_tP!_eXm#zwWxpjM?XXRsaJ- zb3(2+igLI<2;+bg(?rXfYuk1&J3P_y&m@M(*