Skip to content

Commit

Permalink
More chemicals orderable! (#3431)
Browse files Browse the repository at this point in the history
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

Re-sprites the chem jugs so that every elemental chem has a clearly
readable label.


![image](https://github.com/user-attachments/assets/83196d6d-557b-46cb-b2d5-c2e581ae49e2)


![image](https://github.com/user-attachments/assets/bbceb62a-e595-4011-abcc-69ed47b118ed)

The chem starter kit now comes with a complete set of chemicals to make
everything else. However, it lost its bottle of pre-made sulfuric acid.

Also, all elementary chemicals are now available from the outpost, and
sugar and ethanol are orderable in bulk (these two are under foods and
agriculture, the idea is sugar is for cooking and ethanol for
hydroponics, even though they're useful to amateur chemists too!) as
mini bottles and bags.

## Why It's Good For The Game

Outpost and the chemistry starter kit was missing some baseline chems.
Now you can buy any of them if you have the credits. Sure you can ghetto
many of these, but I still prefer options.

## FEEDBACK ON PRICING NEEDED.

Some of these chem costs were awfully high for what they were... I set
pretty much everything to 750 now.

## Changelog

:cl:
add: Added more purchasable chemicals to outpost.
add: Added missing elemental chems to chem starter kit
del: removed sulfuric acid from chem starter set. You have to make it.
imageadd: tweaked and added more elemental chemical jugs.
/:cl:
  • Loading branch information
Anticept authored Oct 8, 2024
1 parent 76f5711 commit 274d31c
Show file tree
Hide file tree
Showing 4 changed files with 177 additions and 86 deletions.
152 changes: 97 additions & 55 deletions code/modules/cargo/packs/chemistry.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,26 @@
name = "Chemical Starter Kit Crate"
desc = "Contains thirteen different chemicals, for all the fun experiments you can make."
cost = 1250 // This is intentionally underpriced; the hope is that people will start using ghettochem, upon which time the price can be raised.
contains = list(/obj/item/reagent_containers/glass/bottle/hydrogen,
contains = list(/obj/item/reagent_containers/glass/bottle/aluminium,
/obj/item/reagent_containers/glass/bottle/bromine,
/obj/item/reagent_containers/glass/bottle/carbon,
/obj/item/reagent_containers/glass/bottle/chlorine,
/obj/item/reagent_containers/glass/bottle/copper,
/obj/item/reagent_containers/glass/bottle/ethanol,
/obj/item/reagent_containers/glass/bottle/fluorine,
/obj/item/reagent_containers/glass/bottle/hydrogen,
/obj/item/reagent_containers/glass/bottle/iodine,
/obj/item/reagent_containers/glass/bottle/lithium,
/obj/item/reagent_containers/glass/bottle/mercury,
/obj/item/reagent_containers/glass/bottle/nitrogen,
/obj/item/reagent_containers/glass/bottle/oxygen,
/obj/item/reagent_containers/glass/bottle/fluorine,
/obj/item/reagent_containers/glass/bottle/phosphorus,
/obj/item/reagent_containers/glass/bottle/silicon,
/obj/item/reagent_containers/glass/bottle/chlorine,
/obj/item/reagent_containers/glass/bottle/radium,
/obj/item/reagent_containers/glass/bottle/sacid,
/obj/item/reagent_containers/glass/bottle/ethanol,
/obj/item/reagent_containers/glass/bottle/potassium,
/obj/item/reagent_containers/glass/bottle/radium,
/obj/item/reagent_containers/glass/bottle/sugar,
/obj/item/reagent_containers/glass/bottle/sodium,
/obj/item/reagent_containers/glass/bottle/sulfur,
/obj/item/reagent_containers/glass/bottle/silicon,
/obj/item/reagent_scanner,
/obj/item/reagent_containers/dropper,
/obj/item/storage/box/beakers)
Expand Down Expand Up @@ -53,61 +60,96 @@
Bulk materials
*/

/datum/supply_pack/chemistry/aluminium
name = "Bulk Aluminium Crate"
desc = "Contains a jug filled with 150u of aluminium."
cost = 750
contains = list(/obj/item/reagent_containers/glass/chem_jug/aluminium)
crate_name = "bulk aluminium crate"

/datum/supply_pack/chemistry/bromine
name = "Bulk Bromine Crate"
desc = "Contains a jug filled with 150u of bromine."
cost = 750
contains = list(/obj/item/reagent_containers/glass/chem_jug/bromine)
crate_name = "bulk bromine crate"

/datum/supply_pack/chemistry/carbon
name = "Bulk Carbon Crate"
desc = "Contains a jug filled with 150u of carbon."
cost = 500
cost = 750
contains = list(/obj/item/reagent_containers/glass/chem_jug/carbon)
crate_name = "bulk carbon crate"

/datum/supply_pack/chemistry/oxygen
name = "Bulk Oxygen Crate"
desc = "Contains a jug filled with 150u of oxygen."
cost = 500
contains = list(/obj/item/reagent_containers/glass/chem_jug/oxygen)
crate_name = "bulk oxygen crate"
/datum/supply_pack/chemistry/chlorine
name = "Bulk Chlorine Crate"
desc = "Contains a jug filled with 150u of chlorine."
cost = 750
contains = list(/obj/item/reagent_containers/glass/chem_jug/chlorine)
crate_name = "bulk chlorine crate"

/datum/supply_pack/chemistry/copper
name = "Bulk Copper Crate"
desc = "Contains a jug filled with 150u of copper."
cost = 750
contains = list(/obj/item/reagent_containers/glass/chem_jug/copper)
crate_name = "bulk copper crate"

/datum/supply_pack/chemistry/fluorine
name = "Bulk Fluorine Crate"
desc = "Contains a jug filled with 150u of fluorine."
cost = 750
contains = list(/obj/item/reagent_containers/glass/chem_jug/fluorine)
crate_name = "bulk fluorine crate"

/datum/supply_pack/chemistry/hydrogen
name = "Bulk Hydrogen Crate"
desc = "Contains a jug filled with 150u of Hydrogen."
cost = 500
cost = 750
contains = list(/obj/item/reagent_containers/glass/chem_jug/hydrogen)
crate_name = "bulk hydrogen crate"

/datum/supply_pack/chemistry/iodine
name = "Bulk Iodine Crate"
desc = "Contains a jug filled with 150u of iodine."
cost = 750
contains = list(/obj/item/reagent_containers/glass/chem_jug/iodine)
crate_name = "bulk iodine crate"

/datum/supply_pack/chemistry/lithium
name = "Bulk Lithium Crate"
desc = "Contains a jug filled with 150u of lithium."
cost = 750
contains = list(/obj/item/reagent_containers/glass/chem_jug/lithium)
crate_name = "bulk lithium crate"

/datum/supply_pack/chemistry/mercury
name = "Bulk Mercury Crate"
desc = "Contains a jug filled with 150u of mercury."
cost = 750
contains = list(/obj/item/reagent_containers/glass/chem_jug/mercury)
crate_name = "bulk mercury crate"

/datum/supply_pack/chemistry/nitrogen
name = "Bulk Nitrogen Crate"
desc = "Contains a jug filled with 150u of nitrogen."
cost = 625
cost = 750
contains = list(/obj/item/reagent_containers/glass/chem_jug/nitrogen)
crate_name = "bulk nitrogen crate"

/datum/supply_pack/chemistry/aluminium
name = "Bulk Aluminium Crate"
desc = "Contains a jug filled with 150u of aluminium."
cost = 625
contains = list(/obj/item/reagent_containers/glass/chem_jug/aluminium)
crate_name = "bulk aluminium crate"

/datum/supply_pack/chemistry/copper
name = "Bulk Copper Crate"
desc = "Contains a jug filled with 150u of copper."
cost = 625
contains = list(/obj/item/reagent_containers/glass/chem_jug/copper)
crate_name = "bulk copper crate"

/datum/supply_pack/chemistry/bromine
name = "Bulk Bromine Crate"
desc = "Contains a jug filled with 150u of bromine."
cost = 625
contains = list(/obj/item/reagent_containers/glass/chem_jug/bromine)
crate_name = "bulk bromine crate"
/datum/supply_pack/chemistry/oxygen
name = "Bulk Oxygen Crate"
desc = "Contains a jug filled with 150u of oxygen."
cost = 750
contains = list(/obj/item/reagent_containers/glass/chem_jug/oxygen)
crate_name = "bulk oxygen crate"

/datum/supply_pack/chemistry/iodine
name = "Bulk Iodine Crate"
desc = "Contains a jug filled with 150u of iodine."
/datum/supply_pack/chemistry/phosphorus
name = "Bulk Phosphorus Crate"
desc = "Contains a jug filled with 150u of phosphorus."
cost = 750
contains = list(/obj/item/reagent_containers/glass/chem_jug/iodine)
crate_name = "bulk iodine crate"
contains = list(/obj/item/reagent_containers/glass/chem_jug/phosphorus)
crate_name = "bulk phosphorus crate"

/datum/supply_pack/chemistry/potassium
name = "Bulk Potassium Crate"
Expand All @@ -116,23 +158,23 @@
contains = list(/obj/item/reagent_containers/glass/chem_jug/potassium)
crate_name = "bulk potassium crate"

/datum/supply_pack/chemistry/radium
name = "Bulk Radium Crate"
desc = "Contains a jug filled with 150u of radium."
cost = 750
contains = list(/obj/item/reagent_containers/glass/chem_jug/radium)
crate_name = "bulk radium crate"

/datum/supply_pack/chemistry/sodium
name = "Bulk Sodium Crate"
desc = "Contains a jug filled with 150u of sodium."
cost = 750
contains = list(/obj/item/reagent_containers/glass/chem_jug/sodium)
crate_name = "bulk sodium crate"

/datum/supply_pack/chemistry/sulfur
name = "Bulk Sulfur Crate"
desc = "Contains a jug filled with 150u of sulfur."
cost = 750
contains = list(/obj/item/reagent_containers/glass/chem_jug/sulfur)
crate_name = "bulk sulfur crate"

/datum/supply_pack/chemistry/chlorine
name = "Bulk Chlorine Crate"
desc = "Contains a jug filled with 150u of chlorine."
cost = 750
contains = list(/obj/item/reagent_containers/glass/chem_jug/chlorine)
crate_name = "bulk chlorine crate"

/datum/supply_pack/chemistry/radium
name = "Bulk Radium Crate"
desc = "Contains a jug filled with 150u of radium."
cost = 1000
contains = list(/obj/item/reagent_containers/glass/chem_jug/radium)
crate_name = "bulk radium crate"
24 changes: 24 additions & 0 deletions code/modules/cargo/packs/food.dm
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,17 @@
crate_name = "food crate"
crate_type = /obj/structure/closet/crate/freezer

/datum/supply_pack/food/sugar
name = "Sugar Crate"
desc = "A crate with a few bags of sugar. Good for cake shops and amateur chemists."
cost = 500
contains = list(/obj/item/reagent_containers/condiment/sugar,
/obj/item/reagent_containers/condiment/sugar,
/obj/item/reagent_containers/condiment/sugar
)
crate_name = "sugar crate"
crate_type = /obj/structure/closet/crate

/*
Cooking
*/
Expand Down Expand Up @@ -238,6 +249,19 @@
crate_name = "gardening crate"
crate_type = /obj/structure/closet/crate/hydroponics

/datum/supply_pack/food/ethanol
name = "Ethanol Crate"
desc = "Five small bottles of ethanol for the aspiring botanist or amateur chemist."
cost = 750
contains = list(/obj/item/reagent_containers/glass/bottle/ethanol,
/obj/item/reagent_containers/glass/bottle/ethanol,
/obj/item/reagent_containers/glass/bottle/ethanol,
/obj/item/reagent_containers/glass/bottle/ethanol,
/obj/item/reagent_containers/glass/bottle/ethanol
)
crate_name = "gardening crate"
crate_type = /obj/structure/closet/crate/hydroponics

/datum/supply_pack/food/weedcontrol
name = "Weed Control Crate"
desc = "Contains a scythe, gasmask, and two anti-weed defoliant grenades, for when your garden grows out of control."
Expand Down
87 changes: 56 additions & 31 deletions code/modules/reagents/reagent_containers/jug.dm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/obj/item/reagent_containers/glass/chem_jug
name = "chemical jug"
desc = "A large jug used for storing bulk ammounts chemicals. Provided with a tamper seal which ensures that the contents are pure"
icon = 'icons/obj/chemical/chem_jug.dmi'
icon = 'icons/obj/chemical/chem_jug.dmi' // the coloring of labels for elemental chemicals is based on the chemical group block coloring at https://pubchem.ncbi.nlm.nih.gov/periodic-table/ . Everything else is whatever.
icon_state = "chem_jug"
item_state = "sheet-plastic"
w_class = WEIGHT_CLASS_BULKY
Expand Down Expand Up @@ -80,36 +80,21 @@
/obj/item/reagent_containers/glass/chem_jug/open
cap_on = FALSE

/obj/item/reagent_containers/glass/chem_jug/carbon
name = "chemical jug (carbon)"
icon_state = "chem_jug_carbon"
list_reagents = list(/datum/reagent/carbon = 150)

/obj/item/reagent_containers/glass/chem_jug/oxygen
name = "chemical jug (oxygen)"
icon_state = "chem_jug_oxygen"
list_reagents = list(/datum/reagent/oxygen = 150)

/obj/item/reagent_containers/glass/chem_jug/nitrogen
name = "chemical jug (nitrogen)"
icon_state = "chem_jug_nitrogen"
list_reagents = list(/datum/reagent/nitrogen = 150)

/obj/item/reagent_containers/glass/chem_jug/hydrogen
name = "chemical jug (hydrogen)"
icon_state = "chem_jug_hydrogen"
list_reagents = list(/datum/reagent/hydrogen = 150)

/obj/item/reagent_containers/glass/chem_jug/radium
name = "chemical jug (radium)"
icon_state = "chem_jug_radium"
list_reagents = list(/datum/reagent/uranium/radium = 150)

/obj/item/reagent_containers/glass/chem_jug/aluminium
name = "chemical jug (aluminium)"
icon_state = "chem_jug_aluminium"
list_reagents = list(/datum/reagent/aluminium = 150)

/obj/item/reagent_containers/glass/chem_jug/bromine
name = "chemical jug (bromine)"
icon_state = "chem_jug_bromine"
list_reagents = list(/datum/reagent/bromine = 150)

/obj/item/reagent_containers/glass/chem_jug/carbon
name = "chemical jug (carbon)"
icon_state = "chem_jug_carbon"
list_reagents = list(/datum/reagent/carbon = 150)

/obj/item/reagent_containers/glass/chem_jug/chlorine
name = "chemical jug (chlorine)"
icon_state = "chem_jug_chlorine"
Expand All @@ -120,27 +105,67 @@
icon_state = "chem_jug_copper"
list_reagents = list(/datum/reagent/copper = 150)

/obj/item/reagent_containers/glass/chem_jug/bromine
name = "chemical jug (bromine)"
icon_state = "chem_jug_bromine"
list_reagents = list(/datum/reagent/bromine = 150)
/obj/item/reagent_containers/glass/chem_jug/fluorine
name = "chemical jug (fluorine)"
icon_state = "chem_jug_fluorine"
list_reagents = list(/datum/reagent/fluorine = 150)

/obj/item/reagent_containers/glass/chem_jug/hydrogen
name = "chemical jug (hydrogen)"
icon_state = "chem_jug_hydrogen"
list_reagents = list(/datum/reagent/hydrogen = 150)

/obj/item/reagent_containers/glass/chem_jug/iodine
name = "chemical jug (iodine)"
icon_state = "chem_jug_iodine"
list_reagents = list(/datum/reagent/iodine = 150)

/obj/item/reagent_containers/glass/chem_jug/lithium
name = "chemical jug (lithium)"
icon_state = "chem_jug_lithium"
list_reagents = list(/datum/reagent/lithium = 150)

/obj/item/reagent_containers/glass/chem_jug/mercury
name = "chemical jug (mercury)"
icon_state = "chem_jug_mercury"
list_reagents = list(/datum/reagent/mercury = 150)

/obj/item/reagent_containers/glass/chem_jug/nitrogen
name = "chemical jug (nitrogen)"
icon_state = "chem_jug_nitrogen"
list_reagents = list(/datum/reagent/nitrogen = 150)

/obj/item/reagent_containers/glass/chem_jug/oxygen
name = "chemical jug (oxygen)"
icon_state = "chem_jug_oxygen"
list_reagents = list(/datum/reagent/oxygen = 150)

/obj/item/reagent_containers/glass/chem_jug/phosphorus
name = "chemical jug (phosphorus)"
icon_state = "chem_jug_phosphorus"
list_reagents = list(/datum/reagent/phosphorus = 150)

/obj/item/reagent_containers/glass/chem_jug/potassium
name = "chemical jug (potassium)"
icon_state = "chem_jug_potassium"
list_reagents = list(/datum/reagent/potassium = 150)

/obj/item/reagent_containers/glass/chem_jug/radium
name = "chemical jug (radium)"
icon_state = "chem_jug_radium"
list_reagents = list(/datum/reagent/uranium/radium = 150)

/obj/item/reagent_containers/glass/chem_jug/sodium
name = "chemical jug (sodium)"
icon_state = "chem_jug_sodium"
list_reagents = list(/datum/reagent/sodium = 150)

/obj/item/reagent_containers/glass/chem_jug/sulfur
name = "chemical jug (sulfur)"
icon_state = "chem_jug_sulfur"
list_reagents = list(/datum/reagent/sulfur = 150)

/obj/item/reagent_containers/glass/chem_jug/thermite
/obj/item/reagent_containers/glass/chem_jug/thermite // not giving this its own "elemental" jug sprite.
name = "chemical jug (thermite)"
list_reagents = list(/datum/reagent/thermite = 150)

Expand Down
Binary file modified icons/obj/chemical/chem_jug.dmi
Binary file not shown.

0 comments on commit 274d31c

Please sign in to comment.